diff --git a/ChangeLog.txt b/ChangeLog.txt index f603590b4..19acb2339 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,2625 @@ +Fri May 25 23:29:36 UTC 2018 +patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.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. ++--------------------------+ +Wed May 23 04:42:29 UTC 2018 +patches/packages/linux-4.4.132/*: Upgraded. + This kernel upgrade is being provided primarily to fix a regression in the + getsockopt() function, but it also contains fixes for two denial-of-service + security issues. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000004 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1092 + (* Security fix *) +patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/thunderbird/52.8.0/releasenotes/ + https://www.mozilla.org/en-US/security/advisories/mfsa2018-13/ + (* Security fix *) +patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txz: Upgraded. + Shared library .so-version bump. + This update fixes bugs and security issues: + library: Fix integer overflow and LPE in file2strvec + library: Use size_t for alloc functions + pgrep: Fix stack-based buffer overflow + ps: Fix buffer overflow in output buffer, causing DOS + top: Don't use cwd for location of config + For more information, see: + https://www.qualys.com/2018/05/17/procps-ng-audit-report-advisory.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1124 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1126 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1125 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1123 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1122 + (* Security fix *) ++--------------------------+ +Thu May 17 04:13:16 UTC 2018 +patches/packages/curl-7.60.0-x86_64-1_slack14.2.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.2.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 21:01:11 UTC 2018 +patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2782 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2784 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2787 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2766 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2755 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2819 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2817 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2761 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2781 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2771 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2813 + (* Security fix *) ++--------------------------+ +Thu May 10 01:24:19 UTC 2018 +patches/packages/glibc-zoneinfo-2018e-noarch-1_slack14.2.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + https://www.mozilla.org/en-US/security/advisories/mfsa2018-12/ + (* Security fix *) +patches/packages/wget-1.19.5-x86_64-1_slack14.2.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.2.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 *) ++--------------------------+ +Thu May 3 22:42:35 UTC 2018 +patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txz: Upgraded. + This update contains security fixes and improvements. + For more information (when it appears), see: + http://www.seamonkey-project.org/releases/seamonkey2.49.3 + (* Security fix *) +patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Tue May 1 06:24:40 UTC 2018 +patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txz: Rebuilt. + Renamed package to fix wrong package tag (was slack14.1, should be + slack14.2). Thanks to rworkman for the heads-up. ++--------------------------+ +Mon Apr 30 22:35:43 UTC 2018 +patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.1.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 *) +patches/packages/mozilla-firefox-52.7.4esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Apr 27 03:58:48 UTC 2018 +patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.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 *) ++--------------------------+ +Thu Apr 19 01:04:06 UTC 2018 +patches/packages/gd-2.2.5-x86_64-1_slack14.2.txz: Upgraded. + This update fixes two security issues: + Double-free in gdImagePngPtr() (denial of service). + Buffer over-read into uninitialized memory (information leak). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6362 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7890 + (* Security fix *) ++--------------------------+ +Fri Apr 6 20:47:43 UTC 2018 +patches/packages/patch-2.7.6-x86_64-1_slack14.2.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.2.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.2.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 *) ++--------------------------+ +Thu Mar 29 20:48:28 UTC 2018 +patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txz: Upgraded. + This release includes some bug fixes and some security fixes: + HTTP response splitting in WEBrick. + Unintentional file and directory creation with directory traversal in + tempfile and tmpdir. + DoS by large request in WEBrick. + Buffer under-read in String#unpack. + Unintentional socket creation by poisoned NUL byte in UNIXServer + and UNIXSocket. + Unintentional directory traversal by poisoned NUL byte in Dir. + Multiple vulnerabilities in RubyGems. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17742 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6914 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8777 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8778 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8779 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8780 + (* Security fix *) ++--------------------------+ +Thu Mar 29 01:02:50 UTC 2018 +patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txz: Upgraded. + This update fixes a security issue: + Constructed ASN.1 types with a recursive definition could exceed the stack. + For more information, see: + https://www.openssl.org/news/secadv/20180327.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0739 + (* Security fix *) +patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Mon Mar 26 22:06:38 UTC 2018 +patches/packages/mozilla-firefox-52.7.3esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/security/advisories/mfsa2018-10/ + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Mar 23 22:28:20 UTC 2018 +patches/packages/glibc-zoneinfo-2018d-noarch-1_slack14.2.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/mozilla-thunderbird-52.7.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/thunderbird/52.7.0/releasenotes/ + (* Security fix *) ++--------------------------+ +Sun Mar 18 00:55:39 UTC 2018 +patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.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 *) ++--------------------------+ +Sat Mar 17 03:25:26 UTC 2018 +patches/packages/mozilla-firefox-52.7.2esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/security/advisories/mfsa2018-08/ + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Mar 16 02:29:29 UTC 2018 +patches/packages/curl-7.59.0-x86_64-1_slack14.2.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/mozilla-firefox-52.7.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/security/advisories/mfsa2018-07/ + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/samba-4.4.16-x86_64-3_slack14.2.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/libtool-2.4.6-x86_64-5_slack14.2.txz: Rebuilt. + Rebuilt to fix the embedded GCC version number. Thanks to David Spencer. +patches/packages/openssh-7.4p1-x86_64-2_slack14.2.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.2.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.2.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.2.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 *) ++--------------------------+ +Mon Feb 26 21:32:03 UTC 2018 +patches/packages/linux-4.4.118/*: Upgraded. + This kernel includes __user pointer sanitization mitigation for the Spectre + (variant 1) speculative side channel attack. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5753 + (* Security fix *) ++--------------------------+ +Sat Feb 24 07:41:40 UTC 2018 +patches/packages/wget-1.19.4-x86_64-2_slack14.2.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.2.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 *) ++--------------------------+ +Wed Feb 14 19:48:51 UTC 2018 +patches/packages/seamonkey-2.49.2-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.49.2-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Wed Feb 7 04:28:48 UTC 2018 +patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txz: Upgraded. + Upgraded to the latest gcc-5 release, with patches to support + -mindirect-branch=thunk-extern, allowing full mitigation of Spectre v2 + in the kernel (when CONFIG_RETPOLINE is used). +patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/linux-4.4.115/*: Upgraded. + This kernel includes full retpoline mitigation for the Spectre (variant 2) + speculative side channel attack. + Please note that this kernel was compiled with gcc-5.5.0, also provided as + an update for Slackware 14.2. You'll need to install the updated gcc in order + to compile kernel modules that will load into this updated kernel. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5715 + (* Security fix *) ++--------------------------+ +Sun Feb 4 05:13:27 UTC 2018 +patches/packages/php-5.6.33-x86_64-1_slack14.2.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/mariadb-10.0.34-x86_64-1_slack14.2.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2562 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2622 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2640 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2665 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2668 + (* Security fix *) +patches/packages/rsync-3.1.3-x86_64-1_slack14.2.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 *) ++--------------------------+ +Fri Jan 26 03:46:16 UTC 2018 +patches/packages/curl-7.58.0-x86_64-2_slack14.2.txz: Rebuilt. + Recompiled using --with-libssh2, which is evidently no longer a default + option. Thanks to Markus Wiesner. +patches/packages/mozilla-thunderbird-52.6.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/thunderbird/52.6.0/releasenotes/ + (* Security fix *) ++--------------------------+ +Thu Jan 25 02:24:04 UTC 2018 +patches/packages/curl-7.58.0-x86_64-1_slack14.2.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.2.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.2.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/mozilla-firefox-52.6.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + Specifically, this update contains performance.now() mitigations for Spectre. + For more information, see: + https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/ + http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/wget-1.19.3-x86_64-1_slack14.2.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.10.6_P1-x86_64-1_slack14.2.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-4.4.111/*: 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + 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.2.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 *) ++--------------------------+ +Fri Dec 29 23:09:14 UTC 2017 +patches/packages/mozilla-firefox-52.5.3esr-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Mon Dec 25 00:00:16 UTC 2017 +patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Fri Dec 22 21:49:01 UTC 2017 +patches/packages/mozilla-thunderbird-52.5.2-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/en-US/thunderbird/52.5.2/releasenotes/ + (* Security fix *) ++--------------------------+ +Wed Dec 20 03:05:58 UTC 2017 +patches/packages/ruby-2.2.9-x86_64-1_slack14.2.txz: Upgraded. + This update fixes a security issue: + Net::FTP#get, getbinaryfile, gettextfile, put, putbinaryfile, and puttextfile + use Kernel#open to open a local file. If the localfile argument starts with + the pipe character "|", the command following the pipe character is executed. + The default value of localfile is File.basename(remotefile), so malicious FTP + servers could cause arbitrary command execution. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17405 + (* Security fix *) ++--------------------------+ +Sat Dec 9 00:02:28 UTC 2017 +patches/packages/openssl-1.0.2n-x86_64-1_slack14.2.txz: Upgraded. + This update fixes security issues: + Read/write after SSL object in error state + rsaz_1024_mul_avx2 overflow bug on x86_64 + For more information, see: + https://www.openssl.org/news/secadv/20171207.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3737 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3738 + (* Security fix *) +patches/packages/openssl-solibs-1.0.2n-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Fri Dec 8 05:54:21 UTC 2017 +patches/packages/mozilla-firefox-52.5.2esr-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Sat Dec 2 20:32:45 UTC 2017 +patches/packages/mozilla-firefox-52.5.1esr-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Wed Nov 29 21:48:33 UTC 2017 +patches/packages/curl-7.57.0-x86_64-1_slack14.2.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.2.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.5.1-x86_64-2_slack14.2.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.2.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 *) ++--------------------------+ +Sat Nov 25 07:44:07 UTC 2017 +patches/packages/mozilla-thunderbird-52.5.0-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Tue Nov 21 05:05:41 UTC 2017 +patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8128 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5318 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10095 + (* Security fix *) ++--------------------------+ +Fri Nov 17 00:56:25 UTC 2017 +patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txz: Upgraded. + This update fixes several security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6440 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6439 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6438 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6437 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6436 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6435 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5836 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5835 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5834 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5545 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5209 + (* Security fix *) +patches/packages/mozilla-firefox-52.5.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Nov 3 03:31:56 UTC 2017 +patches/packages/mariadb-10.0.33-x86_64-1_slack14.2.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + https://jira.mariadb.org/browse/MDEV-13819 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10268 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10378 + (* Security fix *) +patches/packages/openssl-1.0.2m-x86_64-1_slack14.2.txz: Upgraded. + This update fixes a security issue: + There is a carry propagating bug in the x64 Montgomery squaring procedure. + No EC algorithms are affected. Analysis suggests that attacks against RSA + and DSA as a result of this defect would be very difficult to perform and + are not believed likely. Attacks against DH are considered just feasible + (although very difficult) because most of the work necessary to deduce + information about a private key may be performed offline. The amount of + resources required for such an attack would be very significant and likely + only accessible to a limited number of attackers. An attacker would + additionally need online access to an unpatched system using the target + private key in a scenario with persistent DH parameters and a private + key that is shared between multiple clients. + This only affects processors that support the BMI1, BMI2 and ADX extensions + like Intel Broadwell (5th generation) and later or AMD Ryzen. + For more information, see: + https://www.openssl.org/news/secadv/20171102.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3736 + (* Security fix *) +patches/packages/openssl-solibs-1.0.2m-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Fri Oct 27 20:34:35 UTC 2017 +patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txz: Upgraded. + This update is provided to address issues with wifi scanning when using the + new wpa_supplicant with certain hardware drivers. If you're not having + problems, you don't need this update (but it probably won't hurt). +patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txz: Upgraded. + This package goes along with the optional NetworkManager update. +patches/packages/php-5.6.32-x86_64-1_slack14.2.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.2.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.2.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. +patches/packages/irssi-1.0.5-x86_64-1_slack14.2.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.2.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.2.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 *) +patches/packages/seamonkey-2.49.1-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.49.1-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Wed Oct 18 18:21:18 UTC 2017 +patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txz: Upgraded. + Integer overflows may allow X servers to trigger allocation of insufficient + memory and a buffer overflow via vectors related to the (1) + XResQueryClients and (2) XResQueryClientResources functions. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1988 + (* Security fix *) +patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.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.18.3-x86_64-5_slack14.2.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-12177 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12178 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12179 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12180 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12181 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12182 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12183 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12184 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12185 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12186 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12187 + (* Security fix *) +patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txz: Rebuilt. ++--------------------------+ +Sat Oct 7 02:53:31 UTC 2017 +patches/packages/mozilla-thunderbird-52.4.0-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Fri Oct 6 06:32:32 UTC 2017 +patches/packages/curl-7.56.0-x86_64-1_slack14.2.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/openjpeg-2.3.0-x86_64-1_slack14.2.txz: Upgraded. + This update fixes security issues which may lead to a denial of service + or possibly remote code execution. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9572 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9573 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9580 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9581 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12982 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14039 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14040 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14041 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14151 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14152 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14164 + (* Security fix *) +patches/packages/xorg-server-1.18.3-x86_64-4_slack14.2.txz: Rebuilt. + This update fixes two security issues: + Xext/shm: Validate shmseg resource id, otherwise it can belong to a + non-existing client and abort X server with FatalError "client not + in use", or overwrite existing segment of another existing client. + 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-13721 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13723 + (* Security fix *) +patches/packages/xorg-server-xephyr-1.18.3-x86_64-4_slack14.2.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.18.3-x86_64-4_slack14.2.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.18.3-x86_64-4_slack14.2.txz: Rebuilt. ++--------------------------+ +Mon Oct 2 17:16:06 UTC 2017 +patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.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 *) ++--------------------------+ +Sun Oct 1 19:19:08 UTC 2017 +patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txz: Rebuilt. + Patched bugs that may lead to program crashes or possibly execution of + arbitrary code. Thanks to Thomas Choi for the patch. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9110 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9111 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9112 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9113 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9114 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9115 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9116 + (* Security fix *) ++--------------------------+ +Thu Sep 28 21:03:26 UTC 2017 +patches/packages/mozilla-firefox-52.4.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Thu Sep 28 05:31:20 UTC 2017 +patches/packages/gegl-0.2.0-x86_64-4_slack14.2.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.2.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.2.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.2.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.2.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 *) +patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txz: Upgraded. + Mitigate a local side-channel attack on Curve25519 dubbed "May + the Fourth be With You". + For more information, see: + https://eprint.iacr.org/2017/806 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0379 + (* Security fix *) +patches/packages/ruby-2.2.8-x86_64-1_slack14.2.txz: Upgraded. + This release includes several security fixes. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0898 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0899 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0900 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0901 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0902 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10784 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14033 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14064 + (* Security fix *) ++--------------------------+ +Fri Sep 15 17:31:57 UTC 2017 +patches/packages/bluez-5.47-x86_64-1_slack14.2.txz: Upgraded. + 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 *) +patches/packages/linux-4.4.88/*: Upgraded. + This update fixes the security vulnerability known as "BlueBorne". + The native Bluetooth stack in the Linux Kernel (BlueZ), starting at + Linux kernel version 3.3-rc1 is vulnerable to a stack overflow in + the processing of L2CAP configuration responses resulting in remote + code execution in kernel space. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000251 + https://www.armis.com/blueborne + (* Security fix *) ++--------------------------+ +Tue Sep 12 22:18:51 UTC 2017 +patches/packages/emacs-25.3-x86_64-1_slack14.2.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 *) +patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txz: Rebuilt. + Fix a denial of service security issue. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14107 + (* Security fix *) ++--------------------------+ +Fri Sep 8 17:56:01 UTC 2017 +patches/packages/bash-4.3.048-x86_64-1_slack14.2.txz: Upgraded. + 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/mariadb-10.0.32-x86_64-1_slack14.2.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3636 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3641 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3653 + (* Security fix *) +patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txz: Upgraded. + Upgraded to nss-3.31.1 and nspr-4.16. + This is a bugfix release. +patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.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 *) ++--------------------------+ +Thu Aug 17 05:36:28 UTC 2017 +patches/packages/mozilla-thunderbird-52.3.0-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Tue Aug 15 22:16:12 UTC 2017 +patches/packages/xorg-server-1.18.3-x86_64-3_slack14.2.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.18.3-x86_64-3_slack14.2.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.18.3-x86_64-3_slack14.2.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.18.3-x86_64-3_slack14.2.txz: Rebuilt. ++--------------------------+ +Fri Aug 11 23:02:43 UTC 2017 +patches/packages/git-2.14.1-x86_64-1_slack14.2.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/libsoup-2.52.2-x86_64-3_slack14.2.txz: Rebuilt. + Fixed a chunked decoding buffer overrun that could be exploited against + either clients or servers. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2885 + (* Security fix *) +patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.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.9.7-x86_64-1_slack14.2.txz: Upgraded. + 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.2.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 *) +patches/packages/glibc-2.23-x86_64-4_slack14.2.txz: Rebuilt. + Fixed a regression with the recent glibc patch packages: + Don't clobber the libm.so linker script with a symlink. + Thanks to guanx. +patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txz: Rebuilt. +patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txz: Rebuilt. +patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txz: Rebuilt. +patches/packages/mozilla-firefox-52.3.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Wed Aug 2 03:43:51 UTC 2017 +patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.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 *) ++--------------------------+ +Fri Jul 28 20:29:47 UTC 2017 +patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txz: Rebuilt. + Patched a couple of denial of service issues and other bugs. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4645 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4646 + (* Security fix *) ++--------------------------+ +Thu Jul 27 01:03:02 UTC 2017 +patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txz: Rebuilt. + Don't demand high-quality entropy from expat-2.2.2+ because 1) dbus doesn't + need it and 2) it can cause the boot process to hang if dbus times out. + Thanks to SeB for a link to the bug report and patch. ++--------------------------+ +Tue Jul 25 21:09:42 UTC 2017 +patches/packages/bind-9.10.5_P3-x86_64-1_slack14.2.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. + Compiled to use libidn rather than the deprecated (and broken) idnkit. ++--------------------------+ +Mon Jul 24 19:59:34 UTC 2017 +patches/packages/tcpdump-4.9.1-x86_64-1_slack14.2.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 *) ++--------------------------+ +Fri Jul 21 20:09:49 UTC 2017 +patches/packages/seamonkey-2.48-x86_64-1_slack14.2.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.seamonkey-project.org/releases/seamonkey2.48 + (* Security fix *) +patches/packages/seamonkey-solibs-2.48-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Tue Jul 18 23:10:25 UTC 2017 +patches/packages/expat-2.2.2-x86_64-1_slack14.2.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 *) +patches/packages/gd-2.2.4-x86_64-1_slack14.2.txz: Upgraded. + Fixes security issues: + gdImageCreate() doesn't check for oversized images and as such is prone to + DoS vulnerabilities. (CVE-2016-9317) + double-free in gdImageWebPtr() (CVE-2016-6912) + potential unsigned underflow in gd_interpolation.c (CVE-2016-10166) + DOS vulnerability in gdImageCreateFromGd2Ctx() (CVE-2016-10167) + Signed Integer Overflow gd_io.c (CVE-2016-10168) + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9317 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6912 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10166 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10167 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10168 + (* Security fix *) +patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. +patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txz: Rebuilt. + Fixed a bug in a previous patch where a svc_freeargs() call ended up freeing + a static pointer causing rpcbind to crash. Thanks to Jonathan Woithe, + Rafael Jorge Csura Szendrodi, and Robby Workman for identifying the problem + and helping to test a fix. ++--------------------------+ +Fri Jul 14 22:11:58 UTC 2017 +patches/packages/mariadb-10.0.31-x86_64-1_slack14.2.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3308 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3309 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3453 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3456 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3464 + (* Security fix *) +patches/packages/samba-4.4.15-x86_64-1_slack14.2.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.2.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 *) ++--------------------------+ +Mon Jul 10 21:43:37 UTC 2017 +patches/packages/libtirpc-1.0.1-x86_64-3_slack14.2.txz: Rebuilt. + Patched a bug which can cause a denial of service through memory exhaustion. + Thanks to Robby Workman. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8779 + (* Security fix *) +patches/packages/rpcbind-0.2.4-x86_64-1_slack14.2.txz: Upgraded. + Patched a bug which can cause a denial of service through memory exhaustion. + Thanks to Robby Workman. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8779 + (* Security fix *) ++--------------------------+ +Sun Jul 9 20:38:08 UTC 2017 +patches/packages/irssi-1.0.4-x86_64-1_slack14.2.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.2.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.2.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/glibc-2.23-x86_64-3_slack14.2.txz: Rebuilt. + Recompiled with upstream patch from git: + "[PATCH] X86: Don't assert on older Intel CPUs [BZ #20647]" + This fixes an ldconfig failure on older Intel CPUs including Pentium MMX. +patches/packages/glibc-i18n-2.23-x86_64-3_slack14.2.txz: Rebuilt. +patches/packages/glibc-profile-2.23-x86_64-3_slack14.2.txz: Rebuilt. +patches/packages/glibc-solibs-2.23-x86_64-3_slack14.2.txz: Rebuilt. +patches/packages/xscreensaver-5.37-x86_64-1_slack14.2.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Fri Jun 30 21:14:15 UTC 2017 +patches/packages/glibc-2.23-x86_64-2_slack14.2.txz: Rebuilt. + Applied upstream security hardening patches from git. + For more information, see: + https://sourceware.org/git/?p=glibc.git;a=commit;h=3c7cd21290cabdadd72984fb69bc51e64ff1002d + https://sourceware.org/git/?p=glibc.git;a=commit;h=46703a3995aa3ca2b816814aa4ad05ed524194dd + https://sourceware.org/git/?p=glibc.git;a=commit;h=c69d4a0f680a24fdbe323764a50382ad324041e9 + https://sourceware.org/git/?p=glibc.git;a=commit;h=3776f38fcd267c127ba5eb222e2c614c191744aa + https://sourceware.org/git/?p=glibc.git;a=commit;h=adc7e06fb412a2a1ee52f8cb788caf436335b9f3 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000366 + (* Security fix *) +patches/packages/glibc-i18n-2.23-x86_64-2_slack14.2.txz: Rebuilt. +patches/packages/glibc-profile-2.23-x86_64-2_slack14.2.txz: Rebuilt. + (* Security fix *) +patches/packages/glibc-solibs-2.23-x86_64-2_slack14.2.txz: Rebuilt. + (* Security fix *) +patches/packages/linux-4.4.75/*: Upgraded. + This kernel fixes security issues that include possible stack exhaustion, + memory corruption, and arbitrary code execution. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7482 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000365 + (* Security fix *) ++--------------------------+ +Thu Jun 29 20:55:09 UTC 2017 +patches/packages/bind-9.10.5_P2-x86_64-1_slack14.2.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.2.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/libgcrypt-1.7.8-x86_64-1_slack14.2.txz: Upgraded. + Mitigate a local 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 *) +patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.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. ++--------------------------+ +Mon Jun 26 20:36:18 UTC 2017 +patches/packages/linux-4.4.74/*: Upgraded. + This kernel fixes two "Stack Clash" vulnerabilities reported by Qualys. + The first issue may allow attackers to execute arbitrary code with elevated + privileges. Failed attack attempts will likely result in denial-of-service + conditions. The second issue can be exploited to bypass certain security + restrictions and perform unauthorized actions. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + 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-1000365 + (* Security fix *) +patches/packages/mozilla-thunderbird-52.2.1-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Fri Jun 23 20:11:00 UTC 2017 +patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txz: Upgraded. + This update is needed for some newer projects to compile properly. ++--------------------------+ +Wed Jun 21 18:38:46 UTC 2017 +patches/packages/openvpn-2.3.17-x86_64-1_slack14.2.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 *) ++--------------------------+ +Thu Jun 15 02:08:28 UTC 2017 +patches/packages/bind-9.10.5_P1-x86_64-1_slack14.2.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 *) +patches/packages/mozilla-firefox-52.2.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/mozilla-thunderbird-52.2.0-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Tue Jun 13 19:54:24 UTC 2017 +patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release, and is needed for some updates on slackbuilds.org + to compile properly. Thanks to Willy Sudiarto Raharjo. ++--------------------------+ +Wed Jun 7 22:42:04 UTC 2017 +patches/packages/irssi-1.0.3-x86_64-1_slack14.2.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.2.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-3_slack14.2.txz: Rebuilt. + 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.2.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.2.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 *) ++--------------------------+ +Mon May 22 20:58:20 UTC 2017 +patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release to fix a broken gkrellm.pc. +patches/packages/mozilla-firefox-52.1.2esr-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Tue May 16 20:11:03 UTC 2017 +patches/packages/freetype-2.6.3-x86_64-2_slack14.2.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.14.32-x86_64-1_slack14.2.txz: Upgraded. + 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 *) +patches/packages/mozilla-thunderbird-52.1.1-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Mon May 1 23:31:02 UTC 2017 +patches/packages/mozilla-thunderbird-52.1.0-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. +patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.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.2.txz: Upgraded. + Package upgraded to fix the API used to fetch weather data. + Thanks to Robby Workman. ++--------------------------+ +Mon Apr 24 18:06:06 UTC 2017 +patches/packages/mozilla-firefox-52.1.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Apr 21 22:40:12 UTC 2017 +patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release to fix a failure to retrieve HTML formatted emails + that contain a line longer than 1024 characters. Thanks to Edward Trumbo. +patches/packages/ntp-4.2.8p10-x86_64-1_slack14.2.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.2.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.2.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 *) ++--------------------------+ +Tue Apr 18 04:21:33 UTC 2017 +patches/packages/mozilla-thunderbird-52.0.1-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Thu Apr 13 21:19:45 UTC 2017 +patches/packages/bind-9.10.4_P8-x86_64-1_slack14.2.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 *) ++--------------------------+ +Sat Apr 8 16:24:35 UTC 2017 +patches/packages/libtiff-4.0.7-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8127 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8665 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8683 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3622 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3623 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3658 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5321 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5323 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5652 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5875 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9273 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9448 + (* Security fix *) +patches/packages/mozilla-thunderbird-52.0-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Sat Apr 1 05:16:59 UTC 2017 +patches/packages/samba-4.4.13-x86_64-1_slack14.2.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. ++--------------------------+ +Tue Mar 28 20:30:50 UTC 2017 +patches/packages/mariadb-10.0.30-x86_64-1_slack14.2.txz: Upgraded. + This update fixes security issues: + Crash in libmysqlclient.so. + Difficult to exploit vulnerability allows low privileged attacker with + logon to compromise the server. Successful attacks of this vulnerability + can result in unauthorized access to data. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3302 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3313 + (* Security fix *) +patches/packages/mozilla-firefox-52.0.2esr-x86_64-1_slack14.2.txz: Upgraded. + Upgraded to new Firefox 52.x ESR branch. ++--------------------------+ +Thu Mar 23 21:38:23 UTC 2017 +patches/packages/glibc-zoneinfo-2017b-noarch-1_slack14.2.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.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.2.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.2.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 *) ++--------------------------+ +Wed Mar 8 00:17:36 UTC 2017 +patches/packages/mozilla-firefox-45.8.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/mozilla-thunderbird-45.8.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Wed Mar 1 19:09:44 UTC 2017 +patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txz: Rebuilt. + This is a bugfix package update. + Fixed rc.cgred to source the correct config file. + Don't remove the entire cgroup file system with "rc.cgconfig stop". + Thanks to chris.willing. + NOTE: Be sure to install any .new config files. ++--------------------------+ +Tue Feb 28 23:51:55 UTC 2017 +patches/packages/glibc-zoneinfo-2017a-noarch-1_slack14.2.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Fri Feb 10 21:07:35 UTC 2017 +patches/packages/bind-9.10.4_P6-x86_64-1_slack14.2.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.2.txz: Upgraded. + This update is required for the new version of tcpdump. +patches/packages/mozilla-thunderbird-45.7.1-x86_64-1_slack14.2.txz: Upgraded. + Fixed crash when viewing certain IMAP messages (introduced in 45.7.0) +patches/packages/openssl-1.0.2k-x86_64-1_slack14.2.txz: Upgraded. + This update fixes security issues: + Truncated packet could crash via OOB read (CVE-2017-3731) + BN_mod_exp may produce incorrect results on x86_64 (CVE-2017-3732) + Montgomery multiplication may produce incorrect results (CVE-2016-7055) + For more information, see: + https://www.openssl.org/news/secadv/20170126.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3731 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3732 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7055 + (* Security fix *) +patches/packages/openssl-solibs-1.0.2k-x86_64-1_slack14.2.txz: Upgraded. +patches/packages/php-5.6.30-x86_64-1_slack14.2.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.2.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 26 18:42:29 UTC 2017 +patches/packages/mozilla-thunderbird-45.7.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5375 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5376 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5378 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5380 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5390 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5396 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5383 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5386 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5373 + (* Security fix *) ++--------------------------+ +Mon Jan 23 21:30:13 UTC 2017 +patches/packages/mozilla-firefox-45.7.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Jan 20 04:18:02 UTC 2017 +patches/packages/seamonkey-2.46-x86_64-3_slack14.2.txz: Rebuilt. + Recompiled with less aggressive optimization (-Os) to fix crashes. +patches/packages/seamonkey-solibs-2.46-x86_64-3_slack14.2.txz: Rebuilt. ++--------------------------+ +Wed Jan 18 20:39:17 UTC 2017 +patches/packages/mariadb-10.0.29-x86_64-1_slack14.2.txz: Upgraded. + This update fixes several security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6664 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3238 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3243 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3244 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3257 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3258 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3265 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3291 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3312 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3317 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3318 + (* Security fix *) ++--------------------------+ +Wed Jan 18 01:02:19 UTC 2017 +patches/packages/seamonkey-2.46-x86_64-2_slack14.2.txz: Rebuilt. + Restored missing nspr/obsolete headers. +patches/packages/seamonkey-solibs-2.46-x86_64-2_slack14.2.txz: Rebuilt. ++--------------------------+ +Sat Jan 14 05:34:32 UTC 2017 +patches/packages/scim-1.4.17-x86_64-1_slack14.2.txz: Upgraded. + This is a bugfix package update. ++--------------------------+ +Thu Jan 12 01:15:52 UTC 2017 +patches/packages/bind-9.10.4_P5-x86_64-1_slack14.2.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.5.8-x86_64-1_slack14.2.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.2.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.2.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.6.27-x86_64-1_slack14.2.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 *) +patches/packages/mozilla-thunderbird-45.6.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9899 + (* Security fix *) +patches/packages/seamonkey-2.46-x86_64-1_slack14.2.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.seamonkey-project.org/releases/seamonkey2.46 + (* Security fix *) +patches/packages/seamonkey-solibs-2.46-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Wed Dec 28 21:05:19 UTC 2016 +patches/packages/python-2.7.13-x86_64-1_slack14.2.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 *) +patches/packages/samba-4.4.8-x86_64-1_slack14.2.txz: Upgraded. + This release fixes security issues: + CVE-2016-2123 (Samba NDR Parsing ndr_pull_dnsp_name Heap-based Buffer + Overflow Remote Code Execution Vulnerability). + CVE-2016-2125 (Unconditional privilege delegation to Kerberos servers + in trusted realms). + CVE-2016-2126 (Flaws in Kerberos PAC validation can trigger privilege + elevation). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2123 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2125 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2126 + (* Security fix *) ++--------------------------+ +Sat Dec 24 18:14:51 UTC 2016 +patches/packages/expat-2.2.0-x86_64-1_slack14.2.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.2.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.2.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.2.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.2.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Tue Dec 13 22:14:13 UTC 2016 +patches/packages/mozilla-firefox-45.6.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Mon Dec 12 21:25:50 UTC 2016 +patches/packages/linux-4.4.38/*: Upgraded. + This kernel fixes a security issue with a race condition in + net/packet/af_packet.c that can be exploited to gain kernel code execution + from unprivileged processes. + Thanks to Philip Pettersson for discovering the bug and providing a patch. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=84ac7260236a49c79eede91617700174c2c19b0c + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8655 + (* Security fix *) +patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txz: Upgraded. + This update is needed for the mcabber security update. +patches/packages/mcabber-1.0.4-x86_64-1_slack14.2.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.2.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 *) ++--------------------------+ +Thu Dec 1 08:49:20 UTC 2016 +patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txz: Rebuilt. + Added a patch to fix issues when $(builddir) != $(srcdir). This avoids + possible build failures when intltool is used with automake >= 1.15. + Thanks to Willy Sudiarto Raharjo. +patches/packages/mozilla-firefox-45.5.1esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9079 + (* Security fix *) +patches/packages/mozilla-thunderbird-45.5.1-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + https://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9079 + (* Security fix *) ++--------------------------+ +Mon Nov 21 19:21:22 UTC 2016 +patches/packages/ntp-4.2.8p9-x86_64-1_slack14.2.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/mozilla-firefox-45.5.0esr-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) ++--------------------------+ +Fri Nov 4 03:31:38 UTC 2016 +patches/packages/bind-9.10.4_P4-x86_64-1_slack14.2.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.2.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.2.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Mon Oct 31 23:38:24 UTC 2016 +patches/packages/libX11-1.6.4-x86_64-1_slack14.2.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/libXfixes-5.0.3-x86_64-1_slack14.2.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.2.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.2.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.2.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.2.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.2.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.2.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/linux-4.4.29/*: 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 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + 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/mariadb-10.0.28-x86_64-1_slack14.2.txz: Upgraded. + This update fixes several security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5616 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5624 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5626 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3492 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5629 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8283 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7440 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5584 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6663 + (* Security fix *) +patches/packages/php-5.6.27-x86_64-1_slack14.2.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/xscreensaver-5.36-x86_64-1_slack14.2.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Sat Oct 1 17:11:13 UTC 2016 +patches/packages/mozilla-thunderbird-45.4.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Wed Sep 28 23:24:37 UTC 2016 +patches/packages/glibc-zoneinfo-2016g-noarch-1_slack14.2.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Tue Sep 27 19:16:56 UTC 2016 +patches/packages/bind-9.10.4_P3-x86_64-1_slack14.2.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 *) ++--------------------------+ +Mon Sep 26 18:14:08 UTC 2016 +patches/packages/openssl-1.0.2j-x86_64-1_slack14.2.txz: Upgraded. + This update fixes a security issue: + Missing CRL sanity check (CVE-2016-7052) + For more information, see: + https://www.openssl.org/news/secadv/20160926.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7052 + (* Security fix *) +patches/packages/openssl-solibs-1.0.2j-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Fri Sep 23 23:30:53 UTC 2016 +patches/packages/php-5.6.26-x86_64-1_slack14.2.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.2i-x86_64-1_slack14.2.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.2i-x86_64-1_slack14.2.txz: Upgraded. ++--------------------------+ +Wed Sep 21 21:10:52 UTC 2016 +patches/packages/irssi-0.8.20-x86_64-1_slack14.2.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/mozilla-firefox-45.4.0esr-x86_64-1_slack14.2.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/pidgin-2.11.0-x86_64-1_slack14.2.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.2.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 18:13:32 UTC 2016 +patches/packages/mariadb-10.0.27-x86_64-1_slack14.2.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 + https://jira.mariadb.org/browse/MDEV-10465 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6662 + (* Security fix *) ++--------------------------+ +Mon Sep 12 18:39:03 UTC 2016 +patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txz: Rebuilt. + Fixed a regression that broke MOD support. Thanks to B Watson. ++--------------------------+ +Sat Sep 10 18:04:42 UTC 2016 +patches/packages/gnutls-3.4.15-x86_64-1_slack14.2.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/gtk+2-2.24.31-x86_64-1_slack14.2.txz: Upgraded. + This update fixes a security issue: Integer overflow in the + gdk_cairo_set_source_pixbuf function in gdk/gdkcairo.c allows remote + attackers to cause a denial of service (crash) via a large image file, + which triggers a large memory allocation. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7447 + (* Security fix *) ++--------------------------+ +Thu Sep 8 21:35:02 UTC 2016 +patches/packages/php-5.6.25-x86_64-1_slack14.2.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 *) ++--------------------------+ +Wed Aug 31 20:43:10 UTC 2016 +patches/packages/mozilla-thunderbird-45.3.0-x86_64-1_slack14.2.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Tue Aug 23 19:45:33 UTC 2016 +patches/packages/gnupg-1.4.21-x86_64-1_slack14.2.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/glib2-2.46.2-x86_64-3_slack14.2.txz: Rebuilt. + Applied upstream patch to fix a use-before-allocate bug in libgio. Without + this fix, Thunar will crash if $HOME is on an NFS volume. + Thanks to Jonathan Woithe. +patches/packages/libgcrypt-1.7.3-x86_64-1_slack14.2.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/linux-4.4.19/*: Upgraded. + A flaw was found in the implementation of the Linux kernels handling of + networking challenge ack where an attacker is able to determine the shared + counter. This may allow an attacker located on different subnet to inject + or take over a TCP connection between a server and client without having to + be a traditional Man In the Middle (MITM) style attack. + 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. + If you use elilo to boot your machine, you should run eliloconfig to copy the + kernel and initrd to the EFI System Partition. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5389 + (* Security fix *) +patches/packages/screen-4.4.0-x86_64-2_slack14.2.txz: Rebuilt. + Reverted a change to /etc/screenrc.new that prevented the console from being + cleared when a screen session was detached. Thanks to Stuart Winter. +patches/packages/stunnel-5.35-x86_64-2_slack14.2.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.2.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.2.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/mozilla-firefox-45.3.0esr-x86_64-1_slack14.2.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/openssh-7.3p1-x86_64-1_slack14.2.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.2.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.2.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.10.4_P2-x86_64-1_slack14.2.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.2.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.2.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.4.5-x86_64-1_slack14.2.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 *) ++--------------------------+ +Tue Jul 5 04:52:45 UTC 2016 +patches/packages/mozilla-thunderbird-45.2.0-x86_64-1_slack14.2.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 30 20:26:57 UTC 2016 Slackware 14.2 x86_64 stable is released! diff --git a/FILELIST.TXT b/FILELIST.TXT index 60a9cf4c7..c6b2dceb2 100644 --- a/FILELIST.TXT +++ b/FILELIST.TXT @@ -1,20 +1,6150 @@ -Thu Jun 30 23:26:18 UTC 2016 +Fri May 25 23:54:33 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 2016-06-30 23:26 . --rw-r--r-- 1 root root 470630 2016-06-30 23:26 ./CHECKSUMS.md5 --rw-r--r-- 1 root root 181 2016-06-30 23:26 ./CHECKSUMS.md5.asc --rw-r--r-- 1 root root 652216 2016-06-30 23:26 ./FILELIST.TXT --rw-r--r-- 1 root root 255844 2016-06-30 23:26 ./READ_DVD.TXT -drwxr-xr-x 19 root root 4096 2016-06-30 23:26 ./source --rw-r--r-- 1 root root 427118 2016-06-30 23:26 ./source/CHECKSUMS.md5 --rw-r--r-- 1 root root 181 2016-06-30 23:26 ./source/CHECKSUMS.md5.asc --rw-r--r-- 1 root root 602448 2016-06-30 23:26 ./source/FILE_LIST --rw-r--r-- 1 root root 11718046 2016-06-30 23:26 ./source/MANIFEST.bz2 +drwxr-xr-x 12 root root 4096 2018-05-25 23:29 . +-rw-r--r-- 1 root root 10064 2016-06-30 18:39 ./ANNOUNCE.14_2 +-rw-r--r-- 1 root root 12785 2016-06-24 22:58 ./CHANGES_AND_HINTS.TXT +-rw-r--r-- 1 root root 949583 2018-05-23 04:57 ./CHECKSUMS.md5 +-rw-r--r-- 1 root root 163 2018-05-23 04:57 ./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 19573 2016-06-23 20:08 ./COPYRIGHT.TXT +-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT +-rw-r--r-- 1 root root 480790 2018-05-25 23:29 ./ChangeLog.txt +drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI +drwxr-xr-x 2 root root 4096 2018-03-12 00:03 ./EFI/BOOT +-rw-r--r-- 1 root root 1223680 2016-06-13 03:20 ./EFI/BOOT/bootx64.efi +-rw-r--r-- 1 root root 78 2013-09-23 20:35 ./EFI/BOOT/grub-embedded.cfg +-rw-r--r-- 1 root root 893 2015-11-14 19:11 ./EFI/BOOT/grub.cfg +-rw-r--r-- 2 root root 7630144 2016-06-24 18:38 ./EFI/BOOT/huge.s +-rw-r--r-- 2 root root 39424516 2016-06-24 21:14 ./EFI/BOOT/initrd.img +-rwxr-xr-x 1 root root 2493 2013-09-25 05:10 ./EFI/BOOT/make-grub.sh +-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg +-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg +-rw-r--r-- 1 root root 1258677 2018-05-23 04:55 ./FILELIST.TXT +-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY +-rw-r--r-- 1 root root 704195 2016-06-29 19:49 ./PACKAGES.TXT +-rw-r--r-- 1 root root 8564 2016-06-28 21:33 ./README.TXT +-rw-r--r-- 1 root root 3654 2016-06-25 00:08 ./README.initrd +-rw-r--r-- 1 root root 34463 2016-06-24 22:57 ./README_CRYPT.TXT +-rw-r--r-- 1 root root 8751 2016-06-28 21:44 ./README_LVM.TXT +-rw-r--r-- 1 root root 19658 2013-06-18 04:34 ./README_RAID.TXT +-rw-r--r-- 1 root root 7929 2013-10-19 03:39 ./README_UEFI.TXT +-rw-r--r-- 1 root root 6166 2016-06-30 22:48 ./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 57632 2016-06-29 18:46 ./Slackware-HOWTO +-rw-r--r-- 1 root root 6688 2016-06-24 22:58 ./UPGRADE.TXT +drwxr-xr-x 17 root root 4096 2016-06-07 06:11 ./extra +-rw-r--r-- 1 root root 30279 2016-06-07 06:11 ./extra/CHECKSUMS.md5 +-rw-r--r-- 1 root root 181 2016-06-07 06:11 ./extra/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 38163 2016-06-07 06:10 ./extra/FILE_LIST +-rw-r--r-- 1 root root 110776 2016-06-07 06:11 ./extra/MANIFEST.bz2 +-rw-r--r-- 1 root root 31790 2016-06-07 06:11 ./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 2016-06-07 06:10 ./extra/aspell-word-lists +-rw-r--r-- 1 root root 171 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-af-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 869560 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-af-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-af-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 190 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-am-0.03_1-x86_64-5.txt +-rw-r--r-- 1 root root 106900 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-am-0.03_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-am-0.03_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 195 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-az-0.02_0-x86_64-5.txt +-rw-r--r-- 1 root root 126644 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-az-0.02_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-az-0.02_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 199 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-be-0.01-x86_64-5.txt +-rw-r--r-- 1 root root 9374080 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-be-0.01-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-be-0.01-x86_64-5.txz.asc +-rw-r--r-- 1 root root 198 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-bg-4.1_0-x86_64-1.txt +-rw-r--r-- 1 root root 737016 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-bg-4.1_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-bg-4.1_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 193 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-x86_64-5.txt +-rw-r--r-- 1 root root 582296 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 168 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-br-0.50_2-x86_64-5.txt +-rw-r--r-- 1 root root 309004 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-br-0.50_2-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-br-0.50_2-x86_64-5.txz.asc +-rw-r--r-- 1 root root 185 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-ca-20040130_1-x86_64-5.txt +-rw-r--r-- 1 root root 1053360 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-ca-20040130_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-ca-20040130_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 185 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-cs-20040614_1-x86_64-5.txt +-rw-r--r-- 1 root root 2051160 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-cs-20040614_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-cs-20040614_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 203 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-csb-0.02_0-x86_64-5.txt +-rw-r--r-- 1 root root 42448 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-csb-0.02_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-csb-0.02_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 167 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-cy-0.50_3-x86_64-5.txt +-rw-r--r-- 1 root root 1746720 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-cy-0.50_3-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-cy-0.50_3-x86_64-5.txz.asc +-rw-r--r-- 1 root root 182 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-da-1.4.42_1-x86_64-5.txt +-rw-r--r-- 1 root root 3045320 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-da-1.4.42_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-da-1.4.42_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 186 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-de-20030222_1-x86_64-5.txt +-rw-r--r-- 1 root root 2987584 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-de-20030222_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-de-20030222_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 167 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-el-0.50_3-x86_64-5.txt +-rw-r--r-- 1 root root 3214284 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-el-0.50_3-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-el-0.50_3-x86_64-5.txz.asc +-rw-r--r-- 1 root root 177 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-eo-2.1.20000225a_2-x86_64-1.txt +-rw-r--r-- 1 root root 154980 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-eo-2.1.20000225a_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-eo-2.1.20000225a_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 186 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-es-1.11_2-x86_64-1.txt +-rw-r--r-- 1 root root 453232 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-es-1.11_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-es-1.11_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 176 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-et-0.1.21_1-x86_64-5.txt +-rw-r--r-- 1 root root 877188 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-et-0.1.21_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-et-0.1.21_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 188 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-fa-0.11_0-x86_64-1.txt +-rw-r--r-- 1 root root 1642140 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-fa-0.11_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-fa-0.11_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 175 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-fi-0.7_0-x86_64-5.txt +-rw-r--r-- 1 root root 606924 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-fi-0.7_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-fi-0.7_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 186 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-x86_64-5.txt +-rw-r--r-- 1 root root 997712 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 168 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-fr-0.50_3-x86_64-5.txt +-rw-r--r-- 1 root root 4368196 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-fr-0.50_3-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-fr-0.50_3-x86_64-5.txz.asc +-rw-r--r-- 1 root root 183 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ga-4.5_0-x86_64-1.txt +-rw-r--r-- 1 root root 2543444 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ga-4.5_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ga-4.5_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 194 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-x86_64-5.txt +-rw-r--r-- 1 root root 131280 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 195 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-gl-0.5a_2-x86_64-1.txt +-rw-r--r-- 1 root root 282420 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-gl-0.5a_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-gl-0.5a_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 200 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-gu-0.03_0-x86_64-1.txt +-rw-r--r-- 1 root root 500412 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-gu-0.03_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-gu-0.03_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 173 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-gv-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 219112 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-gv-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-gv-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 187 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-he-1.0_0-x86_64-5.txt +-rw-r--r-- 1 root root 2008516 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-he-1.0_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-he-1.0_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 191 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-hi-0.02_0-x86_64-1.txt +-rw-r--r-- 1 root root 786536 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-hi-0.02_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-hi-0.02_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 190 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-hil-0.11_0-x86_64-5.txt +-rw-r--r-- 1 root root 114932 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-hil-0.11_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-hil-0.11_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 170 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-hr-0.51_0-x86_64-5.txt +-rw-r--r-- 1 root root 1948936 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-hr-0.51_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-hr-0.51_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 209 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-hsb-0.02_0-x86_64-1.txt +-rw-r--r-- 1 root root 315536 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-hsb-0.02_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-hsb-0.02_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 177 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-x86_64-5.txt +-rw-r--r-- 1 root root 1582096 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 173 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-ia-0.50_1-x86_64-5.txt +-rw-r--r-- 1 root root 550072 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-ia-0.50_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-ia-0.50_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 197 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-id-1.2_0-x86_64-5.txt +-rw-r--r-- 1 root root 213260 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-id-1.2_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-id-1.2_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 171 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-is-0.51.1_0-x86_64-5.txt +-rw-r--r-- 1 root root 1505808 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-is-0.51.1_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-is-0.51.1_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 186 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-x86_64-5.txt +-rw-r--r-- 1 root root 644416 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 182 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ku-0.20_1-x86_64-1.txt +-rw-r--r-- 1 root root 76768 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ku-0.20_1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ku-0.20_1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 173 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-la-20020503_0-x86_64-5.txt +-rw-r--r-- 1 root root 122764 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-la-20020503_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-la-20020503_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 190 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-lt-1.2.1_0-x86_64-1.txt +-rw-r--r-- 1 root root 687948 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-lt-1.2.1_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-lt-1.2.1_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 175 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-x86_64-5.txt +-rw-r--r-- 1 root root 186944 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 176 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-mg-0.03_0-x86_64-5.txt +-rw-r--r-- 1 root root 116976 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-mg-0.03_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-mg-0.03_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 167 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mi-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 144796 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mi-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mi-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 172 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mk-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 1253840 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mk-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mk-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 192 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-mn-0.06_2-x86_64-1.txt +-rw-r--r-- 1 root root 3714264 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-mn-0.06_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-mn-0.06_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 193 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-mr-0.10_0-x86_64-5.txt +-rw-r--r-- 1 root root 474760 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-mr-0.10_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-mr-0.10_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 167 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-ms-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 116556 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-ms-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-ms-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 169 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mt-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 5067432 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mt-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-mt-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 178 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-x86_64-5.txt +-rw-r--r-- 1 root root 3038560 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 206 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-nds-0.01_0-x86_64-5.txt +-rw-r--r-- 1 root root 39928 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-nds-0.01_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-nds-0.01_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 167 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nl-0.50_2-x86_64-5.txt +-rw-r--r-- 1 root root 1495224 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nl-0.50_2-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nl-0.50_2-x86_64-5.txz.asc +-rw-r--r-- 1 root root 179 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-x86_64-5.txt +-rw-r--r-- 1 root root 1909100 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 171 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-no-0.50_2-x86_64-5.txt +-rw-r--r-- 1 root root 1246192 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-no-0.50_2-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-no-0.50_2-x86_64-5.txz.asc +-rw-r--r-- 1 root root 176 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ny-0.01_0-x86_64-5.txt +-rw-r--r-- 1 root root 40848 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ny-0.01_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-ny-0.01_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 191 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-or-0.03_1-x86_64-5.txt +-rw-r--r-- 1 root root 15016 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-or-0.03_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-or-0.03_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 196 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pa-0.01_1-x86_64-5.txt +-rw-r--r-- 1 root root 21732 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pa-0.01_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pa-0.01_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 183 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pl-6.0_20061121_0-x86_64-1.txt +-rw-r--r-- 1 root root 1836484 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pl-6.0_20061121_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pl-6.0_20061121_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 172 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-pt-0.50_2-x86_64-5.txt +-rw-r--r-- 1 root root 2280348 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-pt-0.50_2-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-pt-0.50_2-x86_64-5.txz.asc +-rw-r--r-- 1 root root 247 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pt_BR-20090702_0-x86_64-1.txt +-rw-r--r-- 1 root root 2439308 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pt_BR-20090702_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-pt_BR-20090702_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 196 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-qu-0.02_0-x86_64-5.txt +-rw-r--r-- 1 root root 302864 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-qu-0.02_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-qu-0.02_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 187 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-ro-3.3_2-x86_64-1.txt +-rw-r--r-- 1 root root 8824136 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-ro-3.3_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-ro-3.3_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 192 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-x86_64-5.txt +-rw-r--r-- 1 root root 1426100 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 173 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-rw-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 37612 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-rw-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:11 ./extra/aspell-word-lists/aspell-rw-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 171 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-sc-1.0-x86_64-5.txt +-rw-r--r-- 1 root root 4911424 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-sc-1.0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-sc-1.0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 187 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-sk-2.01_2-x86_64-1.txt +-rw-r--r-- 1 root root 1275104 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-sk-2.01_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-sk-2.01_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 171 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sl-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 5284388 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sl-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sl-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 190 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-sr-0.02-x86_64-5.txt +-rw-r--r-- 1 root root 3707596 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-sr-0.02-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-sr-0.02-x86_64-5.txz.asc +-rw-r--r-- 1 root root 169 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sv-0.51_0-x86_64-5.txt +-rw-r--r-- 1 root root 986188 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sv-0.51_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sv-0.51_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 169 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sw-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 301548 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sw-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-sw-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 191 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-ta-20040424_1-x86_64-5.txt +-rw-r--r-- 1 root root 100064 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-ta-20040424_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-ta-20040424_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 195 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-te-0.01_2-x86_64-5.txt +-rw-r--r-- 1 root root 906884 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-te-0.01_2-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-te-0.01_2-x86_64-5.txz.asc +-rw-r--r-- 1 root root 179 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tet-0.1.1-x86_64-5.txt +-rw-r--r-- 1 root root 65868 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tet-0.1.1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tet-0.1.1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 175 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tl-0.02_1-x86_64-5.txt +-rw-r--r-- 1 root root 97524 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tl-0.02_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tl-0.02_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 176 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-x86_64-5.txt +-rw-r--r-- 1 root root 42488 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 169 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-tr-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 493296 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-tr-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-tr-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 200 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-uk-1.4.0_0-x86_64-1.txt +-rw-r--r-- 1 root root 720968 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-uk-1.4.0_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-uk-1.4.0_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 190 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-uz-0.6_0-x86_64-1.txt +-rw-r--r-- 1 root root 540588 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-uz-0.6_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-uz-0.6_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 193 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-x86_64-5.txt +-rw-r--r-- 1 root root 42140 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 169 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-wa-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 648156 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-wa-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-wa-0.50_0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 190 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-x86_64-5.txt +-rw-r--r-- 1 root root 396088 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:14 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 166 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-zu-0.50_0-x86_64-5.txt +-rw-r--r-- 1 root root 489792 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-zu-0.50_0-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:12 ./extra/aspell-word-lists/aspell-zu-0.50_0-x86_64-5.txz.asc +drwxr-xr-x 2 root root 4096 2016-05-31 20:12 ./extra/bash-completion +-rw-r--r-- 1 root root 681 2016-05-31 19:02 ./extra/bash-completion/bash-completion-2.2-noarch-3.txt +-rw-r--r-- 1 root root 162284 2016-05-31 19:02 ./extra/bash-completion/bash-completion-2.2-noarch-3.txz +-rw-r--r-- 1 root root 181 2016-05-31 19:02 ./extra/bash-completion/bash-completion-2.2-noarch-3.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 2016-03-27 18:57 ./extra/brltty +-rw-r--r-- 1 root root 362 2016-03-27 16:51 ./extra/brltty/brltty-5.3.1-x86_64-2.txt +-rw-r--r-- 1 root root 1947800 2016-03-27 16:51 ./extra/brltty/brltty-5.3.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-27 16:51 ./extra/brltty/brltty-5.3.1-x86_64-2.txz.asc +drwxr-xr-x 2 root root 4096 2013-09-13 20:05 ./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 2013-09-09 23:22 ./extra/emacspeak/emacspeak-38.0-x86_64-1.txt +-rw-r--r-- 1 root root 4240996 2013-09-09 23:22 ./extra/emacspeak/emacspeak-38.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-09-09 23:22 ./extra/emacspeak/emacspeak-38.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 2015-12-15 08:48 ./extra/fltk +-rw-r--r-- 1 root root 493 2015-12-15 08:07 ./extra/fltk/fltk-1.3.3-x86_64-2.txt +-rw-r--r-- 1 root root 809688 2015-12-15 08:07 ./extra/fltk/fltk-1.3.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-12-15 08:07 ./extra/fltk/fltk-1.3.3-x86_64-2.txz.asc +drwxr-xr-x 2 root root 4096 2013-10-02 20:28 ./extra/google-chrome +-rw-r--r-- 1 root root 1099 2013-10-02 20:28 ./extra/google-chrome/README +-rwxr-xr-x 1 root root 3921 2015-03-05 21:54 ./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 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 15 root root 4096 2016-03-26 23:10 ./extra/source +drwxr-xr-x 3 root root 4096 2016-05-31 19:01 ./extra/source/bash-completion +-rw-r--r-- 1 root root 271260 2016-03-03 15:25 ./extra/source/bash-completion/bash-completion-2.2.tar.xz +-rwxr-xr-x 1 root root 3832 2016-05-31 18:59 ./extra/source/bash-completion/bash-completion.SlackBuild +-rw-r--r-- 1 root root 489 2016-03-06 06:45 ./extra/source/bash-completion/fixup-sh-script-completions.diff.gz +drwxr-xr-x 2 root root 4096 2016-05-31 18:58 ./extra/source/bash-completion/patches +-rw-r--r-- 1 root root 549 2016-03-16 11:28 ./extra/source/bash-completion/patches/0001-tar-Don-t-write-to-tmp-jetel.patch.gz +-rw-r--r-- 1 root root 594 2016-03-16 11:28 ./extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch.gz +-rw-r--r-- 1 root root 641 2016-03-16 11:28 ./extra/source/bash-completion/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch.gz +-rw-r--r-- 1 root root 469 2016-03-16 11:28 ./extra/source/bash-completion/patches/0004-tar-Remove-unused-variable.patch.gz +-rw-r--r-- 1 root root 665 2016-03-16 11:28 ./extra/source/bash-completion/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch.gz +-rw-r--r-- 1 root root 275 2016-05-31 19:01 ./extra/source/bash-completion/patches/0006-Remove-mplayer-aliased-completion.patch.gz +-rw-r--r-- 1 root root 1147 2016-01-08 18:03 ./extra/source/bash-completion/slack-desc +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 2016-03-27 16:50 ./extra/source/brltty +-rw-r--r-- 1 root root 2745956 2015-12-22 05:15 ./extra/source/brltty/brltty-5.3.1.tar.xz +-rwxr-xr-x 1 root root 4409 2016-03-27 16:50 ./extra/source/brltty/brltty.SlackBuild +-rw-r--r-- 1 root root 284 2013-09-09 23:02 ./extra/source/brltty/brltty.brlapi.pyx.diff.gz +-rw-r--r-- 1 root root 554 2016-03-27 16:48 ./extra/source/brltty/brltty.fix.blanks.diff.gz +-rwxr-xr-x 1 root root 529 2016-03-26 22:50 ./extra/source/brltty/dump.dos.windows.stuff.sh +-rw-r--r-- 1 root root 819 2016-03-26 22:56 ./extra/source/brltty/slack-desc +drwxr-xr-x 2 root root 4096 2015-06-30 17:23 ./extra/source/emacspeak +-rw-r--r-- 1 root root 4109032 2013-09-09 23:18 ./extra/source/emacspeak/emacspeak-38.0.tar.xz +-rwxr-xr-x 1 root root 4438 2013-09-09 23:21 ./extra/source/emacspeak/emacspeak.SlackBuild +-rw-r--r-- 1 root root 47 2015-06-30 17:23 ./extra/source/emacspeak/emacspeak.git +-rw-r--r-- 1 root root 534 2013-09-09 23:20 ./extra/source/emacspeak/emacspeak.tcl8.6.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 2016-03-21 02:40 ./extra/source/flashplayer-plugin +-rwxr-xr-- 1 root root 6583 2016-03-21 02:40 ./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 2015-12-12 16:51 ./extra/source/fltk +-rw-r--r-- 1 root root 662 2015-12-12 16:50 ./extra/source/fltk/Fl_XFont_On_Demand.patch.gz +-rw-r--r-- 1 root root 3503348 2014-11-03 18:49 ./extra/source/fltk/fltk-1.3.3-source.tar.xz +-rwxr-xr-x 1 root root 4679 2015-12-15 07:54 ./extra/source/fltk/fltk.SlackBuild +-rw-r--r-- 1 root root 948 2015-11-07 21:03 ./extra/source/fltk/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 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 4 root root 4096 2015-11-07 21:35 ./extra/source/tigervnc +-rw-r--r-- 1 root root 590 2015-08-25 10:53 ./extra/source/tigervnc/10-libvnc.conf +drwxr-xr-x 2 root root 4096 2015-11-12 22:24 ./extra/source/tigervnc/patches +-rw-r--r-- 1 root root 5108 2015-11-12 22:24 ./extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch +-rw-r--r-- 1 root root 509 2015-11-12 22:20 ./extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch +-rw-r--r-- 1 root root 330 2015-04-11 21:48 ./extra/source/tigervnc/patches/tigervnc13_link_png.patch +-rw-r--r-- 1 root root 5356 2015-07-11 13:00 ./extra/source/tigervnc/patches/xserver118.patch +-rw-r--r-- 1 root root 939 2010-08-31 20:04 ./extra/source/tigervnc/slack-desc +drwxr-xr-x 2 root root 4096 2016-04-06 01:45 ./extra/source/tigervnc/sources +-rw-r--r-- 1 root root 910884 2016-02-22 19:51 ./extra/source/tigervnc/sources/tigervnc-1.6.0.tar.xz +lrwxrwxrwx 1 root root 62 2016-04-06 01:45 ./extra/source/tigervnc/sources/xorg-server-1.18.3.tar.xz -> ../../../../source/x/x11/src/xserver/xorg-server-1.18.3.tar.xz +-rwxr-xr-- 1 root root 14353 2016-04-06 01:45 ./extra/source/tigervnc/tigervnc.SlackBuild +drwxr-xr-x 2 root root 4096 2016-03-26 21:39 ./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 336 2016-03-26 18:21 ./extra/source/wicd/curses_bitrate_fix.patch.gz +-rw-r--r-- 1 root root 512 2012-03-12 01:39 ./extra/source/wicd/doinst.sh.gz +-rw-r--r-- 1 root root 466 2014-12-23 19:03 ./extra/source/wicd/manually-compile-translations.diff.gz +-rw-r--r-- 1 root root 874 2014-12-23 19:08 ./extra/source/wicd/slack-desc +-rw-r--r-- 1 root root 345 2015-04-19 05:50 ./extra/source/wicd/wicd-1.7.3-urwid-1.3.0.patch.gz +-rw-r--r-- 1 root root 390520 2016-01-26 05:19 ./extra/source/wicd/wicd-1.7.4.tar.xz +-rw-r--r-- 1 root root 283 2016-03-26 20:48 ./extra/source/wicd/wicd-1421918.patch.gz +-rwxr-xr-x 1 root root 3975 2016-03-26 21:40 ./extra/source/wicd/wicd.SlackBuild +drwxr-xr-x 2 root root 4096 2013-10-03 21:36 ./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 246016 2013-09-23 18:09 ./extra/source/xf86-video-fbdev/xf86-video-fbdev-0.4.4.tar.xz +-rwxr-xr-x 1 root root 4230 2015-11-12 22:29 ./extra/source/xf86-video-fbdev/xf86-video-fbdev.SlackBuild +drwxr-xr-x 2 root root 4096 2016-04-06 05:22 ./extra/tigervnc +-rw-r--r-- 1 root root 0 2015-12-15 08:03 ./extra/tigervnc/the_fltk_package_must_also_be_installed +-rw-r--r-- 1 root root 480 2016-04-06 03:32 ./extra/tigervnc/tigervnc-1.6.0-x86_64-3.txt +-rw-r--r-- 1 root root 2619036 2016-04-06 03:32 ./extra/tigervnc/tigervnc-1.6.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-04-06 03:32 ./extra/tigervnc/tigervnc-1.6.0-x86_64-3.txz.asc +drwxr-xr-x 2 root root 4096 2016-03-26 23:27 ./extra/wicd +-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/wicd/README.SLACKWARE +-rw-r--r-- 1 root root 418 2016-03-26 22:24 ./extra/wicd/wicd-1.7.4-x86_64-2.txt +-rw-r--r-- 1 root root 422480 2016-03-26 22:24 ./extra/wicd/wicd-1.7.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-26 22:24 ./extra/wicd/wicd-1.7.4-x86_64-2.txz.asc +drwxr-xr-x 2 root root 4096 2015-11-14 21:49 ./extra/xf86-video-fbdev +-rw-r--r-- 1 root root 411 2015-11-12 22:29 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.4-x86_64-4.txt +-rw-r--r-- 1 root root 10692 2015-11-12 22:29 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.4-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-11-12 22:29 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.4-x86_64-4.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 2016-06-24 21:15 ./isolinux +-rw-r--r-- 1 root root 5953 2013-09-25 09:15 ./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 1474560 2016-06-13 03:20 ./isolinux/efiboot.img +-rw-r--r-- 1 root root 574 2013-10-24 00:19 ./isolinux/f2.txt +-rw-r--r-- 2 root root 39424516 2016-06-24 21:14 ./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 2016-05-27 20:36 ./isolinux/isolinux.bin +-rw-r--r-- 1 root root 578 2013-03-27 03:29 ./isolinux/isolinux.cfg +-rw-r--r-- 1 root root 682 2016-06-24 21:06 ./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 3029 2013-08-16 20:23 ./isolinux/setpkg +drwxr-xr-x 5 root root 4096 2016-06-24 21:06 ./kernels +-rw-r--r-- 1 root root 36 2016-06-24 21:06 ./kernels/VERSIONS.TXT +drwxr-xr-x 2 root root 4096 2016-06-24 18:38 ./kernels/huge.s +-rw-r--r-- 1 root root 819610 2016-06-24 18:38 ./kernels/huge.s/System.map.gz +-rw-r--r-- 2 root root 7630144 2016-06-24 18:38 ./kernels/huge.s/bzImage +-rw-r--r-- 1 root root 159775 2016-06-24 18:34 ./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 150024 2013-10-17 04:15 ./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:07 ./pasture +-rw-r--r-- 1 root root 2414 2016-02-03 23:07 ./pasture/CHECKSUMS.md5 +-rw-r--r-- 1 root root 181 2016-02-03 23:07 ./pasture/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 3016 2016-02-03 23:07 ./pasture/FILE_LIST +-rw-r--r-- 1 root root 3524 2016-02-03 23:07 ./pasture/MANIFEST.bz2 +-rw-r--r-- 1 root root 2238 2016-02-03 23:07 ./pasture/PACKAGES.TXT +-rw-r--r-- 1 root root 554 2011-04-11 06:20 ./pasture/apmd-3.2.2-x86_64-3.txt +-rw-r--r-- 1 root root 54944 2011-04-11 06:20 ./pasture/apmd-3.2.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-04-11 06:20 ./pasture/apmd-3.2.2-x86_64-3.txz.asc +drwxr-xr-x 5 root root 4096 2016-01-20 21:29 ./pasture/source +drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./pasture/source/apmd +-rw-r--r-- 1 root root 61686 2004-04-30 04:29 ./pasture/source/apmd/apmd-3.2.2.tar.bz2 +-rwxr-xr-x 1 root root 3572 2011-04-11 06:19 ./pasture/source/apmd/apmd.SlackBuild +-rw-r--r-- 1 root root 1009 2002-02-22 00:45 ./pasture/source/apmd/slack-desc +drwxr-xr-x 2 root root 4096 2015-03-05 23:59 ./pasture/source/xfce4-mixer +-rw-r--r-- 1 root root 3176 2015-03-05 23:54 ./pasture/source/xfce4-mixer/0001-Make-Unique-support-optional.patch +-rw-r--r-- 1 root root 2225 2015-03-05 23:51 ./pasture/source/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch +-rw-r--r-- 1 root root 1116 2015-03-05 23:51 ./pasture/source/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch +-rw-r--r-- 1 root root 184 2010-11-04 03:20 ./pasture/source/xfce4-mixer/doinst.sh.gz +-rw-r--r-- 1 root root 899 2012-07-19 02:54 ./pasture/source/xfce4-mixer/slack-desc +-rw-r--r-- 1 root root 384436 2012-10-10 15:10 ./pasture/source/xfce4-mixer/xfce4-mixer-4.10.0.tar.xz +-rwxr-xr-x 1 root root 3595 2015-11-20 23:57 ./pasture/source/xfce4-mixer/xfce4-mixer.SlackBuild +drwxr-xr-x 2 root root 4096 2015-02-18 06:16 ./pasture/source/xfce4-volumed +-rw-r--r-- 1 root root 1094 2015-02-18 06:16 ./pasture/source/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch +-rw-r--r-- 1 root root 2294 2015-02-18 06:16 ./pasture/source/xfce4-volumed/0003-Removing-edge-case-memleaks.patch +-rw-r--r-- 1 root root 1034 2011-10-26 15:38 ./pasture/source/xfce4-volumed/slack-desc +-rw-r--r-- 1 root root 83828 2011-03-03 10:39 ./pasture/source/xfce4-volumed/xfce4-volumed-0.1.13.tar.xz +-rwxr-xr-x 1 root root 3470 2015-11-21 17:36 ./pasture/source/xfce4-volumed/xfce4-volumed.SlackBuild +-rw-r--r-- 1 root root 437 2015-11-21 18:48 ./pasture/xfce4-mixer-4.10.0-x86_64-2.txt +-rw-r--r-- 1 root root 93336 2015-11-21 18:48 ./pasture/xfce4-mixer-4.10.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:48 ./pasture/xfce4-mixer-4.10.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 570 2015-11-21 19:02 ./pasture/xfce4-volumed-0.1.13-x86_64-3.txt +-rw-r--r-- 1 root root 27448 2015-11-21 19:02 ./pasture/xfce4-volumed-0.1.13-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-21 19:02 ./pasture/xfce4-volumed-0.1.13-x86_64-3.txz.asc +drwxr-xr-x 4 root root 4096 2018-05-25 23:54 ./patches +-rw-r--r-- 1 root root 99602 2018-05-25 23:54 ./patches/CHECKSUMS.md5 +-rw-r--r-- 1 root root 163 2018-05-25 23:54 ./patches/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 142713 2018-05-25 23:54 ./patches/FILE_LIST +-rw-r--r-- 1 root root 6868682 2018-05-25 23:54 ./patches/MANIFEST.bz2 +-rw-r--r-- 1 root root 72657 2018-05-25 23:54 ./patches/PACKAGES.TXT +drwxr-xr-x 3 root root 28672 2018-05-25 23:54 ./patches/packages +-rw-r--r-- 1 root root 603 2017-10-27 18:17 ./patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 3136368 2017-10-27 18:17 ./patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-27 18:17 ./patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 510 2017-09-07 20:33 ./patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1408096 2017-09-07 20:33 ./patches/packages/bash-4.3.048-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-07 20:33 ./patches/packages/bash-4.3.048-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 336 2018-01-17 03:26 ./patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 2410088 2018-01-17 03:26 ./patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-01-17 03:26 ./patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 347 2017-09-14 17:24 ./patches/packages/bluez-5.47-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1056736 2017-09-14 17:24 ./patches/packages/bluez-5.47-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-14 17:24 ./patches/packages/bluez-5.47-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 430 2017-07-07 20:48 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt +-rw-r--r-- 1 root root 156024 2017-07-07 20:48 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-07-07 20:48 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 555 2018-05-16 20:32 ./patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1221980 2018-05-16 20:32 ./patches/packages/curl-7.60.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-16 20:32 ./patches/packages/curl-7.60.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 491 2017-07-27 00:44 ./patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 485628 2017-07-27 00:44 ./patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-07-27 00:44 ./patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 644 2018-02-28 22:02 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1773188 2018-02-28 22:02 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-28 22:02 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 444 2017-10-02 17:03 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 329148 2017-10-02 17:03 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-02 17:03 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 471 2017-09-12 18:11 ./patches/packages/emacs-25.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 41443156 2017-09-12 18:11 ./patches/packages/emacs-25.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-12 18:11 ./patches/packages/emacs-25.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 264 2017-07-18 04:41 ./patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 105732 2017-07-18 04:41 ./patches/packages/expat-2.2.2-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-07-18 04:41 ./patches/packages/expat-2.2.2-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 494 2017-05-16 06:08 ./patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 480060 2017-05-16 06:08 ./patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-05-16 06:08 ./patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 311 2018-02-06 00:32 ./patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 18229688 2018-02-06 00:32 ./patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:32 ./patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 295 2018-02-06 00:32 ./patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 7869284 2018-02-06 00:32 ./patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:32 ./patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 620 2018-02-06 00:32 ./patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 6515284 2018-02-06 00:32 ./patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:32 ./patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 456 2018-02-06 00:33 ./patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 14121924 2018-02-06 00:33 ./patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:33 ./patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 574 2018-02-06 00:34 ./patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 13615028 2018-02-06 00:34 ./patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:34 ./patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 358 2018-02-06 00:34 ./patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 27264032 2018-02-06 00:34 ./patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:34 ./patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 503 2018-02-06 00:34 ./patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 5756904 2018-02-06 00:34 ./patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-06 00:34 ./patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 499 2018-04-17 18:27 ./patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 146852 2018-04-17 18:27 ./patches/packages/gd-2.2.5-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-04-17 18:27 ./patches/packages/gd-2.2.5-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 406 2017-09-27 19:13 ./patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt +-rw-r--r-- 1 root root 470772 2017-09-27 19:13 ./patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-27 19:13 ./patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txz.asc +-rw-r--r-- 1 root root 363 2017-04-21 19:54 ./patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 173888 2017-04-21 19:54 ./patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-04-21 19:54 ./patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 473 2016-07-14 20:43 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 12651552 2016-07-14 20:43 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 181 2016-07-14 20:43 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 397 2017-08-11 20:42 ./patches/packages/git-2.14.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 5313080 2017-08-11 20:42 ./patches/packages/git-2.14.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-11 20:42 ./patches/packages/git-2.14.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 513 2017-05-22 20:43 ./patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 561780 2017-05-22 20:43 ./patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-05-22 20:43 ./patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 235 2016-08-23 17:41 ./patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt +-rw-r--r-- 1 root root 3630732 2016-08-23 17:41 ./patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-08-23 17:41 ./patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txz.asc +-rw-r--r-- 1 root root 389 2017-08-09 20:18 ./patches/packages/glibc-2.23-x86_64-4_slack14.2.txt +-rw-r--r-- 1 root root 5558132 2017-08-09 20:18 ./patches/packages/glibc-2.23-x86_64-4_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-09 20:18 ./patches/packages/glibc-2.23-x86_64-4_slack14.2.txz.asc +-rw-r--r-- 1 root root 353 2017-08-09 20:18 ./patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt +-rw-r--r-- 1 root root 7529820 2017-08-09 20:18 ./patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-09 20:18 ./patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txz.asc +-rw-r--r-- 1 root root 508 2017-08-09 20:17 ./patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt +-rw-r--r-- 1 root root 1408340 2017-08-09 20:17 ./patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-09 20:17 ./patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txz.asc +-rw-r--r-- 1 root root 323 2017-08-09 20:18 ./patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt +-rw-r--r-- 1 root root 2681132 2017-08-09 20:18 ./patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-09 20:18 ./patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txz.asc +-rw-r--r-- 1 root root 504 2018-05-24 18:07 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt +-rw-r--r-- 1 root root 193680 2018-05-24 18:07 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-24 18:07 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 371 2017-08-02 03:23 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1174536 2017-08-02 03:23 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-02 03:23 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 493 2017-01-11 01:30 ./patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 2414244 2017-01-11 01:30 ./patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-01-11 01:30 ./patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 335 2016-09-10 16:51 ./patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 7090284 2016-09-10 16:51 ./patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-09-10 16:51 ./patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 514 2017-10-25 16:49 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 3618116 2017-10-25 16:49 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-25 16:49 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 280 2016-11-29 19:05 ./patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt +-rw-r--r-- 1 root root 47832 2016-11-29 19:05 ./patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-11-29 19:05 ./patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txz.asc +-rw-r--r-- 1 root root 333 2018-02-15 21:23 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 608912 2018-02-15 21:23 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-15 21:23 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 191 2017-05-12 23:15 ./patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 13127480 2017-05-12 23:15 ./patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-05-12 23:15 ./patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 305 2016-10-27 05:47 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 2641664 2016-10-27 05:47 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:47 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 366 2017-11-29 07:12 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 42068 2017-11-29 07:12 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-11-29 07:12 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 351 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 24084 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 575 2017-11-29 06:35 ./patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 137272 2017-11-29 06:35 ./patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-11-29 06:35 ./patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 293 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 188232 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 361 2016-10-27 05:58 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 38124 2016-10-27 05:58 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:58 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 377 2016-10-27 05:59 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 34988 2016-10-27 05:59 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:59 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 321 2017-10-18 16:58 ./patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 22640 2017-10-18 16:58 ./patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-18 16:58 ./patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 334 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 55412 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 321 2016-10-27 06:03 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 47280 2016-10-27 06:03 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 06:03 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 319 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 33392 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 596 2017-03-01 19:04 ./patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 117784 2017-03-01 19:04 ./patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-03-01 19:04 ./patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 245 2017-09-17 17:11 ./patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 516060 2017-09-17 17:11 ./patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-17 17:11 ./patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 336 2018-04-01 19:20 ./patches/packages/libidn-1.34-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 297292 2018-04-01 19:20 ./patches/packages/libidn-1.34-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-04-01 19:20 ./patches/packages/libidn-1.34-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 432 2017-02-10 20:52 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 274848 2017-02-10 20:52 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-02-10 20:52 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 337 2017-11-14 22:16 ./patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 106404 2017-11-14 22:16 ./patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-11-14 22:16 ./patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 492 2016-12-30 17:06 ./patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 309032 2016-12-30 17:06 ./patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-12-30 17:06 ./patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 350 2017-08-11 19:39 ./patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt +-rw-r--r-- 1 root root 551416 2017-08-11 19:39 ./patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-11 19:39 ./patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txz.asc +-rw-r--r-- 1 root root 394 2017-11-21 03:38 ./patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 446772 2017-11-21 03:38 ./patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-11-21 03:38 ./patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 540 2017-07-18 17:53 ./patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 137172 2017-07-18 17:53 ./patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-07-18 17:53 ./patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 500 2018-03-07 21:53 ./patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 436148 2018-03-07 21:53 ./patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-07 21:53 ./patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 558 2018-03-17 19:48 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 284576 2018-03-17 19:48 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-17 19:48 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 288 2018-04-30 22:09 ./patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt +-rw-r--r-- 1 root root 972916 2018-04-30 22:09 ./patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-04-30 22:09 ./patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txz.asc +-rw-r--r-- 1 root root 522 2017-09-21 22:03 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1232052 2017-09-21 22:03 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-21 22:03 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 429 2017-09-12 21:13 ./patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt +-rw-r--r-- 1 root root 110192 2017-09-12 21:13 ./patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-12 21:13 ./patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txz.asc +drwxr-xr-x 2 root root 4096 2018-05-23 04:54 ./patches/packages/linux-4.4.132 +-rw-r--r-- 1 root root 422 2018-05-22 03:38 ./patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt +-rw-r--r-- 1 root root 73713280 2018-05-22 03:38 ./patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txz +-rw-r--r-- 1 root root 163 2018-05-22 03:38 ./patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txz.asc +-rw-r--r-- 1 root root 624 2018-05-21 22:28 ./patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt +-rw-r--r-- 1 root root 4857692 2018-05-21 22:28 ./patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txz +-rw-r--r-- 1 root root 163 2018-05-21 22:28 ./patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txz.asc +-rw-r--r-- 1 root root 332 2018-05-21 22:13 ./patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt +-rw-r--r-- 1 root root 745132 2018-05-21 22:13 ./patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txz +-rw-r--r-- 1 root root 163 2018-05-21 22:13 ./patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txz.asc +-rw-r--r-- 1 root root 636 2018-05-21 22:39 ./patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt +-rw-r--r-- 1 root root 8307000 2018-05-21 22:39 ./patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txz +-rw-r--r-- 1 root root 163 2018-05-21 22:39 ./patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txz.asc +-rw-r--r-- 1 root root 567 2018-05-21 22:31 ./patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt +-rw-r--r-- 1 root root 29258592 2018-05-21 22:31 ./patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txz +-rw-r--r-- 1 root root 163 2018-05-21 22:31 ./patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txz.asc +-rw-r--r-- 1 root root 317 2018-05-21 22:12 ./patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt +-rw-r--r-- 1 root root 91120256 2018-05-21 22:12 ./patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txz +-rw-r--r-- 1 root root 163 2018-05-21 22:12 ./patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txz.asc +-rw-r--r-- 1 root root 444 2016-12-10 21:23 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 78172 2016-12-10 21:23 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-12-10 21:23 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 498 2017-05-29 19:54 ./patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt +-rw-r--r-- 1 root root 1558416 2017-05-29 19:54 ./patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-05-29 19:54 ./patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txz.asc +-rw-r--r-- 1 root root 370 2018-05-10 19:59 ./patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 27086788 2018-05-10 19:59 ./patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-10 19:59 ./patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 418 2017-03-23 19:54 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 239188 2017-03-23 19:54 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-03-23 19:54 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 664 2017-08-11 19:52 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 3242004 2017-08-11 19:52 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-11 19:52 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 376 2017-04-18 21:45 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 297308 2017-04-18 21:45 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-04-18 21:45 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 529 2017-06-29 17:17 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 582144 2017-06-29 17:17 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-06-29 17:17 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 527 2018-05-09 04:11 ./patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 47485020 2018-05-09 04:11 ./patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-09 04:11 ./patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 564 2017-09-08 17:29 ./patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1757156 2017-09-08 17:29 ./patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-08 17:29 ./patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 702 2018-05-22 19:09 ./patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 47485024 2018-05-22 19:09 ./patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-22 19:09 ./patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 340 2017-06-23 17:19 ./patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 383020 2017-06-23 17:19 ./patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-06-23 17:19 ./patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 359 2017-10-27 18:20 ./patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1043768 2017-10-27 18:20 ./patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-27 18:20 ./patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 532 2018-02-28 23:47 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 2008536 2018-02-28 23:47 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-02-28 23:47 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 457 2017-10-01 18:46 ./patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 3000080 2017-10-01 18:46 ./patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-01 18:46 ./patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 226 2017-10-05 16:56 ./patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 507268 2017-10-05 16:56 ./patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-05 16:56 ./patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 676 2018-03-08 03:31 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 742124 2018-03-08 03:31 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-08 03:31 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 561 2018-03-28 03:37 ./patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 3572592 2018-03-28 03:37 ./patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-28 03:37 ./patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 625 2018-03-28 03:37 ./patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1072244 2018-03-28 03:37 ./patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-28 03:37 ./patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 430 2018-04-26 19:09 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 452236 2018-04-26 19:09 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-04-26 19:09 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 563 2018-04-06 19:35 ./patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 118356 2018-04-06 19:35 ./patches/packages/patch-2.7.6-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-04-06 19:35 ./patches/packages/patch-2.7.6-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 376 2018-05-16 21:15 ./patches/packages/php-5.6.36-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 12729600 2018-05-16 21:15 ./patches/packages/php-5.6.36-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-16 21:15 ./patches/packages/php-5.6.36-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 469 2017-03-10 19:16 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 6431428 2017-03-10 19:16 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-03-10 19:16 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 446 2017-06-08 17:47 ./patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 55708 2017-06-08 17:47 ./patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-06-08 17:47 ./patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 373 2018-05-21 23:59 ./patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 512628 2018-05-21 23:59 ./patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-21 23:59 ./patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 339 2017-04-20 21:57 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1060580 2017-04-20 21:57 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-04-20 21:57 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 438 2018-05-04 19:15 ./patches/packages/python-2.7.15-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 14570816 2018-05-04 19:15 ./patches/packages/python-2.7.15-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-04 19:15 ./patches/packages/python-2.7.15-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 584 2017-07-18 18:26 ./patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 42968 2017-07-18 18:26 ./patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-07-18 18:26 ./patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 528 2018-01-30 19:39 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 330940 2018-01-30 19:39 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-01-30 19:39 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 410 2018-03-29 20:46 ./patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 7859948 2018-03-29 20:46 ./patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-29 20:46 ./patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 425 2017-05-01 23:20 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 164712 2017-05-01 23:20 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-05-01 23:20 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 509 2018-03-13 19:07 ./patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt +-rw-r--r-- 1 root root 10859416 2018-03-13 19:07 ./patches/packages/samba-4.4.16-x86_64-3_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-03-13 19:07 ./patches/packages/samba-4.4.16-x86_64-3_slack14.2.txz.asc +-rw-r--r-- 1 root root 330 2017-01-14 01:16 ./patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1057092 2017-01-14 01:16 ./patches/packages/scim-1.4.17-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-01-14 01:16 ./patches/packages/scim-1.4.17-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 654 2016-08-23 17:21 ./patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 539660 2016-08-23 17:21 ./patches/packages/screen-4.4.0-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-08-23 17:21 ./patches/packages/screen-4.4.0-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 480 2016-09-12 18:37 ./patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 640764 2016-09-12 18:37 ./patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-09-12 18:37 ./patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 434 2018-05-03 20:09 ./patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 51382296 2018-05-03 20:09 ./patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-03 20:09 ./patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 673 2018-05-03 20:09 ./patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1172320 2018-05-03 20:09 ./patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-03 20:09 ./patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 584 2017-07-28 19:59 ./patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 127288 2017-07-28 19:59 ./patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-07-28 19:59 ./patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 510 2016-08-22 18:35 ./patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt +-rw-r--r-- 1 root root 165448 2016-08-22 18:35 ./patches/packages/stunnel-5.35-x86_64-2_slack14.2.txz +-rw-r--r-- 1 root root 163 2016-08-22 18:35 ./patches/packages/stunnel-5.35-x86_64-2_slack14.2.txz.asc +-rw-r--r-- 1 root root 597 2017-08-10 20:20 ./patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 4557732 2017-08-10 20:20 ./patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-08-10 20:20 ./patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 414 2017-05-31 22:54 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 628168 2017-05-31 22:54 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-05-31 22:54 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 424 2017-09-07 20:58 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 370604 2017-09-07 20:58 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-09-07 20:58 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 398 2018-05-08 01:31 ./patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 629040 2018-05-08 01:31 ./patches/packages/wget-1.19.5-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2018-05-08 01:31 ./patches/packages/wget-1.19.5-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 603 2017-10-17 04:44 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 1059540 2017-10-17 04:44 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-17 04:44 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 369 2017-10-25 05:12 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 2369896 2017-10-25 05:12 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-25 05:12 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txz.asc +-rw-r--r-- 1 root root 698 2017-10-18 17:23 ./patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 1891852 2017-10-18 17:23 ./patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:23 ./patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 370 2017-10-18 17:23 ./patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 869324 2017-10-18 17:23 ./patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:23 ./patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 595 2017-10-18 17:23 ./patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 581680 2017-10-18 17:23 ./patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:23 ./patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 693 2017-10-18 17:23 ./patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt +-rw-r--r-- 1 root root 719752 2017-10-18 17:23 ./patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:23 ./patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txz.asc +-rw-r--r-- 1 root root 467 2017-12-24 18:04 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt +-rw-r--r-- 1 root root 5013380 2017-12-24 18:04 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txz +-rw-r--r-- 1 root root 163 2017-12-24 18:04 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txz.asc +drwxr-xr-x 100 root root 4096 2018-05-25 20:11 ./patches/source +drwxr-xr-x 4 root root 4096 2017-09-21 17:25 ./patches/source/NetworkManager +-rw-r--r-- 1 root root 938 2016-03-22 18:59 ./patches/source/NetworkManager/55NetworkManager +-rw-r--r-- 1 root root 3821500 2017-09-20 13:29 ./patches/source/NetworkManager/NetworkManager-1.8.4.tar.xz +-rwxr-xr-x 1 root root 6154 2017-10-27 18:03 ./patches/source/NetworkManager/NetworkManager.SlackBuild +-rw-r--r-- 1 root root 139 2016-04-22 03:58 ./patches/source/NetworkManager/NetworkManager.conf +drwxr-xr-x 2 root root 4096 2016-03-25 04:54 ./patches/source/NetworkManager/conf.d +-rw-r--r-- 1 root root 324 2016-04-22 03:57 ./patches/source/NetworkManager/conf.d/00-dhcp-client.conf +-rw-r--r-- 1 root root 23 2016-03-24 19:11 ./patches/source/NetworkManager/conf.d/00-rc-manager.conf +-rw-r--r-- 1 root root 568 2016-03-25 04:35 ./patches/source/NetworkManager/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2017-07-07 20:34 ./patches/source/NetworkManager/patches +-rw-r--r-- 1 root root 2674 2017-05-25 19:37 ./patches/source/NetworkManager/rc.networkmanager +-rw-r--r-- 1 root root 1068 2013-10-08 04:28 ./patches/source/NetworkManager/slack-desc +drwxr-xr-x 3 root root 4096 2014-04-22 05:25 ./patches/source/bash +drwxr-xr-x 2 root root 4096 2017-09-07 18:29 ./patches/source/bash/bash-4.3-patches +-rw-r--r-- 1 root root 1617 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-001 +-rw-r--r-- 1 root root 72 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-001.sig +-rw-r--r-- 1 root root 1594 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-002 +-rw-r--r-- 1 root root 72 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-002.sig +-rw-r--r-- 1 root root 1465 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-003 +-rw-r--r-- 1 root root 72 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-003.sig +-rw-r--r-- 1 root root 1534 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-004 +-rw-r--r-- 1 root root 72 2014-03-28 15:12 ./patches/source/bash/bash-4.3-patches/bash43-004.sig +-rw-r--r-- 1 root root 2636 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-005 +-rw-r--r-- 1 root root 72 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-005.sig +-rw-r--r-- 1 root root 1445 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-006 +-rw-r--r-- 1 root root 72 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-006.sig +-rw-r--r-- 1 root root 1331 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-007 +-rw-r--r-- 1 root root 72 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-007.sig +-rw-r--r-- 1 root root 4575 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-008 +-rw-r--r-- 1 root root 72 2014-03-28 15:13 ./patches/source/bash/bash-4.3-patches/bash43-008.sig +-rw-r--r-- 1 root root 2413 2014-04-10 15:49 ./patches/source/bash/bash-4.3-patches/bash43-009 +-rw-r--r-- 1 root root 72 2014-04-10 15:49 ./patches/source/bash/bash-4.3-patches/bash43-009.sig +-rw-r--r-- 1 root root 5357 2014-04-10 15:49 ./patches/source/bash/bash-4.3-patches/bash43-010 +-rw-r--r-- 1 root root 72 2014-04-10 15:49 ./patches/source/bash/bash-4.3-patches/bash43-010.sig +-rw-r--r-- 1 root root 1533 2014-04-10 15:50 ./patches/source/bash/bash-4.3-patches/bash43-011 +-rw-r--r-- 1 root root 72 2014-04-10 15:50 ./patches/source/bash/bash-4.3-patches/bash43-011.sig +-rw-r--r-- 1 root root 1365 2014-05-15 12:29 ./patches/source/bash/bash-4.3-patches/bash43-012 +-rw-r--r-- 1 root root 72 2014-05-15 12:29 ./patches/source/bash/bash-4.3-patches/bash43-012.sig +-rw-r--r-- 1 root root 2151 2014-05-15 12:29 ./patches/source/bash/bash-4.3-patches/bash43-013 +-rw-r--r-- 1 root root 72 2014-05-15 12:29 ./patches/source/bash/bash-4.3-patches/bash43-013.sig +-rw-r--r-- 1 root root 3533 2014-05-15 12:29 ./patches/source/bash/bash-4.3-patches/bash43-014 +-rw-r--r-- 1 root root 72 2014-05-15 12:29 ./patches/source/bash/bash-4.3-patches/bash43-014.sig +-rw-r--r-- 1 root root 1894 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-015 +-rw-r--r-- 1 root root 72 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-015.sig +-rw-r--r-- 1 root root 3674 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-016 +-rw-r--r-- 1 root root 72 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-016.sig +-rw-r--r-- 1 root root 1565 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-017 +-rw-r--r-- 1 root root 72 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-017.sig +-rw-r--r-- 1 root root 1315 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-018 +-rw-r--r-- 1 root root 72 2014-05-15 12:30 ./patches/source/bash/bash-4.3-patches/bash43-018.sig +-rw-r--r-- 1 root root 2610 2014-08-01 19:34 ./patches/source/bash/bash-4.3-patches/bash43-019 +-rw-r--r-- 1 root root 72 2014-08-01 19:34 ./patches/source/bash/bash-4.3-patches/bash43-019.sig +-rw-r--r-- 1 root root 2777 2014-08-01 19:34 ./patches/source/bash/bash-4.3-patches/bash43-020 +-rw-r--r-- 1 root root 72 2014-08-01 19:34 ./patches/source/bash/bash-4.3-patches/bash43-020.sig +-rw-r--r-- 1 root root 1623 2014-08-01 19:34 ./patches/source/bash/bash-4.3-patches/bash43-021 +-rw-r--r-- 1 root root 72 2014-08-01 19:34 ./patches/source/bash/bash-4.3-patches/bash43-021.sig +-rw-r--r-- 1 root root 1782 2014-08-01 19:35 ./patches/source/bash/bash-4.3-patches/bash43-022 +-rw-r--r-- 1 root root 72 2014-08-01 19:35 ./patches/source/bash/bash-4.3-patches/bash43-022.sig +-rw-r--r-- 1 root root 3414 2014-08-18 14:55 ./patches/source/bash/bash-4.3-patches/bash43-023 +-rw-r--r-- 1 root root 72 2014-08-18 14:55 ./patches/source/bash/bash-4.3-patches/bash43-023.sig +-rw-r--r-- 1 root root 1909 2014-08-18 14:55 ./patches/source/bash/bash-4.3-patches/bash43-024 +-rw-r--r-- 1 root root 72 2014-08-18 14:55 ./patches/source/bash/bash-4.3-patches/bash43-024.sig +-rw-r--r-- 1 root root 3940 2014-09-24 14:24 ./patches/source/bash/bash-4.3-patches/bash43-025 +-rw-r--r-- 1 root root 72 2014-09-24 14:24 ./patches/source/bash/bash-4.3-patches/bash43-025.sig +-rw-r--r-- 1 root root 1575 2014-09-26 21:02 ./patches/source/bash/bash-4.3-patches/bash43-026 +-rw-r--r-- 1 root root 72 2014-09-26 21:02 ./patches/source/bash/bash-4.3-patches/bash43-026.sig +-rw-r--r-- 1 root root 6889 2014-09-28 02:38 ./patches/source/bash/bash-4.3-patches/bash43-027 +-rw-r--r-- 1 root root 72 2014-09-28 02:38 ./patches/source/bash/bash-4.3-patches/bash43-027.sig +-rw-r--r-- 1 root root 69606 2014-10-01 17:29 ./patches/source/bash/bash-4.3-patches/bash43-028 +-rw-r--r-- 1 root root 72 2014-10-01 17:29 ./patches/source/bash/bash-4.3-patches/bash43-028.sig +-rw-r--r-- 1 root root 1824 2014-10-03 02:14 ./patches/source/bash/bash-4.3-patches/bash43-029 +-rw-r--r-- 1 root root 72 2014-10-03 02:14 ./patches/source/bash/bash-4.3-patches/bash43-029.sig +-rw-r--r-- 1 root root 63206 2014-10-05 23:01 ./patches/source/bash/bash-4.3-patches/bash43-030 +-rw-r--r-- 1 root root 72 2014-10-05 23:01 ./patches/source/bash/bash-4.3-patches/bash43-030.sig +-rw-r--r-- 1 root root 3689 2014-12-30 15:40 ./patches/source/bash/bash-4.3-patches/bash43-031 +-rw-r--r-- 1 root root 72 2014-12-30 15:40 ./patches/source/bash/bash-4.3-patches/bash43-031.sig +-rw-r--r-- 1 root root 1734 2014-12-29 19:45 ./patches/source/bash/bash-4.3-patches/bash43-032 +-rw-r--r-- 1 root root 72 2014-12-29 19:45 ./patches/source/bash/bash-4.3-patches/bash43-032.sig +-rw-r--r-- 1 root root 7038 2014-12-29 19:46 ./patches/source/bash/bash-4.3-patches/bash43-033 +-rw-r--r-- 1 root root 72 2014-12-29 19:46 ./patches/source/bash/bash-4.3-patches/bash43-033.sig +-rw-r--r-- 1 root root 2392 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-034 +-rw-r--r-- 1 root root 72 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-034.sig +-rw-r--r-- 1 root root 1800 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-035 +-rw-r--r-- 1 root root 72 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-035.sig +-rw-r--r-- 1 root root 1539 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-036 +-rw-r--r-- 1 root root 72 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-036.sig +-rw-r--r-- 1 root root 1284 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-037 +-rw-r--r-- 1 root root 72 2015-05-19 18:52 ./patches/source/bash/bash-4.3-patches/bash43-037.sig +-rw-r--r-- 1 root root 2354 2015-05-19 19:48 ./patches/source/bash/bash-4.3-patches/bash43-038 +-rw-r--r-- 1 root root 72 2015-05-19 19:48 ./patches/source/bash/bash-4.3-patches/bash43-038.sig +-rw-r--r-- 1 root root 1531 2015-05-19 18:53 ./patches/source/bash/bash-4.3-patches/bash43-039 +-rw-r--r-- 1 root root 72 2015-05-19 18:53 ./patches/source/bash/bash-4.3-patches/bash43-039.sig +-rw-r--r-- 1 root root 1532 2015-08-13 19:40 ./patches/source/bash/bash-4.3-patches/bash43-040 +-rw-r--r-- 1 root root 72 2015-08-13 19:40 ./patches/source/bash/bash-4.3-patches/bash43-040.sig +-rw-r--r-- 1 root root 2362 2015-08-13 19:40 ./patches/source/bash/bash-4.3-patches/bash43-041 +-rw-r--r-- 1 root root 72 2015-08-13 19:40 ./patches/source/bash/bash-4.3-patches/bash43-041.sig +-rw-r--r-- 1 root root 1535 2015-08-13 19:41 ./patches/source/bash/bash-4.3-patches/bash43-042 +-rw-r--r-- 1 root root 72 2015-08-13 19:41 ./patches/source/bash/bash-4.3-patches/bash43-042.sig +-rw-r--r-- 1 root root 1942 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-043 +-rw-r--r-- 1 root root 72 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-043.sig +-rw-r--r-- 1 root root 1658 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-044 +-rw-r--r-- 1 root root 72 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-044.sig +-rw-r--r-- 1 root root 1312 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-045 +-rw-r--r-- 1 root root 72 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-045.sig +-rw-r--r-- 1 root root 1494 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-046 +-rw-r--r-- 1 root root 72 2016-06-17 13:39 ./patches/source/bash/bash-4.3-patches/bash43-046.sig +-rw-r--r-- 1 root root 4437 2016-10-04 17:57 ./patches/source/bash/bash-4.3-patches/bash43-047 +-rw-r--r-- 1 root root 72 2016-10-04 17:57 ./patches/source/bash/bash-4.3-patches/bash43-047.sig +-rw-r--r-- 1 root root 1612 2016-10-04 17:57 ./patches/source/bash/bash-4.3-patches/bash43-048 +-rw-r--r-- 1 root root 72 2016-10-04 17:57 ./patches/source/bash/bash-4.3-patches/bash43-048.sig +-rw-r--r-- 1 root root 4566432 2014-02-26 14:25 ./patches/source/bash/bash-4.3.tar.xz +-rwxr-xr-x 1 root root 4989 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 03:23 ./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 9452495 2018-01-16 19:40 ./patches/source/bind/bind-9.10.6-P1.tar.gz +-rw-r--r-- 1 root root 873 2018-01-16 19:40 ./patches/source/bind/bind-9.10.6-P1.tar.gz.asc +-rw-r--r-- 1 root root 873 2018-01-16 19:40 ./patches/source/bind/bind-9.10.6-P1.tar.gz.sha1.asc +-rw-r--r-- 1 root root 873 2018-01-16 19:40 ./patches/source/bind/bind-9.10.6-P1.tar.gz.sha256.asc +-rw-r--r-- 1 root root 873 2018-01-16 19:40 ./patches/source/bind/bind-9.10.6-P1.tar.gz.sha512.asc +-rwxr-xr-x 1 root root 5192 2018-01-17 02:57 ./patches/source/bind/bind.SlackBuild +-rw-r--r-- 1 root root 2777 2017-07-14 15:10 ./patches/source/bind/bind.libidn.patch.gz +-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 3 root root 4096 2017-09-14 17:08 ./patches/source/bluez +-rw-r--r-- 1 root root 838 2015-11-25 21:02 ./patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch.gz +-rw-r--r-- 1 root root 1718920 2017-09-14 10:09 ./patches/source/bluez/bluez-5.47.tar.xz +-rwxr-xr-x 1 root root 5812 2017-09-14 17:13 ./patches/source/bluez/bluez.SlackBuild +-rw-r--r-- 1 root root 128 2016-03-26 18:17 ./patches/source/bluez/btusb.conf +drwxr-xr-x 2 root root 4096 2016-04-18 18:04 ./patches/source/bluez/config +-rw-r--r-- 1 root root 274 2015-11-26 06:13 ./patches/source/bluez/config/defaultconfig +-rw-r--r-- 1 root root 1419 2016-04-18 18:05 ./patches/source/bluez/config/rc.bluetooth +-rw-r--r-- 1 root root 148 2015-11-26 06:03 ./patches/source/bluez/config/uart.conf +-rw-r--r-- 1 root root 379 2016-04-18 18:06 ./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 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 4577 2018-01-26 00:51 ./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 2017-07-27 00:43 ./patches/source/dbus +-rw-r--r-- 1 root root 1354308 2016-03-07 19:44 ./patches/source/dbus/dbus-1.10.8.tar.xz +-rw-r--r-- 1 root root 519 2015-10-03 22:47 ./patches/source/dbus/dbus-1.10.x-allow_root_globally.diff.gz +-rwxr-xr-x 1 root root 4820 2017-07-27 00:43 ./patches/source/dbus/dbus.SlackBuild +-rw-r--r-- 1 root root 1475 2017-07-26 22:55 ./patches/source/dbus/dbus.expat222fix.diff.gz +-rw-r--r-- 1 root root 394 2015-03-09 19:24 ./patches/source/dbus/doinst.sh.gz +-rw-r--r-- 1 root root 816 2015-03-17 17:59 ./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 2018-02-28 21:49 ./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 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 17:31 ./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 17:53 ./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 2916 2017-07-18 04:37 ./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 2017-05-16 03:44 ./patches/source/freetype +-rw-r--r-- 1 root root 1531140 2016-02-08 22:35 ./patches/source/freetype/freetype-2.6.3.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 498 2015-10-05 03:13 ./patches/source/freetype/freetype.illadvisederror.diff.gz +-rw-r--r-- 1 root root 358 2015-10-31 16:21 ./patches/source/freetype/freetype.subpixel.rendering.diff.gz +-rw-r--r-- 1 root root 953 2016-02-09 19:03 ./patches/source/freetype/slack-desc +drwxr-xr-x 3 root root 4096 2018-02-06 00:36 ./patches/source/gcc +-rw-r--r-- 1 root root 2687 2018-02-05 19:52 ./patches/source/gcc/0001-i386-Move-struct-ix86_frame-to-machine_function.diff.gz +-rw-r--r-- 1 root root 1134 2018-02-05 19:52 ./patches/source/gcc/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff.gz +-rw-r--r-- 1 root root 943 2018-02-05 19:52 ./patches/source/gcc/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff.gz +-rw-r--r-- 1 root root 1039 2018-02-05 19:52 ./patches/source/gcc/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff.gz +-rw-r--r-- 1 root root 2812 2018-02-05 19:52 ./patches/source/gcc/0005-x86-Add-mindirect-branch-doc.diff.gz +-rw-r--r-- 1 root root 9620 2018-02-05 19:52 ./patches/source/gcc/0005-x86-Add-mindirect-branch.diff.gz +-rw-r--r-- 1 root root 2666 2018-02-05 19:52 ./patches/source/gcc/0006-x86-Add-mfunction-return-doc.diff.gz +-rw-r--r-- 1 root root 6421 2018-02-05 19:52 ./patches/source/gcc/0006-x86-Add-mfunction-return.diff.gz +-rw-r--r-- 1 root root 2120 2018-02-05 19:52 ./patches/source/gcc/0007-x86-Add-mindirect-branch-register-doc.diff.gz +-rw-r--r-- 1 root root 4008 2018-02-05 19:52 ./patches/source/gcc/0007-x86-Add-mindirect-branch-register.diff.gz +-rw-r--r-- 1 root root 976 2018-02-05 19:52 ./patches/source/gcc/0008-x86-Add-V-register-operand-modifier-doc.diff.gz +-rw-r--r-- 1 root root 1788 2018-02-05 19:52 ./patches/source/gcc/0008-x86-Add-V-register-operand-modifier.diff.gz +-rw-r--r-- 1 root root 1740 2018-02-05 19:52 ./patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff.gz +-rw-r--r-- 1 root root 1264 2018-02-05 19:52 ./patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff.gz +-rw-r--r-- 1 root root 164368 2011-07-19 16:36 ./patches/source/gcc/antlr-runtime-3.4.jar +-rw-r--r-- 1 root root 224 2015-08-03 18:13 ./patches/source/gcc/c89.sh +-rw-r--r-- 1 root root 215 2015-08-03 18:13 ./patches/source/gcc/c99.sh +-rw-r--r-- 1 root root 3206 2012-01-06 12:37 ./patches/source/gcc/create_gcj_jvm.sh +-rw-r--r-- 1 root root 1619429 2013-12-10 16:23 ./patches/source/gcc/ecj-4.9.jar +-rw-r--r-- 1 root root 124 2011-11-29 10:16 ./patches/source/gcc/ecj.sh +-rw-r--r-- 1 root root 42 2015-08-19 21:31 ./patches/source/gcc/ecj.url +-rw-r--r-- 1 root root 482116 2009-01-16 18:32 ./patches/source/gcc/fastjar-0.97.tar.xz +drwxr-xr-x 2 root root 4096 2010-10-04 23:57 ./patches/source/gcc/fastjar-patches +-rw-r--r-- 1 root root 554 2009-01-16 18:34 ./patches/source/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch.gz +-rw-r--r-- 1 root root 345 2009-12-22 12:22 ./patches/source/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch.gz +-rw-r--r-- 1 root root 358 2010-06-11 08:22 ./patches/source/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch.gz +-rw-r--r-- 1 root root 1211 2010-06-11 08:22 ./patches/source/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch.gz +-rw-r--r-- 1 root root 514 2010-06-24 20:18 ./patches/source/gcc/fastjar-patches/1004-fastjar-man.patch.gz +-rw-r--r-- 1 root root 71096120 2017-10-10 12:43 ./patches/source/gcc/gcc-5.5.0.tar.xz +-rw-r--r-- 1 root root 65 2017-10-10 12:43 ./patches/source/gcc/gcc-5.5.0.tar.xz.sig +-rw-r--r-- 1 root root 527 2010-08-01 21:55 ./patches/source/gcc/gcc-no_fixincludes.diff.gz +-rwxr-xr-x 1 root root 30808 2018-02-05 23:13 ./patches/source/gcc/gcc.SlackBuild +-rw-r--r-- 1 root root 765 2016-03-06 18:55 ./patches/source/gcc/slack-desc.gcc +-rw-r--r-- 1 root root 753 2002-02-21 23:00 ./patches/source/gcc/slack-desc.gcc-g++ +-rw-r--r-- 1 root root 1083 2011-05-28 16:23 ./patches/source/gcc/slack-desc.gcc-gfortran +-rw-r--r-- 1 root root 915 2016-03-11 18:34 ./patches/source/gcc/slack-desc.gcc-gnat +-rw-r--r-- 1 root root 1033 2012-01-06 20:09 ./patches/source/gcc/slack-desc.gcc-go +-rw-r--r-- 1 root root 817 2006-07-30 03:26 ./patches/source/gcc/slack-desc.gcc-java +-rw-r--r-- 1 root root 962 2006-07-30 03:27 ./patches/source/gcc/slack-desc.gcc-objc +drwxr-xr-x 2 root root 4096 2018-04-17 18:26 ./patches/source/gd +-rwxr-xr-x 1 root root 3592 2017-07-18 02:35 ./patches/source/gd/gd.SlackBuild +-rw-r--r-- 1 root root 2594092 2017-08-30 12:59 ./patches/source/gd/libgd-2.2.5.tar.xz +-rw-r--r-- 1 root root 952 2017-07-18 02:31 ./patches/source/gd/slack-desc +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:07 ./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 2017-04-21 19:50 ./patches/source/getmail +-rw-r--r-- 1 root root 132760 2017-04-21 19:50 ./patches/source/getmail/getmail-4.54.0.tar.xz +-rwxr-xr-x 1 root root 2088 2017-04-21 19:54 ./patches/source/getmail/getmail.SlackBuild +-rw-r--r-- 1 root root 821 2003-09-10 04:59 ./patches/source/getmail/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 4153 2016-07-14 20:13 ./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:07 ./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 2 root root 4096 2017-05-21 19:15 ./patches/source/gkrellm +-rw-r--r-- 1 root root 660728 2016-10-23 15:26 ./patches/source/gkrellm/gkrellm-2.3.10.tar.xz +-rw-r--r-- 1 root root 12374 2004-02-01 16:30 ./patches/source/gkrellm/gkrellm-countdown-0.1.1.tar.gz +-rwxr-xr-x 1 root root 4937 2017-05-22 20:42 ./patches/source/gkrellm/gkrellm.SlackBuild +-rw-r--r-- 1 root root 211 2008-10-26 01:35 ./patches/source/gkrellm/gkrellm.theme.defaults.diff.gz +-rw-r--r-- 1 root root 971 2004-04-29 18:52 ./patches/source/gkrellm/slack-desc +drwxr-xr-x 2 root root 4096 2016-08-23 17:36 ./patches/source/glib2 +-rw-r--r-- 1 root root 714 2015-11-26 03:20 ./patches/source/glib2/0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch +-rw-r--r-- 1 root root 516 2011-11-06 22:03 ./patches/source/glib2/doinst.sh.gz +-rw-r--r-- 1 root root 7344636 2015-11-06 22:54 ./patches/source/glib2/glib-2.46.2.tar.xz +-rw-r--r-- 1 root root 1459 2016-08-23 17:36 ./patches/source/glib2/glib.bug.758823.diff +-rwxr-xr-x 1 root root 4614 2016-08-23 17:40 ./patches/source/glib2/glib2.SlackBuild +-rw-r--r-- 1 root root 999 2011-03-27 21:04 ./patches/source/glib2/libglib2.csh +-rw-r--r-- 1 root root 982 2008-03-18 07:08 ./patches/source/glib2/libglib2.sh +-rw-r--r-- 1 root root 691 2003-01-11 05:50 ./patches/source/glib2/slack-desc +drwxr-xr-x 3 root root 4096 2017-07-05 21:02 ./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:04 ./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 6747 2016-08-16 16:25 ./patches/source/glibc/doinst.sh-glibc +-rw-r--r-- 1 root root 4772 2014-05-04 22:16 ./patches/source/glibc/doinst.sh-glibc-solibs +-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 13455260 2016-02-19 05:49 ./patches/source/glibc/glibc-2.23.tar.xz +-rw-r--r-- 1 root root 473 2016-02-19 05:49 ./patches/source/glibc/glibc-2.23.tar.xz.sig +-rw-r--r-- 1 root root 2396 2015-12-17 23:07 ./patches/source/glibc/glibc-c-utf8-locale.patch.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 943 2017-06-30 18:37 ./patches/source/glibc/glibc.3776f38f.diff.gz +-rw-r--r-- 1 root root 1736 2017-06-30 18:28 ./patches/source/glibc/glibc.46703a39.diff.gz +-rw-r--r-- 1 root root 640 2017-07-05 21:02 ./patches/source/glibc/glibc.6a824767.dont.assert.on.older.intel.cpus.diff.gz +-rw-r--r-- 1 root root 644 2017-06-30 18:27 ./patches/source/glibc/glibc.CVE-2017-1000366.3c7cd212.diff.gz +-rwxr-xr-x 1 root root 14669 2017-08-09 17:47 ./patches/source/glibc/glibc.SlackBuild +-rw-r--r-- 1 root root 698 2017-06-30 18:31 ./patches/source/glibc/glibc.adc7e06f.diff.gz +-rw-r--r-- 1 root root 2511 2017-06-30 18:29 ./patches/source/glibc/glibc.c69d4a0f.diff.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 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 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 814 2015-12-17 23:34 ./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 +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 3520 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 2017-01-11 00:00 ./patches/source/gnutls +-rw-r--r-- 1 root root 7264448 2017-01-09 08:06 ./patches/source/gnutls/gnutls-3.5.8.tar.xz +-rw-r--r-- 1 root root 287 2017-01-09 08:06 ./patches/source/gnutls/gnutls-3.5.8.tar.xz.sig +-rwxr-xr-x 1 root root 4087 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 3 root root 4096 2016-09-10 16:28 ./patches/source/gtk+2 +-rw-r--r-- 1 root root 494 2014-05-13 07:02 ./patches/source/gtk+2/doinst.sh.gz +-rw-r--r-- 1 root root 394 2015-03-06 02:21 ./patches/source/gtk+2/fix_build_issues_on_tutorial_and_faq.diff.gz +-rw-r--r-- 1 root root 12805344 2016-09-09 22:08 ./patches/source/gtk+2/gtk+-2.24.31.tar.xz +-rw-r--r-- 1 root root 2102 2012-12-13 01:05 ./patches/source/gtk+2/gtk+-2.24.x.icon-compat.am.diff.gz +-rw-r--r-- 1 root root 1965 2012-12-13 01:05 ./patches/source/gtk+2/gtk+-2.24.x.icon-compat.diff.gz +-rwxr-xr-x 1 root root 6617 2016-09-10 16:41 ./patches/source/gtk+2/gtk+2.SlackBuild +-rw-r--r-- 1 root root 223 2015-03-19 03:12 ./patches/source/gtk+2/gtk.gtk-faq.diff.gz +-rw-r--r-- 1 root root 235 2015-03-19 03:05 ./patches/source/gtk+2/gtk.gtk-tut.diff.gz +-rw-r--r-- 1 root root 293 2010-02-08 20:43 ./patches/source/gtk+2/gtk.xid.nowarningflood.diff.gz +drwxr-xr-x 2 root root 4096 2003-01-11 06:27 ./patches/source/gtk+2/profile.d +-rwxr-xr-x 1 root root 32 2010-12-09 19:12 ./patches/source/gtk+2/profile.d/gtk+.csh +-rwxr-xr-x 1 root root 44 2010-12-09 19:13 ./patches/source/gtk+2/profile.d/gtk+.sh +-rw-r--r-- 1 root root 791 2008-02-11 03:44 ./patches/source/gtk+2/slack-desc +-rw-r--r-- 1 root root 339 2011-02-24 20:40 ./patches/source/gtk+2/update-gtk-immodules +-rw-r--r-- 1 root root 1459 2013-07-12 04:52 ./patches/source/gtk+2/update-gtk-immodules-2.0 +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:45 ./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-11-29 18:54 ./patches/source/intltool +-rw-r--r-- 1 root root 572 2015-11-21 21:21 ./patches/source/intltool/intltool-0.51.0-perl-5.22.patch.gz +-rw-r--r-- 1 root root 109372 2015-03-09 01:45 ./patches/source/intltool/intltool-0.51.0.tar.xz +-rwxr-xr-x 1 root root 4054 2016-11-29 19:04 ./patches/source/intltool/intltool.SlackBuild +-rw-r--r-- 1 root root 544 2016-11-29 18:53 ./patches/source/intltool/no-guess-builddir.diff.gz +-rw-r--r-- 1 root root 739 2016-11-29 17:35 ./patches/source/intltool/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 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 1886 2015-08-14 18:04 ./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-12 19:41 ./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 2013-03-06 02:03 ./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-12 19:40 ./patches/source/kdelibs/patch +drwxr-xr-x 2 root root 4096 2017-04-07 20:41 ./patches/source/kdelibs/patch/kdelibs +-rw-r--r-- 1 root root 1082 2017-04-07 20:42 ./patches/source/kdelibs/patch/kdelibs.patch +-rw-r--r-- 1 root root 916 2013-10-20 23:21 ./patches/source/kdelibs/patch/kdelibs/coding-style-fixes.patch.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 347 2012-01-26 08:18 ./patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch.gz +-rw-r--r-- 1 root root 955 2013-10-20 23:22 ./patches/source/kdelibs/patch/kdelibs/return-application-icons-properly.patch.gz +-rw-r--r-- 1 root root 572 2013-10-20 23:20 ./patches/source/kdelibs/patch/kdelibs/return-not-break.-copy-paste-error.patch.gz +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 2015-04-01 19:09 ./patches/source/kdelibs/slack-desc/kdelibs +drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/src +-rw-r--r-- 1 root root 11640860 2017-05-10 08:47 ./patches/source/kdelibs/src/kdelibs-4.14.32.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 2015-08-19 06:04 ./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 2017-11-29 07:05 ./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 2017-11-29 07:05 ./patches/source/libXcursor/x11-build-script.sh +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-27 04:06 ./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:30 ./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:31 ./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 1320 2017-11-29 06:29 ./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 2017-11-29 06:30 ./patches/source/libXfont/src/lib +-rw-r--r-- 1 root root 416988 2015-03-17 15:31 ./patches/source/libXfont/src/lib/libXfont-1.5.1.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-27 04:14 ./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-27 04:50 ./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-27 04:57 ./patches/source/libXrender/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2017-10-18 16:55 ./patches/source/libXres +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXres/arch.use.flags +drwxr-xr-x 2 root root 4096 2017-10-18 16:56 ./patches/source/libXres/build +-rw-r--r-- 1 root root 12 2016-10-27 04:58 ./patches/source/libXres/build/libXres +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXres/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXres/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXres/doinst.sh +-rwxr-xr-x 1 root root 84 2017-10-18 16:55 ./patches/source/libXres/libXres.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXres/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXres/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXres/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXres/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXres/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXres/post-install +drwxr-xr-x 2 root root 4096 2017-10-18 16:56 ./patches/source/libXres/slack-desc +-rw-r--r-- 1 root root 779 2012-04-08 03:25 ./patches/source/libXres/slack-desc/libXres +drwxr-xr-x 3 root root 4096 2016-10-26 20:45 ./patches/source/libXres/src +drwxr-xr-x 2 root root 4096 2017-10-18 16:56 ./patches/source/libXres/src/lib +-rw-r--r-- 1 root root 254692 2017-10-11 15:13 ./patches/source/libXres/src/lib/libXres-1.2.0.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-27 04:57 ./patches/source/libXres/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-27 05:06 ./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-27 05:19 ./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-27 05:22 ./patches/source/libXvMC/x11.SlackBuild +drwxr-xr-x 2 root root 4096 2017-02-28 18:51 ./patches/source/libcgroup +-rw-r--r-- 1 root root 513 2011-01-10 20:23 ./patches/source/libcgroup/doinst.sh.gz +-rw-r--r-- 1 root root 406464 2014-01-13 14:10 ./patches/source/libcgroup/libcgroup-0.41.tar.xz +-rwxr-xr-x 1 root root 5257 2017-03-01 19:01 ./patches/source/libcgroup/libcgroup.SlackBuild +-rw-r--r-- 1 root root 282 2011-01-10 20:16 ./patches/source/libcgroup/libcgroup.conf.diff.gz +-rw-r--r-- 1 root root 1375 2017-02-28 18:42 ./patches/source/libcgroup/libcgroup.init.diff.gz +-rw-r--r-- 1 root root 1057 2011-01-10 19:23 ./patches/source/libcgroup/slack-desc +drwxr-xr-x 2 root root 4096 2017-09-17 17:09 ./patches/source/libgcrypt +-rw-r--r-- 1 root root 2897137 2017-08-27 07:51 ./patches/source/libgcrypt/libgcrypt-1.7.9.tar.bz2 +-rw-r--r-- 1 root root 620 2017-08-31 09:49 ./patches/source/libgcrypt/libgcrypt-1.7.9.tar.bz2.sig +-rwxr-xr-x 1 root root 3884 2016-08-23 18:24 ./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 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:12 ./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 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:02 ./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 2017-11-02 04:25 ./patches/source/libplist +-rw-r--r-- 1 root root 324404 2017-04-26 19:28 ./patches/source/libplist/libplist-2.0.0.tar.xz +-rwxr-xr-x 1 root root 4094 2017-11-14 20:06 ./patches/source/libplist/libplist.SlackBuild +-rw-r--r-- 1 root root 796 2011-01-15 19:44 ./patches/source/libplist/slack-desc +drwxr-xr-x 2 root root 4096 2016-12-30 17:01 ./patches/source/libpng +-rw-r--r-- 1 root root 984316 2016-12-29 14:13 ./patches/source/libpng/libpng-1.6.27.tar.xz +-rw-r--r-- 1 root root 819 2016-12-29 14:40 ./patches/source/libpng/libpng-1.6.27.tar.xz.asc +-rwxr-xr-x 1 root root 4303 2016-12-30 16:58 ./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 2017-08-11 19:36 ./patches/source/libsoup +-rw-r--r-- 1 root root 1764308 2015-11-09 20:27 ./patches/source/libsoup/libsoup-2.52.2.tar.xz +-rw-r--r-- 1 root root 680 2017-08-11 19:32 ./patches/source/libsoup/libsoup.CVE-2017-2885.diff.gz +-rwxr-xr-x 1 root root 3062 2017-08-11 19:37 ./patches/source/libsoup/libsoup.SlackBuild +-rw-r--r-- 1 root root 808 2012-07-19 00:24 ./patches/source/libsoup/slack-desc +drwxr-xr-x 2 root root 4096 2017-11-21 03:37 ./patches/source/libtiff +-rw-r--r-- 1 root root 574 2014-08-17 12:50 ./patches/source/libtiff/libtiff-am-version.patch.gz +-rwxr-xr-x 1 root root 3839 2017-04-07 19:30 ./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 1572468 2017-11-18 20:02 ./patches/source/libtiff/tiff-4.0.9.tar.xz +drwxr-xr-x 2 root root 4096 2017-07-17 18:07 ./patches/source/libtirpc +-rw-r--r-- 1 root root 269 2015-12-13 21:15 ./patches/source/libtirpc/doinst.sh.gz +-rw-r--r-- 1 root root 404004 2017-07-05 15:36 ./patches/source/libtirpc/libtirpc-1.0.2.tar.xz +-rwxr-xr-x 1 root root 4958 2017-07-18 17:52 ./patches/source/libtirpc/libtirpc.SlackBuild +-rw-r--r-- 1 root root 999 2015-12-22 20:54 ./patches/source/libtirpc/slack-desc +drwxr-xr-x 2 root root 4096 2015-02-18 02:26 ./patches/source/libtool +-rw-r--r-- 1 root root 385 2009-05-30 01:28 ./patches/source/libtool/doinst.sh.gz +-rw-r--r-- 1 root root 973080 2015-02-16 10:16 ./patches/source/libtool/libtool-2.4.6.tar.xz +-rw-r--r-- 1 root root 181 2015-02-16 10:16 ./patches/source/libtool/libtool-2.4.6.tar.xz.sig +-rwxr-xr-x 1 root root 3178 2018-03-07 18:46 ./patches/source/libtool/libtool.SlackBuild +-rw-r--r-- 1 root root 522 2014-10-28 16:01 ./patches/source/libtool/libtool.no.moved.warning.diff.gz +-rw-r--r-- 1 root root 958 2009-05-30 01:28 ./patches/source/libtool/slack-desc +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:46 ./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 713 2017-09-12 12:21 ./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 336 2017-09-12 12:21 ./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-05-01 06:18 ./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 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 2017-09-12 21:05 ./patches/source/libzip +-rw-r--r-- 1 root root 450308 2015-05-04 21:05 ./patches/source/libzip/libzip-1.0.1.tar.xz +-rw-r--r-- 1 root root 281 2017-09-12 20:58 ./patches/source/libzip/libzip.CVE-2017-14107.diff.gz +-rwxr-xr-x 1 root root 4428 2017-09-12 21:05 ./patches/source/libzip/libzip.SlackBuild +-rw-r--r-- 1 root root 886 2015-06-21 16:33 ./patches/source/libzip/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:44 ./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 2018-05-10 19:09 ./patches/source/mariadb +-rw-r--r-- 1 root root 373 2013-03-22 21:07 ./patches/source/mariadb/doinst.sh.gz +-rw-r--r-- 1 root root 37574820 2018-05-01 19:03 ./patches/source/mariadb/mariadb-10.0.35.tar.xz +-rwxr-xr-x 1 root root 6616 2016-09-13 16:06 ./patches/source/mariadb/mariadb.SlackBuild +-rw-r--r-- 1 root root 34 2015-05-07 18:51 ./patches/source/mariadb/mirror.url +-rw-r--r-- 1 root root 1402 2014-06-29 18:17 ./patches/source/mariadb/rc.mysqld.gz +-rw-r--r-- 1 root root 828 2013-03-22 23:38 ./patches/source/mariadb/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:31 ./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 2017-08-11 19:47 ./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 4 root root 4096 2018-05-09 03:17 ./patches/source/mozilla-firefox +drwxr-xr-x 2 root root 4096 2016-07-03 18:05 ./patches/source/mozilla-firefox/autoconf +-rw-r--r-- 1 root root 5869 2016-07-03 18:04 ./patches/source/mozilla-firefox/autoconf/autoconf-2.13-consolidated_fixes-1.patch.gz +-rw-r--r-- 1 root root 300116 1999-01-15 21:03 ./patches/source/mozilla-firefox/autoconf/autoconf-2.13.tar.xz +-rwxr-xr-x 1 root root 2632 2016-07-03 18:50 ./patches/source/mozilla-firefox/autoconf/autoconf.build +-rw-r--r-- 1 root root 340 2016-11-16 18:41 ./patches/source/mozilla-firefox/build-with-clang.diff.gz +-rw-r--r-- 1 root root 214054520 2018-05-08 17:11 ./patches/source/mozilla-firefox/firefox-52.8.0esr.source.tar.xz +-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff.gz +drwxr-xr-x 2 root root 4096 2013-11-14 21:24 ./patches/source/mozilla-firefox/gold +-rwxr-xr-x 1 root root 34 2013-11-14 21:15 ./patches/source/mozilla-firefox/gold/gold +lrwxrwxrwx 1 root root 4 2013-11-14 21:24 ./patches/source/mozilla-firefox/gold/ld -> gold +-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 11462 2017-06-13 22:01 ./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 2017-09-07 19:16 ./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 5930 2017-09-08 16:53 ./patches/source/mozilla-nss/mozilla-nss.SlackBuild +-rw-r--r-- 1 root root 766828 2017-07-27 12:42 ./patches/source/mozilla-nss/nspr-4.16.tar.xz +-rw-r--r-- 1 root root 6461480 2017-08-08 20:39 ./patches/source/mozilla-nss/nss-3.31.1.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 4 root root 4096 2018-05-22 18:14 ./patches/source/mozilla-thunderbird +drwxr-xr-x 2 root root 4096 2016-07-03 18:05 ./patches/source/mozilla-thunderbird/autoconf +-rw-r--r-- 1 root root 5869 2016-07-03 18:04 ./patches/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch.gz +-rw-r--r-- 1 root root 300116 1999-01-15 21:03 ./patches/source/mozilla-thunderbird/autoconf/autoconf-2.13.tar.xz +-rwxr-xr-x 1 root root 2632 2016-07-03 18:50 ./patches/source/mozilla-thunderbird/autoconf/autoconf.build +drwxr-xr-x 2 root root 4096 2013-11-14 21:24 ./patches/source/mozilla-thunderbird/gold +-rwxr-xr-x 1 root root 34 2013-11-14 21:15 ./patches/source/mozilla-thunderbird/gold/gold +lrwxrwxrwx 1 root root 4 2013-11-14 21:24 ./patches/source/mozilla-thunderbird/gold/ld -> gold +-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 8599 2017-04-08 01:21 ./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 230380780 2018-05-18 20:55 ./patches/source/mozilla-thunderbird/thunderbird-52.8.0.source.tar.xz +-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 2017-06-21 22:28 ./patches/source/nasm +-rw-r--r-- 1 root root 800244 2017-05-02 05:18 ./patches/source/nasm/nasm-2.13.01.tar.xz +-rwxr-xr-x 1 root root 2782 2017-06-23 17:18 ./patches/source/nasm/nasm.SlackBuild +-rw-r--r-- 1 root root 795 2017-06-21 22:28 ./patches/source/nasm/slack-desc +drwxr-xr-x 2 root root 4096 2017-09-21 17:30 ./patches/source/network-manager-applet +-rw-r--r-- 1 root root 207 2012-08-10 23:59 ./patches/source/network-manager-applet/doinst.sh.gz +-rw-r--r-- 1 root root 1484932 2017-09-20 15:32 ./patches/source/network-manager-applet/network-manager-applet-1.8.4.tar.xz +-rwxr-xr-x 1 root root 3805 2017-10-27 18:07 ./patches/source/network-manager-applet/network-manager-applet.SlackBuild +-rw-r--r-- 1 root root 832 2011-10-26 15:39 ./patches/source/network-manager-applet/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 5049 2016-11-21 18:52 ./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 804 2015-02-11 18: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 2017-10-01 18:39 ./patches/source/openexr +-rw-r--r-- 1 root root 12388072 2014-11-29 16:18 ./patches/source/openexr/openexr-2.2.0.tar.xz +-rw-r--r-- 1 root root 949 2017-10-01 18:38 ./patches/source/openexr/openexr.CVE-2017-9110-to-9116.patch.gz +-rwxr-xr-x 1 root root 3650 2017-10-01 19:05 ./patches/source/openexr/openexr.SlackBuild +-rw-r--r-- 1 root root 915 2008-08-01 02:42 ./patches/source/openexr/slack-desc +drwxr-xr-x 2 root root 4096 2017-10-05 16:53 ./patches/source/openjpeg +-rw-r--r-- 1 root root 1470440 2017-10-05 16:50 ./patches/source/openjpeg/openjpeg-2.3.0.tar.xz +-rwxr-xr-x 1 root root 3909 2017-10-05 16:55 ./patches/source/openjpeg/openjpeg.SlackBuild +-rw-r--r-- 1 root root 387 2017-10-04 19:22 ./patches/source/openjpeg/openjpeg2_remove-thirdparty.patch.gz +-rw-r--r-- 1 root root 685 2012-10-27 15:02 ./patches/source/openjpeg/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 2 root root 4096 2018-03-28 03:32 ./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 5329472 2018-03-27 14:03 ./patches/source/openssl/openssl-1.0.2o.tar.gz +-rw-r--r-- 1 root root 455 2018-03-27 14:03 ./patches/source/openssl/openssl-1.0.2o.tar.gz.asc +-rwxr-xr-x 1 root root 8219 2016-09-22 17:38 ./patches/source/openssl/openssl.SlackBuild +-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:03 ./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:27 ./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 3 root root 4096 2018-05-16 21:01 ./patches/source/php +-rw-r--r-- 1 root root 425 2013-12-14 19:02 ./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 9206 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 172 2016-01-04 03:06 ./patches/source/pidgin/doinst.sh.gz +-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 7160 2016-09-19 16:21 ./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 3 root root 4096 2017-03-22 01:24 ./patches/source/pkg-config +-rw-r--r-- 1 root root 252 2015-04-17 18:25 ./patches/source/pkg-config/doinst.sh.gz +-rw-r--r-- 1 root root 1098512 2017-03-20 17:08 ./patches/source/pkg-config/pkg-config-0.29.2.tar.xz +-rwxr-xr-x 1 root root 3867 2017-06-08 17:46 ./patches/source/pkg-config/pkg-config.SlackBuild +drwxr-xr-x 2 root root 4096 2006-08-20 04:13 ./patches/source/pkg-config/scripts +-rwxr-xr-x 1 root root 269 2016-06-04 18:22 ./patches/source/pkg-config/scripts/pkgconfig.csh +-rwxr-xr-x 1 root root 279 2016-06-04 18:22 ./patches/source/pkg-config/scripts/pkgconfig.sh +-rw-r--r-- 1 root root 907 2008-02-11 03:44 ./patches/source/pkg-config/slack-desc +drwxr-xr-x 2 root root 4096 2018-05-21 23:58 ./patches/source/procps-ng +-rw-r--r-- 1 root root 22308 2001-03-02 18:54 ./patches/source/procps-ng/procinfo-18.tar.xz +-rw-r--r-- 1 root root 57684 2009-04-27 04:03 ./patches/source/procps-ng/procinfo-ng-2.0.304.tar.xz +-rw-r--r-- 1 root root 904416 2018-05-19 21:41 ./patches/source/procps-ng/procps-ng-3.3.15.tar.xz +-rw-r--r-- 1 root root 833 2018-05-19 21:44 ./patches/source/procps-ng/procps-ng-3.3.15.tar.xz.asc +-rwxr-xr-x 1 root root 7735 2018-05-21 23:58 ./patches/source/procps-ng/procps-ng.SlackBuild +-rw-r--r-- 1 root root 285312 2014-02-16 07:13 ./patches/source/procps-ng/psmisc-22.21.tar.xz +-rw-r--r-- 1 root root 469 2015-08-19 17:55 ./patches/source/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff.gz +-rw-r--r-- 1 root root 863 2015-05-06 04:50 ./patches/source/procps-ng/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 4261 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:15 ./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 2 root root 4096 2017-07-19 21:53 ./patches/source/rpcbind +-rw-r--r-- 1 root root 732 2017-07-18 04:32 ./patches/source/rpcbind/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch.gz +-rw-r--r-- 1 root root 2276 2017-06-02 18:21 ./patches/source/rpcbind/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch.gz +-rw-r--r-- 1 root root 608 2017-06-02 18:21 ./patches/source/rpcbind/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch.gz +-rw-r--r-- 1 root root 803 2017-06-02 18:21 ./patches/source/rpcbind/0004-rpcbind-fix-building-without-enable-debug.patch.gz +-rw-r--r-- 1 root root 1414 2017-07-17 04:37 ./patches/source/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch.gz +-rw-r--r-- 1 root root 1276 2017-07-17 04:37 ./patches/source/rpcbind/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch.gz +-rw-r--r-- 1 root root 493 2015-09-22 15:17 ./patches/source/rpcbind/01.rpcbind-manpage-statefile-explanation.patch.gz +-rw-r--r-- 1 root root 332 2015-12-14 21:09 ./patches/source/rpcbind/doinst.sh.gz +-rw-r--r-- 1 root root 680 2015-12-15 00:50 ./patches/source/rpcbind/rc.rpc.gz +-rw-r--r-- 1 root root 122781 2016-11-30 15:33 ./patches/source/rpcbind/rpcbind-0.2.4.tar.bz2 +-rwxr-xr-x 1 root root 5014 2017-07-18 18:21 ./patches/source/rpcbind/rpcbind.SlackBuild +-rw-r--r-- 1 root root 381 2015-12-14 19:35 ./patches/source/rpcbind/rpcbind.lwrap.needs.lnsl.diff.gz +-rw-r--r-- 1 root root 1042 2015-12-14 20:46 ./patches/source/rpcbind/slack-desc +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 2018-03-29 19:16 ./patches/source/ruby +-rw-r--r-- 1 root root 10175796 2018-03-28 17:26 ./patches/source/ruby/ruby-2.2.10.tar.xz +-rwxr-xr-x 1 root root 4445 2017-09-17 17:47 ./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:13 ./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 703 2016-06-13 04:19 ./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 940 2016-06-04 17:50 ./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 7085 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 2017-01-13 18:13 ./patches/source/scim +-rw-rw-r-- 1 root root 874400 2016-06-02 07:38 ./patches/source/scim/scim-1.4.17.tar.xz +-rw-r--r-- 1 root root 1411 2007-10-28 14:28 ./patches/source/scim/scim-setup.desktop +-rwxr-xr-x 1 root root 8090 2017-01-14 01:14 ./patches/source/scim/scim.SlackBuild +-rw-r--r-- 1 root root 423 2008-03-31 21:12 ./patches/source/scim/scim.desktop +-rw-r--r-- 1 root root 785 2008-02-16 23:16 ./patches/source/scim/slack-desc +drwxr-xr-x 2 root root 4096 2016-08-23 17:09 ./patches/source/screen +-rw-r--r-- 1 root root 2913 2014-07-26 12:01 ./patches/source/screen/26source_encoding.patch.gz +-rw-r--r-- 1 root root 237 2014-07-26 12:01 ./patches/source/screen/45suppress_remap.patch.gz +-rw-r--r-- 1 root root 693 2014-07-26 12:01 ./patches/source/screen/52fix_screen_utf8_nfd.patch.gz +-rw-r--r-- 1 root root 652 2014-07-26 12:01 ./patches/source/screen/58-show-encoding-hardstatus.patch.gz +-rw-r--r-- 1 root root 341 2016-08-23 17:08 ./patches/source/screen/60-revert-screenrc-change.diff.gz +-rw-r--r-- 1 root root 621256 2016-06-19 20:37 ./patches/source/screen/screen-4.4.0.tar.xz +-rwxr-xr-x 1 root root 5028 2016-08-23 17:11 ./patches/source/screen/screen.SlackBuild +-rw-r--r-- 1 root root 371 2015-08-02 18:47 ./patches/source/screen/screen.no_libelf.diff.gz +-rw-r--r-- 1 root root 1111 2002-03-23 22:34 ./patches/source/screen/slack-desc +drwxr-xr-x 2 root root 4096 2016-09-12 17:50 ./patches/source/sdl +-rw-r--r-- 1 root root 2521972 2012-01-21 02:15 ./patches/source/sdl/SDL-1.2.15.tar.xz +-rw-r--r-- 1 root root 1250244 2012-01-21 01:58 ./patches/source/sdl/SDL_image-1.2.12.tar.xz +-rw-r--r-- 1 root root 2714656 2012-01-15 22:19 ./patches/source/sdl/SDL_mixer-1.2.12.tar.xz +-rw-r--r-- 1 root root 212 2010-02-14 23:16 ./patches/source/sdl/SDL_mixer.usrlocal.diff.gz +-rw-r--r-- 1 root root 237384 2012-01-15 22:37 ./patches/source/sdl/SDL_net-1.2.8.tar.xz +-rw-r--r-- 1 root root 1946336 2012-01-15 22:52 ./patches/source/sdl/SDL_ttf-2.0.11.tar.xz +-rw-r--r-- 1 root root 280 2016-06-08 17:00 ./patches/source/sdl/SDL_ttf.shaded.text.diff.gz +-rw-r--r-- 1 root root 731528 2016-08-31 20:51 ./patches/source/sdl/libmikmod-3.1.20.tar.xz +-rw-r--r-- 1 root root 1018 2013-01-27 19:16 ./patches/source/sdl/libsdl-1.2.15-resizing.patch.gz +-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 7498 2016-09-12 17:53 ./patches/source/sdl/sdl.SlackBuild +-rw-r--r-- 1 root root 934 2016-09-12 18:13 ./patches/source/sdl/slack-desc +drwxr-xr-x 5 root root 4096 2018-05-03 19:21 ./patches/source/seamonkey +drwxr-xr-x 2 root root 4096 2016-07-03 18:05 ./patches/source/seamonkey/autoconf +-rw-r--r-- 1 root root 5869 2016-07-03 18:04 ./patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch.gz +-rw-r--r-- 1 root root 300116 1999-01-15 21:03 ./patches/source/seamonkey/autoconf/autoconf-2.13.tar.xz +-rwxr-xr-x 1 root root 2632 2016-07-03 18:50 ./patches/source/seamonkey/autoconf/autoconf.build +-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 231547028 2018-05-03 07:20 ./patches/source/seamonkey/seamonkey-2.49.3.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 10096 2017-07-21 16:13 ./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 2017-07-28 19:54 ./patches/source/squashfs-tools +-rw-r--r-- 1 root root 653 2015-09-09 18:13 ./patches/source/squashfs-tools/0001-kfreebsd.patch.gz +-rw-r--r-- 1 root root 2477 2015-09-07 16:02 ./patches/source/squashfs-tools/0002-fix_phys_mem_calculation.patch.gz +-rw-r--r-- 1 root root 1625 2015-09-07 16:47 ./patches/source/squashfs-tools/0003-CVE-2015-4645_and_CVE-2015-4646.patch.gz +-rw-r--r-- 1 root root 1517 2015-10-20 10:57 ./patches/source/squashfs-tools/0004-unsquashfs-add-support-for-LZMA-magics.patch.gz +-rw-r--r-- 1 root root 993 2017-06-07 17:47 ./patches/source/squashfs-tools/0006-uptream-fix-race.patch.gz +-rw-r--r-- 1 root root 580 2017-06-07 17:47 ./patches/source/squashfs-tools/0007-fix-2GB-limit-in-mksquashfs.patch.gz +-rw-r--r-- 1 root root 1081 2015-10-21 09:31 ./patches/source/squashfs-tools/slack-desc +-rwxr-xr-- 1 root root 3946 2017-07-28 20:16 ./patches/source/squashfs-tools/squashfs-tools.SlackBuild +-rw-r--r-- 1 root root 131612 2014-05-12 23:11 ./patches/source/squashfs-tools/squashfs4.3.tar.xz +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:30 ./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 6249348 2017-08-10 18:03 ./patches/source/subversion/subversion-1.9.7.tar.xz +-rwxr-xr-x 1 root root 5562 2017-08-10 20:05 ./patches/source/subversion/subversion.SlackBuild +-rw-r--r-- 1 root root 470499 2017-08-10 06: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 3823 2017-05-30 17: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 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:30 ./patches/source/wpa_supplicant/wpa_supplicant.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-10-05 20:24 ./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:15 ./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 1612 2015-08-19 06:07 ./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 3253 2014-07-15 05:19 ./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 2017-08-15 19:18 ./patches/source/xorg-server/patch +drwxr-xr-x 2 root root 4096 2017-10-18 17:14 ./patches/source/xorg-server/patch/xorg-server +-rw-r--r-- 1 root root 2149 2017-10-18 17:15 ./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 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 701 2017-10-17 17:50 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12177.diff.gz +-rw-r--r-- 1 root root 577 2017-10-17 17:51 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12178.diff.gz +-rw-r--r-- 1 root root 656 2017-10-18 16:35 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff.gz +-rw-r--r-- 1 root root 753 2017-10-18 16:36 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p2.diff.gz +-rw-r--r-- 1 root root 2763 2017-10-18 16:37 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.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 1619 2017-10-18 16:39 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12184_12185_12186_12187.diff.gz +-rw-r--r-- 1 root root 592 2017-10-05 18:01 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13721.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 +-rw-r--r-- 1 root root 897 2016-04-14 16:42 ./patches/source/xorg-server/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch.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 2017-08-15 19:18 ./patches/source/xorg-server/src/xserver +-rw-r--r-- 1 root root 4696844 2016-04-04 19:48 ./patches/source/xorg-server/src/xserver/xorg-server-1.18.3.tar.xz +-rwxr-xr-x 1 root root 13192 2015-08-19 06:04 ./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 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 2016-06-29 19:50 ./slackware64 +-rw-r--r-- 1 root root 282010 2016-06-29 19:50 ./slackware64/CHECKSUMS.md5 +-rw-r--r-- 1 root root 181 2016-06-29 19:50 ./slackware64/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 351638 2016-06-29 19:47 ./slackware64/FILE_LIST +-rw-r--r-- 1 root root 3139391 2016-06-29 19:48 ./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 2016-06-29 19:47 ./slackware64/a +-rw-r--r-- 1 root root 327 2016-05-20 20:18 ./slackware64/a/aaa_base-14.2-x86_64-2.txt +-rw-r--r-- 1 root root 10840 2016-05-20 20:18 ./slackware64/a/aaa_base-14.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-05-20 20:18 ./slackware64/a/aaa_base-14.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 472 2016-06-24 22:03 ./slackware64/a/aaa_elflibs-14.2-x86_64-23.txt +-rw-r--r-- 1 root root 5883880 2016-06-24 22:03 ./slackware64/a/aaa_elflibs-14.2-x86_64-23.txz +-rw-r--r-- 1 root root 181 2016-06-24 22:03 ./slackware64/a/aaa_elflibs-14.2-x86_64-23.txz.asc +-rw-r--r-- 1 root root 505 2015-04-30 19:11 ./slackware64/a/aaa_terminfo-5.9-x86_64-1.txt +-rw-r--r-- 1 root root 46516 2015-04-30 19:11 ./slackware64/a/aaa_terminfo-5.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-30 19:11 ./slackware64/a/aaa_terminfo-5.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2015-04-14 01:07 ./slackware64/a/acl-2.2.52-x86_64-1.txt +-rw-r--r-- 1 root root 136904 2015-04-14 01:07 ./slackware64/a/acl-2.2.52-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-14 01:07 ./slackware64/a/acl-2.2.52-x86_64-1.txz.asc +-rw-r--r-- 1 root root 463 2016-03-07 19:37 ./slackware64/a/acpid-2.0.26-x86_64-1.txt +-rw-r--r-- 1 root root 47188 2016-03-07 19:37 ./slackware64/a/acpid-2.0.26-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:37 ./slackware64/a/acpid-2.0.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 608 2015-04-18 21:01 ./slackware64/a/attr-2.4.47-x86_64-1.txt +-rw-r--r-- 1 root root 74660 2015-04-18 21:01 ./slackware64/a/attr-2.4.47-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-18 21:01 ./slackware64/a/attr-2.4.47-x86_64-1.txz.asc +-rw-r--r-- 1 root root 510 2016-06-21 17:40 ./slackware64/a/bash-4.3.046-x86_64-1.txt +-rw-r--r-- 1 root root 1406416 2016-06-21 17:40 ./slackware64/a/bash-4.3.046-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-21 17:40 ./slackware64/a/bash-4.3.046-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 2016-05-20 21:00 ./slackware64/a/btrfs-progs-v4.5.3-x86_64-1.txt +-rw-r--r-- 1 root root 555336 2016-05-20 21:00 ./slackware64/a/btrfs-progs-v4.5.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-20 21:00 ./slackware64/a/btrfs-progs-v4.5.3-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 2016-04-17 18:26 ./slackware64/a/coreutils-8.25-x86_64-2.txt +-rw-r--r-- 1 root root 2323072 2016-04-17 18:26 ./slackware64/a/coreutils-8.25-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-17 18:26 ./slackware64/a/coreutils-8.25-x86_64-2.txz.asc +-rw-r--r-- 1 root root 487 2015-12-02 19:54 ./slackware64/a/cpio-2.12-x86_64-1.txt +-rw-r--r-- 1 root root 224376 2015-12-02 19:54 ./slackware64/a/cpio-2.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-02 19:54 ./slackware64/a/cpio-2.12-x86_64-1.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 586 2016-03-09 17:40 ./slackware64/a/cryptsetup-1.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 262532 2016-03-09 17:40 ./slackware64/a/cryptsetup-1.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 17:40 ./slackware64/a/cryptsetup-1.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 491 2016-03-27 17:11 ./slackware64/a/dbus-1.10.8-x86_64-1.txt +-rw-r--r-- 1 root root 483608 2016-03-27 17:11 ./slackware64/a/dbus-1.10.8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-27 17:11 ./slackware64/a/dbus-1.10.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2016-05-10 18:02 ./slackware64/a/dcron-4.5-x86_64-5.txt +-rw-r--r-- 1 root root 33616 2016-05-10 18:02 ./slackware64/a/dcron-4.5-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-05-10 18:02 ./slackware64/a/dcron-4.5-x86_64-5.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 2013-08-12 22:31 ./slackware64/a/dialog-1.2_20130523-x86_64-1.txt +-rw-r--r-- 1 root root 158112 2013-08-12 22:31 ./slackware64/a/dialog-1.2_20130523-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-08-12 22:31 ./slackware64/a/dialog-1.2_20130523-x86_64-1.txz.asc +-rw-r--r-- 1 root root 337 2015-08-15 18:14 ./slackware64/a/dosfstools-3.0.28-x86_64-1.txt +-rw-r--r-- 1 root root 76960 2015-08-15 18:14 ./slackware64/a/dosfstools-3.0.28-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-15 18:14 ./slackware64/a/dosfstools-3.0.28-x86_64-1.txz.asc +-rw-r--r-- 1 root root 401 2016-06-09 17:34 ./slackware64/a/e2fsprogs-1.43.1-x86_64-1.txt +-rw-r--r-- 1 root root 954472 2016-06-09 17:34 ./slackware64/a/e2fsprogs-1.43.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-09 17:34 ./slackware64/a/e2fsprogs-1.43.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 352 2016-03-07 20:23 ./slackware64/a/ed-1.13-x86_64-1.txt +-rw-r--r-- 1 root root 59840 2016-03-07 20:23 ./slackware64/a/ed-1.13-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:23 ./slackware64/a/ed-1.13-x86_64-1.txz.asc +-rw-r--r-- 1 root root 461 2013-09-18 21:01 ./slackware64/a/efibootmgr-0.5.4-x86_64-1.txt +-rw-r--r-- 1 root root 48036 2013-09-18 21:01 ./slackware64/a/efibootmgr-0.5.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-09-18 21:01 ./slackware64/a/efibootmgr-0.5.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 430 2013-02-22 00:50 ./slackware64/a/eject-2.1.5-x86_64-4.txt +-rw-r--r-- 1 root root 34520 2013-02-22 00:50 ./slackware64/a/eject-2.1.5-x86_64-4.txz +-rw-r--r-- 1 root root 198 2013-02-22 00:50 ./slackware64/a/eject-2.1.5-x86_64-4.txz.asc +-rw-r--r-- 1 root root 447 2016-04-01 18:49 ./slackware64/a/elilo-3.16-x86_64-2.txt +-rw-r--r-- 1 root root 151260 2016-04-01 18:49 ./slackware64/a/elilo-3.16-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-01 18:49 ./slackware64/a/elilo-3.16-x86_64-2.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 2016-06-22 19:37 ./slackware64/a/etc-14.2-x86_64-7.txt +-rw-r--r-- 1 root root 207728 2016-06-22 19:37 ./slackware64/a/etc-14.2-x86_64-7.txz +-rw-r--r-- 1 root root 181 2016-06-22 19:37 ./slackware64/a/etc-14.2-x86_64-7.txz.asc +-rw-r--r-- 1 root root 513 2016-01-12 19:10 ./slackware64/a/eudev-3.1.5-x86_64-8.txt +-rw-r--r-- 1 root root 908084 2016-01-12 19:10 ./slackware64/a/eudev-3.1.5-x86_64-8.txz +-rw-r--r-- 1 root root 181 2016-01-12 19:10 ./slackware64/a/eudev-3.1.5-x86_64-8.txz.asc +-rw-r--r-- 1 root root 272 2015-11-11 21:41 ./slackware64/a/file-5.25-x86_64-1.txt +-rw-r--r-- 1 root root 276008 2015-11-11 21:41 ./slackware64/a/file-5.25-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-11 21:41 ./slackware64/a/file-5.25-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 257 2013-08-02 21:20 ./slackware64/a/floppy-5.5-x86_64-1.txt +-rw-r--r-- 1 root root 357868 2013-08-02 21:20 ./slackware64/a/floppy-5.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-08-02 21:20 ./slackware64/a/floppy-5.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 588 2015-08-07 19:37 ./slackware64/a/gawk-4.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 1035700 2015-08-07 19:37 ./slackware64/a/gawk-4.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-07 19:37 ./slackware64/a/gawk-4.1.3-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 2016-06-13 18:24 ./slackware64/a/gettext-0.19.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 122608 2016-06-13 18:24 ./slackware64/a/gettext-0.19.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-13 18:24 ./slackware64/a/gettext-0.19.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 510 2013-10-02 23:54 ./slackware64/a/getty-ps-2.1.0b-x86_64-2.txt +-rw-r--r-- 1 root root 61796 2013-10-02 23:54 ./slackware64/a/getty-ps-2.1.0b-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-10-02 23:54 ./slackware64/a/getty-ps-2.1.0b-x86_64-2.txz.asc +-rw-r--r-- 1 root root 323 2016-02-20 17:52 ./slackware64/a/glibc-solibs-2.23-x86_64-1.txt +-rw-r--r-- 1 root root 2679548 2016-02-20 17:52 ./slackware64/a/glibc-solibs-2.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-20 17:52 ./slackware64/a/glibc-solibs-2.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 504 2016-06-14 21:47 ./slackware64/a/glibc-zoneinfo-2016e-noarch-1.txt +-rw-r--r-- 1 root root 172824 2016-06-14 21:47 ./slackware64/a/glibc-zoneinfo-2016e-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-06-14 21:47 ./slackware64/a/glibc-zoneinfo-2016e-noarch-1.txz.asc +-rw-r--r-- 1 root root 513 2014-08-04 20:46 ./slackware64/a/gpm-1.20.7-x86_64-3.txt +-rw-r--r-- 1 root root 165364 2014-08-04 20:46 ./slackware64/a/gpm-1.20.7-x86_64-3.txz +-rw-r--r-- 1 root root 181 2014-08-04 20:46 ./slackware64/a/gpm-1.20.7-x86_64-3.txz.asc +-rw-r--r-- 1 root root 581 2015-04-07 16:42 ./slackware64/a/gptfdisk-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 176968 2015-04-07 16:42 ./slackware64/a/gptfdisk-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-07 16:42 ./slackware64/a/gptfdisk-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 292 2016-04-24 00:30 ./slackware64/a/grep-2.25-x86_64-1.txt +-rw-r--r-- 1 root root 248680 2016-04-24 00:30 ./slackware64/a/grep-2.25-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-24 00:30 ./slackware64/a/grep-2.25-x86_64-1.txz.asc +-rw-r--r-- 1 root root 182 2016-06-13 03:18 ./slackware64/a/grub-2.00-x86_64-5.txt +-rw-r--r-- 1 root root 8673260 2016-06-13 03:18 ./slackware64/a/grub-2.00-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-13 03:18 ./slackware64/a/grub-2.00-x86_64-5.txz.asc +-rw-r--r-- 1 root root 315 2016-05-20 20:41 ./slackware64/a/gzip-1.8-x86_64-1.txt +-rw-r--r-- 1 root root 111072 2016-05-20 20:41 ./slackware64/a/gzip-1.8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-20 20:41 ./slackware64/a/gzip-1.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2015-10-23 20:54 ./slackware64/a/hdparm-9.48-x86_64-1.txt +-rw-r--r-- 1 root root 69412 2015-10-23 20:54 ./slackware64/a/hdparm-9.48-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-23 20:54 ./slackware64/a/hdparm-9.48-x86_64-1.txz.asc +-rw-r--r-- 1 root root 325 2016-03-07 20:01 ./slackware64/a/hwdata-0.284-noarch-1.txt +-rw-r--r-- 1 root root 1188964 2016-03-07 20:01 ./slackware64/a/hwdata-0.284-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:01 ./slackware64/a/hwdata-0.284-noarch-1.txz.asc +-rw-r--r-- 1 root root 466 2015-04-19 05:17 ./slackware64/a/infozip-6.0-x86_64-3.txt +-rw-r--r-- 1 root root 411316 2015-04-19 05:17 ./slackware64/a/infozip-6.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-04-19 05:17 ./slackware64/a/infozip-6.0-x86_64-3.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 2016-06-29 00:17 ./slackware64/a/kernel-firmware-20160628git-noarch-1.txt +-rw-r--r-- 1 root root 41986528 2016-06-29 00:17 ./slackware64/a/kernel-firmware-20160628git-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-06-29 00:17 ./slackware64/a/kernel-firmware-20160628git-noarch-1.txz.asc +-rw-r--r-- 1 root root 626 2016-06-24 18:31 ./slackware64/a/kernel-generic-4.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 4803536 2016-06-24 18:31 ./slackware64/a/kernel-generic-4.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 18:31 ./slackware64/a/kernel-generic-4.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 638 2016-06-24 18:38 ./slackware64/a/kernel-huge-4.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 8236544 2016-06-24 18:38 ./slackware64/a/kernel-huge-4.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 18:38 ./slackware64/a/kernel-huge-4.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 569 2016-06-24 18:34 ./slackware64/a/kernel-modules-4.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 28918672 2016-06-24 18:34 ./slackware64/a/kernel-modules-4.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 18:34 ./slackware64/a/kernel-modules-4.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 513 2015-11-24 03:03 ./slackware64/a/kmod-22-x86_64-1.txt +-rw-r--r-- 1 root root 148664 2015-11-24 03:03 ./slackware64/a/kmod-22-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-24 03:03 ./slackware64/a/kmod-22-x86_64-1.txz.asc +-rw-r--r-- 1 root root 386 2015-10-16 16:29 ./slackware64/a/less-481-x86_64-1.txt +-rw-r--r-- 1 root root 115472 2015-10-16 16:29 ./slackware64/a/less-481-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-16 16:29 ./slackware64/a/less-481-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 2014-08-25 19:40 ./slackware64/a/libcgroup-0.41-x86_64-1.txt +-rw-r--r-- 1 root root 118432 2014-08-25 19:40 ./slackware64/a/libcgroup-0.41-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-08-25 19:40 ./slackware64/a/libcgroup-0.41-x86_64-1.txz.asc +-rw-r--r-- 1 root root 332 2015-11-14 19:46 ./slackware64/a/libgudev-230-x86_64-1.txt +-rw-r--r-- 1 root root 67108 2015-11-14 19:46 ./slackware64/a/libgudev-230-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-14 19:46 ./slackware64/a/libgudev-230-x86_64-1.txz.asc +-rw-r--r-- 1 root root 590 2016-04-21 20:16 ./slackware64/a/lilo-24.2-x86_64-2.txt +-rw-r--r-- 1 root root 428344 2016-04-21 20:16 ./slackware64/a/lilo-24.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-21 20:16 ./slackware64/a/lilo-24.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 533 2015-04-17 19:14 ./slackware64/a/logrotate-3.8.9-x86_64-1.txt +-rw-r--r-- 1 root root 45560 2015-04-17 19:14 ./slackware64/a/logrotate-3.8.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 19:14 ./slackware64/a/logrotate-3.8.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 448 2015-12-15 05:37 ./slackware64/a/lrzip-0.621-x86_64-1.txt +-rw-r--r-- 1 root root 205192 2015-12-15 05:37 ./slackware64/a/lrzip-0.621-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:37 ./slackware64/a/lrzip-0.621-x86_64-1.txz.asc +-rw-r--r-- 1 root root 557 2016-05-17 04:31 ./slackware64/a/lvm2-2.02.154-x86_64-1.txt +-rw-r--r-- 1 root root 1245404 2016-05-17 04:31 ./slackware64/a/lvm2-2.02.154-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-17 04:31 ./slackware64/a/lvm2-2.02.154-x86_64-1.txz.asc +-rw-r--r-- 1 root root 8557 2016-06-24 21:06 ./slackware64/a/maketag +-rw-r--r-- 1 root root 8557 2016-06-24 21:06 ./slackware64/a/maketag.ez +-rw-r--r-- 1 root root 587 2015-12-18 04:58 ./slackware64/a/mcelog-128-x86_64-1.txt +-rw-r--r-- 1 root root 316056 2015-12-18 04:58 ./slackware64/a/mcelog-128-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 04:58 ./slackware64/a/mcelog-128-x86_64-1.txz.asc +-rw-r--r-- 1 root root 472 2016-03-04 04:10 ./slackware64/a/mdadm-3.3.4-x86_64-1.txt +-rw-r--r-- 1 root root 328600 2016-03-04 04:10 ./slackware64/a/mdadm-3.3.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-04 04:10 ./slackware64/a/mdadm-3.3.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 323 2013-10-15 21:32 ./slackware64/a/minicom-2.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 301344 2013-10-15 21:32 ./slackware64/a/minicom-2.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-15 21:32 ./slackware64/a/minicom-2.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 529 2016-06-20 20:25 ./slackware64/a/mkinitrd-1.4.8-x86_64-8.txt +-rw-r--r-- 1 root root 580172 2016-06-20 20:25 ./slackware64/a/mkinitrd-1.4.8-x86_64-8.txz +-rw-r--r-- 1 root root 181 2016-06-20 20:25 ./slackware64/a/mkinitrd-1.4.8-x86_64-8.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 2015-12-15 05:36 ./slackware64/a/ncompress-4.2.4.4-x86_64-1.txt +-rw-r--r-- 1 root root 18904 2015-12-15 05:36 ./slackware64/a/ncompress-4.2.4.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:36 ./slackware64/a/ncompress-4.2.4.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 553 2016-03-21 18:31 ./slackware64/a/ntfs-3g-2016.2.22-x86_64-1.txt +-rw-r--r-- 1 root root 475824 2016-03-21 18:31 ./slackware64/a/ntfs-3g-2016.2.22-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-21 18:31 ./slackware64/a/ntfs-3g-2016.2.22-x86_64-1.txz.asc +-rw-r--r-- 1 root root 625 2016-05-03 17:21 ./slackware64/a/openssl-solibs-1.0.2h-x86_64-1.txt +-rw-r--r-- 1 root root 1062596 2016-05-03 17:21 ./slackware64/a/openssl-solibs-1.0.2h-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-03 17:21 ./slackware64/a/openssl-solibs-1.0.2h-x86_64-1.txz.asc +-rw-r--r-- 1 root root 419 2015-12-18 04:48 ./slackware64/a/os-prober-1.70-x86_64-1.txt +-rw-r--r-- 1 root root 16540 2015-12-18 04:48 ./slackware64/a/os-prober-1.70-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 04:48 ./slackware64/a/os-prober-1.70-x86_64-1.txz.asc +-rw-r--r-- 1 root root 564 2015-12-15 05:26 ./slackware64/a/patch-2.7.5-x86_64-1.txt +-rw-r--r-- 1 root root 109956 2015-12-15 05:26 ./slackware64/a/patch-2.7.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:26 ./slackware64/a/patch-2.7.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 436 2016-03-19 18:47 ./slackware64/a/pciutils-3.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 99296 2016-03-19 18:47 ./slackware64/a/pciutils-3.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-19 18:47 ./slackware64/a/pciutils-3.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 451 2015-12-18 04:50 ./slackware64/a/pcmciautils-018-x86_64-1.txt +-rw-r--r-- 1 root root 32804 2015-12-18 04:50 ./slackware64/a/pcmciautils-018-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 04:50 ./slackware64/a/pcmciautils-018-x86_64-1.txz.asc +-rw-r--r-- 1 root root 624 2016-06-15 01:18 ./slackware64/a/pkgtools-14.2-noarch-10.txt +-rw-r--r-- 1 root root 188636 2016-06-15 01:18 ./slackware64/a/pkgtools-14.2-noarch-10.txz +-rw-r--r-- 1 root root 181 2016-06-15 01:18 ./slackware64/a/pkgtools-14.2-noarch-10.txz.asc +-rw-r--r-- 1 root root 373 2016-03-15 20:34 ./slackware64/a/procps-ng-3.3.11-x86_64-1.txt +-rw-r--r-- 1 root root 472720 2016-03-15 20:34 ./slackware64/a/procps-ng-3.3.11-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-15 20:34 ./slackware64/a/procps-ng-3.3.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 579 2015-12-28 00:57 ./slackware64/a/quota-4.03-x86_64-1.txt +-rw-r--r-- 1 root root 223424 2015-12-28 00:57 ./slackware64/a/quota-4.03-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-28 00:57 ./slackware64/a/quota-4.03-x86_64-1.txz.asc +-rw-r--r-- 1 root root 423 2015-04-14 18:05 ./slackware64/a/reiserfsprogs-3.6.24-x86_64-1.txt +-rw-r--r-- 1 root root 225528 2015-04-14 18:05 ./slackware64/a/reiserfsprogs-3.6.24-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-14 18:05 ./slackware64/a/reiserfsprogs-3.6.24-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 2016-02-26 19:09 ./slackware64/a/sdparm-1.10-x86_64-1.txt +-rw-r--r-- 1 root root 86256 2016-02-26 19:09 ./slackware64/a/sdparm-1.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-26 19:09 ./slackware64/a/sdparm-1.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 408 2013-10-02 19:52 ./slackware64/a/sed-4.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 154124 2013-10-02 19:52 ./slackware64/a/sed-4.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-02 19:52 ./slackware64/a/sed-4.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 536 2014-07-02 00:21 ./slackware64/a/shadow-4.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 1457356 2014-07-02 00:21 ./slackware64/a/shadow-4.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-07-02 00:21 ./slackware64/a/shadow-4.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 627 2015-12-22 22:50 ./slackware64/a/sharutils-4.15.2-x86_64-1.txt +-rw-r--r-- 1 root root 264708 2015-12-22 22:50 ./slackware64/a/sharutils-4.15.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-22 22:50 ./slackware64/a/sharutils-4.15.2-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 493 2016-06-07 18:00 ./slackware64/a/smartmontools-6.5-x86_64-1.txt +-rw-r--r-- 1 root root 353652 2016-06-07 18:00 ./slackware64/a/smartmontools-6.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-07 18:00 ./slackware64/a/smartmontools-6.5-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 2016-06-29 19:20 ./slackware64/a/sysklogd-1.5.1-x86_64-2.txt +-rw-r--r-- 1 root root 64500 2016-06-29 19:20 ./slackware64/a/sysklogd-1.5.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-29 19:20 ./slackware64/a/sysklogd-1.5.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 518 2016-05-24 20:54 ./slackware64/a/syslinux-4.07-x86_64-1.txt +-rw-r--r-- 1 root root 900076 2016-05-24 20:54 ./slackware64/a/syslinux-4.07-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-24 20:54 ./slackware64/a/syslinux-4.07-x86_64-1.txz.asc +-rw-r--r-- 1 root root 513 2015-08-06 23:06 ./slackware64/a/sysvinit-2.88dsf-x86_64-4.txt +-rw-r--r-- 1 root root 72736 2015-08-06 23:06 ./slackware64/a/sysvinit-2.88dsf-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-08-06 23:06 ./slackware64/a/sysvinit-2.88dsf-x86_64-4.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 2016-06-13 01:33 ./slackware64/a/sysvinit-scripts-2.0-noarch-33.txt +-rw-r--r-- 1 root root 21632 2016-06-13 01:33 ./slackware64/a/sysvinit-scripts-2.0-noarch-33.txz +-rw-r--r-- 1 root root 181 2016-06-13 01:33 ./slackware64/a/sysvinit-scripts-2.0-noarch-33.txz.asc +-rw-r--r-- 1 root root 1306 2016-06-24 21:06 ./slackware64/a/tagfile +-rw-r--r-- 1 root root 380 2016-05-20 20:37 ./slackware64/a/tar-1.29-x86_64-1.txt +-rw-r--r-- 1 root root 782012 2016-05-20 20:37 ./slackware64/a/tar-1.29-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-20 20:37 ./slackware64/a/tar-1.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 431 2015-11-07 18:27 ./slackware64/a/tcsh-6.19.00-x86_64-1.txt +-rw-r--r-- 1 root root 401908 2015-11-07 18:27 ./slackware64/a/tcsh-6.19.00-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-07 18:27 ./slackware64/a/tcsh-6.19.00-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 2015-12-15 05:35 ./slackware64/a/tree-1.7.0-x86_64-1.txt +-rw-r--r-- 1 root root 46820 2015-12-15 05:35 ./slackware64/a/tree-1.7.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:35 ./slackware64/a/tree-1.7.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 413 2015-11-20 19:26 ./slackware64/a/udisks-1.0.5-x86_64-3.txt +-rw-r--r-- 1 root root 177840 2015-11-20 19:26 ./slackware64/a/udisks-1.0.5-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-20 19:26 ./slackware64/a/udisks-1.0.5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 428 2015-11-19 05:38 ./slackware64/a/udisks2-2.1.5-x86_64-2.txt +-rw-r--r-- 1 root root 595584 2015-11-19 05:38 ./slackware64/a/udisks2-2.1.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:38 ./slackware64/a/udisks2-2.1.5-x86_64-2.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 2016-03-04 16:13 ./slackware64/a/upower-0.9.23-x86_64-3.txt +-rw-r--r-- 1 root root 127576 2016-03-04 16:13 ./slackware64/a/upower-0.9.23-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-04 16:13 ./slackware64/a/upower-0.9.23-x86_64-3.txz.asc +-rw-r--r-- 1 root root 720 2015-12-15 05:39 ./slackware64/a/usb_modeswitch-2.2.6-x86_64-1.txt +-rw-r--r-- 1 root root 151380 2015-12-15 05:39 ./slackware64/a/usb_modeswitch-2.2.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:39 ./slackware64/a/usb_modeswitch-2.2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2015-12-18 04:27 ./slackware64/a/usbutils-008-x86_64-1.txt +-rw-r--r-- 1 root root 73148 2015-12-18 04:27 ./slackware64/a/usbutils-008-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 04:27 ./slackware64/a/usbutils-008-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2016-03-19 20:11 ./slackware64/a/utempter-1.1.6-x86_64-2.txt +-rw-r--r-- 1 root root 15624 2016-03-19 20:11 ./slackware64/a/utempter-1.1.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:11 ./slackware64/a/utempter-1.1.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 329 2015-12-11 03:39 ./slackware64/a/util-linux-2.27.1-x86_64-1.txt +-rw-r--r-- 1 root root 2008376 2015-12-11 03:39 ./slackware64/a/util-linux-2.27.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-11 03:39 ./slackware64/a/util-linux-2.27.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 582 2015-12-11 18:09 ./slackware64/a/which-2.21-x86_64-1.txt +-rw-r--r-- 1 root root 29804 2015-12-11 18:09 ./slackware64/a/which-2.21-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-11 18:09 ./slackware64/a/which-2.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 495 2015-12-15 06:01 ./slackware64/a/xfsprogs-4.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 782352 2015-12-15 06:01 ./slackware64/a/xfsprogs-4.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 06:01 ./slackware64/a/xfsprogs-4.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 498 2015-10-31 17:23 ./slackware64/a/xz-5.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 282156 2015-10-31 17:23 ./slackware64/a/xz-5.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-31 17:23 ./slackware64/a/xz-5.2.2-x86_64-1.txz.asc +-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 20480 2016-06-29 19:47 ./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 2013-10-24 00:10 ./slackware64/ap/acct-6.5.4-x86_64-2.txt +-rw-r--r-- 1 root root 92044 2013-10-24 00:10 ./slackware64/ap/acct-6.5.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-10-24 00:10 ./slackware64/ap/acct-6.5.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 625 2016-04-01 19:22 ./slackware64/ap/alsa-utils-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 974352 2016-04-01 19:22 ./slackware64/ap/alsa-utils-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-01 19:22 ./slackware64/ap/alsa-utils-1.1.1-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 346 2016-06-29 19:31 ./slackware64/ap/at-3.1.19-x86_64-2.txt +-rw-r--r-- 1 root root 41260 2016-06-29 19:31 ./slackware64/ap/at-3.1.19-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-29 19:31 ./slackware64/ap/at-3.1.19-x86_64-2.txz.asc +-rw-r--r-- 1 root root 386 2015-03-20 16:46 ./slackware64/ap/bc-1.06.95-x86_64-3.txt +-rw-r--r-- 1 root root 101680 2015-03-20 16:46 ./slackware64/ap/bc-1.06.95-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-20 16:46 ./slackware64/ap/bc-1.06.95-x86_64-3.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 2016-05-31 19:44 ./slackware64/ap/cdrtools-3.01-x86_64-3.txt +-rw-r--r-- 1 root root 883000 2016-05-31 19:44 ./slackware64/ap/cdrtools-3.01-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-05-31 19:44 ./slackware64/ap/cdrtools-3.01-x86_64-3.txz.asc +-rw-r--r-- 1 root root 532 2015-12-15 00:42 ./slackware64/ap/cgmanager-0.39-x86_64-1.txt +-rw-r--r-- 1 root root 112280 2015-12-15 00:42 ./slackware64/ap/cgmanager-0.39-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 00:42 ./slackware64/ap/cgmanager-0.39-x86_64-1.txz.asc +-rw-r--r-- 1 root root 644 2016-06-15 05:54 ./slackware64/ap/cups-2.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 1376012 2016-06-15 05:54 ./slackware64/ap/cups-2.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 05:54 ./slackware64/ap/cups-2.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2016-06-23 06:25 ./slackware64/ap/cups-filters-1.9.0-x86_64-2.txt +-rw-r--r-- 1 root root 733848 2016-06-23 06:25 ./slackware64/ap/cups-filters-1.9.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-23 06:25 ./slackware64/ap/cups-filters-1.9.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 465 2015-10-15 20:59 ./slackware64/ap/dc3dd-7.2.641-x86_64-1.txt +-rw-r--r-- 1 root root 125228 2015-10-15 20:59 ./slackware64/ap/dc3dd-7.2.641-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:59 ./slackware64/ap/dc3dd-7.2.641-x86_64-1.txz.asc +-rw-r--r-- 1 root root 465 2016-03-19 01:34 ./slackware64/ap/ddrescue-1.21-x86_64-1.txt +-rw-r--r-- 1 root root 92584 2016-03-19 01:34 ./slackware64/ap/ddrescue-1.21-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 01:34 ./slackware64/ap/ddrescue-1.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 409 2016-03-07 20:14 ./slackware64/ap/diffstat-1.60-x86_64-1.txt +-rw-r--r-- 1 root root 25016 2016-03-07 20:14 ./slackware64/ap/diffstat-1.60-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:14 ./slackware64/ap/diffstat-1.60-x86_64-1.txz.asc +-rw-r--r-- 1 root root 283 2013-10-03 21:28 ./slackware64/ap/diffutils-3.3-x86_64-1.txt +-rw-r--r-- 1 root root 299652 2013-10-03 21:28 ./slackware64/ap/diffutils-3.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-03 21:28 ./slackware64/ap/diffutils-3.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 349 2013-05-17 03:58 ./slackware64/ap/dmapi-2.2.12-x86_64-1.txt +-rw-r--r-- 1 root root 32040 2013-05-17 03:58 ./slackware64/ap/dmapi-2.2.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-05-17 03:58 ./slackware64/ap/dmapi-2.2.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 473 2016-01-29 18:32 ./slackware64/ap/dmidecode-3.0-x86_64-1.txt +-rw-r--r-- 1 root root 59528 2016-01-29 18:32 ./slackware64/ap/dmidecode-3.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-29 18:32 ./slackware64/ap/dmidecode-3.0-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 2016-03-07 20:12 ./slackware64/ap/enscript-1.6.6-x86_64-1.txt +-rw-r--r-- 1 root root 370636 2016-03-07 20:12 ./slackware64/ap/enscript-1.6.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:12 ./slackware64/ap/enscript-1.6.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 603 2015-04-02 17:13 ./slackware64/ap/flac-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 488632 2015-04-02 17:13 ./slackware64/ap/flac-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 17:13 ./slackware64/ap/flac-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 560 2016-05-27 18:27 ./slackware64/ap/ghostscript-9.19-x86_64-2.txt +-rw-r--r-- 1 root root 13829036 2016-05-27 18:27 ./slackware64/ap/ghostscript-9.19-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-05-27 18:27 ./slackware64/ap/ghostscript-9.19-x86_64-2.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 2016-04-30 18:18 ./slackware64/ap/gphoto2-2.5.10-x86_64-1.txt +-rw-r--r-- 1 root root 190832 2016-04-30 18:18 ./slackware64/ap/gphoto2-2.5.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-30 18:18 ./slackware64/ap/gphoto2-2.5.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 431 2016-06-09 17:30 ./slackware64/ap/groff-1.22.3-x86_64-2.txt +-rw-r--r-- 1 root root 2164808 2016-06-09 17:30 ./slackware64/ap/groff-1.22.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-09 17:30 ./slackware64/ap/groff-1.22.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 549 2016-02-03 04:25 ./slackware64/ap/gutenprint-5.2.11-x86_64-2.txt +-rw-r--r-- 1 root root 2575776 2016-02-03 04:25 ./slackware64/ap/gutenprint-5.2.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-02-03 04:25 ./slackware64/ap/gutenprint-5.2.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 477 2016-06-01 18:57 ./slackware64/ap/hplip-3.16.5-x86_64-3.txt +-rw-r--r-- 1 root root 15732960 2016-06-01 18:57 ./slackware64/ap/hplip-3.16.5-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-06-01 18:57 ./slackware64/ap/hplip-3.16.5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 482 2016-03-09 17:47 ./slackware64/ap/htop-2.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 81712 2016-03-09 17:47 ./slackware64/ap/htop-2.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 17:47 ./slackware64/ap/htop-2.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 381 2015-04-20 01:54 ./slackware64/ap/itstool-2.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 39716 2015-04-20 01:54 ./slackware64/ap/itstool-2.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-20 01:54 ./slackware64/ap/itstool-2.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 484 2013-06-22 23:59 ./slackware64/ap/jed-0.99_19-x86_64-2.txt +-rw-r--r-- 1 root root 531096 2013-06-22 23:59 ./slackware64/ap/jed-0.99_19-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-06-22 23:59 ./slackware64/ap/jed-0.99_19-x86_64-2.txz.asc +-rw-r--r-- 1 root root 145 2015-12-17 00:05 ./slackware64/ap/joe-4.1-x86_64-1.txt +-rw-r--r-- 1 root root 431956 2015-12-17 00:05 ./slackware64/ap/joe-4.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-17 00:05 ./slackware64/ap/joe-4.1-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 2016-03-02 22:04 ./slackware64/ap/ksh93-2012_08_01-x86_64-2.txt +-rw-r--r-- 1 root root 736440 2016-03-02 22:04 ./slackware64/ap/ksh93-2012_08_01-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-02 22:04 ./slackware64/ap/ksh93-2012_08_01-x86_64-2.txz.asc +-rw-r--r-- 1 root root 316 2015-12-23 02:50 ./slackware64/ap/libx86-1.1-x86_64-2.txt +-rw-r--r-- 1 root root 36572 2015-12-23 02:50 ./slackware64/ap/libx86-1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-12-23 02:50 ./slackware64/ap/libx86-1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 701 2015-10-23 21:53 ./slackware64/ap/linuxdoc-tools-0.9.69-x86_64-5.txt +-rw-r--r-- 1 root root 6815420 2015-10-23 21:53 ./slackware64/ap/linuxdoc-tools-0.9.69-x86_64-5.txz +-rw-r--r-- 1 root root 181 2015-10-23 21:53 ./slackware64/ap/linuxdoc-tools-0.9.69-x86_64-5.txz.asc +-rw-r--r-- 1 root root 487 2015-11-23 19:43 ./slackware64/ap/lm_sensors-3.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 138768 2015-11-23 19:43 ./slackware64/ap/lm_sensors-3.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-23 19:43 ./slackware64/ap/lm_sensors-3.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 333 2015-12-23 20:53 ./slackware64/ap/lsof-4.89-x86_64-1.txt +-rw-r--r-- 1 root root 294396 2015-12-23 20:53 ./slackware64/ap/lsof-4.89-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 20:53 ./slackware64/ap/lsof-4.89-x86_64-1.txz.asc +-rw-r--r-- 1 root root 367 2015-04-15 19:18 ./slackware64/ap/lsscsi-0.28-x86_64-1.txt +-rw-r--r-- 1 root root 40260 2015-04-15 19:18 ./slackware64/ap/lsscsi-0.28-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-15 19:18 ./slackware64/ap/lsscsi-0.28-x86_64-1.txz.asc +-rw-r--r-- 1 root root 507 2016-06-13 01:42 ./slackware64/ap/lxc-2.0.1-x86_64-4.txt +-rw-r--r-- 1 root root 858300 2016-06-13 01:42 ./slackware64/ap/lxc-2.0.1-x86_64-4.txz +-rw-r--r-- 1 root root 181 2016-06-13 01:42 ./slackware64/ap/lxc-2.0.1-x86_64-4.txz.asc +-rw-r--r-- 1 root root 444 2015-04-20 01:48 ./slackware64/ap/lzip-1.16-x86_64-1.txt +-rw-r--r-- 1 root root 72936 2015-04-20 01:48 ./slackware64/ap/lzip-1.16-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-20 01:48 ./slackware64/ap/lzip-1.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 339 2013-03-21 20:44 ./slackware64/ap/madplay-0.15.2b-x86_64-4.txt +-rw-r--r-- 1 root root 60264 2013-03-21 20:44 ./slackware64/ap/madplay-0.15.2b-x86_64-4.txz +-rw-r--r-- 1 root root 198 2013-03-21 20:44 ./slackware64/ap/madplay-0.15.2b-x86_64-4.txz.asc +-rw-r--r-- 1 root root 6178 2016-03-08 01:38 ./slackware64/ap/maketag +-rw-r--r-- 1 root root 6178 2016-03-08 01:38 ./slackware64/ap/maketag.ez +-rw-r--r-- 1 root root 447 2015-11-10 20:21 ./slackware64/ap/man-1.6g-x86_64-3.txt +-rw-r--r-- 1 root root 218600 2015-11-10 20:21 ./slackware64/ap/man-1.6g-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-10 20:21 ./slackware64/ap/man-1.6g-x86_64-3.txz.asc +-rw-r--r-- 1 root root 490 2016-05-11 06:54 ./slackware64/ap/man-pages-4.06-noarch-1.txt +-rw-r--r-- 1 root root 3263112 2016-05-11 06:54 ./slackware64/ap/man-pages-4.06-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-05-11 06:54 ./slackware64/ap/man-pages-4.06-noarch-1.txz.asc +-rw-r--r-- 1 root root 370 2016-06-24 21:51 ./slackware64/ap/mariadb-10.0.26-x86_64-1.txt +-rw-r--r-- 1 root root 26455968 2016-06-24 21:51 ./slackware64/ap/mariadb-10.0.26-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 21:51 ./slackware64/ap/mariadb-10.0.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2016-03-26 18:38 ./slackware64/ap/mc-4.8.16-x86_64-2.txt +-rw-r--r-- 1 root root 1714756 2016-03-26 18:38 ./slackware64/ap/mc-4.8.16-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-26 18:38 ./slackware64/ap/mc-4.8.16-x86_64-2.txz.asc +-rw-r--r-- 1 root root 419 2016-05-08 00:33 ./slackware64/ap/moc-2.5.1-x86_64-1.txt +-rw-r--r-- 1 root root 221472 2016-05-08 00:33 ./slackware64/ap/moc-2.5.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-08 00:33 ./slackware64/ap/moc-2.5.1-x86_64-1.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 332 2016-05-24 05:14 ./slackware64/ap/mpg123-1.23.4-x86_64-1.txt +-rw-r--r-- 1 root root 313656 2016-05-24 05:14 ./slackware64/ap/mpg123-1.23.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-24 05:14 ./slackware64/ap/mpg123-1.23.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 432 2016-06-22 18:22 ./slackware64/ap/nano-2.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 464548 2016-06-22 18:22 ./slackware64/ap/nano-2.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-22 18:22 ./slackware64/ap/nano-2.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 514 2013-03-21 20:45 ./slackware64/ap/normalize-0.7.7-x86_64-2.txt +-rw-r--r-- 1 root root 62808 2013-03-21 20:45 ./slackware64/ap/normalize-0.7.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-03-21 20:45 ./slackware64/ap/normalize-0.7.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 290 2016-01-10 23:45 ./slackware64/ap/pamixer-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 43944 2016-01-10 23:45 ./slackware64/ap/pamixer-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:45 ./slackware64/ap/pamixer-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 375 2013-10-27 00:04 ./slackware64/ap/pm-utils-1.4.1-x86_64-5.txt +-rw-r--r-- 1 root root 68444 2013-10-27 00:04 ./slackware64/ap/pm-utils-1.4.1-x86_64-5.txz +-rw-r--r-- 1 root root 198 2013-10-27 00:04 ./slackware64/ap/pm-utils-1.4.1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 544 2015-11-07 18:42 ./slackware64/ap/powertop-2.8-x86_64-1.txt +-rw-r--r-- 1 root root 202868 2015-11-07 18:42 ./slackware64/ap/powertop-2.8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-07 18:42 ./slackware64/ap/powertop-2.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 496 2015-12-15 05:42 ./slackware64/ap/qpdf-6.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 544032 2015-12-15 05:42 ./slackware64/ap/qpdf-6.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:42 ./slackware64/ap/qpdf-6.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 364 2015-04-17 19:06 ./slackware64/ap/radeontool-1.6.3-x86_64-1.txt +-rw-r--r-- 1 root root 57772 2015-04-17 19:06 ./slackware64/ap/radeontool-1.6.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 19:06 ./slackware64/ap/radeontool-1.6.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 493 2015-12-22 22:35 ./slackware64/ap/rpm-4.12.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 823888 2015-12-22 22:35 ./slackware64/ap/rpm-4.12.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-22 22:35 ./slackware64/ap/rpm-4.12.0.1-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 2015-08-03 20:09 ./slackware64/ap/sc-7.16-x86_64-4.txt +-rw-r--r-- 1 root root 202976 2015-08-03 20:09 ./slackware64/ap/sc-7.16-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-08-03 20:09 ./slackware64/ap/sc-7.16-x86_64-4.txz.asc +-rw-r--r-- 1 root root 654 2016-06-21 18:46 ./slackware64/ap/screen-4.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 537660 2016-06-21 18:46 ./slackware64/ap/screen-4.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-21 18:46 ./slackware64/ap/screen-4.4.0-x86_64-1.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 441 2016-06-15 01:26 ./slackware64/ap/slackpkg-2.82.1-noarch-3.txt +-rw-r--r-- 1 root root 174652 2016-06-15 01:26 ./slackware64/ap/slackpkg-2.82.1-noarch-3.txz +-rw-r--r-- 1 root root 181 2016-06-15 01:26 ./slackware64/ap/slackpkg-2.82.1-noarch-3.txz.asc +-rw-r--r-- 1 root root 294 2016-01-29 18:30 ./slackware64/ap/soma-2.10.4-noarch-1.txt +-rw-r--r-- 1 root root 10764 2016-01-29 18:30 ./slackware64/ap/soma-2.10.4-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-01-29 18:30 ./slackware64/ap/soma-2.10.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 295 2016-01-15 21:34 ./slackware64/ap/sox-14.4.2-x86_64-3.txt +-rw-r--r-- 1 root root 382864 2016-01-15 21:34 ./slackware64/ap/sox-14.4.2-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-01-15 21:34 ./slackware64/ap/sox-14.4.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 484 2016-05-20 17:21 ./slackware64/ap/sqlite-3.13.0-x86_64-1.txt +-rw-r--r-- 1 root root 627028 2016-05-20 17:21 ./slackware64/ap/sqlite-3.13.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-20 17:21 ./slackware64/ap/sqlite-3.13.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 584 2015-11-14 04:57 ./slackware64/ap/squashfs-tools-4.3-x86_64-1.txt +-rw-r--r-- 1 root root 129292 2015-11-14 04:57 ./slackware64/ap/squashfs-tools-4.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-14 04:57 ./slackware64/ap/squashfs-tools-4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 414 2016-03-25 17:42 ./slackware64/ap/sudo-1.8.16-x86_64-1.txt +-rw-r--r-- 1 root root 580052 2016-03-25 17:42 ./slackware64/ap/sudo-1.8.16-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-25 17:42 ./slackware64/ap/sudo-1.8.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 444 2016-03-07 20:18 ./slackware64/ap/sysstat-11.2.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 266912 2016-03-07 20:18 ./slackware64/ap/sysstat-11.2.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:18 ./slackware64/ap/sysstat-11.2.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 916 2016-03-08 01:38 ./slackware64/ap/tagfile +-rw-r--r-- 1 root root 506 2015-12-04 20:35 ./slackware64/ap/terminus-font-4.40-noarch-1.txt +-rw-r--r-- 1 root root 2049452 2015-12-04 20:35 ./slackware64/ap/terminus-font-4.40-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-12-04 20:35 ./slackware64/ap/terminus-font-4.40-noarch-1.txz.asc +-rw-r--r-- 1 root root 616 2016-03-04 04:41 ./slackware64/ap/texinfo-6.1-x86_64-1.txt +-rw-r--r-- 1 root root 1237168 2016-03-04 04:41 ./slackware64/ap/texinfo-6.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-04 04:41 ./slackware64/ap/texinfo-6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 358 2016-05-31 02:50 ./slackware64/ap/tmux-2.1-x86_64-3.txt +-rw-r--r-- 1 root root 220232 2016-05-31 02:50 ./slackware64/ap/tmux-2.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-05-31 02:50 ./slackware64/ap/tmux-2.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 281 2015-11-19 05:57 ./slackware64/ap/usbmuxd-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 45520 2015-11-19 05:57 ./slackware64/ap/usbmuxd-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:57 ./slackware64/ap/usbmuxd-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 375 2015-12-23 02:52 ./slackware64/ap/vbetool-1.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 14916 2015-12-23 02:52 ./slackware64/ap/vbetool-1.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 02:52 ./slackware64/ap/vbetool-1.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 385 2016-06-15 01:48 ./slackware64/ap/vim-7.4.1938-x86_64-1.txt +-rw-r--r-- 1 root root 6475660 2016-06-15 01:48 ./slackware64/ap/vim-7.4.1938-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 01:48 ./slackware64/ap/vim-7.4.1938-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 2015-12-15 06:08 ./slackware64/ap/xfsdump-3.1.6-x86_64-1.txt +-rw-r--r-- 1 root root 339516 2015-12-15 06:08 ./slackware64/ap/xfsdump-3.1.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 06:08 ./slackware64/ap/xfsdump-3.1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 508 2016-03-21 18:18 ./slackware64/ap/zsh-5.2-x86_64-1.txt +-rw-r--r-- 1 root root 2738596 2016-03-21 18:18 ./slackware64/ap/zsh-5.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-21 18:18 ./slackware64/ap/zsh-5.2-x86_64-1.txz.asc +drwxr-xr-x 2 root root 12288 2016-06-24 23:57 ./slackware64/d +-rw-r--r-- 1 root root 361 2015-12-22 23:05 ./slackware64/d/Cython-0.23.4-x86_64-1.txt +-rw-r--r-- 1 root root 2069152 2015-12-22 23:05 ./slackware64/d/Cython-0.23.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-22 23:05 ./slackware64/d/Cython-0.23.4-x86_64-1.txz.asc +-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 2015-10-25 16:33 ./slackware64/d/automake-1.15-noarch-1.txt +-rw-r--r-- 1 root root 634072 2015-10-25 16:33 ./slackware64/d/automake-1.15-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 16:33 ./slackware64/d/automake-1.15-noarch-1.txz.asc +-rw-r--r-- 1 root root 443 2016-03-07 04:37 ./slackware64/d/binutils-2.26-x86_64-3.txt +-rw-r--r-- 1 root root 4703900 2016-03-07 04:37 ./slackware64/d/binutils-2.26-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 04:37 ./slackware64/d/binutils-2.26-x86_64-3.txz.asc +-rw-r--r-- 1 root root 471 2015-04-18 20:58 ./slackware64/d/bison-3.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 575032 2015-04-18 20:58 ./slackware64/d/bison-3.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-18 20:58 ./slackware64/d/bison-3.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 314 2015-10-09 15:57 ./slackware64/d/ccache-3.2.4-x86_64-1.txt +-rw-r--r-- 1 root root 94716 2015-10-09 15:57 ./slackware64/d/ccache-3.2.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-09 15:57 ./slackware64/d/ccache-3.2.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 665 2015-03-18 22:38 ./slackware64/d/clisp-2.49-x86_64-3.txt +-rw-r--r-- 1 root root 2696144 2015-03-18 22:38 ./slackware64/d/clisp-2.49-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-18 22:38 ./slackware64/d/clisp-2.49-x86_64-3.txz.asc +-rw-r--r-- 1 root root 398 2016-04-17 17:55 ./slackware64/d/cmake-3.5.2-x86_64-1.txt +-rw-r--r-- 1 root root 9881576 2016-04-17 17:55 ./slackware64/d/cmake-3.5.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-17 17:55 ./slackware64/d/cmake-3.5.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2016-03-07 19:30 ./slackware64/d/cscope-15.8b-x86_64-1.txt +-rw-r--r-- 1 root root 139872 2016-03-07 19:30 ./slackware64/d/cscope-15.8b-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:30 ./slackware64/d/cscope-15.8b-x86_64-1.txz.asc +-rw-r--r-- 1 root root 538 2013-07-07 06:55 ./slackware64/d/cvs-1.11.23-x86_64-2.txt +-rw-r--r-- 1 root root 869032 2013-07-07 06:55 ./slackware64/d/cvs-1.11.23-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-07-07 06:55 ./slackware64/d/cvs-1.11.23-x86_64-2.txz.asc +-rw-r--r-- 1 root root 398 2015-10-15 21:01 ./slackware64/d/dev86-0.16.21-x86_64-1.txt +-rw-r--r-- 1 root root 293600 2015-10-15 21:01 ./slackware64/d/dev86-0.16.21-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 21:01 ./slackware64/d/dev86-0.16.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 483 2013-03-31 22:26 ./slackware64/d/distcc-3.1-x86_64-1.txt +-rw-r--r-- 1 root root 288584 2013-03-31 22:26 ./slackware64/d/distcc-3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-03-31 22:26 ./slackware64/d/distcc-3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 511 2015-04-15 19:00 ./slackware64/d/doxygen-1.8.9.1-x86_64-1.txt +-rw-r--r-- 1 root root 5089004 2015-04-15 19:00 ./slackware64/d/doxygen-1.8.9.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-15 19:00 ./slackware64/d/doxygen-1.8.9.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 331 2015-12-11 03:41 ./slackware64/d/flex-2.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 288140 2015-12-11 03:41 ./slackware64/d/flex-2.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-11 03:41 ./slackware64/d/flex-2.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 311 2016-03-07 05:17 ./slackware64/d/gcc-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 18463036 2016-03-07 05:17 ./slackware64/d/gcc-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:17 ./slackware64/d/gcc-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 295 2016-03-07 05:17 ./slackware64/d/gcc-g++-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 8011836 2016-03-07 05:17 ./slackware64/d/gcc-g++-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:17 ./slackware64/d/gcc-g++-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 620 2016-03-07 05:17 ./slackware64/d/gcc-gfortran-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 6489792 2016-03-07 05:17 ./slackware64/d/gcc-gfortran-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:17 ./slackware64/d/gcc-gfortran-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 384 2016-03-07 05:18 ./slackware64/d/gcc-gnat-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 14294980 2016-03-07 05:18 ./slackware64/d/gcc-gnat-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:18 ./slackware64/d/gcc-gnat-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 574 2016-03-07 05:19 ./slackware64/d/gcc-go-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 13718988 2016-03-07 05:19 ./slackware64/d/gcc-go-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:19 ./slackware64/d/gcc-go-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 358 2016-03-07 05:18 ./slackware64/d/gcc-java-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 27425128 2016-03-07 05:18 ./slackware64/d/gcc-java-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:18 ./slackware64/d/gcc-java-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 503 2016-03-07 05:18 ./slackware64/d/gcc-objc-5.3.0-x86_64-3.txt +-rw-r--r-- 1 root root 5740284 2016-03-07 05:18 ./slackware64/d/gcc-objc-5.3.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-07 05:18 ./slackware64/d/gcc-objc-5.3.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 757 2016-06-01 17:40 ./slackware64/d/gdb-7.11.1-x86_64-1.txt +-rw-r--r-- 1 root root 3831764 2016-06-01 17:40 ./slackware64/d/gdb-7.11.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-01 17:40 ./slackware64/d/gdb-7.11.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 629 2016-06-13 18:28 ./slackware64/d/gettext-tools-0.19.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 2408164 2016-06-13 18:28 ./slackware64/d/gettext-tools-0.19.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-13 18:28 ./slackware64/d/gettext-tools-0.19.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 397 2016-06-14 19:01 ./slackware64/d/git-2.9.0-x86_64-1.txt +-rw-r--r-- 1 root root 4917320 2016-06-14 19:01 ./slackware64/d/git-2.9.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-14 19:01 ./slackware64/d/git-2.9.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 603 2014-06-26 18:54 ./slackware64/d/gnu-cobol-1.1-x86_64-1.txt +-rw-r--r-- 1 root root 357556 2014-06-26 18:54 ./slackware64/d/gnu-cobol-1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-06-26 18:54 ./slackware64/d/gnu-cobol-1.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 436 2015-02-06 21:53 ./slackware64/d/guile-2.0.11-x86_64-2.txt +-rw-r--r-- 1 root root 3226020 2015-02-06 21:53 ./slackware64/d/guile-2.0.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-02-06 21:53 ./slackware64/d/guile-2.0.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 288 2015-04-17 17:45 ./slackware64/d/help2man-1.46.5-x86_64-1.txt +-rw-r--r-- 1 root root 149596 2015-04-17 17:45 ./slackware64/d/help2man-1.46.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 17:45 ./slackware64/d/help2man-1.46.5-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 2015-11-24 02:40 ./slackware64/d/intltool-0.51.0-x86_64-2.txt +-rw-r--r-- 1 root root 47872 2015-11-24 02:40 ./slackware64/d/intltool-0.51.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-24 02:40 ./slackware64/d/intltool-0.51.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 332 2016-06-24 18:28 ./slackware64/d/kernel-headers-4.4.14-x86-1.txt +-rw-r--r-- 1 root root 744180 2016-06-24 18:28 ./slackware64/d/kernel-headers-4.4.14-x86-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 18:28 ./slackware64/d/kernel-headers-4.4.14-x86-1.txz.asc +-rw-r--r-- 1 root root 500 2015-12-10 00:53 ./slackware64/d/libtool-2.4.6-x86_64-4.txt +-rw-r--r-- 1 root root 436232 2015-12-10 00:53 ./slackware64/d/libtool-2.4.6-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-12-10 00:53 ./slackware64/d/libtool-2.4.6-x86_64-4.txz.asc +-rw-r--r-- 1 root root 368 2016-06-22 18:14 ./slackware64/d/llvm-3.8.0-x86_64-2.txt +-rw-r--r-- 1 root root 61026296 2016-06-22 18:14 ./slackware64/d/llvm-3.8.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-22 18:14 ./slackware64/d/llvm-3.8.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 475 2013-09-25 21:40 ./slackware64/d/m4-1.4.17-x86_64-1.txt +-rw-r--r-- 1 root root 223192 2013-09-25 21:40 ./slackware64/d/m4-1.4.17-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-09-25 21:40 ./slackware64/d/m4-1.4.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 468 2016-04-03 18:09 ./slackware64/d/make-4.1-x86_64-2.txt +-rw-r--r-- 1 root root 450152 2016-04-03 18:09 ./slackware64/d/make-4.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-03 18:09 ./slackware64/d/make-4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 4161 2015-12-23 05:01 ./slackware64/d/maketag +-rw-r--r-- 1 root root 4161 2015-12-23 05:01 ./slackware64/d/maketag.ez +-rw-r--r-- 1 root root 664 2016-05-17 17:56 ./slackware64/d/mercurial-3.8.2-x86_64-1.txt +-rw-r--r-- 1 root root 2736628 2016-05-17 17:56 ./slackware64/d/mercurial-3.8.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-17 17:56 ./slackware64/d/mercurial-3.8.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 310 2016-04-06 01:07 ./slackware64/d/nasm-2.12.01-x86_64-1.txt +-rw-r--r-- 1 root root 430588 2016-04-06 01:07 ./slackware64/d/nasm-2.12.01-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-06 01:07 ./slackware64/d/nasm-2.12.01-x86_64-1.txz.asc +-rw-r--r-- 1 root root 506 2016-01-27 19:36 ./slackware64/d/oprofile-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 856676 2016-01-27 19:36 ./slackware64/d/oprofile-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-27 19:36 ./slackware64/d/oprofile-1.1.0-x86_64-1.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 2016-04-30 04:46 ./slackware64/d/perl-5.22.2-x86_64-1.txt +-rw-r--r-- 1 root root 14569348 2016-04-30 04:46 ./slackware64/d/perl-5.22.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-30 04:46 ./slackware64/d/perl-5.22.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2016-06-04 18:23 ./slackware64/d/pkg-config-0.29.1-x86_64-2.txt +-rw-r--r-- 1 root root 45412 2016-06-04 18:23 ./slackware64/d/pkg-config-0.29.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-04 18:23 ./slackware64/d/pkg-config-0.29.1-x86_64-2.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 2016-03-03 19:37 ./slackware64/d/python-2.7.11-x86_64-2.txt +-rw-r--r-- 1 root root 14373488 2016-03-03 19:37 ./slackware64/d/python-2.7.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-03 19:37 ./slackware64/d/python-2.7.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 513 2016-06-08 19:17 ./slackware64/d/python-setuptools-22.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 393924 2016-06-08 19:17 ./slackware64/d/python-setuptools-22.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-08 19:17 ./slackware64/d/python-setuptools-22.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2015-04-18 21:05 ./slackware64/d/rcs-5.9.4-x86_64-1.txt +-rw-r--r-- 1 root root 204476 2015-04-18 21:05 ./slackware64/d/rcs-5.9.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-18 21:05 ./slackware64/d/rcs-5.9.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 410 2016-04-30 19:56 ./slackware64/d/ruby-2.2.5-x86_64-1.txt +-rw-r--r-- 1 root root 7820772 2016-04-30 19:56 ./slackware64/d/ruby-2.2.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-30 19:56 ./slackware64/d/ruby-2.2.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 456 2015-12-04 05:10 ./slackware64/d/scons-2.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 808096 2015-12-04 05:10 ./slackware64/d/scons-2.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-04 05:10 ./slackware64/d/scons-2.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 467 2015-05-05 18:33 ./slackware64/d/slacktrack-2.17-x86_64-1.txt +-rw-r--r-- 1 root root 99728 2015-05-05 18:33 ./slackware64/d/slacktrack-2.17-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-05-05 18:33 ./slackware64/d/slacktrack-2.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 550 2016-04-06 01:04 ./slackware64/d/strace-4.11-x86_64-1.txt +-rw-r--r-- 1 root root 172520 2016-04-06 01:04 ./slackware64/d/strace-4.11-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-06 01:04 ./slackware64/d/strace-4.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 597 2016-04-30 18:27 ./slackware64/d/subversion-1.9.4-x86_64-1.txt +-rw-r--r-- 1 root root 4528032 2016-04-30 18:27 ./slackware64/d/subversion-1.9.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-30 18:27 ./slackware64/d/subversion-1.9.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 561 2015-08-07 18:37 ./slackware64/d/swig-3.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 2538492 2015-08-07 18:37 ./slackware64/d/swig-3.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-07 18:37 ./slackware64/d/swig-3.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 597 2015-12-23 05:01 ./slackware64/d/tagfile +-rw-r--r-- 1 root root 592 2015-03-07 03:16 ./slackware64/d/yasm-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 537192 2015-03-07 03:16 ./slackware64/d/yasm-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-07 03:16 ./slackware64/d/yasm-1.3.0-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2015-08-21 21:34 ./slackware64/e +-rw-r--r-- 1 root root 471 2015-08-20 19:55 ./slackware64/e/emacs-24.5-x86_64-2.txt +-rw-r--r-- 1 root root 40654128 2015-08-20 19:55 ./slackware64/e/emacs-24.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 19:55 ./slackware64/e/emacs-24.5-x86_64-2.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 961 2015-04-20 02:07 ./slackware64/e/maketag +-rw-r--r-- 1 root root 961 2015-04-20 02:07 ./slackware64/e/maketag.ez +-rw-r--r-- 1 root root 10 2015-04-20 02:07 ./slackware64/e/tagfile +drwxr-xr-x 2 root root 4096 2016-04-01 21:41 ./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 2016-04-01 21:10 ./slackware64/f/linux-howtos-20160401-noarch-1.txt +-rw-r--r-- 1 root root 6605036 2016-04-01 21:10 ./slackware64/f/linux-howtos-20160401-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-04-01 21:10 ./slackware64/f/linux-howtos-20160401-noarch-1.txz.asc +-rw-r--r-- 1 root root 1077 2015-04-20 02:07 ./slackware64/f/maketag +-rw-r--r-- 1 root root 1077 2015-04-20 02:07 ./slackware64/f/maketag.ez +-rw-r--r-- 1 root root 32 2015-04-20 02:07 ./slackware64/f/tagfile +drwxr-xr-x 2 root root 4096 2016-06-24 23:57 ./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 2016-06-24 18:28 ./slackware64/k/kernel-source-4.4.14-noarch-1.txt +-rw-r--r-- 1 root root 90974752 2016-06-24 18:28 ./slackware64/k/kernel-source-4.4.14-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 18:28 ./slackware64/k/kernel-source-4.4.14-noarch-1.txz.asc +-rw-r--r-- 1 root root 1172 2016-06-24 21:06 ./slackware64/k/maketag +-rw-r--r-- 1 root root 1172 2016-06-24 21:06 ./slackware64/k/maketag.ez +-rw-r--r-- 1 root root 18 2016-06-24 21:06 ./slackware64/k/tagfile +drwxr-xr-x 2 root root 36864 2016-06-23 23:07 ./slackware64/kde +-rw-r--r-- 1 root root 322 2015-10-25 09:32 ./slackware64/kde/amarok-2.8.0-x86_64-3.txt +-rw-r--r-- 1 root root 34959092 2015-10-25 09:32 ./slackware64/kde/amarok-2.8.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:32 ./slackware64/kde/amarok-2.8.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 445 2015-10-25 08:44 ./slackware64/kde/amor-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 193648 2015-10-25 08:44 ./slackware64/kde/amor-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:44 ./slackware64/kde/amor-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 333 2015-10-25 08:58 ./slackware64/kde/analitza-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 311352 2015-10-25 08:58 ./slackware64/kde/analitza-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:58 ./slackware64/kde/analitza-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 175 2015-10-25 08:17 ./slackware64/kde/ark-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 366068 2015-10-25 08:17 ./slackware64/kde/ark-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:17 ./slackware64/kde/ark-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 432 2015-10-25 08:58 ./slackware64/kde/artikulate-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2623288 2015-10-25 08:58 ./slackware64/kde/artikulate-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:58 ./slackware64/kde/artikulate-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 194 2015-10-25 08:24 ./slackware64/kde/audiocd-kio-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 97148 2015-10-25 08:24 ./slackware64/kde/audiocd-kio-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:24 ./slackware64/kde/audiocd-kio-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 370 2015-10-25 07:40 ./slackware64/kde/baloo-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 449332 2015-10-25 07:40 ./slackware64/kde/baloo-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:40 ./slackware64/kde/baloo-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 309 2015-10-25 07:40 ./slackware64/kde/baloo-widgets-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 67792 2015-10-25 07:40 ./slackware64/kde/baloo-widgets-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:40 ./slackware64/kde/baloo-widgets-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 181 2015-10-25 08:58 ./slackware64/kde/blinken-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 590284 2015-10-25 08:58 ./slackware64/kde/blinken-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:58 ./slackware64/kde/blinken-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 234 2015-12-23 00:19 ./slackware64/kde/bluedevil-2.1.1-x86_64-3.txt +-rw-r--r-- 1 root root 318076 2015-12-23 00:19 ./slackware64/kde/bluedevil-2.1.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-12-23 00:19 ./slackware64/kde/bluedevil-2.1.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 427 2015-10-25 08:39 ./slackware64/kde/bomber-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 402260 2015-10-25 08:39 ./slackware64/kde/bomber-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:39 ./slackware64/kde/bomber-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 332 2015-10-25 08:38 ./slackware64/kde/bovo-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 137360 2015-10-25 08:38 ./slackware64/kde/bovo-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:38 ./slackware64/kde/bovo-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 562 2016-06-23 06:54 ./slackware64/kde/calligra-2.9.11-x86_64-5.txt +-rw-r--r-- 1 root root 88006184 2016-06-23 06:54 ./slackware64/kde/calligra-2.9.11-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-06-23 06:54 ./slackware64/kde/calligra-2.9.11-x86_64-5.txz.asc +-rw-r--r-- 1 root root 340 2015-10-25 08:59 ./slackware64/kde/cantor-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 565156 2015-10-25 08:59 ./slackware64/kde/cantor-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:59 ./slackware64/kde/cantor-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 175 2015-10-25 07:56 ./slackware64/kde/cervisia-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 551688 2015-10-25 07:56 ./slackware64/kde/cervisia-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:56 ./slackware64/kde/cervisia-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 325 2015-10-25 07:56 ./slackware64/kde/dolphin-plugins-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 132764 2015-10-25 07:56 ./slackware64/kde/dolphin-plugins-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:56 ./slackware64/kde/dolphin-plugins-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 297 2015-10-25 08:24 ./slackware64/kde/dragon-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 433104 2015-10-25 08:24 ./slackware64/kde/dragon-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:24 ./slackware64/kde/dragon-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 352 2015-10-25 08:17 ./slackware64/kde/filelight-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 328528 2015-10-25 08:17 ./slackware64/kde/filelight-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:17 ./slackware64/kde/filelight-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 255 2015-10-25 08:39 ./slackware64/kde/granatier-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1428988 2015-10-25 08:39 ./slackware64/kde/granatier-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:39 ./slackware64/kde/granatier-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 293 2015-10-25 08:03 ./slackware64/kde/gwenview-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2935724 2015-10-25 08:03 ./slackware64/kde/gwenview-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:03 ./slackware64/kde/gwenview-4.14.3-x86_64-2.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 336 2015-10-25 08:25 ./slackware64/kde/juk-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 704064 2015-10-25 08:25 ./slackware64/kde/juk-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:25 ./slackware64/kde/juk-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 382 2015-10-29 17:26 ./slackware64/kde/k3b-2.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 10258424 2015-10-29 17:26 ./slackware64/kde/k3b-2.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-29 17:26 ./slackware64/kde/k3b-2.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 301 2015-10-25 08:16 ./slackware64/kde/kaccessible-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 38984 2015-10-25 08:16 ./slackware64/kde/kaccessible-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:16 ./slackware64/kde/kaccessible-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 330 2015-10-25 07:42 ./slackware64/kde/kactivities-4.13.3-x86_64-2.txt +-rw-r--r-- 1 root root 201120 2015-10-25 07:42 ./slackware64/kde/kactivities-4.13.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:42 ./slackware64/kde/kactivities-4.13.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 441 2015-10-25 08:38 ./slackware64/kde/kajongg-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2739012 2015-10-25 08:38 ./slackware64/kde/kajongg-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:38 ./slackware64/kde/kajongg-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 289 2015-10-25 08:59 ./slackware64/kde/kalgebra-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 332084 2015-10-25 08:59 ./slackware64/kde/kalgebra-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:59 ./slackware64/kde/kalgebra-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 188 2015-10-25 09:00 ./slackware64/kde/kalzium-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 4064920 2015-10-25 09:00 ./slackware64/kde/kalzium-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:00 ./slackware64/kde/kalzium-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 160 2015-10-25 08:03 ./slackware64/kde/kamera-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 64760 2015-10-25 08:03 ./slackware64/kde/kamera-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:03 ./slackware64/kde/kamera-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 436 2015-10-25 09:00 ./slackware64/kde/kanagram-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 4282752 2015-10-25 09:00 ./slackware64/kde/kanagram-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:00 ./slackware64/kde/kanagram-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 456 2015-10-25 08:40 ./slackware64/kde/kapman-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1820788 2015-10-25 08:40 ./slackware64/kde/kapman-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:40 ./slackware64/kde/kapman-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 294 2015-10-25 07:56 ./slackware64/kde/kapptemplate-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1137756 2015-10-25 07:56 ./slackware64/kde/kapptemplate-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:56 ./slackware64/kde/kapptemplate-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 469 2015-10-25 07:44 ./slackware64/kde/kate-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 3256308 2015-10-25 07:44 ./slackware64/kde/kate-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:44 ./slackware64/kde/kate-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 359 2015-10-25 08:43 ./slackware64/kde/katomic-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 638012 2015-10-25 08:43 ./slackware64/kde/katomic-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:43 ./slackware64/kde/katomic-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 295 2015-10-25 09:16 ./slackware64/kde/kaudiocreator-1.3-x86_64-2.txt +-rw-r--r-- 1 root root 293696 2015-10-25 09:16 ./slackware64/kde/kaudiocreator-1.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:16 ./slackware64/kde/kaudiocreator-1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 266 2015-10-25 08:43 ./slackware64/kde/kblackbox-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 278080 2015-10-25 08:43 ./slackware64/kde/kblackbox-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:43 ./slackware64/kde/kblackbox-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 200 2015-10-25 08:38 ./slackware64/kde/kblocks-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1241996 2015-10-25 08:38 ./slackware64/kde/kblocks-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:38 ./slackware64/kde/kblocks-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 388 2015-10-25 08:40 ./slackware64/kde/kbounce-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1601784 2015-10-25 08:40 ./slackware64/kde/kbounce-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:40 ./slackware64/kde/kbounce-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 214 2015-10-25 08:41 ./slackware64/kde/kbreakout-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1402328 2015-10-25 08:41 ./slackware64/kde/kbreakout-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:41 ./slackware64/kde/kbreakout-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 183 2015-10-25 09:00 ./slackware64/kde/kbruch-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 948392 2015-10-25 09:00 ./slackware64/kde/kbruch-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:00 ./slackware64/kde/kbruch-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 281 2015-10-25 07:56 ./slackware64/kde/kcachegrind-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 333172 2015-10-25 07:56 ./slackware64/kde/kcachegrind-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:56 ./slackware64/kde/kcachegrind-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 264 2015-10-25 08:18 ./slackware64/kde/kcalc-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 163552 2015-10-25 08:18 ./slackware64/kde/kcalc-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:18 ./slackware64/kde/kcalc-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 352 2015-10-25 08:18 ./slackware64/kde/kcharselect-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 89804 2015-10-25 08:18 ./slackware64/kde/kcharselect-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:18 ./slackware64/kde/kcharselect-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 232 2015-10-25 08:04 ./slackware64/kde/kcolorchooser-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 7624 2015-10-25 08:04 ./slackware64/kde/kcolorchooser-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:04 ./slackware64/kde/kcolorchooser-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 237 2015-10-25 08:32 ./slackware64/kde/kcron-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 218948 2015-10-25 08:32 ./slackware64/kde/kcron-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:32 ./slackware64/kde/kcron-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 292 2015-10-25 07:55 ./slackware64/kde/kde-base-artwork-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 7420032 2015-10-25 07:55 ./slackware64/kde/kde-base-artwork-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:55 ./slackware64/kde/kde-base-artwork-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 298 2015-10-25 09:13 ./slackware64/kde/kde-baseapps-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 3496912 2015-10-25 09:13 ./slackware64/kde/kde-baseapps-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:13 ./slackware64/kde/kde-baseapps-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 314 2015-10-25 07:56 ./slackware64/kde/kde-dev-scripts-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 88128 2015-10-25 07:56 ./slackware64/kde/kde-dev-scripts-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:56 ./slackware64/kde/kde-dev-scripts-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 336 2015-10-25 07:57 ./slackware64/kde/kde-dev-utils-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 114996 2015-10-25 07:57 ./slackware64/kde/kde-dev-utils-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:57 ./slackware64/kde/kde-dev-utils-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 244 2016-01-11 02:18 ./slackware64/kde/kde-runtime-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 9111556 2016-01-11 02:18 ./slackware64/kde/kde-runtime-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-01-11 02:18 ./slackware64/kde/kde-runtime-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 243 2015-04-02 20:05 ./slackware64/kde/kde-wallpapers-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 90648996 2015-04-02 20:05 ./slackware64/kde/kde-wallpapers-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 20:05 ./slackware64/kde/kde-wallpapers-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 300 2016-06-23 22:41 ./slackware64/kde/kde-workspace-4.11.22-x86_64-4.txt +-rw-r--r-- 1 root root 17832048 2016-06-23 22:41 ./slackware64/kde/kde-workspace-4.11.22-x86_64-4.txz +-rw-r--r-- 1 root root 181 2016-06-23 22:41 ./slackware64/kde/kde-workspace-4.11.22-x86_64-4.txz.asc +-rw-r--r-- 1 root root 233 2015-10-25 08:35 ./slackware64/kde/kdeartwork-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 136067504 2015-10-25 08:35 ./slackware64/kde/kdeartwork-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:35 ./slackware64/kde/kdeartwork-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 643 2015-11-19 23:23 ./slackware64/kde/kdeconnect-kde-0.8-x86_64-3.txt +-rw-r--r-- 1 root root 302680 2015-11-19 23:23 ./slackware64/kde/kdeconnect-kde-0.8-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-19 23:23 ./slackware64/kde/kdeconnect-kde-0.8-x86_64-3.txz.asc +-rw-r--r-- 1 root root 350 2015-10-25 08:02 ./slackware64/kde/kdegraphics-mobipocket-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 24260 2015-10-25 08:02 ./slackware64/kde/kdegraphics-mobipocket-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:02 ./slackware64/kde/kdegraphics-mobipocket-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 558 2015-10-25 08:03 ./slackware64/kde/kdegraphics-strigi-analyzer-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 17456 2015-10-25 08:03 ./slackware64/kde/kdegraphics-strigi-analyzer-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:03 ./slackware64/kde/kdegraphics-strigi-analyzer-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 452 2015-10-25 08:03 ./slackware64/kde/kdegraphics-thumbnailers-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 37780 2015-10-25 08:03 ./slackware64/kde/kdegraphics-thumbnailers-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:03 ./slackware64/kde/kdegraphics-thumbnailers-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 191 2016-06-15 17:35 ./slackware64/kde/kdelibs-4.14.21-x86_64-1.txt +-rw-r--r-- 1 root root 13121424 2016-06-15 17:35 ./slackware64/kde/kdelibs-4.14.21-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 17:35 ./slackware64/kde/kdelibs-4.14.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 410 2015-10-25 08:26 ./slackware64/kde/kdenetwork-filesharing-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 38124 2015-10-25 08:26 ./slackware64/kde/kdenetwork-filesharing-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:26 ./slackware64/kde/kdenetwork-filesharing-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 455 2015-10-25 08:26 ./slackware64/kde/kdenetwork-strigi-analyzers-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 24136 2015-10-25 08:26 ./slackware64/kde/kdenetwork-strigi-analyzers-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:26 ./slackware64/kde/kdenetwork-strigi-analyzers-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 417 2015-10-25 08:54 ./slackware64/kde/kdepim-4.14.10-x86_64-1.txt +-rw-r--r-- 1 root root 21133472 2015-10-25 08:54 ./slackware64/kde/kdepim-4.14.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:54 ./slackware64/kde/kdepim-4.14.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 508 2015-10-25 08:56 ./slackware64/kde/kdepim-runtime-4.14.10-x86_64-1.txt +-rw-r--r-- 1 root root 2437632 2015-10-25 08:56 ./slackware64/kde/kdepim-runtime-4.14.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:56 ./slackware64/kde/kdepim-runtime-4.14.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 274 2016-02-25 19:03 ./slackware64/kde/kdepimlibs-4.14.10-x86_64-2.txt +-rw-r--r-- 1 root root 4390192 2016-02-25 19:03 ./slackware64/kde/kdepimlibs-4.14.10-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-02-25 19:03 ./slackware64/kde/kdepimlibs-4.14.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 296 2015-10-25 09:14 ./slackware64/kde/kdeplasma-addons-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2716064 2015-10-25 09:14 ./slackware64/kde/kdeplasma-addons-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:14 ./slackware64/kde/kdeplasma-addons-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 286 2015-10-25 07:57 ./slackware64/kde/kdesdk-kioslaves-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 398112 2015-10-25 07:57 ./slackware64/kde/kdesdk-kioslaves-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:57 ./slackware64/kde/kdesdk-kioslaves-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 380 2015-10-25 07:57 ./slackware64/kde/kdesdk-strigi-analyzers-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 25852 2015-10-25 07:57 ./slackware64/kde/kdesdk-strigi-analyzers-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:57 ./slackware64/kde/kdesdk-strigi-analyzers-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 374 2015-10-25 07:57 ./slackware64/kde/kdesdk-thumbnailers-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 15716 2015-10-25 07:57 ./slackware64/kde/kdesdk-thumbnailers-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:57 ./slackware64/kde/kdesdk-thumbnailers-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 256 2015-10-25 09:23 ./slackware64/kde/kdev-python-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 1679824 2015-10-25 09:23 ./slackware64/kde/kdev-python-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:23 ./slackware64/kde/kdev-python-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 220 2015-10-25 09:22 ./slackware64/kde/kdevelop-4.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 5113860 2015-10-25 09:22 ./slackware64/kde/kdevelop-4.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:22 ./slackware64/kde/kdevelop-4.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 289 2015-10-26 18:24 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-2.txt +-rw-r--r-- 1 root root 467128 2015-10-26 18:24 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-26 18:24 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 272 2015-10-25 09:24 ./slackware64/kde/kdevelop-php-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 846360 2015-10-25 09:24 ./slackware64/kde/kdevelop-php-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:24 ./slackware64/kde/kdevelop-php-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 333 2015-10-25 09:24 ./slackware64/kde/kdevelop-php-docs-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 48492 2015-10-25 09:24 ./slackware64/kde/kdevelop-php-docs-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:24 ./slackware64/kde/kdevelop-php-docs-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 247 2015-10-25 09:20 ./slackware64/kde/kdevplatform-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 3381556 2015-10-25 09:20 ./slackware64/kde/kdevplatform-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:20 ./slackware64/kde/kdevplatform-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 260 2015-10-25 09:11 ./slackware64/kde/kdewebdev-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1879716 2015-10-25 09:11 ./slackware64/kde/kdewebdev-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:11 ./slackware64/kde/kdewebdev-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 326 2015-10-25 08:18 ./slackware64/kde/kdf-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 210724 2015-10-25 08:18 ./slackware64/kde/kdf-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:18 ./slackware64/kde/kdf-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 270 2015-10-25 08:40 ./slackware64/kde/kdiamond-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 4192584 2015-10-25 08:40 ./slackware64/kde/kdiamond-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:40 ./slackware64/kde/kdiamond-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 277 2015-10-25 07:39 ./slackware64/kde/kfilemetadata-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 76392 2015-10-25 07:39 ./slackware64/kde/kfilemetadata-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:39 ./slackware64/kde/kfilemetadata-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 302 2015-10-25 08:18 ./slackware64/kde/kfloppy-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 71004 2015-10-25 08:18 ./slackware64/kde/kfloppy-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:18 ./slackware64/kde/kfloppy-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 336 2015-10-25 08:42 ./slackware64/kde/kfourinline-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 337200 2015-10-25 08:42 ./slackware64/kde/kfourinline-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:42 ./slackware64/kde/kfourinline-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 182 2015-10-25 08:04 ./slackware64/kde/kgamma-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 46464 2015-10-25 08:04 ./slackware64/kde/kgamma-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:04 ./slackware64/kde/kgamma-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 514 2015-10-25 09:00 ./slackware64/kde/kgeography-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 5950308 2015-10-25 09:00 ./slackware64/kde/kgeography-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:00 ./slackware64/kde/kgeography-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 134 2015-10-25 08:27 ./slackware64/kde/kget-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1627484 2015-10-25 08:27 ./slackware64/kde/kget-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:27 ./slackware64/kde/kget-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 354 2015-10-25 08:41 ./slackware64/kde/kgoldrunner-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2103924 2015-10-25 08:41 ./slackware64/kde/kgoldrunner-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:41 ./slackware64/kde/kgoldrunner-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 217 2015-10-25 08:18 ./slackware64/kde/kgpg-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 935444 2015-10-25 08:18 ./slackware64/kde/kgpg-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:18 ./slackware64/kde/kgpg-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 371 2015-10-25 09:00 ./slackware64/kde/khangman-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1182648 2015-10-25 09:00 ./slackware64/kde/khangman-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:00 ./slackware64/kde/khangman-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 238 2015-11-17 00:00 ./slackware64/kde/kig-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 1636236 2015-11-17 00:00 ./slackware64/kde/kig-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-17 00:00 ./slackware64/kde/kig-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 528 2015-10-25 08:39 ./slackware64/kde/kigo-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1449776 2015-10-25 08:39 ./slackware64/kde/kigo-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:39 ./slackware64/kde/kigo-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 198 2015-10-25 08:40 ./slackware64/kde/killbots-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1004108 2015-10-25 08:40 ./slackware64/kde/killbots-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:40 ./slackware64/kde/killbots-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 388 2015-12-02 22:08 ./slackware64/kde/kio-mtp-2063e75_20131020git-x86_64-3.txt +-rw-r--r-- 1 root root 41448 2015-12-02 22:08 ./slackware64/kde/kio-mtp-2063e75_20131020git-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-12-02 22:08 ./slackware64/kde/kio-mtp-2063e75_20131020git-x86_64-3.txz.asc +-rw-r--r-- 1 root root 325 2015-10-25 08:39 ./slackware64/kde/kiriki-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 141500 2015-10-25 08:39 ./slackware64/kde/kiriki-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:39 ./slackware64/kde/kiriki-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 145 2015-10-25 09:02 ./slackware64/kde/kiten-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 11817076 2015-10-25 09:02 ./slackware64/kde/kiten-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:02 ./slackware64/kde/kiten-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 385 2015-10-25 08:43 ./slackware64/kde/kjumpingcube-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 193344 2015-10-25 08:43 ./slackware64/kde/kjumpingcube-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:43 ./slackware64/kde/kjumpingcube-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 354 2015-10-25 09:02 ./slackware64/kde/klettres-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2814800 2015-10-25 09:02 ./slackware64/kde/klettres-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:02 ./slackware64/kde/klettres-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 329 2015-10-25 08:36 ./slackware64/kde/klickety-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 817548 2015-10-25 08:36 ./slackware64/kde/klickety-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:36 ./slackware64/kde/klickety-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 370 2015-10-25 08:37 ./slackware64/kde/klines-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 970856 2015-10-25 08:37 ./slackware64/kde/klines-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:37 ./slackware64/kde/klines-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 123 2015-10-25 08:17 ./slackware64/kde/kmag-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 108460 2015-10-25 08:17 ./slackware64/kde/kmag-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:17 ./slackware64/kde/kmag-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 353 2015-10-25 08:44 ./slackware64/kde/kmahjongg-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1021808 2015-10-25 08:44 ./slackware64/kde/kmahjongg-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:44 ./slackware64/kde/kmahjongg-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 277 2015-10-25 08:39 ./slackware64/kde/kmines-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 649896 2015-10-25 08:39 ./slackware64/kde/kmines-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:39 ./slackware64/kde/kmines-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 251 2016-01-11 02:31 ./slackware64/kde/kmix-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 539572 2016-01-11 02:31 ./slackware64/kde/kmix-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-01-11 02:31 ./slackware64/kde/kmix-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 216 2015-10-25 08:17 ./slackware64/kde/kmousetool-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 56804 2015-10-25 08:17 ./slackware64/kde/kmousetool-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:17 ./slackware64/kde/kmousetool-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 187 2015-10-25 08:17 ./slackware64/kde/kmouth-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 383812 2015-10-25 08:17 ./slackware64/kde/kmouth-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:17 ./slackware64/kde/kmouth-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 484 2015-10-25 09:03 ./slackware64/kde/kmplot-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 797924 2015-10-25 09:03 ./slackware64/kde/kmplot-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:03 ./slackware64/kde/kmplot-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 456 2015-10-25 08:40 ./slackware64/kde/knavalbattle-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 904836 2015-10-25 08:40 ./slackware64/kde/knavalbattle-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:40 ./slackware64/kde/knavalbattle-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 307 2015-10-25 08:41 ./slackware64/kde/knetwalk-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 807600 2015-10-25 08:41 ./slackware64/kde/knetwalk-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:41 ./slackware64/kde/knetwalk-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 346 2015-10-25 08:39 ./slackware64/kde/kolf-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 829860 2015-10-25 08:39 ./slackware64/kde/kolf-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:39 ./slackware64/kde/kolf-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 199 2015-10-25 08:37 ./slackware64/kde/kollision-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 229504 2015-10-25 08:37 ./slackware64/kde/kollision-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:37 ./slackware64/kde/kollision-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 578 2015-10-25 08:04 ./slackware64/kde/kolourpaint-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1168052 2015-10-25 08:04 ./slackware64/kde/kolourpaint-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:04 ./slackware64/kde/kolourpaint-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 178 2015-10-25 07:57 ./slackware64/kde/kompare-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 399028 2015-10-25 07:57 ./slackware64/kde/kompare-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:57 ./slackware64/kde/kompare-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 310 2015-10-25 08:40 ./slackware64/kde/konquest-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 445796 2015-10-25 08:40 ./slackware64/kde/konquest-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:40 ./slackware64/kde/konquest-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 194 2015-10-25 07:42 ./slackware64/kde/konsole-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 420404 2015-10-25 07:42 ./slackware64/kde/konsole-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:42 ./slackware64/kde/konsole-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 436 2015-10-25 08:57 ./slackware64/kde/kopete-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 6622820 2015-10-25 08:57 ./slackware64/kde/kopete-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:57 ./slackware64/kde/kopete-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2015-10-25 08:10 ./slackware64/kde/korundum-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 146768 2015-10-25 08:10 ./slackware64/kde/korundum-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:10 ./slackware64/kde/korundum-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 255 2015-10-25 08:37 ./slackware64/kde/kpat-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 2967348 2015-10-25 08:37 ./slackware64/kde/kpat-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:37 ./slackware64/kde/kpat-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 477 2015-10-25 09:16 ./slackware64/kde/kplayer-0.7.2-x86_64-2.txt +-rw-r--r-- 1 root root 5922252 2015-10-25 09:16 ./slackware64/kde/kplayer-0.7.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:16 ./slackware64/kde/kplayer-0.7.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 297 2015-10-25 08:30 ./slackware64/kde/kppp-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 804436 2015-10-25 08:30 ./slackware64/kde/kppp-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:30 ./slackware64/kde/kppp-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 229 2015-10-25 09:05 ./slackware64/kde/kqtquickcharts-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 39284 2015-10-25 09:05 ./slackware64/kde/kqtquickcharts-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:05 ./slackware64/kde/kqtquickcharts-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 343 2015-10-25 08:31 ./slackware64/kde/krdc-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 477220 2015-10-25 08:31 ./slackware64/kde/krdc-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:31 ./slackware64/kde/krdc-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 382 2015-10-25 08:19 ./slackware64/kde/kremotecontrol-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1192996 2015-10-25 08:19 ./slackware64/kde/kremotecontrol-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:19 ./slackware64/kde/kremotecontrol-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 463 2015-10-25 08:38 ./slackware64/kde/kreversi-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 390580 2015-10-25 08:38 ./slackware64/kde/kreversi-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:38 ./slackware64/kde/kreversi-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 341 2015-10-25 08:31 ./slackware64/kde/krfb-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 444444 2015-10-25 08:31 ./slackware64/kde/krfb-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:31 ./slackware64/kde/krfb-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 376 2015-10-25 08:13 ./slackware64/kde/kross-interpreters-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 130312 2015-10-25 08:13 ./slackware64/kde/kross-interpreters-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:13 ./slackware64/kde/kross-interpreters-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 171 2015-10-25 08:05 ./slackware64/kde/kruler-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 121020 2015-10-25 08:05 ./slackware64/kde/kruler-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:05 ./slackware64/kde/kruler-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 258 2015-10-25 08:05 ./slackware64/kde/ksaneplugin-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 18040 2015-10-25 08:05 ./slackware64/kde/ksaneplugin-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:05 ./slackware64/kde/ksaneplugin-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 429 2015-10-25 09:55 ./slackware64/kde/kscreen-1.0.2.1-x86_64-2.txt +-rw-r--r-- 1 root root 139004 2015-10-25 09:55 ./slackware64/kde/kscreen-1.0.2.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:55 ./slackware64/kde/kscreen-1.0.2.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 297 2015-10-25 08:37 ./slackware64/kde/kshisen-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 144200 2015-10-25 08:37 ./slackware64/kde/kshisen-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:37 ./slackware64/kde/kshisen-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 161 2015-10-25 08:42 ./slackware64/kde/ksirk-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 3233632 2015-10-25 08:42 ./slackware64/kde/ksirk-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:42 ./slackware64/kde/ksirk-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 424 2015-10-25 08:37 ./slackware64/kde/ksnakeduel-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 345820 2015-10-25 08:37 ./slackware64/kde/ksnakeduel-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:37 ./slackware64/kde/ksnakeduel-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 186 2015-10-25 08:05 ./slackware64/kde/ksnapshot-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 304696 2015-10-25 08:05 ./slackware64/kde/ksnapshot-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:05 ./slackware64/kde/ksnapshot-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 328 2015-10-25 08:44 ./slackware64/kde/kspaceduel-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 200640 2015-10-25 08:44 ./slackware64/kde/kspaceduel-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:44 ./slackware64/kde/kspaceduel-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 303 2015-10-25 08:37 ./slackware64/kde/ksquares-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 94524 2015-10-25 08:37 ./slackware64/kde/ksquares-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:37 ./slackware64/kde/ksquares-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 152 2015-10-25 09:04 ./slackware64/kde/kstars-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 12669276 2015-10-25 09:04 ./slackware64/kde/kstars-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:04 ./slackware64/kde/kstars-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 316 2015-10-25 08:36 ./slackware64/kde/ksudoku-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1440764 2015-10-25 08:36 ./slackware64/kde/ksudoku-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:36 ./slackware64/kde/ksudoku-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 595 2015-10-25 08:33 ./slackware64/kde/ksystemlog-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 471232 2015-10-25 08:33 ./slackware64/kde/ksystemlog-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:33 ./slackware64/kde/ksystemlog-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 418 2015-10-25 08:44 ./slackware64/kde/kteatime-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 120748 2015-10-25 08:44 ./slackware64/kde/kteatime-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:44 ./slackware64/kde/kteatime-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 237 2015-10-25 08:19 ./slackware64/kde/ktimer-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 161564 2015-10-25 08:19 ./slackware64/kde/ktimer-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:19 ./slackware64/kde/ktimer-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 546 2015-10-25 09:28 ./slackware64/kde/ktorrent-4.3.1-x86_64-2.txt +-rw-r--r-- 1 root root 2479256 2015-10-25 09:28 ./slackware64/kde/ktorrent-4.3.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:28 ./slackware64/kde/ktorrent-4.3.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 181 2016-03-24 17:38 ./slackware64/kde/ktouch-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 2095980 2016-03-24 17:38 ./slackware64/kde/ktouch-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-24 17:38 ./slackware64/kde/ktouch-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 323 2015-10-25 08:43 ./slackware64/kde/ktuberling-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 4306216 2015-10-25 08:43 ./slackware64/kde/ktuberling-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:43 ./slackware64/kde/ktuberling-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 194 2015-10-25 09:05 ./slackware64/kde/kturtle-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 256380 2015-10-25 09:05 ./slackware64/kde/kturtle-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:05 ./slackware64/kde/kturtle-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 161 2015-10-25 08:44 ./slackware64/kde/ktux-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 121044 2015-10-25 08:44 ./slackware64/kde/ktux-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:44 ./slackware64/kde/ktux-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 489 2015-10-25 08:41 ./slackware64/kde/kubrick-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 126956 2015-10-25 08:41 ./slackware64/kde/kubrick-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:41 ./slackware64/kde/kubrick-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 167 2015-10-25 08:33 ./slackware64/kde/kuser-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 218152 2015-10-25 08:33 ./slackware64/kde/kuser-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:33 ./slackware64/kde/kuser-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 357 2015-10-25 08:19 ./slackware64/kde/kwalletmanager-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 527900 2015-10-25 08:19 ./slackware64/kde/kwalletmanager-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:19 ./slackware64/kde/kwalletmanager-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 375 2015-10-25 09:16 ./slackware64/kde/kwebkitpart-1.3.4-x86_64-2.txt +-rw-r--r-- 1 root root 266432 2015-10-25 09:16 ./slackware64/kde/kwebkitpart-1.3.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:16 ./slackware64/kde/kwebkitpart-1.3.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 285 2015-10-25 09:05 ./slackware64/kde/kwordquiz-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1259296 2015-10-25 09:05 ./slackware64/kde/kwordquiz-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:05 ./slackware64/kde/kwordquiz-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 178 2015-10-25 08:24 ./slackware64/kde/libkcddb-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 208660 2015-10-25 08:24 ./slackware64/kde/libkcddb-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:24 ./slackware64/kde/libkcddb-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 284 2015-10-25 08:24 ./slackware64/kde/libkcompactdisc-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 57608 2015-10-25 08:24 ./slackware64/kde/libkcompactdisc-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:24 ./slackware64/kde/libkcompactdisc-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 317 2015-11-10 20:05 ./slackware64/kde/libkdcraw-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 118280 2015-11-10 20:05 ./slackware64/kde/libkdcraw-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-10 20:05 ./slackware64/kde/libkdcraw-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 217 2015-10-25 08:57 ./slackware64/kde/libkdeedu-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 264700 2015-10-25 08:57 ./slackware64/kde/libkdeedu-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:57 ./slackware64/kde/libkdeedu-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 259 2015-10-25 08:36 ./slackware64/kde/libkdegames-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 5834476 2015-10-25 08:36 ./slackware64/kde/libkdegames-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:36 ./slackware64/kde/libkdegames-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 312 2015-10-25 08:01 ./slackware64/kde/libkexiv2-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 290860 2015-10-25 08:01 ./slackware64/kde/libkexiv2-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:01 ./slackware64/kde/libkexiv2-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 346 2015-10-25 08:01 ./slackware64/kde/libkipi-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 101104 2015-10-25 08:01 ./slackware64/kde/libkipi-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:01 ./slackware64/kde/libkipi-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 312 2015-10-25 08:36 ./slackware64/kde/libkmahjongg-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1654260 2015-10-25 08:36 ./slackware64/kde/libkmahjongg-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:36 ./slackware64/kde/libkmahjongg-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 365 2015-10-25 07:57 ./slackware64/kde/libkomparediff2-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 93056 2015-10-25 07:57 ./slackware64/kde/libkomparediff2-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:57 ./slackware64/kde/libkomparediff2-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 211 2015-10-25 08:01 ./slackware64/kde/libksane-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 97056 2015-10-25 08:01 ./slackware64/kde/libksane-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:01 ./slackware64/kde/libksane-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 393 2015-10-25 08:01 ./slackware64/kde/libkscreen-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 85216 2015-10-25 08:01 ./slackware64/kde/libkscreen-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:01 ./slackware64/kde/libkscreen-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 487 2015-10-25 08:26 ./slackware64/kde/libktorrent-1.3.1-x86_64-3.txt +-rw-r--r-- 1 root root 645128 2015-10-25 08:26 ./slackware64/kde/libktorrent-1.3.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:26 ./slackware64/kde/libktorrent-1.3.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 198 2015-10-25 09:25 ./slackware64/kde/libmm-qt-1.0.1-x86_64-2.txt +-rw-r--r-- 1 root root 148780 2015-10-25 09:25 ./slackware64/kde/libmm-qt-1.0.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:25 ./slackware64/kde/libmm-qt-1.0.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 202 2015-10-25 09:25 ./slackware64/kde/libnm-qt-0.9.8.3-x86_64-2.txt +-rw-r--r-- 1 root root 407796 2015-10-25 09:25 ./slackware64/kde/libnm-qt-0.9.8.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:25 ./slackware64/kde/libnm-qt-0.9.8.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 592 2015-10-25 07:58 ./slackware64/kde/lokalize-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1086072 2015-10-25 07:58 ./slackware64/kde/lokalize-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:58 ./slackware64/kde/lokalize-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 351 2016-03-21 03:13 ./slackware64/kde/lskat-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 939400 2016-03-21 03:13 ./slackware64/kde/lskat-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-21 03:13 ./slackware64/kde/lskat-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 14211 2016-03-19 18:19 ./slackware64/kde/maketag +-rw-r--r-- 1 root root 14211 2016-03-19 18:19 ./slackware64/kde/maketag.ez +-rw-r--r-- 1 root root 549 2015-10-25 09:08 ./slackware64/kde/marble-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 16770272 2015-10-25 09:08 ./slackware64/kde/marble-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:08 ./slackware64/kde/marble-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 359 2015-10-25 08:24 ./slackware64/kde/mplayerthumbs-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 45448 2015-10-25 08:24 ./slackware64/kde/mplayerthumbs-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:24 ./slackware64/kde/mplayerthumbs-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 270 2015-10-25 07:40 ./slackware64/kde/nepomuk-core-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 827696 2015-10-25 07:40 ./slackware64/kde/nepomuk-core-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:40 ./slackware64/kde/nepomuk-core-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 325 2015-10-25 07:41 ./slackware64/kde/nepomuk-widgets-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 80620 2015-10-25 07:41 ./slackware64/kde/nepomuk-widgets-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:41 ./slackware64/kde/nepomuk-widgets-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 180 2015-10-25 07:59 ./slackware64/kde/okteta-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 754356 2015-10-25 07:59 ./slackware64/kde/okteta-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:59 ./slackware64/kde/okteta-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 152 2015-10-25 08:02 ./slackware64/kde/okular-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1639556 2015-10-25 08:02 ./slackware64/kde/okular-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:02 ./slackware64/kde/okular-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 646 2015-10-25 09:17 ./slackware64/kde/oxygen-gtk2-1.4.6-x86_64-2.txt +-rw-r--r-- 1 root root 422148 2015-10-25 09:17 ./slackware64/kde/oxygen-gtk2-1.4.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:17 ./slackware64/kde/oxygen-gtk2-1.4.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 329 2015-10-25 08:32 ./slackware64/kde/oxygen-icons-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 29481192 2015-10-25 08:32 ./slackware64/kde/oxygen-icons-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:32 ./slackware64/kde/oxygen-icons-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 206 2015-10-25 09:09 ./slackware64/kde/pairs-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 3848028 2015-10-25 09:09 ./slackware64/kde/pairs-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:09 ./slackware64/kde/pairs-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 414 2015-10-25 08:43 ./slackware64/kde/palapeli-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1876068 2015-10-25 08:43 ./slackware64/kde/palapeli-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:43 ./slackware64/kde/palapeli-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 156 2015-10-25 09:09 ./slackware64/kde/parley-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 4765984 2015-10-25 09:09 ./slackware64/kde/parley-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:09 ./slackware64/kde/parley-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 391 2015-10-26 18:28 ./slackware64/kde/partitionmanager-1.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 2108432 2015-10-26 18:28 ./slackware64/kde/partitionmanager-1.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-26 18:28 ./slackware64/kde/partitionmanager-1.1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 154 2015-10-25 08:11 ./slackware64/kde/perlkde-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 42764 2015-10-25 08:11 ./slackware64/kde/perlkde-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:11 ./slackware64/kde/perlkde-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 305 2015-10-25 08:08 ./slackware64/kde/perlqt-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 501080 2015-10-25 08:08 ./slackware64/kde/perlqt-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:08 ./slackware64/kde/perlqt-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 282 2015-10-25 08:43 ./slackware64/kde/picmi-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 789960 2015-10-25 08:43 ./slackware64/kde/picmi-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:43 ./slackware64/kde/picmi-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 309 2015-10-25 09:26 ./slackware64/kde/plasma-nm-0.9.3.6-x86_64-1.txt +-rw-r--r-- 1 root root 805920 2015-10-25 09:26 ./slackware64/kde/plasma-nm-0.9.3.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:26 ./slackware64/kde/plasma-nm-0.9.3.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 291 2015-10-25 09:15 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-2.txt +-rw-r--r-- 1 root root 33300 2015-10-25 09:15 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:15 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-2.txz.asc +-rw-r--r-- 1 root root 340 2015-10-25 09:15 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-2.txt +-rw-r--r-- 1 root root 76464 2015-10-25 09:15 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:15 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-2.txz.asc +-rw-r--r-- 1 root root 369 2015-10-25 07:59 ./slackware64/kde/poxml-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 62928 2015-10-25 07:59 ./slackware64/kde/poxml-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 07:59 ./slackware64/kde/poxml-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 422 2015-10-25 08:19 ./slackware64/kde/print-manager-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 237912 2015-10-25 08:19 ./slackware64/kde/print-manager-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:19 ./slackware64/kde/print-manager-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 148 2015-10-25 08:13 ./slackware64/kde/pykde4-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 2957504 2015-10-25 08:13 ./slackware64/kde/pykde4-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:13 ./slackware64/kde/pykde4-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 448 2015-10-25 08:08 ./slackware64/kde/qtruby-4.14.3-x86_64-4.txt +-rw-r--r-- 1 root root 423604 2015-10-25 08:08 ./slackware64/kde/qtruby-4.14.3-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:08 ./slackware64/kde/qtruby-4.14.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 146 2015-10-25 09:10 ./slackware64/kde/rocs-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1391768 2015-10-25 09:10 ./slackware64/kde/rocs-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:10 ./slackware64/kde/rocs-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 207 2015-10-25 09:27 ./slackware64/kde/skanlite-1.1-x86_64-2.txt +-rw-r--r-- 1 root root 2547204 2015-10-25 09:27 ./slackware64/kde/skanlite-1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:27 ./slackware64/kde/skanlite-1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 309 2015-10-25 08:05 ./slackware64/kde/smokegen-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 330548 2015-10-25 08:05 ./slackware64/kde/smokegen-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:05 ./slackware64/kde/smokegen-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 156 2015-10-25 08:10 ./slackware64/kde/smokekde-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1824396 2015-10-25 08:10 ./slackware64/kde/smokekde-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:10 ./slackware64/kde/smokekde-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 184 2015-10-25 08:07 ./slackware64/kde/smokeqt-4.14.3-x86_64-3.txt +-rw-r--r-- 1 root root 2832912 2015-10-25 08:07 ./slackware64/kde/smokeqt-4.14.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:07 ./slackware64/kde/smokeqt-4.14.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 410 2015-11-12 19:31 ./slackware64/kde/step-4.14.3-x86_64-4.txt +-rw-r--r-- 1 root root 562776 2015-11-12 19:31 ./slackware64/kde/step-4.14.3-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-11-12 19:31 ./slackware64/kde/step-4.14.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 353 2015-10-25 08:20 ./slackware64/kde/superkaramba-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 278652 2015-10-25 08:20 ./slackware64/kde/superkaramba-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:20 ./slackware64/kde/superkaramba-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 164 2015-10-25 08:05 ./slackware64/kde/svgpart-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 15088 2015-10-25 08:05 ./slackware64/kde/svgpart-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:05 ./slackware64/kde/svgpart-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 279 2015-10-25 08:20 ./slackware64/kde/sweeper-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 97880 2015-10-25 08:20 ./slackware64/kde/sweeper-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:20 ./slackware64/kde/sweeper-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 2756 2016-03-19 18:19 ./slackware64/kde/tagfile +-rw-r--r-- 1 root root 209 2015-10-25 08:01 ./slackware64/kde/umbrello-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 1686936 2015-10-25 08:01 ./slackware64/kde/umbrello-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:01 ./slackware64/kde/umbrello-4.14.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 316 2015-10-25 09:25 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-2.txt +-rw-r--r-- 1 root root 118476 2015-10-25 09:25 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 09:25 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 296 2015-10-25 08:26 ./slackware64/kde/zeroconf-ioslave-4.14.3-x86_64-2.txt +-rw-r--r-- 1 root root 39136 2015-10-25 08:26 ./slackware64/kde/zeroconf-ioslave-4.14.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-25 08:26 ./slackware64/kde/zeroconf-ioslave-4.14.3-x86_64-2.txz.asc +drwxr-xr-x 2 root root 20480 2016-03-10 03:11 ./slackware64/kdei +-rw-r--r-- 1 root root 254 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-bs-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 359436 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-bs-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-bs-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-ca-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 538620 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-ca-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-ca-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 383 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-ca@valencia-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 371040 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-ca@valencia-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:39 ./slackware64/kdei/calligra-l10n-ca@valencia-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 252 2016-03-09 21:40 ./slackware64/kdei/calligra-l10n-cs-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 223960 2016-03-09 21:40 ./slackware64/kdei/calligra-l10n-cs-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:40 ./slackware64/kdei/calligra-l10n-cs-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2016-03-09 21:40 ./slackware64/kdei/calligra-l10n-da-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 322368 2016-03-09 21:40 ./slackware64/kdei/calligra-l10n-da-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:40 ./slackware64/kdei/calligra-l10n-da-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-de-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 584756 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-de-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-de-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 252 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-el-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 307752 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-el-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-el-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 295 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-en_GB-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 258892 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-en_GB-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:41 ./slackware64/kdei/calligra-l10n-en_GB-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-es-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 1154116 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-es-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-es-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 255 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-et-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 590892 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-et-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-et-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-fi-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 302188 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-fi-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:42 ./slackware64/kdei/calligra-l10n-fi-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-fr-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 1690256 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-fr-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-fr-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 255 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-gl-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 353036 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-gl-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-gl-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 256 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-hu-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 261832 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-hu-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-hu-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-it-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 588068 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-it-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-it-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 255 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-ja-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 279256 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-ja-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:43 ./slackware64/kdei/calligra-l10n-ja-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-kk-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 309908 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-kk-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-kk-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 266 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-nb-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 332892 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-nb-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-nb-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 252 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-nl-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 1503020 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-nl-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-nl-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-pl-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 379864 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-pl-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-pl-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 257 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-pt-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 620424 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-pt-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:44 ./slackware64/kdei/calligra-l10n-pt-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 300 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-pt_BR-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 603216 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-pt_BR-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-pt_BR-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-ru-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 392340 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-ru-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-ru-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-sk-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 359916 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-sk-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-sk-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-sv-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 1915444 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-sv-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-sv-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-tr-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 341728 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-tr-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:45 ./slackware64/kdei/calligra-l10n-tr-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 256 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-uk-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 2136708 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-uk-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-uk-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 301 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-zh_CN-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 230000 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-zh_CN-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-zh_CN-2.9.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 290 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-zh_TW-2.9.11-noarch-1.txt +-rw-r--r-- 1 root root 292064 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-zh_TW-2.9.11-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 21:46 ./slackware64/kdei/calligra-l10n-zh_TW-2.9.11-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 2015-04-02 22:38 ./slackware64/kdei/kde-l10n-ar-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2188644 2015-04-02 22:38 ./slackware64/kdei/kde-l10n-ar-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:38 ./slackware64/kdei/kde-l10n-ar-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2015-04-02 22:39 ./slackware64/kdei/kde-l10n-bg-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1128448 2015-04-02 22:39 ./slackware64/kdei/kde-l10n-bg-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:39 ./slackware64/kdei/kde-l10n-bg-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 22:39 ./slackware64/kdei/kde-l10n-bs-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2301656 2015-04-02 22:39 ./slackware64/kdei/kde-l10n-bs-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:39 ./slackware64/kdei/kde-l10n-bs-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 22:42 ./slackware64/kdei/kde-l10n-ca-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 14021420 2015-04-02 22:42 ./slackware64/kdei/kde-l10n-ca-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:42 ./slackware64/kdei/kde-l10n-ca-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 309 2015-04-02 22:43 ./slackware64/kdei/kde-l10n-ca@valencia-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2291592 2015-04-02 22:43 ./slackware64/kdei/kde-l10n-ca@valencia-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:43 ./slackware64/kdei/kde-l10n-ca@valencia-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 22:43 ./slackware64/kdei/kde-l10n-cs-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2811356 2015-04-02 22:43 ./slackware64/kdei/kde-l10n-cs-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:43 ./slackware64/kdei/kde-l10n-cs-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 22:44 ./slackware64/kdei/kde-l10n-da-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 12530056 2015-04-02 22:44 ./slackware64/kdei/kde-l10n-da-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:44 ./slackware64/kdei/kde-l10n-da-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 22:48 ./slackware64/kdei/kde-l10n-de-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 38400824 2015-04-02 22:48 ./slackware64/kdei/kde-l10n-de-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:48 ./slackware64/kdei/kde-l10n-de-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 22:49 ./slackware64/kdei/kde-l10n-el-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 4343584 2015-04-02 22:49 ./slackware64/kdei/kde-l10n-el-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:49 ./slackware64/kdei/kde-l10n-el-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 230 2015-04-02 22:49 ./slackware64/kdei/kde-l10n-en_GB-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2631244 2015-04-02 22:49 ./slackware64/kdei/kde-l10n-en_GB-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:49 ./slackware64/kdei/kde-l10n-en_GB-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 22:53 ./slackware64/kdei/kde-l10n-es-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 23484552 2015-04-02 22:53 ./slackware64/kdei/kde-l10n-es-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:53 ./slackware64/kdei/kde-l10n-es-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2015-04-02 22:56 ./slackware64/kdei/kde-l10n-et-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 7350924 2015-04-02 22:56 ./slackware64/kdei/kde-l10n-et-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:56 ./slackware64/kdei/kde-l10n-et-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-eu-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1514764 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-eu-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-eu-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-fa-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 837448 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-fa-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-fa-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-fi-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2306424 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-fi-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 22:57 ./slackware64/kdei/kde-l10n-fi-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:01 ./slackware64/kdei/kde-l10n-fr-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 45490664 2015-04-02 23:01 ./slackware64/kdei/kde-l10n-fr-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:01 ./slackware64/kdei/kde-l10n-fr-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 23:01 ./slackware64/kdei/kde-l10n-ga-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2040172 2015-04-02 23:01 ./slackware64/kdei/kde-l10n-ga-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:01 ./slackware64/kdei/kde-l10n-ga-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-gl-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 4253996 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-gl-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-gl-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-he-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1237280 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-he-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-he-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-hi-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 795564 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-hi-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:03 ./slackware64/kdei/kde-l10n-hi-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2015-04-02 23:04 ./slackware64/kdei/kde-l10n-hr-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 856148 2015-04-02 23:04 ./slackware64/kdei/kde-l10n-hr-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:04 ./slackware64/kdei/kde-l10n-hr-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2015-04-02 23:04 ./slackware64/kdei/kde-l10n-hu-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 3941980 2015-04-02 23:04 ./slackware64/kdei/kde-l10n-hu-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:04 ./slackware64/kdei/kde-l10n-hu-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 193 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-ia-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1287844 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-ia-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-ia-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-id-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 420304 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-id-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-id-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-is-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 765880 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-is-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:05 ./slackware64/kdei/kde-l10n-is-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:09 ./slackware64/kdei/kde-l10n-it-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 10184368 2015-04-02 23:09 ./slackware64/kdei/kde-l10n-it-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:09 ./slackware64/kdei/kde-l10n-it-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2015-04-02 23:09 ./slackware64/kdei/kde-l10n-ja-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1800044 2015-04-02 23:09 ./slackware64/kdei/kde-l10n-ja-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:09 ./slackware64/kdei/kde-l10n-ja-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-kk-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2311304 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-kk-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-kk-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-km-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1718524 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-km-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-km-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-ko-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1681148 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-ko-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:10 ./slackware64/kdei/kde-l10n-ko-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2015-04-02 23:11 ./slackware64/kdei/kde-l10n-lt-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 12341564 2015-04-02 23:11 ./slackware64/kdei/kde-l10n-lt-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:11 ./slackware64/kdei/kde-l10n-lt-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:11 ./slackware64/kdei/kde-l10n-lv-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1610900 2015-04-02 23:11 ./slackware64/kdei/kde-l10n-lv-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:11 ./slackware64/kdei/kde-l10n-lv-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:12 ./slackware64/kdei/kde-l10n-mr-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 862384 2015-04-02 23:12 ./slackware64/kdei/kde-l10n-mr-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:12 ./slackware64/kdei/kde-l10n-mr-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 201 2015-04-02 23:13 ./slackware64/kdei/kde-l10n-nb-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2558224 2015-04-02 23:13 ./slackware64/kdei/kde-l10n-nb-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:13 ./slackware64/kdei/kde-l10n-nb-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 203 2015-04-02 23:13 ./slackware64/kdei/kde-l10n-nds-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2824672 2015-04-02 23:13 ./slackware64/kdei/kde-l10n-nds-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:13 ./slackware64/kdei/kde-l10n-nds-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-nl-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 15839108 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-nl-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-nl-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 201 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-nn-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1541184 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-nn-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-nn-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-pa-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 974196 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-pa-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:17 ./slackware64/kdei/kde-l10n-pa-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:19 ./slackware64/kdei/kde-l10n-pl-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 19876620 2015-04-02 23:19 ./slackware64/kdei/kde-l10n-pl-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:19 ./slackware64/kdei/kde-l10n-pl-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2015-04-02 23:23 ./slackware64/kdei/kde-l10n-pt-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 5904856 2015-04-02 23:23 ./slackware64/kdei/kde-l10n-pt-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:23 ./slackware64/kdei/kde-l10n-pt-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 238 2015-04-02 23:26 ./slackware64/kdei/kde-l10n-pt_BR-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 27344352 2015-04-02 23:26 ./slackware64/kdei/kde-l10n-pt_BR-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:26 ./slackware64/kdei/kde-l10n-pt_BR-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2015-04-02 23:27 ./slackware64/kdei/kde-l10n-ro-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2278872 2015-04-02 23:27 ./slackware64/kdei/kde-l10n-ro-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:27 ./slackware64/kdei/kde-l10n-ro-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:29 ./slackware64/kdei/kde-l10n-ru-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 23145068 2015-04-02 23:29 ./slackware64/kdei/kde-l10n-ru-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:29 ./slackware64/kdei/kde-l10n-ru-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:30 ./slackware64/kdei/kde-l10n-sk-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2341900 2015-04-02 23:30 ./slackware64/kdei/kde-l10n-sk-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:30 ./slackware64/kdei/kde-l10n-sk-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2015-04-02 23:30 ./slackware64/kdei/kde-l10n-sl-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2937328 2015-04-02 23:30 ./slackware64/kdei/kde-l10n-sl-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:30 ./slackware64/kdei/kde-l10n-sl-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:34 ./slackware64/kdei/kde-l10n-sr-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 10490020 2015-04-02 23:34 ./slackware64/kdei/kde-l10n-sr-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:34 ./slackware64/kdei/kde-l10n-sr-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:37 ./slackware64/kdei/kde-l10n-sv-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 16541096 2015-04-02 23:37 ./slackware64/kdei/kde-l10n-sv-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:37 ./slackware64/kdei/kde-l10n-sv-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:38 ./slackware64/kdei/kde-l10n-tr-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 3499008 2015-04-02 23:38 ./slackware64/kdei/kde-l10n-tr-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:38 ./slackware64/kdei/kde-l10n-tr-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2015-04-02 23:38 ./slackware64/kdei/kde-l10n-ug-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 957396 2015-04-02 23:38 ./slackware64/kdei/kde-l10n-ug-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:38 ./slackware64/kdei/kde-l10n-ug-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2015-04-02 23:42 ./slackware64/kdei/kde-l10n-uk-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 28681456 2015-04-02 23:42 ./slackware64/kdei/kde-l10n-uk-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:42 ./slackware64/kdei/kde-l10n-uk-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2015-04-02 23:42 ./slackware64/kdei/kde-l10n-wa-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 1259220 2015-04-02 23:42 ./slackware64/kdei/kde-l10n-wa-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:42 ./slackware64/kdei/kde-l10n-wa-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 236 2015-04-02 23:43 ./slackware64/kdei/kde-l10n-zh_CN-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 3107584 2015-04-02 23:43 ./slackware64/kdei/kde-l10n-zh_CN-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:43 ./slackware64/kdei/kde-l10n-zh_CN-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 225 2015-04-02 23:43 ./slackware64/kdei/kde-l10n-zh_TW-4.14.3-noarch-1.txt +-rw-r--r-- 1 root root 2286528 2015-04-02 23:43 ./slackware64/kdei/kde-l10n-zh_TW-4.14.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:43 ./slackware64/kdei/kde-l10n-zh_TW-4.14.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 7544 2015-10-29 19:47 ./slackware64/kdei/maketag +-rw-r--r-- 1 root root 7544 2015-10-29 19:47 ./slackware64/kdei/maketag.ez +-rw-r--r-- 1 root root 1500 2015-10-29 19:47 ./slackware64/kdei/tagfile +drwxr-xr-x 2 root root 53248 2016-06-24 23:57 ./slackware64/l +-rw-r--r-- 1 root root 338 2015-11-19 05:33 ./slackware64/l/ConsoleKit2-1.0.0-x86_64-3.txt +-rw-r--r-- 1 root root 149000 2015-11-19 05:33 ./slackware64/l/ConsoleKit2-1.0.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:33 ./slackware64/l/ConsoleKit2-1.0.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 331 2016-02-22 20:18 ./slackware64/l/GConf-3.2.6-x86_64-3.txt +-rw-r--r-- 1 root root 927548 2016-02-22 20:18 ./slackware64/l/GConf-3.2.6-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-02-22 20:18 ./slackware64/l/GConf-3.2.6-x86_64-3.txz.asc +-rw-r--r-- 1 root root 333 2016-05-31 18:05 ./slackware64/l/LibRaw-0.17.2-x86_64-1.txt +-rw-r--r-- 1 root root 333712 2016-05-31 18:05 ./slackware64/l/LibRaw-0.17.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-31 18:05 ./slackware64/l/LibRaw-0.17.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 571 2016-03-17 00:50 ./slackware64/l/M2Crypto-0.23.0-x86_64-1.txt +-rw-r--r-- 1 root root 220292 2016-03-17 00:50 ./slackware64/l/M2Crypto-0.23.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-17 00:50 ./slackware64/l/M2Crypto-0.23.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 276 2015-08-13 18:14 ./slackware64/l/PyQt-4.11.4-x86_64-1.txt +-rw-r--r-- 1 root root 8601424 2015-08-13 18:14 ./slackware64/l/PyQt-4.11.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-13 18:14 ./slackware64/l/PyQt-4.11.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 670 2016-04-11 23:54 ./slackware64/l/QScintilla-2.9.1-x86_64-1.txt +-rw-r--r-- 1 root root 1589168 2016-04-11 23:54 ./slackware64/l/QScintilla-2.9.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-11 23:54 ./slackware64/l/QScintilla-2.9.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 515 2016-01-15 22:26 ./slackware64/l/a52dec-0.7.4-x86_64-2.txt +-rw-r--r-- 1 root root 52940 2016-01-15 22:26 ./slackware64/l/a52dec-0.7.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-01-15 22:26 ./slackware64/l/a52dec-0.7.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 995 2013-06-23 19:03 ./slackware64/l/aalib-1.4rc5-x86_64-5.txt +-rw-r--r-- 1 root root 157672 2013-06-23 19:03 ./slackware64/l/aalib-1.4rc5-x86_64-5.txz +-rw-r--r-- 1 root root 198 2013-06-23 19:03 ./slackware64/l/aalib-1.4rc5-x86_64-5.txz.asc +-rw-r--r-- 1 root root 323 2015-10-27 22:25 ./slackware64/l/adwaita-icon-theme-3.18.0-noarch-1.txt +-rw-r--r-- 1 root root 11966372 2015-10-27 22:25 ./slackware64/l/adwaita-icon-theme-3.18.0-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-10-27 22:25 ./slackware64/l/adwaita-icon-theme-3.18.0-noarch-1.txz.asc +-rw-r--r-- 1 root root 383 2015-11-16 23:50 ./slackware64/l/akonadi-1.13.0-x86_64-2.txt +-rw-r--r-- 1 root root 899656 2015-11-16 23:50 ./slackware64/l/akonadi-1.13.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-16 23:50 ./slackware64/l/akonadi-1.13.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 402 2016-04-15 01:34 ./slackware64/l/alsa-lib-1.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 434732 2016-04-15 01:34 ./slackware64/l/alsa-lib-1.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-15 01:34 ./slackware64/l/alsa-lib-1.1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 503 2015-03-19 04:03 ./slackware64/l/alsa-oss-1.0.28-x86_64-1.txt +-rw-r--r-- 1 root root 32596 2015-03-19 04:03 ./slackware64/l/alsa-oss-1.0.28-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-19 04:03 ./slackware64/l/alsa-oss-1.0.28-x86_64-1.txz.asc +-rw-r--r-- 1 root root 403 2016-04-01 19:20 ./slackware64/l/alsa-plugins-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 59152 2016-04-01 19:20 ./slackware64/l/alsa-plugins-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-01 19:20 ./slackware64/l/alsa-plugins-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 275 2015-10-23 19:18 ./slackware64/l/apr-1.5.2-x86_64-1.txt +-rw-r--r-- 1 root root 234776 2015-10-23 19:18 ./slackware64/l/apr-1.5.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-23 19:18 ./slackware64/l/apr-1.5.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 483 2015-11-18 01:53 ./slackware64/l/apr-util-1.5.4-x86_64-2.txt +-rw-r--r-- 1 root root 125180 2015-11-18 01:53 ./slackware64/l/apr-util-1.5.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-18 01:53 ./slackware64/l/apr-util-1.5.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 251 2016-03-07 19:39 ./slackware64/l/aspell-0.60.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 599828 2016-03-07 19:39 ./slackware64/l/aspell-0.60.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:39 ./slackware64/l/aspell-0.60.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 175 2016-06-06 20:13 ./slackware64/l/aspell-en-7.1_0-x86_64-1.txt +-rw-r--r-- 1 root root 1030136 2016-06-06 20:13 ./slackware64/l/aspell-en-7.1_0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-06 20:13 ./slackware64/l/aspell-en-7.1_0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 269 2015-10-28 01:51 ./slackware64/l/at-spi2-atk-2.18.1-x86_64-1.txt +-rw-r--r-- 1 root root 74260 2015-10-28 01:51 ./slackware64/l/at-spi2-atk-2.18.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-28 01:51 ./slackware64/l/at-spi2-atk-2.18.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 457 2015-11-11 19:18 ./slackware64/l/at-spi2-core-2.18.3-x86_64-1.txt +-rw-r--r-- 1 root root 242264 2015-11-11 19:18 ./slackware64/l/at-spi2-core-2.18.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-11 19:18 ./slackware64/l/at-spi2-core-2.18.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 173 2015-10-28 01:49 ./slackware64/l/atk-2.18.0-x86_64-1.txt +-rw-r--r-- 1 root root 340564 2015-10-28 01:49 ./slackware64/l/atk-2.18.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-28 01:49 ./slackware64/l/atk-2.18.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 239 2016-01-10 23:41 ./slackware64/l/atkmm-2.24.2-x86_64-1.txt +-rw-r--r-- 1 root root 114736 2016-01-10 23:41 ./slackware64/l/atkmm-2.24.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:41 ./slackware64/l/atkmm-2.24.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 373 2015-04-01 03:42 ./slackware64/l/attica-0.4.2-x86_64-1.txt +-rw-r--r-- 1 root root 220336 2015-04-01 03:42 ./slackware64/l/attica-0.4.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-01 03:42 ./slackware64/l/attica-0.4.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 315 2013-03-21 20:40 ./slackware64/l/audiofile-0.3.6-x86_64-1.txt +-rw-r--r-- 1 root root 807488 2013-03-21 20:40 ./slackware64/l/audiofile-0.3.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-03-21 20:40 ./slackware64/l/audiofile-0.3.6-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 2015-11-24 02:49 ./slackware64/l/babl-0.1.14-x86_64-1.txt +-rw-r--r-- 1 root root 247976 2015-11-24 02:49 ./slackware64/l/babl-0.1.14-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-24 02:49 ./slackware64/l/babl-0.1.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 433 2015-11-17 23:32 ./slackware64/l/boost-1.59.0-x86_64-1.txt +-rw-r--r-- 1 root root 8066336 2015-11-17 23:32 ./slackware64/l/boost-1.59.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-17 23:32 ./slackware64/l/boost-1.59.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 394 2016-06-20 16:40 ./slackware64/l/cairo-1.14.6-x86_64-2.txt +-rw-r--r-- 1 root root 725188 2016-06-20 16:40 ./slackware64/l/cairo-1.14.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-20 16:40 ./slackware64/l/cairo-1.14.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 403 2016-01-10 23:41 ./slackware64/l/cairomm-1.12.0-x86_64-1.txt +-rw-r--r-- 1 root root 111236 2016-01-10 23:41 ./slackware64/l/cairomm-1.12.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:41 ./slackware64/l/cairomm-1.12.0-x86_64-1.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 2013-05-07 04:47 ./slackware64/l/clucene-2.3.3.4-x86_64-2.txt +-rw-r--r-- 1 root root 733688 2013-05-07 04:47 ./slackware64/l/clucene-2.3.3.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-05-07 04:47 ./slackware64/l/clucene-2.3.3.4-x86_64-2.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 2016-03-04 04:25 ./slackware64/l/dbus-glib-0.106-x86_64-1.txt +-rw-r--r-- 1 root root 148452 2016-03-04 04:25 ./slackware64/l/dbus-glib-0.106-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-04 04:25 ./slackware64/l/dbus-glib-0.106-x86_64-1.txz.asc +-rw-r--r-- 1 root root 246 2016-03-27 17:14 ./slackware64/l/dbus-python-1.2.4-x86_64-1.txt +-rw-r--r-- 1 root root 125696 2016-03-27 17:14 ./slackware64/l/dbus-python-1.2.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-27 17:14 ./slackware64/l/dbus-python-1.2.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 268 2015-08-07 17:49 ./slackware64/l/dconf-0.24.0-x86_64-1.txt +-rw-r--r-- 1 root root 108660 2015-08-07 17:49 ./slackware64/l/dconf-0.24.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-07 17:49 ./slackware64/l/dconf-0.24.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 387 2015-12-15 20:15 ./slackware64/l/dconf-editor-3.18.2-x86_64-1.txt +-rw-r--r-- 1 root root 152412 2015-12-15 20:15 ./slackware64/l/dconf-editor-3.18.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 20:15 ./slackware64/l/dconf-editor-3.18.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 655 2015-04-18 22:41 ./slackware64/l/desktop-file-utils-0.22-x86_64-1.txt +-rw-r--r-- 1 root root 55092 2015-04-18 22:41 ./slackware64/l/desktop-file-utils-0.22-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-18 22:41 ./slackware64/l/desktop-file-utils-0.22-x86_64-1.txz.asc +-rw-r--r-- 1 root root 561 2015-12-23 03:54 ./slackware64/l/djvulibre-3.5.27-x86_64-1.txt +-rw-r--r-- 1 root root 968072 2015-12-23 03:54 ./slackware64/l/djvulibre-3.5.27-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 03:54 ./slackware64/l/djvulibre-3.5.27-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2015-10-15 21:02 ./slackware64/l/ebook-tools-0.2.2-x86_64-3.txt +-rw-r--r-- 1 root root 22364 2015-10-15 21:02 ./slackware64/l/ebook-tools-0.2.2-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-10-15 21:02 ./slackware64/l/ebook-tools-0.2.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 257 2015-11-12 19:28 ./slackware64/l/eigen2-2.0.17-x86_64-1.txt +-rw-r--r-- 1 root root 162872 2015-11-12 19:28 ./slackware64/l/eigen2-2.0.17-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-12 19:28 ./slackware64/l/eigen2-2.0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 265 2015-12-01 22:37 ./slackware64/l/eigen3-3.2.7-x86_64-2.txt +-rw-r--r-- 1 root root 511336 2015-12-01 22:37 ./slackware64/l/eigen3-3.2.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-12-01 22:37 ./slackware64/l/eigen3-3.2.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 544 2015-08-19 18:43 ./slackware64/l/elfutils-0.163-x86_64-1.txt +-rw-r--r-- 1 root root 715612 2015-08-19 18:43 ./slackware64/l/elfutils-0.163-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-19 18:43 ./slackware64/l/elfutils-0.163-x86_64-1.txz.asc +-rw-r--r-- 1 root root 346 2013-02-11 00:11 ./slackware64/l/enchant-1.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 63172 2013-02-11 00:11 ./slackware64/l/enchant-1.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-02-11 00:11 ./slackware64/l/enchant-1.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 505 2013-03-21 20:42 ./slackware64/l/esound-0.2.41-x86_64-2.txt +-rw-r--r-- 1 root root 99748 2013-03-21 20:42 ./slackware64/l/esound-0.2.41-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-03-21 20:42 ./slackware64/l/esound-0.2.41-x86_64-2.txz.asc +-rw-r--r-- 1 root root 257 2015-10-15 17:09 ./slackware64/l/exiv2-0.25-x86_64-1.txt +-rw-r--r-- 1 root root 1535732 2015-10-15 17:09 ./slackware64/l/exiv2-0.25-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 17:09 ./slackware64/l/exiv2-0.25-x86_64-1.txz.asc +-rw-r--r-- 1 root root 264 2013-04-29 01:00 ./slackware64/l/expat-2.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 117740 2013-04-29 01:00 ./slackware64/l/expat-2.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-04-29 01:00 ./slackware64/l/expat-2.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 504 2015-03-07 02:58 ./slackware64/l/fftw-3.3.4-x86_64-1.txt +-rw-r--r-- 1 root root 2304520 2015-03-07 02:58 ./slackware64/l/fftw-3.3.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-07 02:58 ./slackware64/l/fftw-3.3.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 494 2016-02-09 19:03 ./slackware64/l/freetype-2.6.3-x86_64-1.txt +-rw-r--r-- 1 root root 479948 2016-02-09 19:03 ./slackware64/l/freetype-2.6.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-09 19:03 ./slackware64/l/freetype-2.6.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 383 2016-03-07 19:47 ./slackware64/l/fribidi-0.19.7-x86_64-1.txt +-rw-r--r-- 1 root root 75484 2016-03-07 19:47 ./slackware64/l/fribidi-0.19.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:47 ./slackware64/l/fribidi-0.19.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 391 2016-03-07 19:25 ./slackware64/l/fuse-2.9.5-x86_64-1.txt +-rw-r--r-- 1 root root 135792 2016-03-07 19:25 ./slackware64/l/fuse-2.9.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:25 ./slackware64/l/fuse-2.9.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 241 2015-09-22 16:35 ./slackware64/l/gc-7.4.2-x86_64-3.txt +-rw-r--r-- 1 root root 275080 2015-09-22 16:35 ./slackware64/l/gc-7.4.2-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-09-22 16:35 ./slackware64/l/gc-7.4.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 343 2015-11-21 18:19 ./slackware64/l/gcr-3.16.0-x86_64-2.txt +-rw-r--r-- 1 root root 780836 2015-11-21 18:19 ./slackware64/l/gcr-3.16.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:19 ./slackware64/l/gcr-3.16.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 469 2016-06-16 21:16 ./slackware64/l/gd-2.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 147984 2016-06-16 21:16 ./slackware64/l/gd-2.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-16 21:16 ./slackware64/l/gd-2.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 186 2016-05-17 18:14 ./slackware64/l/gdbm-1.12-x86_64-1.txt +-rw-r--r-- 1 root root 174848 2016-05-17 18:14 ./slackware64/l/gdbm-1.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-17 18:14 ./slackware64/l/gdbm-1.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 538 2015-12-15 05:04 ./slackware64/l/gdk-pixbuf2-2.32.3-x86_64-1.txt +-rw-r--r-- 1 root root 648104 2015-12-15 05:04 ./slackware64/l/gdk-pixbuf2-2.32.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:04 ./slackware64/l/gdk-pixbuf2-2.32.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 406 2015-03-23 00:27 ./slackware64/l/gegl-0.2.0-x86_64-3.txt +-rw-r--r-- 1 root root 478312 2015-03-23 00:27 ./slackware64/l/gegl-0.2.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-23 00:27 ./slackware64/l/gegl-0.2.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 320 2015-04-05 23:13 ./slackware64/l/giflib-5.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 238792 2015-04-05 23:13 ./slackware64/l/giflib-5.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-05 23:13 ./slackware64/l/giflib-5.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2015-06-30 19:35 ./slackware64/l/glade3-3.8.5-x86_64-2.txt +-rw-r--r-- 1 root root 1784152 2015-06-30 19:35 ./slackware64/l/glade3-3.8.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-06-30 19:35 ./slackware64/l/glade3-3.8.5-x86_64-2.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 2015-10-27 22:18 ./slackware64/l/glib-networking-2.46.1-x86_64-1.txt +-rw-r--r-- 1 root root 104092 2015-10-27 22:18 ./slackware64/l/glib-networking-2.46.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-27 22:18 ./slackware64/l/glib-networking-2.46.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 235 2015-12-01 18:38 ./slackware64/l/glib2-2.46.2-x86_64-2.txt +-rw-r--r-- 1 root root 3658736 2015-12-01 18:38 ./slackware64/l/glib2-2.46.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-12-01 18:38 ./slackware64/l/glib2-2.46.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 389 2016-02-20 17:52 ./slackware64/l/glibc-2.23-x86_64-1.txt +-rw-r--r-- 1 root root 5938324 2016-02-20 17:52 ./slackware64/l/glibc-2.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-20 17:52 ./slackware64/l/glibc-2.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 353 2016-02-20 17:52 ./slackware64/l/glibc-i18n-2.23-x86_64-1.txt +-rw-r--r-- 1 root root 7372836 2016-02-20 17:52 ./slackware64/l/glibc-i18n-2.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-20 17:52 ./slackware64/l/glibc-i18n-2.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 508 2016-02-20 17:51 ./slackware64/l/glibc-profile-2.23-x86_64-1.txt +-rw-r--r-- 1 root root 1409148 2016-02-20 17:51 ./slackware64/l/glibc-profile-2.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-20 17:51 ./slackware64/l/glibc-profile-2.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2016-04-15 20:00 ./slackware64/l/glibmm-2.46.4-x86_64-1.txt +-rw-r--r-- 1 root root 998456 2016-04-15 20:00 ./slackware64/l/glibmm-2.46.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-15 20:00 ./slackware64/l/glibmm-2.46.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 297 2015-03-19 01:38 ./slackware64/l/gmime-2.6.20-x86_64-1.txt +-rw-r--r-- 1 root root 304020 2015-03-19 01:38 ./slackware64/l/gmime-2.6.20-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-19 01:38 ./slackware64/l/gmime-2.6.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 579 2013-03-26 03:46 ./slackware64/l/gmm-4.2-noarch-1.txt +-rw-r--r-- 1 root root 109496 2013-03-26 03:46 ./slackware64/l/gmm-4.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2013-03-26 03:46 ./slackware64/l/gmm-4.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 312 2016-06-21 18:42 ./slackware64/l/gmp-6.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 417912 2016-06-21 18:42 ./slackware64/l/gmp-6.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-21 18:42 ./slackware64/l/gmp-6.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 455 2015-11-10 21:12 ./slackware64/l/gnome-keyring-3.16.0-x86_64-2.txt +-rw-r--r-- 1 root root 668072 2015-11-10 21:12 ./slackware64/l/gnome-keyring-3.16.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-10 21:12 ./slackware64/l/gnome-keyring-3.16.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 359 2015-10-28 01:54 ./slackware64/l/gnome-themes-standard-3.18.0-x86_64-1.txt +-rw-r--r-- 1 root root 2384820 2015-10-28 01:54 ./slackware64/l/gnome-themes-standard-3.18.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-28 01:54 ./slackware64/l/gnome-themes-standard-3.18.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 280 2016-04-01 18:35 ./slackware64/l/gnu-efi-3.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 109308 2016-04-01 18:35 ./slackware64/l/gnu-efi-3.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-01 18:35 ./slackware64/l/gnu-efi-3.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 635 2015-10-27 22:21 ./slackware64/l/gobject-introspection-1.46.0-x86_64-1.txt +-rw-r--r-- 1 root root 1101032 2015-10-27 22:21 ./slackware64/l/gobject-introspection-1.46.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-27 22:21 ./slackware64/l/gobject-introspection-1.46.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 440 2015-04-02 19:26 ./slackware64/l/grantlee-0.5.1-x86_64-1.txt +-rw-r--r-- 1 root root 284092 2015-04-02 19:26 ./slackware64/l/grantlee-0.5.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 19:26 ./slackware64/l/grantlee-0.5.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 470 2015-10-27 22:21 ./slackware64/l/gsettings-desktop-schemas-3.18.1-x86_64-1.txt +-rw-r--r-- 1 root root 449296 2015-10-27 22:21 ./slackware64/l/gsettings-desktop-schemas-3.18.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-27 22:21 ./slackware64/l/gsettings-desktop-schemas-3.18.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 414 2015-11-12 19:15 ./slackware64/l/gsl-2.1-x86_64-1.txt +-rw-r--r-- 1 root root 1284736 2015-11-12 19:15 ./slackware64/l/gsl-2.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-12 19:15 ./slackware64/l/gsl-2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 609 2016-04-15 19:52 ./slackware64/l/gst-plugins-base-1.6.4-x86_64-1.txt +-rw-r--r-- 1 root root 1748516 2016-04-15 19:52 ./slackware64/l/gst-plugins-base-1.6.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-15 19:52 ./slackware64/l/gst-plugins-base-1.6.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 624 2015-07-06 17:55 ./slackware64/l/gst-plugins-base0-0.10.36-x86_64-2.txt +-rw-r--r-- 1 root root 1362652 2015-07-06 17:55 ./slackware64/l/gst-plugins-base0-0.10.36-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-07-06 17:55 ./slackware64/l/gst-plugins-base0-0.10.36-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2016-04-15 19:56 ./slackware64/l/gst-plugins-good-1.6.4-x86_64-1.txt +-rw-r--r-- 1 root root 1675084 2016-04-15 19:56 ./slackware64/l/gst-plugins-good-1.6.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-15 19:56 ./slackware64/l/gst-plugins-good-1.6.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 459 2016-01-11 01:39 ./slackware64/l/gst-plugins-good0-0.10.31-x86_64-2.txt +-rw-r--r-- 1 root root 1037972 2016-01-11 01:39 ./slackware64/l/gst-plugins-good0-0.10.31-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-01-11 01:39 ./slackware64/l/gst-plugins-good0-0.10.31-x86_64-2.txz.asc +-rw-r--r-- 1 root root 602 2016-04-15 19:50 ./slackware64/l/gstreamer-1.6.4-x86_64-1.txt +-rw-r--r-- 1 root root 1777076 2016-04-15 19:50 ./slackware64/l/gstreamer-1.6.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-15 19:50 ./slackware64/l/gstreamer-1.6.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 617 2015-03-22 22:40 ./slackware64/l/gstreamer0-0.10.36-x86_64-1.txt +-rw-r--r-- 1 root root 1365336 2015-03-22 22:40 ./slackware64/l/gstreamer0-0.10.36-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-22 22:40 ./slackware64/l/gstreamer0-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 2016-03-07 19:06 ./slackware64/l/gtk+2-2.24.30-x86_64-1.txt +-rw-r--r-- 1 root root 7088248 2016-03-07 19:06 ./slackware64/l/gtk+2-2.24.30-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:06 ./slackware64/l/gtk+2-2.24.30-x86_64-1.txz.asc +-rw-r--r-- 1 root root 335 2016-03-10 20:32 ./slackware64/l/gtk+3-3.18.9-x86_64-1.txt +-rw-r--r-- 1 root root 9884620 2016-03-10 20:32 ./slackware64/l/gtk+3-3.18.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-10 20:32 ./slackware64/l/gtk+3-3.18.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 343 2016-01-13 20:41 ./slackware64/l/gtkmm2-2.24.4-x86_64-1.txt +-rw-r--r-- 1 root root 1242080 2016-01-13 20:41 ./slackware64/l/gtkmm2-2.24.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-13 20:41 ./slackware64/l/gtkmm2-2.24.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 343 2016-04-15 20:19 ./slackware64/l/gtkmm3-3.18.1-x86_64-1.txt +-rw-r--r-- 1 root root 1556308 2016-04-15 20:19 ./slackware64/l/gtkmm3-3.18.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-15 20:19 ./slackware64/l/gtkmm3-3.18.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 330 2015-11-21 18:27 ./slackware64/l/gtkspell-2.0.16-x86_64-3.txt +-rw-r--r-- 1 root root 36576 2015-11-21 18:27 ./slackware64/l/gtkspell-2.0.16-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:27 ./slackware64/l/gtkspell-2.0.16-x86_64-3.txz.asc +-rw-r--r-- 1 root root 429 2016-03-07 19:18 ./slackware64/l/gvfs-1.26.3-x86_64-1.txt +-rw-r--r-- 1 root root 1108720 2016-03-07 19:18 ./slackware64/l/gvfs-1.26.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:18 ./slackware64/l/gvfs-1.26.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 248 2016-06-02 18:01 ./slackware64/l/harfbuzz-1.2.7-x86_64-1.txt +-rw-r--r-- 1 root root 300620 2016-06-02 18:01 ./slackware64/l/harfbuzz-1.2.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-02 18:01 ./slackware64/l/harfbuzz-1.2.7-x86_64-1.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 509 2016-06-13 01:48 ./slackware64/l/hicolor-icon-theme-0.15-noarch-1.txt +-rw-r--r-- 1 root root 12644 2016-06-13 01:48 ./slackware64/l/hicolor-icon-theme-0.15-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-06-13 01:48 ./slackware64/l/hicolor-icon-theme-0.15-noarch-1.txz.asc +-rw-r--r-- 1 root root 514 2015-03-19 22:11 ./slackware64/l/hunspell-1.3.3-x86_64-1.txt +-rw-r--r-- 1 root root 243732 2015-03-19 22:11 ./slackware64/l/hunspell-1.3.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-19 22:11 ./slackware64/l/hunspell-1.3.3-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 2016-05-02 18:50 ./slackware64/l/icu4c-56.1-x86_64-2.txt +-rw-r--r-- 1 root root 8283932 2016-05-02 18:50 ./slackware64/l/icu4c-56.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-05-02 18:50 ./slackware64/l/icu4c-56.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 371 2015-03-07 03:05 ./slackware64/l/ilmbase-2.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 130928 2015-03-07 03:05 ./slackware64/l/ilmbase-2.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-07 03:05 ./slackware64/l/ilmbase-2.2.0-x86_64-1.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 2016-04-04 17:33 ./slackware64/l/iso-codes-3.67-noarch-1.txt +-rw-r--r-- 1 root root 2237728 2016-04-04 17:33 ./slackware64/l/iso-codes-3.67-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-04-04 17:33 ./slackware64/l/iso-codes-3.67-noarch-1.txz.asc +-rw-r--r-- 1 root root 390 2015-10-15 22:00 ./slackware64/l/jasper-1.900.1-x86_64-5.txt +-rw-r--r-- 1 root root 160800 2015-10-15 22:00 ./slackware64/l/jasper-1.900.1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2015-10-15 22:00 ./slackware64/l/jasper-1.900.1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 261 2015-04-02 23:45 ./slackware64/l/jemalloc-3.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 194856 2015-04-02 23:45 ./slackware64/l/jemalloc-3.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:45 ./slackware64/l/jemalloc-3.6.0-x86_64-1.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 266 2016-01-10 23:34 ./slackware64/l/json-c-0.12-x86_64-1.txt +-rw-r--r-- 1 root root 111244 2016-01-10 23:34 ./slackware64/l/json-c-0.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:34 ./slackware64/l/json-c-0.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 452 2015-04-02 23:42 ./slackware64/l/judy-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 132912 2015-04-02 23:42 ./slackware64/l/judy-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 23:42 ./slackware64/l/judy-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 341 2016-01-10 23:44 ./slackware64/l/keybinder-0.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 34096 2016-01-10 23:44 ./slackware64/l/keybinder-0.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:44 ./slackware64/l/keybinder-0.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 413 2015-12-18 04:42 ./slackware64/l/keyutils-1.5.9-x86_64-1.txt +-rw-r--r-- 1 root root 79076 2015-12-18 04:42 ./slackware64/l/keyutils-1.5.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 04:42 ./slackware64/l/keyutils-1.5.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 210 2015-03-24 21:40 ./slackware64/l/lcms-1.19-x86_64-3.txt +-rw-r--r-- 1 root root 178088 2015-03-24 21:40 ./slackware64/l/lcms-1.19-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-24 21:40 ./slackware64/l/lcms-1.19-x86_64-3.txz.asc +-rw-r--r-- 1 root root 233 2016-05-31 18:18 ./slackware64/l/lcms2-2.7-x86_64-2.txt +-rw-r--r-- 1 root root 186264 2016-05-31 18:18 ./slackware64/l/lcms2-2.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-05-31 18:18 ./slackware64/l/lcms2-2.7-x86_64-2.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 2016-01-15 21:53 ./slackware64/l/libao-1.2.0-x86_64-3.txt +-rw-r--r-- 1 root root 58356 2016-01-15 21:53 ./slackware64/l/libao-1.2.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-01-15 21:53 ./slackware64/l/libao-1.2.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 404 2016-06-20 18:11 ./slackware64/l/libarchive-3.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 458952 2016-06-20 18:11 ./slackware64/l/libarchive-3.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-20 18:11 ./slackware64/l/libarchive-3.2.1-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 370 2016-01-10 23:34 ./slackware64/l/libasyncns-0.8-x86_64-1.txt +-rw-r--r-- 1 root root 22912 2016-01-10 23:34 ./slackware64/l/libasyncns-0.8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:34 ./slackware64/l/libasyncns-0.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 555 2015-11-19 05:43 ./slackware64/l/libatasmart-0.19-x86_64-2.txt +-rw-r--r-- 1 root root 34916 2015-11-19 05:43 ./slackware64/l/libatasmart-0.19-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:43 ./slackware64/l/libatasmart-0.19-x86_64-2.txz.asc +-rw-r--r-- 1 root root 287 2015-04-02 15:32 ./slackware64/l/libbluedevil-2.1-x86_64-1.txt +-rw-r--r-- 1 root root 56660 2015-04-02 15:32 ./slackware64/l/libbluedevil-2.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 15:32 ./slackware64/l/libbluedevil-2.1-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 2016-01-15 21:50 ./slackware64/l/libcanberra-0.30-x86_64-5.txt +-rw-r--r-- 1 root root 96868 2016-01-15 21:50 ./slackware64/l/libcanberra-0.30-x86_64-5.txz +-rw-r--r-- 1 root root 181 2016-01-15 21:50 ./slackware64/l/libcanberra-0.30-x86_64-5.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 474 2016-02-11 20:26 ./slackware64/l/libcap-ng-0.7.7-x86_64-1.txt +-rw-r--r-- 1 root root 60344 2016-02-11 20:26 ./slackware64/l/libcap-ng-0.7.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-11 20:26 ./slackware64/l/libcap-ng-0.7.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 328 2015-03-31 23:55 ./slackware64/l/libcddb-1.3.2-x86_64-3.txt +-rw-r--r-- 1 root root 69916 2015-03-31 23:55 ./slackware64/l/libcddb-1.3.2-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-31 23:55 ./slackware64/l/libcddb-1.3.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 554 2015-03-31 23:37 ./slackware64/l/libcdio-0.93-x86_64-1.txt +-rw-r--r-- 1 root root 280988 2015-03-31 23:37 ./slackware64/l/libcdio-0.93-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-31 23:37 ./slackware64/l/libcdio-0.93-x86_64-1.txz.asc +-rw-r--r-- 1 root root 461 2015-03-31 23:39 ./slackware64/l/libcdio-paranoia-10.2+0.93+1-x86_64-1.txt +-rw-r--r-- 1 root root 81684 2015-03-31 23:39 ./slackware64/l/libcdio-paranoia-10.2+0.93+1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-31 23:39 ./slackware64/l/libcdio-paranoia-10.2+0.93+1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 402 2015-12-23 03:51 ./slackware64/l/libcroco-0.6.11-x86_64-1.txt +-rw-r--r-- 1 root root 215920 2015-12-23 03:51 ./slackware64/l/libcroco-0.6.11-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 03:51 ./slackware64/l/libcroco-0.6.11-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 2015-04-02 17:00 ./slackware64/l/libdiscid-0.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 25668 2015-04-02 17:00 ./slackware64/l/libdiscid-0.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 17:00 ./slackware64/l/libdiscid-0.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 402 2015-04-03 17:09 ./slackware64/l/libdvdnav-5.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 52208 2015-04-03 17:09 ./slackware64/l/libdvdnav-5.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-03 17:09 ./slackware64/l/libdvdnav-5.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 398 2015-04-13 19:08 ./slackware64/l/libdvdread-5.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 86960 2015-04-13 19:08 ./slackware64/l/libdvdread-5.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-13 19:08 ./slackware64/l/libdvdread-5.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 546 2016-03-21 20:04 ./slackware64/l/libevent-2.0.22-x86_64-1.txt +-rw-r--r-- 1 root root 236624 2016-03-21 20:04 ./slackware64/l/libevent-2.0.22-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-21 20:04 ./slackware64/l/libevent-2.0.22-x86_64-1.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 306 2015-04-01 03:44 ./slackware64/l/libfakekey-0.1-x86_64-1.txt +-rw-r--r-- 1 root root 11884 2015-04-01 03:44 ./slackware64/l/libfakekey-0.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-01 03:44 ./slackware64/l/libfakekey-0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 507 2015-03-19 01:16 ./slackware64/l/libffi-3.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 44464 2015-03-19 01:16 ./slackware64/l/libffi-3.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-19 01:16 ./slackware64/l/libffi-3.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 349 2015-03-24 19:37 ./slackware64/l/libglade-2.6.4-x86_64-5.txt +-rw-r--r-- 1 root root 92248 2015-03-24 19:37 ./slackware64/l/libglade-2.6.4-x86_64-5.txz +-rw-r--r-- 1 root root 181 2015-03-24 19:37 ./slackware64/l/libglade-2.6.4-x86_64-5.txz.asc +-rw-r--r-- 1 root root 412 2015-03-21 19:27 ./slackware64/l/libgnome-keyring-3.12.0-x86_64-1.txt +-rw-r--r-- 1 root root 140324 2015-03-21 19:27 ./slackware64/l/libgnome-keyring-3.12.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-21 19:27 ./slackware64/l/libgnome-keyring-3.12.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2016-04-30 18:15 ./slackware64/l/libgphoto2-2.5.10-x86_64-1.txt +-rw-r--r-- 1 root root 1517744 2016-04-30 18:15 ./slackware64/l/libgphoto2-2.5.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-30 18:15 ./slackware64/l/libgphoto2-2.5.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 518 2015-11-19 05:27 ./slackware64/l/libgpod-0.8.3-x86_64-2.txt +-rw-r--r-- 1 root root 304380 2015-11-19 05:27 ./slackware64/l/libgpod-0.8.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:27 ./slackware64/l/libgpod-0.8.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 336 2016-03-07 19:20 ./slackware64/l/libgsf-1.14.36-x86_64-1.txt +-rw-r--r-- 1 root root 309152 2016-03-07 19:20 ./slackware64/l/libgsf-1.14.36-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:20 ./slackware64/l/libgsf-1.14.36-x86_64-1.txz.asc +-rw-r--r-- 1 root root 462 2016-02-25 18:36 ./slackware64/l/libical-2.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 226196 2016-02-25 18:36 ./slackware64/l/libical-2.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-25 18:36 ./slackware64/l/libical-2.0.0-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 2015-04-30 03:18 ./slackware64/l/libidn-1.30-x86_64-1.txt +-rw-r--r-- 1 root root 304320 2015-04-30 03:18 ./slackware64/l/libidn-1.30-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-30 03:18 ./slackware64/l/libidn-1.30-x86_64-1.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 400 2015-04-17 23:46 ./slackware64/l/libimobiledevice-1.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 159744 2015-04-17 23:46 ./slackware64/l/libimobiledevice-1.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 23:46 ./slackware64/l/libimobiledevice-1.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2015-11-21 18:11 ./slackware64/l/libiodbc-3.52.10-x86_64-2.txt +-rw-r--r-- 1 root root 266472 2015-11-21 18:11 ./slackware64/l/libiodbc-3.52.10-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:11 ./slackware64/l/libiodbc-3.52.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 551 2016-06-15 18:18 ./slackware64/l/libjpeg-turbo-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 318740 2016-06-15 18:18 ./slackware64/l/libjpeg-turbo-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 18:18 ./slackware64/l/libjpeg-turbo-1.5.0-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 195 2015-03-07 03:09 ./slackware64/l/liblastfm-1.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 182360 2015-03-07 03:09 ./slackware64/l/liblastfm-1.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-07 03:09 ./slackware64/l/liblastfm-1.0.9-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 2015-08-18 19:10 ./slackware64/l/libmng-2.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 214496 2015-08-18 19:10 ./slackware64/l/libmng-2.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-18 19:10 ./slackware64/l/libmng-2.0.3-x86_64-1.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 2015-04-25 00:03 ./slackware64/l/libmpc-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 85320 2015-04-25 00:03 ./slackware64/l/libmpc-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-25 00:03 ./slackware64/l/libmpc-1.0.3-x86_64-1.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 2016-05-17 17:53 ./slackware64/l/libmtp-1.1.11-x86_64-1.txt +-rw-r--r-- 1 root root 206616 2016-05-17 17:53 ./slackware64/l/libmtp-1.1.11-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-17 17:53 ./slackware64/l/libmtp-1.1.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 374 2015-12-15 00:40 ./slackware64/l/libnih-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 165556 2015-12-15 00:40 ./slackware64/l/libnih-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-12-15 00:40 ./slackware64/l/libnih-1.0.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 2013-07-30 21:15 ./slackware64/l/libnl-1.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 541564 2013-07-30 21:15 ./slackware64/l/libnl-1.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-07-30 21:15 ./slackware64/l/libnl-1.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 520 2016-03-07 19:45 ./slackware64/l/libnl3-3.2.27-x86_64-1.txt +-rw-r--r-- 1 root root 323300 2016-03-07 19:45 ./slackware64/l/libnl3-3.2.27-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:45 ./slackware64/l/libnl3-3.2.27-x86_64-1.txz.asc +-rw-r--r-- 1 root root 244 2015-03-23 01:30 ./slackware64/l/libnotify-0.7.6-x86_64-1.txt +-rw-r--r-- 1 root root 46672 2015-03-23 01:30 ./slackware64/l/libnotify-0.7.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-23 01:30 ./slackware64/l/libnotify-0.7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 315 2016-03-19 20:41 ./slackware64/l/libodfgen-0.1.6-x86_64-1.txt +-rw-r--r-- 1 root root 285900 2016-03-19 20:41 ./slackware64/l/libodfgen-0.1.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:41 ./slackware64/l/libodfgen-0.1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 305 2015-04-02 17:02 ./slackware64/l/libogg-1.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 187536 2015-04-02 17:02 ./slackware64/l/libogg-1.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 17:02 ./slackware64/l/libogg-1.3.2-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 432 2015-08-07 18:58 ./slackware64/l/libpcap-1.7.4-x86_64-1.txt +-rw-r--r-- 1 root root 280168 2015-08-07 18:58 ./slackware64/l/libpcap-1.7.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-07 18:58 ./slackware64/l/libpcap-1.7.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 337 2015-04-17 19:25 ./slackware64/l/libplist-1.12-x86_64-1.txt +-rw-r--r-- 1 root root 53340 2015-04-17 19:25 ./slackware64/l/libplist-1.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 19:25 ./slackware64/l/libplist-1.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 492 2016-06-24 21:34 ./slackware64/l/libpng-1.6.23-x86_64-1.txt +-rw-r--r-- 1 root root 309952 2016-06-24 21:34 ./slackware64/l/libpng-1.6.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 21:34 ./slackware64/l/libpng-1.6.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 500 2016-02-22 20:03 ./slackware64/l/libproxy-0.4.12-x86_64-1.txt +-rw-r--r-- 1 root root 97296 2016-02-22 20:03 ./slackware64/l/libproxy-0.4.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-22 20:03 ./slackware64/l/libproxy-0.4.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 351 2015-12-15 05:26 ./slackware64/l/libraw1394-2.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 69940 2015-12-15 05:26 ./slackware64/l/libraw1394-2.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:26 ./slackware64/l/libraw1394-2.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 405 2016-03-19 20:37 ./slackware64/l/librevenge-0.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 293484 2016-03-19 20:37 ./slackware64/l/librevenge-0.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:37 ./slackware64/l/librevenge-0.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 174 2016-06-24 21:38 ./slackware64/l/librsvg-2.40.16-x86_64-1.txt +-rw-r--r-- 1 root root 147952 2016-06-24 21:38 ./slackware64/l/librsvg-2.40.16-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 21:38 ./slackware64/l/librsvg-2.40.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 653 2013-02-11 09:29 ./slackware64/l/libsamplerate-0.1.8-x86_64-1.txt +-rw-r--r-- 1 root root 994212 2013-02-11 09:29 ./slackware64/l/libsamplerate-0.1.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-02-11 09:29 ./slackware64/l/libsamplerate-0.1.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 250 2016-03-26 18:11 ./slackware64/l/libsecret-0.18.5-x86_64-1.txt +-rw-r--r-- 1 root root 198924 2016-03-26 18:11 ./slackware64/l/libsecret-0.18.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-26 18:11 ./slackware64/l/libsecret-0.18.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 624 2016-01-10 23:40 ./slackware64/l/libsigc++-2.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 125492 2016-01-10 23:40 ./slackware64/l/libsigc++-2.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:40 ./slackware64/l/libsigc++-2.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 607 2015-04-01 20:31 ./slackware64/l/libsigsegv-2.10-x86_64-1.txt +-rw-r--r-- 1 root root 33500 2015-04-01 20:31 ./slackware64/l/libsigsegv-2.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-01 20:31 ./slackware64/l/libsigsegv-2.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 370 2016-02-07 17:31 ./slackware64/l/libsndfile-1.0.26-x86_64-1.txt +-rw-r--r-- 1 root root 281336 2016-02-07 17:31 ./slackware64/l/libsndfile-1.0.26-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-07 17:31 ./slackware64/l/libsndfile-1.0.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2015-11-18 01:56 ./slackware64/l/libsoup-2.52.2-x86_64-2.txt +-rw-r--r-- 1 root root 550732 2015-11-18 01:56 ./slackware64/l/libsoup-2.52.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-18 01:56 ./slackware64/l/libsoup-2.52.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 413 2013-03-22 06:34 ./slackware64/l/libspectre-0.2.7-x86_64-1.txt +-rw-r--r-- 1 root root 38464 2013-03-22 06:34 ./slackware64/l/libspectre-0.2.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-03-22 06:34 ./slackware64/l/libspectre-0.2.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 406 2016-02-26 18:09 ./slackware64/l/libssh-0.7.3-x86_64-1.txt +-rw-r--r-- 1 root root 192884 2016-02-26 18:09 ./slackware64/l/libssh-0.7.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-26 18:09 ./slackware64/l/libssh-0.7.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 251 2016-02-26 18:13 ./slackware64/l/libssh2-1.7.0-x86_64-1.txt +-rw-r--r-- 1 root root 222388 2016-02-26 18:13 ./slackware64/l/libssh2-1.7.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-26 18:13 ./slackware64/l/libssh2-1.7.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 426 2016-04-11 17:05 ./slackware64/l/libtasn1-4.8-x86_64-1.txt +-rw-r--r-- 1 root root 127112 2016-04-11 17:05 ./slackware64/l/libtasn1-4.8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-11 17:05 ./slackware64/l/libtasn1-4.8-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 2016-05-26 22:41 ./slackware64/l/libtiff-4.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 468872 2016-05-26 22:41 ./slackware64/l/libtiff-4.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-26 22:41 ./slackware64/l/libtiff-4.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 372 2013-10-09 22:04 ./slackware64/l/libunistring-0.9.3-x86_64-1.txt +-rw-r--r-- 1 root root 407300 2013-10-09 22:04 ./slackware64/l/libunistring-0.9.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-09 22:04 ./slackware64/l/libunistring-0.9.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 278 2015-11-19 05:54 ./slackware64/l/libusb-1.0.20-x86_64-1.txt +-rw-r--r-- 1 root root 69612 2015-11-19 05:54 ./slackware64/l/libusb-1.0.20-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:54 ./slackware64/l/libusb-1.0.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2015-11-19 05:55 ./slackware64/l/libusb-compat-0.1.5-x86_64-2.txt +-rw-r--r-- 1 root root 29440 2015-11-19 05:55 ./slackware64/l/libusb-compat-0.1.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:55 ./slackware64/l/libusb-compat-0.1.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 322 2015-04-17 20:55 ./slackware64/l/libusbmuxd-1.0.10-x86_64-1.txt +-rw-r--r-- 1 root root 28168 2015-04-17 20:55 ./slackware64/l/libusbmuxd-1.0.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 20:55 ./slackware64/l/libusbmuxd-1.0.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 316 2016-03-19 20:39 ./slackware64/l/libvisio-0.1.5-x86_64-1.txt +-rw-r--r-- 1 root root 586076 2016-03-19 20:39 ./slackware64/l/libvisio-0.1.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:39 ./slackware64/l/libvisio-0.1.5-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 362 2015-08-20 18:10 ./slackware64/l/libvncserver-0.9.10-x86_64-2.txt +-rw-r--r-- 1 root root 233596 2015-08-20 18:10 ./slackware64/l/libvncserver-0.9.10-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 18:10 ./slackware64/l/libvncserver-0.9.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 560 2015-04-02 17:07 ./slackware64/l/libvorbis-1.3.5-x86_64-1.txt +-rw-r--r-- 1 root root 287296 2015-04-02 17:07 ./slackware64/l/libvorbis-1.3.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-02 17:07 ./slackware64/l/libvorbis-1.3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 435 2015-11-11 17:47 ./slackware64/l/libvpx-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 1102568 2015-11-11 17:47 ./slackware64/l/libvpx-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-11 17:47 ./slackware64/l/libvpx-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 288 2015-03-23 02:30 ./slackware64/l/libwmf-0.2.8.4-x86_64-6.txt +-rw-r--r-- 1 root root 754788 2015-03-23 02:30 ./slackware64/l/libwmf-0.2.8.4-x86_64-6.txz +-rw-r--r-- 1 root root 181 2015-03-23 02:30 ./slackware64/l/libwmf-0.2.8.4-x86_64-6.txz.asc +-rw-r--r-- 1 root root 305 2015-03-23 02:30 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-6.txt +-rw-r--r-- 1 root root 206608 2015-03-23 02:30 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-6.txz +-rw-r--r-- 1 root root 181 2015-03-23 02:30 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-6.txz.asc +-rw-r--r-- 1 root root 475 2015-11-21 18:10 ./slackware64/l/libwnck-2.31.0-x86_64-2.txt +-rw-r--r-- 1 root root 379792 2015-11-21 18:10 ./slackware64/l/libwnck-2.31.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:10 ./slackware64/l/libwnck-2.31.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 325 2016-03-19 20:36 ./slackware64/l/libwpd-0.10.1-x86_64-1.txt +-rw-r--r-- 1 root root 164800 2016-03-19 20:36 ./slackware64/l/libwpd-0.10.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:36 ./slackware64/l/libwpd-0.10.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 233 2016-03-07 19:59 ./slackware64/l/libwpg-0.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 138596 2016-03-07 19:59 ./slackware64/l/libwpg-0.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:59 ./slackware64/l/libwpg-0.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 292 2015-04-15 17:43 ./slackware64/l/libxklavier-5.4-x86_64-1.txt +-rw-r--r-- 1 root root 75980 2015-04-15 17:43 ./slackware64/l/libxklavier-5.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-15 17:43 ./slackware64/l/libxklavier-5.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 522 2016-06-03 19:28 ./slackware64/l/libxml2-2.9.4-x86_64-2.txt +-rw-r--r-- 1 root root 1238084 2016-06-03 19:28 ./slackware64/l/libxml2-2.9.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-03 19:28 ./slackware64/l/libxml2-2.9.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 220 2016-05-27 20:12 ./slackware64/l/libxslt-1.1.29-x86_64-1.txt +-rw-r--r-- 1 root root 361956 2016-05-27 20:12 ./slackware64/l/libxslt-1.1.29-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-27 20:12 ./slackware64/l/libxslt-1.1.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 287 2014-04-17 17:47 ./slackware64/l/libyaml-0.1.6-x86_64-1.txt +-rw-r--r-- 1 root root 108232 2014-04-17 17:47 ./slackware64/l/libyaml-0.1.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-04-17 17:47 ./slackware64/l/libyaml-0.1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2016-03-19 20:09 ./slackware64/l/libzip-1.0.1-x86_64-2.txt +-rw-r--r-- 1 root root 110604 2016-03-19 20:09 ./slackware64/l/libzip-1.0.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:09 ./slackware64/l/libzip-1.0.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2016-02-08 19:32 ./slackware64/l/loudmouth-1.5.2-x86_64-1.txt +-rw-r--r-- 1 root root 57688 2016-02-08 19:32 ./slackware64/l/loudmouth-1.5.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-08 19:32 ./slackware64/l/loudmouth-1.5.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 273 2015-04-24 16:30 ./slackware64/l/lzo-2.09-x86_64-1.txt +-rw-r--r-- 1 root root 83228 2015-04-24 16:30 ./slackware64/l/lzo-2.09-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-24 16:30 ./slackware64/l/lzo-2.09-x86_64-1.txz.asc +-rw-r--r-- 1 root root 20276 2016-03-03 05:26 ./slackware64/l/maketag +-rw-r--r-- 1 root root 20276 2016-03-03 05:26 ./slackware64/l/maketag.ez +-rw-r--r-- 1 root root 510 2013-07-25 06:34 ./slackware64/l/media-player-info-18-noarch-1.txt +-rw-r--r-- 1 root root 27468 2013-07-25 06:34 ./slackware64/l/media-player-info-18-noarch-1.txz +-rw-r--r-- 1 root root 198 2013-07-25 06:34 ./slackware64/l/media-player-info-18-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 2016-03-09 18:00 ./slackware64/l/mozilla-nss-3.23-x86_64-1.txt +-rw-r--r-- 1 root root 1743080 2016-03-09 18:00 ./slackware64/l/mozilla-nss-3.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 18:00 ./slackware64/l/mozilla-nss-3.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 587 2016-03-07 18:51 ./slackware64/l/mpfr-3.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 335116 2016-03-07 18:51 ./slackware64/l/mpfr-3.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 18:51 ./slackware64/l/mpfr-3.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2015-04-30 19:08 ./slackware64/l/ncurses-5.9-x86_64-4.txt +-rw-r--r-- 1 root root 962560 2015-04-30 19:08 ./slackware64/l/ncurses-5.9-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-04-30 19:08 ./slackware64/l/ncurses-5.9-x86_64-4.txz.asc +-rw-r--r-- 1 root root 343 2016-03-03 19:32 ./slackware64/l/neon-0.30.1-x86_64-2.txt +-rw-r--r-- 1 root root 210608 2016-03-03 19:32 ./slackware64/l/neon-0.30.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-03 19:32 ./slackware64/l/neon-0.30.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 231 2015-09-05 16:29 ./slackware64/l/netpbm-10.66.02-x86_64-4.txt +-rw-r--r-- 1 root root 1651076 2015-09-05 16:29 ./slackware64/l/netpbm-10.66.02-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-09-05 16:29 ./slackware64/l/netpbm-10.66.02-x86_64-4.txz.asc +-rw-r--r-- 1 root root 423 2016-03-29 21:00 ./slackware64/l/newt-0.52.19-x86_64-1.txt +-rw-r--r-- 1 root root 92504 2016-03-29 21:00 ./slackware64/l/newt-0.52.19-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-29 21:00 ./slackware64/l/newt-0.52.19-x86_64-1.txz.asc +-rw-r--r-- 1 root root 354 2015-09-17 18:54 ./slackware64/l/notify-python-0.1.1-x86_64-5.txt +-rw-r--r-- 1 root root 19384 2015-09-17 18:54 ./slackware64/l/notify-python-0.1.1-x86_64-5.txz +-rw-r--r-- 1 root root 181 2015-09-17 18:54 ./slackware64/l/notify-python-0.1.1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 457 2015-03-07 03:08 ./slackware64/l/openexr-2.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 2996120 2015-03-07 03:08 ./slackware64/l/openexr-2.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-07 03:08 ./slackware64/l/openexr-2.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 226 2015-03-23 02:37 ./slackware64/l/openjpeg-2.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 427860 2015-03-23 02:37 ./slackware64/l/openjpeg-2.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-23 02:37 ./slackware64/l/openjpeg-2.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 445 2015-10-31 20:26 ./slackware64/l/orc-0.4.24-x86_64-1.txt +-rw-r--r-- 1 root root 209596 2015-10-31 20:26 ./slackware64/l/orc-0.4.24-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-31 20:26 ./slackware64/l/orc-0.4.24-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2015-10-28 01:42 ./slackware64/l/pango-1.38.1-x86_64-1.txt +-rw-r--r-- 1 root root 461424 2015-10-28 01:42 ./slackware64/l/pango-1.38.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-28 01:42 ./slackware64/l/pango-1.38.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 178 2016-01-10 23:41 ./slackware64/l/pangomm-2.38.1-x86_64-1.txt +-rw-r--r-- 1 root root 119596 2016-01-10 23:41 ./slackware64/l/pangomm-2.38.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:41 ./slackware64/l/pangomm-2.38.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2015-09-07 17:09 ./slackware64/l/parted-3.2-x86_64-2.txt +-rw-r--r-- 1 root root 489804 2015-09-07 17:09 ./slackware64/l/parted-3.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-09-07 17:09 ./slackware64/l/parted-3.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 311 2016-06-20 19:17 ./slackware64/l/pcre-8.39-x86_64-1.txt +-rw-r--r-- 1 root root 801252 2016-06-20 19:17 ./slackware64/l/pcre-8.39-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-20 19:17 ./slackware64/l/pcre-8.39-x86_64-1.txz.asc +-rw-r--r-- 1 root root 425 2016-01-11 02:05 ./slackware64/l/phonon-4.8.3-x86_64-2.txt +-rw-r--r-- 1 root root 229772 2016-01-11 02:05 ./slackware64/l/phonon-4.8.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-01-11 02:05 ./slackware64/l/phonon-4.8.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 447 2015-04-01 03:43 ./slackware64/l/phonon-gstreamer-4.8.2-x86_64-1.txt +-rw-r--r-- 1 root root 116872 2015-04-01 03:43 ./slackware64/l/phonon-gstreamer-4.8.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-01 03:43 ./slackware64/l/phonon-gstreamer-4.8.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2015-11-10 21:14 ./slackware64/l/pilot-link-0.12.5-x86_64-10.txt +-rw-r--r-- 1 root root 552816 2015-11-10 21:14 ./slackware64/l/pilot-link-0.12.5-x86_64-10.txz +-rw-r--r-- 1 root root 181 2015-11-10 21:14 ./slackware64/l/pilot-link-0.12.5-x86_64-10.txz.asc +-rw-r--r-- 1 root root 450 2016-03-26 17:43 ./slackware64/l/polkit-0.113-x86_64-2.txt +-rw-r--r-- 1 root root 380020 2016-03-26 17:43 ./slackware64/l/polkit-0.113-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-26 17:43 ./slackware64/l/polkit-0.113-x86_64-2.txz.asc +-rw-r--r-- 1 root root 367 2016-03-25 17:56 ./slackware64/l/polkit-gnome-0.105-x86_64-1.txt +-rw-r--r-- 1 root root 68012 2016-03-25 17:56 ./slackware64/l/polkit-gnome-0.105-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-25 17:56 ./slackware64/l/polkit-gnome-0.105-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 536 2016-06-23 06:22 ./slackware64/l/poppler-0.45.0-x86_64-1.txt +-rw-r--r-- 1 root root 1383692 2016-06-23 06:22 ./slackware64/l/poppler-0.45.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-23 06:22 ./slackware64/l/poppler-0.45.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 601 2015-03-23 02:48 ./slackware64/l/poppler-data-0.4.7-noarch-1.txt +-rw-r--r-- 1 root root 1463536 2015-03-23 02:48 ./slackware64/l/poppler-data-0.4.7-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-03-23 02:48 ./slackware64/l/poppler-data-0.4.7-noarch-1.txz.asc +-rw-r--r-- 1 root root 592 2013-05-18 02:20 ./slackware64/l/popt-1.16-x86_64-2.txt +-rw-r--r-- 1 root root 58832 2013-05-18 02:20 ./slackware64/l/popt-1.16-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-05-18 02:20 ./slackware64/l/popt-1.16-x86_64-2.txz.asc +-rw-r--r-- 1 root root 339 2016-06-22 19:50 ./slackware64/l/pulseaudio-9.0-x86_64-1.txt +-rw-r--r-- 1 root root 1400912 2016-06-22 19:50 ./slackware64/l/pulseaudio-9.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-22 19:50 ./slackware64/l/pulseaudio-9.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 286 2015-03-23 06:57 ./slackware64/l/pycairo-1.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 50136 2015-03-23 06:57 ./slackware64/l/pycairo-1.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-23 06:57 ./slackware64/l/pycairo-1.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 239 2015-12-23 20:51 ./slackware64/l/pycups-1.9.73-x86_64-1.txt +-rw-r--r-- 1 root root 67124 2015-12-23 20:51 ./slackware64/l/pycups-1.9.73-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 20:51 ./slackware64/l/pycups-1.9.73-x86_64-1.txz.asc +-rw-r--r-- 1 root root 391 2016-03-07 19:26 ./slackware64/l/pycurl-7.43.0-x86_64-1.txt +-rw-r--r-- 1 root root 74960 2016-03-07 19:26 ./slackware64/l/pycurl-7.43.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:26 ./slackware64/l/pycurl-7.43.0-x86_64-1.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 408 2015-10-28 01:52 ./slackware64/l/pygobject3-3.18.2-x86_64-1.txt +-rw-r--r-- 1 root root 265844 2015-10-28 01:52 ./slackware64/l/pygobject3-3.18.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-28 01:52 ./slackware64/l/pygobject3-3.18.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 320 2015-06-30 22:51 ./slackware64/l/pygtk-2.24.0-x86_64-2.txt +-rw-r--r-- 1 root root 1747452 2015-06-30 22:51 ./slackware64/l/pygtk-2.24.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-06-30 22:51 ./slackware64/l/pygtk-2.24.0-x86_64-2.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 532 2015-10-15 20:51 ./slackware64/l/python-pillow-3.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 535276 2015-10-15 20:51 ./slackware64/l/python-pillow-3.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:51 ./slackware64/l/python-pillow-3.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 567 2016-04-13 20:06 ./slackware64/l/qca-2.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 697696 2016-04-13 20:06 ./slackware64/l/qca-2.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-13 20:06 ./slackware64/l/qca-2.1.1-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 510 2013-02-11 03:09 ./slackware64/l/qjson-0.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 86924 2013-02-11 03:09 ./slackware64/l/qjson-0.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-02-11 03:09 ./slackware64/l/qjson-0.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 263 2016-03-02 06:41 ./slackware64/l/qt-4.8.7-x86_64-4.txt +-rw-r--r-- 1 root root 32606848 2016-03-02 06:41 ./slackware64/l/qt-4.8.7-x86_64-4.txz +-rw-r--r-- 1 root root 181 2016-03-02 06:41 ./slackware64/l/qt-4.8.7-x86_64-4.txz.asc +-rw-r--r-- 1 root root 546 2015-04-08 18:13 ./slackware64/l/qt-gstreamer-1.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 245444 2015-04-08 18:13 ./slackware64/l/qt-gstreamer-1.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-08 18:13 ./slackware64/l/qt-gstreamer-1.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 489 2013-06-22 19:59 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-2.txt +-rw-r--r-- 1 root root 4451332 2013-06-22 19:59 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-06-22 19:59 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 557 2015-11-18 02:04 ./slackware64/l/raptor2-2.0.15-x86_64-2.txt +-rw-r--r-- 1 root root 341508 2015-11-18 02:04 ./slackware64/l/raptor2-2.0.15-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-18 02:04 ./slackware64/l/raptor2-2.0.15-x86_64-2.txz.asc +-rw-r--r-- 1 root root 428 2013-03-22 11:20 ./slackware64/l/rasqal-0.9.30-x86_64-1.txt +-rw-r--r-- 1 root root 275320 2013-03-22 11:20 ./slackware64/l/rasqal-0.9.30-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-03-22 11:20 ./slackware64/l/rasqal-0.9.30-x86_64-1.txz.asc +-rw-r--r-- 1 root root 559 2015-11-07 18:54 ./slackware64/l/readline-6.3-x86_64-2.txt +-rw-r--r-- 1 root root 277712 2015-11-07 18:54 ./slackware64/l/readline-6.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-07 18:54 ./slackware64/l/readline-6.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 528 2013-03-22 11:22 ./slackware64/l/redland-1.0.16-x86_64-1.txt +-rw-r--r-- 1 root root 291712 2013-03-22 11:22 ./slackware64/l/redland-1.0.16-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-03-22 11:22 ./slackware64/l/redland-1.0.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2015-12-22 23:14 ./slackware64/l/sbc-1.3-x86_64-1.txt +-rw-r--r-- 1 root root 53784 2015-12-22 23:14 ./slackware64/l/sbc-1.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-22 23:14 ./slackware64/l/sbc-1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 487 2016-06-08 17:01 ./slackware64/l/sdl-1.2.15-x86_64-4.txt +-rw-r--r-- 1 root root 562648 2016-06-08 17:01 ./slackware64/l/sdl-1.2.15-x86_64-4.txz +-rw-r--r-- 1 root root 181 2016-06-08 17:01 ./slackware64/l/sdl-1.2.15-x86_64-4.txz.asc +-rw-r--r-- 1 root root 673 2016-03-15 23:19 ./slackware64/l/seamonkey-solibs-2.40-x86_64-1.txt +-rw-r--r-- 1 root root 1306196 2016-03-15 23:19 ./slackware64/l/seamonkey-solibs-2.40-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-15 23:19 ./slackware64/l/seamonkey-solibs-2.40-x86_64-1.txz.asc +-rw-r--r-- 1 root root 485 2015-10-23 23:11 ./slackware64/l/serf-1.3.8-x86_64-1.txt +-rw-r--r-- 1 root root 62876 2015-10-23 23:11 ./slackware64/l/serf-1.3.8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-23 23:11 ./slackware64/l/serf-1.3.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 583 2016-02-26 19:08 ./slackware64/l/sg3_utils-1.42-x86_64-1.txt +-rw-r--r-- 1 root root 716760 2016-02-26 19:08 ./slackware64/l/sg3_utils-1.42-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-26 19:08 ./slackware64/l/sg3_utils-1.42-x86_64-1.txz.asc +-rw-r--r-- 1 root root 642 2015-04-01 03:42 ./slackware64/l/shared-desktop-ontologies-0.11.0-x86_64-1.txt +-rw-r--r-- 1 root root 96788 2015-04-01 03:42 ./slackware64/l/shared-desktop-ontologies-0.11.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-01 03:42 ./slackware64/l/shared-desktop-ontologies-0.11.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 488 2016-03-08 20:22 ./slackware64/l/shared-mime-info-1.6-x86_64-1.txt +-rw-r--r-- 1 root root 446864 2016-03-08 20:22 ./slackware64/l/shared-mime-info-1.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-08 20:22 ./slackware64/l/shared-mime-info-1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 395 2016-06-22 18:26 ./slackware64/l/sip-4.18-x86_64-1.txt +-rw-r--r-- 1 root root 510380 2016-06-22 18:26 ./slackware64/l/sip-4.18-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-22 18:26 ./slackware64/l/sip-4.18-x86_64-1.txz.asc +-rw-r--r-- 1 root root 538 2015-03-23 01:02 ./slackware64/l/slang-2.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 485196 2015-03-23 01:02 ./slackware64/l/slang-2.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-23 01:02 ./slackware64/l/slang-2.3.0-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 2015-04-01 03:42 ./slackware64/l/soprano-2.9.4-x86_64-1.txt +-rw-r--r-- 1 root root 571820 2015-04-01 03:42 ./slackware64/l/soprano-2.9.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-01 03:42 ./slackware64/l/soprano-2.9.4-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 232 2016-01-10 23:34 ./slackware64/l/speexdsp-1.2rc3-x86_64-1.txt +-rw-r--r-- 1 root root 457028 2016-01-10 23:34 ./slackware64/l/speexdsp-1.2rc3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:34 ./slackware64/l/speexdsp-1.2rc3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2013-09-07 21:26 ./slackware64/l/startup-notification-0.12-x86_64-2.txt +-rw-r--r-- 1 root root 29808 2013-09-07 21:26 ./slackware64/l/startup-notification-0.12-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-09-07 21:26 ./slackware64/l/startup-notification-0.12-x86_64-2.txz.asc +-rw-r--r-- 1 root root 509 2015-10-22 17:17 ./slackware64/l/strigi-0.7.8-x86_64-2.txt +-rw-r--r-- 1 root root 696288 2015-10-22 17:17 ./slackware64/l/strigi-0.7.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-22 17:17 ./slackware64/l/strigi-0.7.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 344 2015-03-19 17:58 ./slackware64/l/svgalib-1.9.25-x86_64-3.txt +-rw-r--r-- 1 root root 601292 2015-03-19 17:58 ./slackware64/l/svgalib-1.9.25-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-19 17:58 ./slackware64/l/svgalib-1.9.25-x86_64-3.txz.asc +-rw-r--r-- 1 root root 745 2015-11-19 06:00 ./slackware64/l/system-config-printer-1.3.13-x86_64-2.txt +-rw-r--r-- 1 root root 676440 2015-11-19 06:00 ./slackware64/l/system-config-printer-1.3.13-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 06:00 ./slackware64/l/system-config-printer-1.3.13-x86_64-2.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 3694 2016-03-03 05:26 ./slackware64/l/tagfile +-rw-r--r-- 1 root root 340 2016-03-19 20:45 ./slackware64/l/taglib-1.10-x86_64-1.txt +-rw-r--r-- 1 root root 374360 2016-03-19 20:45 ./slackware64/l/taglib-1.10-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:45 ./slackware64/l/taglib-1.10-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 2016-03-26 22:22 ./slackware64/l/urwid-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 288836 2016-03-26 22:22 ./slackware64/l/urwid-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-26 22:22 ./slackware64/l/urwid-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 553 2016-03-07 20:11 ./slackware64/l/v4l-utils-1.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 712628 2016-03-07 20:11 ./slackware64/l/v4l-utils-1.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:11 ./slackware64/l/v4l-utils-1.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 427 2015-11-21 18:22 ./slackware64/l/virtuoso-ose-6.1.8-x86_64-3.txt +-rw-r--r-- 1 root root 7787864 2015-11-21 18:22 ./slackware64/l/virtuoso-ose-6.1.8-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:22 ./slackware64/l/virtuoso-ose-6.1.8-x86_64-3.txz.asc +-rw-r--r-- 1 root root 256 2015-11-21 18:24 ./slackware64/l/vte-0.28.2-x86_64-4.txt +-rw-r--r-- 1 root root 376880 2015-11-21 18:24 ./slackware64/l/vte-0.28.2-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:24 ./slackware64/l/vte-0.28.2-x86_64-4.txz.asc +-rw-r--r-- 1 root root 381 2016-03-19 20:48 ./slackware64/l/wavpack-4.75.2-x86_64-1.txt +-rw-r--r-- 1 root root 135988 2016-03-19 20:48 ./slackware64/l/wavpack-4.75.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:48 ./slackware64/l/wavpack-4.75.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2015-12-30 23:25 ./slackware64/l/xapian-core-1.2.22-x86_64-1.txt +-rw-r--r-- 1 root root 2489500 2015-12-30 23:25 ./slackware64/l/xapian-core-1.2.22-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-30 23:25 ./slackware64/l/xapian-core-1.2.22-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2013-08-20 23:23 ./slackware64/l/zlib-1.2.8-x86_64-1.txt +-rw-r--r-- 1 root root 98756 2013-08-20 23:23 ./slackware64/l/zlib-1.2.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-08-20 23:23 ./slackware64/l/zlib-1.2.8-x86_64-1.txz.asc +drwxr-xr-x 2 root root 24576 2016-06-24 23:57 ./slackware64/n +-rw-r--r-- 1 root root 369 2016-03-31 20:47 ./slackware64/n/ModemManager-1.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 836544 2016-03-31 20:47 ./slackware64/n/ModemManager-1.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-31 20:47 ./slackware64/n/ModemManager-1.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 603 2016-06-13 03:28 ./slackware64/n/NetworkManager-1.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 3992360 2016-06-13 03:28 ./slackware64/n/NetworkManager-1.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-13 03:28 ./slackware64/n/NetworkManager-1.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 645 2015-10-23 21:06 ./slackware64/n/alpine-2.20-x86_64-2.txt +-rw-r--r-- 1 root root 1965088 2015-10-23 21:06 ./slackware64/n/alpine-2.20-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-23 21:06 ./slackware64/n/alpine-2.20-x86_64-2.txz.asc +-rw-r--r-- 1 root root 416 2013-04-18 21:05 ./slackware64/n/autofs-5.0.7-x86_64-2.txt +-rw-r--r-- 1 root root 338192 2013-04-18 21:05 ./slackware64/n/autofs-5.0.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2013-04-18 21:05 ./slackware64/n/autofs-5.0.7-x86_64-2.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 2016-05-26 22:46 ./slackware64/n/bind-9.10.4_P1-x86_64-1.txt +-rw-r--r-- 1 root root 2379756 2016-05-26 22:46 ./slackware64/n/bind-9.10.4_P1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-26 22:46 ./slackware64/n/bind-9.10.4_P1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 347 2016-05-31 19:07 ./slackware64/n/bluez-5.40-x86_64-1.txt +-rw-r--r-- 1 root root 984604 2016-05-31 19:07 ./slackware64/n/bluez-5.40-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-31 19:07 ./slackware64/n/bluez-5.40-x86_64-1.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 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 2015-10-31 00:00 ./slackware64/n/bridge-utils-1.5-x86_64-1.txt +-rw-r--r-- 1 root root 29572 2015-10-31 00:00 ./slackware64/n/bridge-utils-1.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-31 00:00 ./slackware64/n/bridge-utils-1.5-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 2016-04-20 16:47 ./slackware64/n/ca-certificates-20160104-noarch-1.txt +-rw-r--r-- 1 root root 160580 2016-04-20 16:47 ./slackware64/n/ca-certificates-20160104-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-04-20 16:47 ./slackware64/n/ca-certificates-20160104-noarch-1.txz.asc +-rw-r--r-- 1 root root 606 2016-02-11 20:29 ./slackware64/n/cifs-utils-6.4-x86_64-2.txt +-rw-r--r-- 1 root root 188268 2016-02-11 20:29 ./slackware64/n/cifs-utils-6.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-02-11 20:29 ./slackware64/n/cifs-utils-6.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 536 2016-03-04 16:25 ./slackware64/n/conntrack-tools-1.4.3-x86_64-1.txt +-rw-r--r-- 1 root root 144116 2016-03-04 16:25 ./slackware64/n/conntrack-tools-1.4.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-04 16:25 ./slackware64/n/conntrack-tools-1.4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 415 2016-03-17 00:51 ./slackware64/n/crda-3.18-x86_64-3.txt +-rw-r--r-- 1 root root 64624 2016-03-17 00:51 ./slackware64/n/crda-3.18-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-03-17 00:51 ./slackware64/n/crda-3.18-x86_64-3.txz.asc +-rw-r--r-- 1 root root 555 2016-05-30 17:57 ./slackware64/n/curl-7.49.1-x86_64-1.txt +-rw-r--r-- 1 root root 1097604 2016-05-30 17:57 ./slackware64/n/curl-7.49.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-30 17:57 ./slackware64/n/curl-7.49.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 375 2015-10-24 04:35 ./slackware64/n/cyrus-sasl-2.1.26-x86_64-1.txt +-rw-r--r-- 1 root root 436556 2015-10-24 04:35 ./slackware64/n/cyrus-sasl-2.1.26-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-24 04:35 ./slackware64/n/cyrus-sasl-2.1.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 644 2016-03-30 17:29 ./slackware64/n/dhcp-4.3.4-x86_64-1.txt +-rw-r--r-- 1 root root 1291464 2016-03-30 17:29 ./slackware64/n/dhcp-4.3.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-30 17:29 ./slackware64/n/dhcp-4.3.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 443 2015-11-19 06:04 ./slackware64/n/dhcpcd-6.8.2-x86_64-2.txt +-rw-r--r-- 1 root root 145752 2015-11-19 06:04 ./slackware64/n/dhcpcd-6.8.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 06:04 ./slackware64/n/dhcpcd-6.8.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 494 2016-01-12 20:57 ./slackware64/n/dirmngr-1.1.1-x86_64-3.txt +-rw-r--r-- 1 root root 203668 2016-01-12 20:57 ./slackware64/n/dirmngr-1.1.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-01-12 20:57 ./slackware64/n/dirmngr-1.1.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 396 2016-05-18 18:39 ./slackware64/n/dnsmasq-2.76-x86_64-1.txt +-rw-r--r-- 1 root root 325680 2016-05-18 18:39 ./slackware64/n/dnsmasq-2.76-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-18 18:39 ./slackware64/n/dnsmasq-2.76-x86_64-1.txz.asc +-rw-r--r-- 1 root root 426 2013-10-08 05:03 ./slackware64/n/ebtables-2.0.10-x86_64-1.txt +-rw-r--r-- 1 root root 80376 2013-10-08 05:03 ./slackware64/n/ebtables-2.0.10-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 05:03 ./slackware64/n/ebtables-2.0.10-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 2016-04-08 15:53 ./slackware64/n/epic5-2.0-x86_64-1.txt +-rw-r--r-- 1 root root 781000 2016-04-08 15:53 ./slackware64/n/epic5-2.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-08 15:53 ./slackware64/n/epic5-2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 441 2016-03-15 17:38 ./slackware64/n/ethtool-4.5-x86_64-1.txt +-rw-r--r-- 1 root root 98996 2016-03-15 17:38 ./slackware64/n/ethtool-4.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-15 17:38 ./slackware64/n/ethtool-4.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 607 2016-03-02 04:44 ./slackware64/n/fetchmail-6.3.26-x86_64-2.txt +-rw-r--r-- 1 root root 628840 2016-03-02 04:44 ./slackware64/n/fetchmail-6.3.26-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-02 04:44 ./slackware64/n/fetchmail-6.3.26-x86_64-2.txz.asc +-rw-r--r-- 1 root root 363 2015-04-18 22:25 ./slackware64/n/getmail-4.47.0-x86_64-1.txt +-rw-r--r-- 1 root root 172056 2015-04-18 22:25 ./slackware64/n/getmail-4.47.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-18 22:25 ./slackware64/n/getmail-4.47.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 371 2016-03-09 18:52 ./slackware64/n/gnupg-1.4.20-x86_64-1.txt +-rw-r--r-- 1 root root 1165084 2016-03-09 18:52 ./slackware64/n/gnupg-1.4.20-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 18:52 ./slackware64/n/gnupg-1.4.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 601 2016-04-24 03:23 ./slackware64/n/gnupg2-2.0.30-x86_64-1.txt +-rw-r--r-- 1 root root 1753940 2016-04-24 03:23 ./slackware64/n/gnupg2-2.0.30-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-24 03:23 ./slackware64/n/gnupg2-2.0.30-x86_64-1.txz.asc +-rw-r--r-- 1 root root 493 2016-06-07 17:39 ./slackware64/n/gnutls-3.4.13-x86_64-1.txt +-rw-r--r-- 1 root root 2312316 2016-06-07 17:39 ./slackware64/n/gnutls-3.4.13-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-07 17:39 ./slackware64/n/gnutls-3.4.13-x86_64-1.txz.asc +-rw-r--r-- 1 root root 287 2015-12-18 03:24 ./slackware64/n/gpa-0.9.9-x86_64-1.txt +-rw-r--r-- 1 root root 277460 2015-12-18 03:24 ./slackware64/n/gpa-0.9.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 03:24 ./slackware64/n/gpa-0.9.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 539 2015-12-18 03:20 ./slackware64/n/gpgme-1.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 281804 2015-12-18 03:20 ./slackware64/n/gpgme-1.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 03:20 ./slackware64/n/gpgme-1.6.0-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 2016-04-11 18:32 ./slackware64/n/httpd-2.4.20-x86_64-1.txt +-rw-r--r-- 1 root root 3538396 2016-04-11 18:32 ./slackware64/n/httpd-2.4.20-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-11 18:32 ./slackware64/n/httpd-2.4.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 366 2015-10-13 17:47 ./slackware64/n/icmpinfo-1.11-x86_64-2.txt +-rw-r--r-- 1 root root 9516 2015-10-13 17:47 ./slackware64/n/icmpinfo-1.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-13 17:47 ./slackware64/n/icmpinfo-1.11-x86_64-2.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 2015-10-23 21:06 ./slackware64/n/imapd-2.20-x86_64-2.txt +-rw-r--r-- 1 root root 469644 2015-10-23 21:06 ./slackware64/n/imapd-2.20-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-23 21:06 ./slackware64/n/imapd-2.20-x86_64-2.txz.asc +-rw-r--r-- 1 root root 454 2016-01-12 19:51 ./slackware64/n/inetd-1.79s-x86_64-9.txt +-rw-r--r-- 1 root root 21132 2016-01-12 19:51 ./slackware64/n/inetd-1.79s-x86_64-9.txz +-rw-r--r-- 1 root root 181 2016-01-12 19:51 ./slackware64/n/inetd-1.79s-x86_64-9.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 2016-03-04 17:41 ./slackware64/n/iproute2-4.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 610372 2016-03-04 17:41 ./slackware64/n/iproute2-4.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-04 17:41 ./slackware64/n/iproute2-4.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 444 2013-10-08 04:48 ./slackware64/n/ipset-6.20-x86_64-1.txt +-rw-r--r-- 1 root root 74668 2013-10-08 04:48 ./slackware64/n/ipset-6.20-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:48 ./slackware64/n/ipset-6.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 670 2016-03-28 18:32 ./slackware64/n/iptables-1.6.0-x86_64-2.txt +-rw-r--r-- 1 root root 370504 2016-03-28 18:32 ./slackware64/n/iptables-1.6.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-28 18:32 ./slackware64/n/iptables-1.6.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 588 2013-10-15 22:28 ./slackware64/n/iptraf-ng-1.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 279492 2013-10-15 22:28 ./slackware64/n/iptraf-ng-1.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-15 22:28 ./slackware64/n/iptraf-ng-1.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 423 2015-08-20 18:42 ./slackware64/n/iputils-s20140519-x86_64-1.txt +-rw-r--r-- 1 root root 103132 2015-08-20 18:42 ./slackware64/n/iputils-s20140519-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 18:42 ./slackware64/n/iputils-s20140519-x86_64-1.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 2016-03-24 21:13 ./slackware64/n/irssi-0.8.19-x86_64-1.txt +-rw-r--r-- 1 root root 593316 2016-03-24 21:13 ./slackware64/n/irssi-0.8.19-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-24 21:13 ./slackware64/n/irssi-0.8.19-x86_64-1.txz.asc +-rw-r--r-- 1 root root 426 2015-12-15 05:25 ./slackware64/n/iw-4.3-x86_64-1.txt +-rw-r--r-- 1 root root 57520 2015-12-15 05:25 ./slackware64/n/iw-4.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:25 ./slackware64/n/iw-4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 582 2016-05-20 17:23 ./slackware64/n/lftp-4.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 819176 2016-05-20 17:23 ./slackware64/n/lftp-4.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-20 17:23 ./slackware64/n/lftp-4.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 252 2015-12-18 03:15 ./slackware64/n/libassuan-2.4.2-x86_64-1.txt +-rw-r--r-- 1 root root 114008 2015-12-18 03:15 ./slackware64/n/libassuan-2.4.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 03:15 ./slackware64/n/libassuan-2.4.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 245 2016-06-15 18:21 ./slackware64/n/libgcrypt-1.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 511376 2016-06-15 18:21 ./slackware64/n/libgcrypt-1.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 18:21 ./slackware64/n/libgcrypt-1.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 393 2016-06-15 18:20 ./slackware64/n/libgpg-error-1.23-x86_64-1.txt +-rw-r--r-- 1 root root 161840 2016-06-15 18:20 ./slackware64/n/libgpg-error-1.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 18:20 ./slackware64/n/libgpg-error-1.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 332 2015-12-18 03:16 ./slackware64/n/libksba-1.3.3-x86_64-1.txt +-rw-r--r-- 1 root root 139380 2015-12-18 03:16 ./slackware64/n/libksba-1.3.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 03:16 ./slackware64/n/libksba-1.3.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 341 2015-11-19 05:48 ./slackware64/n/libmbim-1.12.2-x86_64-2.txt +-rw-r--r-- 1 root root 107012 2015-11-19 05:48 ./slackware64/n/libmbim-1.12.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 05:48 ./slackware64/n/libmbim-1.12.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 537 2013-10-08 04:31 ./slackware64/n/libmnl-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 17768 2013-10-08 04:31 ./slackware64/n/libmnl-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:31 ./slackware64/n/libmnl-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 333 2016-05-17 17:29 ./slackware64/n/libndp-1.6-x86_64-1.txt +-rw-r--r-- 1 root root 24752 2016-05-17 17:29 ./slackware64/n/libndp-1.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-17 17:29 ./slackware64/n/libndp-1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 413 2013-10-08 04:31 ./slackware64/n/libnetfilter_acct-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 13992 2013-10-08 04:31 ./slackware64/n/libnetfilter_acct-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:31 ./slackware64/n/libnetfilter_acct-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 532 2016-03-04 16:22 ./slackware64/n/libnetfilter_conntrack-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 47572 2016-03-04 16:22 ./slackware64/n/libnetfilter_conntrack-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-04 16:22 ./slackware64/n/libnetfilter_conntrack-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 618 2013-10-08 04:31 ./slackware64/n/libnetfilter_cthelper-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 12896 2013-10-08 04:31 ./slackware64/n/libnetfilter_cthelper-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:31 ./slackware64/n/libnetfilter_cthelper-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 585 2013-10-08 04:33 ./slackware64/n/libnetfilter_cttimeout-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 13032 2013-10-08 04:33 ./slackware64/n/libnetfilter_cttimeout-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:33 ./slackware64/n/libnetfilter_cttimeout-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 578 2013-10-08 04:34 ./slackware64/n/libnetfilter_log-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 15388 2013-10-08 04:34 ./slackware64/n/libnetfilter_log-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:34 ./slackware64/n/libnetfilter_log-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 553 2013-10-08 04:35 ./slackware64/n/libnetfilter_queue-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 17800 2013-10-08 04:35 ./slackware64/n/libnetfilter_queue-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:35 ./slackware64/n/libnetfilter_queue-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 519 2013-10-08 04:31 ./slackware64/n/libnfnetlink-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 21348 2013-10-08 04:31 ./slackware64/n/libnfnetlink-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:31 ./slackware64/n/libnfnetlink-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 403 2016-06-01 19:22 ./slackware64/n/libnftnl-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 55564 2016-06-01 19:22 ./slackware64/n/libnftnl-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-01 19:22 ./slackware64/n/libnftnl-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 298 2015-03-21 21:30 ./slackware64/n/libqmi-1.12.6-x86_64-1.txt +-rw-r--r-- 1 root root 423392 2015-03-21 21:30 ./slackware64/n/libqmi-1.12.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-21 21:30 ./slackware64/n/libqmi-1.12.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 540 2015-12-22 21:58 ./slackware64/n/libtirpc-1.0.1-x86_64-2.txt +-rw-r--r-- 1 root root 134668 2015-12-22 21:58 ./slackware64/n/libtirpc-1.0.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-12-22 21:58 ./slackware64/n/libtirpc-1.0.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 446 2016-03-02 04:42 ./slackware64/n/links-2.12-x86_64-2.txt +-rw-r--r-- 1 root root 2873272 2016-03-02 04:42 ./slackware64/n/links-2.12-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-02 04:42 ./slackware64/n/links-2.12-x86_64-2.txz.asc +-rw-r--r-- 1 root root 498 2016-03-09 19:10 ./slackware64/n/lynx-2.8.8rel.2-x86_64-1.txt +-rw-r--r-- 1 root root 1559916 2016-03-09 19:10 ./slackware64/n/lynx-2.8.8rel.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-09 19:10 ./slackware64/n/lynx-2.8.8rel.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 567 2016-02-29 19:37 ./slackware64/n/mailx-12.5-x86_64-2.txt +-rw-r--r-- 1 root root 241512 2016-02-29 19:37 ./slackware64/n/mailx-12.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-02-29 19:37 ./slackware64/n/mailx-12.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 11213 2016-02-29 20:49 ./slackware64/n/maketag +-rw-r--r-- 1 root root 11213 2016-02-29 20:49 ./slackware64/n/maketag.ez +-rw-r--r-- 1 root root 418 2016-02-08 19:34 ./slackware64/n/mcabber-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 239628 2016-02-08 19:34 ./slackware64/n/mcabber-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-08 19:34 ./slackware64/n/mcabber-1.0.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 2015-12-15 05:03 ./slackware64/n/mobile-broadband-provider-info-20151214-x86_64-1.txt +-rw-r--r-- 1 root root 45172 2015-12-15 05:03 ./slackware64/n/mobile-broadband-provider-info-20151214-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 05:03 ./slackware64/n/mobile-broadband-provider-info-20151214-x86_64-1.txz.asc +-rw-r--r-- 1 root root 325 2016-03-26 18:26 ./slackware64/n/mtr-0.86-x86_64-1.txt +-rw-r--r-- 1 root root 53084 2016-03-26 18:26 ./slackware64/n/mtr-0.86-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-26 18:26 ./slackware64/n/mtr-0.86-x86_64-1.txz.asc +-rw-r--r-- 1 root root 411 2016-05-04 23:10 ./slackware64/n/mutt-1.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 1005636 2016-05-04 23:10 ./slackware64/n/mutt-1.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-04 23:10 ./slackware64/n/mutt-1.6.1-x86_64-1.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 2016-06-03 20:13 ./slackware64/n/net-snmp-5.7.3-x86_64-3.txt +-rw-r--r-- 1 root root 1539680 2016-06-03 20:13 ./slackware64/n/net-snmp-5.7.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-06-03 20:13 ./slackware64/n/net-snmp-5.7.3-x86_64-3.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 2015-10-23 19:34 ./slackware64/n/netatalk-2.2.3-x86_64-6.txt +-rw-r--r-- 1 root root 732960 2015-10-23 19:34 ./slackware64/n/netatalk-2.2.3-x86_64-6.txz +-rw-r--r-- 1 root root 181 2015-10-23 19:34 ./slackware64/n/netatalk-2.2.3-x86_64-6.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 2015-03-20 17:24 ./slackware64/n/netkit-ftp-0.17-x86_64-2.txt +-rw-r--r-- 1 root root 48300 2015-03-20 17:24 ./slackware64/n/netkit-ftp-0.17-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-03-20 17:24 ./slackware64/n/netkit-ftp-0.17-x86_64-2.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 2016-03-07 20:09 ./slackware64/n/nettle-3.2-x86_64-1.txt +-rw-r--r-- 1 root root 357844 2016-03-07 20:09 ./slackware64/n/nettle-3.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 20:09 ./slackware64/n/nettle-3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 306 2016-03-07 22:26 ./slackware64/n/netwatch-1.3.1_2-x86_64-1.txt +-rw-r--r-- 1 root root 93312 2016-03-07 22:26 ./slackware64/n/netwatch-1.3.1_2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 22:26 ./slackware64/n/netwatch-1.3.1_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 583 2015-11-19 23:36 ./slackware64/n/network-scripts-14.2-noarch-1.txt +-rw-r--r-- 1 root root 20728 2015-11-19 23:36 ./slackware64/n/network-scripts-14.2-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-11-19 23:36 ./slackware64/n/network-scripts-14.2-noarch-1.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 457 2013-10-08 05:04 ./slackware64/n/nfacct-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 12568 2013-10-08 05:04 ./slackware64/n/nfacct-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 05:04 ./slackware64/n/nfacct-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2016-04-14 17:49 ./slackware64/n/nfs-utils-1.3.3-x86_64-2.txt +-rw-r--r-- 1 root root 223860 2016-04-14 17:49 ./slackware64/n/nfs-utils-1.3.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-14 17:49 ./slackware64/n/nfs-utils-1.3.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 536 2016-06-04 17:26 ./slackware64/n/nftables-0.6-x86_64-1.txt +-rw-r--r-- 1 root root 125296 2016-06-04 17:26 ./slackware64/n/nftables-0.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-04 17:26 ./slackware64/n/nftables-0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 652 2016-04-09 04:02 ./slackware64/n/nmap-7.12-x86_64-1.txt +-rw-r--r-- 1 root root 5634244 2016-04-09 04:02 ./slackware64/n/nmap-7.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-09 04:02 ./slackware64/n/nmap-7.12-x86_64-1.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 2016-06-03 23:08 ./slackware64/n/ntp-4.2.8p8-x86_64-1.txt +-rw-r--r-- 1 root root 1934504 2016-06-03 23:08 ./slackware64/n/ntp-4.2.8p8-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-03 23:08 ./slackware64/n/ntp-4.2.8p8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 532 2015-12-23 22:32 ./slackware64/n/obexftp-0.24-x86_64-1.txt +-rw-r--r-- 1 root root 91416 2015-12-23 22:32 ./slackware64/n/obexftp-0.24-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 22:32 ./slackware64/n/obexftp-0.24-x86_64-1.txz.asc +-rw-r--r-- 1 root root 565 2015-10-23 18:58 ./slackware64/n/openldap-client-2.4.42-x86_64-1.txt +-rw-r--r-- 1 root root 403792 2015-10-23 18:58 ./slackware64/n/openldap-client-2.4.42-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-23 18:58 ./slackware64/n/openldap-client-2.4.42-x86_64-1.txz.asc +-rw-r--r-- 1 root root 538 2015-12-23 22:31 ./slackware64/n/openobex-1.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 143592 2015-12-23 22:31 ./slackware64/n/openobex-1.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 22:31 ./slackware64/n/openobex-1.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 676 2016-03-10 20:42 ./slackware64/n/openssh-7.2p2-x86_64-1.txt +-rw-r--r-- 1 root root 727932 2016-03-10 20:42 ./slackware64/n/openssh-7.2p2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-10 20:42 ./slackware64/n/openssh-7.2p2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 561 2016-05-03 17:21 ./slackware64/n/openssl-1.0.2h-x86_64-1.txt +-rw-r--r-- 1 root root 3425264 2016-05-03 17:21 ./slackware64/n/openssl-1.0.2h-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-03 17:21 ./slackware64/n/openssl-1.0.2h-x86_64-1.txz.asc +-rw-r--r-- 1 root root 431 2016-05-10 19:14 ./slackware64/n/openvpn-2.3.11-x86_64-1.txt +-rw-r--r-- 1 root root 361468 2016-05-10 19:14 ./slackware64/n/openvpn-2.3.11-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-10 19:14 ./slackware64/n/openvpn-2.3.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 486 2016-03-07 19:58 ./slackware64/n/p11-kit-0.23.2-x86_64-1.txt +-rw-r--r-- 1 root root 246056 2016-03-07 19:58 ./slackware64/n/p11-kit-0.23.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:58 ./slackware64/n/p11-kit-0.23.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 376 2016-06-24 21:20 ./slackware64/n/php-5.6.23-x86_64-1.txt +-rw-r--r-- 1 root root 12679772 2016-06-24 21:20 ./slackware64/n/php-5.6.23-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-24 21:20 ./slackware64/n/php-5.6.23-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 2015-12-18 03:19 ./slackware64/n/pinentry-0.9.7-x86_64-1.txt +-rw-r--r-- 1 root root 100460 2015-12-18 03:19 ./slackware64/n/pinentry-0.9.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 03:19 ./slackware64/n/pinentry-0.9.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 545 2015-04-14 18:37 ./slackware64/n/popa3d-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 21048 2015-04-14 18:37 ./slackware64/n/popa3d-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-14 18:37 ./slackware64/n/popa3d-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2015-04-17 16:46 ./slackware64/n/ppp-2.4.7-x86_64-1.txt +-rw-r--r-- 1 root root 389892 2015-04-17 16:46 ./slackware64/n/ppp-2.4.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-17 16:46 ./slackware64/n/ppp-2.4.7-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 2016-04-11 20:37 ./slackware64/n/proftpd-1.3.5b-x86_64-1.txt +-rw-r--r-- 1 root root 1061448 2016-04-11 20:37 ./slackware64/n/proftpd-1.3.5b-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-11 20:37 ./slackware64/n/proftpd-1.3.5b-x86_64-1.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 2013-10-08 04:41 ./slackware64/n/rfkill-0.5-x86_64-1.txt +-rw-r--r-- 1 root root 5912 2013-10-08 04:41 ./slackware64/n/rfkill-0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-10-08 04:41 ./slackware64/n/rfkill-0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 499 2015-11-11 22:45 ./slackware64/n/rp-pppoe-3.12-x86_64-1.txt +-rw-r--r-- 1 root root 84272 2015-11-11 22:45 ./slackware64/n/rp-pppoe-3.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-11 22:45 ./slackware64/n/rp-pppoe-3.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 584 2015-12-15 00:51 ./slackware64/n/rpcbind-0.2.3-x86_64-1.txt +-rw-r--r-- 1 root root 42832 2015-12-15 00:51 ./slackware64/n/rpcbind-0.2.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-15 00:51 ./slackware64/n/rpcbind-0.2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 528 2015-12-23 20:50 ./slackware64/n/rsync-3.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 311156 2015-12-23 20:50 ./slackware64/n/rsync-3.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 20:50 ./slackware64/n/rsync-3.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 509 2016-06-13 04:30 ./slackware64/n/samba-4.4.4-x86_64-3.txt +-rw-r--r-- 1 root root 11024052 2016-06-13 04:30 ./slackware64/n/samba-4.4.4-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-06-13 04:30 ./slackware64/n/samba-4.4.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 503 2015-10-23 22:30 ./slackware64/n/sendmail-8.15.2-x86_64-2.txt +-rw-r--r-- 1 root root 1060100 2015-10-23 22:30 ./slackware64/n/sendmail-8.15.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-23 22:30 ./slackware64/n/sendmail-8.15.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 588 2015-10-23 22:30 ./slackware64/n/sendmail-cf-8.15.2-noarch-2.txt +-rw-r--r-- 1 root root 116976 2015-10-23 22:30 ./slackware64/n/sendmail-cf-8.15.2-noarch-2.txz +-rw-r--r-- 1 root root 181 2015-10-23 22:30 ./slackware64/n/sendmail-cf-8.15.2-noarch-2.txz.asc +-rw-r--r-- 1 root root 309 2015-04-20 01:53 ./slackware64/n/slrn-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 467204 2015-04-20 01:53 ./slackware64/n/slrn-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-20 01:53 ./slackware64/n/slrn-1.0.2-x86_64-1.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 2016-03-03 21:23 ./slackware64/n/stunnel-5.31-x86_64-1.txt +-rw-r--r-- 1 root root 161580 2016-03-03 21:23 ./slackware64/n/stunnel-5.31-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-03 21:23 ./slackware64/n/stunnel-5.31-x86_64-1.txz.asc +-rw-r--r-- 1 root root 1901 2016-02-29 20:49 ./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 424 2015-08-07 18:59 ./slackware64/n/tcpdump-4.7.4-x86_64-1.txt +-rw-r--r-- 1 root root 349508 2015-08-07 18:59 ./slackware64/n/tcpdump-4.7.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-07 18:59 ./slackware64/n/tcpdump-4.7.4-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 2015-03-20 17:33 ./slackware64/n/tftp-hpa-5.2-x86_64-2.txt +-rw-r--r-- 1 root root 49980 2015-03-20 17:33 ./slackware64/n/tftp-hpa-5.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-03-20 17:33 ./slackware64/n/tftp-hpa-5.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 490 2015-11-18 02:20 ./slackware64/n/tin-2.2.1-x86_64-3.txt +-rw-r--r-- 1 root root 711116 2015-11-18 02:20 ./slackware64/n/tin-2.2.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-18 02:20 ./slackware64/n/tin-2.2.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 508 2016-01-29 18:44 ./slackware64/n/traceroute-2.0.21-x86_64-1.txt +-rw-r--r-- 1 root root 51104 2016-01-29 18:44 ./slackware64/n/traceroute-2.0.21-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-29 18:44 ./slackware64/n/traceroute-2.0.21-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 338 2015-12-18 04:44 ./slackware64/n/ulogd-2.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 97488 2015-12-18 04:44 ./slackware64/n/ulogd-2.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-18 04:44 ./slackware64/n/ulogd-2.0.5-x86_64-1.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 511 2016-06-13 04:50 ./slackware64/n/vsftpd-3.0.3-x86_64-3.txt +-rw-r--r-- 1 root root 126472 2016-06-13 04:50 ./slackware64/n/vsftpd-3.0.3-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-06-13 04:50 ./slackware64/n/vsftpd-3.0.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 398 2016-06-13 03:32 ./slackware64/n/wget-1.18-x86_64-1.txt +-rw-r--r-- 1 root root 588500 2016-06-13 03:32 ./slackware64/n/wget-1.18-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-13 03:32 ./slackware64/n/wget-1.18-x86_64-1.txz.asc +-rw-r--r-- 1 root root 385 2016-04-30 17:54 ./slackware64/n/whois-5.2.12-x86_64-1.txt +-rw-r--r-- 1 root root 52872 2016-04-30 17:54 ./slackware64/n/whois-5.2.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-30 17:54 ./slackware64/n/whois-5.2.12-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 2015-12-11 03:21 ./slackware64/n/wpa_supplicant-2.5-x86_64-1.txt +-rw-r--r-- 1 root root 1029204 2015-12-11 03:21 ./slackware64/n/wpa_supplicant-2.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-11 03:21 ./slackware64/n/wpa_supplicant-2.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 407 2016-06-06 18:04 ./slackware64/n/yptools-2.14-x86_64-7.txt +-rw-r--r-- 1 root root 188636 2016-06-06 18:04 ./slackware64/n/yptools-2.14-x86_64-7.txz +-rw-r--r-- 1 root root 181 2016-06-06 18:04 ./slackware64/n/yptools-2.14-x86_64-7.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 2015-04-22 00:17 ./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 1170 2015-04-20 02:07 ./slackware64/t/maketag +-rw-r--r-- 1 root root 1170 2015-04-20 02:07 ./slackware64/t/maketag.ez +-rw-r--r-- 1 root root 46 2015-04-20 02:07 ./slackware64/t/tagfile +-rw-r--r-- 1 root root 338 2015-03-24 21:23 ./slackware64/t/tetex-3.0-x86_64-10.txt +-rw-r--r-- 1 root root 37170548 2015-03-24 21:23 ./slackware64/t/tetex-3.0-x86_64-10.txz +-rw-r--r-- 1 root root 181 2015-03-24 21:23 ./slackware64/t/tetex-3.0-x86_64-10.txz.asc +-rw-r--r-- 1 root root 524 2015-03-24 21:23 ./slackware64/t/tetex-doc-3.0-x86_64-10.txt +-rw-r--r-- 1 root root 43936604 2015-03-24 21:23 ./slackware64/t/tetex-doc-3.0-x86_64-10.txz +-rw-r--r-- 1 root root 181 2015-03-24 21:23 ./slackware64/t/tetex-doc-3.0-x86_64-10.txz.asc +-rw-r--r-- 1 root root 444 2015-03-28 17:43 ./slackware64/t/transfig-3.2.5e-x86_64-3.txt +-rw-r--r-- 1 root root 260828 2015-03-28 17:43 ./slackware64/t/transfig-3.2.5e-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-03-28 17:43 ./slackware64/t/transfig-3.2.5e-x86_64-3.txz.asc +-rw-r--r-- 1 root root 410 2015-04-15 17:06 ./slackware64/t/xfig-3.2.5c-x86_64-3.txt +-rw-r--r-- 1 root root 3676888 2015-04-15 17:06 ./slackware64/t/xfig-3.2.5c-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-04-15 17:06 ./slackware64/t/xfig-3.2.5c-x86_64-3.txz.asc +drwxr-xr-x 2 root root 4096 2016-03-21 02:59 ./slackware64/tcl +-rw-r--r-- 1 root root 533 2016-03-02 21:15 ./slackware64/tcl/expect-5.45-x86_64-1.txt +-rw-r--r-- 1 root root 298004 2016-03-02 21:15 ./slackware64/tcl/expect-5.45-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-02 21:15 ./slackware64/tcl/expect-5.45-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2013-05-14 02:45 ./slackware64/tcl/hfsutils-3.2.6-x86_64-5.txt +-rw-r--r-- 1 root root 142820 2013-05-14 02:45 ./slackware64/tcl/hfsutils-3.2.6-x86_64-5.txz +-rw-r--r-- 1 root root 198 2013-05-14 02:45 ./slackware64/tcl/hfsutils-3.2.6-x86_64-5.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 1298 2015-04-20 02:07 ./slackware64/tcl/maketag +-rw-r--r-- 1 root root 1298 2015-04-20 02:07 ./slackware64/tcl/maketag.ez +-rw-r--r-- 1 root root 56 2015-04-20 02:07 ./slackware64/tcl/tagfile +-rw-r--r-- 1 root root 259 2016-03-19 19:53 ./slackware64/tcl/tcl-8.6.5-x86_64-2.txt +-rw-r--r-- 1 root root 2804932 2016-03-19 19:53 ./slackware64/tcl/tcl-8.6.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-19 19:53 ./slackware64/tcl/tcl-8.6.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 555 2013-06-10 20:50 ./slackware64/tcl/tclx-8.4.1-x86_64-3.txt +-rw-r--r-- 1 root root 113148 2013-06-10 20:50 ./slackware64/tcl/tclx-8.4.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2013-06-10 20:50 ./slackware64/tcl/tclx-8.4.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 406 2013-05-14 02:44 ./slackware64/tcl/tix-8.4.3-x86_64-3.txt +-rw-r--r-- 1 root root 538788 2013-05-14 02:44 ./slackware64/tcl/tix-8.4.3-x86_64-3.txz +-rw-r--r-- 1 root root 198 2013-05-14 02:44 ./slackware64/tcl/tix-8.4.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 198 2016-03-19 19:57 ./slackware64/tcl/tk-8.6.5-x86_64-2.txt +-rw-r--r-- 1 root root 1747952 2016-03-19 19:57 ./slackware64/tcl/tk-8.6.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-19 19:57 ./slackware64/tcl/tk-8.6.5-x86_64-2.txz.asc +drwxr-xr-x 2 root root 53248 2016-06-13 07:33 ./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 348 2015-08-20 06:54 ./slackware64/x/appres-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 15048 2015-08-20 06:54 ./slackware64/x/appres-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/appres-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 477 2015-08-20 06:55 ./slackware64/x/bdftopcf-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 16968 2015-08-20 06:55 ./slackware64/x/bdftopcf-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/bdftopcf-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 463 2015-08-20 06:55 ./slackware64/x/beforelight-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 16124 2015-08-20 06:55 ./slackware64/x/beforelight-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/beforelight-1.0.5-x86_64-2.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 2015-08-20 06:55 ./slackware64/x/bitmap-1.0.8-x86_64-2.txt +-rw-r--r-- 1 root root 65276 2015-08-20 06:55 ./slackware64/x/bitmap-1.0.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/bitmap-1.0.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 364 2015-11-21 18:25 ./slackware64/x/compiz-0.8.8-x86_64-4.txt +-rw-r--r-- 1 root root 763944 2015-11-21 18:25 ./slackware64/x/compiz-0.8.8-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:25 ./slackware64/x/compiz-0.8.8-x86_64-4.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 2013-09-21 18:39 ./slackware64/x/dejavu-fonts-ttf-2.34-noarch-1.txt +-rw-r--r-- 1 root root 2333844 2013-09-21 18:39 ./slackware64/x/dejavu-fonts-ttf-2.34-noarch-1.txz +-rw-r--r-- 1 root root 198 2013-09-21 18:39 ./slackware64/x/dejavu-fonts-ttf-2.34-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 2015-08-20 06:45 ./slackware64/x/dri2proto-2.8-x86_64-2.txt +-rw-r--r-- 1 root root 14232 2015-08-20 06:45 ./slackware64/x/dri2proto-2.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:45 ./slackware64/x/dri2proto-2.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 366 2015-08-20 06:45 ./slackware64/x/dri3proto-1.0-x86_64-2.txt +-rw-r--r-- 1 root root 9964 2015-08-20 06:45 ./slackware64/x/dri3proto-1.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:45 ./slackware64/x/dri3proto-1.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 305 2015-08-20 06:55 ./slackware64/x/editres-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 44636 2015-08-20 06:55 ./slackware64/x/editres-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/editres-1.0.6-x86_64-2.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 363 2015-08-20 06:45 ./slackware64/x/fixesproto-5.0-x86_64-2.txt +-rw-r--r-- 1 root root 14512 2015-08-20 06:45 ./slackware64/x/fixesproto-5.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:45 ./slackware64/x/fixesproto-5.0-x86_64-2.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 2015-08-20 07:08 ./slackware64/x/font-util-1.3.1-x86_64-2.txt +-rw-r--r-- 1 root root 40124 2015-08-20 07:08 ./slackware64/x/font-util-1.3.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:08 ./slackware64/x/font-util-1.3.1-x86_64-2.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 2015-03-22 21:42 ./slackware64/x/fontconfig-2.11.1-x86_64-2.txt +-rw-r--r-- 1 root root 267800 2015-03-22 21:42 ./slackware64/x/fontconfig-2.11.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-03-22 21:42 ./slackware64/x/fontconfig-2.11.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 363 2015-03-30 01:33 ./slackware64/x/fontsproto-2.1.3-noarch-1.txt +-rw-r--r-- 1 root root 79036 2015-03-30 01:33 ./slackware64/x/fontsproto-2.1.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-03-30 01:33 ./slackware64/x/fontsproto-2.1.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 372 2015-08-20 06:55 ./slackware64/x/fonttosfnt-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 21372 2015-08-20 06:55 ./slackware64/x/fonttosfnt-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/fonttosfnt-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 475 2014-07-14 21:36 ./slackware64/x/freeglut-2.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 125536 2014-07-14 21:36 ./slackware64/x/freeglut-2.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-07-14 21:36 ./slackware64/x/freeglut-2.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 363 2015-08-20 06:55 ./slackware64/x/fslsfonts-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 19536 2015-08-20 06:55 ./slackware64/x/fslsfonts-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/fslsfonts-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 371 2015-08-20 06:55 ./slackware64/x/fstobdf-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 19500 2015-08-20 06:55 ./slackware64/x/fstobdf-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/fstobdf-1.0.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 357 2014-07-15 02:11 ./slackware64/x/gccmakedep-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 5724 2014-07-15 02:11 ./slackware64/x/gccmakedep-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2014-07-15 02:11 ./slackware64/x/gccmakedep-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 385 2015-11-23 19:32 ./slackware64/x/glew-1.13.0-x86_64-1.txt +-rw-r--r-- 1 root root 355516 2015-11-23 19:32 ./slackware64/x/glew-1.13.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-23 19:32 ./slackware64/x/glew-1.13.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 323 2014-07-15 02:09 ./slackware64/x/glproto-1.4.17-noarch-1.txt +-rw-r--r-- 1 root root 27780 2014-07-15 02:09 ./slackware64/x/glproto-1.4.17-noarch-1.txz +-rw-r--r-- 1 root root 181 2014-07-15 02:09 ./slackware64/x/glproto-1.4.17-noarch-1.txz.asc +-rw-r--r-- 1 root root 138 2013-02-21 06:27 ./slackware64/x/glu-9.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 186564 2013-02-21 06:27 ./slackware64/x/glu-9.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-02-21 06:27 ./slackware64/x/glu-9.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2015-08-20 06:55 ./slackware64/x/iceauth-1.0.7-x86_64-2.txt +-rw-r--r-- 1 root root 27756 2015-08-20 06:55 ./slackware64/x/iceauth-1.0.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/iceauth-1.0.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 307 2015-08-20 06:55 ./slackware64/x/ico-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 22912 2015-08-20 06:55 ./slackware64/x/ico-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/ico-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 292 2015-08-20 06:47 ./slackware64/x/imake-1.0.7-x86_64-2.txt +-rw-r--r-- 1 root root 40604 2015-08-20 06:47 ./slackware64/x/imake-1.0.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:47 ./slackware64/x/imake-1.0.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 359 2016-04-04 17:30 ./slackware64/x/inputproto-2.3.2-noarch-1.txt +-rw-r--r-- 1 root root 91564 2016-04-04 17:30 ./slackware64/x/inputproto-2.3.2-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-04-04 17:30 ./slackware64/x/inputproto-2.3.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 2015-11-19 06:01 ./slackware64/x/intel-gpu-tools-1.9-x86_64-2.txt +-rw-r--r-- 1 root root 495468 2015-11-19 06:01 ./slackware64/x/intel-gpu-tools-1.9-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 06:01 ./slackware64/x/intel-gpu-tools-1.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 327 2015-08-20 06:46 ./slackware64/x/kbproto-1.0.7-noarch-1.txt +-rw-r--r-- 1 root root 213692 2015-08-20 06:46 ./slackware64/x/kbproto-1.0.7-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:46 ./slackware64/x/kbproto-1.0.7-noarch-1.txz.asc +-rw-r--r-- 1 root root 289 2015-08-20 06:49 ./slackware64/x/libFS-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 40172 2015-08-20 06:49 ./slackware64/x/libFS-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:49 ./slackware64/x/libFS-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 304 2015-08-20 06:49 ./slackware64/x/libICE-1.0.9-x86_64-2.txt +-rw-r--r-- 1 root root 120980 2015-08-20 06:49 ./slackware64/x/libICE-1.0.9-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:49 ./slackware64/x/libICE-1.0.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 288 2015-08-20 06:49 ./slackware64/x/libSM-1.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 76060 2015-08-20 06:49 ./slackware64/x/libSM-1.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:49 ./slackware64/x/libSM-1.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 305 2015-08-20 06:51 ./slackware64/x/libX11-1.6.3-x86_64-2.txt +-rw-r--r-- 1 root root 2644200 2015-08-20 06:51 ./slackware64/x/libX11-1.6.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:51 ./slackware64/x/libX11-1.6.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 405 2015-08-20 06:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 24124 2015-08-20 06:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 469 2015-08-20 06:51 ./slackware64/x/libXau-1.0.8-x86_64-2.txt +-rw-r--r-- 1 root root 25860 2015-08-20 06:51 ./slackware64/x/libXau-1.0.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:51 ./slackware64/x/libXau-1.0.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 208 2015-08-20 06:51 ./slackware64/x/libXaw-1.0.13-x86_64-1.txt +-rw-r--r-- 1 root root 404736 2015-08-20 06:51 ./slackware64/x/libXaw-1.0.13-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:51 ./slackware64/x/libXaw-1.0.13-x86_64-1.txz.asc +-rw-r--r-- 1 root root 512 2015-08-20 06:51 ./slackware64/x/libXaw3d-1.6.2-x86_64-3.txt +-rw-r--r-- 1 root root 182752 2015-08-20 06:51 ./slackware64/x/libXaw3d-1.6.2-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:51 ./slackware64/x/libXaw3d-1.6.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 557 2015-08-27 18:39 ./slackware64/x/libXaw3dXft-1.6.2d-x86_64-2.txt +-rw-r--r-- 1 root root 180524 2015-08-27 18:39 ./slackware64/x/libXaw3dXft-1.6.2d-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-27 18:39 ./slackware64/x/libXaw3dXft-1.6.2d-x86_64-2.txz.asc +-rw-r--r-- 1 root root 310 2015-08-20 06:51 ./slackware64/x/libXcm-0.5.2-x86_64-2.txt +-rw-r--r-- 1 root root 35348 2015-08-20 06:51 ./slackware64/x/libXcm-0.5.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:51 ./slackware64/x/libXcm-0.5.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 408 2015-08-20 06:52 ./slackware64/x/libXcomposite-0.4.4-x86_64-2.txt +-rw-r--r-- 1 root root 21440 2015-08-20 06:52 ./slackware64/x/libXcomposite-0.4.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXcomposite-0.4.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 366 2015-08-20 06:52 ./slackware64/x/libXcursor-1.1.14-x86_64-2.txt +-rw-r--r-- 1 root root 39652 2015-08-20 06:52 ./slackware64/x/libXcursor-1.1.14-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXcursor-1.1.14-x86_64-2.txz.asc +-rw-r--r-- 1 root root 366 2015-08-20 06:52 ./slackware64/x/libXdamage-1.1.4-x86_64-2.txt +-rw-r--r-- 1 root root 15988 2015-08-20 06:52 ./slackware64/x/libXdamage-1.1.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXdamage-1.1.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 341 2015-08-20 06:52 ./slackware64/x/libXdmcp-1.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 55080 2015-08-20 06:52 ./slackware64/x/libXdmcp-1.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXdmcp-1.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 345 2015-08-20 06:52 ./slackware64/x/libXevie-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 15912 2015-08-20 06:52 ./slackware64/x/libXevie-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXevie-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 335 2015-08-20 06:52 ./slackware64/x/libXext-1.3.3-x86_64-2.txt +-rw-r--r-- 1 root root 138296 2015-08-20 06:52 ./slackware64/x/libXext-1.3.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXext-1.3.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 351 2016-05-26 22:51 ./slackware64/x/libXfixes-5.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 25084 2016-05-26 22:51 ./slackware64/x/libXfixes-5.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-26 22:51 ./slackware64/x/libXfixes-5.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 575 2015-08-20 06:52 ./slackware64/x/libXfont-1.5.1-x86_64-2.txt +-rw-r--r-- 1 root root 136836 2015-08-20 06:52 ./slackware64/x/libXfont-1.5.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXfont-1.5.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 410 2015-08-20 06:52 ./slackware64/x/libXfontcache-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 15108 2015-08-20 06:52 ./slackware64/x/libXfontcache-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXfontcache-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 291 2015-08-20 06:52 ./slackware64/x/libXft-2.3.2-x86_64-3.txt +-rw-r--r-- 1 root root 60848 2015-08-20 06:52 ./slackware64/x/libXft-2.3.2-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:52 ./slackware64/x/libXft-2.3.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 293 2015-12-23 20:08 ./slackware64/x/libXi-1.7.6-x86_64-1.txt +-rw-r--r-- 1 root root 187252 2015-12-23 20:08 ./slackware64/x/libXi-1.7.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-23 20:08 ./slackware64/x/libXi-1.7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2015-08-20 06:53 ./slackware64/x/libXinerama-1.1.3-x86_64-2.txt +-rw-r--r-- 1 root root 19944 2015-08-20 06:53 ./slackware64/x/libXinerama-1.1.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXinerama-1.1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 350 2015-08-20 06:53 ./slackware64/x/libXmu-1.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 105572 2015-08-20 06:53 ./slackware64/x/libXmu-1.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXmu-1.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 282 2015-08-20 06:53 ./slackware64/x/libXp-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 83712 2015-08-20 06:53 ./slackware64/x/libXp-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXp-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 313 2015-08-20 06:53 ./slackware64/x/libXpm-3.5.11-x86_64-2.txt +-rw-r--r-- 1 root root 74516 2015-08-20 06:53 ./slackware64/x/libXpm-3.5.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXpm-3.5.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 391 2015-08-20 06:53 ./slackware64/x/libXpresent-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 14804 2015-08-20 06:53 ./slackware64/x/libXpresent-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXpresent-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2015-08-20 06:53 ./slackware64/x/libXrandr-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 39244 2015-08-20 06:53 ./slackware64/x/libXrandr-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXrandr-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 377 2015-08-20 06:53 ./slackware64/x/libXrender-0.9.9-x86_64-1.txt +-rw-r--r-- 1 root root 35604 2015-08-20 06:53 ./slackware64/x/libXrender-0.9.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXrender-0.9.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 321 2015-08-20 06:53 ./slackware64/x/libXres-1.0.7-x86_64-2.txt +-rw-r--r-- 1 root root 18732 2015-08-20 06:53 ./slackware64/x/libXres-1.0.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXres-1.0.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 288 2015-08-20 06:53 ./slackware64/x/libXt-1.1.5-x86_64-1.txt +-rw-r--r-- 1 root root 704988 2015-08-20 06:53 ./slackware64/x/libXt-1.1.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXt-1.1.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 334 2015-08-20 06:53 ./slackware64/x/libXtst-1.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 55292 2015-08-20 06:53 ./slackware64/x/libXtst-1.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXtst-1.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 321 2015-08-20 06:53 ./slackware64/x/libXv-1.0.10-x86_64-2.txt +-rw-r--r-- 1 root root 47164 2015-08-20 06:53 ./slackware64/x/libXv-1.0.10-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:53 ./slackware64/x/libXv-1.0.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 319 2015-08-20 06:54 ./slackware64/x/libXvMC-1.0.9-x86_64-2.txt +-rw-r--r-- 1 root root 33992 2015-08-20 06:54 ./slackware64/x/libXvMC-1.0.9-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libXvMC-1.0.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 382 2015-08-20 06:54 ./slackware64/x/libXxf86dga-1.1.4-x86_64-2.txt +-rw-r--r-- 1 root root 28472 2015-08-20 06:54 ./slackware64/x/libXxf86dga-1.1.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libXxf86dga-1.1.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 401 2015-08-20 06:54 ./slackware64/x/libXxf86misc-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 17524 2015-08-20 06:54 ./slackware64/x/libXxf86misc-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libXxf86misc-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 368 2015-08-20 06:54 ./slackware64/x/libXxf86vm-1.1.4-x86_64-2.txt +-rw-r--r-- 1 root root 28032 2015-08-20 06:54 ./slackware64/x/libXxf86vm-1.1.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libXxf86vm-1.1.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 320 2015-08-20 06:54 ./slackware64/x/libdmx-1.1.3-x86_64-2.txt +-rw-r--r-- 1 root root 43340 2015-08-20 06:54 ./slackware64/x/libdmx-1.1.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libdmx-1.1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 260 2016-04-29 19:08 ./slackware64/x/libdrm-2.4.68-x86_64-1.txt +-rw-r--r-- 1 root root 206872 2016-04-29 19:08 ./slackware64/x/libdrm-2.4.68-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-29 19:08 ./slackware64/x/libdrm-2.4.68-x86_64-1.txz.asc +-rw-r--r-- 1 root root 277 2015-08-19 06:01 ./slackware64/x/libepoxy-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 250600 2015-08-19 06:01 ./slackware64/x/libepoxy-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-19 06:01 ./slackware64/x/libepoxy-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 581 2015-12-04 20:40 ./slackware64/x/liberation-fonts-ttf-1.07.4-noarch-1.txt +-rw-r--r-- 1 root root 836112 2015-12-04 20:40 ./slackware64/x/liberation-fonts-ttf-1.07.4-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-12-04 20:40 ./slackware64/x/liberation-fonts-ttf-1.07.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 416 2015-04-19 01:43 ./slackware64/x/libevdev-1.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 62196 2015-04-19 01:43 ./slackware64/x/libevdev-1.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-19 01:43 ./slackware64/x/libevdev-1.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 346 2015-08-20 06:54 ./slackware64/x/libfontenc-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 27348 2015-08-20 06:54 ./slackware64/x/libfontenc-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libfontenc-1.1.3-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 2015-08-20 06:54 ./slackware64/x/libpciaccess-0.13.4-x86_64-1.txt +-rw-r--r-- 1 root root 34616 2015-08-20 06:54 ./slackware64/x/libpciaccess-0.13.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libpciaccess-0.13.4-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 437 2016-03-07 19:51 ./slackware64/x/libva-1.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 419436 2016-03-07 19:51 ./slackware64/x/libva-1.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:51 ./slackware64/x/libva-1.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 468 2016-03-07 19:53 ./slackware64/x/libva-intel-driver-1.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 263988 2016-03-07 19:53 ./slackware64/x/libva-intel-driver-1.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-07 19:53 ./slackware64/x/libva-intel-driver-1.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 500 2015-09-01 17:54 ./slackware64/x/libvdpau-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 54964 2015-09-01 17:54 ./slackware64/x/libvdpau-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-09-01 17:54 ./slackware64/x/libvdpau-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2015-10-01 21:09 ./slackware64/x/libxcb-1.11.1-x86_64-1.txt +-rw-r--r-- 1 root root 884836 2015-10-01 21:09 ./slackware64/x/libxcb-1.11.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-01 21:09 ./slackware64/x/libxcb-1.11.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 363 2015-08-20 06:54 ./slackware64/x/libxkbfile-1.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 80948 2015-08-20 06:54 ./slackware64/x/libxkbfile-1.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libxkbfile-1.0.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2015-08-20 06:54 ./slackware64/x/libxshmfence-1.2-x86_64-2.txt +-rw-r--r-- 1 root root 7144 2015-08-20 06:54 ./slackware64/x/libxshmfence-1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:54 ./slackware64/x/libxshmfence-1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 249 2015-08-20 06:55 ./slackware64/x/listres-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 15988 2015-08-20 06:55 ./slackware64/x/listres-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:55 ./slackware64/x/listres-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 322 2015-08-20 06:47 ./slackware64/x/lndir-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 15112 2015-08-20 06:47 ./slackware64/x/lndir-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:47 ./slackware64/x/lndir-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 372 2015-08-20 06:56 ./slackware64/x/luit-1.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 31920 2015-08-20 06:56 ./slackware64/x/luit-1.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/luit-1.1.1-x86_64-2.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 2015-08-20 06:47 ./slackware64/x/makedepend-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 27956 2015-08-20 06:47 ./slackware64/x/makedepend-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:47 ./slackware64/x/makedepend-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 24079 2016-01-12 23:45 ./slackware64/x/maketag +-rw-r--r-- 1 root root 24079 2016-01-12 23:45 ./slackware64/x/maketag.ez +-rw-r--r-- 1 root root 335 2016-05-09 17:40 ./slackware64/x/mesa-11.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 8497520 2016-05-09 17:40 ./slackware64/x/mesa-11.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-09 17:40 ./slackware64/x/mesa-11.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 425 2015-08-20 06:56 ./slackware64/x/mkcomposecache-1.2.1-x86_64-2.txt +-rw-r--r-- 1 root root 9444 2015-08-20 06:56 ./slackware64/x/mkcomposecache-1.2.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/mkcomposecache-1.2.1-x86_64-2.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 2015-08-20 06:56 ./slackware64/x/mkfontscale-1.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 31444 2015-08-20 06:56 ./slackware64/x/mkfontscale-1.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/mkfontscale-1.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 328 2016-04-21 19:16 ./slackware64/x/motif-2.3.5-x86_64-1.txt +-rw-r--r-- 1 root root 2523020 2016-04-21 19:16 ./slackware64/x/motif-2.3.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-21 19:16 ./slackware64/x/motif-2.3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 587 2014-07-14 21:48 ./slackware64/x/mtdev-1.1.5-x86_64-1.txt +-rw-r--r-- 1 root root 21724 2014-07-14 21:48 ./slackware64/x/mtdev-1.1.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-07-14 21:48 ./slackware64/x/mtdev-1.1.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 222 2015-08-20 06:56 ./slackware64/x/oclock-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 19508 2015-08-20 06:56 ./slackware64/x/oclock-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/oclock-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 366 2016-02-09 20:34 ./slackware64/x/pixman-0.34.0-x86_64-1.txt +-rw-r--r-- 1 root root 237664 2016-02-09 20:34 ./slackware64/x/pixman-0.34.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-09 20:34 ./slackware64/x/pixman-0.34.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 268 2015-08-20 06:46 ./slackware64/x/presentproto-1.0-x86_64-2.txt +-rw-r--r-- 1 root root 13428 2015-08-20 06:46 ./slackware64/x/presentproto-1.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:46 ./slackware64/x/presentproto-1.0-x86_64-2.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 213 2015-08-20 06:46 ./slackware64/x/randrproto-1.5.0-noarch-1.txt +-rw-r--r-- 1 root root 42264 2015-08-20 06:46 ./slackware64/x/randrproto-1.5.0-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:46 ./slackware64/x/randrproto-1.5.0-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 298 2015-08-20 06:56 ./slackware64/x/rendercheck-1.5-x86_64-1.txt +-rw-r--r-- 1 root root 39796 2015-08-20 06:56 ./slackware64/x/rendercheck-1.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/rendercheck-1.5-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 255 2015-08-20 06:56 ./slackware64/x/rgb-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 21088 2015-08-20 06:56 ./slackware64/x/rgb-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/rgb-1.0.6-x86_64-2.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 2015-10-15 20:30 ./slackware64/x/scim-1.4.15-x86_64-2.txt +-rw-r--r-- 1 root root 1127852 2015-10-15 20:30 ./slackware64/x/scim-1.4.15-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:30 ./slackware64/x/scim-1.4.15-x86_64-2.txz.asc +-rw-r--r-- 1 root root 508 2015-10-15 20:36 ./slackware64/x/scim-anthy-1.2.7-x86_64-1.txt +-rw-r--r-- 1 root root 275636 2015-10-15 20:36 ./slackware64/x/scim-anthy-1.2.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:36 ./slackware64/x/scim-anthy-1.2.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 611 2015-10-15 20:37 ./slackware64/x/scim-hangul-0.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 44300 2015-10-15 20:37 ./slackware64/x/scim-hangul-0.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:37 ./slackware64/x/scim-hangul-0.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 356 2015-10-15 20:38 ./slackware64/x/scim-input-pad-0.1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 67152 2015-10-15 20:38 ./slackware64/x/scim-input-pad-0.1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:38 ./slackware64/x/scim-input-pad-0.1.3.1-x86_64-1.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 2015-10-15 20:39 ./slackware64/x/scim-pinyin-0.5.92-x86_64-1.txt +-rw-r--r-- 1 root root 1672796 2015-10-15 20:39 ./slackware64/x/scim-pinyin-0.5.92-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-15 20:39 ./slackware64/x/scim-pinyin-0.5.92-x86_64-1.txz.asc +-rw-r--r-- 1 root root 289 2015-10-27 17:35 ./slackware64/x/scim-tables-0.5.14.1-x86_64-1.txt +-rw-r--r-- 1 root root 4323836 2015-10-27 17:35 ./slackware64/x/scim-tables-0.5.14.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-27 17:35 ./slackware64/x/scim-tables-0.5.14.1-x86_64-1.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 2015-08-20 06:56 ./slackware64/x/sessreg-1.1.0-x86_64-2.txt +-rw-r--r-- 1 root root 22476 2015-08-20 06:56 ./slackware64/x/sessreg-1.1.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/sessreg-1.1.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 338 2015-08-20 06:56 ./slackware64/x/setxkbmap-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 27144 2015-08-20 06:56 ./slackware64/x/setxkbmap-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/setxkbmap-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 278 2015-08-20 06:56 ./slackware64/x/showfont-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 18688 2015-08-20 06:56 ./slackware64/x/showfont-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/showfont-1.0.5-x86_64-2.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 2015-08-20 06:56 ./slackware64/x/smproxy-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 22424 2015-08-20 06:56 ./slackware64/x/smproxy-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/smproxy-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 4850 2016-01-12 23:45 ./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 2015-08-20 06:56 ./slackware64/x/transset-1.0.1-x86_64-2.txt +-rw-r--r-- 1 root root 17460 2015-08-20 06:56 ./slackware64/x/transset-1.0.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/transset-1.0.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 621 2013-02-21 21:13 ./slackware64/x/ttf-indic-fonts-0.5.14-noarch-1.txt +-rw-r--r-- 1 root root 2974900 2013-02-21 21:13 ./slackware64/x/ttf-indic-fonts-0.5.14-noarch-1.txz +-rw-r--r-- 1 root root 198 2013-02-21 21:13 ./slackware64/x/ttf-indic-fonts-0.5.14-noarch-1.txz.asc +-rw-r--r-- 1 root root 276 2015-08-20 06:56 ./slackware64/x/twm-1.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 110996 2015-08-20 06:56 ./slackware64/x/twm-1.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/twm-1.0.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2014-07-15 02:11 ./slackware64/x/util-macros-1.19.0-noarch-1.txt +-rw-r--r-- 1 root root 30660 2014-07-15 02:11 ./slackware64/x/util-macros-1.19.0-noarch-1.txz +-rw-r--r-- 1 root root 181 2014-07-15 02:11 ./slackware64/x/util-macros-1.19.0-noarch-1.txz.asc +-rw-r--r-- 1 root root 359 2016-03-13 18:33 ./slackware64/x/videoproto-2.3.3-noarch-1.txt +-rw-r--r-- 1 root root 22344 2016-03-13 18:33 ./slackware64/x/videoproto-2.3.3-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-13 18:33 ./slackware64/x/videoproto-2.3.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 338 2015-08-20 06:56 ./slackware64/x/viewres-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 23648 2015-08-20 06:56 ./slackware64/x/viewres-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/viewres-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 686 2013-05-21 06:26 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-2.txt +-rw-r--r-- 1 root root 5752352 2013-05-21 06:26 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-2.txz +-rw-r--r-- 1 root root 198 2013-05-21 06:26 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-2.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 2015-08-20 06:56 ./slackware64/x/x11perf-1.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 71736 2015-08-20 06:56 ./slackware64/x/x11perf-1.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/x11perf-1.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 223 2015-08-20 06:56 ./slackware64/x/xauth-1.0.9-x86_64-2.txt +-rw-r--r-- 1 root root 36540 2015-08-20 06:56 ./slackware64/x/xauth-1.0.9-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/xauth-1.0.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 335 2015-08-20 06:56 ./slackware64/x/xbacklight-1.2.1-x86_64-2.txt +-rw-r--r-- 1 root root 14344 2015-08-20 06:56 ./slackware64/x/xbacklight-1.2.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:56 ./slackware64/x/xbacklight-1.2.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 270 2015-08-20 06:57 ./slackware64/x/xbiff-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 19380 2015-08-20 06:57 ./slackware64/x/xbiff-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xbiff-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 327 2015-08-20 06:47 ./slackware64/x/xbitmaps-1.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 26220 2015-08-20 06:47 ./slackware64/x/xbitmaps-1.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:47 ./slackware64/x/xbitmaps-1.1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 183 2015-08-20 06:57 ./slackware64/x/xcalc-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 34340 2015-08-20 06:57 ./slackware64/x/xcalc-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xcalc-1.0.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 462 2015-08-20 06:48 ./slackware64/x/xcb-proto-1.11-x86_64-2.txt +-rw-r--r-- 1 root root 92744 2015-08-20 06:48 ./slackware64/x/xcb-proto-1.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-proto-1.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 350 2015-08-20 06:48 ./slackware64/x/xcb-util-0.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 25388 2015-08-20 06:48 ./slackware64/x/xcb-util-0.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-0.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 342 2015-08-20 06:48 ./slackware64/x/xcb-util-cursor-0.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 20360 2015-08-20 06:48 ./slackware64/x/xcb-util-cursor-0.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-cursor-0.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 545 2015-08-20 06:48 ./slackware64/x/xcb-util-errors-1.0-x86_64-1.txt +-rw-r--r-- 1 root root 20552 2015-08-20 06:48 ./slackware64/x/xcb-util-errors-1.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-errors-1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 313 2015-08-20 06:48 ./slackware64/x/xcb-util-image-0.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 31048 2015-08-20 06:48 ./slackware64/x/xcb-util-image-0.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-image-0.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 360 2015-08-20 06:48 ./slackware64/x/xcb-util-keysyms-0.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 17516 2015-08-20 06:48 ./slackware64/x/xcb-util-keysyms-0.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-keysyms-0.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 401 2015-08-20 06:48 ./slackware64/x/xcb-util-renderutil-0.3.9-x86_64-2.txt +-rw-r--r-- 1 root root 20336 2015-08-20 06:48 ./slackware64/x/xcb-util-renderutil-0.3.9-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-renderutil-0.3.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 312 2015-08-20 06:48 ./slackware64/x/xcb-util-wm-0.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 42856 2015-08-20 06:48 ./slackware64/x/xcb-util-wm-0.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xcb-util-wm-0.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 429 2015-08-20 06:57 ./slackware64/x/xclipboard-1.1.3-x86_64-2.txt +-rw-r--r-- 1 root root 26788 2015-08-20 06:57 ./slackware64/x/xclipboard-1.1.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xclipboard-1.1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 291 2015-08-20 06:57 ./slackware64/x/xclock-1.0.7-x86_64-2.txt +-rw-r--r-- 1 root root 38584 2015-08-20 06:57 ./slackware64/x/xclock-1.0.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xclock-1.0.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 292 2015-08-20 06:57 ./slackware64/x/xcm-0.5.2-x86_64-2.txt +-rw-r--r-- 1 root root 16468 2015-08-20 06:57 ./slackware64/x/xcm-0.5.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xcm-0.5.2-x86_64-2.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 2015-08-20 06:57 ./slackware64/x/xcmsdb-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 26224 2015-08-20 06:57 ./slackware64/x/xcmsdb-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xcmsdb-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 302 2015-08-20 06:57 ./slackware64/x/xcompmgr-1.1.7-x86_64-1.txt +-rw-r--r-- 1 root root 29412 2015-08-20 06:57 ./slackware64/x/xcompmgr-1.1.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xcompmgr-1.1.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 219 2015-08-20 06:57 ./slackware64/x/xconsole-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 22028 2015-08-20 06:57 ./slackware64/x/xconsole-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xconsole-1.0.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 379 2013-08-02 23:56 ./slackware64/x/xcursor-themes-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 321284 2013-08-02 23:56 ./slackware64/x/xcursor-themes-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2013-08-02 23:56 ./slackware64/x/xcursor-themes-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 373 2015-08-20 06:57 ./slackware64/x/xcursorgen-1.0.6-x86_64-3.txt +-rw-r--r-- 1 root root 18716 2015-08-20 06:57 ./slackware64/x/xcursorgen-1.0.6-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xcursorgen-1.0.6-x86_64-3.txz.asc +-rw-r--r-- 1 root root 254 2015-08-20 06:57 ./slackware64/x/xdbedizzy-1.1.0-x86_64-2.txt +-rw-r--r-- 1 root root 17712 2015-08-20 06:57 ./slackware64/x/xdbedizzy-1.1.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xdbedizzy-1.1.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 476 2014-07-14 21:51 ./slackware64/x/xdg-user-dirs-0.15-x86_64-1.txt +-rw-r--r-- 1 root root 45076 2014-07-14 21:51 ./slackware64/x/xdg-user-dirs-0.15-x86_64-1.txz +-rw-r--r-- 1 root root 181 2014-07-14 21:51 ./slackware64/x/xdg-user-dirs-0.15-x86_64-1.txz.asc +-rw-r--r-- 1 root root 550 2015-10-31 17:19 ./slackware64/x/xdg-utils-1.1.1-noarch-1.txt +-rw-r--r-- 1 root root 62476 2015-10-31 17:19 ./slackware64/x/xdg-utils-1.1.1-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-10-31 17:19 ./slackware64/x/xdg-utils-1.1.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 338 2015-08-20 06:57 ./slackware64/x/xditview-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 33688 2015-08-20 06:57 ./slackware64/x/xditview-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xditview-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 253 2015-08-20 06:57 ./slackware64/x/xdm-1.1.11-x86_64-6.txt +-rw-r--r-- 1 root root 116460 2015-08-20 06:57 ./slackware64/x/xdm-1.1.11-x86_64-6.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xdm-1.1.11-x86_64-6.txz.asc +-rw-r--r-- 1 root root 351 2015-08-20 06:57 ./slackware64/x/xdpyinfo-1.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 31864 2015-08-20 06:57 ./slackware64/x/xdpyinfo-1.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xdpyinfo-1.3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 349 2015-08-20 06:57 ./slackware64/x/xdriinfo-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 14788 2015-08-20 06:57 ./slackware64/x/xdriinfo-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xdriinfo-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 284 2015-08-20 06:57 ./slackware64/x/xedit-1.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 314068 2015-08-20 06:57 ./slackware64/x/xedit-1.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xedit-1.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 495 2015-08-20 06:57 ./slackware64/x/xev-1.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 25752 2015-08-20 06:57 ./slackware64/x/xev-1.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xev-1.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2015-08-20 06:46 ./slackware64/x/xextproto-7.3.0-x86_64-2.txt +-rw-r--r-- 1 root root 182200 2015-08-20 06:46 ./slackware64/x/xextproto-7.3.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:46 ./slackware64/x/xextproto-7.3.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 314 2015-08-20 06:57 ./slackware64/x/xeyes-1.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 19484 2015-08-20 06:57 ./slackware64/x/xeyes-1.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xeyes-1.1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 463 2015-11-12 21:17 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-9.txt +-rw-r--r-- 1 root root 24852 2015-11-12 21:17 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-9.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:17 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-9.txz.asc +-rw-r--r-- 1 root root 451 2016-06-04 17:36 ./slackware64/x/xf86-input-evdev-2.10.3-x86_64-1.txt +-rw-r--r-- 1 root root 46124 2016-06-04 17:36 ./slackware64/x/xf86-input-evdev-2.10.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-04 17:36 ./slackware64/x/xf86-input-evdev-2.10.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 485 2015-11-12 21:18 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-9.txt +-rw-r--r-- 1 root root 34948 2015-11-12 21:18 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-9.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-9.txz.asc +-rw-r--r-- 1 root root 476 2015-11-12 21:18 ./slackware64/x/xf86-input-keyboard-1.8.1-x86_64-2.txt +-rw-r--r-- 1 root root 26216 2015-11-12 21:18 ./slackware64/x/xf86-input-keyboard-1.8.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-input-keyboard-1.8.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 429 2015-11-12 21:18 ./slackware64/x/xf86-input-mouse-1.9.1-x86_64-4.txt +-rw-r--r-- 1 root root 49736 2015-11-12 21:18 ./slackware64/x/xf86-input-mouse-1.9.1-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-input-mouse-1.9.1-x86_64-4.txz.asc +-rw-r--r-- 1 root root 485 2015-11-12 21:18 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-9.txt +-rw-r--r-- 1 root root 18084 2015-11-12 21:18 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-9.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-9.txz.asc +-rw-r--r-- 1 root root 490 2015-11-12 21:18 ./slackware64/x/xf86-input-synaptics-1.8.3-x86_64-2.txt +-rw-r--r-- 1 root root 70552 2015-11-12 21:18 ./slackware64/x/xf86-input-synaptics-1.8.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-input-synaptics-1.8.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 476 2016-01-16 20:12 ./slackware64/x/xf86-input-vmmouse-13.1.0-x86_64-4.txt +-rw-r--r-- 1 root root 27536 2016-01-16 20:12 ./slackware64/x/xf86-input-vmmouse-13.1.0-x86_64-4.txz +-rw-r--r-- 1 root root 181 2016-01-16 20:12 ./slackware64/x/xf86-input-vmmouse-13.1.0-x86_64-4.txz.asc +-rw-r--r-- 1 root root 423 2015-11-12 21:18 ./slackware64/x/xf86-input-void-1.4.0-x86_64-9.txt +-rw-r--r-- 1 root root 16164 2015-11-12 21:18 ./slackware64/x/xf86-input-void-1.4.0-x86_64-9.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-input-void-1.4.0-x86_64-9.txz.asc +-rw-r--r-- 1 root root 533 2016-05-25 21:18 ./slackware64/x/xf86-input-wacom-0.33.0-x86_64-1.txt +-rw-r--r-- 1 root root 99420 2016-05-25 21:18 ./slackware64/x/xf86-input-wacom-0.33.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-25 21:18 ./slackware64/x/xf86-input-wacom-0.33.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 452 2016-04-09 04:07 ./slackware64/x/xf86-video-amdgpu-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 66436 2016-04-09 04:07 ./slackware64/x/xf86-video-amdgpu-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-09 04:07 ./slackware64/x/xf86-video-amdgpu-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 424 2015-11-12 21:18 ./slackware64/x/xf86-video-apm-1.2.5-x86_64-8.txt +-rw-r--r-- 1 root root 32828 2015-11-12 21:18 ./slackware64/x/xf86-video-apm-1.2.5-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:18 ./slackware64/x/xf86-video-apm-1.2.5-x86_64-8.txz.asc +-rw-r--r-- 1 root root 417 2015-11-12 21:19 ./slackware64/x/xf86-video-ark-0.7.5-x86_64-8.txt +-rw-r--r-- 1 root root 20468 2015-11-12 21:19 ./slackware64/x/xf86-video-ark-0.7.5-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:19 ./slackware64/x/xf86-video-ark-0.7.5-x86_64-8.txz.asc +-rw-r--r-- 1 root root 430 2015-11-12 21:19 ./slackware64/x/xf86-video-ast-1.1.5-x86_64-2.txt +-rw-r--r-- 1 root root 51248 2015-11-12 21:19 ./slackware64/x/xf86-video-ast-1.1.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:19 ./slackware64/x/xf86-video-ast-1.1.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 422 2016-04-09 04:07 ./slackware64/x/xf86-video-ati-7.7.0-x86_64-1.txt +-rw-r--r-- 1 root root 152652 2016-04-09 04:07 ./slackware64/x/xf86-video-ati-7.7.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-09 04:07 ./slackware64/x/xf86-video-ati-7.7.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 447 2015-11-12 21:19 ./slackware64/x/xf86-video-chips-1.2.6-x86_64-2.txt +-rw-r--r-- 1 root root 75812 2015-11-12 21:19 ./slackware64/x/xf86-video-chips-1.2.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:19 ./slackware64/x/xf86-video-chips-1.2.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 463 2015-11-12 21:19 ./slackware64/x/xf86-video-cirrus-1.5.3-x86_64-2.txt +-rw-r--r-- 1 root root 42788 2015-11-12 21:19 ./slackware64/x/xf86-video-cirrus-1.5.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:19 ./slackware64/x/xf86-video-cirrus-1.5.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 452 2015-11-12 21:19 ./slackware64/x/xf86-video-dummy-0.3.7-x86_64-5.txt +-rw-r--r-- 1 root root 14988 2015-11-12 21:19 ./slackware64/x/xf86-video-dummy-0.3.7-x86_64-5.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:19 ./slackware64/x/xf86-video-dummy-0.3.7-x86_64-5.txz.asc +-rw-r--r-- 1 root root 452 2015-11-12 21:19 ./slackware64/x/xf86-video-glint-1.2.8-x86_64-8.txt +-rw-r--r-- 1 root root 65680 2015-11-12 21:19 ./slackware64/x/xf86-video-glint-1.2.8-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:19 ./slackware64/x/xf86-video-glint-1.2.8-x86_64-8.txz.asc +-rw-r--r-- 1 root root 441 2015-11-12 21:20 ./slackware64/x/xf86-video-i128-1.3.6-x86_64-8.txt +-rw-r--r-- 1 root root 34848 2015-11-12 21:20 ./slackware64/x/xf86-video-i128-1.3.6-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:20 ./slackware64/x/xf86-video-i128-1.3.6-x86_64-8.txz.asc +-rw-r--r-- 1 root root 435 2015-11-12 21:20 ./slackware64/x/xf86-video-i740-1.3.5-x86_64-3.txt +-rw-r--r-- 1 root root 35156 2015-11-12 21:20 ./slackware64/x/xf86-video-i740-1.3.5-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:20 ./slackware64/x/xf86-video-i740-1.3.5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 443 2016-06-09 07:21 ./slackware64/x/xf86-video-intel-git_20160601_b617f80-x86_64-1.txt +-rw-r--r-- 1 root root 671384 2016-06-09 07:21 ./slackware64/x/xf86-video-intel-git_20160601_b617f80-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-09 07:21 ./slackware64/x/xf86-video-intel-git_20160601_b617f80-x86_64-1.txz.asc +-rw-r--r-- 1 root root 455 2015-11-12 21:20 ./slackware64/x/xf86-video-mach64-6.9.5-x86_64-2.txt +-rw-r--r-- 1 root root 82440 2015-11-12 21:20 ./slackware64/x/xf86-video-mach64-6.9.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:20 ./slackware64/x/xf86-video-mach64-6.9.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 418 2015-11-12 21:21 ./slackware64/x/xf86-video-mga-1.6.4-x86_64-3.txt +-rw-r--r-- 1 root root 70912 2015-11-12 21:21 ./slackware64/x/xf86-video-mga-1.6.4-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:21 ./slackware64/x/xf86-video-mga-1.6.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 485 2015-11-12 21:21 ./slackware64/x/xf86-video-neomagic-1.2.9-x86_64-2.txt +-rw-r--r-- 1 root root 44384 2015-11-12 21:21 ./slackware64/x/xf86-video-neomagic-1.2.9-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:21 ./slackware64/x/xf86-video-neomagic-1.2.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 476 2015-12-16 03:38 ./slackware64/x/xf86-video-nouveau-1.0.12-x86_64-1.txt +-rw-r--r-- 1 root root 95912 2015-12-16 03:38 ./slackware64/x/xf86-video-nouveau-1.0.12-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-12-16 03:38 ./slackware64/x/xf86-video-nouveau-1.0.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 409 2015-11-12 21:21 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-9.txt +-rw-r--r-- 1 root root 80036 2015-11-12 21:21 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-9.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:21 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-9.txz.asc +-rw-r--r-- 1 root root 506 2016-04-13 17:25 ./slackware64/x/xf86-video-openchrome-0.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 133544 2016-04-13 17:25 ./slackware64/x/xf86-video-openchrome-0.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-13 17:25 ./slackware64/x/xf86-video-openchrome-0.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 437 2016-02-09 20:36 ./slackware64/x/xf86-video-r128-6.10.1-x86_64-1.txt +-rw-r--r-- 1 root root 62252 2016-02-09 20:36 ./slackware64/x/xf86-video-r128-6.10.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-09 20:36 ./slackware64/x/xf86-video-r128-6.10.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 499 2015-11-12 21:21 ./slackware64/x/xf86-video-rendition-4.2.6-x86_64-1.txt +-rw-r--r-- 1 root root 49772 2015-11-12 21:21 ./slackware64/x/xf86-video-rendition-4.2.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:21 ./slackware64/x/xf86-video-rendition-4.2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 418 2015-11-12 21:21 ./slackware64/x/xf86-video-s3-0.6.5-x86_64-8.txt +-rw-r--r-- 1 root root 40772 2015-11-12 21:21 ./slackware64/x/xf86-video-s3-0.6.5-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:21 ./slackware64/x/xf86-video-s3-0.6.5-x86_64-8.txz.asc +-rw-r--r-- 1 root root 472 2015-11-12 21:22 ./slackware64/x/xf86-video-s3virge-1.10.7-x86_64-2.txt +-rw-r--r-- 1 root root 51740 2015-11-12 21:22 ./slackware64/x/xf86-video-s3virge-1.10.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-s3virge-1.10.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 460 2015-11-12 21:22 ./slackware64/x/xf86-video-savage-2.3.8-x86_64-2.txt +-rw-r--r-- 1 root root 74824 2015-11-12 21:22 ./slackware64/x/xf86-video-savage-2.3.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-savage-2.3.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 543 2015-11-12 21:22 ./slackware64/x/xf86-video-siliconmotion-1.7.8-x86_64-2.txt +-rw-r--r-- 1 root root 63076 2015-11-12 21:22 ./slackware64/x/xf86-video-siliconmotion-1.7.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-siliconmotion-1.7.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 423 2015-11-12 21:22 ./slackware64/x/xf86-video-sis-0.10.8-x86_64-2.txt +-rw-r--r-- 1 root root 243860 2015-11-12 21:22 ./slackware64/x/xf86-video-sis-0.10.8-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-sis-0.10.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 459 2015-11-12 21:22 ./slackware64/x/xf86-video-sisusb-0.9.6-x86_64-8.txt +-rw-r--r-- 1 root root 48116 2015-11-12 21:22 ./slackware64/x/xf86-video-sisusb-0.9.6-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-sisusb-0.9.6-x86_64-8.txz.asc +-rw-r--r-- 1 root root 429 2015-11-12 21:22 ./slackware64/x/xf86-video-tdfx-1.4.6-x86_64-3.txt +-rw-r--r-- 1 root root 43488 2015-11-12 21:22 ./slackware64/x/xf86-video-tdfx-1.4.6-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-tdfx-1.4.6-x86_64-3.txz.asc +-rw-r--r-- 1 root root 424 2015-11-12 21:22 ./slackware64/x/xf86-video-tga-1.2.2-x86_64-8.txt +-rw-r--r-- 1 root root 25188 2015-11-12 21:22 ./slackware64/x/xf86-video-tga-1.2.2-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-tga-1.2.2-x86_64-8.txz.asc +-rw-r--r-- 1 root root 471 2015-11-12 21:22 ./slackware64/x/xf86-video-trident-1.3.7-x86_64-3.txt +-rw-r--r-- 1 root root 67868 2015-11-12 21:22 ./slackware64/x/xf86-video-trident-1.3.7-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:22 ./slackware64/x/xf86-video-trident-1.3.7-x86_64-3.txz.asc +-rw-r--r-- 1 root root 448 2015-11-12 21:23 ./slackware64/x/xf86-video-tseng-1.2.5-x86_64-8.txt +-rw-r--r-- 1 root root 31156 2015-11-12 21:23 ./slackware64/x/xf86-video-tseng-1.2.5-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:23 ./slackware64/x/xf86-video-tseng-1.2.5-x86_64-8.txz.asc +-rw-r--r-- 1 root root 411 2015-11-12 21:23 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-13.txt +-rw-r--r-- 1 root root 12260 2015-11-12 21:23 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-13.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:23 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-13.txz.asc +-rw-r--r-- 1 root root 437 2015-11-12 21:23 ./slackware64/x/xf86-video-vesa-2.3.4-x86_64-2.txt +-rw-r--r-- 1 root root 28584 2015-11-12 21:23 ./slackware64/x/xf86-video-vesa-2.3.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:23 ./slackware64/x/xf86-video-vesa-2.3.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 462 2016-03-09 00:43 ./slackware64/x/xf86-video-vmware-13.1.0-x86_64-7.txt +-rw-r--r-- 1 root root 72804 2016-03-09 00:43 ./slackware64/x/xf86-video-vmware-13.1.0-x86_64-7.txz +-rw-r--r-- 1 root root 181 2016-03-09 00:43 ./slackware64/x/xf86-video-vmware-13.1.0-x86_64-7.txz.asc +-rw-r--r-- 1 root root 457 2015-11-12 21:23 ./slackware64/x/xf86-video-voodoo-1.2.5-x86_64-9.txt +-rw-r--r-- 1 root root 24424 2015-11-12 21:23 ./slackware64/x/xf86-video-voodoo-1.2.5-x86_64-9.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:23 ./slackware64/x/xf86-video-voodoo-1.2.5-x86_64-9.txz.asc +-rw-r--r-- 1 root root 415 2015-11-12 21:23 ./slackware64/x/xf86-video-xgi-1.6.1-x86_64-2.txt +-rw-r--r-- 1 root root 118228 2015-11-12 21:23 ./slackware64/x/xf86-video-xgi-1.6.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:23 ./slackware64/x/xf86-video-xgi-1.6.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 435 2015-11-12 21:23 ./slackware64/x/xf86-video-xgixp-1.8.1-x86_64-8.txt +-rw-r--r-- 1 root root 62228 2015-11-12 21:23 ./slackware64/x/xf86-video-xgixp-1.8.1-x86_64-8.txz +-rw-r--r-- 1 root root 181 2015-11-12 21:23 ./slackware64/x/xf86-video-xgixp-1.8.1-x86_64-8.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 334 2015-08-20 06:57 ./slackware64/x/xf86dga-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 13596 2015-08-20 06:57 ./slackware64/x/xf86dga-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:57 ./slackware64/x/xf86dga-1.0.3-x86_64-2.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 2015-08-20 06:58 ./slackware64/x/xfd-1.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 26888 2015-08-20 06:58 ./slackware64/x/xfd-1.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xfd-1.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 345 2015-08-20 06:58 ./slackware64/x/xfontsel-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 32296 2015-08-20 06:58 ./slackware64/x/xfontsel-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xfontsel-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 253 2015-08-20 06:58 ./slackware64/x/xfs-1.1.4-x86_64-2.txt +-rw-r--r-- 1 root root 70896 2015-08-20 06:58 ./slackware64/x/xfs-1.1.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xfs-1.1.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 422 2015-08-20 06:58 ./slackware64/x/xfsinfo-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 16968 2015-08-20 06:58 ./slackware64/x/xfsinfo-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xfsinfo-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 249 2015-08-20 06:58 ./slackware64/x/xgamma-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 17884 2015-08-20 06:58 ./slackware64/x/xgamma-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xgamma-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 179 2015-08-20 06:58 ./slackware64/x/xgc-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 40592 2015-08-20 06:58 ./slackware64/x/xgc-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xgc-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 217 2015-08-20 06:58 ./slackware64/x/xhost-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 24928 2015-08-20 06:58 ./slackware64/x/xhost-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xhost-1.0.7-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 315 2015-08-20 06:58 ./slackware64/x/xinit-1.3.4-x86_64-2.txt +-rw-r--r-- 1 root root 30156 2015-08-20 06:58 ./slackware64/x/xinit-1.3.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xinit-1.3.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 495 2015-10-27 18:39 ./slackware64/x/xinput-1.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 39176 2015-10-27 18:39 ./slackware64/x/xinput-1.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-27 18:39 ./slackware64/x/xinput-1.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 306 2015-08-20 06:58 ./slackware64/x/xkbcomp-1.3.0-x86_64-2.txt +-rw-r--r-- 1 root root 97492 2015-08-20 06:58 ./slackware64/x/xkbcomp-1.3.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xkbcomp-1.3.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 298 2015-08-20 06:58 ./slackware64/x/xkbevd-1.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 29116 2015-08-20 06:58 ./slackware64/x/xkbevd-1.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xkbevd-1.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 244 2015-08-20 06:58 ./slackware64/x/xkbprint-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 52920 2015-08-20 06:58 ./slackware64/x/xkbprint-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xkbprint-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 249 2015-08-20 06:58 ./slackware64/x/xkbutils-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 27096 2015-08-20 06:58 ./slackware64/x/xkbutils-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xkbutils-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 655 2016-03-26 18:52 ./slackware64/x/xkeyboard-config-2.17-noarch-1.txt +-rw-r--r-- 1 root root 610792 2016-03-26 18:52 ./slackware64/x/xkeyboard-config-2.17-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-03-26 18:52 ./slackware64/x/xkeyboard-config-2.17-noarch-1.txz.asc +-rw-r--r-- 1 root root 301 2015-08-20 06:58 ./slackware64/x/xkill-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 18188 2015-08-20 06:58 ./slackware64/x/xkill-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xkill-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 307 2015-08-20 06:58 ./slackware64/x/xload-1.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 21628 2015-08-20 06:58 ./slackware64/x/xload-1.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xload-1.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 293 2015-08-20 06:58 ./slackware64/x/xlogo-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 22188 2015-08-20 06:58 ./slackware64/x/xlogo-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xlogo-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 348 2015-08-20 06:58 ./slackware64/x/xlsatoms-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 17576 2015-08-20 06:58 ./slackware64/x/xlsatoms-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xlsatoms-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 286 2015-08-20 06:58 ./slackware64/x/xlsclients-1.1.3-x86_64-2.txt +-rw-r--r-- 1 root root 19428 2015-08-20 06:58 ./slackware64/x/xlsclients-1.1.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xlsclients-1.1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 237 2015-08-20 06:58 ./slackware64/x/xlsfonts-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 22420 2015-08-20 06:58 ./slackware64/x/xlsfonts-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:58 ./slackware64/x/xlsfonts-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 165 2015-08-20 06:59 ./slackware64/x/xmag-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 30264 2015-08-20 06:59 ./slackware64/x/xmag-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xmag-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 298 2015-08-20 06:59 ./slackware64/x/xman-1.1.4-x86_64-2.txt +-rw-r--r-- 1 root root 49860 2015-08-20 06:59 ./slackware64/x/xman-1.1.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xman-1.1.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 321 2015-08-20 06:59 ./slackware64/x/xmessage-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 21060 2015-08-20 06:59 ./slackware64/x/xmessage-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xmessage-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 238 2015-08-20 06:59 ./slackware64/x/xmh-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 82392 2015-08-20 06:59 ./slackware64/x/xmh-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xmh-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 410 2015-08-20 06:59 ./slackware64/x/xmodmap-1.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 33808 2015-08-20 06:59 ./slackware64/x/xmodmap-1.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xmodmap-1.0.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 310 2015-08-20 06:59 ./slackware64/x/xmore-1.0.2-x86_64-2.txt +-rw-r--r-- 1 root root 14404 2015-08-20 06:59 ./slackware64/x/xmore-1.0.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xmore-1.0.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 490 2016-01-12 20:55 ./slackware64/x/xorg-cf-files-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 187580 2016-01-12 20:55 ./slackware64/x/xorg-cf-files-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-01-12 20:55 ./slackware64/x/xorg-cf-files-1.0.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 345 2015-08-20 07:00 ./slackware64/x/xorg-docs-1.7.1-noarch-1.txt +-rw-r--r-- 1 root root 332852 2015-08-20 07:00 ./slackware64/x/xorg-docs-1.7.1-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:00 ./slackware64/x/xorg-docs-1.7.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 698 2016-04-15 16:07 ./slackware64/x/xorg-server-1.18.3-x86_64-2.txt +-rw-r--r-- 1 root root 1898808 2016-04-15 16:07 ./slackware64/x/xorg-server-1.18.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-15 16:07 ./slackware64/x/xorg-server-1.18.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 370 2016-04-15 16:07 ./slackware64/x/xorg-server-xephyr-1.18.3-x86_64-2.txt +-rw-r--r-- 1 root root 869656 2016-04-15 16:07 ./slackware64/x/xorg-server-xephyr-1.18.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-15 16:07 ./slackware64/x/xorg-server-xephyr-1.18.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 595 2016-04-15 16:07 ./slackware64/x/xorg-server-xnest-1.18.3-x86_64-2.txt +-rw-r--r-- 1 root root 582048 2016-04-15 16:07 ./slackware64/x/xorg-server-xnest-1.18.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-15 16:07 ./slackware64/x/xorg-server-xnest-1.18.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 693 2016-04-15 16:07 ./slackware64/x/xorg-server-xvfb-1.18.3-x86_64-2.txt +-rw-r--r-- 1 root root 719764 2016-04-15 16:07 ./slackware64/x/xorg-server-xvfb-1.18.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-04-15 16:07 ./slackware64/x/xorg-server-xvfb-1.18.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 671 2015-08-20 07:00 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-2.txt +-rw-r--r-- 1 root root 24104 2015-08-20 07:00 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:00 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 210 2015-08-20 06:59 ./slackware64/x/xpr-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 34428 2015-08-20 06:59 ./slackware64/x/xpr-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xpr-1.0.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 310 2015-08-20 06:59 ./slackware64/x/xprop-1.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 35612 2015-08-20 06:59 ./slackware64/x/xprop-1.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xprop-1.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 319 2016-05-26 22:49 ./slackware64/x/xproto-7.0.29-noarch-1.txt +-rw-r--r-- 1 root root 247816 2016-05-26 22:49 ./slackware64/x/xproto-7.0.29-noarch-1.txz +-rw-r--r-- 1 root root 181 2016-05-26 22:49 ./slackware64/x/xproto-7.0.29-noarch-1.txz.asc +-rw-r--r-- 1 root root 170 2015-08-20 06:48 ./slackware64/x/xpyb-1.3.1-x86_64-3.txt +-rw-r--r-- 1 root root 113452 2015-08-20 06:48 ./slackware64/x/xpyb-1.3.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:48 ./slackware64/x/xpyb-1.3.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 201 2016-02-29 20:42 ./slackware64/x/xrandr-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 53320 2016-02-29 20:42 ./slackware64/x/xrandr-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-02-29 20:42 ./slackware64/x/xrandr-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 281 2015-08-20 06:59 ./slackware64/x/xrdb-1.1.0-x86_64-2.txt +-rw-r--r-- 1 root root 30060 2015-08-20 06:59 ./slackware64/x/xrdb-1.1.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xrdb-1.1.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 333 2015-08-20 06:59 ./slackware64/x/xrefresh-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 15948 2015-08-20 06:59 ./slackware64/x/xrefresh-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xrefresh-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 316 2015-08-20 06:59 ./slackware64/x/xscope-1.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 119064 2015-08-20 06:59 ./slackware64/x/xscope-1.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xscope-1.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 226 2015-08-20 06:59 ./slackware64/x/xset-1.2.3-x86_64-2.txt +-rw-r--r-- 1 root root 33312 2015-08-20 06:59 ./slackware64/x/xset-1.2.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xset-1.2.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 342 2015-08-20 06:59 ./slackware64/x/xsetroot-1.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 18824 2015-08-20 06:59 ./slackware64/x/xsetroot-1.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xsetroot-1.1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 253 2015-08-20 06:59 ./slackware64/x/xsm-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 53312 2015-08-20 06:59 ./slackware64/x/xsm-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xsm-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 422 2015-08-20 06:59 ./slackware64/x/xstdcmap-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 16340 2015-08-20 06:59 ./slackware64/x/xstdcmap-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xstdcmap-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 308 2016-06-13 01:45 ./slackware64/x/xterm-325-x86_64-1.txt +-rw-r--r-- 1 root root 310192 2016-06-13 01:45 ./slackware64/x/xterm-325-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-13 01:45 ./slackware64/x/xterm-325-x86_64-1.txz.asc +-rw-r--r-- 1 root root 392 2015-03-30 01:42 ./slackware64/x/xtrans-1.3.5-noarch-1.txt +-rw-r--r-- 1 root root 69844 2015-03-30 01:42 ./slackware64/x/xtrans-1.3.5-noarch-1.txz +-rw-r--r-- 1 root root 181 2015-03-30 01:42 ./slackware64/x/xtrans-1.3.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 235 2015-08-20 06:59 ./slackware64/x/xvidtune-1.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 27664 2015-08-20 06:59 ./slackware64/x/xvidtune-1.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 06:59 ./slackware64/x/xvidtune-1.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 253 2015-08-20 07:00 ./slackware64/x/xvinfo-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 18144 2015-08-20 07:00 ./slackware64/x/xvinfo-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:00 ./slackware64/x/xvinfo-1.1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 262 2015-08-20 07:00 ./slackware64/x/xwd-1.0.6-x86_64-2.txt +-rw-r--r-- 1 root root 26472 2015-08-20 07:00 ./slackware64/x/xwd-1.0.6-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:00 ./slackware64/x/xwd-1.0.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 243 2015-08-20 07:00 ./slackware64/x/xwininfo-1.1.3-x86_64-2.txt +-rw-r--r-- 1 root root 35272 2015-08-20 07:00 ./slackware64/x/xwininfo-1.1.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:00 ./slackware64/x/xwininfo-1.1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 213 2015-08-20 07:00 ./slackware64/x/xwud-1.0.4-x86_64-2.txt +-rw-r--r-- 1 root root 23100 2015-08-20 07:00 ./slackware64/x/xwud-1.0.4-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-08-20 07:00 ./slackware64/x/xwud-1.0.4-x86_64-2.txz.asc +drwxr-xr-x 2 root root 12288 2016-06-17 22:51 ./slackware64/xap +-rw-r--r-- 1 root root 625 2016-05-24 05:16 ./slackware64/xap/MPlayer-1.2_20160125-x86_64-3.txt +-rw-r--r-- 1 root root 13450668 2016-05-24 05:16 ./slackware64/xap/MPlayer-1.2_20160125-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-05-24 05:16 ./slackware64/xap/MPlayer-1.2_20160125-x86_64-3.txz.asc +-rw-r--r-- 1 root root 614 2016-03-29 21:08 ./slackware64/xap/audacious-3.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 446308 2016-03-29 21:08 ./slackware64/xap/audacious-3.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-29 21:08 ./slackware64/xap/audacious-3.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 423 2016-03-29 21:11 ./slackware64/xap/audacious-plugins-3.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 1305528 2016-03-29 21:11 ./slackware64/xap/audacious-plugins-3.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-29 21:11 ./slackware64/xap/audacious-plugins-3.7.2-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 440 2016-05-31 02:43 ./slackware64/xap/blueman-2.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 1819248 2016-05-31 02:43 ./slackware64/xap/blueman-2.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-31 02:43 ./slackware64/xap/blueman-2.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2015-08-19 19:50 ./slackware64/xap/ddd-3.3.12-x86_64-4.txt +-rw-r--r-- 1 root root 1424284 2015-08-19 19:50 ./slackware64/xap/ddd-3.3.12-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-08-19 19:50 ./slackware64/xap/ddd-3.3.12-x86_64-4.txz.asc +-rw-r--r-- 1 root root 652 2015-03-29 21:04 ./slackware64/xap/electricsheep-20090306-x86_64-4.txt +-rw-r--r-- 1 root root 2606060 2015-03-29 21:04 ./slackware64/xap/electricsheep-20090306-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-03-29 21:04 ./slackware64/xap/electricsheep-20090306-x86_64-4.txz.asc +-rw-r--r-- 1 root root 229 2015-02-22 19:14 ./slackware64/xap/fluxbox-1.3.7-x86_64-1.txt +-rw-r--r-- 1 root root 739160 2015-02-22 19:14 ./slackware64/xap/fluxbox-1.3.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-02-22 19:14 ./slackware64/xap/fluxbox-1.3.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 414 2016-03-26 18:47 ./slackware64/xap/fvwm-2.6.6-x86_64-1.txt +-rw-r--r-- 1 root root 1506740 2016-03-26 18:47 ./slackware64/xap/fvwm-2.6.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-26 18:47 ./slackware64/xap/fvwm-2.6.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 303 2016-05-27 21:47 ./slackware64/xap/geeqie-1.3-x86_64-1.txt +-rw-r--r-- 1 root root 827696 2016-05-27 21:47 ./slackware64/xap/geeqie-1.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-27 21:47 ./slackware64/xap/geeqie-1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 444 2015-03-20 20:37 ./slackware64/xap/gftp-2.0.19-x86_64-4.txt +-rw-r--r-- 1 root root 588712 2015-03-20 20:37 ./slackware64/xap/gftp-2.0.19-x86_64-4.txz +-rw-r--r-- 1 root root 181 2015-03-20 20:37 ./slackware64/xap/gftp-2.0.19-x86_64-4.txz.asc +-rw-r--r-- 1 root root 473 2015-11-24 02:55 ./slackware64/xap/gimp-2.8.16-x86_64-1.txt +-rw-r--r-- 1 root root 12817416 2015-11-24 02:55 ./slackware64/xap/gimp-2.8.16-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-24 02:55 ./slackware64/xap/gimp-2.8.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 513 2016-06-07 18:06 ./slackware64/xap/gkrellm-2.3.7-x86_64-1.txt +-rw-r--r-- 1 root root 559256 2016-06-07 18:06 ./slackware64/xap/gkrellm-2.3.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-07 18:06 ./slackware64/xap/gkrellm-2.3.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 337 2015-10-23 18:31 ./slackware64/xap/gnuchess-6.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 1580280 2015-10-23 18:31 ./slackware64/xap/gnuchess-6.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-10-23 18:31 ./slackware64/xap/gnuchess-6.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 647 2016-05-17 21:08 ./slackware64/xap/gnuplot-5.0.3-x86_64-2.txt +-rw-r--r-- 1 root root 1446616 2016-05-17 21:08 ./slackware64/xap/gnuplot-5.0.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-05-17 21:08 ./slackware64/xap/gnuplot-5.0.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 380 2016-06-14 17:13 ./slackware64/xap/gparted-0.26.1-x86_64-1.txt +-rw-r--r-- 1 root root 782504 2016-06-14 17:13 ./slackware64/xap/gparted-0.26.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-14 17:13 ./slackware64/xap/gparted-0.26.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 209 2015-11-21 18:27 ./slackware64/xap/gucharmap-3.12.1-x86_64-2.txt +-rw-r--r-- 1 root root 1352648 2015-11-21 18:27 ./slackware64/xap/gucharmap-3.12.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:27 ./slackware64/xap/gucharmap-3.12.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 370 2013-03-20 03:03 ./slackware64/xap/gv-3.7.4-x86_64-1.txt +-rw-r--r-- 1 root root 207460 2013-03-20 03:03 ./slackware64/xap/gv-3.7.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-03-20 03:03 ./slackware64/xap/gv-3.7.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 232 2016-05-03 17:44 ./slackware64/xap/hexchat-2.12.1-x86_64-1.txt +-rw-r--r-- 1 root root 1115236 2016-05-03 17:44 ./slackware64/xap/hexchat-2.12.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-03 17:44 ./slackware64/xap/hexchat-2.12.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 540 2016-06-17 22:34 ./slackware64/xap/imagemagick-6.9.4_9-x86_64-1.txt +-rw-r--r-- 1 root root 6577332 2016-06-17 22:34 ./slackware64/xap/imagemagick-6.9.4_9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-17 22:34 ./slackware64/xap/imagemagick-6.9.4_9-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 4145 2016-02-03 19:54 ./slackware64/xap/maketag +-rw-r--r-- 1 root root 4145 2016-02-03 19:54 ./slackware64/xap/maketag.ez +-rw-r--r-- 1 root root 527 2016-06-07 21:20 ./slackware64/xap/mozilla-firefox-45.2.0esr-x86_64-1.txt +-rw-r--r-- 1 root root 47711696 2016-06-07 21:20 ./slackware64/xap/mozilla-firefox-45.2.0esr-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-07 21:20 ./slackware64/xap/mozilla-firefox-45.2.0esr-x86_64-1.txz.asc +-rw-r--r-- 1 root root 702 2016-05-30 21:56 ./slackware64/xap/mozilla-thunderbird-45.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 41351064 2016-05-30 21:56 ./slackware64/xap/mozilla-thunderbird-45.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-30 21:56 ./slackware64/xap/mozilla-thunderbird-45.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2016-05-12 01:39 ./slackware64/xap/network-manager-applet-1.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 968096 2016-05-12 01:39 ./slackware64/xap/network-manager-applet-1.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-05-12 01:39 ./slackware64/xap/network-manager-applet-1.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 303 2015-08-20 19:45 ./slackware64/xap/pan-0.139-x86_64-3.txt +-rw-r--r-- 1 root root 944852 2015-08-20 19:45 ./slackware64/xap/pan-0.139-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-08-20 19:45 ./slackware64/xap/pan-0.139-x86_64-3.txz.asc +-rw-r--r-- 1 root root 472 2016-01-10 23:45 ./slackware64/xap/pavucontrol-3.0-x86_64-1.txt +-rw-r--r-- 1 root root 110380 2016-01-10 23:45 ./slackware64/xap/pavucontrol-3.0-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-01-10 23:45 ./slackware64/xap/pavucontrol-3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2016-06-14 01:35 ./slackware64/xap/pidgin-2.10.12-x86_64-2.txt +-rw-r--r-- 1 root root 6956848 2016-06-14 01:35 ./slackware64/xap/pidgin-2.10.12-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-14 01:35 ./slackware64/xap/pidgin-2.10.12-x86_64-2.txz.asc +-rw-r--r-- 1 root root 395 2015-04-14 18:42 ./slackware64/xap/rdesktop-1.8.3-x86_64-1.txt +-rw-r--r-- 1 root root 153576 2015-04-14 18:42 ./slackware64/xap/rdesktop-1.8.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-14 18:42 ./slackware64/xap/rdesktop-1.8.3-x86_64-1.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 2015-11-19 06:06 ./slackware64/xap/sane-1.0.25-x86_64-2.txt +-rw-r--r-- 1 root root 3054484 2015-11-19 06:06 ./slackware64/xap/sane-1.0.25-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-19 06:06 ./slackware64/xap/sane-1.0.25-x86_64-2.txz.asc +-rw-r--r-- 1 root root 434 2016-03-15 23:19 ./slackware64/xap/seamonkey-2.40-x86_64-1.txt +-rw-r--r-- 1 root root 47796052 2016-03-15 23:19 ./slackware64/xap/seamonkey-2.40-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-15 23:19 ./slackware64/xap/seamonkey-2.40-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 603 2016-02-03 19:54 ./slackware64/xap/tagfile +-rw-r--r-- 1 root root 505 2016-06-15 01:49 ./slackware64/xap/vim-gvim-7.4.1938-x86_64-1.txt +-rw-r--r-- 1 root root 1180604 2016-06-15 01:49 ./slackware64/xap/vim-gvim-7.4.1938-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-15 01:49 ./slackware64/xap/vim-gvim-7.4.1938-x86_64-1.txz.asc +-rw-r--r-- 1 root root 455 2015-11-24 02:45 ./slackware64/xap/windowmaker-0.95.7-x86_64-2.txt +-rw-r--r-- 1 root root 1736264 2015-11-24 02:45 ./slackware64/xap/windowmaker-0.95.7-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-24 02:45 ./slackware64/xap/windowmaker-0.95.7-x86_64-2.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 2015-04-05 05:43 ./slackware64/xap/xaos-3.6-x86_64-1.txt +-rw-r--r-- 1 root root 519872 2015-04-05 05:43 ./slackware64/xap/xaos-3.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-05 05:43 ./slackware64/xap/xaos-3.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 411 2015-04-19 02:19 ./slackware64/xap/xfractint-20.04p13-x86_64-1.txt +-rw-r--r-- 1 root root 839856 2015-04-19 02:19 ./slackware64/xap/xfractint-20.04p13-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-19 02:19 ./slackware64/xap/xfractint-20.04p13-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 2016-03-14 02:16 ./slackware64/xap/xine-lib-1.2.6-x86_64-8.txt +-rw-r--r-- 1 root root 12917204 2016-03-14 02:16 ./slackware64/xap/xine-lib-1.2.6-x86_64-8.txz +-rw-r--r-- 1 root root 181 2016-03-14 02:16 ./slackware64/xap/xine-lib-1.2.6-x86_64-8.txz.asc +-rw-r--r-- 1 root root 374 2015-04-03 18:11 ./slackware64/xap/xine-ui-0.99.9-x86_64-1.txt +-rw-r--r-- 1 root root 1289448 2015-04-03 18:11 ./slackware64/xap/xine-ui-0.99.9-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-04-03 18:11 ./slackware64/xap/xine-ui-0.99.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 462 2015-03-19 05:38 ./slackware64/xap/xlockmore-5.46-x86_64-1.txt +-rw-r--r-- 1 root root 1042924 2015-03-19 05:38 ./slackware64/xap/xlockmore-5.46-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-19 05:38 ./slackware64/xap/xlockmore-5.46-x86_64-1.txz.asc +-rw-r--r-- 1 root root 379 2013-05-03 02:27 ./slackware64/xap/xmms-1.2.11-x86_64-5.txt +-rw-r--r-- 1 root root 1038756 2013-05-03 02:27 ./slackware64/xap/xmms-1.2.11-x86_64-5.txz +-rw-r--r-- 1 root root 198 2013-05-03 02:27 ./slackware64/xap/xmms-1.2.11-x86_64-5.txz.asc +-rw-r--r-- 1 root root 445 2015-03-29 20:07 ./slackware64/xap/xpaint-2.9.10.3-x86_64-1.txt +-rw-r--r-- 1 root root 516852 2015-03-29 20:07 ./slackware64/xap/xpaint-2.9.10.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-29 20:07 ./slackware64/xap/xpaint-2.9.10.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 188 2016-03-02 19:44 ./slackware64/xap/xpdf-3.04-x86_64-2.txt +-rw-r--r-- 1 root root 1856512 2016-03-02 19:44 ./slackware64/xap/xpdf-3.04-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-03-02 19:44 ./slackware64/xap/xpdf-3.04-x86_64-2.txz.asc +-rw-r--r-- 1 root root 499 2015-03-29 23:20 ./slackware64/xap/xsane-0.999-x86_64-1.txt +-rw-r--r-- 1 root root 1632212 2015-03-29 23:20 ./slackware64/xap/xsane-0.999-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-03-29 23:20 ./slackware64/xap/xsane-0.999-x86_64-1.txz.asc +-rw-r--r-- 1 root root 467 2016-06-01 08:15 ./slackware64/xap/xscreensaver-5.35-x86_64-2.txt +-rw-r--r-- 1 root root 4953900 2016-06-01 08:15 ./slackware64/xap/xscreensaver-5.35-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-01 08:15 ./slackware64/xap/xscreensaver-5.35-x86_64-2.txz.asc +-rw-r--r-- 1 root root 235 2015-03-28 21:30 ./slackware64/xap/xv-3.10a-x86_64-7.txt +-rw-r--r-- 1 root root 935964 2015-03-28 21:30 ./slackware64/xap/xv-3.10a-x86_64-7.txz +-rw-r--r-- 1 root root 181 2015-03-28 21:30 ./slackware64/xap/xv-3.10a-x86_64-7.txz.asc +drwxr-xr-x 2 root root 4096 2016-06-26 01:36 ./slackware64/xfce +-rw-r--r-- 1 root root 463 2016-01-12 21:12 ./slackware64/xfce/Thunar-1.6.10-x86_64-3.txt +-rw-r--r-- 1 root root 940612 2016-01-12 21:12 ./slackware64/xfce/Thunar-1.6.10-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-01-12 21:12 ./slackware64/xfce/Thunar-1.6.10-x86_64-3.txz.asc +-rw-r--r-- 1 root root 377 2015-11-18 04:30 ./slackware64/xfce/exo-0.10.7-x86_64-1.txt +-rw-r--r-- 1 root root 589904 2015-11-18 04:30 ./slackware64/xfce/exo-0.10.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-18 04:30 ./slackware64/xfce/exo-0.10.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 295 2015-11-21 18:45 ./slackware64/xfce/garcon-0.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 132568 2015-11-21 18:45 ./slackware64/xfce/garcon-0.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:45 ./slackware64/xfce/garcon-0.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 412 2015-11-21 18:45 ./slackware64/xfce/gtk-xfce-engine-2.10.1-x86_64-2.txt +-rw-r--r-- 1 root root 46660 2015-11-21 18:45 ./slackware64/xfce/gtk-xfce-engine-2.10.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:45 ./slackware64/xfce/gtk-xfce-engine-2.10.1-x86_64-2.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/xfce/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/xfce/install.end +-rw-r--r-- 1 root root 309 2015-11-21 18:46 ./slackware64/xfce/libxfce4ui-4.12.1-x86_64-2.txt +-rw-r--r-- 1 root root 241856 2015-11-21 18:46 ./slackware64/xfce/libxfce4ui-4.12.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:46 ./slackware64/xfce/libxfce4ui-4.12.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 317 2015-11-21 18:56 ./slackware64/xfce/libxfce4util-4.12.1-x86_64-2.txt +-rw-r--r-- 1 root root 114436 2015-11-21 18:56 ./slackware64/xfce/libxfce4util-4.12.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:56 ./slackware64/xfce/libxfce4util-4.12.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 2955 2016-01-12 18:38 ./slackware64/xfce/maketag +-rw-r--r-- 1 root root 2955 2016-01-12 18:38 ./slackware64/xfce/maketag.ez +-rw-r--r-- 1 root root 172 2016-02-25 18:57 ./slackware64/xfce/orage-4.12.1-x86_64-3.txt +-rw-r--r-- 1 root root 1581300 2016-02-25 18:57 ./slackware64/xfce/orage-4.12.1-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-02-25 18:57 ./slackware64/xfce/orage-4.12.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 463 2016-01-12 18:38 ./slackware64/xfce/tagfile +-rw-r--r-- 1 root root 345 2015-11-21 18:58 ./slackware64/xfce/thunar-volman-0.8.1-x86_64-2.txt +-rw-r--r-- 1 root root 126436 2015-11-21 18:58 ./slackware64/xfce/thunar-volman-0.8.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:58 ./slackware64/xfce/thunar-volman-0.8.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 510 2016-06-23 06:27 ./slackware64/xfce/tumbler-0.1.31-x86_64-8.txt +-rw-r--r-- 1 root root 156884 2016-06-23 06:27 ./slackware64/xfce/tumbler-0.1.31-x86_64-8.txz +-rw-r--r-- 1 root root 181 2016-06-23 06:27 ./slackware64/xfce/tumbler-0.1.31-x86_64-8.txz.asc +-rw-r--r-- 1 root root 469 2015-11-21 18:58 ./slackware64/xfce/xfce4-appfinder-4.12.0-x86_64-2.txt +-rw-r--r-- 1 root root 112936 2015-11-21 18:58 ./slackware64/xfce/xfce4-appfinder-4.12.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:58 ./slackware64/xfce/xfce4-appfinder-4.12.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 532 2016-03-15 18:16 ./slackware64/xfce/xfce4-clipman-plugin-1.2.6-x86_64-1.txt +-rw-r--r-- 1 root root 129212 2016-03-15 18:16 ./slackware64/xfce/xfce4-clipman-plugin-1.2.6-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-03-15 18:16 ./slackware64/xfce/xfce4-clipman-plugin-1.2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 357 2015-11-21 18:59 ./slackware64/xfce/xfce4-dev-tools-4.12.0-x86_64-2.txt +-rw-r--r-- 1 root root 36500 2015-11-21 18:59 ./slackware64/xfce/xfce4-dev-tools-4.12.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:59 ./slackware64/xfce/xfce4-dev-tools-4.12.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 441 2015-11-21 19:00 ./slackware64/xfce/xfce4-notifyd-0.2.4-x86_64-3.txt +-rw-r--r-- 1 root root 72760 2015-11-21 19:00 ./slackware64/xfce/xfce4-notifyd-0.2.4-x86_64-3.txz +-rw-r--r-- 1 root root 181 2015-11-21 19:00 ./slackware64/xfce/xfce4-notifyd-0.2.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 437 2016-06-03 22:45 ./slackware64/xfce/xfce4-panel-4.12.0-x86_64-3.txt +-rw-r--r-- 1 root root 618148 2016-06-03 22:45 ./slackware64/xfce/xfce4-panel-4.12.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-06-03 22:45 ./slackware64/xfce/xfce4-panel-4.12.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 413 2016-03-19 20:13 ./slackware64/xfce/xfce4-power-manager-1.4.4-x86_64-4.txt +-rw-r--r-- 1 root root 553584 2016-03-19 20:13 ./slackware64/xfce/xfce4-power-manager-1.4.4-x86_64-4.txz +-rw-r--r-- 1 root root 181 2016-03-19 20:13 ./slackware64/xfce/xfce4-power-manager-1.4.4-x86_64-4.txz.asc +-rw-r--r-- 1 root root 599 2016-06-26 01:14 ./slackware64/xfce/xfce4-pulseaudio-plugin-0.2.4-x86_64-3.txt +-rw-r--r-- 1 root root 37080 2016-06-26 01:14 ./slackware64/xfce/xfce4-pulseaudio-plugin-0.2.4-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-06-26 01:14 ./slackware64/xfce/xfce4-pulseaudio-plugin-0.2.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 365 2015-11-18 02:17 ./slackware64/xfce/xfce4-screenshooter-1.8.2-x86_64-2.txt +-rw-r--r-- 1 root root 147400 2015-11-18 02:17 ./slackware64/xfce/xfce4-screenshooter-1.8.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-18 02:17 ./slackware64/xfce/xfce4-screenshooter-1.8.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 451 2015-11-21 18:53 ./slackware64/xfce/xfce4-session-4.12.1-x86_64-2.txt +-rw-r--r-- 1 root root 624076 2015-11-21 18:53 ./slackware64/xfce/xfce4-session-4.12.1-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:53 ./slackware64/xfce/xfce4-session-4.12.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 378 2016-04-27 17:00 ./slackware64/xfce/xfce4-settings-4.12.0-x86_64-3.txt +-rw-r--r-- 1 root root 464892 2016-04-27 17:00 ./slackware64/xfce/xfce4-settings-4.12.0-x86_64-3.txz +-rw-r--r-- 1 root root 181 2016-04-27 17:00 ./slackware64/xfce/xfce4-settings-4.12.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 402 2015-11-21 18:54 ./slackware64/xfce/xfce4-systemload-plugin-1.1.2-x86_64-2.txt +-rw-r--r-- 1 root root 42876 2015-11-21 18:54 ./slackware64/xfce/xfce4-systemload-plugin-1.1.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:54 ./slackware64/xfce/xfce4-systemload-plugin-1.1.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 463 2015-11-21 18:55 ./slackware64/xfce/xfce4-taskmanager-1.1.0-x86_64-2.txt +-rw-r--r-- 1 root root 93184 2015-11-21 18:55 ./slackware64/xfce/xfce4-taskmanager-1.1.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:55 ./slackware64/xfce/xfce4-taskmanager-1.1.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2015-11-21 19:01 ./slackware64/xfce/xfce4-terminal-0.6.3-x86_64-2.txt +-rw-r--r-- 1 root root 335884 2015-11-21 19:01 ./slackware64/xfce/xfce4-terminal-0.6.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 19:01 ./slackware64/xfce/xfce4-terminal-0.6.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 369 2016-04-24 18:07 ./slackware64/xfce/xfce4-weather-plugin-0.8.7-x86_64-1.txt +-rw-r--r-- 1 root root 2358992 2016-04-24 18:07 ./slackware64/xfce/xfce4-weather-plugin-0.8.7-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-04-24 18:07 ./slackware64/xfce/xfce4-weather-plugin-0.8.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2015-11-21 19:03 ./slackware64/xfce/xfconf-4.12.0-x86_64-2.txt +-rw-r--r-- 1 root root 150012 2015-11-21 19:03 ./slackware64/xfce/xfconf-4.12.0-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 19:03 ./slackware64/xfce/xfconf-4.12.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 424 2015-11-21 18:55 ./slackware64/xfce/xfdesktop-4.12.3-x86_64-2.txt +-rw-r--r-- 1 root root 771256 2015-11-21 18:55 ./slackware64/xfce/xfdesktop-4.12.3-x86_64-2.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:55 ./slackware64/xfce/xfdesktop-4.12.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 285 2015-11-21 18:07 ./slackware64/xfce/xfwm4-4.12.3-x86_64-1.txt +-rw-r--r-- 1 root root 488204 2015-11-21 18:07 ./slackware64/xfce/xfwm4-4.12.3-x86_64-1.txz +-rw-r--r-- 1 root root 181 2015-11-21 18:07 ./slackware64/xfce/xfwm4-4.12.3-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 1149 2015-04-20 02:08 ./slackware64/y/maketag +-rw-r--r-- 1 root root 1149 2015-04-20 02:08 ./slackware64/y/maketag.ez +-rw-r--r-- 1 root root 14 2015-04-20 02:08 ./slackware64/y/tagfile +drwxr-xr-x 19 root root 4096 2016-06-29 21:58 ./source +-rw-r--r-- 1 root root 427118 2016-06-29 21:58 ./source/CHECKSUMS.md5 +-rw-r--r-- 1 root root 181 2016-06-29 21:58 ./source/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 623238 2016-06-29 21:57 ./source/FILE_LIST +-rw-r--r-- 1 root root 11718046 2016-06-29 21:57 ./source/MANIFEST.bz2 -rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT drwxr-xr-x 105 root root 4096 2016-06-29 19:20 ./source/a drwxr-xr-x 2 root root 4096 2016-05-20 20:18 ./source/a/aaa_base @@ -6083,678 +12213,678 @@ drwxr-xr-x 2 root root 12288 2015-11-19 17:13 ./source/x/x11/slack-desc -rw-r--r-- 1 root root 848 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-75dpi -rw-r--r-- 1 root root 1100 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-100dpi -rw-r--r-- 1 root root 1086 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-75dpi --rw-r--r-- 1 root root 822 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-ttf --rw-r--r-- 1 root root 850 2012-04-08 02:12 ./source/x/x11/slack-desc/font-bh-type1 --rw-r--r-- 1 root root 960 2012-04-08 02:13 ./source/x/x11/slack-desc/font-bitstream-100dpi --rw-r--r-- 1 root root 946 2012-04-08 02:13 ./source/x/x11/slack-desc/font-bitstream-75dpi --rw-r--r-- 1 root root 962 2012-04-08 02:13 ./source/x/x11/slack-desc/font-bitstream-speedo --rw-r--r-- 1 root root 948 2012-04-08 02:14 ./source/x/x11/slack-desc/font-bitstream-type1 --rw-r--r-- 1 root root 946 2012-04-08 02:15 ./source/x/x11/slack-desc/font-cronyx-cyrillic --rw-r--r-- 1 root root 890 2012-04-08 02:15 ./source/x/x11/slack-desc/font-cursor-misc --rw-r--r-- 1 root root 890 2012-04-08 02:15 ./source/x/x11/slack-desc/font-daewoo-misc --rw-r--r-- 1 root root 848 2012-04-08 02:15 ./source/x/x11/slack-desc/font-dec-misc --rw-r--r-- 1 root root 864 2012-04-08 02:16 ./source/x/x11/slack-desc/font-ibm-type1 --rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-isas-misc --rw-r--r-- 1 root root 848 2012-04-08 02:17 ./source/x/x11/slack-desc/font-jis-misc --rw-r--r-- 1 root root 876 2012-04-08 02:17 ./source/x/x11/slack-desc/font-micro-misc --rw-r--r-- 1 root root 918 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-cyrillic --rw-r--r-- 1 root root 918 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-ethiopic --rw-r--r-- 1 root root 890 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-meltho --rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-misc --rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-mutt-misc --rw-r--r-- 1 root root 946 2012-04-08 02:17 ./source/x/x11/slack-desc/font-schumacher-misc --rw-r--r-- 1 root root 946 2012-04-08 02:18 ./source/x/x11/slack-desc/font-screen-cyrillic --rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-sony-misc --rw-r--r-- 1 root root 848 2012-04-08 02:18 ./source/x/x11/slack-desc/font-sun-misc --rw-r--r-- 1 root root 822 2012-04-08 02:18 ./source/x/x11/slack-desc/font-util --rw-r--r-- 1 root root 974 2012-04-08 02:19 ./source/x/x11/slack-desc/font-winitzki-cyrillic --rw-r--r-- 1 root root 920 2012-04-08 02:20 ./source/x/x11/slack-desc/font-xfree86-type1 --rw-r--r-- 1 root root 883 2012-04-08 02:20 ./source/x/x11/slack-desc/fontcacheproto --rw-r--r-- 1 root root 824 2012-04-08 02:20 ./source/x/x11/slack-desc/fontsproto --rw-r--r-- 1 root root 833 2012-04-08 02:22 ./source/x/x11/slack-desc/fonttosfnt --rw-r--r-- 1 root root 823 2012-04-08 02:23 ./source/x/x11/slack-desc/fslsfonts --rw-r--r-- 1 root root 829 2012-04-08 02:23 ./source/x/x11/slack-desc/fstobdf --rw-r--r-- 1 root root 818 2012-04-08 02:23 ./source/x/x11/slack-desc/gccmakedep --rw-r--r-- 1 root root 736 2014-05-13 20:38 ./source/x/x11/slack-desc/glamor-egl --rw-r--r-- 1 root root 781 2012-04-08 02:25 ./source/x/x11/slack-desc/glproto --rw-r--r-- 1 root root 806 2012-04-08 02:26 ./source/x/x11/slack-desc/iceauth --rw-r--r-- 1 root root 761 2012-04-08 02:26 ./source/x/x11/slack-desc/ico --rw-r--r-- 1 root root 748 2012-04-08 02:27 ./source/x/x11/slack-desc/imake --rw-r--r-- 1 root root 820 2012-04-08 02:27 ./source/x/x11/slack-desc/inputproto --rw-r--r-- 1 root root 879 2012-04-08 02:28 ./source/x/x11/slack-desc/intel-gpu-tools --rw-r--r-- 1 root root 785 2012-04-08 02:28 ./source/x/x11/slack-desc/kbproto --rw-r--r-- 1 root root 745 2012-04-08 02:28 ./source/x/x11/slack-desc/libFS --rw-r--r-- 1 root root 761 2012-04-08 02:29 ./source/x/x11/slack-desc/libICE --rw-r--r-- 1 root root 744 2012-04-08 02:42 ./source/x/x11/slack-desc/libSM --rw-r--r-- 1 root root 762 2012-04-08 02:42 ./source/x/x11/slack-desc/libX11 --rw-r--r-- 1 root root 869 2012-04-08 03:03 ./source/x/x11/slack-desc/libXScrnSaver --rw-r--r-- 1 root root 926 2012-04-08 03:06 ./source/x/x11/slack-desc/libXau --rw-r--r-- 1 root root 665 2012-04-08 03:03 ./source/x/x11/slack-desc/libXaw --rw-r--r-- 1 root root 971 2012-04-08 02:50 ./source/x/x11/slack-desc/libXaw3d --rw-r--r-- 1 root root 767 2012-04-08 02:51 ./source/x/x11/slack-desc/libXcm --rw-r--r-- 1 root root 872 2012-04-08 03:04 ./source/x/x11/slack-desc/libXcomposite --rw-r--r-- 1 root root 827 2012-04-08 03:06 ./source/x/x11/slack-desc/libXcursor --rw-r--r-- 1 root root 827 2012-04-08 03:06 ./source/x/x11/slack-desc/libXdamage --rw-r--r-- 1 root root 800 2012-04-08 03:07 ./source/x/x11/slack-desc/libXdmcp --rw-r--r-- 1 root root 804 2012-04-08 03:07 ./source/x/x11/slack-desc/libXevie --rw-r--r-- 1 root root 793 2012-04-08 03:08 ./source/x/x11/slack-desc/libXext --rw-r--r-- 1 root root 811 2012-04-08 03:08 ./source/x/x11/slack-desc/libXfixes --rw-r--r-- 1 root root 1034 2012-04-08 03:18 ./source/x/x11/slack-desc/libXfont --rw-r--r-- 1 root root 874 2012-04-08 03:18 ./source/x/x11/slack-desc/libXfontcache --rw-r--r-- 1 root root 748 2012-04-08 03:18 ./source/x/x11/slack-desc/libXft --rw-r--r-- 1 root root 749 2012-04-08 03:18 ./source/x/x11/slack-desc/libXi --rw-r--r-- 1 root root 846 2012-04-08 03:19 ./source/x/x11/slack-desc/libXinerama --rw-r--r-- 1 root root 807 2012-04-08 03:23 ./source/x/x11/slack-desc/libXmu --rw-r--r-- 1 root root 738 2012-04-08 03:23 ./source/x/x11/slack-desc/libXp --rw-r--r-- 1 root root 770 2012-04-08 03:24 ./source/x/x11/slack-desc/libXpm --rw-r--r-- 1 root root 853 2015-04-21 01:58 ./source/x/x11/slack-desc/libXpresent --rw-r--r-- 1 root root 821 2012-04-08 03:24 ./source/x/x11/slack-desc/libXrandr --rw-r--r-- 1 root root 838 2012-04-08 03:24 ./source/x/x11/slack-desc/libXrender --rw-r--r-- 1 root root 779 2012-04-08 03:25 ./source/x/x11/slack-desc/libXres --rw-r--r-- 1 root root 744 2012-04-08 03:26 ./source/x/x11/slack-desc/libXt --rw-r--r-- 1 root root 792 2012-04-08 03:26 ./source/x/x11/slack-desc/libXtst --rw-r--r-- 1 root root 777 2012-04-08 03:26 ./source/x/x11/slack-desc/libXv --rw-r--r-- 1 root root 777 2012-04-08 02:52 ./source/x/x11/slack-desc/libXvMC --rw-r--r-- 1 root root 844 2012-04-08 03:27 ./source/x/x11/slack-desc/libXxf86dga --rw-r--r-- 1 root root 864 2012-04-08 03:27 ./source/x/x11/slack-desc/libXxf86misc --rw-r--r-- 1 root root 829 2012-04-08 03:27 ./source/x/x11/slack-desc/libXxf86vm --rw-r--r-- 1 root root 777 2012-04-08 03:28 ./source/x/x11/slack-desc/libdmx --rw-r--r-- 1 root root 807 2012-04-08 03:28 ./source/x/x11/slack-desc/libfontenc --rw-r--r-- 1 root root 840 2012-04-08 03:29 ./source/x/x11/slack-desc/libpciaccess --rw-r--r-- 1 root root 1003 2012-04-08 03:30 ./source/x/x11/slack-desc/libpthread-stubs --rw-r--r-- 1 root root 903 2007-02-14 06:52 ./source/x/x11/slack-desc/libxcb --rw-r--r-- 1 root root 824 2012-04-08 02:45 ./source/x/x11/slack-desc/libxkbfile --rw-r--r-- 1 root root 847 2014-05-13 05:34 ./source/x/x11/slack-desc/libxshmfence --rw-r--r-- 1 root root 707 2012-04-08 03:30 ./source/x/x11/slack-desc/listres --rw-r--r-- 1 root root 778 2012-04-08 03:31 ./source/x/x11/slack-desc/lndir --rw-r--r-- 1 root root 827 2012-04-08 03:31 ./source/x/x11/slack-desc/luit --rw-r--r-- 1 root root 818 2012-04-08 03:31 ./source/x/x11/slack-desc/makedepend --rw-r--r-- 1 root root 890 2012-04-08 03:31 ./source/x/x11/slack-desc/mkcomposecache --rw-r--r-- 1 root root 823 2012-04-08 03:32 ./source/x/x11/slack-desc/mkfontdir --rw-r--r-- 1 root root 734 2012-04-08 03:32 ./source/x/x11/slack-desc/mkfontscale --rw-r--r-- 1 root root 679 2012-04-08 03:32 ./source/x/x11/slack-desc/oclock --rw-r--r-- 1 root root 823 2012-04-08 02:44 ./source/x/x11/slack-desc/pixman --rw-r--r-- 1 root root 731 2014-05-13 05:22 ./source/x/x11/slack-desc/presentproto --rw-r--r-- 1 root root 731 2012-04-08 03:32 ./source/x/x11/slack-desc/printproto --rw-r--r-- 1 root root 674 2012-04-08 03:32 ./source/x/x11/slack-desc/randrproto --rw-r--r-- 1 root root 835 2012-04-08 03:33 ./source/x/x11/slack-desc/recordproto --rw-r--r-- 1 root root 760 2012-04-08 03:40 ./source/x/x11/slack-desc/rendercheck --rw-r--r-- 1 root root 838 2012-04-08 03:40 ./source/x/x11/slack-desc/renderproto --rw-r--r-- 1 root root 865 2012-04-08 03:40 ./source/x/x11/slack-desc/resourceproto --rw-r--r-- 1 root root 709 2012-04-08 03:40 ./source/x/x11/slack-desc/rgb --rw-r--r-- 1 root root 889 2012-04-08 03:41 ./source/x/x11/slack-desc/scrnsaverproto --rw-r--r-- 1 root root 750 2012-04-08 03:41 ./source/x/x11/slack-desc/sessreg --rw-r--r-- 1 root root 798 2012-04-08 03:42 ./source/x/x11/slack-desc/setxkbmap --rw-r--r-- 1 root root 737 2012-04-08 03:42 ./source/x/x11/slack-desc/showfont --rw-r--r-- 1 root root 707 2012-04-08 03:42 ./source/x/x11/slack-desc/smproxy --rw-r--r-- 1 root root 884 2012-06-13 15:39 ./source/x/x11/slack-desc/transset --rw-r--r-- 1 root root 730 2012-04-08 03:43 ./source/x/x11/slack-desc/twm --rw-r--r-- 1 root root 823 2012-04-08 03:43 ./source/x/x11/slack-desc/util-macros --rw-r--r-- 1 root root 820 2012-04-08 03:43 ./source/x/x11/slack-desc/videoproto --rw-r--r-- 1 root root 796 2012-04-08 03:43 ./source/x/x11/slack-desc/viewres --rw-r--r-- 1 root root 779 2012-04-08 03:44 ./source/x/x11/slack-desc/x11perf --rw-r--r-- 1 root root 679 2012-04-08 03:44 ./source/x/x11/slack-desc/xauth --rw-r--r-- 1 root root 796 2012-04-08 03:44 ./source/x/x11/slack-desc/xbacklight --rw-r--r-- 1 root root 726 2012-04-08 03:44 ./source/x/x11/slack-desc/xbiff --rw-r--r-- 1 root root 786 2012-04-08 03:45 ./source/x/x11/slack-desc/xbitmaps --rw-r--r-- 1 root root 639 2012-04-08 03:45 ./source/x/x11/slack-desc/xcalc --rw-r--r-- 1 root root 922 2012-04-08 01:17 ./source/x/x11/slack-desc/xcb-proto --rw-r--r-- 1 root root 809 2012-04-08 03:45 ./source/x/x11/slack-desc/xcb-util --rw-r--r-- 1 root root 808 2013-09-07 20:11 ./source/x/x11/slack-desc/xcb-util-cursor --rw-r--r-- 1 root root 1011 2015-04-27 03:32 ./source/x/x11/slack-desc/xcb-util-errors --rw-r--r-- 1 root root 778 2012-04-08 01:14 ./source/x/x11/slack-desc/xcb-util-image --rw-r--r-- 1 root root 827 2012-04-08 01:18 ./source/x/x11/slack-desc/xcb-util-keysyms --rw-r--r-- 1 root root 871 2012-04-08 03:49 ./source/x/x11/slack-desc/xcb-util-renderutil --rw-r--r-- 1 root root 774 2012-04-08 03:51 ./source/x/x11/slack-desc/xcb-util-wm --rw-r--r-- 1 root root 890 2012-04-08 03:46 ./source/x/x11/slack-desc/xclipboard --rw-r--r-- 1 root root 748 2012-04-08 03:52 ./source/x/x11/slack-desc/xclock --rw-r--r-- 1 root root 746 2013-01-13 00:59 ./source/x/x11/slack-desc/xcm --rw-r--r-- 1 root root 838 2012-04-08 03:52 ./source/x/x11/slack-desc/xcmiscproto --rw-r--r-- 1 root root 824 2012-04-08 03:54 ./source/x/x11/slack-desc/xcmsdb --rw-r--r-- 1 root root 761 2012-04-08 03:53 ./source/x/x11/slack-desc/xcompmgr --rw-r--r-- 1 root root 678 2012-04-08 03:54 ./source/x/x11/slack-desc/xconsole --rw-r--r-- 1 root root 844 2012-04-08 03:54 ./source/x/x11/slack-desc/xcursor-themes --rw-r--r-- 1 root root 834 2012-04-08 03:54 ./source/x/x11/slack-desc/xcursorgen --rw-r--r-- 1 root root 714 2012-04-08 03:55 ./source/x/x11/slack-desc/xdbedizzy --rw-r--r-- 1 root root 797 2012-04-08 03:55 ./source/x/x11/slack-desc/xditview --rw-r--r-- 1 root root 707 2012-04-08 03:55 ./source/x/x11/slack-desc/xdm --rw-r--r-- 1 root root 810 2012-04-08 03:56 ./source/x/x11/slack-desc/xdpyinfo --rw-r--r-- 1 root root 808 2012-04-08 03:56 ./source/x/x11/slack-desc/xdriinfo --rw-r--r-- 1 root root 740 2012-04-08 03:57 ./source/x/x11/slack-desc/xedit --rw-r--r-- 1 root root 949 2012-04-08 03:57 ./source/x/x11/slack-desc/xev --rw-r--r-- 1 root root 810 2012-04-08 03:57 ./source/x/x11/slack-desc/xextproto --rw-r--r-- 1 root root 770 2012-04-08 03:58 ./source/x/x11/slack-desc/xeyes --rw-r--r-- 1 root root 931 2012-04-08 03:58 ./source/x/x11/slack-desc/xf86-input-acecad --rw-r--r-- 1 root root 932 2012-04-08 03:59 ./source/x/x11/slack-desc/xf86-input-aiptek --rw-r--r-- 1 root root 918 2012-04-08 03:59 ./source/x/x11/slack-desc/xf86-input-evdev --rw-r--r-- 1 root root 955 2012-04-08 04:00 ./source/x/x11/slack-desc/xf86-input-joystick --rw-r--r-- 1 root root 946 2012-07-22 17:18 ./source/x/x11/slack-desc/xf86-input-keyboard --rw-r--r-- 1 root root 938 2015-04-21 03:11 ./source/x/x11/slack-desc/xf86-input-libinput --rw-r--r-- 1 root root 896 2012-05-07 16:08 ./source/x/x11/slack-desc/xf86-input-mouse --rw-r--r-- 1 root root 955 2012-04-08 04:02 ./source/x/x11/slack-desc/xf86-input-penmount --rw-r--r-- 1 root root 961 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-synaptics --rw-r--r-- 1 root root 945 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-vmmouse --rw-r--r-- 1 root root 889 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-void --rw-r--r-- 1 root root 1000 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-wacom --rw-r--r-- 1 root root 920 2015-11-19 17:17 ./source/x/x11/slack-desc/xf86-video-amdgpu --rw-r--r-- 1 root root 889 2012-04-08 04:04 ./source/x/x11/slack-desc/xf86-video-apm --rw-r--r-- 1 root root 882 2012-04-08 04:05 ./source/x/x11/slack-desc/xf86-video-ark --rw-r--r-- 1 root root 895 2012-04-08 04:05 ./source/x/x11/slack-desc/xf86-video-ast --rw-r--r-- 1 root root 887 2012-04-08 04:05 ./source/x/x11/slack-desc/xf86-video-ati --rw-r--r-- 1 root root 914 2012-04-08 04:06 ./source/x/x11/slack-desc/xf86-video-chips --rw-r--r-- 1 root root 931 2012-04-08 04:06 ./source/x/x11/slack-desc/xf86-video-cirrus --rw-r--r-- 1 root root 919 2012-04-08 04:07 ./source/x/x11/slack-desc/xf86-video-dummy --rw-r--r-- 1 root root 878 2012-05-08 16:28 ./source/x/x11/slack-desc/xf86-video-fbdev --rw-r--r-- 1 root root 915 2012-04-08 04:07 ./source/x/x11/slack-desc/xf86-video-geode --rw-r--r-- 1 root root 919 2012-04-08 04:07 ./source/x/x11/slack-desc/xf86-video-glint --rw-r--r-- 1 root root 907 2012-04-08 04:08 ./source/x/x11/slack-desc/xf86-video-i128 --rw-r--r-- 1 root root 901 2012-04-08 04:08 ./source/x/x11/slack-desc/xf86-video-i740 --rw-r--r-- 1 root root 910 2012-04-08 04:09 ./source/x/x11/slack-desc/xf86-video-intel --rw-r--r-- 1 root root 923 2012-04-08 04:09 ./source/x/x11/slack-desc/xf86-video-mach64 --rw-r--r-- 1 root root 883 2012-04-08 04:10 ./source/x/x11/slack-desc/xf86-video-mga --rw-r--r-- 1 root root 987 2012-04-08 04:12 ./source/x/x11/slack-desc/xf86-video-modesetting --rw-r--r-- 1 root root 955 2012-04-08 04:10 ./source/x/x11/slack-desc/xf86-video-neomagic --rw-r--r-- 1 root root 945 2012-04-08 04:13 ./source/x/x11/slack-desc/xf86-video-nouveau --rw-r--r-- 1 root root 873 2012-04-08 04:11 ./source/x/x11/slack-desc/xf86-video-nv --rw-r--r-- 1 root root 978 2012-04-08 04:13 ./source/x/x11/slack-desc/xf86-video-openchrome --rw-r--r-- 1 root root 734 2012-04-08 04:14 ./source/x/x11/slack-desc/xf86-video-qxl --rw-r--r-- 1 root root 903 2012-04-08 04:15 ./source/x/x11/slack-desc/xf86-video-r128 --rw-r--r-- 1 root root 970 2012-04-08 04:19 ./source/x/x11/slack-desc/xf86-video-rendition --rw-r--r-- 1 root root 882 2012-04-08 04:19 ./source/x/x11/slack-desc/xf86-video-s3 --rw-r--r-- 1 root root 941 2012-04-08 04:19 ./source/x/x11/slack-desc/xf86-video-s3virge --rw-r--r-- 1 root root 928 2012-04-08 04:20 ./source/x/x11/slack-desc/xf86-video-savage --rw-r--r-- 1 root root 1018 2012-04-08 04:20 ./source/x/x11/slack-desc/xf86-video-siliconmotion --rw-r--r-- 1 root root 888 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-sis --rw-r--r-- 1 root root 927 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-sisusb --rw-r--r-- 1 root root 895 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-tdfx --rw-r--r-- 1 root root 889 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-tga --rw-r--r-- 1 root root 940 2012-04-08 04:24 ./source/x/x11/slack-desc/xf86-video-trident --rw-r--r-- 1 root root 915 2012-04-08 04:24 ./source/x/x11/slack-desc/xf86-video-tseng --rw-r--r-- 1 root root 876 2012-04-08 04:24 ./source/x/x11/slack-desc/xf86-video-v4l --rw-r--r-- 1 root root 903 2012-04-08 04:25 ./source/x/x11/slack-desc/xf86-video-vesa --rw-r--r-- 1 root root 930 2012-04-08 04:25 ./source/x/x11/slack-desc/xf86-video-vmware --rw-r--r-- 1 root root 925 2012-04-08 04:25 ./source/x/x11/slack-desc/xf86-video-voodoo --rw-r--r-- 1 root root 880 2012-04-08 04:26 ./source/x/x11/slack-desc/xf86-video-xgi --rw-r--r-- 1 root root 902 2013-02-21 19:47 ./source/x/x11/slack-desc/xf86-video-xgixp --rw-r--r-- 1 root root 904 2012-04-08 04:28 ./source/x/x11/slack-desc/xf86bigfontproto --rw-r--r-- 1 root root 792 2012-04-08 04:26 ./source/x/x11/slack-desc/xf86dga --rw-r--r-- 1 root root 803 2012-04-08 04:29 ./source/x/x11/slack-desc/xf86dgaproto --rw-r--r-- 1 root root 842 2012-04-08 04:27 ./source/x/x11/slack-desc/xf86driproto --rw-r--r-- 1 root root 896 2012-04-08 04:30 ./source/x/x11/slack-desc/xf86miscproto --rw-r--r-- 1 root root 915 2012-04-08 04:30 ./source/x/x11/slack-desc/xf86vidmodeproto --rw-r--r-- 1 root root 621 2012-04-08 04:31 ./source/x/x11/slack-desc/xfd --rw-r--r-- 1 root root 804 2012-04-08 04:31 ./source/x/x11/slack-desc/xfontsel --rw-r--r-- 1 root root 707 2012-04-08 01:11 ./source/x/x11/slack-desc/xfs --rw-r--r-- 1 root root 880 2012-04-08 04:32 ./source/x/x11/slack-desc/xfsinfo --rw-r--r-- 1 root root 718 2013-08-20 21:51 ./source/x/x11/slack-desc/xfwp --rw-r--r-- 1 root root 706 2012-04-08 04:33 ./source/x/x11/slack-desc/xgamma --rw-r--r-- 1 root root 633 2012-04-08 04:33 ./source/x/x11/slack-desc/xgc --rw-r--r-- 1 root root 673 2012-04-08 04:33 ./source/x/x11/slack-desc/xhost --rw-r--r-- 1 root root 867 2012-04-08 04:34 ./source/x/x11/slack-desc/xineramaproto --rw-r--r-- 1 root root 771 2012-07-22 17:18 ./source/x/x11/slack-desc/xinit --rw-r--r-- 1 root root 952 2012-04-08 04:34 ./source/x/x11/slack-desc/xinput --rw-r--r-- 1 root root 764 2012-04-08 04:35 ./source/x/x11/slack-desc/xkbcomp --rw-r--r-- 1 root root 755 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbevd --rw-r--r-- 1 root root 703 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbprint --rw-r--r-- 1 root root 708 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbutils --rw-r--r-- 1 root root 1122 2012-04-08 04:37 ./source/x/x11/slack-desc/xkeyboard-config --rw-r--r-- 1 root root 757 2012-04-08 04:37 ./source/x/x11/slack-desc/xkill --rw-r--r-- 1 root root 763 2012-04-08 04:37 ./source/x/x11/slack-desc/xload --rw-r--r-- 1 root root 749 2012-04-08 04:38 ./source/x/x11/slack-desc/xlogo --rw-r--r-- 1 root root 807 2012-04-08 04:38 ./source/x/x11/slack-desc/xlsatoms --rw-r--r-- 1 root root 747 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsclients --rw-r--r-- 1 root root 696 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsfonts --rw-r--r-- 1 root root 620 2012-04-08 04:39 ./source/x/x11/slack-desc/xmag --rw-r--r-- 1 root root 753 2012-04-08 04:40 ./source/x/x11/slack-desc/xman --rw-r--r-- 1 root root 780 2012-04-08 04:41 ./source/x/x11/slack-desc/xmessage --rw-r--r-- 1 root root 692 2012-04-08 04:41 ./source/x/x11/slack-desc/xmh --rw-r--r-- 1 root root 868 2012-04-08 04:42 ./source/x/x11/slack-desc/xmodmap --rw-r--r-- 1 root root 766 2012-04-08 04:42 ./source/x/x11/slack-desc/xmore --rw-r--r-- 1 root root 954 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-cf-files --rw-r--r-- 1 root root 805 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-docs --rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server --rw-r--r-- 1 root root 839 2009-05-30 01:47 ./source/x/x11/slack-desc/xorg-server-xephyr --rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./source/x/x11/slack-desc/xorg-server-xnest --rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server-xvfb --rw-r--r-- 1 root root 1140 2012-04-08 04:44 ./source/x/x11/slack-desc/xorg-sgml-doctools --rw-r--r-- 1 root root 664 2012-04-08 00:58 ./source/x/x11/slack-desc/xpr --rw-r--r-- 1 root root 766 2012-04-08 04:45 ./source/x/x11/slack-desc/xprop --rw-r--r-- 1 root root 776 2012-04-08 04:45 ./source/x/x11/slack-desc/xproto --rw-r--r-- 1 root root 1009 2013-08-20 22:30 ./source/x/x11/slack-desc/xproxymanagementprotocol --rw-r--r-- 1 root root 625 2012-04-08 04:46 ./source/x/x11/slack-desc/xpyb --rw-r--r-- 1 root root 658 2012-04-08 04:46 ./source/x/x11/slack-desc/xrandr --rw-r--r-- 1 root root 736 2012-04-08 04:46 ./source/x/x11/slack-desc/xrdb --rw-r--r-- 1 root root 792 2012-04-08 04:46 ./source/x/x11/slack-desc/xrefresh --rw-r--r-- 1 root root 773 2012-04-08 04:46 ./source/x/x11/slack-desc/xscope --rw-r--r-- 1 root root 681 2012-04-08 01:01 ./source/x/x11/slack-desc/xset --rw-r--r-- 1 root root 801 2012-04-08 04:47 ./source/x/x11/slack-desc/xsetroot --rw-r--r-- 1 root root 707 2012-04-08 04:47 ./source/x/x11/slack-desc/xsm --rw-r--r-- 1 root root 881 2012-04-08 04:47 ./source/x/x11/slack-desc/xstdcmap --rw-r--r-- 1 root root 849 2012-04-08 04:47 ./source/x/x11/slack-desc/xtrans --rw-r--r-- 1 root root 694 2012-04-08 04:48 ./source/x/x11/slack-desc/xvidtune --rw-r--r-- 1 root root 710 2012-04-08 03:25 ./source/x/x11/slack-desc/xvinfo --rw-r--r-- 1 root root 716 2012-04-08 02:21 ./source/x/x11/slack-desc/xwd --rw-r--r-- 1 root root 702 2012-04-08 02:21 ./source/x/x11/slack-desc/xwininfo --rw-r--r-- 1 root root 668 2012-04-07 23:42 ./source/x/x11/slack-desc/xwud -drwxr-xr-x 12 root root 4096 2016-06-04 17:35 ./source/x/x11/src -drwxr-xr-x 2 root root 4096 2016-02-29 20:41 ./source/x/x11/src/app --rw-r--r-- 1 root root 109176 2013-05-18 00:40 ./source/x/x11/src/app/appres-1.0.4.tar.xz --rw-r--r-- 1 root root 114520 2014-12-30 23:16 ./source/x/x11/src/app/bdftopcf-1.0.5.tar.xz --rw-r--r-- 1 root root 109956 2013-01-15 05:23 ./source/x/x11/src/app/beforelight-1.0.5.tar.xz --rw-r--r-- 1 root root 156176 2015-01-17 06:01 ./source/x/x11/src/app/bitmap-1.0.8.tar.xz --rw-r--r-- 1 root root 942584 2011-03-30 09:42 ./source/x/x11/src/app/compiz-0.8.8.tar.xz --rw-r--r-- 1 root root 145944 2013-01-13 00:06 ./source/x/x11/src/app/editres-1.0.6.tar.xz --rw-r--r-- 1 root root 98084 2008-05-10 22:53 ./source/x/x11/src/app/fonttosfnt-1.0.4.tar.xz --rw-r--r-- 1 root root 116372 2014-12-31 04:49 ./source/x/x11/src/app/fslsfonts-1.0.5.tar.xz --rw-r--r-- 1 root root 117176 2014-12-31 04:58 ./source/x/x11/src/app/fstobdf-1.0.6.tar.xz --rw-r--r-- 1 root root 125084 2015-01-17 06:13 ./source/x/x11/src/app/iceauth-1.0.7.tar.xz --rw-r--r-- 1 root root 117304 2013-01-16 02:21 ./source/x/x11/src/app/ico-1.0.4.tar.xz --rw-r--r-- 1 root root 1185316 2015-02-11 12:27 ./source/x/x11/src/app/intel-gpu-tools-1.9.tar.xz --rw-r--r-- 1 root root 106644 2012-03-01 03:35 ./source/x/x11/src/app/listres-1.0.3.tar.xz --rw-r--r-- 1 root root 128468 2012-03-23 04:25 ./source/x/x11/src/app/luit-1.1.1.tar.xz --rw-r--r-- 1 root root 90748 2009-10-13 20:33 ./source/x/x11/src/app/mkcomposecache-1.2.1.tar.xz --rw-r--r-- 1 root root 100044 2012-02-11 03:59 ./source/x/x11/src/app/mkfontdir-1.0.7.tar.xz --rw-r--r-- 1 root root 131188 2015-01-17 07:43 ./source/x/x11/src/app/mkfontscale-1.1.2.tar.xz --rw-r--r-- 1 root root 113356 2012-02-11 05:27 ./source/x/x11/src/app/oclock-1.0.3.tar.xz --rw-r--r-- 1 root root 133004 2015-06-11 08:25 ./source/x/x11/src/app/rendercheck-1.5.tar.xz --rw-r--r-- 1 root root 126684 2014-11-08 19:37 ./source/x/x11/src/app/rgb-1.0.6.tar.xz --rw-r--r-- 1 root root 124584 2015-01-20 05:02 ./source/x/x11/src/app/sessreg-1.1.0.tar.xz --rw-r--r-- 1 root root 124192 2015-04-17 05:30 ./source/x/x11/src/app/setxkbmap-1.3.1.tar.xz --rw-r--r-- 1 root root 116180 2014-12-31 05:11 ./source/x/x11/src/app/showfont-1.0.5.tar.xz --rw-r--r-- 1 root root 122464 2015-04-17 05:33 ./source/x/x11/src/app/smproxy-1.0.6.tar.xz --rw-r--r-- 1 root root 112036 2013-05-18 00:49 ./source/x/x11/src/app/transset-1.0.1.tar.xz --rw-r--r-- 1 root root 254668 2015-04-17 05:38 ./source/x/x11/src/app/twm-1.0.9.tar.xz --rw-r--r-- 1 root root 116556 2013-01-13 00:21 ./source/x/x11/src/app/viewres-1.0.4.tar.xz --rw-r--r-- 1 root root 167588 2015-04-17 05:43 ./source/x/x11/src/app/x11perf-1.6.0.tar.xz --rw-r--r-- 1 root root 142612 2014-04-02 18:27 ./source/x/x11/src/app/xauth-1.0.9.tar.xz --rw-r--r-- 1 root root 109304 2013-10-08 03:46 ./source/x/x11/src/app/xbacklight-1.2.1.tar.xz --rw-r--r-- 1 root root 107328 2011-01-25 20:45 ./source/x/x11/src/app/xbiff-1.0.3.tar.xz --rw-r--r-- 1 root root 131172 2015-01-20 05:28 ./source/x/x11/src/app/xcalc-1.0.6.tar.xz --rw-r--r-- 1 root root 121916 2013-09-06 06:23 ./source/x/x11/src/app/xclipboard-1.1.3.tar.xz --rw-r--r-- 1 root root 149700 2013-09-08 06:37 ./source/x/x11/src/app/xclock-1.0.7.tar.xz --rw-r--r-- 1 root root 203320 2013-01-05 13:35 ./source/x/x11/src/app/xcm-0.5.2.tar.xz --rw-r--r-- 1 root root 130232 2015-04-17 05:53 ./source/x/x11/src/app/xcmsdb-1.0.5.tar.xz --rw-r--r-- 1 root root 126964 2015-04-17 05:57 ./source/x/x11/src/app/xcompmgr-1.1.7.tar.xz --rw-r--r-- 1 root root 122332 2013-07-19 04:33 ./source/x/x11/src/app/xconsole-1.0.6.tar.xz --rw-r--r-- 1 root root 115284 2014-05-31 23:35 ./source/x/x11/src/app/xcursorgen-1.0.6.tar.xz --rw-r--r-- 1 root root 102156 2010-10-31 17:10 ./source/x/x11/src/app/xdbedizzy-1.1.0.tar.xz --rw-r--r-- 1 root root 136580 2015-04-17 06:08 ./source/x/x11/src/app/xditview-1.0.4.tar.xz --rw-r--r-- 1 root root 381740 2011-09-25 07:43 ./source/x/x11/src/app/xdm-1.1.11.tar.xz --rw-r--r-- 1 root root 130524 2015-04-17 06:02 ./source/x/x11/src/app/xdpyinfo-1.3.2.tar.xz --rw-r--r-- 1 root root 112776 2015-04-17 06:05 ./source/x/x11/src/app/xdriinfo-1.0.5.tar.xz --rw-r--r-- 1 root root 473760 2015-02-21 21:49 ./source/x/x11/src/app/xedit-1.2.2.tar.xz --rw-r--r-- 1 root root 122528 2015-04-17 06:12 ./source/x/x11/src/app/xev-1.2.2.tar.xz --rw-r--r-- 1 root root 105108 2010-11-25 07:30 ./source/x/x11/src/app/xeyes-1.1.1.tar.xz --rw-r--r-- 1 root root 97320 2010-10-31 18:20 ./source/x/x11/src/app/xf86dga-1.0.3.tar.xz --rw-r--r-- 1 root root 126768 2013-07-17 06:03 ./source/x/x11/src/app/xfd-1.1.2.tar.xz --rw-r--r-- 1 root root 128268 2013-05-18 01:02 ./source/x/x11/src/app/xfontsel-1.0.5.tar.xz --rw-r--r-- 1 root root 207060 2014-08-22 05:40 ./source/x/x11/src/app/xfs-1.1.4.tar.xz --rw-r--r-- 1 root root 113740 2014-12-31 05:06 ./source/x/x11/src/app/xfsinfo-1.0.5.tar.xz --rw-r--r-- 1 root root 113744 2015-04-17 06:20 ./source/x/x11/src/app/xgamma-1.0.6.tar.xz --rw-r--r-- 1 root root 171024 2015-04-17 06:26 ./source/x/x11/src/app/xgc-1.0.5.tar.xz --rw-r--r-- 1 root root 125428 2015-04-17 06:29 ./source/x/x11/src/app/xhost-1.0.7.tar.xz --rw-r--r-- 1 root root 151836 2014-09-11 17:33 ./source/x/x11/src/app/xinit-1.3.4.tar.xz --rw-r--r-- 1 root root 146860 2015-10-19 21:36 ./source/x/x11/src/app/xinput-1.6.2.tar.xz --rw-r--r-- 1 root root 225652 2014-11-20 22:21 ./source/x/x11/src/app/xkbcomp-1.3.0.tar.xz --rw-r--r-- 1 root root 141024 2015-04-17 06:39 ./source/x/x11/src/app/xkbevd-1.1.4.tar.xz --rw-r--r-- 1 root root 150312 2015-04-17 06:44 ./source/x/x11/src/app/xkbprint-1.0.4.tar.xz --rw-r--r-- 1 root root 120732 2013-02-10 23:48 ./source/x/x11/src/app/xkbutils-1.0.4.tar.xz --rw-r--r-- 1 root root 115800 2013-09-08 16:52 ./source/x/x11/src/app/xkill-1.0.4.tar.xz --rw-r--r-- 1 root root 126428 2013-08-04 04:44 ./source/x/x11/src/app/xload-1.1.2.tar.xz --rw-r--r-- 1 root root 115664 2012-03-23 05:58 ./source/x/x11/src/app/xlogo-1.0.4.tar.xz --rw-r--r-- 1 root root 113896 2015-04-17 06:50 ./source/x/x11/src/app/xlsatoms-1.1.2.tar.xz --rw-r--r-- 1 root root 117488 2013-09-08 16:58 ./source/x/x11/src/app/xlsclients-1.1.3.tar.xz --rw-r--r-- 1 root root 121124 2015-04-17 06:53 ./source/x/x11/src/app/xlsfonts-1.0.5.tar.xz --rw-r--r-- 1 root root 131748 2015-04-17 06:56 ./source/x/x11/src/app/xmag-1.0.6.tar.xz --rw-r--r-- 1 root root 170752 2015-03-07 03:08 ./source/x/x11/src/app/xman-1.1.4.tar.xz --rw-r--r-- 1 root root 115576 2013-01-13 06:24 ./source/x/x11/src/app/xmessage-1.0.4.tar.xz --rw-r--r-- 1 root root 189652 2015-04-17 07:03 ./source/x/x11/src/app/xmh-1.0.3.tar.xz --rw-r--r-- 1 root root 132472 2015-04-17 07:09 ./source/x/x11/src/app/xmodmap-1.0.9.tar.xz --rw-r--r-- 1 root root 99592 2010-07-23 22:53 ./source/x/x11/src/app/xmore-1.0.2.tar.xz --rw-r--r-- 1 root root 131204 2012-03-31 23:58 ./source/x/x11/src/app/xpr-1.0.4.tar.xz --rw-r--r-- 1 root root 134476 2013-08-09 03:06 ./source/x/x11/src/app/xprop-1.2.2.tar.xz --rw-r--r-- 1 root root 167084 2016-02-23 18:31 ./source/x/x11/src/app/xrandr-1.5.0.tar.xz --rw-r--r-- 1 root root 127736 2013-09-08 17:21 ./source/x/x11/src/app/xrdb-1.1.0.tar.xz --rw-r--r-- 1 root root 111288 2013-05-18 01:21 ./source/x/x11/src/app/xrefresh-1.0.5.tar.xz --rw-r--r-- 1 root root 193928 2014-06-07 02:07 ./source/x/x11/src/app/xscope-1.4.1.tar.xz --rw-r--r-- 1 root root 131108 2013-08-09 03:45 ./source/x/x11/src/app/xset-1.2.3.tar.xz --rw-r--r-- 1 root root 110928 2013-01-23 07:04 ./source/x/x11/src/app/xsetroot-1.1.1.tar.xz --rw-r--r-- 1 root root 147368 2013-02-10 23:57 ./source/x/x11/src/app/xsm-1.0.3.tar.xz --rw-r--r-- 1 root root 108580 2013-02-11 00:16 ./source/x/x11/src/app/xstdcmap-1.0.3.tar.xz --rw-r--r-- 1 root root 118284 2013-01-14 21:52 ./source/x/x11/src/app/xvidtune-1.0.3.tar.xz --rw-r--r-- 1 root root 114512 2015-05-01 06:05 ./source/x/x11/src/app/xvinfo-1.1.3.tar.xz --rw-r--r-- 1 root root 133028 2013-08-09 04:17 ./source/x/x11/src/app/xwd-1.0.6.tar.xz --rw-r--r-- 1 root root 146048 2013-05-18 04:07 ./source/x/x11/src/app/xwininfo-1.1.3.tar.xz --rw-r--r-- 1 root root 114396 2012-04-01 00:07 ./source/x/x11/src/app/xwud-1.0.4.tar.xz -drwxr-xr-x 2 root root 4096 2016-03-26 18:51 ./source/x/x11/src/data --rw-r--r-- 1 root root 107168 2010-12-09 06:29 ./source/x/x11/src/data/xbitmaps-1.1.1.tar.xz --rw-r--r-- 1 root root 1496584 2013-07-17 06:39 ./source/x/x11/src/data/xcursor-themes-1.0.4.tar.xz --rw-r--r-- 1 root root 781212 2016-01-26 21:03 ./source/x/x11/src/data/xkeyboard-config-2.17.tar.xz -drwxr-xr-x 2 root root 4096 2015-05-04 05:55 ./source/x/x11/src/doc --rw-r--r-- 1 root root 333452 2015-05-01 06:18 ./source/x/x11/src/doc/xorg-docs-1.7.1.tar.xz --rw-r--r-- 1 root root 110976 2012-06-06 02:42 ./source/x/x11/src/doc/xorg-sgml-doctools-1.11.tar.xz -drwxr-xr-x 2 root root 4096 2016-06-09 17:18 ./source/x/x11/src/driver --rw-r--r-- 1 root root 236544 2011-05-04 23:02 ./source/x/x11/src/driver/xf86-input-acecad-1.5.0.tar.xz --rw-r--r-- 1 root root 245724 2011-06-29 00:29 ./source/x/x11/src/driver/xf86-input-aiptek-1.4.1.tar.xz --rw-r--r-- 1 root root 342276 2016-06-01 01:42 ./source/x/x11/src/driver/xf86-input-evdev-2.10.3.tar.xz --rw-r--r-- 1 root root 268272 2012-03-11 11:05 ./source/x/x11/src/driver/xf86-input-joystick-1.6.1.tar.xz --rw-r--r-- 1 root root 277892 2015-04-06 23:25 ./source/x/x11/src/driver/xf86-input-keyboard-1.8.1.tar.xz --rw-r--r-- 1 root root 304180 2014-08-12 06:39 ./source/x/x11/src/driver/xf86-input-mouse-1.9.1.tar.xz --rw-r--r-- 1 root root 229120 2011-06-28 00:52 ./source/x/x11/src/driver/xf86-input-penmount-1.5.0.tar.xz --rw-r--r-- 1 root root 412108 2015-11-01 21:54 ./source/x/x11/src/driver/xf86-input-synaptics-1.8.3.tar.xz --rw-r--r-- 1 root root 258876 2015-06-25 10:30 ./source/x/x11/src/driver/xf86-input-vmmouse-13.1.0.tar.xz --rw-r--r-- 1 root root 225388 2011-05-05 03:46 ./source/x/x11/src/driver/xf86-input-void-1.4.0.tar.xz --rw-r--r-- 1 root root 539828 2016-05-13 23:12 ./source/x/x11/src/driver/xf86-input-wacom-0.33.0.tar.xz --rw-r--r-- 1 root root 322312 2016-04-07 09:41 ./source/x/x11/src/driver/xf86-video-amdgpu-1.1.0.tar.xz --rw-r--r-- 1 root root 271192 2012-07-17 06:16 ./source/x/x11/src/driver/xf86-video-apm-1.2.5.tar.xz --rw-r--r-- 1 root root 240392 2012-07-17 06:17 ./source/x/x11/src/driver/xf86-video-ark-0.7.5.tar.xz --rw-r--r-- 1 root root 295864 2015-08-19 01:37 ./source/x/x11/src/driver/xf86-video-ast-1.1.5.tar.xz --rw-r--r-- 1 root root 705996 2016-04-07 02:51 ./source/x/x11/src/driver/xf86-video-ati-7.7.0.tar.xz --rw-r--r-- 1 root root 345468 2015-09-26 16:32 ./source/x/x11/src/driver/xf86-video-chips-1.2.6.tar.xz --rw-r--r-- 1 root root 281712 2015-05-06 21:03 ./source/x/x11/src/driver/xf86-video-cirrus-1.5.3.tar.xz --rw-r--r-- 1 root root 237680 2013-09-09 19:02 ./source/x/x11/src/driver/xf86-video-dummy-0.3.7.tar.xz --rw-r--r-- 1 root root 571044 2016-02-03 19:20 ./source/x/x11/src/driver/xf86-video-geode-2.11.18.tar.xz --rw-r--r-- 1 root root 323416 2012-07-17 06:20 ./source/x/x11/src/driver/xf86-video-glint-1.2.8.tar.xz --rw-r--r-- 1 root root 269224 2012-07-17 06:21 ./source/x/x11/src/driver/xf86-video-i128-1.3.6.tar.xz --rw-r--r-- 1 root root 266212 2015-02-21 20:40 ./source/x/x11/src/driver/xf86-video-i740-1.3.5.tar.xz --rw-r--r-- 1 root root 947008 2016-06-09 07:19 ./source/x/x11/src/driver/xf86-video-intel-git_20160601_b617f80.tar.xz --rw-r--r-- 1 root root 469408 2015-05-04 19:58 ./source/x/x11/src/driver/xf86-video-mach64-6.9.5.tar.xz --rw-r--r-- 1 root root 394412 2015-02-19 21:45 ./source/x/x11/src/driver/xf86-video-mga-1.6.4.tar.xz --rw-r--r-- 1 root root 252904 2014-06-26 08:38 ./source/x/x11/src/driver/xf86-video-modesetting-0.9.0.tar.xz --rw-r--r-- 1 root root 280576 2015-05-08 09:52 ./source/x/x11/src/driver/xf86-video-neomagic-1.2.9.tar.xz --rw-r--r-- 1 root root 523320 2015-12-10 02:24 ./source/x/x11/src/driver/xf86-video-nouveau-1.0.12.tar.xz --rw-r--r-- 1 root root 328120 2012-07-17 06:50 ./source/x/x11/src/driver/xf86-video-nv-2.1.20.tar.xz --rw-r--r-- 1 root root 267328 2015-10-08 18:50 ./source/x/x11/src/driver/xf86-video-omap-0.4.4.tar.xz --rw-r--r-- 1 root root 440788 2016-04-12 12:50 ./source/x/x11/src/driver/xf86-video-openchrome-0.4.0.tar.xz --rw-r--r-- 1 root root 430204 2016-01-22 03:45 ./source/x/x11/src/driver/xf86-video-r128-6.10.1.tar.xz --rw-r--r-- 1 root root 310076 2015-11-11 17:05 ./source/x/x11/src/driver/xf86-video-rendition-4.2.6.tar.xz --rw-r--r-- 1 root root 270588 2012-07-17 06:26 ./source/x/x11/src/driver/xf86-video-s3-0.6.5.tar.xz --rw-r--r-- 1 root root 310152 2015-09-26 16:32 ./source/x/x11/src/driver/xf86-video-s3virge-1.10.7.tar.xz --rw-r--r-- 1 root root 345380 2015-05-08 10:14 ./source/x/x11/src/driver/xf86-video-savage-2.3.8.tar.xz --rw-r--r-- 1 root root 328668 2015-05-09 14:59 ./source/x/x11/src/driver/xf86-video-siliconmotion-1.7.8.tar.xz --rw-r--r-- 1 root root 603996 2015-08-29 23:42 ./source/x/x11/src/driver/xf86-video-sis-0.10.8.tar.xz --rw-r--r-- 1 root root 315000 2012-07-17 06:30 ./source/x/x11/src/driver/xf86-video-sisusb-0.9.6.tar.xz --rw-r--r-- 1 root root 298360 2015-02-22 21:28 ./source/x/x11/src/driver/xf86-video-tdfx-1.4.6.tar.xz --rw-r--r-- 1 root root 265952 2012-07-17 06:31 ./source/x/x11/src/driver/xf86-video-tga-1.2.2.tar.xz --rw-r--r-- 1 root root 308520 2015-03-30 17:13 ./source/x/x11/src/driver/xf86-video-trident-1.3.7.tar.xz --rw-r--r-- 1 root root 277748 2012-07-17 06:33 ./source/x/x11/src/driver/xf86-video-tseng-1.2.5.tar.xz --rw-r--r-- 1 root root 183872 2008-03-19 20:58 ./source/x/x11/src/driver/xf86-video-v4l-0.2.0.tar.xz --rw-r--r-- 1 root root 254884 2015-06-16 16:00 ./source/x/x11/src/driver/xf86-video-vesa-2.3.4.tar.xz --rw-r--r-- 1 root root 377148 2015-01-19 13:07 ./source/x/x11/src/driver/xf86-video-vmware-13.1.0.tar.xz --rw-r--r-- 1 root root 252404 2012-07-17 06:34 ./source/x/x11/src/driver/xf86-video-voodoo-1.2.5.tar.xz --rw-r--r-- 1 root root 466268 2015-08-21 15:35 ./source/x/x11/src/driver/xf86-video-xgi-1.6.1.tar.xz --rw-r--r-- 1 root root 338112 2012-07-17 06:35 ./source/x/x11/src/driver/xf86-video-xgixp-1.8.1.tar.xz -drwxr-xr-x 2 root root 4096 2015-03-15 21:33 ./source/x/x11/src/font --rw-r--r-- 1 root root 291832 2010-10-30 03:55 ./source/x/x11/src/font/encodings-1.0.4.tar.xz --rw-r--r-- 1 root root 945192 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-100dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 796356 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-75dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 296996 2010-11-14 23:59 ./source/x/x11/src/font/font-adobe-utopia-100dpi-1.0.4.tar.xz --rw-r--r-- 1 root root 247800 2010-11-15 00:02 ./source/x/x11/src/font/font-adobe-utopia-75dpi-1.0.4.tar.xz --rw-r--r-- 1 root root 263520 2010-11-15 00:05 ./source/x/x11/src/font/font-adobe-utopia-type1-1.0.4.tar.xz --rw-r--r-- 1 root root 92712 2010-10-05 06:16 ./source/x/x11/src/font/font-alias-1.0.3.tar.xz --rw-r--r-- 1 root root 101872 2010-11-15 19:55 ./source/x/x11/src/font/font-arabic-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 589148 2010-11-15 20:01 ./source/x/x11/src/font/font-bh-100dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 489900 2010-11-15 20:06 ./source/x/x11/src/font/font-bh-75dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 216368 2010-11-15 20:11 ./source/x/x11/src/font/font-bh-lucidatypewriter-100dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 193720 2010-11-15 20:16 ./source/x/x11/src/font/font-bh-lucidatypewriter-75dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 367740 2010-11-11 05:26 ./source/x/x11/src/font/font-bh-ttf-1.0.3.tar.xz --rw-r--r-- 1 root root 628208 2010-11-15 20:36 ./source/x/x11/src/font/font-bh-type1-1.0.3.tar.xz --rw-r--r-- 1 root root 172716 2010-11-15 20:39 ./source/x/x11/src/font/font-bitstream-100dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 155516 2010-11-15 20:46 ./source/x/x11/src/font/font-bitstream-75dpi-1.0.3.tar.xz --rw-r--r-- 1 root root 329196 2010-11-15 20:53 ./source/x/x11/src/font/font-bitstream-speedo-1.0.2.tar.xz --rw-r--r-- 1 root root 390700 2010-11-15 20:56 ./source/x/x11/src/font/font-bitstream-type1-1.0.3.tar.xz --rw-r--r-- 1 root root 236644 2010-11-15 21:06 ./source/x/x11/src/font/font-cronyx-cyrillic-1.0.3.tar.xz --rw-r--r-- 1 root root 94716 2010-11-15 21:14 ./source/x/x11/src/font/font-cursor-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 508312 2010-11-15 21:20 ./source/x/x11/src/font/font-daewoo-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 92740 2010-11-15 21:25 ./source/x/x11/src/font/font-dec-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 374360 2010-11-15 21:33 ./source/x/x11/src/font/font-ibm-type1-1.0.3.tar.xz --rw-r--r-- 1 root root 719756 2010-11-15 22:21 ./source/x/x11/src/font/font-isas-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 517868 2010-11-15 22:34 ./source/x/x11/src/font/font-jis-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 91408 2010-11-15 22:38 ./source/x/x11/src/font/font-micro-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 121968 2010-11-15 22:42 ./source/x/x11/src/font/font-misc-cyrillic-1.0.3.tar.xz --rw-r--r-- 1 root root 218584 2010-11-15 22:46 ./source/x/x11/src/font/font-misc-ethiopic-1.0.3.tar.xz --rw-r--r-- 1 root root 828248 2010-11-15 22:52 ./source/x/x11/src/font/font-misc-meltho-1.0.3.tar.xz --rw-r--r-- 1 root root 1423336 2010-11-15 23:06 ./source/x/x11/src/font/font-misc-misc-1.1.2.tar.xz --rw-r--r-- 1 root root 217292 2010-11-15 23:09 ./source/x/x11/src/font/font-mutt-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 128096 2010-11-15 23:12 ./source/x/x11/src/font/font-schumacher-misc-1.1.2.tar.xz --rw-r--r-- 1 root root 95876 2010-11-15 23:14 ./source/x/x11/src/font/font-screen-cyrillic-1.0.4.tar.xz --rw-r--r-- 1 root root 99540 2010-11-15 23:18 ./source/x/x11/src/font/font-sony-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 106568 2010-11-15 23:20 ./source/x/x11/src/font/font-sun-misc-1.0.3.tar.xz --rw-r--r-- 1 root root 136416 2015-03-14 16:01 ./source/x/x11/src/font/font-util-1.3.1.tar.xz --rw-r--r-- 1 root root 93740 2010-11-15 23:21 ./source/x/x11/src/font/font-winitzki-cyrillic-1.0.3.tar.xz --rw-r--r-- 1 root root 117928 2010-11-15 23:23 ./source/x/x11/src/font/font-xfree86-type1-1.0.4.tar.xz --rwxr-xr-x 1 root root 2052 2016-04-13 17:16 ./source/x/x11/src/get-xf86-video-intel.sh --rwxr-xr-x 1 root root 2080 2016-04-13 17:16 ./source/x/x11/src/get-xf86-video-nouveau.sh --rwxr-xr-x 1 root root 2125 2016-04-13 17:16 ./source/x/x11/src/get-xf86-video-openchrome.sh -drwxr-xr-x 2 root root 4096 2016-05-26 22:49 ./source/x/x11/src/lib --rw-r--r-- 1 root root 266224 2015-05-01 04:35 ./source/x/x11/src/lib/libFS-1.0.7.tar.xz --rw-r--r-- 1 root root 309088 2014-06-07 01:31 ./source/x/x11/src/lib/libICE-1.0.9.tar.xz --rw-r--r-- 1 root root 283276 2013-09-08 06:08 ./source/x/x11/src/lib/libSM-1.2.2.tar.xz --rw-r--r-- 1 root root 1751652 2015-03-09 22:48 ./source/x/x11/src/lib/libX11-1.6.3.tar.xz --rw-r--r-- 1 root root 235904 2012-03-08 05:08 ./source/x/x11/src/lib/libXScrnSaver-1.2.2.tar.xz --rw-r--r-- 1 root root 247936 2013-05-24 22:18 ./source/x/x11/src/lib/libXau-1.0.8.tar.xz --rw-r--r-- 1 root root 565164 2015-05-01 05:18 ./source/x/x11/src/lib/libXaw-1.0.13.tar.xz --rw-r--r-- 1 root root 454428 2012-03-29 22:44 ./source/x/x11/src/lib/libXaw3d-1.6.2.tar.xz --rw-r--r-- 1 root root 250328 2013-01-04 09:14 ./source/x/x11/src/lib/libXcm-0.5.2.tar.xz --rw-r--r-- 1 root root 239876 2013-01-03 07:30 ./source/x/x11/src/lib/libXcomposite-0.4.4.tar.xz --rw-r--r-- 1 root root 254664 2013-05-30 06:25 ./source/x/x11/src/lib/libXcursor-1.1.14.tar.xz --rw-r--r-- 1 root root 231332 2013-01-03 05:46 ./source/x/x11/src/lib/libXdamage-1.1.4.tar.xz --rw-r--r-- 1 root root 274516 2015-03-21 17:02 ./source/x/x11/src/lib/libXdmcp-1.1.2.tar.xz --rw-r--r-- 1 root root 212200 2010-10-31 16:46 ./source/x/x11/src/lib/libXevie-1.0.3.tar.xz --rw-r--r-- 1 root root 314576 2014-07-24 01:41 ./source/x/x11/src/lib/libXext-1.3.3.tar.xz --rw-r--r-- 1 root root 255828 2016-05-26 01:54 ./source/x/x11/src/lib/libXfixes-5.0.2.tar.xz --rw-r--r-- 1 root root 416988 2015-03-17 15:31 ./source/x/x11/src/lib/libXfont-1.5.1.tar.xz --rw-r--r-- 1 root root 189140 2009-10-13 20:47 ./source/x/x11/src/lib/libXfontcache-1.0.5.tar.xz --rw-r--r-- 1 root root 275024 2014-06-06 06:06 ./source/x/x11/src/lib/libXft-2.3.2.tar.xz --rw-r--r-- 1 root root 394988 2015-12-22 01:21 ./source/x/x11/src/lib/libXi-1.7.6.tar.xz --rw-r--r-- 1 root root 236468 2013-05-31 00:36 ./source/x/x11/src/lib/libXinerama-1.1.3.tar.xz --rw-r--r-- 1 root root 322344 2013-09-08 04:30 ./source/x/x11/src/lib/libXmu-1.1.2.tar.xz --rw-r--r-- 1 root root 259376 2015-02-21 22:05 ./source/x/x11/src/lib/libXp-1.0.3.tar.xz --rw-r--r-- 1 root root 362444 2013-09-08 04:44 ./source/x/x11/src/lib/libXpm-3.5.11.tar.xz --rw-r--r-- 1 root root 235464 2015-04-17 18:42 ./source/x/x11/src/lib/libXpresent-1.0.0.tar.xz --rw-r--r-- 1 root root 259296 2015-05-17 04:50 ./source/x/x11/src/lib/libXrandr-1.5.0.tar.xz --rw-r--r-- 1 root root 253880 2015-05-01 05:31 ./source/x/x11/src/lib/libXrender-0.9.9.tar.xz --rw-r--r-- 1 root root 235312 2013-05-31 00:54 ./source/x/x11/src/lib/libXres-1.0.7.tar.xz --rw-r--r-- 1 root root 646820 2015-05-01 05:40 ./source/x/x11/src/lib/libXt-1.1.5.tar.xz --rw-r--r-- 1 root root 261976 2013-05-31 02:11 ./source/x/x11/src/lib/libXtst-1.2.2.tar.xz --rw-r--r-- 1 root root 255508 2013-09-08 05:24 ./source/x/x11/src/lib/libXv-1.0.10.tar.xz --rw-r--r-- 1 root root 254468 2015-03-14 17:10 ./source/x/x11/src/lib/libXvMC-1.0.9.tar.xz --rw-r--r-- 1 root root 244736 2013-05-31 01:37 ./source/x/x11/src/lib/libXxf86dga-1.1.4.tar.xz --rw-r--r-- 1 root root 212836 2010-11-21 21:49 ./source/x/x11/src/lib/libXxf86misc-1.0.3.tar.xz --rw-r--r-- 1 root root 244964 2015-02-24 07:04 ./source/x/x11/src/lib/libXxf86vm-1.1.4.tar.xz --rw-r--r-- 1 root root 242436 2013-05-28 23:48 ./source/x/x11/src/lib/libdmx-1.1.3.tar.xz --rw-r--r-- 1 root root 249424 2015-05-01 04:42 ./source/x/x11/src/lib/libfontenc-1.1.3.tar.xz --rw-r--r-- 1 root root 297020 2015-05-01 04:47 ./source/x/x11/src/lib/libpciaccess-0.13.4.tar.xz --rw-r--r-- 1 root root 288036 2015-05-01 05:27 ./source/x/x11/src/lib/libxkbfile-1.0.9.tar.xz --rw-r--r-- 1 root root 237476 2015-01-02 18:46 ./source/x/x11/src/lib/libxshmfence-1.2.tar.xz --rw-r--r-- 1 root root 611464 2016-01-31 14:43 ./source/x/x11/src/lib/pixman-0.34.0.tar.xz --rw-r--r-- 1 root root 167348 2014-09-22 20:43 ./source/x/x11/src/lib/xtrans-1.3.5.tar.xz -drwxr-xr-x 2 root root 4096 2016-05-26 22:48 ./source/x/x11/src/proto --rw-r--r-- 1 root root 104916 2012-03-23 04:00 ./source/x/x11/src/proto/bigreqsproto-1.1.2.tar.xz --rw-r--r-- 1 root root 94356 2010-10-30 03:29 ./source/x/x11/src/proto/compositeproto-0.4.2.tar.xz --rw-r--r-- 1 root root 91724 2010-10-30 03:37 ./source/x/x11/src/proto/damageproto-1.2.1.tar.xz --rw-r--r-- 1 root root 89776 2011-01-06 01:39 ./source/x/x11/src/proto/dmxproto-2.3.1.tar.xz --rw-r--r-- 1 root root 100984 2012-07-11 23:07 ./source/x/x11/src/proto/dri2proto-2.8.tar.xz --rw-r--r-- 1 root root 98372 2013-11-01 01:08 ./source/x/x11/src/proto/dri3proto-1.0.tar.xz --rw-r--r-- 1 root root 88412 2011-01-06 02:06 ./source/x/x11/src/proto/evieext-1.1.1.tar.xz --rw-r--r-- 1 root root 93728 2011-03-08 16:19 ./source/x/x11/src/proto/fixesproto-5.0.tar.xz --rw-r--r-- 1 root root 78004 2009-10-13 20:53 ./source/x/x11/src/proto/fontcacheproto-0.1.3.tar.xz --rw-r--r-- 1 root root 142728 2014-04-14 17:40 ./source/x/x11/src/proto/fontsproto-2.1.3.tar.xz --rw-r--r-- 1 root root 117712 2013-12-10 15:08 ./source/x/x11/src/proto/glproto-1.4.17.tar.xz --rw-r--r-- 1 root root 185524 2016-04-04 02:32 ./source/x/x11/src/proto/inputproto-2.3.2.tar.xz --rw-r--r-- 1 root root 231492 2015-05-01 05:51 ./source/x/x11/src/proto/kbproto-1.0.7.tar.xz --rw-r--r-- 1 root root 101168 2013-11-01 01:05 ./source/x/x11/src/proto/presentproto-1.0.tar.xz --rw-r--r-- 1 root root 191432 2011-01-06 02:33 ./source/x/x11/src/proto/printproto-1.0.5.tar.xz --rw-r--r-- 1 root root 132864 2015-05-17 04:32 ./source/x/x11/src/proto/randrproto-1.5.0.tar.xz --rw-r--r-- 1 root root 114164 2012-03-23 04:00 ./source/x/x11/src/proto/recordproto-1.14.2.tar.xz --rw-r--r-- 1 root root 97920 2010-08-10 14:13 ./source/x/x11/src/proto/renderproto-0.11.1.tar.xz --rw-r--r-- 1 root root 96052 2011-05-28 04:32 ./source/x/x11/src/proto/resourceproto-1.2.0.tar.xz --rw-r--r-- 1 root root 110116 2012-03-23 04:00 ./source/x/x11/src/proto/scrnsaverproto-1.2.2.tar.xz --rw-r--r-- 1 root root 112500 2016-03-11 18:19 ./source/x/x11/src/proto/videoproto-2.3.3.tar.xz --rw-r--r-- 1 root root 104376 2012-03-23 04:01 ./source/x/x11/src/proto/xcmiscproto-1.2.2.tar.xz --rw-r--r-- 1 root root 211284 2013-12-27 18:17 ./source/x/x11/src/proto/xextproto-7.3.0.tar.xz --rw-r--r-- 1 root root 45976 2009-10-13 20:53 ./source/x/x11/src/proto/xf86bigfontproto-1.2.0.tar.xz --rw-r--r-- 1 root root 79572 2009-10-13 20:53 ./source/x/x11/src/proto/xf86dgaproto-2.1.tar.xz --rw-r--r-- 1 root root 89840 2011-01-06 03:57 ./source/x/x11/src/proto/xf86driproto-2.1.1.tar.xz --rw-r--r-- 1 root root 78424 2009-10-13 20:53 ./source/x/x11/src/proto/xf86miscproto-0.9.3.tar.xz --rw-r--r-- 1 root root 90148 2011-01-06 04:06 ./source/x/x11/src/proto/xf86vidmodeproto-2.3.1.tar.xz --rw-r--r-- 1 root root 89352 2011-01-06 04:21 ./source/x/x11/src/proto/xineramaproto-1.2.1.tar.xz --rw-r--r-- 1 root root 272496 2016-05-13 08:34 ./source/x/x11/src/proto/xproto-7.0.29.tar.xz -drwxr-xr-x 2 root root 4096 2015-12-23 20:06 ./source/x/x11/src/util --rw-r--r-- 1 root root 97488 2014-05-21 18:26 ./source/x/x11/src/util/gccmakedep-1.0.3.tar.xz --rw-r--r-- 1 root root 146672 2014-05-21 18:55 ./source/x/x11/src/util/imake-1.0.7.tar.xz --rw-r--r-- 1 root root 106664 2012-03-08 05:51 ./source/x/x11/src/util/lndir-1.0.3.tar.xz --rw-r--r-- 1 root root 133036 2013-07-23 05:15 ./source/x/x11/src/util/makedepend-1.0.5.tar.xz --rw-r--r-- 1 root root 77072 2014-03-27 13:21 ./source/x/x11/src/util/util-macros-1.19.0.tar.xz --rw-r--r-- 1 root root 298008 2015-12-22 01:29 ./source/x/x11/src/util/xorg-cf-files-1.0.6.tar.xz -drwxr-xr-x 2 root root 4096 2015-10-01 21:03 ./source/x/x11/src/xcb --rw-r--r-- 1 root root 185164 2009-10-14 09:16 ./source/x/x11/src/xcb/libpthread-stubs-0.3.tar.xz --rw-r--r-- 1 root root 357048 2015-09-06 10:48 ./source/x/x11/src/xcb/libxcb-1.11.1.tar.xz --rw-r--r-- 1 root root 134016 2014-08-01 13:49 ./source/x/x11/src/xcb/xcb-proto-1.11.tar.xz --rw-r--r-- 1 root root 247676 2014-10-15 05:34 ./source/x/x11/src/xcb/xcb-util-0.4.0.tar.xz --rw-r--r-- 1 root root 246156 2015-03-25 22:11 ./source/x/x11/src/xcb/xcb-util-cursor-0.1.2.tar.xz --rw-r--r-- 1 root root 251100 2015-04-26 14:14 ./source/x/x11/src/xcb/xcb-util-errors-1.0.tar.xz --rw-r--r-- 1 root root 271064 2014-10-15 04:11 ./source/x/x11/src/xcb/xcb-util-image-0.4.0.tar.xz --rw-r--r-- 1 root root 241520 2014-10-01 10:05 ./source/x/x11/src/xcb/xcb-util-keysyms-0.4.0.tar.xz --rw-r--r-- 1 root root 243560 2014-06-13 02:53 ./source/x/x11/src/xcb/xcb-util-renderutil-0.3.9.tar.xz --rw-r--r-- 1 root root 266716 2014-02-19 11:40 ./source/x/x11/src/xcb/xcb-util-wm-0.4.1.tar.xz --rw-r--r-- 1 root root 232228 2012-03-23 22:46 ./source/x/x11/src/xcb/xpyb-1.3.1.tar.xz --rw-r--r-- 1 root root 50 2016-05-25 21:06 ./source/x/x11/src/xf86-input-wacom.url -drwxr-xr-x 2 root root 4096 2016-04-06 00:53 ./source/x/x11/src/xserver --rw-r--r-- 1 root root 4696844 2016-04-04 19:48 ./source/x/x11/src/xserver/xorg-server-1.18.3.tar.xz --rwxr-xr-x 1 root root 13192 2015-08-19 06:04 ./source/x/x11/x11.SlackBuild -drwxr-xr-x 2 root root 4096 2014-05-13 04:30 ./source/x/xdg-user-dirs --rw-r--r-- 1 root root 281 2010-12-15 02:17 ./source/x/xdg-user-dirs/doinst.sh.gz --rw-r--r-- 1 root root 940 2011-02-01 06:53 ./source/x/xdg-user-dirs/slack-desc --rw-r--r-- 1 root root 174740 2013-06-27 08:53 ./source/x/xdg-user-dirs/xdg-user-dirs-0.15.tar.xz --rwxr-xr-x 1 root root 3470 2014-07-14 21:51 ./source/x/xdg-user-dirs/xdg-user-dirs.SlackBuild -drwxr-xr-x 2 root root 4096 2015-10-06 03:48 ./source/x/xdg-utils --rw-r--r-- 1 root root 1432 2011-01-20 23:46 ./source/x/xdg-utils/doinst.sh.gz --rw-r--r-- 1 root root 1010 2008-08-01 05:42 ./source/x/xdg-utils/slack-desc --rw-r--r-- 1 root root 268392 2015-10-05 19:05 ./source/x/xdg-utils/xdg-utils-1.1.1.tar.xz --rwxr-xr-x 1 root root 2679 2015-10-06 03:48 ./source/x/xdg-utils/xdg-utils.SlackBuild --rw-r--r-- 1 root root 94 2015-10-04 22:28 ./source/x/xdg-utils/xdg-utils.url -drwxr-xr-x 2 root root 4096 2016-06-13 01:44 ./source/x/xterm --rw-r--r-- 1 root root 172 2012-06-26 14:31 ./source/x/xterm/doinst.sh.gz --rw-r--r-- 1 root root 764 2007-02-11 23:54 ./source/x/xterm/slack-desc --rw-r--r-- 1 root root 862872 2016-06-05 22:28 ./source/x/xterm/xterm-325.tar.xz --rwxr-xr-x 1 root root 4074 2015-11-11 21:48 ./source/x/xterm/xterm.SlackBuild -drwxr-xr-x 48 root root 4096 2016-06-07 18:08 ./source/xap -drwxr-xr-x 2 root root 4096 2016-03-13 20:14 ./source/xap/MPlayer --rw-r--r-- 1 root root 222529 2015-09-12 17:47 ./source/xap/MPlayer/Blue-1.11.tar.bz2 --rw-r--r-- 1 root root 5234232 2016-01-25 01:47 ./source/xap/MPlayer/MPlayer-20160125.tar.xz --rwxr-xr-- 1 root root 18800 2016-05-23 20:28 ./source/xap/MPlayer/MPlayer.SlackBuild --rw-r--r-- 1 root root 163 2016-03-13 20:12 ./source/xap/MPlayer/MPlayer.demux_lavf.flac.diff.gz --rw-r--r-- 1 root root 7205300 2016-02-01 01:06 ./source/xap/MPlayer/ffmpeg-2.8.6.tar.xz --rw-r--r-- 1 root root 473 2016-02-01 01:06 ./source/xap/MPlayer/ffmpeg-2.8.6.tar.xz.asc --rw-r--r-- 1 root root 219 2015-03-09 20:07 ./source/xap/MPlayer/include-samba-4.0.patch.gz --rw-r--r-- 1 root root 1084 2015-04-05 05:08 ./source/xap/MPlayer/slack-desc -drwxr-xr-x 2 root root 4096 2016-03-29 21:02 ./source/xap/audacious -drwxr-xr-x 2 root root 4096 2016-03-29 21:02 ./source/xap/audacious-plugins --rw-r--r-- 1 root root 1489956 2016-03-28 16:31 ./source/xap/audacious-plugins/audacious-plugins-3.7.2.tar.xz --rwxr-xr-x 1 root root 4093 2015-10-23 20:52 ./source/xap/audacious-plugins/audacious-plugins.SlackBuild --rw-r--r-- 1 root root 891 2015-04-05 22:39 ./source/xap/audacious-plugins/slack-desc --rw-r--r-- 1 root root 524332 2016-03-28 16:28 ./source/xap/audacious/audacious-3.7.2.tar.xz --rwxr-xr-x 1 root root 4473 2015-10-23 20:50 ./source/xap/audacious/audacious.SlackBuild --rw-r--r-- 1 root root 121 2010-04-09 21:15 ./source/xap/audacious/doinst.sh.gz --rw-r--r-- 1 root root 1074 2015-04-05 22:31 ./source/xap/audacious/slack-desc -drwxr-xr-x 2 root root 4096 2012-08-08 18:00 ./source/xap/blackbox --rw-r--r-- 1 root root 176564 2009-09-03 11:39 ./source/xap/blackbox/bbkeys-0.9.1.tar.xz --rw-r--r-- 1 root root 964 2009-09-03 11:39 ./source/xap/blackbox/blackbox-0.70.1-gcc-4.3.patch.gz --rw-r--r-- 1 root root 409496 2009-09-03 11:39 ./source/xap/blackbox/blackbox-0.70.1.tar.xz --rwxr-xr-x 1 root root 6475 2012-08-08 18:01 ./source/xap/blackbox/blackbox.SlackBuild --rw-r--r-- 1 root root 900 2002-05-05 23:41 ./source/xap/blackbox/slack-desc --rw-r--r-- 1 root root 221 2012-08-08 17:58 ./source/xap/blackbox/startblackbox.gz --rw-r--r-- 1 root root 413 2012-07-25 03:36 ./source/xap/blackbox/textpropertytostring-unconditional.diff.gz --rw-r--r-- 1 root root 341 2012-08-08 17:58 ./source/xap/blackbox/xinitrc.blackbox.gz -drwxr-xr-x 2 root root 4096 2016-05-31 06:44 ./source/xap/blueman --rw-r--r-- 1 root root 914 2016-05-30 04:34 ./source/xap/blueman/0001-Notification-Also-check-if-notification-daemon-suppo.patch.gz --rw-r--r-- 1 root root 538 2016-05-30 04:34 ./source/xap/blueman/0002-NetConf-Treat-UnicodeDecodeError-as-if-there-was-no-.patch.gz --rw-r--r-- 1 root root 1951988 2016-03-23 06:42 ./source/xap/blueman/blueman-2.0.4.tar.xz --rwxr-xr-x 1 root root 4094 2016-05-30 04:36 ./source/xap/blueman/blueman.SlackBuild --rw-r--r-- 1 root root 392 2015-03-05 18:06 ./source/xap/blueman/doinst.sh.gz --rw-r--r-- 1 root root 898 2015-12-22 23:32 ./source/xap/blueman/slack-desc -drwxr-xr-x 2 root root 4096 2014-05-13 03:07 ./source/xap/ddd --rw-r--r-- 1 root root 4354996 2009-02-11 18:11 ./source/xap/ddd/ddd-3.3.12.tar.xz --rwxr-xr-x 1 root root 3825 2015-08-19 19:49 ./source/xap/ddd/ddd.SlackBuild --rw-r--r-- 1 root root 5689 2010-06-16 05:22 ./source/xap/ddd/ddd.png --rw-r--r-- 1 root root 121 2010-06-16 05:22 ./source/xap/ddd/doinst.sh.gz --rw-r--r-- 1 root root 260 2014-05-13 03:05 ./source/xap/ddd/machine_code_window_fix.diff.gz --rw-r--r-- 1 root root 883 2010-06-16 05:22 ./source/xap/ddd/slack-desc --rw-r--r-- 1 root root 199 2010-06-16 05:22 ./source/xap/ddd/strclass.C.diff.gz -drwxr-xr-x 2 root root 4096 2015-03-29 21:01 ./source/xap/electricsheep --rw-r--r-- 1 root root 1306 2009-01-07 22:42 ./source/xap/electricsheep/README.slackware --rw-r--r-- 1 root root 3116176 2009-03-06 00:30 ./source/xap/electricsheep/electricsheep-20090306.tar.xz --rwxr-xr-- 1 root root 9833 2015-03-29 21:03 ./source/xap/electricsheep/electricsheep.SlackBuild --rw-r--r-- 1 root root 268 2009-07-01 19:53 ./source/xap/electricsheep/electricsheep.mplayer.diff.gz --rw-r--r-- 1 root root 524 2009-01-07 21:38 ./source/xap/electricsheep/electricsheep_gnome-open.patch --rw-r--r-- 1 root root 2395 2015-03-29 20:59 ./source/xap/electricsheep/flam3-3.0.1-libpng15.patch --rw-r--r-- 1 root root 1116 2008-12-15 23:44 ./source/xap/electricsheep/slack-desc -drwxr-xr-x 2 root root 4096 2015-02-11 04:13 ./source/xap/fluxbox --rw-r--r-- 1 root root 790300 2015-02-08 10:51 ./source/xap/fluxbox/fluxbox-1.3.7.tar.xz --rwxr-xr-x 1 root root 4008 2015-01-08 05:48 ./source/xap/fluxbox/fluxbox.SlackBuild --rw-r--r-- 1 root root 323 2012-08-09 04:35 ./source/xap/fluxbox/fluxbox.startfluxbox.dbus.diff.gz --rw-r--r-- 1 root root 687 2005-07-21 19:03 ./source/xap/fluxbox/slack-desc --rw-r--r-- 1 root root 339 2012-08-08 19:16 ./source/xap/fluxbox/xinitrc.fluxbox.gz -drwxr-xr-x 2 root root 4096 2016-03-26 18:45 ./source/xap/fvwm --rw-r--r-- 1 root root 23007 2007-02-18 02:02 ./source/xap/fvwm/ancient-icons.tar.gz --rw-r--r-- 1 root root 296 2011-04-24 01:11 ./source/xap/fvwm/doinst.sh.gz --rw-r--r-- 1 root root 2048728 2016-03-19 21:55 ./source/xap/fvwm/fvwm-2.6.6.tar.xz --rwxr-xr-x 1 root root 4315 2016-03-26 18:45 ./source/xap/fvwm/fvwm.SlackBuild --rw-r--r-- 1 root root 869 2016-03-26 18:43 ./source/xap/fvwm/slack-desc --rw-r--r-- 1 root root 217 2012-08-09 04:42 ./source/xap/fvwm/startfvwm2.gz --rw-r--r-- 1 root root 360 2012-08-10 23:46 ./source/xap/fvwm/xinitrc.fvwm2.gz -drwxr-xr-x 2 root root 4096 2016-05-27 21:47 ./source/xap/geeqie --rw-r--r-- 1 root root 163 2010-03-11 23:20 ./source/xap/geeqie/doinst.sh.gz --rw-r--r-- 1 root root 1141820 2016-05-27 09:41 ./source/xap/geeqie/geeqie-1.3.tar.xz --rw-r--r-- 1 root root 677 2016-05-27 09:42 ./source/xap/geeqie/geeqie-1.3.tar.xz.asc --rwxr-xr-x 1 root root 4203 2016-04-12 17:34 ./source/xap/geeqie/geeqie.SlackBuild --rw-r--r-- 1 root root 760 2015-08-25 20:48 ./source/xap/geeqie/slack-desc -drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/gftp --rw-r--r-- 1 root root 1687167 2008-12-02 14:07 ./source/xap/gftp/gftp-2.0.19.tar.bz2 --rwxr-xr-x 1 root root 3418 2015-03-20 20:36 ./source/xap/gftp/gftp.SlackBuild --rw-r--r-- 1 root root 304 2008-12-02 20:08 ./source/xap/gftp/gftp.desktop.gz --rw-r--r-- 1 root root 899 2008-02-11 03:44 ./source/xap/gftp/slack-desc -drwxr-xr-x 2 root root 4096 2015-11-22 04:16 ./source/xap/gimp --rw-r--r-- 1 root root 15707168 2015-11-21 18:20 ./source/xap/gimp/gimp-2.8.16.tar.xz --rwxr-xr-x 1 root root 4143 2015-11-24 02:50 ./source/xap/gimp/gimp.SlackBuild --rw-r--r-- 1 root root 928 2003-01-29 03:18 ./source/xap/gimp/slack-desc -drwxr-xr-x 2 root root 4096 2016-06-07 18:04 ./source/xap/gkrellm --rw-r--r-- 1 root root 657236 2016-06-03 22:13 ./source/xap/gkrellm/gkrellm-2.3.7.tar.xz --rw-r--r-- 1 root root 12374 2004-02-01 16:30 ./source/xap/gkrellm/gkrellm-countdown-0.1.1.tar.gz --rwxr-xr-x 1 root root 4603 2016-06-07 18:05 ./source/xap/gkrellm/gkrellm.SlackBuild --rw-r--r-- 1 root root 211 2008-10-26 01:35 ./source/xap/gkrellm/gkrellm.theme.defaults.diff.gz --rw-r--r-- 1 root root 971 2004-04-29 18:52 ./source/xap/gkrellm/slack-desc -drwxr-xr-x 2 root root 4096 2015-10-23 18:30 ./source/xap/gnuchess --rw-r--r-- 1 root root 142963 2004-01-19 11:50 ./source/xap/gnuchess/Sjeng-Free-11.2.tar.bz2 --rw-r--r-- 1 root root 652 2004-10-27 05:47 ./source/xap/gnuchess/chess.png --rw-r--r-- 1 root root 271 2013-03-20 02:41 ./source/xap/gnuchess/doinst.sh.gz --rw-r--r-- 1 root root 462386 2008-02-22 15:57 ./source/xap/gnuchess/eboard-1.1.1.tar.bz2 --rw-r--r-- 1 root root 458 2010-02-20 03:54 ./source/xap/gnuchess/eboard.assert.diff.gz --rw-r--r-- 1 root root 224 2004-10-27 06:07 ./source/xap/gnuchess/eboard.desktop --rw-r--r-- 1 root root 221 2013-03-20 01:49 ./source/xap/gnuchess/eboard.ldl.diff.gz --rw-r--r-- 1 root root 336 2015-03-23 16:11 ./source/xap/gnuchess/eboard.png16.diff.gz --rw-r--r-- 1 root root 502336 2015-10-17 14:46 ./source/xap/gnuchess/gnuchess-6.2.2.tar.xz --rwxr-xr-x 1 root root 5961 2015-10-23 18:30 ./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 2571776 2014-11-03 01:39 ./source/xap/gnuchess/xboard-4.8.0.tar.xz --rw-r--r-- 1 root root 269 2015-03-20 18:35 ./source/xap/gnuchess/xboard.conf.diff.gz -drwxr-xr-x 2 root root 4096 2016-03-15 21:10 ./source/xap/gnuplot --rw-r--r-- 1 root root 4018280 2016-02-22 04:50 ./source/xap/gnuplot/gnuplot-5.0.3.tar.xz --rwxr-xr-x 1 root root 4282 2016-05-17 21:08 ./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 2016-06-14 17:12 ./source/xap/gparted --rw-r--r-- 1 root root 742 2016-01-14 02:52 ./source/xap/gparted/com.slackware.pkexec.gparted.policy --rw-r--r-- 1 root root 121 2016-02-03 19:48 ./source/xap/gparted/doinst.sh.gz --rw-r--r-- 1 root root 1964360 2016-06-13 16:57 ./source/xap/gparted/gparted-0.26.1.tar.xz --rwxr-xr-x 1 root root 4168 2016-02-03 19:48 ./source/xap/gparted/gparted.SlackBuild --rw-r--r-- 1 root root 131 2016-01-14 02:52 ./source/xap/gparted/gparted_polkit --rw-r--r-- 1 root root 868 2016-02-03 19:42 ./source/xap/gparted/slack-desc -drwxr-xr-x 2 root root 4096 2014-09-23 14:10 ./source/xap/gucharmap --rw-r--r-- 1 root root 172 2013-01-18 06:36 ./source/xap/gucharmap/doinst.sh.gz --rw-r--r-- 1 root root 1918188 2014-05-12 19:30 ./source/xap/gucharmap/gucharmap-3.12.1.tar.xz --rwxr-xr-x 1 root root 3381 2015-11-20 23:21 ./source/xap/gucharmap/gucharmap.SlackBuild --rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc +-rw-r--r-- 1 root root 822 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-ttf +-rw-r--r-- 1 root root 850 2012-04-08 02:12 ./source/x/x11/slack-desc/font-bh-type1 +-rw-r--r-- 1 root root 960 2012-04-08 02:13 ./source/x/x11/slack-desc/font-bitstream-100dpi +-rw-r--r-- 1 root root 946 2012-04-08 02:13 ./source/x/x11/slack-desc/font-bitstream-75dpi +-rw-r--r-- 1 root root 962 2012-04-08 02:13 ./source/x/x11/slack-desc/font-bitstream-speedo +-rw-r--r-- 1 root root 948 2012-04-08 02:14 ./source/x/x11/slack-desc/font-bitstream-type1 +-rw-r--r-- 1 root root 946 2012-04-08 02:15 ./source/x/x11/slack-desc/font-cronyx-cyrillic +-rw-r--r-- 1 root root 890 2012-04-08 02:15 ./source/x/x11/slack-desc/font-cursor-misc +-rw-r--r-- 1 root root 890 2012-04-08 02:15 ./source/x/x11/slack-desc/font-daewoo-misc +-rw-r--r-- 1 root root 848 2012-04-08 02:15 ./source/x/x11/slack-desc/font-dec-misc +-rw-r--r-- 1 root root 864 2012-04-08 02:16 ./source/x/x11/slack-desc/font-ibm-type1 +-rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-isas-misc +-rw-r--r-- 1 root root 848 2012-04-08 02:17 ./source/x/x11/slack-desc/font-jis-misc +-rw-r--r-- 1 root root 876 2012-04-08 02:17 ./source/x/x11/slack-desc/font-micro-misc +-rw-r--r-- 1 root root 918 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-cyrillic +-rw-r--r-- 1 root root 918 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-ethiopic +-rw-r--r-- 1 root root 890 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-meltho +-rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-misc-misc +-rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-mutt-misc +-rw-r--r-- 1 root root 946 2012-04-08 02:17 ./source/x/x11/slack-desc/font-schumacher-misc +-rw-r--r-- 1 root root 946 2012-04-08 02:18 ./source/x/x11/slack-desc/font-screen-cyrillic +-rw-r--r-- 1 root root 862 2012-04-08 02:17 ./source/x/x11/slack-desc/font-sony-misc +-rw-r--r-- 1 root root 848 2012-04-08 02:18 ./source/x/x11/slack-desc/font-sun-misc +-rw-r--r-- 1 root root 822 2012-04-08 02:18 ./source/x/x11/slack-desc/font-util +-rw-r--r-- 1 root root 974 2012-04-08 02:19 ./source/x/x11/slack-desc/font-winitzki-cyrillic +-rw-r--r-- 1 root root 920 2012-04-08 02:20 ./source/x/x11/slack-desc/font-xfree86-type1 +-rw-r--r-- 1 root root 883 2012-04-08 02:20 ./source/x/x11/slack-desc/fontcacheproto +-rw-r--r-- 1 root root 824 2012-04-08 02:20 ./source/x/x11/slack-desc/fontsproto +-rw-r--r-- 1 root root 833 2012-04-08 02:22 ./source/x/x11/slack-desc/fonttosfnt +-rw-r--r-- 1 root root 823 2012-04-08 02:23 ./source/x/x11/slack-desc/fslsfonts +-rw-r--r-- 1 root root 829 2012-04-08 02:23 ./source/x/x11/slack-desc/fstobdf +-rw-r--r-- 1 root root 818 2012-04-08 02:23 ./source/x/x11/slack-desc/gccmakedep +-rw-r--r-- 1 root root 736 2014-05-13 20:38 ./source/x/x11/slack-desc/glamor-egl +-rw-r--r-- 1 root root 781 2012-04-08 02:25 ./source/x/x11/slack-desc/glproto +-rw-r--r-- 1 root root 806 2012-04-08 02:26 ./source/x/x11/slack-desc/iceauth +-rw-r--r-- 1 root root 761 2012-04-08 02:26 ./source/x/x11/slack-desc/ico +-rw-r--r-- 1 root root 748 2012-04-08 02:27 ./source/x/x11/slack-desc/imake +-rw-r--r-- 1 root root 820 2012-04-08 02:27 ./source/x/x11/slack-desc/inputproto +-rw-r--r-- 1 root root 879 2012-04-08 02:28 ./source/x/x11/slack-desc/intel-gpu-tools +-rw-r--r-- 1 root root 785 2012-04-08 02:28 ./source/x/x11/slack-desc/kbproto +-rw-r--r-- 1 root root 745 2012-04-08 02:28 ./source/x/x11/slack-desc/libFS +-rw-r--r-- 1 root root 761 2012-04-08 02:29 ./source/x/x11/slack-desc/libICE +-rw-r--r-- 1 root root 744 2012-04-08 02:42 ./source/x/x11/slack-desc/libSM +-rw-r--r-- 1 root root 762 2012-04-08 02:42 ./source/x/x11/slack-desc/libX11 +-rw-r--r-- 1 root root 869 2012-04-08 03:03 ./source/x/x11/slack-desc/libXScrnSaver +-rw-r--r-- 1 root root 926 2012-04-08 03:06 ./source/x/x11/slack-desc/libXau +-rw-r--r-- 1 root root 665 2012-04-08 03:03 ./source/x/x11/slack-desc/libXaw +-rw-r--r-- 1 root root 971 2012-04-08 02:50 ./source/x/x11/slack-desc/libXaw3d +-rw-r--r-- 1 root root 767 2012-04-08 02:51 ./source/x/x11/slack-desc/libXcm +-rw-r--r-- 1 root root 872 2012-04-08 03:04 ./source/x/x11/slack-desc/libXcomposite +-rw-r--r-- 1 root root 827 2012-04-08 03:06 ./source/x/x11/slack-desc/libXcursor +-rw-r--r-- 1 root root 827 2012-04-08 03:06 ./source/x/x11/slack-desc/libXdamage +-rw-r--r-- 1 root root 800 2012-04-08 03:07 ./source/x/x11/slack-desc/libXdmcp +-rw-r--r-- 1 root root 804 2012-04-08 03:07 ./source/x/x11/slack-desc/libXevie +-rw-r--r-- 1 root root 793 2012-04-08 03:08 ./source/x/x11/slack-desc/libXext +-rw-r--r-- 1 root root 811 2012-04-08 03:08 ./source/x/x11/slack-desc/libXfixes +-rw-r--r-- 1 root root 1034 2012-04-08 03:18 ./source/x/x11/slack-desc/libXfont +-rw-r--r-- 1 root root 874 2012-04-08 03:18 ./source/x/x11/slack-desc/libXfontcache +-rw-r--r-- 1 root root 748 2012-04-08 03:18 ./source/x/x11/slack-desc/libXft +-rw-r--r-- 1 root root 749 2012-04-08 03:18 ./source/x/x11/slack-desc/libXi +-rw-r--r-- 1 root root 846 2012-04-08 03:19 ./source/x/x11/slack-desc/libXinerama +-rw-r--r-- 1 root root 807 2012-04-08 03:23 ./source/x/x11/slack-desc/libXmu +-rw-r--r-- 1 root root 738 2012-04-08 03:23 ./source/x/x11/slack-desc/libXp +-rw-r--r-- 1 root root 770 2012-04-08 03:24 ./source/x/x11/slack-desc/libXpm +-rw-r--r-- 1 root root 853 2015-04-21 01:58 ./source/x/x11/slack-desc/libXpresent +-rw-r--r-- 1 root root 821 2012-04-08 03:24 ./source/x/x11/slack-desc/libXrandr +-rw-r--r-- 1 root root 838 2012-04-08 03:24 ./source/x/x11/slack-desc/libXrender +-rw-r--r-- 1 root root 779 2012-04-08 03:25 ./source/x/x11/slack-desc/libXres +-rw-r--r-- 1 root root 744 2012-04-08 03:26 ./source/x/x11/slack-desc/libXt +-rw-r--r-- 1 root root 792 2012-04-08 03:26 ./source/x/x11/slack-desc/libXtst +-rw-r--r-- 1 root root 777 2012-04-08 03:26 ./source/x/x11/slack-desc/libXv +-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./source/x/x11/slack-desc/libXvMC +-rw-r--r-- 1 root root 844 2012-04-08 03:27 ./source/x/x11/slack-desc/libXxf86dga +-rw-r--r-- 1 root root 864 2012-04-08 03:27 ./source/x/x11/slack-desc/libXxf86misc +-rw-r--r-- 1 root root 829 2012-04-08 03:27 ./source/x/x11/slack-desc/libXxf86vm +-rw-r--r-- 1 root root 777 2012-04-08 03:28 ./source/x/x11/slack-desc/libdmx +-rw-r--r-- 1 root root 807 2012-04-08 03:28 ./source/x/x11/slack-desc/libfontenc +-rw-r--r-- 1 root root 840 2012-04-08 03:29 ./source/x/x11/slack-desc/libpciaccess +-rw-r--r-- 1 root root 1003 2012-04-08 03:30 ./source/x/x11/slack-desc/libpthread-stubs +-rw-r--r-- 1 root root 903 2007-02-14 06:52 ./source/x/x11/slack-desc/libxcb +-rw-r--r-- 1 root root 824 2012-04-08 02:45 ./source/x/x11/slack-desc/libxkbfile +-rw-r--r-- 1 root root 847 2014-05-13 05:34 ./source/x/x11/slack-desc/libxshmfence +-rw-r--r-- 1 root root 707 2012-04-08 03:30 ./source/x/x11/slack-desc/listres +-rw-r--r-- 1 root root 778 2012-04-08 03:31 ./source/x/x11/slack-desc/lndir +-rw-r--r-- 1 root root 827 2012-04-08 03:31 ./source/x/x11/slack-desc/luit +-rw-r--r-- 1 root root 818 2012-04-08 03:31 ./source/x/x11/slack-desc/makedepend +-rw-r--r-- 1 root root 890 2012-04-08 03:31 ./source/x/x11/slack-desc/mkcomposecache +-rw-r--r-- 1 root root 823 2012-04-08 03:32 ./source/x/x11/slack-desc/mkfontdir +-rw-r--r-- 1 root root 734 2012-04-08 03:32 ./source/x/x11/slack-desc/mkfontscale +-rw-r--r-- 1 root root 679 2012-04-08 03:32 ./source/x/x11/slack-desc/oclock +-rw-r--r-- 1 root root 823 2012-04-08 02:44 ./source/x/x11/slack-desc/pixman +-rw-r--r-- 1 root root 731 2014-05-13 05:22 ./source/x/x11/slack-desc/presentproto +-rw-r--r-- 1 root root 731 2012-04-08 03:32 ./source/x/x11/slack-desc/printproto +-rw-r--r-- 1 root root 674 2012-04-08 03:32 ./source/x/x11/slack-desc/randrproto +-rw-r--r-- 1 root root 835 2012-04-08 03:33 ./source/x/x11/slack-desc/recordproto +-rw-r--r-- 1 root root 760 2012-04-08 03:40 ./source/x/x11/slack-desc/rendercheck +-rw-r--r-- 1 root root 838 2012-04-08 03:40 ./source/x/x11/slack-desc/renderproto +-rw-r--r-- 1 root root 865 2012-04-08 03:40 ./source/x/x11/slack-desc/resourceproto +-rw-r--r-- 1 root root 709 2012-04-08 03:40 ./source/x/x11/slack-desc/rgb +-rw-r--r-- 1 root root 889 2012-04-08 03:41 ./source/x/x11/slack-desc/scrnsaverproto +-rw-r--r-- 1 root root 750 2012-04-08 03:41 ./source/x/x11/slack-desc/sessreg +-rw-r--r-- 1 root root 798 2012-04-08 03:42 ./source/x/x11/slack-desc/setxkbmap +-rw-r--r-- 1 root root 737 2012-04-08 03:42 ./source/x/x11/slack-desc/showfont +-rw-r--r-- 1 root root 707 2012-04-08 03:42 ./source/x/x11/slack-desc/smproxy +-rw-r--r-- 1 root root 884 2012-06-13 15:39 ./source/x/x11/slack-desc/transset +-rw-r--r-- 1 root root 730 2012-04-08 03:43 ./source/x/x11/slack-desc/twm +-rw-r--r-- 1 root root 823 2012-04-08 03:43 ./source/x/x11/slack-desc/util-macros +-rw-r--r-- 1 root root 820 2012-04-08 03:43 ./source/x/x11/slack-desc/videoproto +-rw-r--r-- 1 root root 796 2012-04-08 03:43 ./source/x/x11/slack-desc/viewres +-rw-r--r-- 1 root root 779 2012-04-08 03:44 ./source/x/x11/slack-desc/x11perf +-rw-r--r-- 1 root root 679 2012-04-08 03:44 ./source/x/x11/slack-desc/xauth +-rw-r--r-- 1 root root 796 2012-04-08 03:44 ./source/x/x11/slack-desc/xbacklight +-rw-r--r-- 1 root root 726 2012-04-08 03:44 ./source/x/x11/slack-desc/xbiff +-rw-r--r-- 1 root root 786 2012-04-08 03:45 ./source/x/x11/slack-desc/xbitmaps +-rw-r--r-- 1 root root 639 2012-04-08 03:45 ./source/x/x11/slack-desc/xcalc +-rw-r--r-- 1 root root 922 2012-04-08 01:17 ./source/x/x11/slack-desc/xcb-proto +-rw-r--r-- 1 root root 809 2012-04-08 03:45 ./source/x/x11/slack-desc/xcb-util +-rw-r--r-- 1 root root 808 2013-09-07 20:11 ./source/x/x11/slack-desc/xcb-util-cursor +-rw-r--r-- 1 root root 1011 2015-04-27 03:32 ./source/x/x11/slack-desc/xcb-util-errors +-rw-r--r-- 1 root root 778 2012-04-08 01:14 ./source/x/x11/slack-desc/xcb-util-image +-rw-r--r-- 1 root root 827 2012-04-08 01:18 ./source/x/x11/slack-desc/xcb-util-keysyms +-rw-r--r-- 1 root root 871 2012-04-08 03:49 ./source/x/x11/slack-desc/xcb-util-renderutil +-rw-r--r-- 1 root root 774 2012-04-08 03:51 ./source/x/x11/slack-desc/xcb-util-wm +-rw-r--r-- 1 root root 890 2012-04-08 03:46 ./source/x/x11/slack-desc/xclipboard +-rw-r--r-- 1 root root 748 2012-04-08 03:52 ./source/x/x11/slack-desc/xclock +-rw-r--r-- 1 root root 746 2013-01-13 00:59 ./source/x/x11/slack-desc/xcm +-rw-r--r-- 1 root root 838 2012-04-08 03:52 ./source/x/x11/slack-desc/xcmiscproto +-rw-r--r-- 1 root root 824 2012-04-08 03:54 ./source/x/x11/slack-desc/xcmsdb +-rw-r--r-- 1 root root 761 2012-04-08 03:53 ./source/x/x11/slack-desc/xcompmgr +-rw-r--r-- 1 root root 678 2012-04-08 03:54 ./source/x/x11/slack-desc/xconsole +-rw-r--r-- 1 root root 844 2012-04-08 03:54 ./source/x/x11/slack-desc/xcursor-themes +-rw-r--r-- 1 root root 834 2012-04-08 03:54 ./source/x/x11/slack-desc/xcursorgen +-rw-r--r-- 1 root root 714 2012-04-08 03:55 ./source/x/x11/slack-desc/xdbedizzy +-rw-r--r-- 1 root root 797 2012-04-08 03:55 ./source/x/x11/slack-desc/xditview +-rw-r--r-- 1 root root 707 2012-04-08 03:55 ./source/x/x11/slack-desc/xdm +-rw-r--r-- 1 root root 810 2012-04-08 03:56 ./source/x/x11/slack-desc/xdpyinfo +-rw-r--r-- 1 root root 808 2012-04-08 03:56 ./source/x/x11/slack-desc/xdriinfo +-rw-r--r-- 1 root root 740 2012-04-08 03:57 ./source/x/x11/slack-desc/xedit +-rw-r--r-- 1 root root 949 2012-04-08 03:57 ./source/x/x11/slack-desc/xev +-rw-r--r-- 1 root root 810 2012-04-08 03:57 ./source/x/x11/slack-desc/xextproto +-rw-r--r-- 1 root root 770 2012-04-08 03:58 ./source/x/x11/slack-desc/xeyes +-rw-r--r-- 1 root root 931 2012-04-08 03:58 ./source/x/x11/slack-desc/xf86-input-acecad +-rw-r--r-- 1 root root 932 2012-04-08 03:59 ./source/x/x11/slack-desc/xf86-input-aiptek +-rw-r--r-- 1 root root 918 2012-04-08 03:59 ./source/x/x11/slack-desc/xf86-input-evdev +-rw-r--r-- 1 root root 955 2012-04-08 04:00 ./source/x/x11/slack-desc/xf86-input-joystick +-rw-r--r-- 1 root root 946 2012-07-22 17:18 ./source/x/x11/slack-desc/xf86-input-keyboard +-rw-r--r-- 1 root root 938 2015-04-21 03:11 ./source/x/x11/slack-desc/xf86-input-libinput +-rw-r--r-- 1 root root 896 2012-05-07 16:08 ./source/x/x11/slack-desc/xf86-input-mouse +-rw-r--r-- 1 root root 955 2012-04-08 04:02 ./source/x/x11/slack-desc/xf86-input-penmount +-rw-r--r-- 1 root root 961 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-synaptics +-rw-r--r-- 1 root root 945 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-vmmouse +-rw-r--r-- 1 root root 889 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-void +-rw-r--r-- 1 root root 1000 2012-04-08 04:03 ./source/x/x11/slack-desc/xf86-input-wacom +-rw-r--r-- 1 root root 920 2015-11-19 17:17 ./source/x/x11/slack-desc/xf86-video-amdgpu +-rw-r--r-- 1 root root 889 2012-04-08 04:04 ./source/x/x11/slack-desc/xf86-video-apm +-rw-r--r-- 1 root root 882 2012-04-08 04:05 ./source/x/x11/slack-desc/xf86-video-ark +-rw-r--r-- 1 root root 895 2012-04-08 04:05 ./source/x/x11/slack-desc/xf86-video-ast +-rw-r--r-- 1 root root 887 2012-04-08 04:05 ./source/x/x11/slack-desc/xf86-video-ati +-rw-r--r-- 1 root root 914 2012-04-08 04:06 ./source/x/x11/slack-desc/xf86-video-chips +-rw-r--r-- 1 root root 931 2012-04-08 04:06 ./source/x/x11/slack-desc/xf86-video-cirrus +-rw-r--r-- 1 root root 919 2012-04-08 04:07 ./source/x/x11/slack-desc/xf86-video-dummy +-rw-r--r-- 1 root root 878 2012-05-08 16:28 ./source/x/x11/slack-desc/xf86-video-fbdev +-rw-r--r-- 1 root root 915 2012-04-08 04:07 ./source/x/x11/slack-desc/xf86-video-geode +-rw-r--r-- 1 root root 919 2012-04-08 04:07 ./source/x/x11/slack-desc/xf86-video-glint +-rw-r--r-- 1 root root 907 2012-04-08 04:08 ./source/x/x11/slack-desc/xf86-video-i128 +-rw-r--r-- 1 root root 901 2012-04-08 04:08 ./source/x/x11/slack-desc/xf86-video-i740 +-rw-r--r-- 1 root root 910 2012-04-08 04:09 ./source/x/x11/slack-desc/xf86-video-intel +-rw-r--r-- 1 root root 923 2012-04-08 04:09 ./source/x/x11/slack-desc/xf86-video-mach64 +-rw-r--r-- 1 root root 883 2012-04-08 04:10 ./source/x/x11/slack-desc/xf86-video-mga +-rw-r--r-- 1 root root 987 2012-04-08 04:12 ./source/x/x11/slack-desc/xf86-video-modesetting +-rw-r--r-- 1 root root 955 2012-04-08 04:10 ./source/x/x11/slack-desc/xf86-video-neomagic +-rw-r--r-- 1 root root 945 2012-04-08 04:13 ./source/x/x11/slack-desc/xf86-video-nouveau +-rw-r--r-- 1 root root 873 2012-04-08 04:11 ./source/x/x11/slack-desc/xf86-video-nv +-rw-r--r-- 1 root root 978 2012-04-08 04:13 ./source/x/x11/slack-desc/xf86-video-openchrome +-rw-r--r-- 1 root root 734 2012-04-08 04:14 ./source/x/x11/slack-desc/xf86-video-qxl +-rw-r--r-- 1 root root 903 2012-04-08 04:15 ./source/x/x11/slack-desc/xf86-video-r128 +-rw-r--r-- 1 root root 970 2012-04-08 04:19 ./source/x/x11/slack-desc/xf86-video-rendition +-rw-r--r-- 1 root root 882 2012-04-08 04:19 ./source/x/x11/slack-desc/xf86-video-s3 +-rw-r--r-- 1 root root 941 2012-04-08 04:19 ./source/x/x11/slack-desc/xf86-video-s3virge +-rw-r--r-- 1 root root 928 2012-04-08 04:20 ./source/x/x11/slack-desc/xf86-video-savage +-rw-r--r-- 1 root root 1018 2012-04-08 04:20 ./source/x/x11/slack-desc/xf86-video-siliconmotion +-rw-r--r-- 1 root root 888 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-sis +-rw-r--r-- 1 root root 927 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-sisusb +-rw-r--r-- 1 root root 895 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-tdfx +-rw-r--r-- 1 root root 889 2012-04-08 04:23 ./source/x/x11/slack-desc/xf86-video-tga +-rw-r--r-- 1 root root 940 2012-04-08 04:24 ./source/x/x11/slack-desc/xf86-video-trident +-rw-r--r-- 1 root root 915 2012-04-08 04:24 ./source/x/x11/slack-desc/xf86-video-tseng +-rw-r--r-- 1 root root 876 2012-04-08 04:24 ./source/x/x11/slack-desc/xf86-video-v4l +-rw-r--r-- 1 root root 903 2012-04-08 04:25 ./source/x/x11/slack-desc/xf86-video-vesa +-rw-r--r-- 1 root root 930 2012-04-08 04:25 ./source/x/x11/slack-desc/xf86-video-vmware +-rw-r--r-- 1 root root 925 2012-04-08 04:25 ./source/x/x11/slack-desc/xf86-video-voodoo +-rw-r--r-- 1 root root 880 2012-04-08 04:26 ./source/x/x11/slack-desc/xf86-video-xgi +-rw-r--r-- 1 root root 902 2013-02-21 19:47 ./source/x/x11/slack-desc/xf86-video-xgixp +-rw-r--r-- 1 root root 904 2012-04-08 04:28 ./source/x/x11/slack-desc/xf86bigfontproto +-rw-r--r-- 1 root root 792 2012-04-08 04:26 ./source/x/x11/slack-desc/xf86dga +-rw-r--r-- 1 root root 803 2012-04-08 04:29 ./source/x/x11/slack-desc/xf86dgaproto +-rw-r--r-- 1 root root 842 2012-04-08 04:27 ./source/x/x11/slack-desc/xf86driproto +-rw-r--r-- 1 root root 896 2012-04-08 04:30 ./source/x/x11/slack-desc/xf86miscproto +-rw-r--r-- 1 root root 915 2012-04-08 04:30 ./source/x/x11/slack-desc/xf86vidmodeproto +-rw-r--r-- 1 root root 621 2012-04-08 04:31 ./source/x/x11/slack-desc/xfd +-rw-r--r-- 1 root root 804 2012-04-08 04:31 ./source/x/x11/slack-desc/xfontsel +-rw-r--r-- 1 root root 707 2012-04-08 01:11 ./source/x/x11/slack-desc/xfs +-rw-r--r-- 1 root root 880 2012-04-08 04:32 ./source/x/x11/slack-desc/xfsinfo +-rw-r--r-- 1 root root 718 2013-08-20 21:51 ./source/x/x11/slack-desc/xfwp +-rw-r--r-- 1 root root 706 2012-04-08 04:33 ./source/x/x11/slack-desc/xgamma +-rw-r--r-- 1 root root 633 2012-04-08 04:33 ./source/x/x11/slack-desc/xgc +-rw-r--r-- 1 root root 673 2012-04-08 04:33 ./source/x/x11/slack-desc/xhost +-rw-r--r-- 1 root root 867 2012-04-08 04:34 ./source/x/x11/slack-desc/xineramaproto +-rw-r--r-- 1 root root 771 2012-07-22 17:18 ./source/x/x11/slack-desc/xinit +-rw-r--r-- 1 root root 952 2012-04-08 04:34 ./source/x/x11/slack-desc/xinput +-rw-r--r-- 1 root root 764 2012-04-08 04:35 ./source/x/x11/slack-desc/xkbcomp +-rw-r--r-- 1 root root 755 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbevd +-rw-r--r-- 1 root root 703 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbprint +-rw-r--r-- 1 root root 708 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbutils +-rw-r--r-- 1 root root 1122 2012-04-08 04:37 ./source/x/x11/slack-desc/xkeyboard-config +-rw-r--r-- 1 root root 757 2012-04-08 04:37 ./source/x/x11/slack-desc/xkill +-rw-r--r-- 1 root root 763 2012-04-08 04:37 ./source/x/x11/slack-desc/xload +-rw-r--r-- 1 root root 749 2012-04-08 04:38 ./source/x/x11/slack-desc/xlogo +-rw-r--r-- 1 root root 807 2012-04-08 04:38 ./source/x/x11/slack-desc/xlsatoms +-rw-r--r-- 1 root root 747 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsclients +-rw-r--r-- 1 root root 696 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsfonts +-rw-r--r-- 1 root root 620 2012-04-08 04:39 ./source/x/x11/slack-desc/xmag +-rw-r--r-- 1 root root 753 2012-04-08 04:40 ./source/x/x11/slack-desc/xman +-rw-r--r-- 1 root root 780 2012-04-08 04:41 ./source/x/x11/slack-desc/xmessage +-rw-r--r-- 1 root root 692 2012-04-08 04:41 ./source/x/x11/slack-desc/xmh +-rw-r--r-- 1 root root 868 2012-04-08 04:42 ./source/x/x11/slack-desc/xmodmap +-rw-r--r-- 1 root root 766 2012-04-08 04:42 ./source/x/x11/slack-desc/xmore +-rw-r--r-- 1 root root 954 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-cf-files +-rw-r--r-- 1 root root 805 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-docs +-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server +-rw-r--r-- 1 root root 839 2009-05-30 01:47 ./source/x/x11/slack-desc/xorg-server-xephyr +-rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./source/x/x11/slack-desc/xorg-server-xnest +-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server-xvfb +-rw-r--r-- 1 root root 1140 2012-04-08 04:44 ./source/x/x11/slack-desc/xorg-sgml-doctools +-rw-r--r-- 1 root root 664 2012-04-08 00:58 ./source/x/x11/slack-desc/xpr +-rw-r--r-- 1 root root 766 2012-04-08 04:45 ./source/x/x11/slack-desc/xprop +-rw-r--r-- 1 root root 776 2012-04-08 04:45 ./source/x/x11/slack-desc/xproto +-rw-r--r-- 1 root root 1009 2013-08-20 22:30 ./source/x/x11/slack-desc/xproxymanagementprotocol +-rw-r--r-- 1 root root 625 2012-04-08 04:46 ./source/x/x11/slack-desc/xpyb +-rw-r--r-- 1 root root 658 2012-04-08 04:46 ./source/x/x11/slack-desc/xrandr +-rw-r--r-- 1 root root 736 2012-04-08 04:46 ./source/x/x11/slack-desc/xrdb +-rw-r--r-- 1 root root 792 2012-04-08 04:46 ./source/x/x11/slack-desc/xrefresh +-rw-r--r-- 1 root root 773 2012-04-08 04:46 ./source/x/x11/slack-desc/xscope +-rw-r--r-- 1 root root 681 2012-04-08 01:01 ./source/x/x11/slack-desc/xset +-rw-r--r-- 1 root root 801 2012-04-08 04:47 ./source/x/x11/slack-desc/xsetroot +-rw-r--r-- 1 root root 707 2012-04-08 04:47 ./source/x/x11/slack-desc/xsm +-rw-r--r-- 1 root root 881 2012-04-08 04:47 ./source/x/x11/slack-desc/xstdcmap +-rw-r--r-- 1 root root 849 2012-04-08 04:47 ./source/x/x11/slack-desc/xtrans +-rw-r--r-- 1 root root 694 2012-04-08 04:48 ./source/x/x11/slack-desc/xvidtune +-rw-r--r-- 1 root root 710 2012-04-08 03:25 ./source/x/x11/slack-desc/xvinfo +-rw-r--r-- 1 root root 716 2012-04-08 02:21 ./source/x/x11/slack-desc/xwd +-rw-r--r-- 1 root root 702 2012-04-08 02:21 ./source/x/x11/slack-desc/xwininfo +-rw-r--r-- 1 root root 668 2012-04-07 23:42 ./source/x/x11/slack-desc/xwud +drwxr-xr-x 12 root root 4096 2016-06-04 17:35 ./source/x/x11/src +drwxr-xr-x 2 root root 4096 2016-02-29 20:41 ./source/x/x11/src/app +-rw-r--r-- 1 root root 109176 2013-05-18 00:40 ./source/x/x11/src/app/appres-1.0.4.tar.xz +-rw-r--r-- 1 root root 114520 2014-12-30 23:16 ./source/x/x11/src/app/bdftopcf-1.0.5.tar.xz +-rw-r--r-- 1 root root 109956 2013-01-15 05:23 ./source/x/x11/src/app/beforelight-1.0.5.tar.xz +-rw-r--r-- 1 root root 156176 2015-01-17 06:01 ./source/x/x11/src/app/bitmap-1.0.8.tar.xz +-rw-r--r-- 1 root root 942584 2011-03-30 09:42 ./source/x/x11/src/app/compiz-0.8.8.tar.xz +-rw-r--r-- 1 root root 145944 2013-01-13 00:06 ./source/x/x11/src/app/editres-1.0.6.tar.xz +-rw-r--r-- 1 root root 98084 2008-05-10 22:53 ./source/x/x11/src/app/fonttosfnt-1.0.4.tar.xz +-rw-r--r-- 1 root root 116372 2014-12-31 04:49 ./source/x/x11/src/app/fslsfonts-1.0.5.tar.xz +-rw-r--r-- 1 root root 117176 2014-12-31 04:58 ./source/x/x11/src/app/fstobdf-1.0.6.tar.xz +-rw-r--r-- 1 root root 125084 2015-01-17 06:13 ./source/x/x11/src/app/iceauth-1.0.7.tar.xz +-rw-r--r-- 1 root root 117304 2013-01-16 02:21 ./source/x/x11/src/app/ico-1.0.4.tar.xz +-rw-r--r-- 1 root root 1185316 2015-02-11 12:27 ./source/x/x11/src/app/intel-gpu-tools-1.9.tar.xz +-rw-r--r-- 1 root root 106644 2012-03-01 03:35 ./source/x/x11/src/app/listres-1.0.3.tar.xz +-rw-r--r-- 1 root root 128468 2012-03-23 04:25 ./source/x/x11/src/app/luit-1.1.1.tar.xz +-rw-r--r-- 1 root root 90748 2009-10-13 20:33 ./source/x/x11/src/app/mkcomposecache-1.2.1.tar.xz +-rw-r--r-- 1 root root 100044 2012-02-11 03:59 ./source/x/x11/src/app/mkfontdir-1.0.7.tar.xz +-rw-r--r-- 1 root root 131188 2015-01-17 07:43 ./source/x/x11/src/app/mkfontscale-1.1.2.tar.xz +-rw-r--r-- 1 root root 113356 2012-02-11 05:27 ./source/x/x11/src/app/oclock-1.0.3.tar.xz +-rw-r--r-- 1 root root 133004 2015-06-11 08:25 ./source/x/x11/src/app/rendercheck-1.5.tar.xz +-rw-r--r-- 1 root root 126684 2014-11-08 19:37 ./source/x/x11/src/app/rgb-1.0.6.tar.xz +-rw-r--r-- 1 root root 124584 2015-01-20 05:02 ./source/x/x11/src/app/sessreg-1.1.0.tar.xz +-rw-r--r-- 1 root root 124192 2015-04-17 05:30 ./source/x/x11/src/app/setxkbmap-1.3.1.tar.xz +-rw-r--r-- 1 root root 116180 2014-12-31 05:11 ./source/x/x11/src/app/showfont-1.0.5.tar.xz +-rw-r--r-- 1 root root 122464 2015-04-17 05:33 ./source/x/x11/src/app/smproxy-1.0.6.tar.xz +-rw-r--r-- 1 root root 112036 2013-05-18 00:49 ./source/x/x11/src/app/transset-1.0.1.tar.xz +-rw-r--r-- 1 root root 254668 2015-04-17 05:38 ./source/x/x11/src/app/twm-1.0.9.tar.xz +-rw-r--r-- 1 root root 116556 2013-01-13 00:21 ./source/x/x11/src/app/viewres-1.0.4.tar.xz +-rw-r--r-- 1 root root 167588 2015-04-17 05:43 ./source/x/x11/src/app/x11perf-1.6.0.tar.xz +-rw-r--r-- 1 root root 142612 2014-04-02 18:27 ./source/x/x11/src/app/xauth-1.0.9.tar.xz +-rw-r--r-- 1 root root 109304 2013-10-08 03:46 ./source/x/x11/src/app/xbacklight-1.2.1.tar.xz +-rw-r--r-- 1 root root 107328 2011-01-25 20:45 ./source/x/x11/src/app/xbiff-1.0.3.tar.xz +-rw-r--r-- 1 root root 131172 2015-01-20 05:28 ./source/x/x11/src/app/xcalc-1.0.6.tar.xz +-rw-r--r-- 1 root root 121916 2013-09-06 06:23 ./source/x/x11/src/app/xclipboard-1.1.3.tar.xz +-rw-r--r-- 1 root root 149700 2013-09-08 06:37 ./source/x/x11/src/app/xclock-1.0.7.tar.xz +-rw-r--r-- 1 root root 203320 2013-01-05 13:35 ./source/x/x11/src/app/xcm-0.5.2.tar.xz +-rw-r--r-- 1 root root 130232 2015-04-17 05:53 ./source/x/x11/src/app/xcmsdb-1.0.5.tar.xz +-rw-r--r-- 1 root root 126964 2015-04-17 05:57 ./source/x/x11/src/app/xcompmgr-1.1.7.tar.xz +-rw-r--r-- 1 root root 122332 2013-07-19 04:33 ./source/x/x11/src/app/xconsole-1.0.6.tar.xz +-rw-r--r-- 1 root root 115284 2014-05-31 23:35 ./source/x/x11/src/app/xcursorgen-1.0.6.tar.xz +-rw-r--r-- 1 root root 102156 2010-10-31 17:10 ./source/x/x11/src/app/xdbedizzy-1.1.0.tar.xz +-rw-r--r-- 1 root root 136580 2015-04-17 06:08 ./source/x/x11/src/app/xditview-1.0.4.tar.xz +-rw-r--r-- 1 root root 381740 2011-09-25 07:43 ./source/x/x11/src/app/xdm-1.1.11.tar.xz +-rw-r--r-- 1 root root 130524 2015-04-17 06:02 ./source/x/x11/src/app/xdpyinfo-1.3.2.tar.xz +-rw-r--r-- 1 root root 112776 2015-04-17 06:05 ./source/x/x11/src/app/xdriinfo-1.0.5.tar.xz +-rw-r--r-- 1 root root 473760 2015-02-21 21:49 ./source/x/x11/src/app/xedit-1.2.2.tar.xz +-rw-r--r-- 1 root root 122528 2015-04-17 06:12 ./source/x/x11/src/app/xev-1.2.2.tar.xz +-rw-r--r-- 1 root root 105108 2010-11-25 07:30 ./source/x/x11/src/app/xeyes-1.1.1.tar.xz +-rw-r--r-- 1 root root 97320 2010-10-31 18:20 ./source/x/x11/src/app/xf86dga-1.0.3.tar.xz +-rw-r--r-- 1 root root 126768 2013-07-17 06:03 ./source/x/x11/src/app/xfd-1.1.2.tar.xz +-rw-r--r-- 1 root root 128268 2013-05-18 01:02 ./source/x/x11/src/app/xfontsel-1.0.5.tar.xz +-rw-r--r-- 1 root root 207060 2014-08-22 05:40 ./source/x/x11/src/app/xfs-1.1.4.tar.xz +-rw-r--r-- 1 root root 113740 2014-12-31 05:06 ./source/x/x11/src/app/xfsinfo-1.0.5.tar.xz +-rw-r--r-- 1 root root 113744 2015-04-17 06:20 ./source/x/x11/src/app/xgamma-1.0.6.tar.xz +-rw-r--r-- 1 root root 171024 2015-04-17 06:26 ./source/x/x11/src/app/xgc-1.0.5.tar.xz +-rw-r--r-- 1 root root 125428 2015-04-17 06:29 ./source/x/x11/src/app/xhost-1.0.7.tar.xz +-rw-r--r-- 1 root root 151836 2014-09-11 17:33 ./source/x/x11/src/app/xinit-1.3.4.tar.xz +-rw-r--r-- 1 root root 146860 2015-10-19 21:36 ./source/x/x11/src/app/xinput-1.6.2.tar.xz +-rw-r--r-- 1 root root 225652 2014-11-20 22:21 ./source/x/x11/src/app/xkbcomp-1.3.0.tar.xz +-rw-r--r-- 1 root root 141024 2015-04-17 06:39 ./source/x/x11/src/app/xkbevd-1.1.4.tar.xz +-rw-r--r-- 1 root root 150312 2015-04-17 06:44 ./source/x/x11/src/app/xkbprint-1.0.4.tar.xz +-rw-r--r-- 1 root root 120732 2013-02-10 23:48 ./source/x/x11/src/app/xkbutils-1.0.4.tar.xz +-rw-r--r-- 1 root root 115800 2013-09-08 16:52 ./source/x/x11/src/app/xkill-1.0.4.tar.xz +-rw-r--r-- 1 root root 126428 2013-08-04 04:44 ./source/x/x11/src/app/xload-1.1.2.tar.xz +-rw-r--r-- 1 root root 115664 2012-03-23 05:58 ./source/x/x11/src/app/xlogo-1.0.4.tar.xz +-rw-r--r-- 1 root root 113896 2015-04-17 06:50 ./source/x/x11/src/app/xlsatoms-1.1.2.tar.xz +-rw-r--r-- 1 root root 117488 2013-09-08 16:58 ./source/x/x11/src/app/xlsclients-1.1.3.tar.xz +-rw-r--r-- 1 root root 121124 2015-04-17 06:53 ./source/x/x11/src/app/xlsfonts-1.0.5.tar.xz +-rw-r--r-- 1 root root 131748 2015-04-17 06:56 ./source/x/x11/src/app/xmag-1.0.6.tar.xz +-rw-r--r-- 1 root root 170752 2015-03-07 03:08 ./source/x/x11/src/app/xman-1.1.4.tar.xz +-rw-r--r-- 1 root root 115576 2013-01-13 06:24 ./source/x/x11/src/app/xmessage-1.0.4.tar.xz +-rw-r--r-- 1 root root 189652 2015-04-17 07:03 ./source/x/x11/src/app/xmh-1.0.3.tar.xz +-rw-r--r-- 1 root root 132472 2015-04-17 07:09 ./source/x/x11/src/app/xmodmap-1.0.9.tar.xz +-rw-r--r-- 1 root root 99592 2010-07-23 22:53 ./source/x/x11/src/app/xmore-1.0.2.tar.xz +-rw-r--r-- 1 root root 131204 2012-03-31 23:58 ./source/x/x11/src/app/xpr-1.0.4.tar.xz +-rw-r--r-- 1 root root 134476 2013-08-09 03:06 ./source/x/x11/src/app/xprop-1.2.2.tar.xz +-rw-r--r-- 1 root root 167084 2016-02-23 18:31 ./source/x/x11/src/app/xrandr-1.5.0.tar.xz +-rw-r--r-- 1 root root 127736 2013-09-08 17:21 ./source/x/x11/src/app/xrdb-1.1.0.tar.xz +-rw-r--r-- 1 root root 111288 2013-05-18 01:21 ./source/x/x11/src/app/xrefresh-1.0.5.tar.xz +-rw-r--r-- 1 root root 193928 2014-06-07 02:07 ./source/x/x11/src/app/xscope-1.4.1.tar.xz +-rw-r--r-- 1 root root 131108 2013-08-09 03:45 ./source/x/x11/src/app/xset-1.2.3.tar.xz +-rw-r--r-- 1 root root 110928 2013-01-23 07:04 ./source/x/x11/src/app/xsetroot-1.1.1.tar.xz +-rw-r--r-- 1 root root 147368 2013-02-10 23:57 ./source/x/x11/src/app/xsm-1.0.3.tar.xz +-rw-r--r-- 1 root root 108580 2013-02-11 00:16 ./source/x/x11/src/app/xstdcmap-1.0.3.tar.xz +-rw-r--r-- 1 root root 118284 2013-01-14 21:52 ./source/x/x11/src/app/xvidtune-1.0.3.tar.xz +-rw-r--r-- 1 root root 114512 2015-05-01 06:05 ./source/x/x11/src/app/xvinfo-1.1.3.tar.xz +-rw-r--r-- 1 root root 133028 2013-08-09 04:17 ./source/x/x11/src/app/xwd-1.0.6.tar.xz +-rw-r--r-- 1 root root 146048 2013-05-18 04:07 ./source/x/x11/src/app/xwininfo-1.1.3.tar.xz +-rw-r--r-- 1 root root 114396 2012-04-01 00:07 ./source/x/x11/src/app/xwud-1.0.4.tar.xz +drwxr-xr-x 2 root root 4096 2016-03-26 18:51 ./source/x/x11/src/data +-rw-r--r-- 1 root root 107168 2010-12-09 06:29 ./source/x/x11/src/data/xbitmaps-1.1.1.tar.xz +-rw-r--r-- 1 root root 1496584 2013-07-17 06:39 ./source/x/x11/src/data/xcursor-themes-1.0.4.tar.xz +-rw-r--r-- 1 root root 781212 2016-01-26 21:03 ./source/x/x11/src/data/xkeyboard-config-2.17.tar.xz +drwxr-xr-x 2 root root 4096 2015-05-04 05:55 ./source/x/x11/src/doc +-rw-r--r-- 1 root root 333452 2015-05-01 06:18 ./source/x/x11/src/doc/xorg-docs-1.7.1.tar.xz +-rw-r--r-- 1 root root 110976 2012-06-06 02:42 ./source/x/x11/src/doc/xorg-sgml-doctools-1.11.tar.xz +drwxr-xr-x 2 root root 4096 2016-06-09 17:18 ./source/x/x11/src/driver +-rw-r--r-- 1 root root 236544 2011-05-04 23:02 ./source/x/x11/src/driver/xf86-input-acecad-1.5.0.tar.xz +-rw-r--r-- 1 root root 245724 2011-06-29 00:29 ./source/x/x11/src/driver/xf86-input-aiptek-1.4.1.tar.xz +-rw-r--r-- 1 root root 342276 2016-06-01 01:42 ./source/x/x11/src/driver/xf86-input-evdev-2.10.3.tar.xz +-rw-r--r-- 1 root root 268272 2012-03-11 11:05 ./source/x/x11/src/driver/xf86-input-joystick-1.6.1.tar.xz +-rw-r--r-- 1 root root 277892 2015-04-06 23:25 ./source/x/x11/src/driver/xf86-input-keyboard-1.8.1.tar.xz +-rw-r--r-- 1 root root 304180 2014-08-12 06:39 ./source/x/x11/src/driver/xf86-input-mouse-1.9.1.tar.xz +-rw-r--r-- 1 root root 229120 2011-06-28 00:52 ./source/x/x11/src/driver/xf86-input-penmount-1.5.0.tar.xz +-rw-r--r-- 1 root root 412108 2015-11-01 21:54 ./source/x/x11/src/driver/xf86-input-synaptics-1.8.3.tar.xz +-rw-r--r-- 1 root root 258876 2015-06-25 10:30 ./source/x/x11/src/driver/xf86-input-vmmouse-13.1.0.tar.xz +-rw-r--r-- 1 root root 225388 2011-05-05 03:46 ./source/x/x11/src/driver/xf86-input-void-1.4.0.tar.xz +-rw-r--r-- 1 root root 539828 2016-05-13 23:12 ./source/x/x11/src/driver/xf86-input-wacom-0.33.0.tar.xz +-rw-r--r-- 1 root root 322312 2016-04-07 09:41 ./source/x/x11/src/driver/xf86-video-amdgpu-1.1.0.tar.xz +-rw-r--r-- 1 root root 271192 2012-07-17 06:16 ./source/x/x11/src/driver/xf86-video-apm-1.2.5.tar.xz +-rw-r--r-- 1 root root 240392 2012-07-17 06:17 ./source/x/x11/src/driver/xf86-video-ark-0.7.5.tar.xz +-rw-r--r-- 1 root root 295864 2015-08-19 01:37 ./source/x/x11/src/driver/xf86-video-ast-1.1.5.tar.xz +-rw-r--r-- 1 root root 705996 2016-04-07 02:51 ./source/x/x11/src/driver/xf86-video-ati-7.7.0.tar.xz +-rw-r--r-- 1 root root 345468 2015-09-26 16:32 ./source/x/x11/src/driver/xf86-video-chips-1.2.6.tar.xz +-rw-r--r-- 1 root root 281712 2015-05-06 21:03 ./source/x/x11/src/driver/xf86-video-cirrus-1.5.3.tar.xz +-rw-r--r-- 1 root root 237680 2013-09-09 19:02 ./source/x/x11/src/driver/xf86-video-dummy-0.3.7.tar.xz +-rw-r--r-- 1 root root 571044 2016-02-03 19:20 ./source/x/x11/src/driver/xf86-video-geode-2.11.18.tar.xz +-rw-r--r-- 1 root root 323416 2012-07-17 06:20 ./source/x/x11/src/driver/xf86-video-glint-1.2.8.tar.xz +-rw-r--r-- 1 root root 269224 2012-07-17 06:21 ./source/x/x11/src/driver/xf86-video-i128-1.3.6.tar.xz +-rw-r--r-- 1 root root 266212 2015-02-21 20:40 ./source/x/x11/src/driver/xf86-video-i740-1.3.5.tar.xz +-rw-r--r-- 1 root root 947008 2016-06-09 07:19 ./source/x/x11/src/driver/xf86-video-intel-git_20160601_b617f80.tar.xz +-rw-r--r-- 1 root root 469408 2015-05-04 19:58 ./source/x/x11/src/driver/xf86-video-mach64-6.9.5.tar.xz +-rw-r--r-- 1 root root 394412 2015-02-19 21:45 ./source/x/x11/src/driver/xf86-video-mga-1.6.4.tar.xz +-rw-r--r-- 1 root root 252904 2014-06-26 08:38 ./source/x/x11/src/driver/xf86-video-modesetting-0.9.0.tar.xz +-rw-r--r-- 1 root root 280576 2015-05-08 09:52 ./source/x/x11/src/driver/xf86-video-neomagic-1.2.9.tar.xz +-rw-r--r-- 1 root root 523320 2015-12-10 02:24 ./source/x/x11/src/driver/xf86-video-nouveau-1.0.12.tar.xz +-rw-r--r-- 1 root root 328120 2012-07-17 06:50 ./source/x/x11/src/driver/xf86-video-nv-2.1.20.tar.xz +-rw-r--r-- 1 root root 267328 2015-10-08 18:50 ./source/x/x11/src/driver/xf86-video-omap-0.4.4.tar.xz +-rw-r--r-- 1 root root 440788 2016-04-12 12:50 ./source/x/x11/src/driver/xf86-video-openchrome-0.4.0.tar.xz +-rw-r--r-- 1 root root 430204 2016-01-22 03:45 ./source/x/x11/src/driver/xf86-video-r128-6.10.1.tar.xz +-rw-r--r-- 1 root root 310076 2015-11-11 17:05 ./source/x/x11/src/driver/xf86-video-rendition-4.2.6.tar.xz +-rw-r--r-- 1 root root 270588 2012-07-17 06:26 ./source/x/x11/src/driver/xf86-video-s3-0.6.5.tar.xz +-rw-r--r-- 1 root root 310152 2015-09-26 16:32 ./source/x/x11/src/driver/xf86-video-s3virge-1.10.7.tar.xz +-rw-r--r-- 1 root root 345380 2015-05-08 10:14 ./source/x/x11/src/driver/xf86-video-savage-2.3.8.tar.xz +-rw-r--r-- 1 root root 328668 2015-05-09 14:59 ./source/x/x11/src/driver/xf86-video-siliconmotion-1.7.8.tar.xz +-rw-r--r-- 1 root root 603996 2015-08-29 23:42 ./source/x/x11/src/driver/xf86-video-sis-0.10.8.tar.xz +-rw-r--r-- 1 root root 315000 2012-07-17 06:30 ./source/x/x11/src/driver/xf86-video-sisusb-0.9.6.tar.xz +-rw-r--r-- 1 root root 298360 2015-02-22 21:28 ./source/x/x11/src/driver/xf86-video-tdfx-1.4.6.tar.xz +-rw-r--r-- 1 root root 265952 2012-07-17 06:31 ./source/x/x11/src/driver/xf86-video-tga-1.2.2.tar.xz +-rw-r--r-- 1 root root 308520 2015-03-30 17:13 ./source/x/x11/src/driver/xf86-video-trident-1.3.7.tar.xz +-rw-r--r-- 1 root root 277748 2012-07-17 06:33 ./source/x/x11/src/driver/xf86-video-tseng-1.2.5.tar.xz +-rw-r--r-- 1 root root 183872 2008-03-19 20:58 ./source/x/x11/src/driver/xf86-video-v4l-0.2.0.tar.xz +-rw-r--r-- 1 root root 254884 2015-06-16 16:00 ./source/x/x11/src/driver/xf86-video-vesa-2.3.4.tar.xz +-rw-r--r-- 1 root root 377148 2015-01-19 13:07 ./source/x/x11/src/driver/xf86-video-vmware-13.1.0.tar.xz +-rw-r--r-- 1 root root 252404 2012-07-17 06:34 ./source/x/x11/src/driver/xf86-video-voodoo-1.2.5.tar.xz +-rw-r--r-- 1 root root 466268 2015-08-21 15:35 ./source/x/x11/src/driver/xf86-video-xgi-1.6.1.tar.xz +-rw-r--r-- 1 root root 338112 2012-07-17 06:35 ./source/x/x11/src/driver/xf86-video-xgixp-1.8.1.tar.xz +drwxr-xr-x 2 root root 4096 2015-03-15 21:33 ./source/x/x11/src/font +-rw-r--r-- 1 root root 291832 2010-10-30 03:55 ./source/x/x11/src/font/encodings-1.0.4.tar.xz +-rw-r--r-- 1 root root 945192 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-100dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 796356 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-75dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 296996 2010-11-14 23:59 ./source/x/x11/src/font/font-adobe-utopia-100dpi-1.0.4.tar.xz +-rw-r--r-- 1 root root 247800 2010-11-15 00:02 ./source/x/x11/src/font/font-adobe-utopia-75dpi-1.0.4.tar.xz +-rw-r--r-- 1 root root 263520 2010-11-15 00:05 ./source/x/x11/src/font/font-adobe-utopia-type1-1.0.4.tar.xz +-rw-r--r-- 1 root root 92712 2010-10-05 06:16 ./source/x/x11/src/font/font-alias-1.0.3.tar.xz +-rw-r--r-- 1 root root 101872 2010-11-15 19:55 ./source/x/x11/src/font/font-arabic-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 589148 2010-11-15 20:01 ./source/x/x11/src/font/font-bh-100dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 489900 2010-11-15 20:06 ./source/x/x11/src/font/font-bh-75dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 216368 2010-11-15 20:11 ./source/x/x11/src/font/font-bh-lucidatypewriter-100dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 193720 2010-11-15 20:16 ./source/x/x11/src/font/font-bh-lucidatypewriter-75dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 367740 2010-11-11 05:26 ./source/x/x11/src/font/font-bh-ttf-1.0.3.tar.xz +-rw-r--r-- 1 root root 628208 2010-11-15 20:36 ./source/x/x11/src/font/font-bh-type1-1.0.3.tar.xz +-rw-r--r-- 1 root root 172716 2010-11-15 20:39 ./source/x/x11/src/font/font-bitstream-100dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 155516 2010-11-15 20:46 ./source/x/x11/src/font/font-bitstream-75dpi-1.0.3.tar.xz +-rw-r--r-- 1 root root 329196 2010-11-15 20:53 ./source/x/x11/src/font/font-bitstream-speedo-1.0.2.tar.xz +-rw-r--r-- 1 root root 390700 2010-11-15 20:56 ./source/x/x11/src/font/font-bitstream-type1-1.0.3.tar.xz +-rw-r--r-- 1 root root 236644 2010-11-15 21:06 ./source/x/x11/src/font/font-cronyx-cyrillic-1.0.3.tar.xz +-rw-r--r-- 1 root root 94716 2010-11-15 21:14 ./source/x/x11/src/font/font-cursor-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 508312 2010-11-15 21:20 ./source/x/x11/src/font/font-daewoo-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 92740 2010-11-15 21:25 ./source/x/x11/src/font/font-dec-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 374360 2010-11-15 21:33 ./source/x/x11/src/font/font-ibm-type1-1.0.3.tar.xz +-rw-r--r-- 1 root root 719756 2010-11-15 22:21 ./source/x/x11/src/font/font-isas-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 517868 2010-11-15 22:34 ./source/x/x11/src/font/font-jis-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 91408 2010-11-15 22:38 ./source/x/x11/src/font/font-micro-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 121968 2010-11-15 22:42 ./source/x/x11/src/font/font-misc-cyrillic-1.0.3.tar.xz +-rw-r--r-- 1 root root 218584 2010-11-15 22:46 ./source/x/x11/src/font/font-misc-ethiopic-1.0.3.tar.xz +-rw-r--r-- 1 root root 828248 2010-11-15 22:52 ./source/x/x11/src/font/font-misc-meltho-1.0.3.tar.xz +-rw-r--r-- 1 root root 1423336 2010-11-15 23:06 ./source/x/x11/src/font/font-misc-misc-1.1.2.tar.xz +-rw-r--r-- 1 root root 217292 2010-11-15 23:09 ./source/x/x11/src/font/font-mutt-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 128096 2010-11-15 23:12 ./source/x/x11/src/font/font-schumacher-misc-1.1.2.tar.xz +-rw-r--r-- 1 root root 95876 2010-11-15 23:14 ./source/x/x11/src/font/font-screen-cyrillic-1.0.4.tar.xz +-rw-r--r-- 1 root root 99540 2010-11-15 23:18 ./source/x/x11/src/font/font-sony-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 106568 2010-11-15 23:20 ./source/x/x11/src/font/font-sun-misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 136416 2015-03-14 16:01 ./source/x/x11/src/font/font-util-1.3.1.tar.xz +-rw-r--r-- 1 root root 93740 2010-11-15 23:21 ./source/x/x11/src/font/font-winitzki-cyrillic-1.0.3.tar.xz +-rw-r--r-- 1 root root 117928 2010-11-15 23:23 ./source/x/x11/src/font/font-xfree86-type1-1.0.4.tar.xz +-rwxr-xr-x 1 root root 2052 2016-04-13 17:16 ./source/x/x11/src/get-xf86-video-intel.sh +-rwxr-xr-x 1 root root 2080 2016-04-13 17:16 ./source/x/x11/src/get-xf86-video-nouveau.sh +-rwxr-xr-x 1 root root 2125 2016-04-13 17:16 ./source/x/x11/src/get-xf86-video-openchrome.sh +drwxr-xr-x 2 root root 4096 2016-05-26 22:49 ./source/x/x11/src/lib +-rw-r--r-- 1 root root 266224 2015-05-01 04:35 ./source/x/x11/src/lib/libFS-1.0.7.tar.xz +-rw-r--r-- 1 root root 309088 2014-06-07 01:31 ./source/x/x11/src/lib/libICE-1.0.9.tar.xz +-rw-r--r-- 1 root root 283276 2013-09-08 06:08 ./source/x/x11/src/lib/libSM-1.2.2.tar.xz +-rw-r--r-- 1 root root 1751652 2015-03-09 22:48 ./source/x/x11/src/lib/libX11-1.6.3.tar.xz +-rw-r--r-- 1 root root 235904 2012-03-08 05:08 ./source/x/x11/src/lib/libXScrnSaver-1.2.2.tar.xz +-rw-r--r-- 1 root root 247936 2013-05-24 22:18 ./source/x/x11/src/lib/libXau-1.0.8.tar.xz +-rw-r--r-- 1 root root 565164 2015-05-01 05:18 ./source/x/x11/src/lib/libXaw-1.0.13.tar.xz +-rw-r--r-- 1 root root 454428 2012-03-29 22:44 ./source/x/x11/src/lib/libXaw3d-1.6.2.tar.xz +-rw-r--r-- 1 root root 250328 2013-01-04 09:14 ./source/x/x11/src/lib/libXcm-0.5.2.tar.xz +-rw-r--r-- 1 root root 239876 2013-01-03 07:30 ./source/x/x11/src/lib/libXcomposite-0.4.4.tar.xz +-rw-r--r-- 1 root root 254664 2013-05-30 06:25 ./source/x/x11/src/lib/libXcursor-1.1.14.tar.xz +-rw-r--r-- 1 root root 231332 2013-01-03 05:46 ./source/x/x11/src/lib/libXdamage-1.1.4.tar.xz +-rw-r--r-- 1 root root 274516 2015-03-21 17:02 ./source/x/x11/src/lib/libXdmcp-1.1.2.tar.xz +-rw-r--r-- 1 root root 212200 2010-10-31 16:46 ./source/x/x11/src/lib/libXevie-1.0.3.tar.xz +-rw-r--r-- 1 root root 314576 2014-07-24 01:41 ./source/x/x11/src/lib/libXext-1.3.3.tar.xz +-rw-r--r-- 1 root root 255828 2016-05-26 01:54 ./source/x/x11/src/lib/libXfixes-5.0.2.tar.xz +-rw-r--r-- 1 root root 416988 2015-03-17 15:31 ./source/x/x11/src/lib/libXfont-1.5.1.tar.xz +-rw-r--r-- 1 root root 189140 2009-10-13 20:47 ./source/x/x11/src/lib/libXfontcache-1.0.5.tar.xz +-rw-r--r-- 1 root root 275024 2014-06-06 06:06 ./source/x/x11/src/lib/libXft-2.3.2.tar.xz +-rw-r--r-- 1 root root 394988 2015-12-22 01:21 ./source/x/x11/src/lib/libXi-1.7.6.tar.xz +-rw-r--r-- 1 root root 236468 2013-05-31 00:36 ./source/x/x11/src/lib/libXinerama-1.1.3.tar.xz +-rw-r--r-- 1 root root 322344 2013-09-08 04:30 ./source/x/x11/src/lib/libXmu-1.1.2.tar.xz +-rw-r--r-- 1 root root 259376 2015-02-21 22:05 ./source/x/x11/src/lib/libXp-1.0.3.tar.xz +-rw-r--r-- 1 root root 362444 2013-09-08 04:44 ./source/x/x11/src/lib/libXpm-3.5.11.tar.xz +-rw-r--r-- 1 root root 235464 2015-04-17 18:42 ./source/x/x11/src/lib/libXpresent-1.0.0.tar.xz +-rw-r--r-- 1 root root 259296 2015-05-17 04:50 ./source/x/x11/src/lib/libXrandr-1.5.0.tar.xz +-rw-r--r-- 1 root root 253880 2015-05-01 05:31 ./source/x/x11/src/lib/libXrender-0.9.9.tar.xz +-rw-r--r-- 1 root root 235312 2013-05-31 00:54 ./source/x/x11/src/lib/libXres-1.0.7.tar.xz +-rw-r--r-- 1 root root 646820 2015-05-01 05:40 ./source/x/x11/src/lib/libXt-1.1.5.tar.xz +-rw-r--r-- 1 root root 261976 2013-05-31 02:11 ./source/x/x11/src/lib/libXtst-1.2.2.tar.xz +-rw-r--r-- 1 root root 255508 2013-09-08 05:24 ./source/x/x11/src/lib/libXv-1.0.10.tar.xz +-rw-r--r-- 1 root root 254468 2015-03-14 17:10 ./source/x/x11/src/lib/libXvMC-1.0.9.tar.xz +-rw-r--r-- 1 root root 244736 2013-05-31 01:37 ./source/x/x11/src/lib/libXxf86dga-1.1.4.tar.xz +-rw-r--r-- 1 root root 212836 2010-11-21 21:49 ./source/x/x11/src/lib/libXxf86misc-1.0.3.tar.xz +-rw-r--r-- 1 root root 244964 2015-02-24 07:04 ./source/x/x11/src/lib/libXxf86vm-1.1.4.tar.xz +-rw-r--r-- 1 root root 242436 2013-05-28 23:48 ./source/x/x11/src/lib/libdmx-1.1.3.tar.xz +-rw-r--r-- 1 root root 249424 2015-05-01 04:42 ./source/x/x11/src/lib/libfontenc-1.1.3.tar.xz +-rw-r--r-- 1 root root 297020 2015-05-01 04:47 ./source/x/x11/src/lib/libpciaccess-0.13.4.tar.xz +-rw-r--r-- 1 root root 288036 2015-05-01 05:27 ./source/x/x11/src/lib/libxkbfile-1.0.9.tar.xz +-rw-r--r-- 1 root root 237476 2015-01-02 18:46 ./source/x/x11/src/lib/libxshmfence-1.2.tar.xz +-rw-r--r-- 1 root root 611464 2016-01-31 14:43 ./source/x/x11/src/lib/pixman-0.34.0.tar.xz +-rw-r--r-- 1 root root 167348 2014-09-22 20:43 ./source/x/x11/src/lib/xtrans-1.3.5.tar.xz +drwxr-xr-x 2 root root 4096 2016-05-26 22:48 ./source/x/x11/src/proto +-rw-r--r-- 1 root root 104916 2012-03-23 04:00 ./source/x/x11/src/proto/bigreqsproto-1.1.2.tar.xz +-rw-r--r-- 1 root root 94356 2010-10-30 03:29 ./source/x/x11/src/proto/compositeproto-0.4.2.tar.xz +-rw-r--r-- 1 root root 91724 2010-10-30 03:37 ./source/x/x11/src/proto/damageproto-1.2.1.tar.xz +-rw-r--r-- 1 root root 89776 2011-01-06 01:39 ./source/x/x11/src/proto/dmxproto-2.3.1.tar.xz +-rw-r--r-- 1 root root 100984 2012-07-11 23:07 ./source/x/x11/src/proto/dri2proto-2.8.tar.xz +-rw-r--r-- 1 root root 98372 2013-11-01 01:08 ./source/x/x11/src/proto/dri3proto-1.0.tar.xz +-rw-r--r-- 1 root root 88412 2011-01-06 02:06 ./source/x/x11/src/proto/evieext-1.1.1.tar.xz +-rw-r--r-- 1 root root 93728 2011-03-08 16:19 ./source/x/x11/src/proto/fixesproto-5.0.tar.xz +-rw-r--r-- 1 root root 78004 2009-10-13 20:53 ./source/x/x11/src/proto/fontcacheproto-0.1.3.tar.xz +-rw-r--r-- 1 root root 142728 2014-04-14 17:40 ./source/x/x11/src/proto/fontsproto-2.1.3.tar.xz +-rw-r--r-- 1 root root 117712 2013-12-10 15:08 ./source/x/x11/src/proto/glproto-1.4.17.tar.xz +-rw-r--r-- 1 root root 185524 2016-04-04 02:32 ./source/x/x11/src/proto/inputproto-2.3.2.tar.xz +-rw-r--r-- 1 root root 231492 2015-05-01 05:51 ./source/x/x11/src/proto/kbproto-1.0.7.tar.xz +-rw-r--r-- 1 root root 101168 2013-11-01 01:05 ./source/x/x11/src/proto/presentproto-1.0.tar.xz +-rw-r--r-- 1 root root 191432 2011-01-06 02:33 ./source/x/x11/src/proto/printproto-1.0.5.tar.xz +-rw-r--r-- 1 root root 132864 2015-05-17 04:32 ./source/x/x11/src/proto/randrproto-1.5.0.tar.xz +-rw-r--r-- 1 root root 114164 2012-03-23 04:00 ./source/x/x11/src/proto/recordproto-1.14.2.tar.xz +-rw-r--r-- 1 root root 97920 2010-08-10 14:13 ./source/x/x11/src/proto/renderproto-0.11.1.tar.xz +-rw-r--r-- 1 root root 96052 2011-05-28 04:32 ./source/x/x11/src/proto/resourceproto-1.2.0.tar.xz +-rw-r--r-- 1 root root 110116 2012-03-23 04:00 ./source/x/x11/src/proto/scrnsaverproto-1.2.2.tar.xz +-rw-r--r-- 1 root root 112500 2016-03-11 18:19 ./source/x/x11/src/proto/videoproto-2.3.3.tar.xz +-rw-r--r-- 1 root root 104376 2012-03-23 04:01 ./source/x/x11/src/proto/xcmiscproto-1.2.2.tar.xz +-rw-r--r-- 1 root root 211284 2013-12-27 18:17 ./source/x/x11/src/proto/xextproto-7.3.0.tar.xz +-rw-r--r-- 1 root root 45976 2009-10-13 20:53 ./source/x/x11/src/proto/xf86bigfontproto-1.2.0.tar.xz +-rw-r--r-- 1 root root 79572 2009-10-13 20:53 ./source/x/x11/src/proto/xf86dgaproto-2.1.tar.xz +-rw-r--r-- 1 root root 89840 2011-01-06 03:57 ./source/x/x11/src/proto/xf86driproto-2.1.1.tar.xz +-rw-r--r-- 1 root root 78424 2009-10-13 20:53 ./source/x/x11/src/proto/xf86miscproto-0.9.3.tar.xz +-rw-r--r-- 1 root root 90148 2011-01-06 04:06 ./source/x/x11/src/proto/xf86vidmodeproto-2.3.1.tar.xz +-rw-r--r-- 1 root root 89352 2011-01-06 04:21 ./source/x/x11/src/proto/xineramaproto-1.2.1.tar.xz +-rw-r--r-- 1 root root 272496 2016-05-13 08:34 ./source/x/x11/src/proto/xproto-7.0.29.tar.xz +drwxr-xr-x 2 root root 4096 2015-12-23 20:06 ./source/x/x11/src/util +-rw-r--r-- 1 root root 97488 2014-05-21 18:26 ./source/x/x11/src/util/gccmakedep-1.0.3.tar.xz +-rw-r--r-- 1 root root 146672 2014-05-21 18:55 ./source/x/x11/src/util/imake-1.0.7.tar.xz +-rw-r--r-- 1 root root 106664 2012-03-08 05:51 ./source/x/x11/src/util/lndir-1.0.3.tar.xz +-rw-r--r-- 1 root root 133036 2013-07-23 05:15 ./source/x/x11/src/util/makedepend-1.0.5.tar.xz +-rw-r--r-- 1 root root 77072 2014-03-27 13:21 ./source/x/x11/src/util/util-macros-1.19.0.tar.xz +-rw-r--r-- 1 root root 298008 2015-12-22 01:29 ./source/x/x11/src/util/xorg-cf-files-1.0.6.tar.xz +drwxr-xr-x 2 root root 4096 2015-10-01 21:03 ./source/x/x11/src/xcb +-rw-r--r-- 1 root root 185164 2009-10-14 09:16 ./source/x/x11/src/xcb/libpthread-stubs-0.3.tar.xz +-rw-r--r-- 1 root root 357048 2015-09-06 10:48 ./source/x/x11/src/xcb/libxcb-1.11.1.tar.xz +-rw-r--r-- 1 root root 134016 2014-08-01 13:49 ./source/x/x11/src/xcb/xcb-proto-1.11.tar.xz +-rw-r--r-- 1 root root 247676 2014-10-15 05:34 ./source/x/x11/src/xcb/xcb-util-0.4.0.tar.xz +-rw-r--r-- 1 root root 246156 2015-03-25 22:11 ./source/x/x11/src/xcb/xcb-util-cursor-0.1.2.tar.xz +-rw-r--r-- 1 root root 251100 2015-04-26 14:14 ./source/x/x11/src/xcb/xcb-util-errors-1.0.tar.xz +-rw-r--r-- 1 root root 271064 2014-10-15 04:11 ./source/x/x11/src/xcb/xcb-util-image-0.4.0.tar.xz +-rw-r--r-- 1 root root 241520 2014-10-01 10:05 ./source/x/x11/src/xcb/xcb-util-keysyms-0.4.0.tar.xz +-rw-r--r-- 1 root root 243560 2014-06-13 02:53 ./source/x/x11/src/xcb/xcb-util-renderutil-0.3.9.tar.xz +-rw-r--r-- 1 root root 266716 2014-02-19 11:40 ./source/x/x11/src/xcb/xcb-util-wm-0.4.1.tar.xz +-rw-r--r-- 1 root root 232228 2012-03-23 22:46 ./source/x/x11/src/xcb/xpyb-1.3.1.tar.xz +-rw-r--r-- 1 root root 50 2016-05-25 21:06 ./source/x/x11/src/xf86-input-wacom.url +drwxr-xr-x 2 root root 4096 2016-04-06 00:53 ./source/x/x11/src/xserver +-rw-r--r-- 1 root root 4696844 2016-04-04 19:48 ./source/x/x11/src/xserver/xorg-server-1.18.3.tar.xz +-rwxr-xr-x 1 root root 13192 2015-08-19 06:04 ./source/x/x11/x11.SlackBuild +drwxr-xr-x 2 root root 4096 2014-05-13 04:30 ./source/x/xdg-user-dirs +-rw-r--r-- 1 root root 281 2010-12-15 02:17 ./source/x/xdg-user-dirs/doinst.sh.gz +-rw-r--r-- 1 root root 940 2011-02-01 06:53 ./source/x/xdg-user-dirs/slack-desc +-rw-r--r-- 1 root root 174740 2013-06-27 08:53 ./source/x/xdg-user-dirs/xdg-user-dirs-0.15.tar.xz +-rwxr-xr-x 1 root root 3470 2014-07-14 21:51 ./source/x/xdg-user-dirs/xdg-user-dirs.SlackBuild +drwxr-xr-x 2 root root 4096 2015-10-06 03:48 ./source/x/xdg-utils +-rw-r--r-- 1 root root 1432 2011-01-20 23:46 ./source/x/xdg-utils/doinst.sh.gz +-rw-r--r-- 1 root root 1010 2008-08-01 05:42 ./source/x/xdg-utils/slack-desc +-rw-r--r-- 1 root root 268392 2015-10-05 19:05 ./source/x/xdg-utils/xdg-utils-1.1.1.tar.xz +-rwxr-xr-x 1 root root 2679 2015-10-06 03:48 ./source/x/xdg-utils/xdg-utils.SlackBuild +-rw-r--r-- 1 root root 94 2015-10-04 22:28 ./source/x/xdg-utils/xdg-utils.url +drwxr-xr-x 2 root root 4096 2016-06-13 01:44 ./source/x/xterm +-rw-r--r-- 1 root root 172 2012-06-26 14:31 ./source/x/xterm/doinst.sh.gz +-rw-r--r-- 1 root root 764 2007-02-11 23:54 ./source/x/xterm/slack-desc +-rw-r--r-- 1 root root 862872 2016-06-05 22:28 ./source/x/xterm/xterm-325.tar.xz +-rwxr-xr-x 1 root root 4074 2015-11-11 21:48 ./source/x/xterm/xterm.SlackBuild +drwxr-xr-x 48 root root 4096 2016-06-07 18:08 ./source/xap +drwxr-xr-x 2 root root 4096 2016-03-13 20:14 ./source/xap/MPlayer +-rw-r--r-- 1 root root 222529 2015-09-12 17:47 ./source/xap/MPlayer/Blue-1.11.tar.bz2 +-rw-r--r-- 1 root root 5234232 2016-01-25 01:47 ./source/xap/MPlayer/MPlayer-20160125.tar.xz +-rwxr-xr-- 1 root root 18800 2016-05-23 20:28 ./source/xap/MPlayer/MPlayer.SlackBuild +-rw-r--r-- 1 root root 163 2016-03-13 20:12 ./source/xap/MPlayer/MPlayer.demux_lavf.flac.diff.gz +-rw-r--r-- 1 root root 7205300 2016-02-01 01:06 ./source/xap/MPlayer/ffmpeg-2.8.6.tar.xz +-rw-r--r-- 1 root root 473 2016-02-01 01:06 ./source/xap/MPlayer/ffmpeg-2.8.6.tar.xz.asc +-rw-r--r-- 1 root root 219 2015-03-09 20:07 ./source/xap/MPlayer/include-samba-4.0.patch.gz +-rw-r--r-- 1 root root 1084 2015-04-05 05:08 ./source/xap/MPlayer/slack-desc +drwxr-xr-x 2 root root 4096 2016-03-29 21:02 ./source/xap/audacious +drwxr-xr-x 2 root root 4096 2016-03-29 21:02 ./source/xap/audacious-plugins +-rw-r--r-- 1 root root 1489956 2016-03-28 16:31 ./source/xap/audacious-plugins/audacious-plugins-3.7.2.tar.xz +-rwxr-xr-x 1 root root 4093 2015-10-23 20:52 ./source/xap/audacious-plugins/audacious-plugins.SlackBuild +-rw-r--r-- 1 root root 891 2015-04-05 22:39 ./source/xap/audacious-plugins/slack-desc +-rw-r--r-- 1 root root 524332 2016-03-28 16:28 ./source/xap/audacious/audacious-3.7.2.tar.xz +-rwxr-xr-x 1 root root 4473 2015-10-23 20:50 ./source/xap/audacious/audacious.SlackBuild +-rw-r--r-- 1 root root 121 2010-04-09 21:15 ./source/xap/audacious/doinst.sh.gz +-rw-r--r-- 1 root root 1074 2015-04-05 22:31 ./source/xap/audacious/slack-desc +drwxr-xr-x 2 root root 4096 2012-08-08 18:00 ./source/xap/blackbox +-rw-r--r-- 1 root root 176564 2009-09-03 11:39 ./source/xap/blackbox/bbkeys-0.9.1.tar.xz +-rw-r--r-- 1 root root 964 2009-09-03 11:39 ./source/xap/blackbox/blackbox-0.70.1-gcc-4.3.patch.gz +-rw-r--r-- 1 root root 409496 2009-09-03 11:39 ./source/xap/blackbox/blackbox-0.70.1.tar.xz +-rwxr-xr-x 1 root root 6475 2012-08-08 18:01 ./source/xap/blackbox/blackbox.SlackBuild +-rw-r--r-- 1 root root 900 2002-05-05 23:41 ./source/xap/blackbox/slack-desc +-rw-r--r-- 1 root root 221 2012-08-08 17:58 ./source/xap/blackbox/startblackbox.gz +-rw-r--r-- 1 root root 413 2012-07-25 03:36 ./source/xap/blackbox/textpropertytostring-unconditional.diff.gz +-rw-r--r-- 1 root root 341 2012-08-08 17:58 ./source/xap/blackbox/xinitrc.blackbox.gz +drwxr-xr-x 2 root root 4096 2016-05-31 06:44 ./source/xap/blueman +-rw-r--r-- 1 root root 914 2016-05-30 04:34 ./source/xap/blueman/0001-Notification-Also-check-if-notification-daemon-suppo.patch.gz +-rw-r--r-- 1 root root 538 2016-05-30 04:34 ./source/xap/blueman/0002-NetConf-Treat-UnicodeDecodeError-as-if-there-was-no-.patch.gz +-rw-r--r-- 1 root root 1951988 2016-03-23 06:42 ./source/xap/blueman/blueman-2.0.4.tar.xz +-rwxr-xr-x 1 root root 4094 2016-05-30 04:36 ./source/xap/blueman/blueman.SlackBuild +-rw-r--r-- 1 root root 392 2015-03-05 18:06 ./source/xap/blueman/doinst.sh.gz +-rw-r--r-- 1 root root 898 2015-12-22 23:32 ./source/xap/blueman/slack-desc +drwxr-xr-x 2 root root 4096 2014-05-13 03:07 ./source/xap/ddd +-rw-r--r-- 1 root root 4354996 2009-02-11 18:11 ./source/xap/ddd/ddd-3.3.12.tar.xz +-rwxr-xr-x 1 root root 3825 2015-08-19 19:49 ./source/xap/ddd/ddd.SlackBuild +-rw-r--r-- 1 root root 5689 2010-06-16 05:22 ./source/xap/ddd/ddd.png +-rw-r--r-- 1 root root 121 2010-06-16 05:22 ./source/xap/ddd/doinst.sh.gz +-rw-r--r-- 1 root root 260 2014-05-13 03:05 ./source/xap/ddd/machine_code_window_fix.diff.gz +-rw-r--r-- 1 root root 883 2010-06-16 05:22 ./source/xap/ddd/slack-desc +-rw-r--r-- 1 root root 199 2010-06-16 05:22 ./source/xap/ddd/strclass.C.diff.gz +drwxr-xr-x 2 root root 4096 2015-03-29 21:01 ./source/xap/electricsheep +-rw-r--r-- 1 root root 1306 2009-01-07 22:42 ./source/xap/electricsheep/README.slackware +-rw-r--r-- 1 root root 3116176 2009-03-06 00:30 ./source/xap/electricsheep/electricsheep-20090306.tar.xz +-rwxr-xr-- 1 root root 9833 2015-03-29 21:03 ./source/xap/electricsheep/electricsheep.SlackBuild +-rw-r--r-- 1 root root 268 2009-07-01 19:53 ./source/xap/electricsheep/electricsheep.mplayer.diff.gz +-rw-r--r-- 1 root root 524 2009-01-07 21:38 ./source/xap/electricsheep/electricsheep_gnome-open.patch +-rw-r--r-- 1 root root 2395 2015-03-29 20:59 ./source/xap/electricsheep/flam3-3.0.1-libpng15.patch +-rw-r--r-- 1 root root 1116 2008-12-15 23:44 ./source/xap/electricsheep/slack-desc +drwxr-xr-x 2 root root 4096 2015-02-11 04:13 ./source/xap/fluxbox +-rw-r--r-- 1 root root 790300 2015-02-08 10:51 ./source/xap/fluxbox/fluxbox-1.3.7.tar.xz +-rwxr-xr-x 1 root root 4008 2015-01-08 05:48 ./source/xap/fluxbox/fluxbox.SlackBuild +-rw-r--r-- 1 root root 323 2012-08-09 04:35 ./source/xap/fluxbox/fluxbox.startfluxbox.dbus.diff.gz +-rw-r--r-- 1 root root 687 2005-07-21 19:03 ./source/xap/fluxbox/slack-desc +-rw-r--r-- 1 root root 339 2012-08-08 19:16 ./source/xap/fluxbox/xinitrc.fluxbox.gz +drwxr-xr-x 2 root root 4096 2016-03-26 18:45 ./source/xap/fvwm +-rw-r--r-- 1 root root 23007 2007-02-18 02:02 ./source/xap/fvwm/ancient-icons.tar.gz +-rw-r--r-- 1 root root 296 2011-04-24 01:11 ./source/xap/fvwm/doinst.sh.gz +-rw-r--r-- 1 root root 2048728 2016-03-19 21:55 ./source/xap/fvwm/fvwm-2.6.6.tar.xz +-rwxr-xr-x 1 root root 4315 2016-03-26 18:45 ./source/xap/fvwm/fvwm.SlackBuild +-rw-r--r-- 1 root root 869 2016-03-26 18:43 ./source/xap/fvwm/slack-desc +-rw-r--r-- 1 root root 217 2012-08-09 04:42 ./source/xap/fvwm/startfvwm2.gz +-rw-r--r-- 1 root root 360 2012-08-10 23:46 ./source/xap/fvwm/xinitrc.fvwm2.gz +drwxr-xr-x 2 root root 4096 2016-05-27 21:47 ./source/xap/geeqie +-rw-r--r-- 1 root root 163 2010-03-11 23:20 ./source/xap/geeqie/doinst.sh.gz +-rw-r--r-- 1 root root 1141820 2016-05-27 09:41 ./source/xap/geeqie/geeqie-1.3.tar.xz +-rw-r--r-- 1 root root 677 2016-05-27 09:42 ./source/xap/geeqie/geeqie-1.3.tar.xz.asc +-rwxr-xr-x 1 root root 4203 2016-04-12 17:34 ./source/xap/geeqie/geeqie.SlackBuild +-rw-r--r-- 1 root root 760 2015-08-25 20:48 ./source/xap/geeqie/slack-desc +drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/gftp +-rw-r--r-- 1 root root 1687167 2008-12-02 14:07 ./source/xap/gftp/gftp-2.0.19.tar.bz2 +-rwxr-xr-x 1 root root 3418 2015-03-20 20:36 ./source/xap/gftp/gftp.SlackBuild +-rw-r--r-- 1 root root 304 2008-12-02 20:08 ./source/xap/gftp/gftp.desktop.gz +-rw-r--r-- 1 root root 899 2008-02-11 03:44 ./source/xap/gftp/slack-desc +drwxr-xr-x 2 root root 4096 2015-11-22 04:16 ./source/xap/gimp +-rw-r--r-- 1 root root 15707168 2015-11-21 18:20 ./source/xap/gimp/gimp-2.8.16.tar.xz +-rwxr-xr-x 1 root root 4143 2015-11-24 02:50 ./source/xap/gimp/gimp.SlackBuild +-rw-r--r-- 1 root root 928 2003-01-29 03:18 ./source/xap/gimp/slack-desc +drwxr-xr-x 2 root root 4096 2016-06-07 18:04 ./source/xap/gkrellm +-rw-r--r-- 1 root root 657236 2016-06-03 22:13 ./source/xap/gkrellm/gkrellm-2.3.7.tar.xz +-rw-r--r-- 1 root root 12374 2004-02-01 16:30 ./source/xap/gkrellm/gkrellm-countdown-0.1.1.tar.gz +-rwxr-xr-x 1 root root 4603 2016-06-07 18:05 ./source/xap/gkrellm/gkrellm.SlackBuild +-rw-r--r-- 1 root root 211 2008-10-26 01:35 ./source/xap/gkrellm/gkrellm.theme.defaults.diff.gz +-rw-r--r-- 1 root root 971 2004-04-29 18:52 ./source/xap/gkrellm/slack-desc +drwxr-xr-x 2 root root 4096 2015-10-23 18:30 ./source/xap/gnuchess +-rw-r--r-- 1 root root 142963 2004-01-19 11:50 ./source/xap/gnuchess/Sjeng-Free-11.2.tar.bz2 +-rw-r--r-- 1 root root 652 2004-10-27 05:47 ./source/xap/gnuchess/chess.png +-rw-r--r-- 1 root root 271 2013-03-20 02:41 ./source/xap/gnuchess/doinst.sh.gz +-rw-r--r-- 1 root root 462386 2008-02-22 15:57 ./source/xap/gnuchess/eboard-1.1.1.tar.bz2 +-rw-r--r-- 1 root root 458 2010-02-20 03:54 ./source/xap/gnuchess/eboard.assert.diff.gz +-rw-r--r-- 1 root root 224 2004-10-27 06:07 ./source/xap/gnuchess/eboard.desktop +-rw-r--r-- 1 root root 221 2013-03-20 01:49 ./source/xap/gnuchess/eboard.ldl.diff.gz +-rw-r--r-- 1 root root 336 2015-03-23 16:11 ./source/xap/gnuchess/eboard.png16.diff.gz +-rw-r--r-- 1 root root 502336 2015-10-17 14:46 ./source/xap/gnuchess/gnuchess-6.2.2.tar.xz +-rwxr-xr-x 1 root root 5961 2015-10-23 18:30 ./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 2571776 2014-11-03 01:39 ./source/xap/gnuchess/xboard-4.8.0.tar.xz +-rw-r--r-- 1 root root 269 2015-03-20 18:35 ./source/xap/gnuchess/xboard.conf.diff.gz +drwxr-xr-x 2 root root 4096 2016-03-15 21:10 ./source/xap/gnuplot +-rw-r--r-- 1 root root 4018280 2016-02-22 04:50 ./source/xap/gnuplot/gnuplot-5.0.3.tar.xz +-rwxr-xr-x 1 root root 4282 2016-05-17 21:08 ./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 2016-06-14 17:12 ./source/xap/gparted +-rw-r--r-- 1 root root 742 2016-01-14 02:52 ./source/xap/gparted/com.slackware.pkexec.gparted.policy +-rw-r--r-- 1 root root 121 2016-02-03 19:48 ./source/xap/gparted/doinst.sh.gz +-rw-r--r-- 1 root root 1964360 2016-06-13 16:57 ./source/xap/gparted/gparted-0.26.1.tar.xz +-rwxr-xr-x 1 root root 4168 2016-02-03 19:48 ./source/xap/gparted/gparted.SlackBuild +-rw-r--r-- 1 root root 131 2016-01-14 02:52 ./source/xap/gparted/gparted_polkit +-rw-r--r-- 1 root root 868 2016-02-03 19:42 ./source/xap/gparted/slack-desc +drwxr-xr-x 2 root root 4096 2014-09-23 14:10 ./source/xap/gucharmap +-rw-r--r-- 1 root root 172 2013-01-18 06:36 ./source/xap/gucharmap/doinst.sh.gz +-rw-r--r-- 1 root root 1918188 2014-05-12 19:30 ./source/xap/gucharmap/gucharmap-3.12.1.tar.xz +-rwxr-xr-x 1 root root 3381 2015-11-20 23:21 ./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 2015-03-29 20:21 ./source/xap/gv -rw-r--r-- 1 root root 513284 2013-03-17 11:36 ./source/xap/gv/gv-3.7.4.tar.xz -rw-r--r-- 1 root root 3086 2015-03-29 20:20 ./source/xap/gv/gv-xft.patch.gz @@ -7171,3 +13301,37 @@ drwxr-xr-x 2 root root 4096 2012-03-02 16:01 ./source/y/bsd-games/fortune- -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 2016-06-30 17:28 ./testing +-rw-r--r-- 1 root root 1825 2016-06-30 17:28 ./testing/CHECKSUMS.md5 +-rw-r--r-- 1 root root 181 2016-06-30 17:28 ./testing/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 2397 2016-06-30 17:28 ./testing/FILE_LIST +-rw-r--r-- 1 root root 2993 2016-06-30 17:28 ./testing/MANIFEST.bz2 +-rw-r--r-- 1 root root 1975 2016-06-30 17:28 ./testing/PACKAGES.TXT +drwxr-xr-x 2 root root 4096 2016-06-30 17:28 ./testing/packages +-rw-r--r-- 1 root root 461 2013-09-12 21:49 ./testing/packages/efibootmgr-0.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 51940 2013-09-12 21:49 ./testing/packages/efibootmgr-0.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2013-09-12 21:49 ./testing/packages/efibootmgr-0.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 526 2016-06-30 17:16 ./testing/packages/kernel-module-ecryptfs-4.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 40428 2016-06-30 17:16 ./testing/packages/kernel-module-ecryptfs-4.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 181 2016-06-30 17:16 ./testing/packages/kernel-module-ecryptfs-4.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 358 2016-06-16 18:07 ./testing/packages/tmux-2.2-x86_64-2.txt +-rw-r--r-- 1 root root 219192 2016-06-16 18:07 ./testing/packages/tmux-2.2-x86_64-2.txz +-rw-r--r-- 1 root root 181 2016-06-16 18:07 ./testing/packages/tmux-2.2-x86_64-2.txz.asc +drwxr-xr-x 5 root root 4096 2016-06-26 01:20 ./testing/source +drwxr-xr-x 2 root root 4096 2013-09-12 21:49 ./testing/source/efibootmgr +-rw-r--r-- 1 root root 64995 2013-09-12 03:45 ./testing/source/efibootmgr/efibootmgr-0.6.0.tar.gz +-rwxr-xr-x 1 root root 3524 2013-09-12 21:44 ./testing/source/efibootmgr/efibootmgr.SlackBuild +-rw-r--r-- 1 root root 952 2013-09-12 21:48 ./testing/source/efibootmgr/slack-desc +drwxr-xr-x 2 root root 4096 2016-05-17 05:05 ./testing/source/linux-4.6-configs +-rw-r--r-- 1 root root 164762 2016-05-17 05:04 ./testing/source/linux-4.6-configs/config-generic-4.6.x64 +-rw-r--r-- 1 root root 164762 2016-05-17 05:04 ./testing/source/linux-4.6-configs/config-huge-4.6.x64 +drwxr-xr-x 2 root root 4096 2016-04-11 18:25 ./testing/source/tmux +-rw-r--r-- 1 root root 813 2015-08-07 18:50 ./testing/source/tmux/slack-desc +-rw-r--r-- 1 root root 345420 2016-04-11 00:05 ./testing/source/tmux/tmux-2.2.tar.xz +-rwxr-xr-x 1 root root 4579 2016-06-16 18:07 ./testing/source/tmux/tmux.SlackBuild +drwxr-xr-x 2 root root 4096 2016-06-24 21:15 ./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 9197 2013-09-25 04:33 ./usb-and-pxe-installers/README_USB.TXT +-rw-r--r-- 1 root root 574 2013-03-27 04:59 ./usb-and-pxe-installers/pxelinux.cfg_default +-rw-r--r-- 1 root root 48116736 2016-06-24 21:15 ./usb-and-pxe-installers/usbboot.img +-rw-r--r-- 1 root root 16045 2016-03-29 07:41 ./usb-and-pxe-installers/usbimg2disk.sh diff --git a/READ_DVD.TXT b/READ_DVD.TXT deleted file mode 100644 index 26093f007..000000000 --- a/READ_DVD.TXT +++ /dev/null @@ -1,7175 +0,0 @@ - -Welcome to the Slackware Linux version 14.2 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 - | | |-- display_orphans.sh - | | |-- slack-desc - | | |-- symlinks-to-tracked-libs - | | |-- symlinks-to-tracked-libs-tmp - | | |-- tracked-files - | | `-- tracked-files-tmp - | |-- aaa_terminfo - | | |-- aaa_terminfo.SlackBuild - | | `-- slack-desc - | |-- acl - | | |-- acl-2.2.52.src.tar.xz - | | |-- acl.SlackBuild - | | `-- slack-desc - | |-- acpid - | | |-- acpi_handler.sh.gz - | | |-- acpid-2.0.26.tar.xz - | | |-- acpid.SlackBuild - | | |-- acpid.url - | | |-- default.gz - | | |-- doinst.sh.gz - | | |-- rc.acpid.gz - | | `-- slack-desc - | |-- attr - | | |-- attr-2.4.47.src.tar.xz - | | |-- attr.SlackBuild - | | |-- build - | | `-- slack-desc - | |-- bash - | | |-- bash-4.3-patches - | | | |-- bash43-001 - | | | |-- bash43-001.sig - | | | |-- bash43-002 - | | | |-- bash43-002.sig - | | | |-- bash43-003 - | | | |-- bash43-003.sig - | | | |-- bash43-004 - | | | |-- bash43-004.sig - | | | |-- bash43-005 - | | | |-- bash43-005.sig - | | | |-- bash43-006 - | | | |-- bash43-006.sig - | | | |-- bash43-007 - | | | |-- bash43-007.sig - | | | |-- bash43-008 - | | | |-- bash43-008.sig - | | | |-- bash43-009 - | | | |-- bash43-009.sig - | | | |-- bash43-010 - | | | |-- bash43-010.sig - | | | |-- bash43-011 - | | | |-- bash43-011.sig - | | | |-- bash43-012 - | | | |-- bash43-012.sig - | | | |-- bash43-013 - | | | |-- bash43-013.sig - | | | |-- bash43-014 - | | | |-- bash43-014.sig - | | | |-- bash43-015 - | | | |-- bash43-015.sig - | | | |-- bash43-016 - | | | |-- bash43-016.sig - | | | |-- bash43-017 - | | | |-- bash43-017.sig - | | | |-- bash43-018 - | | | |-- bash43-018.sig - | | | |-- bash43-019 - | | | |-- bash43-019.sig - | | | |-- bash43-020 - | | | |-- bash43-020.sig - | | | |-- bash43-021 - | | | |-- bash43-021.sig - | | | |-- bash43-022 - | | | |-- bash43-022.sig - | | | |-- bash43-023 - | | | |-- bash43-023.sig - | | | |-- bash43-024 - | | | |-- bash43-024.sig - | | | |-- bash43-025 - | | | |-- bash43-025.sig - | | | |-- bash43-026 - | | | |-- bash43-026.sig - | | | |-- bash43-027 - | | | |-- bash43-027.sig - | | | |-- bash43-028 - | | | |-- bash43-028.sig - | | | |-- bash43-029 - | | | |-- bash43-029.sig - | | | |-- bash43-030 - | | | |-- bash43-030.sig - | | | |-- bash43-031 - | | | |-- bash43-031.sig - | | | |-- bash43-032 - | | | |-- bash43-032.sig - | | | |-- bash43-033 - | | | |-- bash43-033.sig - | | | |-- bash43-034 - | | | |-- bash43-034.sig - | | | |-- bash43-035 - | | | |-- bash43-035.sig - | | | |-- bash43-036 - | | | |-- bash43-036.sig - | | | |-- bash43-037 - | | | |-- bash43-037.sig - | | | |-- bash43-038 - | | | |-- bash43-038.sig - | | | |-- bash43-039 - | | | |-- bash43-039.sig - | | | |-- bash43-040 - | | | |-- bash43-040.sig - | | | |-- bash43-041 - | | | |-- bash43-041.sig - | | | |-- bash43-042 - | | | |-- bash43-042.sig - | | | |-- bash43-043 - | | | |-- bash43-043.sig - | | | |-- bash43-044 - | | | |-- bash43-044.sig - | | | |-- bash43-045 - | | | |-- bash43-045.sig - | | | |-- bash43-046 - | | | `-- bash43-046.sig - | | |-- bash-4.3.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-v4.5.3.tar.sign - | | |-- btrfs-progs-v4.5.3.tar.xz - | | |-- btrfs-progs.SlackBuild - | | |-- btrfs-progs.url - | | `-- slack-desc - | |-- bzip2 - | | |-- bzip2-1.0.6.tar.gz - | | |-- bzip2.SlackBuild - | | |-- bzip2.saneso.diff.gz - | | `-- slack-desc - | |-- coreutils - | | |-- DIR_COLORS.gz - | | |-- coreutils-8.25.tar.xz - | | |-- coreutils-8.25.tar.xz.sig - | | |-- coreutils-dircolors.csh.gz - | | |-- coreutils-dircolors.sh.gz - | | |-- coreutils.SlackBuild - | | |-- coreutils.uname.diff.gz - | | |-- doinst.sh.gz - | | |-- no_ls_quoting.patch.gz - | | `-- slack-desc - | |-- cpio - | | |-- cpio-2.12.tar.xz - | | |-- cpio.SlackBuild - | | `-- slack-desc - | |-- cpufrequtils - | | |-- cpufrequtils-008.tar.bz2 - | | |-- cpufrequtils-008.tar.bz2.sign - | | |-- cpufrequtils.SlackBuild - | | `-- slack-desc - | |-- cryptsetup - | | |-- cryptsetup-1.7.1.tar.sign - | | |-- cryptsetup-1.7.1.tar.xz - | | |-- cryptsetup.SlackBuild - | | `-- slack-desc - | |-- dbus - | | |-- dbus-1.10.8.tar.xz - | | |-- dbus-1.10.x-allow_root_globally.diff.gz - | | |-- dbus.SlackBuild - | | |-- 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 - | | |-- dcron.update.during.long.running.jobs.diff.gz - | | |-- defs.h.TMPDIR.diff.gz - | | |-- defs.h._DEFAULT_SOURCE.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.2-20130523.tar.xz - | | |-- dialog.SlackBuild - | | |-- dialog.smaller.min.height.diff.gz - | | `-- slack-desc - | |-- dosfstools - | | |-- dosfstools-3.0.28.tar.xz - | | |-- dosfstools-3.0.28.tar.xz.sig - | | |-- dosfstools.SlackBuild - | | |-- dosfstools.paths.diff.gz - | | |-- dosfstools.url - | | `-- slack-desc - | |-- e2fsprogs - | | |-- doinst.sh.gz - | | |-- e2fsprogs-1.43.1.tar.sign - | | |-- e2fsprogs-1.43.1.tar.xz - | | |-- e2fsprogs.SlackBuild - | | |-- e2fsprogs.no.64bit.by.default.diff.gz - | | `-- slack-desc - | |-- ed - | | |-- ed-1.13.tar.xz - | | |-- ed.SlackBuild - | | `-- slack-desc - | |-- efibootmgr - | | |-- efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch.gz - | | |-- efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch.gz - | | |-- efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch.gz - | | |-- efibootmgr-0.5.4-support-4k-sectors.patch.gz - | | |-- efibootmgr-0.5.4.tar.gz - | | |-- efibootmgr.SlackBuild - | | `-- slack-desc - | |-- eject - | | |-- eject-2.1.5.tar.bz2 - | | |-- eject.CDROM_DRIVE_STATUS.diff.gz - | | |-- eject.SlackBuild - | | |-- eject.spaces.diff.gz - | | `-- slack-desc - | |-- elilo - | | |-- elilo-3.16-all.tar.xz - | | |-- elilo.SlackBuild - | | |-- elilo.x64.rebuilt.tar.xz - | | |-- eliloconfig - | | |-- setup.ll.eliloconfig - | | `-- 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 - | |-- eudev - | | |-- 0001-Remove-obsolete-udev_root-references.patch.gz - | | |-- 0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch.gz - | | |-- 60-cdrom_id.rules.diff.gz - | | |-- 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 - | | | | `-- 65-permissions.rules - | | | `-- udev.conf - | | |-- doinst.sh.gz - | | |-- eudev-3.1.5.tar.xz - | | |-- eudev.SlackBuild - | | `-- slack-desc - | |-- file - | | |-- doinst.sh.gz - | | |-- file-5.25.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 - | | |-- recompile_magic.mgc.sh.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.5-20081027.diff.gz - | | |-- fdutils-5.5.tar.xz - | | |-- fdutils.mediaprm.diff.gz - | | |-- floppy.SlackBuild - | | |-- mediaprm - | | |-- mtools-4.0.18.tar.xz - | | |-- mtools.conf - | | `-- slack-desc - | |-- gawk - | | |-- gawk-4.1.3.tar.xz - | | |-- gawk-4.1.3.tar.xz.sig - | | |-- 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.19.8.1.tar.xz - | | |-- gettext-0.19.8.1.tar.xz.sig - | | |-- 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 - | |-- glibc-zoneinfo - | | |-- doinst.sh.gz - | | |-- glibc-zoneinfo.SlackBuild - | | |-- slack-desc - | | |-- timezone-scripts - | | | |-- output-updated-timeconfig.sh - | | | |-- parts - | | | | |-- 00 - | | | | |-- 01 - | | | | |-- 02 - | | | | |-- 03 - | | | | |-- 04 - | | | | `-- README - | | | |-- setup.timeconfig - | | | `-- timeconfig - | | |-- tzcode2016e.tar.gz - | | |-- tzcode2016e.tar.gz.asc - | | |-- tzdata2016e.tar.gz - | | `-- tzdata2016e.tar.gz.asc - | |-- gpm - | | |-- gpm-1.20.1-lib-silent.patch.gz - | | |-- gpm-1.20.1-select-1.patch.gz - | | |-- gpm-1.20.1-weak-wgetch.patch.gz - | | |-- gpm-1.20.5-close-fds.patch.gz - | | |-- gpm-1.20.7.tar.xz - | | |-- gpm.SlackBuild - | | |-- inputattach.c.gz - | | |-- mouseconfig.gz - | | |-- setup.mouse.gz - | | `-- slack-desc - | |-- gptfdisk - | | |-- gptfdisk-1.0.0.tar.xz - | | |-- gptfdisk.SlackBuild - | | `-- slack-desc - | |-- grep - | | |-- grep-2.25.tar.xz - | | |-- grep-2.25.tar.xz.sig - | | |-- grep.SlackBuild - | | `-- slack-desc - | |-- grub - | | |-- 0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch.gz - | | |-- doinst.sh.gz - | | |-- etc.default.grub - | | |-- grub-2.00.tar.xz - | | |-- grub.SlackBuild - | | |-- grub.dejavusansmono.gfxterm.font.diff.gz - | | |-- grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff.gz - | | |-- initrd_naming.patch.gz - | | |-- slack-desc - | | `-- txtHRnXiHYUrM.txt.gz - | |-- gzip - | | |-- gzip-1.8.tar.xz - | | |-- gzip-1.8.tar.xz.sig - | | |-- gzip.SlackBuild - | | `-- slack-desc - | |-- hdparm - | | |-- hdparm-9.48.tar.xz - | | |-- hdparm.SlackBuild - | | `-- slack-desc - | |-- hwdata - | | |-- hwdata-0.284.tar.xz - | | |-- hwdata.SlackBuild - | | `-- slack-desc - | |-- infozip - | | |-- infozip.SlackBuild - | | |-- slack-desc - | | |-- unzip.git.archive.fix.diff.gz - | | |-- unzip.process.c.diff.gz - | | |-- unzip.use.system.libbz2.diff.gz - | | |-- 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-22.tar.sign - | | |-- kmod-22.tar.xz - | | |-- kmod.SlackBuild - | | `-- slack-desc - | |-- less - | | |-- less-481.tar.xz - | | |-- less.SlackBuild - | | |-- 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.41.tar.xz - | | |-- libcgroup.SlackBuild - | | |-- libcgroup.conf.diff.gz - | | |-- libcgroup.init.diff.gz - | | `-- slack-desc - | |-- libgudev - | | |-- libgudev-230.tar.xz - | | |-- libgudev.SlackBuild - | | `-- slack-desc - | |-- lilo - | | |-- lilo-24.2.tar.gz - | | |-- lilo-24.2.tar.gz.asc - | | |-- lilo.SlackBuild - | | |-- lilo.ignore.usable.memory.above.4G.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.9.tar.gz - | | |-- logrotate.SlackBuild - | | |-- logrotate.conf.gz - | | |-- logrotate.cron.gz - | | |-- logrotate.slackware.diff.gz - | | `-- slack-desc - | |-- lrzip - | | |-- doinst.sh.gz - | | |-- lrzip-0.621.tar.xz - | | |-- lrzip.SlackBuild - | | `-- slack-desc - | |-- lvm2 - | | |-- LVM2.2.02.154.tar.xz - | | |-- create-dm-run-dir.diff.gz - | | |-- doinst.sh.gz - | | |-- lvm2.SlackBuild - | | `-- slack-desc - | |-- mcelog - | | |-- doinst.sh.gz - | | |-- mcelog-128.tar.xz - | | |-- mcelog.SlackBuild - | | |-- mcelog.init.diff.gz - | | `-- slack-desc - | |-- mdadm - | | |-- doinst.sh.gz - | | |-- mdadm-3.3.4.tar.sign - | | |-- mdadm-3.3.4.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.2.tar.xz - | | |-- minicom.SlackBuild - | | |-- minicom.users.gz - | | `-- slack-desc - | |-- mkinitrd - | | |-- README.initrd - | | |-- _initrd-tree.tar.gz - | | |-- busybox-1.20.2.tar.xz - | | |-- busybox-dot-config -> busybox-dot-config.1.20.x - | | |-- busybox-dot-config.1.20.x - | | |-- fixes-1.20.2 - | | | |-- busybox-1.20.2-kernel_ver.patch - | | | |-- busybox-1.20.2-ntpd.patch - | | | |-- busybox-1.20.2-pkg-config-selinux.patch - | | | `-- busybox-1.20.2-sys-resource.patch - | | |-- init - | | |-- keymaps.tar.gz - | | |-- mkinitrd - | | |-- mkinitrd.8 - | | |-- mkinitrd.SlackBuild - | | |-- mkinitrd.conf.5 - | | |-- mkinitrd.conf.sample - | | |-- mkinitrd_command_generator.8 - | | |-- 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.4.tar.gz - | | |-- ncompress.SlackBuild - | | `-- slack-desc - | |-- ntfs-3g - | | |-- 10-ntfs-3g-policy.fdi - | | |-- 99-ntfs-3g.rules - | | |-- ntfs-3g.SlackBuild - | | |-- ntfs-3g_ntfsprogs-2016.2.22.tar.xz - | | `-- slack-desc - | |-- os-prober - | | |-- os-prober.SlackBuild - | | |-- os-prober.reiserfs.diff.gz - | | |-- os-prober_1.70.tar.xz - | | `-- slack-desc - | |-- patch - | | |-- patch-2.7.5.tar.xz - | | |-- patch-2.7.5.tar.xz.sig - | | |-- patch.SlackBuild - | | `-- slack-desc - | |-- pciutils - | | |-- pciutils-3.4.1.tar.sign - | | |-- pciutils-3.4.1.tar.xz - | | |-- pciutils.SlackBuild - | | |-- pciutils.dontcompress.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-018.tar.sign - | | |-- pcmciautils-018.tar.xz - | | |-- pcmciautils.SlackBuild - | | `-- slack-desc - | |-- pkgtools - | | |-- manpages - | | | |-- explodepkg.8 - | | | |-- installpkg.8 - | | | |-- makepkg.8 - | | | |-- pkgtool.8 - | | | |-- removepkg.8 - | | | `-- upgradepkg.8 - | | |-- manpages-l10n.tar.xz - | | |-- 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-ng - | | |-- procinfo-18.tar.xz - | | |-- procinfo-ng-2.0.304.tar.xz - | | |-- procps-ng-3.3.11.tar.xz - | | |-- procps-ng.SlackBuild - | | |-- psmisc-22.21.tar.xz - | | |-- psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff.gz - | | `-- slack-desc - | |-- quota - | | |-- quota-4.03.tar.xz - | | |-- quota.SlackBuild - | | |-- quota.lwrap.needs.lnsl.diff.gz - | | `-- slack-desc - | |-- reiserfsprogs - | | |-- reiserfsprogs-3.6.24.tar.xz - | | |-- 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.10.tar.xz - | | |-- sdparm.SlackBuild - | | `-- slack-desc - | |-- sed - | | |-- sed-4.2.2.tar.xz - | | |-- sed.SlackBuild - | | `-- slack-desc - | |-- shadow - | | |-- adduser - | | |-- doinst.sh.gz - | | |-- login.defs.gz - | | |-- patches - | | | |-- README_PATCHES - | | | `-- unused - | | |-- shadow-4.2.1.tar.xz - | | |-- shadow-4.2.1.tar.xz.sig - | | |-- shadow.CVE-2005-4890.relax.diff.gz - | | |-- shadow.SlackBuild - | | |-- shadow.url - | | |-- slack-desc - | | `-- useradd.gz - | |-- sharutils - | | |-- sharutils-4.15.2.tar.xz - | | |-- sharutils-4.15.2.tar.xz.sig - | | |-- 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-6.5.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.1.tar.gz - | | |-- sysklogd.SlackBuild - | | |-- sysklogd.allow.repeated.messages.diff.gz - | | `-- use_memmove_not_strcpy.diff.gz - | |-- syslinux - | | |-- slack-desc - | | |-- syslinux-4.07.tar.sign - | | |-- syslinux-4.07.tar.xz - | | `-- syslinux.SlackBuild - | |-- sysvinit - | | |-- CHANGES - | | |-- 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.cpufreq - | | | |-- rc.local - | | | |-- rc.loop - | | | |-- rc.modules - | | | |-- rc.modules.local - | | | |-- rc.sysvinit - | | | |-- rescan-scsi-bus.sh - | | | `-- rescan-scsi-bus.sh.diff - | | |-- slack-desc - | | `-- sysvinit-scripts.SlackBuild - | |-- tar - | | |-- slack-desc - | | |-- tar-1.13.bzip2.diff.gz - | | |-- tar-1.13.tar.gz - | | |-- tar-1.29.tar.xz - | | |-- tar-1.29.tar.xz.sig - | | |-- tar.SlackBuild - | | `-- tar.nolonezero.diff.gz - | |-- tcsh - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- tcsh-6.19.00.tar.xz - | | |-- tcsh.SlackBuild - | | `-- tcsh.nobuiltincolorls.diff.gz - | |-- time - | | |-- slack-desc - | | |-- time-1.7.tar.gz - | | `-- time.SlackBuild - | |-- tree - | | |-- slack-desc - | | |-- tree-1.7.0.tar.xz - | | `-- tree.SlackBuild - | |-- udisks - | | |-- slack-desc - | | |-- udisks-1.0.5.tar.xz - | | |-- udisks.SlackBuild - | | |-- udisks.no.pci-db.diff.gz - | | `-- udisks.url - | |-- udisks2 - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- udisks-2.1.5.tar.xz - | | `-- udisks2.SlackBuild - | |-- unarj - | | |-- Makefile.gz - | | |-- slack-desc - | | |-- unarj.SlackBuild - | | `-- unarj265.tar.gz - | |-- upower - | | |-- doinst.sh.gz - | | |-- patches - | | | |-- Fix-HID-rules-header-as-per-discussions.patch.gz - | | | |-- Update-UPower-HID-rules-supported-devices-list.patch.gz - | | | |-- linux-Clamp-percentage-for-overfull-batteries.patch.gz - | | | |-- linux-Detect-docked-docking-stations-correctly.patch.gz - | | | |-- linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch.gz - | | | |-- rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch.gz - | | | |-- rules-support-Logitech-Unifying-in-Linux-3.19.patch.gz - | | | `-- upower-pm-utils-0.9.23-fix-segfault.patch.gz - | | |-- slack-desc - | | |-- upower-0.9.23.tar.xz - | | |-- upower.SlackBuild - | | `-- upower.url - | |-- usb_modeswitch - | | |-- device_reference.txt.gz - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- usb-modeswitch-2.2.6.tar.xz - | | |-- usb-modeswitch-data-20151101.tar.xz - | | `-- usb_modeswitch.SlackBuild - | |-- usbutils - | | |-- slack-desc - | | |-- usbutils-008.tar.sign - | | |-- usbutils-008.tar.xz - | | |-- usbutils.SlackBuild - | | `-- usbutils.url - | |-- utempter - | | |-- doinst.sh.gz - | | |-- libutempter-1.1.6.tar.bz2 - | | |-- libutempter-1.1.6.tar.bz2.asc - | | |-- slack-desc - | | `-- utempter.SlackBuild - | |-- util-linux - | | |-- adjtimex_1.29-2.2.diff.gz - | | |-- adjtimex_1.29.orig.tar.gz - | | |-- bsdstrings-util-linux_overflow.diff.gz - | | |-- bsdstrings.tar.gz - | | |-- ddate.1 - | | |-- ddate.c - | | |-- 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.27.1.tar.sign - | | |-- util-linux-2.27.1.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.21.tar.gz - | | |-- which-2.21.tar.gz.sig - | | `-- which.SlackBuild - | |-- xfsprogs - | | |-- slack-desc - | | |-- xfsprogs-4.3.0.tar.xz - | | `-- xfsprogs.SlackBuild - | |-- xz - | | |-- slack-desc - | | |-- xz-5.2.2.tar.xz - | | |-- xz-5.2.2.tar.xz.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 - | | |-- 581421-sa-hz-division.patch.gz - | | |-- acct-6.5.4.tar.xz - | | |-- acct.SlackBuild - | | |-- acct.logdir.fhs.diff.gz - | | `-- slack-desc - | |-- alsa-utils - | | |-- alsa-utils-1.1.1.tar.xz - | | |-- alsa-utils.SlackBuild - | | |-- alsa-utils.alsaconf.diff.gz - | | |-- doinst.sh.gz - | | |-- rc.alsa-oss.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.19.tar.xz - | | |-- at.SlackBuild - | | |-- doinst.sh.gz - | | `-- 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.01-fix-20151126-mkisofs-isoinfo.patch.gz - | | |-- cdrtools-3.01.tar.xz - | | |-- cdrtools.SlackBuild - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- zisofs-tools-1.0.8.tar.bz2 - | | `-- zisofs-tools-1.0.8.tar.bz2.sign - | |-- cgmanager - | | |-- cgmanager-0.39-remove-pam-requirement.patch.gz - | | |-- cgmanager-0.39.tar.xz - | | |-- cgmanager.SlackBuild - | | |-- cgmanager.url - | | |-- config - | | | |-- rc.cgmanager - | | | `-- rc.cgproxy - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- cups - | | |-- cups-2.1.4-source.tar.xz - | | |-- cups-blacklist-usblp.conf - | | |-- cups-samba-5.0rc3.tar.gz - | | |-- cups-windows-6.0-source.tar.xz - | | |-- cups.SlackBuild - | | |-- cups.url - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- cups-filters - | | |-- cups-filters-1.9.0.tar.xz - | | |-- cups-filters.SlackBuild - | | |-- cups-filters.url - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dc3dd - | | |-- dc3dd-7.2.641.tar.xz - | | |-- dc3dd.SlackBuild - | | `-- slack-desc - | |-- ddrescue - | | |-- ddrescue-1.21.tar.xz - | | |-- ddrescue.SlackBuild - | | `-- slack-desc - | |-- diffstat - | | |-- diffstat-1.60.tar.xz - | | |-- diffstat.SlackBuild - | | `-- slack-desc - | |-- diffutils - | | |-- diffutils-3.3.tar.xz - | | |-- diffutils-3.3.tar.xz.sig - | | |-- diffutils-sdiff-no-waitpid.patch.gz - | | |-- diffutils.SlackBuild - | | |-- diffutils.mkdir_p.diff.gz - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dmapi - | | |-- dmapi-2.2.12.tar.xz - | | |-- dmapi.SlackBuild - | | `-- slack-desc - | |-- dmidecode - | | |-- dmidecode-3.0.tar.xz - | | |-- dmidecode-3.0.tar.xz.sig - | | |-- dmidecode.SlackBuild - | | |-- patches - | | | |-- 0001-Add-no-sysfs-option-description-to-h-output.patch.gz - | | | |-- 0002-Avoid-SIGBUS-on-mmap-failure.patch.gz - | | | |-- 0003-Fix-error-paths-in-mem_chunk.patch.gz - | | | |-- 0004-dmidecode-Handle-OEM-specific-types-in-group-associa.patch.gz - | | | |-- 0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch.gz - | | | |-- 0006-dmidecode-Introduce-SYS_FIRMWARE_DIR.patch.gz - | | | |-- 0007-Let-read_file-return-the-actual-data-size.patch.gz - | | | |-- 0008-dmidecode-Use-read_file-to-read-the-DMI-table-from-s.patch.gz - | | | `-- 0009-dmidecode-Check-sysfs-entry-point-length.patch.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.6.tar.xz - | | |-- enscript.SlackBuild - | | `-- slack-desc - | |-- flac - | | |-- flac-1.3.1.tar.xz - | | |-- flac.SlackBuild - | | |-- flac.man.diff.gz - | | `-- slack-desc - | |-- ghostscript - | | |-- cidfmap.gz - | | |-- dump.unused.internal.libraries.from.sources.sh - | | |-- ghostscript-9.19.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.5.10.tar.xz - | | |-- gphoto2.SlackBuild - | | `-- slack-desc - | |-- groff - | | |-- groff-1.22.3.tar.xz - | | |-- groff.SlackBuild - | | |-- groff.man.mdoc.local.gz - | | `-- slack-desc - | |-- gutenprint - | | |-- doinst.sh.gz - | | |-- gutenprint-5.2.11.tar.xz - | | |-- gutenprint.SlackBuild - | | |-- setup.cups-genppdupdate - | | `-- slack-desc - | |-- hplip - | | |-- doinst.sh.gz - | | |-- hplip-3.16.5.tar.xz - | | |-- hplip.SlackBuild - | | |-- hplip.no.upgrade.diff.gz - | | |-- setup.py.lc_all.c.diff.gz - | | `-- slack-desc - | |-- htop - | | |-- htop-2.0.1.tar.xz - | | |-- htop.SlackBuild - | | `-- slack-desc - | |-- ispell - | | |-- ispell-3.2.06.tar.gz - | | |-- ispell.SlackBuild - | | |-- ispell.diff.gz - | | `-- slack-desc - | |-- itstool - | | |-- itstool-2.0.2.tar.xz - | | |-- itstool.SlackBuild - | | `-- slack-desc - | |-- jed - | | |-- jed-0.99-19.tar.bz2 - | | |-- jed-0.99-19.tar.bz2.asc - | | |-- jed.SlackBuild - | | `-- slack-desc - | |-- joe - | | |-- joe-4.1.tar.xz - | | |-- joe.SlackBuild - | | `-- slack-desc - | |-- jove - | | |-- jove.SlackBuild - | | |-- jove.makefile.diff.gz - | | |-- jove4.16.0.73.tar.xz - | | `-- slack-desc - | |-- ksh93 - | | |-- CPL - | | |-- EPL-1.0 - | | |-- INIT.2012-08-01.tgz - | | |-- ast-ksh.2012-08-01.tgz - | | |-- ksh93.SlackBuild - | | |-- patches - | | | |-- ksh-20070328-builtins.patch.gz - | | | |-- ksh-20080202-manfix.patch.gz - | | | |-- ksh-20100202-pathvar.patch.gz - | | | |-- ksh-20100621-fdstatus.patch.gz - | | | |-- ksh-20100621-manfix3.patch.gz - | | | |-- ksh-20100826-fixregr.patch.gz - | | | |-- ksh-20120801-alarmifs.patch.gz - | | | |-- ksh-20120801-argvfix.patch.gz - | | | |-- ksh-20120801-assoc-unset-leak.patch.gz - | | | |-- ksh-20120801-cdfix.patch.gz - | | | |-- ksh-20120801-cdfix2.patch.gz - | | | |-- ksh-20120801-cdfix3.patch.gz - | | | |-- ksh-20120801-cdfork.patch.gz - | | | |-- ksh-20120801-covsfix.patch.gz - | | | |-- ksh-20120801-crash.patch.gz - | | | |-- ksh-20120801-diskfull.patch.gz - | | | |-- ksh-20120801-emptyarrayinit.patch.gz - | | | |-- ksh-20120801-fd2lost.patch.gz - | | | |-- ksh-20120801-filecomsubst.patch.gz - | | | |-- ksh-20120801-forkbomb.patch.gz - | | | |-- ksh-20120801-fununset.patch.gz - | | | |-- ksh-20120801-heresub.patch.gz - | | | |-- ksh-20120801-kshmfix.patch.gz - | | | |-- ksh-20120801-lexfix.patch.gz - | | | |-- ksh-20120801-locking.patch.gz - | | | |-- ksh-20120801-macro.patch.gz - | | | |-- ksh-20120801-manfix4.patch.gz - | | | |-- ksh-20120801-memlik.patch.gz - | | | |-- ksh-20120801-memlik3.patch.gz - | | | |-- ksh-20120801-mlikfiks.patch.gz - | | | |-- ksh-20120801-mtty.patch.gz - | | | |-- ksh-20120801-noexeccdfix.patch.gz - | | | |-- ksh-20120801-nohupfork.patch.gz - | | | |-- ksh-20120801-nomulti.patch.gz - | | | |-- ksh-20120801-oldenvinit.patch.gz - | | | |-- ksh-20120801-retfix.patch.gz - | | | |-- ksh-20120801-rmdirfix.patch.gz - | | | |-- ksh-20120801-roundit.patch.gz - | | | |-- ksh-20120801-sufix.patch.gz - | | | |-- ksh-20120801-tabfix.patch.gz - | | | |-- ksh-20120801-tpstl.patch.gz - | | | |-- ksh-20120801-trapcom.patch.gz - | | | |-- ksh-20120801-xufix.patch.gz - | | | |-- ksh-20130214-fixkill.patch.gz - | | | |-- ksh-20130613-cdfix4.patch.gz - | | | |-- ksh-20130628-longer.patch.gz - | | | |-- ksh-20140301-fikspand.patch.gz - | | | |-- ksh-20140415-hokaido.patch.gz - | | | |-- ksh-20140801-arraylen.patch.gz - | | | `-- ksh-20140929-safefd.patch.gz - | | `-- slack-desc - | |-- libx86 - | | |-- libx86-1.1.tar.gz - | | |-- libx86-add-pkgconfig.patch.gz - | | |-- libx86-mmap-offset.patch.gz - | | |-- libx86.SlackBuild - | | |-- libx86.info - | | `-- slack-desc - | |-- linuxdoc-tools - | | |-- ChangeLog.txt - | | |-- arm - | | | `-- build - | | |-- linuxdoc-tools.SlackBuild - | | |-- linuxdoc-tools.build - | | |-- postbuildfixes.sh - | | |-- slack-desc - | | |-- sources - | | | |-- asciidoc-8.6.9.tar.xz - | | | |-- docbook-dsssl-1.79.tar.xz - | | | |-- docbook-dsssl-doc-1.79.tar.xz - | | | |-- docbook-style-xsl-1.78.1-4.fc23.src.rpm - | | | |-- docbook-utils-0.6.14-39.fc23.src.rpm - | | | |-- docbook-xml-4.5.zip - | | | |-- docbook2x_0.8.8-9.debian.tar.xz - | | | |-- docbook2x_0.8.8.orig.tar.xz - | | | |-- docbook_4.5.orig.tar.xz - | | | |-- gnome-doc-utils-0.20.10.tar.xz - | | | |-- gtk-doc-1.24.tar.xz - | | | |-- libsgmls-perl_1.03ii-33.debian.tar.xz - | | | |-- libsgmls-perl_1.03ii.orig.tar.xz - | | | |-- linuxdoc-tools-0.9.13-letter.patch.xz - | | | |-- linuxdoc-tools-0.9.20-lib64.patch.xz - | | | |-- linuxdoc-tools-0.9.68-flex.patch.xz - | | | |-- linuxdoc-tools_0.9.69.tar.xz - | | | |-- openjade-1.3-getopts.pl.xz - | | | |-- openjade-1.3.2-gcc46.patch.xz - | | | |-- openjade-1.3.3-pre1.tar.xz - | | | |-- opensp-1.5.2-22.fc23.src.rpm - | | | |-- perl-XML-NamespaceSupport-1.11-16.fc23.src.rpm - | | | |-- perl-XML-SAX-0.99-15.fc23.src.rpm - | | | |-- perl-XML-SAX-Base-1.08-14.fc23.src.rpm - | | | |-- sgml-common-0.6.3-43.fc23.src.rpm - | | | |-- source.download - | | | `-- xmlto-0.0.26-4.fc23.src.rpm - | | `-- trackbuild.linuxdoc-tools - | |-- lm_sensors - | | |-- lm_sensors-3.4.0.tar.bz2 - | | |-- lm_sensors.SlackBuild - | | `-- slack-desc - | |-- lsof - | | |-- lsof.SlackBuild - | | |-- lsof_4.89.tar.bz2 - | | |-- lsof_4.89.tar.bz2.sig - | | `-- slack-desc - | |-- lsscsi - | | |-- lsscsi-0.28.tar.xz - | | |-- lsscsi.SlackBuild - | | |-- lsscsi.url - | | `-- slack-desc - | |-- lxc - | | |-- doinst.sh - | | |-- lxc-2.0.1.tar.xz - | | |-- lxc-slackware.in - | | |-- lxc.SlackBuild - | | |-- rc.lxc - | | |-- scripts - | | | |-- README - | | | |-- rc.6.lxc - | | | |-- rc.6.orig - | | | |-- rc.M.lxc - | | | |-- rc.M.orig - | | | |-- rc.S.lxc - | | | |-- rc.S.orig - | | | |-- rc.inet1.lxc - | | | `-- rc.inet1.orig - | | `-- slack-desc - | |-- lzip - | | |-- lzip-1.16.tar.gz - | | |-- lzip-1.16.tar.gz.sig - | | |-- lzip.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 - | | |-- makewhatis.bzcat.bugfix.diff.gz - | | |-- man-1.6f.nroff.mandoc.diff.gz - | | |-- man-1.6g.tar.xz - | | |-- man.SlackBuild - | | `-- slack-desc - | |-- man-pages - | | |-- doinst.sh.gz - | | |-- man-pages-4.06.tar.sign - | | |-- man-pages-4.06.tar.xz - | | |-- man-pages-posix-2013-a.tar.xz - | | |-- man-pages.SlackBuild - | | |-- slack-desc - | | `-- whatis.sample.xz - | |-- mariadb - | | |-- doinst.sh.gz - | | |-- mariadb-10.0.26.tar.xz - | | |-- mariadb.SlackBuild - | | |-- mirror.url - | | |-- rc.mysqld.gz - | | `-- slack-desc - | |-- mc - | | |-- mc-3605-extfs.c-fix-buffer-overflow.patch.gz - | | |-- mc-3611-fish-fix-perl-ls-helper.patch.gz - | | |-- mc-4.8.16.tar.xz - | | |-- mc-syntax-error.patch.gz - | | |-- mc.SlackBuild - | | |-- mc.image.sh.geeqie.diff.gz - | | |-- profile.d - | | | |-- mc-wrapper.csh - | | | |-- mc-wrapper.sh - | | | |-- mc.csh - | | | `-- mc.sh - | | `-- slack-desc - | |-- moc - | | |-- moc-2.5.1.tar.xz - | | |-- moc.SlackBuild - | | `-- slack-desc - | |-- most - | | |-- most-5.0.0a.tar.bz2 - | | |-- most.SlackBuild - | | `-- slack-desc - | |-- mpg123 - | | |-- mpg123-1.23.4.tar.xz - | | |-- mpg123.SlackBuild - | | `-- slack-desc - | |-- nano - | | |-- doinst.sh.gz - | | |-- nano-2.6.0.tar.xz - | | |-- nano.SlackBuild - | | `-- slack-desc - | |-- normalize - | | |-- normalize-0.7.7.tar.bz2 - | | |-- normalize.SlackBuild - | | `-- slack-desc - | |-- pamixer - | | |-- pamixer-1.3.1.tar.xz - | | |-- pamixer.SlackBuild - | | `-- slack-desc - | |-- pm-utils - | | |-- 49bluetooth-generic - | | |-- README.SLACKWARE - | | |-- patches - | | | |-- add-in-kernel-suspend-to-both.patch.gz - | | | |-- fix-wrong-path-in-intel-audio-powersave.patch.gz - | | | |-- hook-exit-code-log.patch.gz - | | | |-- init-logfile-append.patch.gz - | | | |-- log-line-spacing-fix.patch.gz - | | | `-- use_more_sane_harddrive_defaults.patch.gz - | | |-- pm-quirks-20100619.tar.gz - | | |-- pm-utils-1.4.1.tar.gz - | | |-- pm-utils.SlackBuild - | | |-- pm-utils.url - | | `-- slack-desc - | |-- powertop - | | |-- powertop-2.8.tar.xz - | | |-- powertop.SlackBuild - | | `-- slack-desc - | |-- qpdf - | | |-- qpdf-6.0.0.tar.xz - | | |-- qpdf.SlackBuild - | | |-- qpdf.url - | | `-- slack-desc - | |-- radeontool - | | |-- radeontool-1.6.3.tar.xz - | | |-- radeontool.SlackBuild - | | `-- slack-desc - | |-- rpm - | | |-- Packages.gz - | | |-- doinst.sh.gz - | | |-- rpm-4.12.0.1.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 - | | |-- 26source_encoding.patch.gz - | | |-- 45suppress_remap.patch.gz - | | |-- 52fix_screen_utf8_nfd.patch.gz - | | |-- 58-show-encoding-hardstatus.patch.gz - | | |-- screen-4.4.0.tar.xz - | | |-- screen.SlackBuild - | | |-- screen.no_libelf.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 - | | |-- doinst.sh.gz - | | |-- files - | | | |-- ChangeLog.gz - | | | |-- GPL.gz - | | | |-- README.gz - | | | |-- blacklist.new.gz - | | | |-- core-functions.sh.gz - | | | |-- cutpkg.awk.gz - | | | |-- dialog-functions.sh.gz - | | | |-- filelist.awk.gz - | | | |-- install-new.awk.gz - | | | |-- mirrors-arm.sample.gz - | | | |-- mirrors-s390.sample.gz - | | | |-- mirrors-x86.sample.gz - | | | |-- mirrors-x86_64.sample.gz - | | | |-- pkglist.awk.gz - | | | |-- post-functions.sh.gz - | | | |-- slackpkg.8.gz - | | | |-- slackpkg.conf.5.gz - | | | |-- slackpkg.conf.new.gz - | | | `-- slackpkg.gz - | | |-- manpages-l10n.tar.xz - | | |-- slack-desc - | | `-- slackpkg.SlackBuild - | |-- soma - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- soma-2.10.4.tar.gz - | | |-- soma.SlackBuild - | | |-- soma.info - | | |-- soma.png - | | `-- stations.conf - | |-- sox - | | |-- slack-desc - | | |-- sox-14.4.2.tar.xz - | | `-- sox.SlackBuild - | |-- sqlite - | | |-- COPYRIGHT.gz - | | |-- slack-desc - | | |-- sqlite-src-3130000.tar.xz - | | `-- sqlite.SlackBuild - | |-- squashfs-tools - | | |-- slack-desc - | | |-- squashfs-tools.SlackBuild - | | `-- squashfs4.3.tar.gz - | |-- sudo - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- sudo-1.8.16.tar.xz - | | `-- sudo.SlackBuild - | |-- sysstat - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- sysstat-11.2.1.1.tar.xz - | | `-- sysstat.SlackBuild - | |-- terminus-font - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- terminus-font-4.40.tar.xz - | | |-- terminus-font.Makefile.paths.diff.gz - | | `-- terminus-font.SlackBuild - | |-- texinfo - | | |-- dir.gz - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- texinfo-6.1.tar.xz - | | |-- texinfo-6.1.tar.xz.sig - | | `-- texinfo.SlackBuild - | |-- tmux - | | |-- slack-desc - | | |-- tmux-2.1.tar.xz - | | `-- tmux.SlackBuild - | |-- usbmuxd - | | |-- 39-usbmuxd.rules.gz - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- usbmuxd-1.1.0.tar.xz - | | `-- usbmuxd.SlackBuild - | |-- vbetool - | | |-- slack-desc - | | |-- vbetool-1.2.2.tar.gz - | | |-- vbetool.SlackBuild - | | `-- vbetool.info - | |-- vim - | | |-- ctags-5.8.tar.xz - | | |-- doinst.sh.gz - | | |-- gvim.desktop - | | |-- gvim.png - | | |-- slack-desc.vim - | | |-- slack-desc.vim-gvim - | | |-- vim-7.4.1938.tar.xz - | | |-- vim-gvim.SlackBuild - | | |-- 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.1.6.tar.gz - | | |-- xfsdump-3.1.6.tar.gz.sig - | | `-- xfsdump.SlackBuild - | `-- zsh - | |-- doinst.sh.gz - | |-- slack-desc - | |-- zsh-5.2-doc.tar.xz - | |-- zsh-5.2-doc.tar.xz.asc - | |-- zsh-5.2.tar.xz - | |-- zsh-5.2.tar.xz.asc - | `-- zsh.SlackBuild - |-- d - | |-- Cython - | | |-- Cython-0.23.4.tar.xz - | | |-- Cython.SlackBuild - | | |-- Cython.url - | | `-- slack-desc - | |-- autoconf - | | |-- autoconf-2.69.tar.xz - | | |-- autoconf-2.69.tar.xz.sig - | | |-- autoconf.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- automake - | | |-- automake-1.15-perl-escape-curly-bracket.patch.gz - | | |-- automake-1.15.tar.xz - | | |-- automake.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- binutils - | | |-- binutils-2.26.tar.xz - | | |-- binutils.SlackBuild - | | |-- patches - | | | |-- binutils-2.20.51.0.10-copy-osabi.patch.gz - | | | |-- binutils-2.20.51.0.10-ppc64-pie.patch.gz - | | | |-- binutils-2.20.51.0.10-sec-merge-emit.patch.gz - | | | |-- binutils-2.20.51.0.2-libtool-lib64.patch.gz - | | | |-- binutils-2.22.52.0.1-relro-on-by-default.patch.gz - | | | |-- binutils-2.23.52.0.1-addr2line-dynsymtab.patch.gz - | | | |-- binutils-2.24-ldforcele.patch.gz - | | | |-- binutils-2.25-set-long-long.patch.gz - | | | |-- binutils-2.25-version.patch.gz - | | | |-- binutils-2.25.1-cleansweep.patch.gz - | | | |-- binutils-2.26-Bsymbolic_PIE.patch.gz - | | | |-- binutils-2.26-fix-GOT-offset-calculation.patch.gz - | | | |-- binutils-2.26-fix-compile-warnings.patch.gz - | | | |-- binutils-2.26-formatting.patch.gz - | | | |-- binutils-2.26-lto.patch.gz - | | | |-- binutils-rh1312151.patch.gz - | | | |-- binutils.export.demangle.h.diff.gz - | | | `-- binutils.no-config-h-check.diff.gz - | | `-- slack-desc - | |-- bison - | | |-- bison-3.0.4.tar.xz - | | |-- bison-3.0.4.tar.xz.sig - | | |-- bison.SlackBuild - | | `-- slack-desc - | |-- ccache - | | |-- ccache-3.2.4.tar.xz - | | |-- ccache-3.2.4.tar.xz.asc - | | |-- ccache.SlackBuild - | | `-- slack-desc - | |-- clisp - | | |-- clisp-2.49.tar.xz - | | |-- clisp.SlackBuild - | | |-- ffcall-20120424cvs.tar.xz - | | |-- ffcall-arm.patch.gz - | | |-- slack-desc - | | `-- source.download - | |-- cmake - | | |-- cmake-3.5.2.tar.xz - | | |-- cmake.SlackBuild - | | |-- cmake.manpages.tar.xz - | | `-- slack-desc - | |-- cscope - | | |-- cscope-15.8b.tar.xz - | | |-- cscope.SlackBuild - | | `-- slack-desc - | |-- cvs - | | |-- cvs-1.11.23.tar.bz2 - | | |-- cvs-1.11.23.tar.bz2.sig - | | |-- cvs.SlackBuild - | | |-- cvs.crypt-2.diff.gz - | | |-- cvs.getline64.diff.gz - | | `-- slack-desc - | |-- dev86 - | | |-- Dev86src-0.16.21.tar.xz - | | |-- dev86.SlackBuild - | | `-- slack-desc - | |-- distcc - | | |-- distcc-3.1.tar.xz - | | |-- distcc.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- doxygen - | | |-- doxygen-1.8.9.1.src.tar.xz - | | |-- doxygen.SlackBuild - | | `-- slack-desc - | |-- flex - | | |-- flex-2.6.0.tar.xz - | | |-- flex.SlackBuild - | | `-- slack-desc - | |-- gcc - | | |-- antlr-runtime-3.4.jar - | | |-- c89.sh - | | |-- c99.sh - | | |-- create_gcj_jvm.sh - | | |-- ecj-4.9.jar - | | |-- ecj.sh - | | |-- ecj.url - | | |-- 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-5.3.0.tar.xz - | | |-- gcc-no_fixincludes.diff.gz - | | |-- gcc.66782.diff.gz - | | |-- gcc.69140.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.11.1.tar.xz - | | |-- gdb-7.11.1.tar.xz.sig - | | |-- gdb.SlackBuild - | | `-- slack-desc - | |-- gettext-tools -> ../a/gettext - | |-- git - | | |-- git-2.9.0.tar.sign - | | |-- git-2.9.0.tar.xz - | | |-- git.SlackBuild - | | |-- git.url - | | `-- slack-desc - | |-- gnu-cobol - | | |-- gnu-cobol-1.1.tar.xz - | | |-- gnu-cobol.SlackBuild - | | `-- slack-desc - | |-- gperf - | | |-- gperf-3.0.4.tar.xz - | | |-- gperf.SlackBuild - | | `-- slack-desc - | |-- guile - | | |-- guile-2.0.11.tar.xz - | | |-- guile-2.0.11.tar.xz.sig - | | |-- guile.SlackBuild - | | `-- slack-desc - | |-- help2man - | | |-- help2man-1.46.5.tar.xz - | | |-- help2man-1.46.5.tar.xz.sig - | | |-- help2man.SlackBuild - | | `-- slack-desc - | |-- indent - | | |-- indent-2.2.10.tar.bz2 - | | |-- indent.SlackBuild - | | `-- slack-desc - | |-- intltool - | | |-- intltool-0.51.0-perl-5.22.patch.gz - | | |-- intltool-0.51.0.tar.xz - | | |-- intltool.SlackBuild - | | `-- slack-desc - | |-- kernel-headers - | | `-- slack-desc - | |-- libtool - | | |-- doinst.sh.gz - | | |-- libtool-2.4.6.tar.xz - | | |-- libtool-2.4.6.tar.xz.sig - | | |-- libtool.SlackBuild - | | |-- libtool.no.moved.warning.diff.gz - | | `-- slack-desc - | |-- llvm - | | |-- cfe-3.8.0.src.tar.xz - | | |-- cfe-3.8.0.src.tar.xz.sig - | | |-- clang-tools-extra-3.8.0.src.tar.xz - | | |-- clang-tools-extra-3.8.0.src.tar.xz.sig - | | |-- clang.toolchains.i586.triple.diff.gz - | | |-- compiler-rt-3.8.0.src.tar.xz - | | |-- compiler-rt-3.8.0.src.tar.xz.sig - | | |-- llvm-3.8.0.src.tar.xz - | | |-- llvm-3.8.0.src.tar.xz.sig - | | |-- llvm.SlackBuild - | | |-- llvm.url - | | `-- slack-desc - | |-- m4 - | | |-- m4-1.4.17.tar.xz - | | |-- m4-1.4.17.tar.xz.sig - | | |-- m4.SlackBuild - | | `-- slack-desc - | |-- make - | | |-- make-4.1.tar.bz2 - | | |-- make-4.1.tar.bz2.sig - | | |-- make.SlackBuild - | | `-- slack-desc - | |-- mercurial - | | |-- doinst.sh.gz - | | |-- mercurial-3.8.2.tar.xz - | | |-- mercurial.SlackBuild - | | `-- slack-desc - | |-- nasm - | | |-- nasm-2.12.01.tar.xz - | | |-- nasm.SlackBuild - | | `-- slack-desc - | |-- oprofile - | | |-- oprofile-1.1.0.tar.xz - | | |-- oprofile.SlackBuild - | | `-- 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.033.tar.gz - | | |-- DBI-1.636.tar.gz - | | |-- TermReadKey-2.33.tar.gz - | | |-- URI-1.71.tar.gz - | | |-- XML-Parser-2.44.tar.gz - | | |-- XML-Simple-2.22.tar.gz - | | |-- gettext-1.07.tar.gz - | | |-- perl-5.22.2.tar.xz - | | |-- perl.SlackBuild - | | |-- perl.configure.multilib.patch.gz - | | `-- slack-desc - | |-- pkg-config - | | |-- doinst.sh.gz - | | |-- pkg-config-0.29.1.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.11.tar.xz - | | |-- Python-2.7.11.tar.xz.asc - | | |-- python-2.7.11-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 - | |-- python-setuptools - | | |-- python-setuptools.SlackBuild - | | |-- setuptools-22.0.5.tar.xz - | | `-- slack-desc - | |-- rcs - | | |-- rcs-5.9.4.tar.xz - | | |-- rcs-5.9.4.tar.xz.sig - | | |-- rcs.SlackBuild - | | `-- slack-desc - | |-- ruby - | | |-- ruby-2.2.5.tar.xz - | | |-- ruby.SlackBuild - | | `-- slack-desc - | |-- scons - | | |-- scons-2.4.1.tar.xz - | | |-- scons.SlackBuild - | | `-- slack-desc - | |-- slacktrack - | | |-- OVERVIEW - | | |-- slacktrack-2.17-source.tar.xz - | | `-- slacktrack.SlackBuild - | |-- strace - | | |-- slack-desc - | | |-- strace-4.11.tar.xz - | | |-- strace-4.11.tar.xz.asc - | | `-- strace.SlackBuild - | |-- subversion - | | |-- get-svn-book.sh - | | |-- slack-desc - | | |-- subversion-1.9.4.tar.xz - | | |-- subversion.SlackBuild - | | `-- svn-book-html.tar.bz2 - | |-- swig - | | |-- slack-desc - | | |-- swig-3.0.7.tar.xz - | | |-- swig.SlackBuild - | | `-- swig.url - | `-- yasm - | |-- slack-desc - | |-- yasm-1.3.0.tar.xz - | `-- yasm.SlackBuild - |-- e - | `-- emacs - | |-- doinst.sh.gz - | |-- emacs-24.5.tar.xz - | |-- emacs-24.5.tar.xz.sig - | |-- 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.fix.perms.64bit.platforms.diff.gz - | |-- busybox.glibc217.diff.gz - | |-- busybox.wget.P.diff.gz - | |-- dhcpcd - | | |-- config.h.diff.gz - | | |-- dhcpcd-3.2.3.tar.bz2 - | | `-- dhcpcd.sh.diff.gz - | |-- dropbear - | | |-- doinst.sh - | | |-- dropbear-2012.55.tar.bz2 - | | |-- dropbear.Slackbuild - | | |-- dropbear.glibc.crypt.diff - | | |-- dropbear.xauth.patch - | | |-- dropbear_dbclientpath.patch - | | |-- dropbear_emptypass.patch - | | |-- rc.dropbear.new - | | `-- slack-desc - | `-- memtest86+-5.01.tar.xz - |-- k - | |-- README.TXT - | |-- config-x86 - | | |-- config-generic-4.4.14 - | | |-- config-generic-smp-4.4.14-smp - | | |-- config-huge-4.4.14 - | | `-- config-huge-smp-4.4.14-smp - | |-- config-x86_64 - | | |-- config-generic-4.4.14.x64 - | | `-- config-huge-4.4.14.x64 - | |-- linux-4.4.14.ecryptfs.regression.diff - | |-- linux-4.4.14.tar.sign - | |-- linux-4.4.14.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 - | | | `-- slack-desc - | | `-- kernel-modules-smp - | | |-- kernel-modules-smp.SlackBuild - | | `-- slack-desc - | `-- packaging-x86_64 - | |-- kernel-generic - | | |-- kernel-generic.SlackBuild - | | `-- slack-desc - | |-- kernel-huge - | | |-- kernel-huge.SlackBuild - | | `-- slack-desc - | `-- kernel-modules - | |-- kernel-modules.SlackBuild - | `-- slack-desc - |-- kde - | |-- KDE.SlackBuild - | |-- KDE.options - | |-- build - | | |-- amarok - | | |-- amor - | | |-- analitza - | | |-- ark - | | |-- artikulate - | | |-- audiocd-kio - | | |-- baloo - | | |-- baloo-widgets - | | |-- blinken - | | |-- bluedevil - | | |-- bomber - | | |-- bovo - | | |-- calligra - | | |-- cantor - | | |-- cervisia - | | |-- dolphin-plugins - | | |-- dragon - | | |-- filelight - | | |-- granatier - | | |-- gwenview - | | |-- increment.sh - | | |-- juk - | | |-- k3b - | | |-- kaccessible - | | |-- kactivities - | | |-- kajongg - | | |-- kalgebra - | | |-- kalzium - | | |-- kamera - | | |-- kanagram - | | |-- kapman - | | |-- kapptemplate - | | |-- kate - | | |-- katomic - | | |-- kaudiocreator - | | |-- kblackbox - | | |-- kblocks - | | |-- kbounce - | | |-- kbreakout - | | |-- kbruch - | | |-- kcachegrind - | | |-- kcalc - | | |-- kcharselect - | | |-- kcolorchooser - | | |-- kcron - | | |-- kde-base-artwork - | | |-- kde-baseapps - | | |-- kde-dev-scripts - | | |-- kde-dev-utils - | | |-- kde-runtime - | | |-- kde-workspace - | | |-- kdeartwork - | | |-- kdeconnect-kde - | | |-- kdegraphics-mobipocket - | | |-- kdegraphics-strigi-analyzer - | | |-- kdegraphics-thumbnailers - | | |-- kdenetwork-filesharing - | | |-- kdenetwork-strigi-analyzers - | | |-- kdepimlibs - | | |-- kdeplasma-addons - | | |-- kdesdk-kioslaves - | | |-- kdesdk-strigi-analyzers - | | |-- kdesdk-thumbnailers - | | |-- kdevelop-pg-qt - | | |-- kdewebdev - | | |-- kdf - | | |-- kdiamond - | | |-- kfilemetadata - | | |-- kfloppy - | | |-- kfourinline - | | |-- kgamma - | | |-- kgeography - | | |-- kget - | | |-- kgoldrunner - | | |-- kgpg - | | |-- khangman - | | |-- kig - | | |-- kigo - | | |-- killbots - | | |-- kio-mtp - | | |-- kiriki - | | |-- kiten - | | |-- kjumpingcube - | | |-- klettres - | | |-- klickety - | | |-- klines - | | |-- kmag - | | |-- kmahjongg - | | |-- kmines - | | |-- kmix - | | |-- kmousetool - | | |-- kmouth - | | |-- kmplot - | | |-- knavalbattle - | | |-- knetwalk - | | |-- kolf - | | |-- kollision - | | |-- kolourpaint - | | |-- kompare - | | |-- konquest - | | |-- konsole - | | |-- kopete - | | |-- korundum - | | |-- kpat - | | |-- kplayer - | | |-- kppp - | | |-- kqtquickcharts - | | |-- krdc - | | |-- kremotecontrol - | | |-- kreversi - | | |-- krfb - | | |-- kross-interpreters - | | |-- kruler - | | |-- ksaneplugin - | | |-- kscreen - | | |-- kshisen - | | |-- ksirk - | | |-- ksnakeduel - | | |-- ksnapshot - | | |-- kspaceduel - | | |-- ksquares - | | |-- kstars - | | |-- ksudoku - | | |-- ksystemlog - | | |-- kteatime - | | |-- ktimer - | | |-- ktorrent - | | |-- ktouch - | | |-- ktuberling - | | |-- kturtle - | | |-- ktux - | | |-- kubrick - | | |-- kuser - | | |-- kwalletmanager - | | |-- kwebkitpart - | | |-- kwordquiz - | | |-- libkcddb - | | |-- libkcompactdisc - | | |-- libkdcraw - | | |-- libkdeedu - | | |-- libkdegames - | | |-- libkexiv2 - | | |-- libkipi - | | |-- libkmahjongg - | | |-- libkomparediff2 - | | |-- libksane - | | |-- libkscreen - | | |-- libktorrent - | | |-- libmm-qt - | | |-- libnm-qt - | | |-- lokalize - | | |-- lskat - | | |-- marble - | | |-- mplayerthumbs - | | |-- nepomuk-core - | | |-- nepomuk-widgets - | | |-- okteta - | | |-- okular - | | |-- oxygen-gtk2 - | | |-- oxygen-icons - | | |-- pairs - | | |-- palapeli - | | |-- parley - | | |-- partitionmanager - | | |-- perlkde - | | |-- perlqt - | | |-- picmi - | | |-- polkit-kde-agent-1 - | | |-- polkit-kde-kcmodules-1 - | | |-- poxml - | | |-- print-manager - | | |-- pykde4 - | | |-- qtruby - | | |-- rocs - | | |-- skanlite - | | |-- smokegen - | | |-- smokekde - | | |-- smokeqt - | | |-- step - | | |-- superkaramba - | | |-- svgpart - | | |-- sweeper - | | |-- umbrello - | | |-- wicd-kde - | | `-- zeroconf-ioslave - | |-- cmake - | | |-- amarok - | | |-- analitza - | | |-- bluedevil - | | |-- calligra - | | |-- cmake - | | |-- k3b - | | |-- kajongg - | | |-- kde-runtime - | | |-- kdeaccessibility - | | |-- kdeadmin - | | |-- kdeartwork - | | |-- kdebase - | | |-- kdebindings - | | |-- kdelibs - | | |-- kdenetwork - | | |-- kdewebdev - | | |-- kross-interpreters - | | |-- kwebkitpart - | | |-- networkmanagement - | | |-- partitionmanager - | | |-- 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 - | |-- 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 - | | |-- kde-runtime - | | | `-- kde-runtime-4.14.3.nm.diff.gz - | | |-- kde-runtime.patch - | | |-- kde-workspace - | | | |-- kde-workspace.batteryapplet.diff.gz - | | | |-- kde-workspace.kdm.server.timeout.diff.gz - | | | `-- kde-workspace.panel-layout.diff.gz - | | |-- kde-workspace.patch - | | |-- kdeconnect-kde - | | | `-- kdeconnect-kde.openssh7.diff.gz - | | |-- kdeconnect-kde.patch - | | |-- kdelibs - | | | |-- coding-style-fixes.patch.gz - | | | |-- kdelibs.docbook.patch.gz - | | | |-- kdelibs.upnp_conditional.patch.gz - | | | |-- return-application-icons-properly.patch.gz - | | | `-- return-not-break.-copy-paste-error.patch.gz - | | |-- kdelibs.patch - | | |-- kdepim - | | | `-- kdepim-install_kleopatra_headers.patch.gz - | | |-- kdepim.patch - | | |-- kdevelop-pg-qt - | | | `-- 0011-fix-some-warnings.patch.gz - | | |-- kdevelop-pg-qt.patch - | | |-- kdewebdev - | | | `-- include-tidy.patch.gz - | | |-- kdewebdev.patch - | | |-- krdc - | | | `-- krdc_freerdp-1.1.0.patch.gz - | | |-- krdc.patch - | | |-- kscreen - | | | `-- kscreen.broken.test.diff.gz - | | |-- kscreen.patch - | | |-- ktouch - | | | `-- ktouch.performance.diff.gz - | | |-- ktouch.patch - | | |-- libkscreen - | | | `-- libkscreen.broken.test.diff.gz - | | |-- libkscreen.patch - | | |-- plasma-nm - | | | `-- plasma-nm.nm.diff.gz - | | |-- plasma-nm.patch - | | |-- strigi-multimedia - | | | `-- strigi-multimedia_port.patch.gz - | | `-- strigi-multimedia.patch - | |-- post-install - | | |-- baloo.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 - | | |-- kwalletmanager.post-install - | | |-- nepomuk-core.post-install - | | `-- wicd-kde.post-install - | |-- pre-install - | | |-- README - | | |-- amarok.pre-install - | | |-- kdeconnect-kde.pre-install - | | |-- kdewebdev - | | | `-- tidy - | | | |-- get-tidy-cvs.sh - | | | |-- tidy-20100503T2309.tar.xz - | | | |-- tidy.SlackBuild - | | | `-- tidy.build - | | `-- kdewebdev.pre-install - | |-- slack-desc - | | |-- amarok - | | |-- amor - | | |-- analitza - | | |-- ark - | | |-- artikulate - | | |-- audiocd-kio - | | |-- baloo - | | |-- baloo-widgets - | | |-- blinken - | | |-- bluedevil - | | |-- bomber - | | |-- bovo - | | |-- calligra - | | |-- cantor - | | |-- cervisia - | | |-- digikam - | | |-- dolphin-plugins - | | |-- dragon - | | |-- ffmpegthumbs - | | |-- filelight - | | |-- granatier - | | |-- gwenview - | | |-- jovie - | | |-- juk - | | |-- k3b - | | |-- kaccessible - | | |-- kactivities - | | |-- kajongg - | | |-- kalgebra - | | |-- kalzium - | | |-- kamera - | | |-- kanagram - | | |-- kapman - | | |-- kapptemplate - | | |-- kate - | | |-- katomic - | | |-- kaudiocreator - | | |-- kblackbox - | | |-- kblocks - | | |-- kbounce - | | |-- kbreakout - | | |-- kbruch - | | |-- kcachegrind - | | |-- kcalc - | | |-- kcharselect - | | |-- kcolorchooser - | | |-- kcron - | | |-- kde-base - | | |-- kde-base-artwork - | | |-- kde-baseapps - | | |-- kde-bindings - | | |-- kde-dev-scripts - | | |-- kde-dev-utils - | | |-- kde-educational - | | |-- kde-runtime - | | |-- kde-wallpapers - | | |-- kde-workspace - | | |-- kdeaccessibility - | | |-- kdeadmin - | | |-- kdeartwork - | | |-- kdebase - | | |-- kdebase-runtime - | | |-- kdebase-workspace - | | |-- kdebindings - | | |-- kdeconnect-kde - | | |-- kdeedu - | | |-- kdegames - | | |-- kdegraphics - | | |-- kdegraphics-mobipocket - | | |-- kdegraphics-strigi-analyzer - | | |-- kdegraphics-thumbnailers - | | |-- kdelibs - | | |-- kdemultimedia - | | |-- kdenetwork - | | |-- kdenetwork-filesharing - | | |-- kdenetwork-strigi-analyzers - | | |-- kdepim - | | |-- kdepim-runtime - | | |-- kdepimlibs - | | |-- kdeplasma-addons - | | |-- kdesdk - | | |-- kdesdk-kioslaves - | | |-- kdesdk-strigi-analyzers - | | |-- kdesdk-thumbnailers - | | |-- kdetoys - | | |-- kdeutils - | | |-- kdev-python - | | |-- kdevelop - | | |-- kdevelop-pg-qt - | | |-- kdevelop-php - | | |-- kdevelop-php-docs - | | |-- kdevplatform - | | |-- kdewebdev - | | |-- kdf - | | |-- kdiamond - | | |-- kdnssd - | | |-- kfilemetadata - | | |-- kfloppy - | | |-- kfourinline - | | |-- kgamma - | | |-- kgeography - | | |-- kget - | | |-- kgoldrunner - | | |-- kgpg - | | |-- khangman - | | |-- kig - | | |-- kigo - | | |-- killbots - | | |-- kimono - | | |-- kio-mtp - | | |-- kipi-plugins - | | |-- kiriki - | | |-- kiten - | | |-- kjumpingcube - | | |-- klettres - | | |-- klickety - | | |-- klines - | | |-- kmag - | | |-- kmahjongg - | | |-- kmines - | | |-- kmix - | | |-- kmousetool - | | |-- kmouth - | | |-- kmplot - | | |-- knavalbattle - | | |-- knetwalk - | | |-- koffice - | | |-- kolf - | | |-- kollision - | | |-- kolourpaint - | | |-- kompare - | | |-- konquest - | | |-- konsole - | | |-- kopete - | | |-- kopete-cryptography - | | |-- korundum - | | |-- kpat - | | |-- kplayer - | | |-- kppp - | | |-- kqtquickcharts - | | |-- krdc - | | |-- kremotecontrol - | | |-- kreversi - | | |-- krfb - | | |-- kross-interpreters - | | |-- kruler - | | |-- ksaneplugin - | | |-- kscd - | | |-- kscreen - | | |-- ksecrets - | | |-- kshisen - | | |-- ksirk - | | |-- ksnakeduel - | | |-- ksnapshot - | | |-- kspaceduel - | | |-- ksquares - | | |-- kstars - | | |-- ksudoku - | | |-- ksystemlog - | | |-- kteatime - | | |-- ktimer - | | |-- ktorrent - | | |-- ktouch - | | |-- ktuberling - | | |-- kturtle - | | |-- ktux - | | |-- kubrick - | | |-- kuser - | | |-- kwallet - | | |-- kwalletmanager - | | |-- kwebkitpart - | | |-- kwordquiz - | | |-- libkcddb - | | |-- libkcompactdisc - | | |-- libkdcraw - | | |-- libkdeedu - | | |-- libkdegames - | | |-- libkexiv2 - | | |-- libkipi - | | |-- libkmahjongg - | | |-- libkomparediff2 - | | |-- libksane - | | |-- libkscreen - | | |-- libktorrent - | | |-- libmm-qt - | | |-- libnm-qt - | | |-- lokalize - | | |-- lskat - | | |-- marble - | | |-- mplayerthumbs - | | |-- nepomuk-core - | | |-- nepomuk-widgets - | | |-- networkmanagement - | | |-- okteta - | | |-- okular - | | |-- oxygen-gtk2 - | | |-- oxygen-gtk3 - | | |-- oxygen-icons - | | |-- pairs - | | |-- palapeli - | | |-- parley - | | |-- partitionmanager - | | |-- perlkde - | | |-- perlqt - | | |-- picmi - | | |-- plasma-nm - | | |-- polkit-kde-agent-1 - | | |-- polkit-kde-kcmodules-1 - | | |-- polkit-qt-1 - | | |-- poxml - | | |-- print-manager - | | |-- printer-applet - | | |-- prison - | | |-- pykde4 - | | |-- qtruby - | | |-- quanta - | | |-- qyoto - | | |-- rocs - | | |-- skanlite - | | |-- smokegen - | | |-- smokekde - | | |-- smokeqt - | | |-- step - | | |-- strigi - | | |-- strigi-multimedia - | | |-- superkaramba - | | |-- svgpart - | | |-- sweeper - | | |-- umbrello - | | |-- wicd-kde - | | `-- zeroconf-ioslave - | `-- src - | |-- amor-4.14.3.tar.xz - | |-- analitza-4.14.3.tar.xz - | |-- ark-4.14.3.tar.xz - | |-- artikulate-4.14.3.tar.xz - | |-- audiocd-kio-4.14.3.tar.xz - | |-- baloo-4.14.3.tar.xz - | |-- baloo-widgets-4.14.3.tar.xz - | |-- blinken-4.14.3.tar.xz - | |-- bomber-4.14.3.tar.xz - | |-- bovo-4.14.3.tar.xz - | |-- cantor-4.14.3.tar.xz - | |-- cervisia-4.14.3.tar.xz - | |-- dolphin-plugins-4.14.3.tar.xz - | |-- dragon-4.14.3.tar.xz - | |-- extragear - | | |-- amarok-2.8.0.tar.xz - | | |-- bluedevil-2.1.1.tar.xz - | | |-- calligra-2.9.11.tar.xz - | | |-- k3b-2.0.3.tar.xz - | | |-- kaudiocreator-1.3.tar.xz - | | |-- kdeconnect-kde-0.8.tar.xz - | | |-- kdev-python-1.7.2.tar.xz - | | |-- kdevelop-4.7.2.tar.xz - | | |-- kdevelop-pg-qt-1.0.0.tar.xz - | | |-- kdevelop-php-1.7.2.tar.xz - | | |-- kdevelop-php-docs-1.7.2.tar.xz - | | |-- kdevplatform-1.7.2.tar.xz - | | |-- kio-mtp-2063e75_20131020git.tar.xz - | | |-- kplayer-0.7.2.tar.xz - | | |-- kscreen-1.0.2.1.tar.xz - | | |-- ktorrent-4.3.1.tar.xz - | | |-- kwebkitpart-1.3.4.tar.xz - | | |-- libkscreen-1.0.5.tar.xz - | | |-- libktorrent-1.3.1.tar.xz - | | |-- libmm-qt-1.0.1.tar.xz - | | |-- libnm-qt-0.9.8.3.tar.xz - | | |-- oxygen-gtk2-1.4.6.tar.xz - | | |-- partitionmanager-1.1.1.tar.xz - | | |-- plasma-nm-0.9.3.6.tar.xz - | | |-- polkit-kde-agent-1-9d74ae3_20120104git.tar.xz - | | |-- polkit-kde-kcmodules-1-001bdf7_20120111git.tar.xz - | | |-- skanlite-1.1.tar.xz - | | `-- wicd-kde-0.3.0_bcf27d8.tar.xz - | |-- ffmpegthumbs-4.14.3.tar.xz - | |-- filelight-4.14.3.tar.xz - | |-- granatier-4.14.3.tar.xz - | |-- gwenview-4.14.3.tar.xz - | |-- jovie-4.14.3.tar.xz - | |-- juk-4.14.3.tar.xz - | |-- kaccessible-4.14.3.tar.xz - | |-- kactivities-4.13.3.tar.xz - | |-- kajongg-4.14.3.tar.xz - | |-- kalgebra-4.14.3.tar.xz - | |-- kalzium-4.14.3.tar.xz - | |-- kamera-4.14.3.tar.xz - | |-- kanagram-4.14.3.tar.xz - | |-- kapman-4.14.3.tar.xz - | |-- kapptemplate-4.14.3.tar.xz - | |-- kate-4.14.3.tar.xz - | |-- katomic-4.14.3.tar.xz - | |-- kblackbox-4.14.3.tar.xz - | |-- kblocks-4.14.3.tar.xz - | |-- kbounce-4.14.3.tar.xz - | |-- kbreakout-4.14.3.tar.xz - | |-- kbruch-4.14.3.tar.xz - | |-- kcachegrind-4.14.3.tar.xz - | |-- kcalc-4.14.3.tar.xz - | |-- kcharselect-4.14.3.tar.xz - | |-- kcolorchooser-4.14.3.tar.xz - | |-- kcron-4.14.3.tar.xz - | |-- kde-base-artwork-4.14.3.tar.xz - | |-- kde-baseapps-4.14.3.tar.xz - | |-- kde-dev-scripts-4.14.3.tar.xz - | |-- kde-dev-utils-4.14.3.tar.xz - | |-- kde-runtime-4.14.3.tar.xz - | |-- kde-wallpapers-4.14.3.tar.xz - | |-- kde-workspace-4.11.22.tar.xz - | |-- kdeartwork-4.14.3.tar.xz - | |-- kdegraphics-mobipocket-4.14.3.tar.xz - | |-- kdegraphics-strigi-analyzer-4.14.3.tar.xz - | |-- kdegraphics-thumbnailers-4.14.3.tar.xz - | |-- kdelibs-4.14.21.tar.xz - | |-- kdenetwork-filesharing-4.14.3.tar.xz - | |-- kdenetwork-strigi-analyzers-4.14.3.tar.xz - | |-- kdepim-4.14.10.tar.xz - | |-- kdepim-runtime-4.14.10.tar.xz - | |-- kdepimlibs-4.14.10.tar.xz - | |-- kdeplasma-addons-4.14.3.tar.xz - | |-- kdesdk-kioslaves-4.14.3.tar.xz - | |-- kdesdk-strigi-analyzers-4.14.3.tar.xz - | |-- kdesdk-thumbnailers-4.14.3.tar.xz - | |-- kdewebdev-4.14.3.tar.xz - | |-- kdf-4.14.3.tar.xz - | |-- kdiamond-4.14.3.tar.xz - | |-- kfilemetadata-4.14.3.tar.xz - | |-- kfloppy-4.14.3.tar.xz - | |-- kfourinline-4.14.3.tar.xz - | |-- kgamma-4.14.3.tar.xz - | |-- kgeography-4.14.3.tar.xz - | |-- kget-4.14.3.tar.xz - | |-- kgoldrunner-4.14.3.tar.xz - | |-- kgpg-4.14.3.tar.xz - | |-- khangman-4.14.3.tar.xz - | |-- kig-4.14.3.tar.xz - | |-- kigo-4.14.3.tar.xz - | |-- killbots-4.14.3.tar.xz - | |-- kimono-4.14.3.tar.xz - | |-- kiriki-4.14.3.tar.xz - | |-- kiten-4.14.3.tar.xz - | |-- kjumpingcube-4.14.3.tar.xz - | |-- klettres-4.14.3.tar.xz - | |-- klickety-4.14.3.tar.xz - | |-- klines-4.14.3.tar.xz - | |-- kmag-4.14.3.tar.xz - | |-- kmahjongg-4.14.3.tar.xz - | |-- kmines-4.14.3.tar.xz - | |-- kmix-4.14.3.tar.xz - | |-- kmousetool-4.14.3.tar.xz - | |-- kmouth-4.14.3.tar.xz - | |-- kmplot-4.14.3.tar.xz - | |-- knavalbattle-4.14.3.tar.xz - | |-- knetwalk-4.14.3.tar.xz - | |-- kolf-4.14.3.tar.xz - | |-- kollision-4.14.3.tar.xz - | |-- kolourpaint-4.14.3.tar.xz - | |-- kompare-4.14.3.tar.xz - | |-- konquest-4.14.3.tar.xz - | |-- konsole-4.14.3.tar.xz - | |-- kopete-4.14.3.tar.xz - | |-- korundum-4.14.3.tar.xz - | |-- kpat-4.14.3.tar.xz - | |-- kppp-4.14.3.tar.xz - | |-- kqtquickcharts-4.14.3.tar.xz - | |-- krdc-4.14.3.tar.xz - | |-- kremotecontrol-4.14.3.tar.xz - | |-- kreversi-4.14.3.tar.xz - | |-- krfb-4.14.3.tar.xz - | |-- kross-interpreters-4.14.3.tar.xz - | |-- kruler-4.14.3.tar.xz - | |-- ksaneplugin-4.14.3.tar.xz - | |-- kscd-4.14.3.tar.xz - | |-- kshisen-4.14.3.tar.xz - | |-- ksirk-4.14.3.tar.xz - | |-- ksnakeduel-4.14.3.tar.xz - | |-- ksnapshot-4.14.3.tar.xz - | |-- kspaceduel-4.14.3.tar.xz - | |-- ksquares-4.14.3.tar.xz - | |-- kstars-4.14.3.tar.xz - | |-- ksudoku-4.14.3.tar.xz - | |-- ksystemlog-4.14.3.tar.xz - | |-- kteatime-4.14.3.tar.xz - | |-- ktimer-4.14.3.tar.xz - | |-- ktouch-4.14.3.tar.xz - | |-- ktuberling-4.14.3.tar.xz - | |-- kturtle-4.14.3.tar.xz - | |-- ktux-4.14.3.tar.xz - | |-- kubrick-4.14.3.tar.xz - | |-- kuser-4.14.3.tar.xz - | |-- kwalletmanager-4.14.3.tar.xz - | |-- kwordquiz-4.14.3.tar.xz - | |-- libkcddb-4.14.3.tar.xz - | |-- libkcompactdisc-4.14.3.tar.xz - | |-- libkdcraw-4.14.3.tar.xz - | |-- libkdeedu-4.14.3.tar.xz - | |-- libkdegames-4.14.3.tar.xz - | |-- libkexiv2-4.14.3.tar.xz - | |-- libkipi-4.14.3.tar.xz - | |-- libkmahjongg-4.14.3.tar.xz - | |-- libkomparediff2-4.14.3.tar.xz - | |-- libksane-4.14.3.tar.xz - | |-- lokalize-4.14.3.tar.xz - | |-- lskat-4.14.3.tar.xz - | |-- marble-4.14.3.tar.xz - | |-- mplayerthumbs-4.14.3.tar.xz - | |-- nepomuk-core-4.14.3.tar.xz - | |-- nepomuk-widgets-4.14.3.tar.xz - | |-- okteta-4.14.3.tar.xz - | |-- okular-4.14.3.tar.xz - | |-- oxygen-icons-4.14.3.tar.xz - | |-- pairs-4.14.3.tar.xz - | |-- palapeli-4.14.3.tar.xz - | |-- parley-4.14.3.tar.xz - | |-- perlkde-4.14.3.tar.xz - | |-- perlqt-4.14.3.tar.xz - | |-- picmi-4.14.3.tar.xz - | |-- poxml-4.14.3.tar.xz - | |-- print-manager-4.14.3.tar.xz - | |-- pykde4-4.14.3.tar.xz - | |-- qtruby-4.14.3.tar.xz - | |-- qyoto-4.14.3.tar.xz - | |-- rocs-4.14.3.tar.xz - | |-- smokegen-4.14.3.tar.xz - | |-- smokekde-4.14.3.tar.xz - | |-- smokeqt-4.14.3.tar.xz - | |-- step-4.14.3.tar.xz - | |-- superkaramba-4.14.3.tar.xz - | |-- svgpart-4.14.3.tar.xz - | |-- sweeper-4.14.3.tar.xz - | |-- umbrello-4.14.3.tar.xz - | `-- zeroconf-ioslave-4.14.3.tar.xz - |-- kdei - | |-- calligra-l10n - | | |-- calligra-l10n-bs-2.9.11.tar.xz - | | |-- calligra-l10n-ca-2.9.11.tar.xz - | | |-- calligra-l10n-ca@valencia-2.9.11.tar.xz - | | |-- calligra-l10n-cs-2.9.11.tar.xz - | | |-- calligra-l10n-da-2.9.11.tar.xz - | | |-- calligra-l10n-de-2.9.11.tar.xz - | | |-- calligra-l10n-el-2.9.11.tar.xz - | | |-- calligra-l10n-en_GB-2.9.11.tar.xz - | | |-- calligra-l10n-es-2.9.11.tar.xz - | | |-- calligra-l10n-et-2.9.11.tar.xz - | | |-- calligra-l10n-fi-2.9.11.tar.xz - | | |-- calligra-l10n-fr-2.9.11.tar.xz - | | |-- calligra-l10n-gl-2.9.11.tar.xz - | | |-- calligra-l10n-hu-2.9.11.tar.xz - | | |-- calligra-l10n-it-2.9.11.tar.xz - | | |-- calligra-l10n-ja-2.9.11.tar.xz - | | |-- calligra-l10n-kk-2.9.11.tar.xz - | | |-- calligra-l10n-nb-2.9.11.tar.xz - | | |-- calligra-l10n-nl-2.9.11.tar.xz - | | |-- calligra-l10n-pl-2.9.11.tar.xz - | | |-- calligra-l10n-pt-2.9.11.tar.xz - | | |-- calligra-l10n-pt_BR-2.9.11.tar.xz - | | |-- calligra-l10n-ru-2.9.11.tar.xz - | | |-- calligra-l10n-sk-2.9.11.tar.xz - | | |-- calligra-l10n-sv-2.9.11.tar.xz - | | |-- calligra-l10n-tr-2.9.11.tar.xz - | | |-- calligra-l10n-uk-2.9.11.tar.xz - | | |-- calligra-l10n-zh_CN-2.9.11.tar.xz - | | |-- calligra-l10n-zh_TW-2.9.11.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-ia - | | |-- 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.14.3.tar.xz - | |-- kde-l10n-bg-4.14.3.tar.xz - | |-- kde-l10n-bs-4.14.3.tar.xz - | |-- kde-l10n-ca-4.14.3.tar.xz - | |-- kde-l10n-ca@valencia-4.14.3.tar.xz - | |-- kde-l10n-cs-4.14.3.tar.xz - | |-- kde-l10n-da-4.14.3.tar.xz - | |-- kde-l10n-de-4.14.3.tar.xz - | |-- kde-l10n-el-4.14.3.tar.xz - | |-- kde-l10n-en_GB-4.14.3.tar.xz - | |-- kde-l10n-es-4.14.3.tar.xz - | |-- kde-l10n-et-4.14.3.tar.xz - | |-- kde-l10n-eu-4.14.3.tar.xz - | |-- kde-l10n-fa-4.14.3.tar.xz - | |-- kde-l10n-fi-4.14.3.tar.xz - | |-- kde-l10n-fr-4.14.3.tar.xz - | |-- kde-l10n-ga-4.14.3.tar.xz - | |-- kde-l10n-gl-4.14.3.tar.xz - | |-- kde-l10n-he-4.14.3.tar.xz - | |-- kde-l10n-hi-4.14.3.tar.xz - | |-- kde-l10n-hr-4.14.3.tar.xz - | |-- kde-l10n-hu-4.14.3.tar.xz - | |-- kde-l10n-ia-4.14.3.tar.xz - | |-- kde-l10n-id-4.14.3.tar.xz - | |-- kde-l10n-is-4.14.3.tar.xz - | |-- kde-l10n-it-4.14.3.tar.xz - | |-- kde-l10n-ja-4.14.3.tar.xz - | |-- kde-l10n-kk-4.14.3.tar.xz - | |-- kde-l10n-km-4.14.3.tar.xz - | |-- kde-l10n-ko-4.14.3.tar.xz - | |-- kde-l10n-lt-4.14.3.tar.xz - | |-- kde-l10n-lv-4.14.3.tar.xz - | |-- kde-l10n-mr-4.14.3.tar.xz - | |-- kde-l10n-nb-4.14.3.tar.xz - | |-- kde-l10n-nds-4.14.3.tar.xz - | |-- kde-l10n-nl-4.14.3.tar.xz - | |-- kde-l10n-nn-4.14.3.tar.xz - | |-- kde-l10n-pa-4.14.3.tar.xz - | |-- kde-l10n-pl-4.14.3.tar.xz - | |-- kde-l10n-pt-4.14.3.tar.xz - | |-- kde-l10n-pt_BR-4.14.3.tar.xz - | |-- kde-l10n-ro-4.14.3.tar.xz - | |-- kde-l10n-ru-4.14.3.tar.xz - | |-- kde-l10n-sk-4.14.3.tar.xz - | |-- kde-l10n-sl-4.14.3.tar.xz - | |-- kde-l10n-sr-4.14.3.tar.xz - | |-- kde-l10n-sv-4.14.3.tar.xz - | |-- kde-l10n-tr-4.14.3.tar.xz - | |-- kde-l10n-ug-4.14.3.tar.xz - | |-- kde-l10n-uk-4.14.3.tar.xz - | |-- kde-l10n-wa-4.14.3.tar.xz - | |-- kde-l10n-zh_CN-4.14.3.tar.xz - | |-- kde-l10n-zh_TW-4.14.3.tar.xz - | |-- kde-l10n.SlackBuild - | |-- kdepim-l10n - | | |-- extract-kdepim-goodness.sh - | | `-- kdepim-l10n-fr-4.4.5.korganizer.docbook.reorganize.diff.gz.defunct - | |-- 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 - | |-- ConsoleKit2 - | | |-- ConsoleKit2-1.0.0.tar.xz - | | |-- ConsoleKit2.SlackBuild - | | |-- doinst.sh.gz - | | |-- patches - | | | |-- 0001-Revert-Minor-code-refactoring.patch.gz - | | | |-- 0002-Fix-some-libdir-scripts-stuff-missed-in-4d87a25ea0af.patch.gz - | | | |-- 0003-Filter-out-the-kdm-user.patch.gz - | | | `-- 0004-Apply-overlooked-prefix-lib-libdir-substitution.patch.gz - | | |-- rc.consolekit - | | `-- slack-desc - | |-- GConf - | | |-- GConf-3.2.6.tar.xz - | | |-- GConf.SlackBuild - | | |-- doinst.sh.gz - | | |-- patches - | | | |-- 0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch.gz - | | | |-- 0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch.gz - | | | |-- 0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch.gz - | | | `-- 0011-Fix-some-compiler-warnings.patch - | | `-- slack-desc - | |-- LibRaw - | | |-- LibRaw-0.17.2.tar.xz - | | |-- LibRaw-demosaic-pack-GPL2-0.17.2.tar.xz - | | |-- LibRaw-demosaic-pack-GPL3-0.17.2.tar.xz - | | |-- LibRaw.SlackBuild - | | `-- slack-desc - | |-- M2Crypto - | | |-- M2Crypto-0.23.0.tar.xz - | | |-- M2Crypto.SlackBuild - | | `-- slack-desc - | |-- PyQt - | | |-- PyQt-x11-gpl-4.11.4.tar.xz - | | |-- PyQt.SlackBuild - | | |-- PyQt.phonon.diff.gz - | | `-- slack-desc - | |-- QScintilla - | | |-- QScintilla-gpl-2.9.1.tar.xz - | | |-- QScintilla.SlackBuild - | | `-- slack-desc - | |-- a52dec - | | |-- a52dec-0.7.4.tar.xz - | | |-- a52dec.SlackBuild - | | `-- slack-desc - | |-- aalib - | | |-- aalib-1.4rc5.tar.gz - | | |-- aalib-aclocal.patch.gz - | | |-- aalib.SlackBuild - | | |-- slack-desc - | | `-- slack-desc.11line - | |-- adwaita-icon-theme - | | |-- adwaita-icon-theme-3.18.0.tar.xz - | | |-- adwaita-icon-theme.SlackBuild - | | |-- adwaita-xfce-icons-0.6.tar.xz - | | |-- doinst.sh.gz - | | |-- inherit-hicolor-theme.diff.gz - | | `-- slack-desc - | |-- akonadi - | | |-- akonadi-1.13.0.tar.bz2 - | | |-- akonadi.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- alsa-lib - | | |-- alsa-lib-1.1.1.tar.xz - | | |-- alsa-lib.SlackBuild - | | |-- alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff.gz - | | |-- asound.conf - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- alsa-oss - | | |-- alsa-oss-1.0.28.tar.xz - | | |-- alsa-oss.SlackBuild - | | `-- slack-desc - | |-- alsa-plugins - | | |-- alsa-plugins-1.1.1.tar.xz - | | |-- alsa-plugins.SlackBuild - | | `-- slack-desc - | |-- apr - | | |-- apr-1.5.2.tar.bz2 - | | |-- apr-1.5.2.tar.bz2.asc - | | |-- apr.SlackBuild - | | |-- apr.url - | | `-- slack-desc - | |-- apr-util - | | |-- apr-util-1.5.4.tar.bz2 - | | |-- apr-util-1.5.4.tar.bz2.asc - | | |-- apr-util.SlackBuild - | | |-- apr-util.url - | | `-- slack-desc - | |-- aspell - | | |-- aspell-0.60.6.1.tar.xz - | | |-- aspell.SlackBuild - | | `-- slack-desc - | |-- aspell-dict - | | |-- aspell-dict.SlackBuild - | | |-- build - | | | |-- aspell-af - | | | |-- aspell-br - | | | |-- aspell-cy - | | | |-- aspell-el - | | | |-- aspell-fr - | | | |-- aspell-gv - | | | |-- aspell-hr - | | | |-- aspell-ia - | | | |-- aspell-is - | | | |-- aspell-mi - | | | |-- aspell-mk - | | | |-- aspell-ms - | | | |-- aspell-mt - | | | |-- aspell-nb - | | | |-- aspell-nl - | | | |-- aspell-nn - | | | |-- aspell-no - | | | |-- aspell-pt - | | | |-- aspell-rw - | | | |-- aspell-sl - | | | |-- aspell-sv - | | | |-- aspell-sw - | | | |-- aspell-tr - | | | |-- aspell-wa - | | | |-- aspell-zu - | | | |-- aspell5-be - | | | |-- aspell5-da - | | | |-- aspell5-fo - | | | |-- aspell5-gd - | | | |-- aspell5-hil - | | | |-- aspell5-id - | | | |-- aspell5-mg - | | | |-- aspell5-ny - | | | |-- aspell5-sc - | | | |-- aspell5-tet - | | | |-- aspell5-tl - | | | |-- aspell5-tn - | | | |-- aspell6-am - | | | |-- aspell6-az - | | | |-- aspell6-bn - | | | |-- aspell6-ca - | | | |-- aspell6-cs - | | | |-- aspell6-csb - | | | |-- aspell6-de - | | | |-- aspell6-et - | | | |-- aspell6-fi - | | | |-- aspell6-he - | | | |-- aspell6-hu - | | | |-- aspell6-it - | | | |-- aspell6-la - | | | |-- aspell6-lv - | | | |-- aspell6-mr - | | | |-- aspell6-nds - | | | |-- aspell6-or - | | | |-- aspell6-pa - | | | |-- aspell6-qu - | | | |-- aspell6-ru - | | | |-- aspell6-sr - | | | |-- aspell6-ta - | | | |-- aspell6-te - | | | |-- aspell6-vi - | | | |-- aspell6-yi - | | | |-- increment-all-dict.sh - | | | `-- increment.sh - | | `-- src - | | |-- aspell-af-0.50-0.tar.bz2 - | | |-- aspell-br-0.50-2.tar.bz2 - | | |-- aspell-cy-0.50-3.tar.bz2 - | | |-- aspell-el-0.50-3.tar.bz2 - | | |-- aspell-fr-0.50-3.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-pt-0.50-2.tar.bz2 - | | |-- aspell-rw-0.50-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-wa-0.50-0.tar.bz2 - | | |-- aspell-zu-0.50-0.tar.bz2 - | | |-- aspell5-be-0.01.tar.bz2 - | | |-- aspell5-da-1.4.42-1.tar.bz2 - | | |-- aspell5-fo-0.2.16-1.tar.bz2 - | | |-- aspell5-ga-4.5-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.20-1.tar.bz2 - | | |-- aspell5-mg-0.03-0.tar.bz2 - | | |-- aspell5-ny-0.01-0.tar.bz2 - | | |-- aspell5-ro-3.3-2.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-bg-4.1-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-7.1-0.tar.bz2 - | | |-- aspell6-eo-2.1.20000225a-2.tar.bz2 - | | |-- aspell6-es-1.11-2.tar.bz2 - | | |-- aspell6-et-0.1.21-1.tar.bz2 - | | |-- aspell6-fa-0.11-0.tar.bz2 - | | |-- aspell6-fi-0.7-0.tar.bz2 - | | |-- aspell6-gl-0.5a-2.tar.bz2 - | | |-- aspell6-gu-0.03-0.tar.bz2 - | | |-- aspell6-he-1.0-0.tar.bz2 - | | |-- aspell6-hi-0.02-0.tar.bz2 - | | |-- aspell6-hsb-0.02-0.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.2.1-0.tar.bz2 - | | |-- aspell6-lv-0.5.5-1.tar.bz2 - | | |-- aspell6-mn-0.06-2.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-pl-6.0_20061121-0.tar.bz2 - | | |-- aspell6-pt_BR-20090702-0.tar.bz2 - | | |-- aspell6-qu-0.02-0.tar.bz2 - | | |-- aspell6-ru-0.99f7-1.tar.bz2 - | | |-- aspell6-sk-2.01-2.tar.bz2 - | | |-- aspell6-sr-0.02.tar.bz2 - | | |-- aspell6-ta-20040424-1.tar.bz2 - | | |-- aspell6-te-0.01-2.tar.bz2 - | | |-- aspell6-uk-1.4.0-0.tar.bz2 - | | |-- aspell6-uz-0.6-0.tar.bz2 - | | |-- aspell6-vi-0.01.1-1.tar.bz2 - | | `-- aspell6-yi-0.01.1-1.tar.bz2 - | |-- at-spi2-atk - | | |-- at-spi2-atk-2.18.1.tar.xz - | | |-- at-spi2-atk.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- at-spi2-core - | | |-- at-spi2-core-2.18.3.tar.xz - | | |-- at-spi2-core.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- atk - | | |-- atk-2.18.0.tar.xz - | | |-- atk.SlackBuild - | | `-- slack-desc - | |-- atkmm - | | |-- atkmm-2.24.2.tar.xz - | | |-- atkmm.SlackBuild - | | `-- slack-desc - | |-- attica - | | |-- attica-0.4.2.tar.bz2 - | | |-- attica.SlackBuild - | | `-- slack-desc - | |-- audiofile - | | |-- audiofile-0.3.6.tar.xz - | | |-- audiofile.SlackBuild - | | `-- slack-desc - | |-- automoc4 - | | |-- automoc4-0.9.88.tar.bz2 - | | |-- automoc4.SlackBuild - | | `-- slack-desc - | |-- babl - | | |-- babl-0.1.14.tar.xz - | | |-- babl.SlackBuild - | | `-- slack-desc - | |-- boost - | | |-- boost.SlackBuild - | | |-- boost_1_59_0.tar.xz - | | `-- slack-desc - | |-- cairo - | | |-- cairo-1.14.6.tar.xz - | | |-- cairo.SlackBuild - | | |-- cairo.c088ba1faab9579efdaed7a524124901a17801b0.diff.gz - | | |-- paredown.sh - | | `-- slack-desc - | |-- cairomm - | | |-- cairomm-1.12.0.tar.xz - | | |-- cairomm.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.install_contribs_lib.diff.gz - | | |-- clucene.pkgconfig.diff.gz - | | `-- 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.106.tar.xz - | | |-- dbus-glib.SlackBuild - | | `-- slack-desc - | |-- dbus-python - | | |-- dbus-python-1.2.4.tar.xz - | | |-- dbus-python.SlackBuild - | | `-- slack-desc - | |-- dconf - | | |-- dconf-0.24.0.tar.xz - | | |-- dconf.SlackBuild - | | |-- dconf.url - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dconf-editor - | | |-- dconf-editor-3.18.2.tar.xz - | | |-- dconf-editor.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- desktop-file-utils - | | |-- desktop-file-utils-0.22.tar.xz - | | |-- desktop-file-utils.SlackBuild - | | |-- desktop-file-utils.quiet.warnings.diff.gz - | | |-- doinst.sh.gz - | | |-- gitpatches - | | | |-- 0001-desktop-file-validate-Trailing-semicolons-have-been-.patch - | | | |-- 0002-Add-Cinnamon-to-list-of-registered-environments.patch - | | | `-- 0003-Add-EDE-to-the-list-of-desktop-environments.patch - | | `-- slack-desc - | |-- djvulibre - | | |-- djvulibre-3.5.27.tar.xz - | | |-- djvulibre.SlackBuild - | | |-- djvulibre.info - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- ebook-tools - | | |-- ebook-tools-0.2.2.tar.xz - | | |-- ebook-tools.SlackBuild - | | |-- epub3_fixed_layout.patch.gz - | | `-- slack-desc - | |-- eigen2 - | | |-- eigen2-2.0.17.tar.xz - | | |-- eigen2.SlackBuild - | | `-- slack-desc - | |-- eigen3 - | | |-- eigen-3.2.7.tar.xz - | | |-- eigen3.SlackBuild - | | `-- slack-desc - | |-- elfutils - | | |-- elfutils-0.163-unstrip-shf_info_link.patch.gz - | | |-- elfutils-0.163.tar.xz - | | |-- elfutils-portability-0.163.patch.gz - | | |-- elfutils.SlackBuild - | | `-- slack-desc - | |-- enchant - | | |-- enchant-1.6.0.tar.xz - | | |-- enchant.SlackBuild - | | `-- slack-desc - | |-- esound - | | |-- doinst.sh.gz - | | |-- esound-0.2.41.tar.bz2 - | | |-- esound.SlackBuild - | | `-- slack-desc - | |-- exiv2 - | | |-- exiv2-0.25.tar.xz - | | |-- exiv2.SlackBuild - | | `-- slack-desc - | |-- expat - | | |-- expat-2.1.0.tar.xz - | | |-- expat.SlackBuild - | | `-- slack-desc - | |-- fftw - | | |-- fftw-3.3.4.tar.xz - | | |-- fftw.SlackBuild - | | `-- slack-desc - | |-- freetype - | | |-- freetype-2.6.3.tar.xz - | | |-- freetype.SlackBuild - | | |-- freetype.illadvisederror.diff.gz - | | |-- freetype.subpixel.rendering.diff.gz - | | `-- slack-desc - | |-- fribidi - | | |-- fribidi-0.19.7.tar.xz - | | |-- fribidi.SlackBuild - | | |-- fribidi.glib.h.diff.gz - | | `-- slack-desc - | |-- fuse - | | |-- doinst.sh.gz - | | |-- fuse-2.9.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 - | |-- gc - | | |-- gc-7.4.2.tar.xz - | | |-- gc.SlackBuild - | | |-- libatomic_ops-7.4.2.tar.xz - | | |-- noelision.patch.gz - | | |-- refer_to_GC_setup_mark_lock_only_in_PARALLEL_MARK_code.patch.gz - | | `-- slack-desc - | |-- gcr - | | |-- doinst.sh.gz - | | |-- gcr-3.16.0.tar.xz - | | |-- gcr.SlackBuild - | | `-- slack-desc - | |-- gd - | | |-- gd.SlackBuild - | | |-- libgd-2.2.1.tar.xz - | | `-- slack-desc - | |-- gdbm - | | |-- gdbm-1.12.tar.xz - | | |-- gdbm.SlackBuild - | | |-- gdbm.zeroheaders.patch.gz - | | `-- slack-desc - | |-- gdk-pixbuf2 - | | |-- doinst.sh.gz - | | |-- gdk-pixbuf-2.32.3.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-5.1.1.tar.xz - | | |-- giflib.SlackBuild - | | `-- slack-desc - | |-- glade3 - | | |-- glade3-3.8.5.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.46.1.tar.xz - | | |-- glib-networking.SlackBuild - | | `-- slack-desc - | |-- glib2 - | | |-- 0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch - | | |-- doinst.sh.gz - | | |-- glib-2.46.2.tar.xz - | | |-- glib2.SlackBuild - | | |-- libglib2.csh - | | |-- libglib2.sh - | | `-- slack-desc - | |-- glibc - | | |-- doinst.sh-glibc - | | |-- doinst.sh-glibc-solibs - | | |-- glibc-2.10-dns-no-gethostbyname4.diff.gz - | | |-- glibc-2.23.tar.xz - | | |-- glibc-2.23.tar.xz.sig - | | |-- glibc-c-utf8-locale.patch.gz - | | |-- glibc-cvs-checkout.sh - | | |-- glibc.SlackBuild - | | |-- glibc.ldd.trace.through.dynamic.linker.diff.gz - | | |-- glibc.locale.no-archive.diff.gz - | | |-- glibc.make-3.82.diff.gz - | | |-- glibc.revert.to.fix.build.breakages.diff.gz - | | |-- glibc.ru_RU.CP1251.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 - | |-- glibmm - | | |-- glibmm-2.46.4.tar.xz - | | |-- glibmm.SlackBuild - | | `-- slack-desc - | |-- gmime - | | |-- gmime-2.6.20.tar.xz - | | |-- gmime.SlackBuild - | | `-- slack-desc - | |-- gmm - | | |-- gmm-4.2.tar.xz - | | |-- gmm.SlackBuild - | | |-- gmm.info - | | `-- slack-desc - | |-- gmp - | | |-- gmp-6.1.1.tar.xz - | | |-- gmp-6.1.1.tar.xz.sig - | | |-- gmp.SlackBuild - | | `-- slack-desc - | |-- gnome-keyring - | | |-- doinst.sh.gz - | | |-- gnome-keyring-3.16.0.tar.xz - | | |-- gnome-keyring.SlackBuild - | | `-- slack-desc - | |-- gnome-themes-standard - | | |-- doinst.sh.gz - | | |-- gnome-themes-standard-3.18.0.tar.xz - | | |-- gnome-themes-standard.SlackBuild - | | `-- slack-desc - | |-- gnu-efi - | | |-- gnu-efi-3.0.4.tar.xz - | | |-- gnu-efi.SlackBuild - | | `-- slack-desc - | |-- gobject-introspection - | | |-- gobject-introspection-1.46.0.tar.xz - | | |-- gobject-introspection.SlackBuild - | | `-- slack-desc - | |-- grantlee - | | |-- grantlee-0.5.1.tar.xz - | | |-- grantlee.SlackBuild - | | `-- slack-desc - | |-- gsettings-desktop-schemas - | | |-- doinst.sh.gz - | | |-- gsettings-desktop-schemas-3.18.1.tar.xz - | | |-- gsettings-desktop-schemas.SlackBuild - | | `-- slack-desc - | |-- gsl - | | |-- gsl-2.1.tar.xz - | | |-- gsl.SlackBuild - | | `-- slack-desc - | |-- gst-plugins-base - | | |-- gst-plugins-base-1.6.4.tar.xz - | | |-- gst-plugins-base.SlackBuild - | | `-- slack-desc - | |-- gst-plugins-base0 - | | |-- gst-plugins-base-0.10.36.tar.xz - | | |-- gst-plugins-base0.SlackBuild - | | `-- slack-desc - | |-- gst-plugins-good - | | |-- gst-plugins-good-1.6.4.tar.xz - | | |-- gst-plugins-good.SlackBuild - | | `-- slack-desc - | |-- gst-plugins-good0 - | | |-- gst-plugins-good-0.10.31.tar.xz - | | |-- gst-plugins-good0.SlackBuild - | | |-- slack-desc - | | `-- v4l.compile.fixes.diff.gz - | |-- gstreamer - | | |-- gstreamer-1.6.4.tar.xz - | | |-- gstreamer.SlackBuild - | | `-- slack-desc - | |-- gstreamer0 - | | |-- gstreamer-0.10.36.tar.xz - | | |-- gstreamer0.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.30.tar.xz - | | |-- gtk+-2.24.x.icon-compat.am.diff.gz - | | |-- gtk+-2.24.x.icon-compat.diff.gz - | | |-- gtk+2.SlackBuild - | | |-- gtk.gtk-faq.diff.gz - | | |-- gtk.gtk-tut.diff.gz - | | |-- gtk.xid.nowarningflood.diff.gz - | | |-- profile.d - | | | |-- gtk+.csh - | | | `-- gtk+.sh - | | |-- slack-desc - | | |-- update-gtk-immodules - | | `-- update-gtk-immodules-2.0 - | |-- gtk+3 - | | |-- doinst.sh.gz - | | |-- gtk+-3.18.9.tar.xz - | | |-- gtk+3.SlackBuild - | | |-- slack-desc - | | `-- update-gtk-immodules-3.0 - | |-- gtkmm2 - | | |-- gtkmm-2.24.4.tar.xz - | | |-- gtkmm2.SlackBuild - | | `-- slack-desc - | |-- gtkmm3 - | | |-- gtkmm-3.18.1.tar.xz - | | |-- gtkmm3.SlackBuild - | | `-- slack-desc - | |-- gtkspell - | | |-- gtkspell-2.0.16.tar.xz - | | |-- gtkspell.SlackBuild - | | `-- slack-desc - | |-- gvfs - | | |-- doinst.sh.gz - | | |-- gvfs-1.26.3.tar.xz - | | |-- gvfs.SlackBuild - | | `-- slack-desc - | |-- harfbuzz - | | |-- harfbuzz-1.2.7.tar.xz - | | |-- harfbuzz.SlackBuild - | | `-- slack-desc - | |-- herqq - | | |-- herqq-1.0.0.zip - | | |-- herqq.SlackBuild - | | `-- slack-desc - | |-- hicolor-icon-theme - | | |-- doinst.sh.gz - | | |-- hicolor-icon-theme-0.15.tar.xz - | | |-- hicolor-icon-theme.SlackBuild - | | |-- setup.08.gtk-update-icon-cache - | | `-- slack-desc - | |-- hunspell - | | |-- hunspell-1.3.3.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-56_1-src.tar.xz - | | |-- icu4c.SlackBuild - | | |-- icu4c.closenull.patch.gz - | | `-- slack-desc - | |-- ilmbase - | | |-- ilmbase-2.2.0-no_undefined.patch.gz - | | |-- ilmbase-2.2.0.tar.xz - | | |-- ilmbase.SlackBuild - | | `-- slack-desc - | |-- iso-codes - | | |-- iso-codes-3.67.tar.xz - | | |-- iso-codes-3.67.tar.xz.sig - | | |-- iso-codes.SlackBuild - | | `-- slack-desc - | |-- jasper - | | |-- jasper-1.900.1.tar.bz2 - | | |-- jasper.SlackBuild - | | |-- patches - | | | |-- jasper-1.900.1-CVE-2008-3520.patch.gz - | | | |-- jasper-1.900.1-CVE-2008-3522.patch.gz - | | | |-- jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz - | | | |-- jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz - | | | |-- jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz - | | | |-- jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz - | | | |-- jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz - | | | |-- jasper-1.900.1-Coverity-RESOURCE_LEAK.patch.gz - | | | |-- jasper-1.900.1-Coverity-UNREACHABLE.patch.gz - | | | |-- jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz - | | | |-- jasper-CVE-2014-8137.patch.gz - | | | |-- jasper-CVE-2014-8138.patch.gz - | | | |-- jasper-CVE-2014-8157.patch.gz - | | | |-- jasper-CVE-2014-8158.patch.gz - | | | |-- jasper-CVE-2014-9029.patch.gz - | | | |-- jpc_dec.c.patch.gz - | | | `-- patch-libjasper-stepsizes-overflow.diff.gz - | | `-- slack-desc - | |-- jemalloc - | | |-- jemalloc-3.6.0.tar.xz - | | |-- jemalloc.SlackBuild - | | `-- slack-desc - | |-- js185 - | | |-- js185-1.0.0.tar.xz - | | |-- js185-destdir.patch - | | |-- js185.SlackBuild - | | `-- slack-desc - | |-- json-c - | | |-- json-c-0.12.tar.xz - | | |-- json-c.SlackBuild - | | |-- slack-desc - | | `-- unset-vars-build-fix.diff.gz - | |-- judy - | | |-- Judy-1.0.5.tar.xz - | | |-- judy.SlackBuild - | | `-- slack-desc - | |-- keybinder - | | |-- keybinder-0.3.1.tar.xz - | | |-- keybinder-3.0-0.3.1.tar.xz - | | |-- keybinder.SlackBuild - | | `-- slack-desc - | |-- keyutils - | | |-- keyutils-1.5.9.tar.bz2 - | | |-- keyutils.SlackBuild - | | `-- slack-desc - | |-- lcms - | | |-- lcms-1.19.tar.xz - | | |-- lcms.SlackBuild - | | `-- slack-desc - | |-- lcms2 - | | |-- lcms2-2.7.tar.xz - | | |-- lcms2.SlackBuild - | | `-- slack-desc - | |-- libaio - | | |-- libaio-0.3.109.tar.bz2 - | | |-- libaio-0.3.109.tar.sign - | | |-- libaio.SlackBuild - | | `-- slack-desc - | |-- libao - | | |-- libao-1.2.0.tar.xz - | | |-- libao.SlackBuild - | | `-- slack-desc - | |-- libarchive - | | |-- libarchive-3.2.1.tar.xz - | | |-- libarchive.SlackBuild - | | `-- slack-desc - | |-- libart_lgpl - | | |-- libart_lgpl-2.3.21.tar.xz - | | |-- libart_lgpl.SlackBuild - | | `-- slack-desc - | |-- libasyncns - | | |-- libasyncns-0.8.tar.xz - | | |-- libasyncns.SlackBuild - | | `-- slack-desc - | |-- libatasmart - | | |-- README - | | |-- libatasmart-0.19.tar.xz - | | |-- libatasmart.SlackBuild - | | |-- libatasmart.info - | | `-- slack-desc - | |-- libbluedevil - | | |-- libbluedevil-2.1.tar.xz - | | |-- libbluedevil.SlackBuild - | | `-- slack-desc - | |-- libcaca - | | |-- libcaca-0.99.beta18.tar.xz - | | |-- libcaca.SlackBuild - | | `-- slack-desc - | |-- libcanberra - | | |-- libcanberra-0.30.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 - | |-- libcap-ng - | | |-- libcap-ng-0.7.7.tar.xz - | | |-- libcap-ng.SlackBuild - | | `-- slack-desc - | |-- libcddb - | | |-- libcddb-1.3.2.tar.xz - | | |-- libcddb.SlackBuild - | | `-- slack-desc - | |-- libcdio - | | |-- libcdio-0.93.tar.xz - | | |-- libcdio.SlackBuild - | | |-- libcdio.url - | | `-- slack-desc - | |-- libcdio-paranoia - | | |-- libcdio-paranoia-10.2+0.93+1.tar.xz - | | |-- libcdio-paranoia.SlackBuild - | | |-- libcdio-paranoia.url - | | `-- slack-desc - | |-- libcroco - | | |-- libcroco-0.6.11.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.6.1.tar.xz - | | |-- libdiscid.SlackBuild - | | `-- slack-desc - | |-- libdvdnav - | | |-- libdvdnav-5.0.3.tar.xz - | | |-- libdvdnav.SlackBuild - | | `-- slack-desc - | |-- libdvdread - | | |-- libdvdread-5.0.3.tar.xz - | | |-- libdvdread.SlackBuild - | | `-- slack-desc - | |-- libevent - | | |-- libevent-2.0.22-stable.tar.xz - | | |-- libevent.SlackBuild - | | `-- slack-desc - | |-- libexif - | | |-- libexif-0.6.21.tar.xz - | | |-- libexif.SlackBuild - | | |-- libexif.pc.diff.gz - | | `-- slack-desc - | |-- libfakekey - | | |-- libfakekey-0.1.tar.xz - | | |-- libfakekey.SlackBuild - | | `-- slack-desc - | |-- libffi - | | |-- libffi-3.2.1.tar.xz - | | |-- libffi.SlackBuild - | | |-- libffi.includedir.diff.gz - | | `-- slack-desc - | |-- libglade - | | |-- libglade-2.6.4.tar.bz2 - | | |-- libglade.SlackBuild - | | `-- slack-desc - | |-- libgnome-keyring - | | |-- libgnome-keyring-3.12.0.tar.xz - | | |-- libgnome-keyring.SlackBuild - | | `-- slack-desc - | |-- libgphoto2 - | | |-- libgphoto2-2.5.10.tar.xz - | | |-- libgphoto2.SlackBuild - | | `-- slack-desc - | |-- libgpod - | | |-- doinst.sh.gz - | | |-- libgpod-0.8.3.tar.xz - | | |-- libgpod.SlackBuild - | | `-- slack-desc - | |-- libgsf - | | |-- libgsf-1.14.36.tar.xz - | | |-- libgsf.SlackBuild - | | `-- slack-desc - | |-- libical - | | |-- libical-2.0.0.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.30.tar.xz - | | |-- libidn.SlackBuild - | | `-- slack-desc - | |-- libieee1284 - | | |-- libieee1284-0.2.11.tar.bz2 - | | |-- libieee1284.SlackBuild - | | `-- slack-desc - | |-- libimobiledevice - | | |-- libimobiledevice-1.2.0.tar.xz - | | |-- libimobiledevice.SlackBuild - | | `-- slack-desc - | |-- libiodbc - | | |-- libiodbc-3.52.10.tar.xz - | | |-- libiodbc.SlackBuild - | | |-- libiodbc.disable.rpath.diff.gz - | | `-- slack-desc - | |-- libjpeg-turbo - | | |-- libjpeg-turbo-1.5.0.tar.xz - | | |-- libjpeg-turbo.SlackBuild - | | `-- slack-desc - | |-- libkarma - | | |-- libkarma-0.1.1.tar.gz - | | |-- libkarma.SlackBuild - | | `-- slack-desc - | |-- liblastfm - | | |-- liblastfm-1.0.9.tar.xz - | | |-- 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-2.0.3.tar.xz - | | |-- libmng-2.0.3.tar.xz.asc - | | |-- libmng.SlackBuild - | | `-- slack-desc - | |-- libmowgli - | | |-- libmowgli-0.7.1.tar.bz2 - | | |-- libmowgli.SlackBuild - | | `-- slack-desc - | |-- libmpc - | | |-- libmpc.SlackBuild - | | |-- mpc-1.0.3.tar.xz - | | `-- slack-desc - | |-- libmsn - | | |-- libmsn-4.2.1.tar.bz2 - | | |-- libmsn.SlackBuild - | | |-- libmsn.gcc47.diff.gz - | | `-- slack-desc - | |-- libmtp - | | |-- libmtp-1.1.11.tar.xz - | | |-- libmtp.SlackBuild - | | `-- slack-desc - | |-- libnih - | | |-- libnih-1.0.3.tar.xz - | | |-- libnih.SlackBuild - | | `-- slack-desc - | |-- libnjb - | | |-- 80-libnjb.rules - | | |-- libnjb-2.2.6.tar.bz2 - | | |-- libnjb.SlackBuild - | | `-- slack-desc - | |-- libnl - | | |-- libnl-1.1.4.tar.gz - | | |-- libnl.SlackBuild - | | |-- libnl.info - | | `-- slack-desc - | |-- libnl3 - | | |-- doinst.sh.gz - | | |-- libnl-3.2.27.tar.xz - | | |-- libnl3.SlackBuild - | | `-- slack-desc - | |-- libnotify - | | |-- libnotify-0.7.6.tar.xz - | | |-- libnotify.SlackBuild - | | `-- slack-desc - | |-- libodfgen - | | |-- libodfgen-0.1.6.tar.xz - | | |-- libodfgen.SlackBuild - | | `-- slack-desc - | |-- libogg - | | |-- libogg-1.3.2.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.7.4.tar.gz - | | |-- libpcap-1.7.4.tar.gz.sig - | | |-- libpcap.SlackBuild - | | `-- slack-desc - | |-- libplist - | | |-- libplist-1.12.tar.xz - | | |-- libplist.SlackBuild - | | `-- slack-desc - | |-- libpng - | | |-- libpng-1.6.23.tar.xz - | | |-- libpng-1.6.23.tar.xz.asc - | | |-- libpng.SlackBuild - | | |-- libpng.url - | | `-- slack-desc - | |-- libproxy - | | |-- libproxy-0.4.12.tar.xz - | | |-- libproxy.SlackBuild - | | |-- libproxy.url - | | `-- slack-desc - | |-- libraw1394 - | | |-- libraw1394-2.1.1.tar.sign - | | |-- libraw1394-2.1.1.tar.xz - | | |-- libraw1394.SlackBuild - | | `-- slack-desc - | |-- librevenge - | | |-- librevenge-0.0.4.tar.xz - | | |-- librevenge.SlackBuild - | | `-- slack-desc - | |-- librsvg - | | |-- librsvg-2.40.16.tar.xz - | | |-- librsvg.SlackBuild - | | `-- slack-desc - | |-- libsamplerate - | | |-- libsamplerate-0.1.8.tar.xz - | | |-- libsamplerate.SlackBuild - | | `-- slack-desc - | |-- libsecret - | | |-- libsecret-0.18.5.tar.xz - | | |-- libsecret.SlackBuild - | | `-- slack-desc - | |-- libsigc++ - | | |-- libsigc++-2.6.2.tar.xz - | | |-- libsigc++.SlackBuild - | | `-- slack-desc - | |-- libsigsegv - | | |-- libsigsegv-2.10.tar.xz - | | |-- libsigsegv.SlackBuild - | | `-- slack-desc - | |-- libsndfile - | | |-- libsndfile-1.0.26.tar.xz - | | |-- libsndfile.SlackBuild - | | `-- slack-desc - | |-- libsoup - | | |-- libsoup-2.52.2.tar.xz - | | |-- libsoup.SlackBuild - | | `-- slack-desc - | |-- libspectre - | | |-- libspectre-0.2.7.tar.xz - | | |-- libspectre.SlackBuild - | | `-- slack-desc - | |-- libssh - | | |-- libssh-0.7.3.tar.asc - | | |-- libssh-0.7.3.tar.xz - | | |-- libssh.SlackBuild - | | `-- slack-desc - | |-- libssh2 - | | |-- libssh2-1.7.0.tar.gz - | | |-- libssh2-1.7.0.tar.gz.asc - | | |-- libssh2.SlackBuild - | | `-- slack-desc - | |-- libtasn1 - | | |-- libtasn1-4.8.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-am-version.patch.gz - | | |-- libtiff-make-check.patch.gz - | | |-- libtiff.SlackBuild - | | |-- slack-desc - | | `-- tiff-4.0.6.tar.xz - | |-- libunistring - | | |-- libunistring-0.9.3.tar.xz - | | |-- libunistring.SlackBuild - | | `-- slack-desc - | |-- libusb - | | |-- libusb-1.0.20.tar.xz - | | |-- libusb.SlackBuild - | | `-- slack-desc - | |-- libusb-compat - | | |-- libusb-compat-0.1.5.tar.xz - | | |-- libusb-compat.SlackBuild - | | `-- slack-desc - | |-- libusbmuxd - | | |-- libusbmuxd-1.0.10.tar.xz - | | |-- libusbmuxd.SlackBuild - | | `-- slack-desc - | |-- libvisio - | | |-- libvisio-0.1.5.tar.xz - | | |-- libvisio.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.10.tar.xz - | | |-- libvncserver.SlackBuild - | | `-- slack-desc - | |-- libvorbis - | | |-- libvorbis-1.3.5.tar.xz - | | |-- libvorbis.SlackBuild - | | `-- slack-desc - | |-- libvpx - | | |-- libvpx-1.5.0.tar.xz - | | |-- libvpx.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.31.0.tar.xz - | | |-- libwnck.SlackBuild - | | `-- slack-desc - | |-- libwpd - | | |-- libwpd-0.10.1.tar.xz - | | |-- libwpd.SlackBuild - | | `-- slack-desc - | |-- libwpg - | | |-- libwpg-0.3.1.tar.xz - | | |-- libwpg.SlackBuild - | | `-- slack-desc - | |-- libxklavier - | | |-- libxklavier-5.4.tar.xz - | | |-- libxklavier.SlackBuild - | | `-- slack-desc - | |-- libxml2 - | | |-- 0001-Fix-attribute-decoding-during-XML-schema-validation.diff.gz - | | |-- libxml2-2.9.4.tar.xz - | | |-- libxml2.SlackBuild - | | |-- libxml2.do-not-check-crc.diff.gz - | | `-- slack-desc - | |-- libxslt - | | |-- libxslt-1.1.29.tar.xz - | | |-- libxslt.SlackBuild - | | `-- slack-desc - | |-- libyaml - | | |-- libyaml.SlackBuild - | | |-- libyaml.url - | | |-- slack-desc - | | `-- yaml-0.1.6.tar.xz - | |-- libzip - | | |-- libzip-1.0.1.tar.xz - | | |-- libzip.SlackBuild - | | `-- slack-desc - | |-- loudmouth - | | |-- loudmouth-1.5.2.tar.xz - | | |-- loudmouth.SlackBuild - | | `-- slack-desc - | |-- lzo - | | |-- lzo-2.09.tar.xz - | | |-- lzo.SlackBuild - | | `-- slack-desc - | |-- media-player-info - | | |-- media-player-info-18.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.12.tar.xz - | | |-- nss-3.23.tar.xz - | | |-- nss-config.in - | | `-- slack-desc - | |-- mpfr - | | |-- mpfr-3.1.4.tar.xz - | | |-- mpfr-3.1.4.tar.xz.sig - | | |-- mpfr.SlackBuild - | | |-- patches - | | `-- slack-desc - | |-- ncurses - | | |-- Eterm.ti - | | |-- ncurses-5.9-20141206-patch.sh.xz - | | |-- ncurses-5.9.tar.xz - | | |-- ncurses.SlackBuild - | | |-- ncurses.mkhashsize.diff.gz - | | |-- patches - | | |-- rxvt.terminfo - | | |-- screeninfo.src - | | |-- slack-desc - | | `-- xterm.terminfo - | |-- neon - | | |-- neon-0.30.1.tar.xz - | | |-- neon.SlackBuild - | | `-- slack-desc - | |-- netpbm - | | |-- config.mk.gz - | | |-- netpbm-10.66.02.tar.xz - | | |-- netpbm-manpages.tar.bz2 - | | |-- netpbm-noppmtompeg.patch.gz - | | |-- netpbm-pnmtops.patch.gz - | | |-- netpbm.SlackBuild - | | |-- slack-desc - | | `-- svn-checkout-stable.sh - | |-- newt - | | |-- newt-0.52.19.tar.xz - | | |-- newt.SlackBuild - | | `-- slack-desc - | |-- notify-python - | | |-- libnotify07.patch.gz - | | |-- notify-python-0.1.1-fix-GTK-symbols.patch.gz - | | |-- notify-python-0.1.1.tar.bz2 - | | |-- notify-python.SlackBuild - | | `-- slack-desc - | |-- openexr - | | |-- openexr-2.2.0.tar.xz - | | |-- openexr.SlackBuild - | | `-- slack-desc - | |-- openjpeg - | | |-- openjpeg-2.1.0.tar.xz - | | |-- openjpeg.SlackBuild - | | `-- slack-desc - | |-- orc - | | |-- orc-0.4.24.tar.xz - | | |-- orc.SlackBuild - | | `-- slack-desc - | |-- pango - | | |-- pango-1.38.1.tar.xz - | | |-- pango.SlackBuild - | | `-- slack-desc - | |-- pangomm - | | |-- pangomm-2.38.1.tar.xz - | | |-- pangomm.SlackBuild - | | `-- slack-desc - | |-- parted - | | |-- parted-3.2.tar.xz - | | |-- parted-3.2.tar.xz.sig - | | |-- parted.SlackBuild - | | |-- parted.SlackBuild.static - | | |-- parted.configure.diff.gz - | | `-- slack-desc - | |-- pcre - | | |-- pcre-8.39.tar.xz - | | |-- pcre.SlackBuild - | | `-- slack-desc - | |-- phonon - | | |-- phonon-4.8.3.tar.xz - | | |-- phonon.SlackBuild - | | `-- slack-desc - | |-- phonon-gstreamer - | | |-- phonon-backend-gstreamer-4.8.2.tar.xz - | | |-- phonon-gstreamer.SlackBuild - | | `-- slack-desc - | |-- pilot-link - | | |-- pilot-link-0.12.5-redefinePerlsymbols.patch.gz - | | |-- 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.rules - | | |-- 20-plugdev-group-mount-override.rules - | | |-- doinst.sh.gz - | | |-- dont-set-wheel-group-as-admin.diff.gz - | | |-- polkit-0.113.tar.gz - | | |-- polkit.SlackBuild - | | `-- slack-desc - | |-- polkit-gnome - | | |-- polkit-gnome-0.105.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.45.0.tar.xz - | | |-- poppler.SlackBuild - | | `-- slack-desc - | |-- poppler-data - | | |-- poppler-data-0.4.7.tar.xz - | | |-- poppler-data.SlackBuild - | | `-- slack-desc - | |-- popt - | | |-- popt-1.16.tar.xz - | | |-- popt.SlackBuild - | | `-- slack-desc - | |-- pulseaudio - | | |-- 0001-client-conf-Add-allow-autospawn-for-root.patch.gz - | | |-- 0002-allow-autospawn-for-root-default.diff.gz - | | |-- 0003-no-root-warn.diff.gz - | | |-- 020_no-parallel-make.diff.gz - | | |-- 030_posix-completion.diff.gz - | | |-- doinst.sh.gz - | | |-- pulseaudio-9.0.tar.xz - | | |-- pulseaudio-autostart.patch.gz - | | |-- pulseaudio.SlackBuild - | | |-- rc.pulseaudio - | | `-- slack-desc - | |-- pycairo - | | |-- py2cairo-1.10.0.tar.xz - | | |-- pycairo.SlackBuild - | | |-- pycairo.url - | | `-- slack-desc - | |-- pycups - | | |-- pycups-1.9.73.tar.bz2 - | | |-- pycups.SlackBuild - | | |-- pycups.info - | | `-- slack-desc - | |-- pycurl - | | |-- pycurl-7.43.0.tar.xz - | | |-- pycurl.SlackBuild - | | `-- slack-desc - | |-- pygobject - | | |-- pygobject-2.28.6.tar.xz - | | |-- pygobject.SlackBuild - | | |-- pygobject.flags.diff.gz - | | |-- pygobject.url - | | `-- slack-desc - | |-- pygobject3 - | | |-- pygobject-3.18.2.tar.xz - | | |-- pygobject3.SlackBuild - | | |-- pygobject3.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 - | |-- python-pillow - | | |-- Pillow-3.0.0.tar.xz - | | |-- Sane-2.8.2.tar.xz - | | |-- python-pillow.SlackBuild - | | `-- slack-desc - | |-- qca - | | |-- 0011-use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch.gz - | | |-- qca-2.1.1.tar.xz - | | |-- qca.SlackBuild - | | `-- slack-desc - | |-- qimageblitz - | | |-- qimageblitz-0.0.6.tar.bz2 - | | |-- qimageblitz.SlackBuild - | | |-- qimageblitz.info - | | `-- slack-desc - | |-- qjson - | | |-- qjson-0.8.1.tar.bz2 - | | |-- qjson.SlackBuild - | | `-- slack-desc - | |-- qt - | | |-- Qt.pc - | | |-- README - | | |-- doinst.sh.gz - | | |-- profile.d - | | | |-- qt4.csh - | | | `-- qt4.sh - | | |-- qt-everywhere-opensource-src-4.8.7.tar.xz - | | |-- qt-nowebkit.SlackBuild - | | |-- qt.SlackBuild - | | |-- qt.fix.broken.gif.crash.diff.gz - | | |-- qt.glib-honor-ExcludeSocketNotifiers-flag.diff.gz - | | |-- qt.mysql.h.diff.gz - | | |-- qt.qclipboard_delay.patch.gz - | | |-- qt.qclipboard_fix_recursive.patch.gz - | | |-- qt.qsystemtrayicon-plugin-system.diff.gz - | | |-- qt.webkit-no_Werror.patch.gz - | | |-- qtwebkit - | | | |-- doinst.sh.gz - | | | |-- qtwebkit-2.3.4.tar.xz - | | | |-- qtwebkit.SlackBuild - | | | |-- qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff.gz - | | | |-- qtwebkit.url - | | | `-- slack-desc - | | `-- slack-desc - | |-- qt-gstreamer - | | |-- doinst.sh.gz - | | |-- qt-gstreamer-1.2.0.tar.xz - | | |-- qt-gstreamer.SlackBuild - | | `-- slack-desc - | |-- qtscriptgenerator - | | |-- include-everything.patch.gz - | | |-- qtscriptgenerator-src-0.2.0.tar.xz - | | |-- qtscriptgenerator.SlackBuild - | | |-- qtscriptgenerator.info - | | `-- slack-desc - | |-- raptor2 - | | |-- raptor2-2.0.15.tar.xz - | | |-- raptor2.SlackBuild - | | `-- slack-desc - | |-- rasqal - | | |-- rasqal-0.9.30.tar.xz - | | |-- rasqal.SlackBuild - | | `-- slack-desc - | |-- readline - | | |-- readline-6.3-patches - | | | |-- readline63-001 - | | | |-- readline63-001.sig - | | | |-- readline63-002 - | | | |-- readline63-002.sig - | | | |-- readline63-003 - | | | |-- readline63-003.sig - | | | |-- readline63-004 - | | | |-- readline63-004.sig - | | | |-- readline63-005 - | | | |-- readline63-005.sig - | | | |-- readline63-006 - | | | |-- readline63-006.sig - | | | |-- readline63-007 - | | | |-- readline63-007.sig - | | | |-- readline63-008 - | | | `-- readline63-008.sig - | | |-- readline-6.3.tar.xz - | | |-- readline.SlackBuild - | | `-- slack-desc - | |-- redland - | | |-- redland-1.0.16.tar.xz - | | |-- redland.SlackBuild - | | `-- slack-desc - | |-- sbc - | | |-- sbc-1.3.tar.xz - | | |-- sbc.SlackBuild - | | `-- slack-desc - | |-- sdl - | | |-- SDL-1.2.15.tar.xz - | | |-- SDL_image-1.2.12.tar.xz - | | |-- SDL_mixer-1.2.12.tar.xz - | | |-- SDL_mixer.usrlocal.diff.gz - | | |-- SDL_net-1.2.8.tar.xz - | | |-- SDL_ttf-2.0.11.tar.xz - | | |-- SDL_ttf.shaded.text.diff.gz - | | |-- libsdl-1.2.15-resizing.patch.gz - | | |-- sdl-1.2.14-fix-mouse-clicking.patch.gz - | | |-- sdl.SlackBuild - | | `-- slack-desc - | |-- serf - | | |-- serf-1.3.8.tar.xz - | | |-- serf.SlackBuild - | | `-- slack-desc - | |-- sg3_utils - | | |-- sg3_utils-1.42.tar.xz - | | |-- sg3_utils.SlackBuild - | | |-- sg3_utils.info - | | `-- slack-desc - | |-- shared-desktop-ontologies - | | |-- shared-desktop-ontologies-0.11.0.tar.bz2 - | | |-- shared-desktop-ontologies.SlackBuild - | | `-- slack-desc - | |-- shared-mime-info - | | |-- doinst.sh.gz - | | |-- shared-mime-info-1.6.tar.xz - | | |-- shared-mime-info.SlackBuild - | | `-- slack-desc - | |-- sip - | | |-- sip-4.18.tar.xz - | | |-- sip.SlackBuild - | | `-- slack-desc - | |-- slang - | | |-- slack-desc - | | |-- slang-2.3.0.tar.xz - | | `-- slang.SlackBuild - | |-- slang1 - | | |-- slack-desc - | | |-- slang-1.4.9.tar.bz2 - | | `-- slang1.SlackBuild - | |-- soprano - | | |-- slack-desc - | | |-- soprano-2.9.4.tar.bz2 - | | `-- soprano.SlackBuild - | |-- sound-theme-freedesktop - | | |-- slack-desc - | | |-- sound-theme-freedesktop-0.7.tar.xz - | | |-- sound-theme-freedesktop.SlackBuild - | | `-- sound-theme-freedesktop.url - | |-- speexdsp - | | |-- slack-desc - | | |-- speexdsp-1.2rc3.tar.xz - | | `-- speexdsp.SlackBuild - | |-- startup-notification - | | |-- slack-desc - | | |-- startup-notification-0.12.tar.xz - | | `-- startup-notification.SlackBuild - | |-- strigi - | | |-- README - | | |-- libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch.gz - | | |-- libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch.gz - | | |-- libstreamanalyzer-0003-Fix-Krazy-issues.patch.gz - | | |-- libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch.gz - | | |-- libstreamanalyzer-0005-use-rpath-only-when-needed.patch.gz - | | |-- libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch.gz - | | |-- libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch.gz - | | |-- libstreams-0003-Build-fix-for-gcc-4.8.patch.gz - | | |-- libstreams-0004-Fix-Krazy-issues.patch.gz - | | |-- libstreams-0005-use-rpath-only-when-needed.patch.gz - | | |-- slack-desc - | | |-- strigi-0.7.8.tar.xz - | | |-- strigi.SlackBuild - | | `-- strigi.info - | |-- svgalib - | | |-- slack-desc - | | |-- svgalib-1.9.25-kernel-2.6.26.diff.gz - | | |-- svgalib-1.9.25-round_gtf_gtfcalc_c.patch.gz - | | |-- svgalib-1.9.25-vga_getmodenumber.patch.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.13.tar.xz - | | |-- system-config-printer-1.3.13.tar.xz.sig - | | `-- 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.10.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 - | | |-- slack-desc - | | |-- urwid-1.0.3.tar.xz - | | |-- urwid.SlackBuild - | | `-- urwid.url - | |-- v4l-utils - | | |-- slack-desc - | | |-- v4l-utils-1.10.0.tar.xz - | | `-- v4l-utils.SlackBuild - | |-- virtuoso-ose - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- virtuoso-opensource-6.1.8.tar.xz - | | `-- 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.75.2.tar.xz - | | `-- wavpack.SlackBuild - | |-- xapian-core - | | |-- slack-desc - | | |-- xapian-core-1.2.22.tar.xz - | | `-- xapian-core.SlackBuild - | `-- zlib - | |-- slack-desc - | |-- zlib-1.2.8.tar.xz - | `-- zlib.SlackBuild - |-- n - | |-- ModemManager - | | |-- ModemManager-1.4.14.tar.xz - | | |-- ModemManager.SlackBuild - | | |-- WeDoNotHaveSystemD.patch.gz - | | `-- slack-desc - | |-- NetworkManager - | | |-- 55NetworkManager - | | |-- NetworkManager-1.2.2.tar.xz - | | |-- NetworkManager.SlackBuild - | | |-- NetworkManager.conf - | | |-- conf.d - | | | |-- 00-dhcp-client.conf - | | | `-- 00-rc-manager.conf - | | |-- doinst.sh - | | |-- rc.networkmanager - | | `-- slack-desc - | |-- alpine - | | |-- alpine-2.20.tar.xz - | | |-- alpine.SlackBuild - | | |-- alpine.manpage.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 - | | |-- slack-desc.alpine - | | `-- slack-desc.imapd - | |-- autofs - | | |-- autofs-5.0.7.tar.sign - | | |-- autofs-5.0.7.tar.xz - | | |-- autofs.SlackBuild - | | |-- autofs.sasl.diff.gz - | | |-- 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.10.4-P1.tar.gz - | | |-- bind-9.10.4-P1.tar.gz.asc - | | |-- bind-9.10.4-P1.tar.gz.sha1.asc - | | |-- bind-9.10.4-P1.tar.gz.sha256.asc - | | |-- bind-9.10.4-P1.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-5.30-obexd_without_systemd-1.patch.gz - | | |-- bluez-5.40.tar.xz - | | |-- bluez.SlackBuild - | | |-- btusb.conf - | | |-- config - | | | |-- defaultconfig - | | | |-- rc.bluetooth - | | | `-- uart.conf - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- bluez-firmware - | | |-- bluez-firmware-1.2.tar.bz2 - | | |-- bluez-firmware.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.5-linux_3.8.x.patch.gz - | | |-- bridge-utils-1.5.tar.xz - | | |-- bridge-utils.SlackBuild - | | `-- 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_20160104.tar.xz - | | |-- doinst.sh.gz - | | |-- patches - | | | |-- fixup_DESTDIR.diff.gz - | | | `-- fixup_update-ca-certificates.diff.gz - | | |-- setup.11.cacerts - | | `-- slack-desc - | |-- cifs-utils - | | |-- cifs-utils-6.4.tar.xz - | | |-- cifs-utils.SlackBuild - | | `-- slack-desc - | |-- conntrack-tools - | | |-- conntrack-tools-1.4.3.tar.xz - | | |-- conntrack-tools.SlackBuild - | | `-- slack-desc - | |-- crda - | | |-- crda-3.18.tar.sign - | | |-- crda-3.18.tar.xz - | | |-- crda.SlackBuild - | | |-- get_regdb.sh - | | |-- slack-desc - | | |-- wireless-regdb-2016.02.08.tar.sign - | | `-- wireless-regdb-2016.02.08.tar.xz - | |-- curl - | | |-- cacert-fetch.sh - | | |-- cacert.pem.bz2 - | | |-- curl-7.49.1.tar.bz2 - | | |-- curl-7.49.1.tar.bz2.asc - | | |-- curl.SlackBuild - | | `-- slack-desc - | |-- cyrus-sasl - | | |-- cyrus-sasl-2.1.26-null-crypt.patch.gz - | | |-- cyrus-sasl-2.1.26-size_t.patch.gz - | | |-- cyrus-sasl-2.1.26.tar.xz - | | |-- cyrus-sasl.SlackBuild - | | |-- doinst.sh.gz - | | |-- rc.saslauthd.gz - | | `-- slack-desc - | |-- dhcp - | | |-- dhclient-script.PATH.diff.gz - | | |-- dhcp-4.3.4.tar.gz - | | |-- dhcp-4.3.4.tar.gz.asc - | | |-- dhcp-4.3.4.tar.gz.sha1.asc - | | |-- dhcp-4.3.4.tar.gz.sha256.asc - | | |-- dhcp-4.3.4.tar.gz.sha512.asc - | | |-- dhcp-remove-bind-tarball.sh - | | |-- dhcp.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dhcpcd - | | |-- COPYRIGHT.gz - | | |-- dhcpcd-6.8.2.tar.xz - | | |-- dhcpcd.SlackBuild - | | |-- doinst.sh.gz - | | |-- patches - | | | `-- dhcpcd.conf-Don-t-invoke-wpa_supplicant-by-default.patch - | | `-- slack-desc - | |-- dirmngr - | | |-- dirmngr-1.1.1.tar.xz - | | |-- dirmngr-pth-fix.patch.gz - | | |-- dirmngr.SlackBuild - | | `-- slack-desc - | |-- dnsmasq - | | |-- dnsmasq-2.76.tar.xz - | | |-- dnsmasq-2.76.tar.xz.asc - | | |-- dnsmasq.SlackBuild - | | |-- dnsmasq.leasedir.diff.gz - | | |-- doinst.sh.gz - | | |-- rc.dnsmasq.gz - | | `-- slack-desc - | |-- ebtables - | | |-- doinst.sh.gz - | | |-- ebtables-v2.0.10-4.tar.xz - | | |-- ebtables.SlackBuild - | | `-- slack-desc - | |-- elm - | | |-- config.sh - | | |-- elm.SlackBuild - | | |-- elm2.5.8.tar.bz2 - | | `-- slack-desc - | |-- epic5 - | | |-- epic-help-current.tar.xz - | | |-- epic5-2.0.tar.xz - | | |-- epic5.SlackBuild - | | `-- slack-desc - | |-- ethtool - | | |-- ethtool-4.5.tar.sign - | | |-- ethtool-4.5.tar.xz - | | |-- ethtool.SlackBuild - | | `-- slack-desc - | |-- fetchmail - | | |-- fetchmail-6.3.26.tar.xz - | | |-- fetchmail-6.3.26.tar.xz.asc - | | |-- fetchmail.SlackBuild - | | |-- fetchmail.url - | | `-- slack-desc - | |-- getmail - | | |-- getmail-4.47.0.tar.gz - | | |-- getmail.SlackBuild - | | `-- slack-desc - | |-- gnupg - | | |-- gnupg-1.4.20.tar.xz - | | |-- gnupg.SlackBuild - | | `-- slack-desc.gnupg - | |-- gnupg2 - | | |-- gnupg-2.0.30.tar.xz - | | |-- gnupg2.SlackBuild - | | `-- slack-desc - | |-- gnutls - | | |-- gnutls-3.4.13.tar.xz - | | |-- gnutls-3.4.13.tar.xz.sig - | | |-- gnutls.SlackBuild - | | `-- slack-desc - | |-- gpa - | | |-- doinst.sh.gz - | | |-- gpa-0.9.9.tar.xz - | | |-- gpa.SlackBuild - | | `-- slack-desc - | |-- gpgme - | | |-- gpgme-1.6.0.tar.bz2 - | | |-- gpgme-1.6.0.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.20.tar.bz2 - | | |-- httpd-2.4.20.tar.bz2.asc - | | |-- httpd.SlackBuild - | | |-- httpd.runasapache.diff.gz - | | |-- httpd.url - | | |-- logrotate.httpd - | | |-- rc.httpd - | | `-- slack-desc - | |-- icmpinfo - | | |-- icmpinfo-1.11-time.diff.gz - | | |-- 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 - | | |-- fix-x86_64-daytime-segfault.diff.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 - | | |-- iproute2-4.4.0.tar.sign - | | |-- iproute2-4.4.0.tar.xz - | | |-- iproute2.SlackBuild - | | `-- slack-desc - | |-- ipset - | | |-- ipset-6.20.tar.xz - | | |-- ipset.SlackBuild - | | `-- slack-desc - | |-- iptables - | | |-- iptables-1.6.0.tar.xz - | | |-- iptables.SlackBuild - | | `-- slack-desc - | |-- iptraf-ng - | | |-- iptraf-ng-1.1.4.tar.xz - | | |-- iptraf-ng.SlackBuild - | | `-- slack-desc - | |-- iputils - | | |-- iputils-s20140519.tar.xz - | | |-- 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.19.tar.xz - | | |-- irssi-0.8.19.tar.xz.asc - | | |-- irssi.SlackBuild - | | `-- slack-desc - | |-- iw - | | |-- iw-4.3.tar.xz - | | |-- iw.SlackBuild - | | |-- iw.url - | | `-- slack-desc - | |-- lftp - | | |-- doinst.sh.gz - | | |-- lftp-4.7.2.tar.xz - | | |-- lftp-4.7.2.tar.xz.asc - | | |-- lftp.SlackBuild - | | `-- slack-desc - | |-- libassuan - | | |-- libassuan-2.4.2.tar.bz2 - | | |-- libassuan-2.4.2.tar.bz2.sig - | | |-- libassuan.SlackBuild - | | `-- slack-desc - | |-- libgcrypt - | | |-- libgcrypt-1.7.1.tar.bz2 - | | |-- libgcrypt-1.7.1.tar.bz2.sig - | | |-- libgcrypt.SlackBuild - | | `-- slack-desc - | |-- libgpg-error - | | |-- libgpg-error-1.23.tar.bz2 - | | |-- libgpg-error-1.23.tar.bz2.sig - | | |-- libgpg-error.SlackBuild - | | `-- slack-desc - | |-- libksba - | | |-- libksba-1.3.3.tar.bz2 - | | |-- libksba-1.3.3.tar.bz2.sig - | | |-- libksba.SlackBuild - | | `-- slack-desc - | |-- libmbim - | | |-- libmbim-1.12.2.tar.xz - | | |-- libmbim.SlackBuild - | | `-- slack-desc - | |-- libmnl - | | |-- libmnl-1.0.3.tar.xz - | | |-- libmnl.SlackBuild - | | `-- slack-desc - | |-- libndp - | | |-- libndp-1.6.tar.xz - | | |-- libndp.SlackBuild - | | `-- slack-desc - | |-- libnetfilter_acct - | | |-- libnetfilter_acct-1.0.2.tar.xz - | | |-- libnetfilter_acct.SlackBuild - | | `-- slack-desc - | |-- libnetfilter_conntrack - | | |-- libnetfilter_conntrack-1.0.5.tar.xz - | | |-- libnetfilter_conntrack.SlackBuild - | | `-- slack-desc - | |-- libnetfilter_cthelper - | | |-- libnetfilter_cthelper-1.0.0.tar.xz - | | |-- libnetfilter_cthelper.SlackBuild - | | `-- slack-desc - | |-- libnetfilter_cttimeout - | | |-- libnetfilter_cttimeout-1.0.0.tar.xz - | | |-- libnetfilter_cttimeout.SlackBuild - | | `-- slack-desc - | |-- libnetfilter_log - | | |-- libnetfilter_log-1.0.1.tar.xz - | | |-- libnetfilter_log.SlackBuild - | | `-- slack-desc - | |-- libnetfilter_queue - | | |-- libnetfilter_queue-1.0.2.tar.xz - | | |-- libnetfilter_queue.SlackBuild - | | `-- slack-desc - | |-- libnfnetlink - | | |-- libnfnetlink-1.0.1.tar.xz - | | |-- libnfnetlink.SlackBuild - | | `-- slack-desc - | |-- libnftnl - | | |-- libnftnl-1.0.6.tar.xz - | | |-- libnftnl.SlackBuild - | | `-- slack-desc - | |-- libqmi - | | |-- libqmi-1.12.6.tar.xz - | | |-- libqmi.SlackBuild - | | `-- slack-desc - | |-- libtirpc - | | |-- doinst.sh.gz - | | |-- libtirpc-1.0.1.tar.xz - | | |-- libtirpc.SlackBuild - | | `-- slack-desc - | |-- links - | | |-- links-2.12.tar.xz - | | |-- links.SlackBuild - | | `-- slack-desc - | |-- lynx - | | |-- lynx.SlackBuild - | | |-- lynx.cfg.diff.gz - | | |-- lynx2.8.8rel.2.tar.xz - | | `-- slack-desc - | |-- mailx - | | |-- doinst.sh.gz - | | |-- heirloom-mailx-12.5-fixes-1.patch.gz - | | |-- mailx-12.5.tar.xz - | | |-- mailx.SlackBuild - | | `-- slack-desc - | |-- mcabber - | | |-- mcabber-1.0.1.tar.xz - | | |-- 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-20151214.tar.xz - | | |-- mobile-broadband-provider-info.SlackBuild - | | |-- mobile-broadband-provider-info.pc.diff.gz - | | `-- slack-desc - | |-- mtr - | | |-- mtr-0.86.tar.xz - | | |-- mtr.SlackBuild - | | `-- slack-desc - | |-- mutt - | | |-- doinst.sh.gz - | | |-- mutt-1.6.1.tar.xz - | | |-- mutt.SlackBuild - | | `-- 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.7.3.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 - | | |-- patches - | | | |-- 01-netkit-ftp-0.17-pre20000412.pasv-security.patch - | | | |-- 02-netkit-ftp-0.17-acct.patch - | | | |-- 03-netkit-ftp.usagi-ipv6.patch - | | | |-- 04-netkit-ftp-0.17-segv.patch - | | | |-- 05-netkit-ftp-0.17-volatile.patch - | | | |-- 06-netkit-ftp-0.17-runique_mget.patch - | | | |-- 06-netkit-ftp-locale.patch - | | | |-- 07-netkit-ftp-0.17-printf.patch - | | | |-- 08-netkit-ftp-0.17-longint.patch - | | | |-- 09-netkit-ftp-0.17-vsftp165083.patch - | | | |-- 10-netkit-ftp-0.17-C-Frame121.patch - | | | |-- 11-netkit-ftp-0.17-data.patch - | | | |-- 12-netkit-ftp-0.17-multihome.patch - | | | |-- 13-netkit-ftp-0.17-longnames.patch - | | | |-- 14-netkit-ftp-0.17-multiipv6.patch - | | | |-- 15-netkit-ftp-0.17-nodebug.patch - | | | |-- 16-netkit-ftp-0.17-stamp.patch - | | | |-- 17-netkit-ftp-0.17-sigseg.patch - | | | |-- 18-netkit-ftp-0.17-size.patch - | | | |-- 19-netkit-ftp-0.17-fdleak.patch - | | | |-- 20-netkit-ftp-0.17-fprintf.patch - | | | |-- 21-netkit-ftp-0.17-bitrate.patch - | | | |-- 22-netkit-ftp-0.17-arg_max.patch - | | | |-- 23-netkit-ftp-0.17-case.patch - | | | |-- 24-netkit-ftp-0.17-chkmalloc.patch - | | | |-- 25-netkit-ftp-0.17-man.patch - | | | |-- 26-netkit-ftp-0.17-acct_ovl.patch - | | | |-- 27-netkit-ftp-0.17-remove-nested-include.patch - | | | |-- 28-netkit-ftp-0.17-linelen.patch - | | | |-- 29-netkit-ftp-0.17-active-mode-option.patch - | | | |-- 30-netkit-ftp-0.17-commands-leaks.patch - | | | |-- 31-netkit-ftp-0.17-lsn-timeout.patch - | | | |-- 32-netkit-ftp-0.17-getlogin.patch - | | | `-- 33-netkit-ftp-0.17-token.patch - | | `-- 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-3.2.tar.xz - | | |-- nettle.SlackBuild - | | `-- slack-desc - | |-- netwatch - | | |-- netwatch-1.3.1-2.tar.xz - | | |-- 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 - | |-- nfacct - | | |-- nfacct-1.0.1.tar.xz - | | |-- nfacct.SlackBuild - | | `-- slack-desc - | |-- nfs-utils - | | |-- _nfs-utils.tar.gz - | | |-- doinst.sh.gz - | | |-- ignore_unsupported_address_types_in_nfssvc_setfds.diff.gz - | | |-- nfs-utils-1.3.3.tar.sign - | | |-- nfs-utils-1.3.3.tar.xz - | | |-- nfs-utils.SlackBuild - | | |-- nfs-utils.lwrap.needs.lnsl.diff.gz - | | |-- rc.nfsd - | | `-- slack-desc - | |-- nftables - | | |-- nftables-0.6.tar.xz - | | |-- nftables.SlackBuild - | | `-- slack-desc - | |-- nmap - | | |-- nmap-7.12.tar.xz - | | |-- nmap.SlackBuild - | | `-- 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.8p8.tar.xz - | | |-- ntp.SlackBuild - | | |-- ntp.conf - | | |-- ntp.keys - | | |-- ntp.nano.diff.gz - | | |-- rc.ntpd - | | `-- slack-desc - | |-- obexftp - | | |-- obexftp-0.24-Source.tar.xz - | | |-- obexftp.SlackBuild - | | |-- patches - | | | |-- obexftp-0.24-fix-absurd-install-path.patch.gz - | | | |-- obexftp-0.24-fuse.patch.gz - | | | |-- obexftp-norpath.patch.gz - | | | `-- obexftp-pkgconfig_requires.patch.gz - | | `-- slack-desc - | |-- openldap-client - | | |-- doinst.sh.gz - | | |-- openldap-2.4.42.tar.xz - | | |-- openldap-client.SlackBuild - | | `-- slack-desc - | |-- openobex - | | |-- openobex-1.7.1-Source.tar.xz - | | |-- openobex.SlackBuild - | | `-- slack-desc - | |-- openssh - | | |-- doinst.sh.gz - | | |-- openssh-7.2p1-libwrap.diff.gz - | | |-- openssh-7.2p2.tar.gz - | | |-- openssh-7.2p2.tar.gz.asc - | | |-- openssh.SlackBuild - | | |-- rc.sshd - | | `-- slack-desc - | |-- openssl - | | |-- certwatch.gz - | | |-- doinst.sh-openssl-solibs.gz - | | |-- doinst.sh-openssl.gz - | | |-- openssl-1.0.2h.tar.gz - | | |-- openssl-1.0.2h.tar.gz.asc - | | |-- openssl.SlackBuild - | | |-- slack-desc.openssl - | | `-- slack-desc.openssl-solibs - | |-- openvpn - | | |-- README - | | |-- openvpn-2.3.11.tar.xz - | | |-- openvpn-2.3.11.tar.xz.asc - | | |-- openvpn.SlackBuild - | | |-- openvpn.conf.sample - | | |-- openvpn.url - | | `-- slack-desc - | |-- p11-kit - | | |-- p11-kit-0.23.2.tar.xz - | | |-- p11-kit.SlackBuild - | | `-- slack-desc - | |-- php - | | |-- doinst.sh.gz - | | |-- fetch-php.sh - | | |-- mod_php.conf.example - | | |-- pear - | | |-- php-5.6.23.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.9.7.tar.xz - | | |-- pinentry.SlackBuild - | | `-- slack-desc - | |-- popa3d - | | |-- doinst.sh.gz - | | |-- popa3d-1.0.3.tar.gz - | | |-- popa3d-1.0.3.tar.gz.sign - | | |-- popa3d.SlackBuild - | | |-- popa3d.diff.gz - | | `-- slack-desc - | |-- ppp - | | |-- doinst.sh.gz - | | |-- freeradius-client-1.1.6.tar.xz - | | |-- options.new.gz - | | |-- ppp-2.4.7.tar.xz - | | |-- ppp.CVE-2015-3310.diff.gz - | | |-- 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.xz - | | |-- radius.msdict.gz - | | |-- realms.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.5b.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.5.tar.xz - | | |-- rfkill.SlackBuild - | | |-- rfkill.url - | | `-- slack-desc - | |-- rp-pppoe - | | |-- doinst.sh.gz - | | |-- rp-pppoe-3.12.tar.xz - | | |-- rp-pppoe.SlackBuild - | | `-- slack-desc - | |-- rpcbind - | | |-- 0001-security.c-removed-warning.patch.gz - | | |-- 0002-Fix-memory-corruption-in-PMAP_CALLIT-code.patch.gz - | | |-- 0003-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch.gz - | | |-- 0004-Delete-the-unix-socket-only-if-we-have-created-it.patch.gz - | | |-- 01.rpcbind-manpage-statefile-explanation.patch.gz - | | |-- doinst.sh.gz - | | |-- rc.rpc.gz - | | |-- rpcbind-0.2.3.tar.bz2 - | | |-- rpcbind.SlackBuild - | | |-- rpcbind.lwrap.needs.lnsl.diff.gz - | | `-- slack-desc - | |-- rsync - | | |-- rsync-3.1.2.tar.xz - | | |-- rsync.SlackBuild - | | `-- slack-desc - | |-- samba - | | |-- doinst.sh.gz - | | |-- pytalloc-util.pc - | | |-- rc.samba - | | |-- samba-4.4.4.tar.asc - | | |-- samba-4.4.4.tar.xz - | | |-- samba.SlackBuild - | | |-- samba.install.talloc.tevent.tdb.diff.gz - | | |-- slack-desc - | | |-- smb.conf.default - | | |-- smb.conf.default.orig - | | |-- smb.conf.diff.gz - | | `-- talloc.pc - | |-- sendmail - | | |-- Build.gz - | | |-- 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.15.2.tar.gz - | | |-- sendmail.8.15.2.tar.gz.sig - | | |-- sendmail.SlackBuild - | | |-- site.config.m4 - | | |-- slack-desc.sendmail - | | `-- slack-desc.sendmail-cf - | |-- slrn - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- slrn-1.0.2.tar.xz - | | `-- 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-5.31.tar.gz - | | |-- stunnel-5.31.tar.gz.asc - | | `-- stunnel.SlackBuild - | |-- tcp_wrappers - | | |-- slack-desc - | | |-- tcp_wrappers.SlackBuild - | | `-- tcp_wrappers_7.6.tar.gz - | |-- tcpdump - | | |-- slack-desc - | | |-- tcpdump-4.7.4.tar.gz - | | |-- tcpdump-4.7.4.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-5.2.tar.sign - | | |-- tftp-hpa-5.2.tar.xz - | | `-- tftp-hpa.SlackBuild - | |-- tin - | | |-- slack-desc - | | |-- tin-2.2.1.tar.xz - | | |-- tin-2.2.1.tar.xz.sign - | | `-- tin.SlackBuild - | |-- traceroute - | | |-- slack-desc - | | |-- traceroute-2.0.21.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 - | |-- ulogd - | | |-- doinst.sh.gz - | | |-- rc.ulogd - | | |-- slack-desc - | | |-- ulogd-2.0.5.tar.xz - | | `-- ulogd.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.3.tar.gz - | | |-- vsftpd-3.0.3.tar.gz.asc - | | |-- vsftpd.SlackBuild - | | |-- vsftpd.builddefs.diff.gz - | | |-- vsftpd.conf.diff.gz - | | |-- vsftpd.crypt.diff.gz - | | `-- vsftpd.log.gz - | |-- wget - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- wget-1.18.tar.xz - | | |-- wget-1.18.tar.xz.sig - | | `-- wget.SlackBuild - | |-- whois - | | |-- slack-desc - | | |-- whois.SlackBuild - | | `-- whois_5.2.12.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 - | | | |-- assoc-timeout.diff - | | | |-- dbus-service-file-args.diff - | | | |-- flush-debug-output.diff - | | | `-- quiet-scan-results-message.diff - | | |-- slack-desc - | | |-- wpa_supplicant-2.5.tar.xz - | | `-- wpa_supplicant.SlackBuild - | |-- yptools - | | |-- nsswitch.conf-nis.gz - | | |-- rc.yp.gz - | | |-- slack-desc - | | |-- yp-tools-2.14-glibc217-crypt.diff.gz - | | |-- yp-tools-2.14.tar.bz2 - | | |-- ypbind-mt-1.38.tar.bz2 - | | |-- ypserv-2.32.1.tar.bz2 - | | `-- 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.png16.diff.gz - | | |-- tetex.scripts.mktemp.diff.gz - | | |-- tetex.tmp.cleanup.diff.gz - | | `-- tetex.var.fonts.diff.gz - | |-- transfig - | | |-- slack-desc - | | |-- transfig.3.2.5e.tar.xz - | | |-- transfig.SlackBuild - | | `-- transfig.diff.gz - | `-- xfig - | |-- slack-desc - | |-- xfig-3.2.5c.paths.diff.gz - | |-- xfig-3.2.5c.skip.missing.html.manpage.diff.gz - | |-- xfig.3.2.5c.full.tar.xz - | |-- xfig.SlackBuild - | |-- xfig.fig.ad.diff.gz - | |-- xfig.no.pdf.ref.diff.gz - | `-- xfig.no.xfig_ref_en.pdf.diff.gz - |-- tcl - | |-- expect - | | |-- expect.SlackBuild - | | |-- expect5.45.tar.xz - | | `-- 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.6.5-src.tar.xz - | |-- tclx - | | |-- slack-desc - | | |-- tclx.SlackBuild - | | `-- tclx8.4.1.tar.xz - | |-- 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.6.5-src.tar.xz - |-- x - | |-- anthy - | | |-- anthy-9100h.tar.xz - | | |-- anthy.SlackBuild - | | `-- slack-desc - | |-- dejavu-fonts-ttf - | | |-- dejavu-fonts-ttf-2.34.tar.xz - | | |-- dejavu-fonts-ttf.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- fontconfig - | | |-- doinst.sh.gz - | | |-- fontconfig-2.11.1.tar.xz - | | |-- fontconfig.SlackBuild - | | |-- fontconfig.dejavu.diff.gz - | | |-- fontconfig.font.dir.list.diff.gz - | | |-- setup.05.fontconfig - | | `-- slack-desc - | |-- freeglut - | | |-- RATIONALE - | | |-- freeglut-2.8.1.tar.xz - | | |-- freeglut.SlackBuild - | | `-- slack-desc - | |-- glew - | | |-- glew-1.13.0.tar.xz - | | |-- glew.SlackBuild - | | |-- glew.url - | | `-- slack-desc - | |-- glu - | | |-- glu-9.0.0.tar.xz - | | |-- glu.SlackBuild - | | |-- glu.url - | | `-- slack-desc - | |-- libXaw3dXft - | | |-- libXaw3dXft-1.6.2d.tar.xz - | | |-- libXaw3dXft.SlackBuild - | | `-- slack-desc - | |-- libdrm - | | |-- libdrm-2.4.68.tar.xz - | | |-- libdrm.SlackBuild - | | `-- slack-desc - | |-- libepoxy - | | |-- libepoxy-1.3.1.tar.xz - | | |-- libepoxy.SlackBuild - | | |-- libepoxy.url - | | `-- slack-desc - | |-- liberation-fonts-ttf - | | |-- 60-liberation.conf - | | |-- doinst.sh.gz - | | |-- liberation-fonts-ttf-1.07.4.tar.xz - | | |-- liberation-fonts-ttf.SlackBuild - | | `-- slack-desc - | |-- libevdev - | | |-- libevdev-1.4.1.tar.xz - | | |-- libevdev.SlackBuild - | | `-- slack-desc - | |-- libhangul - | | |-- libhangul-0.1.0.tar.xz - | | |-- libhangul.SlackBuild - | | `-- slack-desc - | |-- libva - | | |-- libva-1.6.2.tar.xz - | | |-- libva.SlackBuild - | | |-- libva.url - | | `-- slack-desc - | |-- libva-intel-driver - | | |-- libva-intel-driver-1.6.2.tar.xz - | | |-- libva-intel-driver.SlackBuild - | | |-- libva-intel-driver.url - | | `-- slack-desc - | |-- libvdpau - | | |-- doinst.sh - | | |-- libvdpau-1.1.1.tar.xz - | | |-- libvdpau.SlackBuild - | | |-- profile.d - | | | |-- vdpau.csh - | | | `-- vdpau.sh - | | `-- slack-desc - | |-- m17n-lib - | | |-- m17n-db-1.6.1.tar.xz - | | |-- m17n-lib-1.6.1.tar.xz - | | |-- m17n-lib.SlackBuild - | | `-- slack-desc - | |-- mesa - | | |-- README.GIT - | | |-- get-mesa.sh - | | |-- mesa-11.2.2.tar.xz - | | |-- mesa-11.2.2.tar.xz.sig - | | |-- mesa-demos-8.3.0.tar.xz - | | |-- mesa.SlackBuild - | | |-- mesa.no.mako.diff.gz - | | |-- mesa.url - | | |-- patches - | | `-- slack-desc - | |-- motif - | | |-- motif-2.3.4-bindings.patch.gz - | | |-- motif-2.3.4-mwmrc_dir.patch.gz - | | |-- motif-2.3.4-no_demos.patch.gz - | | |-- motif-2.3.5.tar.xz - | | |-- motif.SlackBuild - | | |-- motif.rgbtxt.patch.gz - | | `-- slack-desc - | |-- mtdev - | | |-- mtdev-1.1.5.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.15.tar.xz - | | |-- scim-disable-subdir-objects.patch.gz - | | |-- scim-setup.desktop - | | |-- scim.SlackBuild - | | |-- scim.desktop - | | `-- slack-desc - | |-- scim-anthy - | | |-- scim-anthy-1.2.7.tar.xz - | | |-- scim-anthy.SlackBuild - | | |-- scim-anthy.gcc43.diff.gz - | | `-- slack-desc - | |-- scim-hangul - | | |-- scim-hangul-0.3.2+gcc-4.3.patch.gz - | | |-- scim-hangul-0.3.2+gcc-4.7.patch.gz - | | |-- scim-hangul-0.4.0+gtk.patch.gz - | | |-- scim-hangul-0.4.0.tar.xz - | | |-- scim-hangul.SlackBuild - | | `-- slack-desc - | |-- scim-input-pad - | | |-- scim-input-pad-0.1.3.1.tar.xz - | | |-- 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.92.tar.xz - | | |-- scim-pinyin.SlackBuild - | | `-- slack-desc - | |-- scim-tables - | | |-- scim-tables-0.5.14.1.tar.xz - | | |-- 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 - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- ttf-indic-fonts.SlackBuild - | | `-- ttf-indic-fonts_0.5.14.tar.xz - | |-- wqy-zenhei-font-ttf - | | |-- fixup-fontconfig-file.diff.gz - | | |-- slack-desc - | | |-- wqy-zenhei-0.8.38-1.tar.bz2 - | | `-- wqy-zenhei-font-ttf.SlackBuild - | |-- x11 - | | |-- arch.use.flags - | | |-- build - | | | |-- appres - | | | |-- bdftopcf - | | | |-- beforelight - | | | |-- bitmap - | | | |-- compiz - | | | |-- dri2proto - | | | |-- dri3proto - | | | |-- editres - | | | |-- fixesproto - | | | |-- font-util - | | | |-- fonttosfnt - | | | |-- fslsfonts - | | | |-- fstobdf - | | | |-- iceauth - | | | |-- ico - | | | |-- imake - | | | |-- increment-all-drivers.sh - | | | |-- increment.sh - | | | |-- intel-gpu-tools - | | | |-- libICE - | | | |-- libSM - | | | |-- libX11 - | | | |-- libXScrnSaver - | | | |-- libXau - | | | |-- libXaw3d - | | | |-- libXcm - | | | |-- libXcomposite - | | | |-- libXcursor - | | | |-- libXdamage - | | | |-- libXdmcp - | | | |-- libXevie - | | | |-- libXext - | | | |-- libXfont - | | | |-- libXfontcache - | | | |-- libXft - | | | |-- libXinerama - | | | |-- libXmu - | | | |-- libXp - | | | |-- libXpm - | | | |-- libXres - | | | |-- libXtst - | | | |-- libXv - | | | |-- libXvMC - | | | |-- libXxf86dga - | | | |-- libXxf86misc - | | | |-- libXxf86vm - | | | |-- libdmx - | | | |-- libxshmfence - | | | |-- listres - | | | |-- lndir - | | | |-- luit - | | | |-- makedepend - | | | |-- mkcomposecache - | | | |-- mkfontscale - | | | |-- oclock - | | | |-- presentproto - | | | |-- rgb - | | | |-- sessreg - | | | |-- showfont - | | | |-- transset - | | | |-- viewres - | | | |-- 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 - | | | |-- xconsole - | | | |-- xcursorgen - | | | |-- xdbedizzy - | | | |-- xdm - | | | |-- xedit - | | | |-- xextproto - | | | |-- xeyes - | | | |-- xf86-input-acecad - | | | |-- xf86-input-aiptek - | | | |-- xf86-input-joystick - | | | |-- xf86-input-keyboard - | | | |-- xf86-input-mouse - | | | |-- xf86-input-penmount - | | | |-- xf86-input-synaptics - | | | |-- xf86-input-vmmouse - | | | |-- xf86-input-void - | | | |-- xf86-video-apm - | | | |-- xf86-video-ark - | | | |-- xf86-video-ast - | | | |-- xf86-video-chips - | | | |-- xf86-video-cirrus - | | | |-- xf86-video-dummy - | | | |-- xf86-video-glint - | | | |-- xf86-video-i128 - | | | |-- xf86-video-i740 - | | | |-- xf86-video-mach64 - | | | |-- xf86-video-mga - | | | |-- xf86-video-neomagic - | | | |-- xf86-video-nv - | | | |-- xf86-video-omap - | | | |-- 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 - | | | |-- xf86dga - | | | |-- xfd - | | | |-- xfontsel - | | | |-- xfs - | | | |-- xfsinfo - | | | |-- xinit - | | | |-- xkbcomp - | | | |-- xkbutils - | | | |-- xkill - | | | |-- xload - | | | |-- xlogo - | | | |-- xlsclients - | | | |-- xman - | | | |-- xmessage - | | | |-- xmore - | | | |-- xorg-cf-files - | | | |-- xorg-server - | | | |-- xorg-sgml-doctools - | | | |-- xpr - | | | |-- xprop - | | | |-- xpyb - | | | |-- xrdb - | | | |-- xrefresh - | | | |-- xscope - | | | |-- xset - | | | |-- xsetroot - | | | |-- xsm - | | | |-- xstdcmap - | | | |-- xvidtune - | | | |-- xwd - | | | |-- xwininfo - | | | `-- xwud - | | |-- configure - | | | |-- autogen - | | | |-- compiz - | | | |-- configure - | | | |-- font-bh-ttf - | | | |-- font-util - | | | |-- gccmakedep - | | | |-- intel-gpu-tools - | | | |-- libX11 - | | | |-- libXaw3d - | | | |-- libXp - | | | |-- libXt - | | | |-- libxcb - | | | |-- libxshmfence - | | | |-- pixman - | | | |-- setxkbmap - | | | |-- xf86-video-intel - | | | |-- 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 - | | | |-- luit - | | | | `-- luit_use_system_extensions.diff.gz - | | | |-- luit.patch - | | | |-- xcompmgr - | | | | |-- patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff.gz - | | | | `-- xcompmgr-follow-icccm-spec.diff.gz - | | | |-- xcompmgr.patch - | | | |-- xdm - | | | | |-- xdm-1.1.11-arc4random-include.patch.gz - | | | | |-- xdm-1.1.11-setproctitle-include.patch.gz - | | | | |-- xdm-consolekit.patch.gz - | | | | `-- xdm.glibc.crypt.diff.gz - | | | |-- xdm.patch - | | | |-- xf86-video-apm.patch - | | | |-- xf86-video-ark.patch - | | | |-- xf86-video-ast.patch - | | | |-- xf86-video-dummy.patch - | | | |-- xf86-video-glint.patch - | | | |-- xf86-video-i128.patch - | | | |-- xf86-video-intel - | | | | `-- 0001-sna-Let-modestting-glamor-handle-gen9.patch.gz - | | | |-- xf86-video-intel.patch - | | | |-- xf86-video-nv.patch - | | | |-- xf86-video-s3.patch - | | | |-- xf86-video-sisusb.patch - | | | |-- xf86-video-tga.patch - | | | |-- xf86-video-tseng.patch - | | | |-- xf86-video-v4l - | | | | |-- xf86-video-v4l-0.2.0-build-fix.patch.gz - | | | | `-- xorg-x11-drv-v4l-support_v4l2_only_drivers.patch.gz - | | | |-- xf86-video-v4l.patch - | | | |-- xf86-video-vmware.patch - | | | |-- xf86-video-voodoo - | | | | `-- 0001-don-t-use-PCITAG-in-struct-anymore.patch.gz - | | | |-- xf86-video-voodoo.patch - | | | |-- xf86-video-xgi.patch - | | | |-- xf86-video-xgixp - | | | | |-- 0001-Remove-mibstore.h.patch.gz - | | | | |-- 0002-Remove-symbol-lists-as-they-are-not-used-any-more.patch.gz - | | | | |-- 0003-shadow-shadowInit-shadowAdd-Remove.patch.gz - | | | | |-- 0004-Stop-using-deprecated-xf86PciInfo.h.patch.gz - | | | | `-- 0005-Update-for-new-damage-API.patch.gz - | | | |-- xf86-video-xgixp.patch - | | | |-- xinit - | | | | `-- xinit.remove.systemd.kludge.diff.gz - | | | |-- xinit.patch - | | | |-- xorg-server - | | | | |-- x11.startwithblackscreen.diff.gz - | | | | `-- xorg-server.combo.mouse.keyboard.layout.patch.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-libinput.post-install - | | | |-- xf86-input-synaptics - | | | | `-- 50-synaptics.conf - | | | |-- xf86-input-synaptics.post-install - | | | |-- xf86-input-wacom - | | | | `-- 60-wacom.rules - | | | |-- xf86-input-wacom.post-install - | | | |-- xf86-video-intel.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 - | | |-- slack-desc - | | | |-- 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-libinput - | | | |-- 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-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 - | | | |-- xf86-video-xgixp - | | | |-- xf86bigfontproto - | | | |-- xf86dga - | | | |-- xf86dgaproto - | | | |-- xf86driproto - | | | |-- xf86miscproto - | | | |-- xf86vidmodeproto - | | | |-- xfd - | | | |-- xfontsel - | | | |-- xfs - | | | |-- xfsinfo - | | | |-- xfwp - | | | |-- 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 - | | | |-- xproxymanagementprotocol - | | | |-- xpyb - | | | |-- xrandr - | | | |-- xrdb - | | | |-- xrefresh - | | | |-- xscope - | | | |-- xset - | | | |-- xsetroot - | | | |-- xsm - | | | |-- xstdcmap - | | | |-- xtrans - | | | |-- xvidtune - | | | |-- xvinfo - | | | |-- xwd - | | | |-- xwininfo - | | | `-- xwud - | | |-- src - | | | |-- app - | | | | |-- appres-1.0.4.tar.xz - | | | | |-- bdftopcf-1.0.5.tar.xz - | | | | |-- beforelight-1.0.5.tar.xz - | | | | |-- bitmap-1.0.8.tar.xz - | | | | |-- compiz-0.8.8.tar.xz - | | | | |-- editres-1.0.6.tar.xz - | | | | |-- fonttosfnt-1.0.4.tar.xz - | | | | |-- fslsfonts-1.0.5.tar.xz - | | | | |-- fstobdf-1.0.6.tar.xz - | | | | |-- iceauth-1.0.7.tar.xz - | | | | |-- ico-1.0.4.tar.xz - | | | | |-- intel-gpu-tools-1.9.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.2.tar.xz - | | | | |-- oclock-1.0.3.tar.xz - | | | | |-- rendercheck-1.5.tar.xz - | | | | |-- rgb-1.0.6.tar.xz - | | | | |-- sessreg-1.1.0.tar.xz - | | | | |-- setxkbmap-1.3.1.tar.xz - | | | | |-- showfont-1.0.5.tar.xz - | | | | |-- smproxy-1.0.6.tar.xz - | | | | |-- transset-1.0.1.tar.xz - | | | | |-- twm-1.0.9.tar.xz - | | | | |-- viewres-1.0.4.tar.xz - | | | | |-- x11perf-1.6.0.tar.xz - | | | | |-- xauth-1.0.9.tar.xz - | | | | |-- xbacklight-1.2.1.tar.xz - | | | | |-- xbiff-1.0.3.tar.xz - | | | | |-- xcalc-1.0.6.tar.xz - | | | | |-- xclipboard-1.1.3.tar.xz - | | | | |-- xclock-1.0.7.tar.xz - | | | | |-- xcm-0.5.2.tar.xz - | | | | |-- xcmsdb-1.0.5.tar.xz - | | | | |-- xcompmgr-1.1.7.tar.xz - | | | | |-- xconsole-1.0.6.tar.xz - | | | | |-- xcursorgen-1.0.6.tar.xz - | | | | |-- xdbedizzy-1.1.0.tar.xz - | | | | |-- xditview-1.0.4.tar.xz - | | | | |-- xdm-1.1.11.tar.xz - | | | | |-- xdpyinfo-1.3.2.tar.xz - | | | | |-- xdriinfo-1.0.5.tar.xz - | | | | |-- xedit-1.2.2.tar.xz - | | | | |-- xev-1.2.2.tar.xz - | | | | |-- xeyes-1.1.1.tar.xz - | | | | |-- xf86dga-1.0.3.tar.xz - | | | | |-- xfd-1.1.2.tar.xz - | | | | |-- xfontsel-1.0.5.tar.xz - | | | | |-- xfs-1.1.4.tar.xz - | | | | |-- xfsinfo-1.0.5.tar.xz - | | | | |-- xgamma-1.0.6.tar.xz - | | | | |-- xgc-1.0.5.tar.xz - | | | | |-- xhost-1.0.7.tar.xz - | | | | |-- xinit-1.3.4.tar.xz - | | | | |-- xinput-1.6.2.tar.xz - | | | | |-- xkbcomp-1.3.0.tar.xz - | | | | |-- xkbevd-1.1.4.tar.xz - | | | | |-- xkbprint-1.0.4.tar.xz - | | | | |-- xkbutils-1.0.4.tar.xz - | | | | |-- xkill-1.0.4.tar.xz - | | | | |-- xload-1.1.2.tar.xz - | | | | |-- xlogo-1.0.4.tar.xz - | | | | |-- xlsatoms-1.1.2.tar.xz - | | | | |-- xlsclients-1.1.3.tar.xz - | | | | |-- xlsfonts-1.0.5.tar.xz - | | | | |-- xmag-1.0.6.tar.xz - | | | | |-- xman-1.1.4.tar.xz - | | | | |-- xmessage-1.0.4.tar.xz - | | | | |-- xmh-1.0.3.tar.xz - | | | | |-- xmodmap-1.0.9.tar.xz - | | | | |-- xmore-1.0.2.tar.xz - | | | | |-- xpr-1.0.4.tar.xz - | | | | |-- xprop-1.2.2.tar.xz - | | | | |-- xrandr-1.5.0.tar.xz - | | | | |-- xrdb-1.1.0.tar.xz - | | | | |-- xrefresh-1.0.5.tar.xz - | | | | |-- xscope-1.4.1.tar.xz - | | | | |-- xset-1.2.3.tar.xz - | | | | |-- xsetroot-1.1.1.tar.xz - | | | | |-- xsm-1.0.3.tar.xz - | | | | |-- xstdcmap-1.0.3.tar.xz - | | | | |-- xvidtune-1.0.3.tar.xz - | | | | |-- xvinfo-1.1.3.tar.xz - | | | | |-- xwd-1.0.6.tar.xz - | | | | |-- xwininfo-1.1.3.tar.xz - | | | | `-- xwud-1.0.4.tar.xz - | | | |-- data - | | | | |-- xbitmaps-1.1.1.tar.xz - | | | | |-- xcursor-themes-1.0.4.tar.xz - | | | | `-- xkeyboard-config-2.17.tar.xz - | | | |-- doc - | | | | |-- xorg-docs-1.7.1.tar.xz - | | | | `-- xorg-sgml-doctools-1.11.tar.xz - | | | |-- driver - | | | | |-- xf86-input-acecad-1.5.0.tar.xz - | | | | |-- xf86-input-aiptek-1.4.1.tar.xz - | | | | |-- xf86-input-evdev-2.10.3.tar.xz - | | | | |-- xf86-input-joystick-1.6.1.tar.xz - | | | | |-- xf86-input-keyboard-1.8.1.tar.xz - | | | | |-- xf86-input-mouse-1.9.1.tar.xz - | | | | |-- xf86-input-penmount-1.5.0.tar.xz - | | | | |-- xf86-input-synaptics-1.8.3.tar.xz - | | | | |-- xf86-input-vmmouse-13.1.0.tar.xz - | | | | |-- xf86-input-void-1.4.0.tar.xz - | | | | |-- xf86-input-wacom-0.33.0.tar.xz - | | | | |-- xf86-video-amdgpu-1.1.0.tar.xz - | | | | |-- xf86-video-apm-1.2.5.tar.xz - | | | | |-- xf86-video-ark-0.7.5.tar.xz - | | | | |-- xf86-video-ast-1.1.5.tar.xz - | | | | |-- xf86-video-ati-7.7.0.tar.xz - | | | | |-- xf86-video-chips-1.2.6.tar.xz - | | | | |-- xf86-video-cirrus-1.5.3.tar.xz - | | | | |-- xf86-video-dummy-0.3.7.tar.xz - | | | | |-- xf86-video-geode-2.11.18.tar.xz - | | | | |-- xf86-video-glint-1.2.8.tar.xz - | | | | |-- xf86-video-i128-1.3.6.tar.xz - | | | | |-- xf86-video-i740-1.3.5.tar.xz - | | | | |-- xf86-video-intel-git_20160601_b617f80.tar.xz - | | | | |-- xf86-video-mach64-6.9.5.tar.xz - | | | | |-- xf86-video-mga-1.6.4.tar.xz - | | | | |-- xf86-video-modesetting-0.9.0.tar.xz - | | | | |-- xf86-video-neomagic-1.2.9.tar.xz - | | | | |-- xf86-video-nouveau-1.0.12.tar.xz - | | | | |-- xf86-video-nv-2.1.20.tar.xz - | | | | |-- xf86-video-omap-0.4.4.tar.xz - | | | | |-- xf86-video-openchrome-0.4.0.tar.xz - | | | | |-- xf86-video-r128-6.10.1.tar.xz - | | | | |-- xf86-video-rendition-4.2.6.tar.xz - | | | | |-- xf86-video-s3-0.6.5.tar.xz - | | | | |-- xf86-video-s3virge-1.10.7.tar.xz - | | | | |-- xf86-video-savage-2.3.8.tar.xz - | | | | |-- xf86-video-siliconmotion-1.7.8.tar.xz - | | | | |-- xf86-video-sis-0.10.8.tar.xz - | | | | |-- xf86-video-sisusb-0.9.6.tar.xz - | | | | |-- xf86-video-tdfx-1.4.6.tar.xz - | | | | |-- xf86-video-tga-1.2.2.tar.xz - | | | | |-- xf86-video-trident-1.3.7.tar.xz - | | | | |-- xf86-video-tseng-1.2.5.tar.xz - | | | | |-- xf86-video-v4l-0.2.0.tar.xz - | | | | |-- xf86-video-vesa-2.3.4.tar.xz - | | | | |-- xf86-video-vmware-13.1.0.tar.xz - | | | | |-- xf86-video-voodoo-1.2.5.tar.xz - | | | | |-- xf86-video-xgi-1.6.1.tar.xz - | | | | `-- xf86-video-xgixp-1.8.1.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.1.tar.xz - | | | | |-- font-winitzki-cyrillic-1.0.3.tar.xz - | | | | `-- font-xfree86-type1-1.0.4.tar.xz - | | | |-- get-xf86-video-intel.sh - | | | |-- get-xf86-video-nouveau.sh - | | | |-- get-xf86-video-openchrome.sh - | | | |-- lib - | | | | |-- libFS-1.0.7.tar.xz - | | | | |-- libICE-1.0.9.tar.xz - | | | | |-- libSM-1.2.2.tar.xz - | | | | |-- libX11-1.6.3.tar.xz - | | | | |-- libXScrnSaver-1.2.2.tar.xz - | | | | |-- libXau-1.0.8.tar.xz - | | | | |-- libXaw-1.0.13.tar.xz - | | | | |-- libXaw3d-1.6.2.tar.xz - | | | | |-- libXcm-0.5.2.tar.xz - | | | | |-- libXcomposite-0.4.4.tar.xz - | | | | |-- libXcursor-1.1.14.tar.xz - | | | | |-- libXdamage-1.1.4.tar.xz - | | | | |-- libXdmcp-1.1.2.tar.xz - | | | | |-- libXevie-1.0.3.tar.xz - | | | | |-- libXext-1.3.3.tar.xz - | | | | |-- libXfixes-5.0.2.tar.xz - | | | | |-- libXfont-1.5.1.tar.xz - | | | | |-- libXfontcache-1.0.5.tar.xz - | | | | |-- libXft-2.3.2.tar.xz - | | | | |-- libXi-1.7.6.tar.xz - | | | | |-- libXinerama-1.1.3.tar.xz - | | | | |-- libXmu-1.1.2.tar.xz - | | | | |-- libXp-1.0.3.tar.xz - | | | | |-- libXpm-3.5.11.tar.xz - | | | | |-- libXpresent-1.0.0.tar.xz - | | | | |-- libXrandr-1.5.0.tar.xz - | | | | |-- libXrender-0.9.9.tar.xz - | | | | |-- libXres-1.0.7.tar.xz - | | | | |-- libXt-1.1.5.tar.xz - | | | | |-- libXtst-1.2.2.tar.xz - | | | | |-- libXv-1.0.10.tar.xz - | | | | |-- libXvMC-1.0.9.tar.xz - | | | | |-- libXxf86dga-1.1.4.tar.xz - | | | | |-- libXxf86misc-1.0.3.tar.xz - | | | | |-- libXxf86vm-1.1.4.tar.xz - | | | | |-- libdmx-1.1.3.tar.xz - | | | | |-- libfontenc-1.1.3.tar.xz - | | | | |-- libpciaccess-0.13.4.tar.xz - | | | | |-- libxkbfile-1.0.9.tar.xz - | | | | |-- libxshmfence-1.2.tar.xz - | | | | |-- pixman-0.34.0.tar.xz - | | | | `-- xtrans-1.3.5.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.8.tar.xz - | | | | |-- dri3proto-1.0.tar.xz - | | | | |-- evieext-1.1.1.tar.xz - | | | | |-- fixesproto-5.0.tar.xz - | | | | |-- fontcacheproto-0.1.3.tar.xz - | | | | |-- fontsproto-2.1.3.tar.xz - | | | | |-- glproto-1.4.17.tar.xz - | | | | |-- inputproto-2.3.2.tar.xz - | | | | |-- kbproto-1.0.7.tar.xz - | | | | |-- presentproto-1.0.tar.xz - | | | | |-- printproto-1.0.5.tar.xz - | | | | |-- randrproto-1.5.0.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.3.tar.xz - | | | | |-- xcmiscproto-1.2.2.tar.xz - | | | | |-- xextproto-7.3.0.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.29.tar.xz - | | | |-- util - | | | | |-- gccmakedep-1.0.3.tar.xz - | | | | |-- imake-1.0.7.tar.xz - | | | | |-- lndir-1.0.3.tar.xz - | | | | |-- makedepend-1.0.5.tar.xz - | | | | |-- util-macros-1.19.0.tar.xz - | | | | `-- xorg-cf-files-1.0.6.tar.xz - | | | |-- xcb - | | | | |-- libpthread-stubs-0.3.tar.xz - | | | | |-- libxcb-1.11.1.tar.xz - | | | | |-- xcb-proto-1.11.tar.xz - | | | | |-- xcb-util-0.4.0.tar.xz - | | | | |-- xcb-util-cursor-0.1.2.tar.xz - | | | | |-- xcb-util-errors-1.0.tar.xz - | | | | |-- xcb-util-image-0.4.0.tar.xz - | | | | |-- xcb-util-keysyms-0.4.0.tar.xz - | | | | |-- xcb-util-renderutil-0.3.9.tar.xz - | | | | |-- xcb-util-wm-0.4.1.tar.xz - | | | | `-- xpyb-1.3.1.tar.xz - | | | |-- xf86-input-wacom.url - | | | `-- xserver - | | | `-- xorg-server-1.18.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.15.tar.xz - | | `-- xdg-user-dirs.SlackBuild - | |-- xdg-utils - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xdg-utils-1.1.1.tar.xz - | | |-- xdg-utils.SlackBuild - | | `-- xdg-utils.url - | `-- xterm - | |-- doinst.sh.gz - | |-- slack-desc - | |-- xterm-325.tar.xz - | `-- xterm.SlackBuild - |-- xap - | |-- MPlayer - | | |-- Blue-1.11.tar.bz2 - | | |-- MPlayer-20160125.tar.xz - | | |-- MPlayer.SlackBuild - | | |-- MPlayer.demux_lavf.flac.diff.gz - | | |-- ffmpeg-2.8.6.tar.xz - | | |-- ffmpeg-2.8.6.tar.xz.asc - | | |-- include-samba-4.0.patch.gz - | | `-- slack-desc - | |-- audacious - | | |-- audacious-3.7.2.tar.xz - | | |-- audacious.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- audacious-plugins - | | |-- audacious-plugins-3.7.2.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 - | | |-- 0001-Notification-Also-check-if-notification-daemon-suppo.patch.gz - | | |-- 0002-NetConf-Treat-UnicodeDecodeError-as-if-there-was-no-.patch.gz - | | |-- blueman-2.0.4.tar.xz - | | |-- blueman.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- ddd - | | |-- ddd-3.3.12.tar.xz - | | |-- ddd.SlackBuild - | | |-- ddd.png - | | |-- doinst.sh.gz - | | |-- machine_code_window_fix.diff.gz - | | |-- slack-desc - | | `-- strclass.C.diff.gz - | |-- electricsheep - | | |-- README.slackware - | | |-- electricsheep-20090306.tar.xz - | | |-- electricsheep.SlackBuild - | | |-- electricsheep.mplayer.diff.gz - | | |-- electricsheep_gnome-open.patch - | | |-- flam3-3.0.1-libpng15.patch - | | `-- slack-desc - | |-- fluxbox - | | |-- fluxbox-1.3.7.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.6.tar.xz - | | |-- fvwm.SlackBuild - | | |-- slack-desc - | | |-- startfvwm2.gz - | | `-- xinitrc.fvwm2.gz - | |-- geeqie - | | |-- doinst.sh.gz - | | |-- geeqie-1.3.tar.xz - | | |-- geeqie-1.3.tar.xz.asc - | | |-- geeqie.SlackBuild - | | `-- slack-desc - | |-- gftp - | | |-- gftp-2.0.19.tar.bz2 - | | |-- gftp.SlackBuild - | | |-- gftp.desktop.gz - | | `-- slack-desc - | |-- gimp - | | |-- gimp-2.8.16.tar.xz - | | |-- gimp.SlackBuild - | | `-- slack-desc - | |-- gkrellm - | | |-- gkrellm-2.3.7.tar.xz - | | |-- 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 - | | |-- doinst.sh.gz - | | |-- eboard-1.1.1.tar.bz2 - | | |-- eboard.assert.diff.gz - | | |-- eboard.desktop - | | |-- eboard.ldl.diff.gz - | | |-- eboard.png16.diff.gz - | | |-- gnuchess-6.2.2.tar.xz - | | |-- gnuchess.SlackBuild - | | |-- slack-desc - | | |-- xboard-4.8.0.tar.xz - | | `-- xboard.conf.diff.gz - | |-- gnuplot - | | |-- gnuplot-5.0.3.tar.xz - | | |-- gnuplot.SlackBuild - | | `-- slack-desc - | |-- gparted - | | |-- com.slackware.pkexec.gparted.policy - | | |-- doinst.sh.gz - | | |-- gparted-0.26.1.tar.xz - | | |-- gparted.SlackBuild - | | |-- gparted_polkit - | | `-- slack-desc - | |-- gucharmap - | | |-- doinst.sh.gz - | | |-- gucharmap-3.12.1.tar.xz - | | |-- gucharmap.SlackBuild - | | `-- slack-desc - | |-- gv - | | |-- gv-3.7.4.tar.xz - | | |-- gv-xft.patch.gz - | | |-- gv.SlackBuild - | | `-- slack-desc - | |-- hexchat - | | |-- doinst.sh.gz - | | |-- hexchat-2.12.1.tar.xz - | | |-- hexchat.SlackBuild - | | `-- slack-desc - | |-- imagemagick - | | |-- ImageMagick-6.9.4-9.tar.xz - | | |-- ImageMagick-6.9.4-9.tar.xz.asc - | | |-- doinst.sh.gz - | | |-- imagemagick.SlackBuild - | | |-- policy.xml.diff.gz - | | `-- slack-desc - | |-- mozilla-firefox - | | |-- firefox-45.2.0esr.source.tar.xz - | | |-- firefox.moz_plugin_path.diff.gz - | | |-- gold - | | | |-- gold - | | | `-- ld -> gold - | | |-- mimeTypes.rdf.gz - | | |-- mozilla-firefox-mimeTypes-fix.diff.gz - | | |-- mozilla-firefox.SlackBuild - | | |-- mozilla-firefox.desktop - | | `-- slack-desc - | |-- mozilla-thunderbird - | | |-- gold - | | | |-- gold - | | | `-- ld -> gold - | | |-- mozilla-firefox.xpcom_arm.patch.gz - | | |-- mozilla-thunderbird.SlackBuild - | | |-- mozilla-thunderbird.desktop - | | |-- slack-desc - | | |-- thunderbird-45.1.1.source.tar.xz - | | `-- thunderbird.png - | |-- network-manager-applet - | | |-- doinst.sh.gz - | | |-- network-manager-applet-1.2.2.tar.xz - | | |-- network-manager-applet.SlackBuild - | | `-- slack-desc - | |-- pan - | | |-- pan-0.139.tar.xz - | | |-- pan.SlackBuild - | | |-- pan.gcc47.diff.gz - | | `-- slack-desc - | |-- pavucontrol - | | |-- doinst.sh.gz - | | |-- pavucontrol-3.0.tar.xz - | | |-- pavucontrol.SlackBuild - | | |-- replace-gtk-stock-lock-icon.diff.gz - | | `-- slack-desc - | |-- pidgin - | | |-- doinst.sh.gz - | | |-- fix-gmain_h-compile-error.diff.gz - | | |-- pidgin-2.10.12.tar.xz - | | |-- pidgin-encryption-3.1.tar.gz - | | |-- pidgin.SlackBuild - | | `-- slack-desc - | |-- rdesktop - | | |-- rdesktop-1.8.3.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.25.tar.xz - | | |-- sane-frontends-1.0.14-sane_cap_always_settable.diff.gz - | | |-- sane-frontends-1.0.14.tar.xz - | | |-- sane.SlackBuild - | | `-- slack-desc - | |-- seamonkey - | | |-- doinst.sh.gz - | | |-- gold - | | | |-- gold - | | | `-- ld -> gold - | | |-- pkgconfig - | | | |-- seamonkey-gtkmozembed.pc - | | | |-- seamonkey-libxul.pc - | | | |-- seamonkey-nspr.pc - | | | |-- seamonkey-nss.pc - | | | |-- seamonkey-plugin.pc - | | | `-- seamonkey-xpcom.pc - | | |-- seamonkey-2.40.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.7.tar.xz - | | |-- WindowMaker-extra-0.1.tar.xz - | | |-- WindowMaker.noopensusemenu.diff.gz - | | |-- slack-desc - | | |-- windowmaker.SlackBuild - | | |-- wmaker.inst.diff.gz - | | |-- wmmenugen.c.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.6.tar.xz - | | |-- xaos.6.gz - | | |-- xaos.SlackBuild - | | |-- xaos.desktop - | | |-- xaos.png - | | `-- xaos.x86.registers.diff.gz - | |-- xfractint - | | |-- palette.maps.tar.gz - | | |-- slack-desc - | | |-- xfractint-20.04p13.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.2.6.tar.xz - | | `-- xine-lib.SlackBuild - | |-- xine-ui - | | |-- slack-desc - | | |-- xine-ui-0.99.9.tar.xz - | | `-- xine-ui.SlackBuild - | |-- xlockmore - | | |-- l-bob.README - | | |-- l-bob.xbm - | | |-- l-linux.xbm - | | |-- s-bob.xbm - | | |-- slack-desc - | | |-- xlockmore-5.46.tar.xz - | | |-- xlockmore-5.46.tar.xz.asc - | | |-- xlockmore.SlackBuild - | | `-- xlockmore.bitmap.diff.gz - | |-- xmms - | | |-- slack-desc - | | |-- xmms-1.2.11.tar.bz2 - | | |-- xmms.SlackBuild - | | |-- xmms.alsa.default.diff.gz - | | |-- xmms.desktop - | | |-- xmms.gtk.doublesize.diff.gz - | | |-- xmms.png - | | `-- xmms.wmxmms_vis_depth_workaround.diff.gz - | |-- xpaint - | | |-- slack-desc - | | |-- xpaint-2.9.10.3.tar.xz - | | `-- xpaint.SlackBuild - | |-- xpdf - | | |-- doinst.sh.gz - | | |-- lang - | | | |-- xpdf-arabic-2011-aug-15.tar.gz - | | | |-- xpdf-arabic.diff.gz - | | | |-- xpdf-chinese-simplified-2011-sep-02.tar.gz - | | | |-- xpdf-chinese-simplified.diff.gz - | | | |-- xpdf-chinese-traditional-2011-sep-02.tar.gz - | | | |-- xpdf-chinese-traditional.diff.gz - | | | |-- xpdf-cyrillic-2011-aug-15.tar.gz - | | | |-- xpdf-cyrillic.diff.gz - | | | |-- xpdf-greek-2011-aug-15.tar.gz - | | | |-- xpdf-greek.diff.gz - | | | |-- xpdf-hebrew-2011-aug-15.tar.gz - | | | |-- xpdf-hebrew.diff.gz - | | | |-- xpdf-japanese-2011-sep-02.tar.gz - | | | |-- xpdf-japanese.diff.gz - | | | |-- xpdf-korean-2011-sep-02.tar.gz - | | | |-- xpdf-korean.diff.gz - | | | |-- xpdf-latin2-2011-aug-15.tar.gz - | | | |-- xpdf-latin2.diff.gz - | | | |-- xpdf-thai-2011-aug-15.tar.gz - | | | |-- xpdf-thai.diff.gz - | | | |-- xpdf-turkish-2011-aug-15.tar.gz - | | | `-- xpdf-turkish.diff.gz - | | |-- patches - | | | `-- xpdfrc.diff.gz - | | |-- slack-desc - | | |-- xpdf-3.04.tar.gz - | | |-- xpdf-3.04.tar.gz.sig - | | |-- xpdf.SlackBuild - | | `-- xpdf.desktop - | |-- xsane - | | |-- slack-desc - | | |-- xsane-0.995-close-fds.patch.gz - | | |-- xsane-0.995-xdg-open.patch.gz - | | |-- xsane-0.996-no-eula.patch.gz - | | |-- xsane-0.997-ipv6.patch.gz - | | |-- xsane-0.997-off-root-build.patch.gz - | | |-- xsane-0.998-desktop-file.patch.gz - | | |-- xsane-0.998-libpng.patch.gz - | | |-- xsane-0.998-preview-selection.patch.gz - | | |-- xsane-0.998-wmclass.patch.gz - | | |-- xsane-0.999-7-autoconf.patch.gz - | | |-- xsane-0.999-coverity.patch.gz - | | |-- xsane-0.999-lcms2.patch.gz - | | |-- xsane-0.999-man-page.patch.gz - | | |-- xsane-0.999-no-file-selected.patch.gz - | | |-- xsane-0.999-pdf-no-high-bpp.patch.gz - | | |-- xsane-0.999-signal-handling.patch.gz - | | |-- xsane-0.999-snprintf-update.patch.gz - | | |-- xsane-0.999.tar.xz - | | `-- xsane.SlackBuild - | |-- xscreensaver - | | |-- dump.android.osx.sources.sh - | | |-- setuid.c.gz - | | |-- slack-desc - | | |-- xscreensaver-5.35.tar.xz - | | |-- xscreensaver-getimage-file-5.14 - | | |-- xscreensaver.SlackBuild - | | |-- xscreensaver.electricsheep.diff.gz - | | |-- xscreensaver.no.expiration.date.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-libpng-1.5.patch.gz - | |-- xv.SlackBuild - | |-- xv.jasper.diff.gz - | |-- xv.prefix.diff.gz - | `-- xv.prefix_x86_64.diff.gz - |-- xfce - | |-- Thunar - | | |-- 0001-Deactivate-SEND_MOVED-code-paths.patch.gz - | | |-- Thunar-1.6.10.tar.xz - | | |-- Thunar.SlackBuild - | | `-- slack-desc - | |-- exo - | | |-- exo-0.10.7.tar.xz - | | |-- exo.SlackBuild - | | |-- exo.url - | | `-- slack-desc - | |-- garcon - | | |-- garcon-0.4.0.tar.xz - | | |-- garcon.SlackBuild - | | `-- slack-desc - | |-- gtk-xfce-engine - | | |-- gtk-xfce-engine-2.10.1.tar.xz - | | |-- gtk-xfce-engine.SlackBuild - | | `-- slack-desc - | |-- libxfce4ui - | | |-- libxfce4ui-4.12.1.tar.xz - | | |-- libxfce4ui.SlackBuild - | | |-- slack-desc - | | `-- vendorinfo - | |-- libxfce4util - | | |-- libxfce4util-4.12.1.tar.xz - | | |-- libxfce4util.SlackBuild - | | `-- slack-desc - | |-- orage - | | |-- orage-4.12.1.tar.xz - | | |-- orage.SlackBuild - | | `-- slack-desc - | |-- thunar-volman - | | |-- 0001-Fix-return-with-no-value-in-function-returning-non-v.patch - | | |-- slack-desc - | | |-- thunar-volman-0.8.1.tar.xz - | | `-- thunar-volman.SlackBuild - | |-- tumbler - | | |-- slack-desc - | | |-- tumbler-0.1.31.tar.xz - | | `-- tumbler.SlackBuild - | |-- xfce-build-all.sh - | |-- xfce4-appfinder - | | |-- slack-desc - | | |-- xfce4-appfinder-4.12.0.tar.xz - | | `-- xfce4-appfinder.SlackBuild - | |-- xfce4-clipman-plugin - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-clipman-plugin-1.2.6.tar.xz - | | |-- xfce4-clipman-plugin.SlackBuild - | | `-- xfce4-clipman-plugin.url - | |-- xfce4-dev-tools - | | |-- slack-desc - | | |-- xfce4-dev-tools-4.12.0.tar.xz - | | `-- xfce4-dev-tools.SlackBuild - | |-- xfce4-notifyd - | | |-- 0001-Set-notifications-as-override-redirect-windows-bug-1.patch - | | |-- 0002-Use-accessor-function-to-get-the-GdkWindow.patch - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-notifyd-0.2.4.tar.xz - | | `-- xfce4-notifyd.SlackBuild - | |-- xfce4-panel - | | |-- libxfce4panel.max_blinking_count.8.diff.gz - | | |-- slack-desc - | | |-- xfce4-panel-4.12.0.tar.xz - | | `-- xfce4-panel.SlackBuild - | |-- xfce4-power-manager - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-power-manager-1.4.4.tar.xz - | | `-- xfce4-power-manager.SlackBuild - | |-- xfce4-pulseaudio-plugin - | | |-- slack-desc - | | |-- xfce4-pulseaudio-plugin-0.2.4-gtk3_theme.patch.gz - | | |-- xfce4-pulseaudio-plugin-0.2.4-gtk3_theme_clean.patch.gz - | | |-- xfce4-pulseaudio-plugin-0.2.4.tar.xz - | | `-- xfce4-pulseaudio-plugin.SlackBuild - | |-- xfce4-screenshooter - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-screenshooter-1.8.2.tar.xz - | | |-- xfce4-screenshooter.SlackBuild - | | `-- xfce4-screenshooter.url - | |-- xfce4-session - | | |-- slack-desc - | | |-- xfce4-session-4.12.1.tar.xz - | | `-- xfce4-session.SlackBuild - | |-- xfce4-settings - | | |-- 0001-Make-sure-icon-NULL-if-no-icon-is-found.patch - | | |-- slack-desc - | | |-- xfce.xfsettingsd.display.crtc.diff.gz - | | |-- xfce4-settings-4.12.0.tar.xz - | | |-- xfce4-settings.SlackBuild - | | |-- xfce4-settings.theme.diff.gz - | | `-- xfce4-settings.xft.defaults.diff.gz - | |-- xfce4-systemload-plugin - | | |-- 0001-g_free-on-a-GtkWidget-is-wrong-on-so-many-levels.-bu.patch - | | |-- slack-desc - | | |-- xfce4-systemload-plugin-1.1.2.tar.xz - | | |-- xfce4-systemload-plugin.SlackBuild - | | `-- xfce4-systemload-plugin.url - | |-- xfce4-taskmanager - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-taskmanager-1.1.0.tar.xz - | | |-- xfce4-taskmanager.SlackBuild - | | `-- xfce4-taskmanager.url - | |-- xfce4-terminal - | | |-- slack-desc - | | |-- xfce4-terminal-0.6.3.tar.xz - | | `-- xfce4-terminal.SlackBuild - | |-- xfce4-weather-plugin - | | |-- slack-desc - | | |-- xfce4-weather-plugin-0.8.7.tar.xz - | | |-- xfce4-weather-plugin.SlackBuild - | | `-- xfce4-weather-plugin.url - | |-- xfconf - | | |-- slack-desc - | | |-- xfconf-4.12.0.tar.xz - | | `-- xfconf.SlackBuild - | |-- xfdesktop - | | |-- slack-desc - | | |-- xfdesktop-4.12.3.tar.xz - | | `-- xfdesktop.SlackBuild - | `-- xfwm4 - | |-- slack-desc - | |-- xfwm4-4.12.3.tar.xz - | |-- xfwm4.SlackBuild - | `-- xinitrc.xfce - `-- 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 - -946 directories, 6219 files - diff --git a/isolinux/isolinux.boot b/isolinux/isolinux.boot deleted file mode 100644 index 2d2018920..000000000 Binary files a/isolinux/isolinux.boot and /dev/null differ diff --git a/patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt b/patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..a316ff4a4 --- /dev/null +++ b/patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +NetworkManager: NetworkManager (Networking that Just Works) +NetworkManager: +NetworkManager: The point of NetworkManager is to make networking configuration and +NetworkManager: setup as painless and automatic as possible. NetworkManager sets IP +NetworkManager: addresses, default routes, associating with wireless access points +NetworkManager: or wired LANs, and other network configuration settings in a simple, +NetworkManager: automated fashion (manual overrides are still possible). +NetworkManager: +NetworkManager: Home page: http://projects.gnome.org/NetworkManager/ +NetworkManager: +NetworkManager: diff --git a/patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt b/patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..99268883a --- /dev/null +++ b/patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +bash: bash (sh-compatible shell) +bash: +bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command +bash: interpreter that executes commands read from the standard input or +bash: from a file. Bash also incorporates useful features from the Korn +bash: and C shells (ksh and csh). Bash is ultimately intended to be a +bash: conformant implementation of the IEEE Posix Shell and Tools +bash: specification (IEEE Working Group 1003.2). +bash: +bash: Bash must be present for the system to boot properly. +bash: diff --git a/patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt b/patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..3289b10db --- /dev/null +++ b/patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +bind: bind (DNS server and utilities) +bind: +bind: The named daemon and support utilities such as dig, host, and +bind: nslookup. Sample configuration files for running a simple caching +bind: nameserver are included. Documentation for advanced name server +bind: setup can be found in /usr/doc/bind-9.x.x/. +bind: +bind: +bind: +bind: +bind: diff --git a/patches/packages/bluez-5.47-x86_64-1_slack14.2.txt b/patches/packages/bluez-5.47-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..b4b50d595 --- /dev/null +++ b/patches/packages/bluez-5.47-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +bluez: bluez (Bluetooth libraries and utilities) +bluez: +bluez: Bluez is the Bluetooth stack for Linux, allowing Bluetooth adaptors +bluez: and devices to be used with Linux. This package contains the Bluez +bluez: libraries, utilities, and other support files. +bluez: +bluez: For more info, visit: http://www.bluez.org +bluez: +bluez: +bluez: +bluez: diff --git a/patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt b/patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt new file mode 100644 index 000000000..a7215388c --- /dev/null +++ b/patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt @@ -0,0 +1,11 @@ +ca-certificates: ca-certificates (PEM Files of CA Certificates) +ca-certificates: +ca-certificates: This package includes PEM files of CA certificates to allow SSL-based +ca-certificates: applications to check for the authenticity of SSL connections. +ca-certificates: +ca-certificates: Homepage: http://packages.qa.debian.org/c/ca-certificates.html +ca-certificates: +ca-certificates: +ca-certificates: +ca-certificates: +ca-certificates: diff --git a/patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt b/patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..eda0c0f28 --- /dev/null +++ b/patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +curl: curl (command line URL data transfer tool) +curl: +curl: Curl is a command line tool for transferring data specified with URL +curl: syntax. The command is designed to work without user interaction or +curl: any kind of interactivity. Curl offers a busload of useful tricks +curl: like proxy support, user authentication, ftp upload, HTTP post, SSL +curl: (https:) connections, cookies, file transfer resume and more. +curl: +curl: libcurl is a library that Curl uses to do its job. It is readily +curl: available to be used by your software, too. +curl: diff --git a/patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt b/patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..43166b914 --- /dev/null +++ b/patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +dbus: dbus (D-Bus message bus system) +dbus: +dbus: D-Bus supplies both a system daemon (for events such as "new hardware +dbus: device added" or "printer queue changed") and a per user login +dbus: session daemon (for general IPC needs among user applications). +dbus: Also, the message bus is built on top of a general one-to-one message +dbus: passing framework, which can be used by any two apps to communicate +dbus: directly (without going through the message bus daemon). +dbus: +dbus: +dbus: diff --git a/patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..beaa83c29 --- /dev/null +++ b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +dhcp: dhcp (DHCP server and client utilities) +dhcp: +dhcp: This package provides the ISC's DHCP utilities, including both a +dhcp: server and client. The DHCP protocol allows a host to contact a +dhcp: central server which maintains a list of IP addresses which may be +dhcp: assigned on one or more subnets. A DHCP client may request an +dhcp: address from this pool, and then use it temporarily for communication +dhcp: on the network. The DHCP protocol also provides a mechanism whereby +dhcp: a client can learn important details about the network to which it is +dhcp: attached, such as the location of a default router or name server. +dhcp: diff --git a/patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..4029c10ff --- /dev/null +++ b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +dnsmasq: dnsmasq (small DNS and DHCP server) +dnsmasq: +dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP +dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a +dnsmasq: small network, and can serve the names of local machines which are not +dnsmasq: in the global DNS. +dnsmasq: +dnsmasq: Dnsmasq was written by Simon Kelley. +dnsmasq: +dnsmasq: Homepage: http://www.thekelleys.org.uk/dnsmasq/ +dnsmasq: diff --git a/patches/packages/emacs-25.3-x86_64-1_slack14.2.txt b/patches/packages/emacs-25.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..77e793c2b --- /dev/null +++ b/patches/packages/emacs-25.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +emacs: emacs (GNU Emacs) +emacs: +emacs: Emacs is the extensible, customizable, self-documenting real-time +emacs: display editor. If this seems to be a bit of a mouthful, an +emacs: easier explanation is that Emacs is a text editor and more. At +emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp +emacs: programming language with extensions to support text editing. +emacs: This version supports X. +emacs: +emacs: http://www.gnu.org/software/emacs/ +emacs: diff --git a/patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt b/patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..fcd3a0060 --- /dev/null +++ b/patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +expat: expat (C library for parsing XML) +expat: +expat: This is Expat, a C library for parsing XML, written by James Clark. +expat: Expat is a stream-oriented XML parser used by Python, GNOME, Xft2, +expat: and other things. +expat: +expat: +expat: +expat: +expat: +expat: diff --git a/patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt b/patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..bf5425007 --- /dev/null +++ b/patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +freetype: freetype (A free, high-quality, and portable font engine) +freetype: +freetype: FreeType is a free and portable font rendering engine. It has been +freetype: developed to provide support for a number of font formats, including +freetype: TrueType, Type 1, and OpenType, and is designed to be small, +freetype: efficient, highly customizable, and portable while capable of +freetype: producing high-quality output. +freetype: +freetype: Homepage: http://www.freetype.org +freetype: +freetype: diff --git a/patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7f4711ea7 --- /dev/null +++ b/patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc: gcc (Base GCC package with C support) +gcc: +gcc: GCC is the GNU Compiler Collection. +gcc: +gcc: This package contains those parts of the compiler collection needed to +gcc: compile C code. Other packages add Ada, C++, Fortran, Go, +gcc: Objective-C, and Java support to the compiler core. +gcc: +gcc: +gcc: +gcc: diff --git a/patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..2af52d048 --- /dev/null +++ b/patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc-g++: gcc-g++ (C++ for GCC) +gcc-g++: +gcc-g++: C++ support for the GNU Compiler Collection. +gcc-g++: +gcc-g++: This package contains those parts of the compiler collection needed to +gcc-g++: compile C++ code. The base gcc package is also required. +gcc-g++: +gcc-g++: +gcc-g++: +gcc-g++: +gcc-g++: diff --git a/patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..2a94581bb --- /dev/null +++ b/patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc-gfortran: gcc-gfortran (Fortran support for GCC) +gcc-gfortran: +gcc-gfortran: The GNU Fortran compiler is fully compliant with the Fortran 95 +gcc-gfortran: Standard and includes legacy F77 support. In addition, a significant +gcc-gfortran: number of Fortran 2003 and Fortran 2008 features are implemented. +gcc-gfortran: GNU Fortran also contains many standard and extensions and can be +gcc-gfortran: used to run real-world programs. +gcc-gfortran: +gcc-gfortran: This package contains those parts of the compiler collection +gcc-gfortran: needed to compile Fortran code. The gcc package is also required. +gcc-gfortran: diff --git a/patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..53778c64c --- /dev/null +++ b/patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc-gnat: gcc-gnat (Ada support for GCC) +gcc-gnat: +gcc-gnat: Ada support for the GNU Compiler Collection. +gcc-gnat: +gcc-gnat: This package contains those parts of the compiler collection needed to +gcc-gnat: compile Ada code. GNAT implements Ada 95, Ada 2005 and Ada 2012, and +gcc-gnat: it may also be invoked in Ada 83 compatibility mode. By default, GNAT +gcc-gnat: assumes Ada 2012. The base gcc package is also required. +gcc-gnat: +gcc-gnat: +gcc-gnat: diff --git a/patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..88a9554b2 --- /dev/null +++ b/patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc-go: gcc-go (Go support for GCC) +gcc-go: +gcc-go: Go is a compiled, garbage-collected, concurrent programming language +gcc-go: developed by Google Inc. The initial design of Go was started in +gcc-go: September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. +gcc-go: Rob Pike has stated that Go is being used "for real stuff" at Google. +gcc-go: Go's "gc" compiler targets the Linux, Mac OS X, FreeBSD, OpenBSD and +gcc-go: Microsoft Windows operating systems, and the i386, amd64, and ARM +gcc-go: processor architectures. +gcc-go: +gcc-go: Homepage: http://golang.org diff --git a/patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..3dde254a5 --- /dev/null +++ b/patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc-java: gcc-java (Java support for GCC) +gcc-java: +gcc-java: Java support for the GNU Compiler Collection. +gcc-java: +gcc-java: This package contains those parts of the compiler collection needed to +gcc-java: compile programs written in the Java programming language. The base +gcc-java: gcc package is also required. +gcc-java: +gcc-java: +gcc-java: +gcc-java: diff --git a/patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..1043a50fb --- /dev/null +++ b/patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gcc-objc: gcc-objc (Objective-C support for GCC) +gcc-objc: +gcc-objc: Objective-C support for the GNU Compiler Collection. +gcc-objc: +gcc-objc: This package contains those parts of the compiler collection needed to +gcc-objc: compile code written in Objective-C. Objective-C was originally +gcc-objc: developed to add object-oriented extensions to the C language, and is +gcc-objc: best known as the native language of the NeXT computer. +gcc-objc: +gcc-objc: The base gcc package is also required. +gcc-objc: diff --git a/patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt b/patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..49e3e6d87 --- /dev/null +++ b/patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gd: gd (a graphics library) +gd: +gd: gd is a graphics library. It allows your code to quickly draw images +gd: complete with lines, arcs, text, multiple colors, cut and paste from +gd: other images, and flood fills, and write out the result as a PNG or +gd: JPEG file. This is particularly useful in web applications, where +gd: PNG and JPEG are two of the formats accepted for inline images by +gd: most browsers. The gd library was written by Thomas Boutell. +gd: +gd: Homepage: https://www.libgd.org +gd: diff --git a/patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt b/patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt new file mode 100644 index 000000000..e48bb58d5 --- /dev/null +++ b/patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt @@ -0,0 +1,11 @@ +gegl: GEGL (Generic Graphics Library) +gegl: +gegl: GEGL (Generic Graphics Library) is a graph based image processing +gegl: framework. +gegl: +gegl: GEGL provides infrastructure to do demand based cached non destructive +gegl: image editing on larger than RAM buffers. Through babl it provides +gegl: support for a wide range of color models and pixel storage formats for +gegl: input and output. +gegl: +gegl: diff --git a/patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt b/patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..9ae0e9bcb --- /dev/null +++ b/patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +getmail: getmail (POP3 mail retriever) +getmail: +getmail: getmail is a POP3 mail retriever, with support for both ordinary and +getmail: domain (or multidrop) POP3 mailboxes. It is written in Python, and +getmail: licensed under the GNU General Public License version 2. +getmail: +getmail: getmail was written by Charles Cazabon. +getmail: +getmail: +getmail: +getmail: diff --git a/patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt b/patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7759a7efb --- /dev/null +++ b/patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gimp: gimp (The GNU Image Manipulation Program) +gimp: +gimp: The GIMP is a powerful tool for the preparation and manipulation of +gimp: digital images. The GIMP provides the user with a wide variety of +gimp: image manipulation, painting, processing, and rendering tools. The +gimp: GIMP's open design and extensible architecture make for a very +gimp: powerful end product for photo and image retouching, web graphics +gimp: design, or digital illustration. +gimp: +gimp: +gimp: diff --git a/patches/packages/git-2.14.1-x86_64-1_slack14.2.txt b/patches/packages/git-2.14.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..059a95baf --- /dev/null +++ b/patches/packages/git-2.14.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +git: git (the stupid content tracker) +git: +git: Git is a fast, scalable, distributed revision control system with an +git: unusually rich command set that provides both high-level operations +git: and full access to internals. +git: +git: "git" can mean anything, depending on your mood. +git: +git: Git was originally written by Linus Torvalds and is currently +git: maintained by Junio C. Hamano. +git: diff --git a/patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt b/patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..a5a6e2bed --- /dev/null +++ b/patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gkrellm: gkrellm (GNU Krell Monitors) +gkrellm: +gkrellm: GKrellM charts SMP CPU, load, Disk, and all active net interfaces +gkrellm: automatically. An on/off button and online timer for the PPP interface +gkrellm: is provided. Monitors for memory and swap usage, file system, internet +gkrellm: connections, APM laptop battery, mbox style mailboxes, and cpu temps. +gkrellm: Also includes an uptime monitor, hostname label, and clock/calendar. +gkrellm: +gkrellm: Bill Wilson is the author of GKrellM. +gkrellm: +gkrellm: diff --git a/patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt b/patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt new file mode 100644 index 000000000..064177622 --- /dev/null +++ b/patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt @@ -0,0 +1,11 @@ +glib2: glib2 (library of C routines) +glib2: +glib2: GLib is a library which includes support routines for C such as lists, +glib2: trees, hashes, memory allocation, and many other things. +glib2: +glib2: +glib2: +glib2: +glib2: +glib2: +glib2: diff --git a/patches/packages/glibc-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-2.23-x86_64-4_slack14.2.txt new file mode 100644 index 000000000..9b940f889 --- /dev/null +++ b/patches/packages/glibc-2.23-x86_64-4_slack14.2.txt @@ -0,0 +1,11 @@ +glibc: glibc (GNU C libraries) +glibc: +glibc: This package contains the GNU C libraries and header files. The GNU +glibc: C library was written originally by Roland McGrath, and is currently +glibc: maintained by Ulrich Drepper. Some parts of the library were +glibc: contributed or worked on by other people. +glibc: +glibc: You'll need this package to compile programs. +glibc: +glibc: +glibc: diff --git a/patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt new file mode 100644 index 000000000..128c0e26b --- /dev/null +++ b/patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt @@ -0,0 +1,11 @@ +glibc-i18n: glibc-i18n (locale files from glibc) +glibc-i18n: +glibc-i18n: These files go in /usr/lib/locale, /usr/share/i18n/, and +glibc-i18n: /usr/share/locale/ to provide internationalization support. +glibc-i18n: You'll need this package unless you will be using US English only. +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: diff --git a/patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt new file mode 100644 index 000000000..f9b53ba66 --- /dev/null +++ b/patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt @@ -0,0 +1,11 @@ +glibc-profile: glibc-profile (GNU C libraries with profiling support) +glibc-profile: +glibc-profile: This package contains static versions of the GNU C libraries with +glibc-profile: support for profiling binaries using gprof. gprof calculates how +glibc-profile: much time a program spends in each routine which can suggest where +glibc-profile: to concentrate efforts to improve performance. +glibc-profile: +glibc-profile: See the gprof man page for more details. +glibc-profile: +glibc-profile: +glibc-profile: diff --git a/patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt new file mode 100644 index 000000000..3824184d8 --- /dev/null +++ b/patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt @@ -0,0 +1,11 @@ +glibc-solibs: glibc-solibs (shared GNU C libraries) +glibc-solibs: +glibc-solibs: This package contains the shared libraries, binaries, and support +glibc-solibs: files required to run most Linux applications linked with glibc. +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: diff --git a/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt new file mode 100644 index 000000000..c74ccc6a9 --- /dev/null +++ b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt @@ -0,0 +1,11 @@ +glibc-zoneinfo: glibc-zoneinfo (timezone database) +glibc-zoneinfo: +glibc-zoneinfo: This package allows you to configure your time zone. +glibc-zoneinfo: +glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by +glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information +glibc-zoneinfo: may be found at: http://www.iana.org/time-zones +glibc-zoneinfo: +glibc-zoneinfo: Use the timeconfig utility to set your local time zone. +glibc-zoneinfo: +glibc-zoneinfo: diff --git a/patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..59d381368 --- /dev/null +++ b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gnupg: gnupg (The GNU Privacy Guard) +gnupg: +gnupg: GnuPG is GNU's tool for secure communication and data storage. It can +gnupg: be used to encrypt data and to create digital signatures. It includes +gnupg: an advanced key management facility and is compliant with the proposed +gnupg: OpenPGP Internet standard as described in RFC2440. +gnupg: +gnupg: +gnupg: +gnupg: +gnupg: diff --git a/patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt b/patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..40c151dc5 --- /dev/null +++ b/patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gnutls: gnutls (GNU TLS library) +gnutls: +gnutls: This is a TLS (Transport Layer Security) 1.0 and SSL (Secure Sockets +gnutls: Layer) 3.0 implementation. In brief, GnuTLS can be described as a +gnutls: library which offers an API to access secure communication protocols. +gnutls: These protocols provide privacy over insecure lines, and were designed +gnutls: to prevent eavesdropping, tampering, or message forgery. +gnutls: +gnutls: Homepage: http://www.gnu.org/software/gnutls/ +gnutls: +gnutls: diff --git a/patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt b/patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..22afdcc8f --- /dev/null +++ b/patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +gtk+2: GTK+ version 2 (multi-platform GUI toolkit) +gtk+2: +gtk+2: This is GTK+, a multi-platform toolkit for creating graphical user +gtk+2: interfaces. Offering a complete set of widgets, GTK+ is suitable for +gtk+2: projects ranging from small one-off projects to complete application +gtk+2: suites. +gtk+2: +gtk+2: +gtk+2: +gtk+2: +gtk+2: diff --git a/patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt b/patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..e0fe474dc --- /dev/null +++ b/patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +httpd: httpd (The Apache HTTP Server) +httpd: +httpd: Apache is an HTTP server designed as a plug-in replacement for the +httpd: NCSA HTTP server. It fixes numerous bugs in the NCSA server and +httpd: includes many frequently requested new features, and has an API which +httpd: allows it to be extended to meet users' needs more easily. +httpd: +httpd: Apache is the most popular web server in the known universe; over +httpd: half of the servers on the Internet are running Apache or one of +httpd: its variants. +httpd: diff --git a/patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt b/patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt new file mode 100644 index 000000000..c94d6f310 --- /dev/null +++ b/patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt @@ -0,0 +1,11 @@ +intltool: intltool (Utilities for translation support) +intltool: +intltool: This package contains scripts and autoconf files for +intltool: internationalizing data. +intltool: +intltool: Homepage: https://edge.launchpad.net/intltool +intltool: +intltool: +intltool: +intltool: +intltool: diff --git a/patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt b/patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..c7127d1f9 --- /dev/null +++ b/patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +irssi: irssi (Internet Relay Chat client) +irssi: +irssi: Irssi is an Internet Relay Chat client. Designed to be both secure +irssi: and expandable, irssi is easily customized using modules and scripts. +irssi: +irssi: For more information, visit: http://irssi.org +irssi: +irssi: irssi was written by Timo Sirainen. +irssi: +irssi: +irssi: diff --git a/patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt b/patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..d192ec7a5 --- /dev/null +++ b/patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +kdelibs: kdelibs (KDE libraries) +kdelibs: +kdelibs: System libraries and other resources required for the KDE Platform. +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: diff --git a/patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt b/patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7a0038ff4 --- /dev/null +++ b/patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libX11: libX11 (Core X11 protocol client library) +libX11: +libX11: libX11 is part of X11. +libX11: +libX11: For more information about the X.Org Foundation (the providers of the +libX11: X.Org implementation of the X Window System), see their website: +libX11: +libX11: http://www.x.org +libX11: +libX11: +libX11: diff --git a/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..a95a82df7 --- /dev/null +++ b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXcursor: libXcursor (X Window System Cursor management library) +libXcursor: +libXcursor: libXcursor is part of X11. +libXcursor: +libXcursor: For more information about the X.Org Foundation (the providers of the +libXcursor: X.Org implementation of the X Window System), see their website: +libXcursor: +libXcursor: http://www.x.org +libXcursor: +libXcursor: +libXcursor: diff --git a/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..cad880c53 --- /dev/null +++ b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXfixes: libXfixes (client library for the Xfixes extension) +libXfixes: +libXfixes: libXfixes is part of X11. +libXfixes: +libXfixes: For more information about the X.Org Foundation (the providers of the +libXfixes: X.Org implementation of the X Window System), see their website: +libXfixes: +libXfixes: http://www.x.org +libXfixes: +libXfixes: +libXfixes: diff --git a/patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt b/patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..fd4ecec9b --- /dev/null +++ b/patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +libXfont: libXfont (library for legacy X11 font system) +libXfont: +libXfont: libXfont provides the core of the legacy X11 font system, handling the +libXfont: index files (fonts.dir, fonts.alias, fonts.scale), the various font +libXfont: file formats, and rasterizing them. It is used by the X servers, the +libXfont: X Font Server (xfs), and some font utilities (bdftopcf for instance), +libXfont: but should not be used by normal X11 clients. X11 clients access fonts +libXfont: via either the new API's in libXft, or the legacy API's in libX11. +libXfont: +libXfont: +libXfont: diff --git a/patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt b/patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..f8ef8ec2d --- /dev/null +++ b/patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXi: libXi (library for the X Input Extension) +libXi: +libXi: libXi is part of X11. +libXi: +libXi: For more information about the X.Org Foundation (the providers of the +libXi: X.Org implementation of the X Window System), see their website: +libXi: +libXi: http://www.x.org +libXi: +libXi: +libXi: diff --git a/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7025c9ef4 --- /dev/null +++ b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXrandr: libXrandr (X Resize, Rotate and Reflection extension library) +libXrandr: +libXrandr: libXrandr is part of X11. +libXrandr: +libXrandr: For more information about the X.Org Foundation (the providers of the +libXrandr: X.Org implementation of the X Window System), see their website: +libXrandr: +libXrandr: http://www.x.org +libXrandr: +libXrandr: +libXrandr: diff --git a/patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..254411dd3 --- /dev/null +++ b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXrender: libXrender (library for the Render Extension to the X11 protocol) +libXrender: +libXrender: libXrender is part of X11. +libXrender: +libXrender: For more information about the X.Org Foundation (the providers of the +libXrender: X.Org implementation of the X Window System), see their website: +libXrender: +libXrender: http://www.x.org +libXrender: +libXrender: +libXrender: diff --git a/patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt b/patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..6abe3e3db --- /dev/null +++ b/patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXres: libXres (X-Resource extension client library) +libXres: +libXres: libXres is part of X11. +libXres: +libXres: For more information about the X.Org Foundation (the providers of the +libXres: X.Org implementation of the X Window System), see their website: +libXres: +libXres: http://www.x.org +libXres: +libXres: +libXres: diff --git a/patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..b44d139fb --- /dev/null +++ b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXtst: libXtst (client library for the XTEST & RECORD extensions) +libXtst: +libXtst: libXtst is part of X11. +libXtst: +libXtst: For more information about the X.Org Foundation (the providers of the +libXtst: X.Org implementation of the X Window System), see their website: +libXtst: +libXtst: http://www.x.org +libXtst: +libXtst: +libXtst: diff --git a/patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt b/patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..57e519053 --- /dev/null +++ b/patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXv: libXv (library for the X Video (Xv) extension to the X Window System) +libXv: +libXv: libXv is part of X11. +libXv: +libXv: For more information about the X.Org Foundation (the providers of the +libXv: X.Org implementation of the X Window System), see their website: +libXv: +libXv: http://www.x.org +libXv: +libXv: +libXv: diff --git a/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..b23d9bd23 --- /dev/null +++ b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libXvMC: libXvMC (X.Org X11 libXvMC runtime library) +libXvMC: +libXvMC: libXvMC is part of X11. +libXvMC: +libXvMC: For more information about the X.Org Foundation (the providers of the +libXvMC: X.Org implementation of the X Window System), see their website: +libXvMC: +libXvMC: http://www.x.org +libXvMC: +libXvMC: +libXvMC: diff --git a/patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt b/patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..a3099b6cd --- /dev/null +++ b/patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +libcgroup: libcgroup (library and utilities for kernel control groups) +libcgroup: +libcgroup: Control Groups provide a mechanism for aggregating/partitioning sets of +libcgroup: tasks, and all their future children, into hierarchical groups with +libcgroup: specialized behaviour. It makes use of a filesystem interface. +libcgroup: This package contains a library for developing applications that use +libcgroup: control groups, as well as some basic userspace tools for controlling +libcgroup: and monitoring control groups. +libcgroup: +libcgroup: Homepage: http://libcg.sourceforge.net/ +libcgroup: diff --git a/patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt b/patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..079f2133e --- /dev/null +++ b/patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libgcrypt: libgcrypt (General purpose crypto library) +libgcrypt: +libgcrypt: Libgcrypt is a general purpose crypto library based on the code +libgcrypt: used in GnuPG. +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: diff --git a/patches/packages/libidn-1.34-x86_64-1_slack14.2.txt b/patches/packages/libidn-1.34-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..86ffee4f9 --- /dev/null +++ b/patches/packages/libidn-1.34-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libidn: libidn (GNU Internationalized Domain Name library) +libidn: +libidn: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA +libidn: specifications defined by the IETF Internationalized Domain Names +libidn: (IDN) working group, used for internationalized domain names. +libidn: +libidn: +libidn: +libidn: +libidn: +libidn: diff --git a/patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..c8c985f3b --- /dev/null +++ b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libpcap: libpcap (packet capture library) +libpcap: +libpcap: libpcap is a library for user-level packet capture. libpcap provides +libpcap: a portable framework for low-level network monitoring. Applications +libpcap: include network statistics collection, security monitoring, network +libpcap: debugging, etc. The tcpdump utility uses libpcap. +libpcap: +libpcap: Project homepage: http://www.tcpdump.org +libpcap: +libpcap: +libpcap: diff --git a/patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt b/patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..984b463c4 --- /dev/null +++ b/patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libplist: libplist (A library for Apple Binary and XML Property Lists) +libplist: +libplist: libplist is a library that attempts to support Apple Binary and XML +libplist: Property Lists. It is used by libgpod. +libplist: +libplist: The libplist homepage: http://www.libimobiledevice.org/ +libplist: +libplist: +libplist: +libplist: +libplist: diff --git a/patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt b/patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..3d0deb675 --- /dev/null +++ b/patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libpng: libpng (Portable Network Graphics library) +libpng: +libpng: PNG (Portable Network Graphics) is an extensible file format for the +libpng: lossless, portable, well-compressed storage of raster images. PNG +libpng: provides a patent-free replacement for GIF and can also replace many +libpng: common uses of TIFF. Indexed-color, grayscale, and truecolor images +libpng: are supported, plus an optional alpha channel. Sample depths range +libpng: from 1 to 16 bits. +libpng: +libpng: +libpng: diff --git a/patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt b/patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt new file mode 100644 index 000000000..45e217419 --- /dev/null +++ b/patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt @@ -0,0 +1,11 @@ +libsoup: libsoup (an HTTP client/server library) +libsoup: +libsoup: Soup is an HTTP client/server library implementation in C. It uses +libsoup: GObjects and the glib main loop to integrate well with GTK+ +libsoup: applications, and has a synchronous API suitable for use in threaded +libsoup: applications. +libsoup: +libsoup: +libsoup: +libsoup: +libsoup: diff --git a/patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt b/patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..89df05edf --- /dev/null +++ b/patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libtiff: libtiff (a library for reading and writing TIFF files) +libtiff: +libtiff: This package provides support for the Tag Image File Format (TIFF), +libtiff: a widely used format for storing image data. Included is the libtiff +libtiff: library (for reading and writing TIFF files), and a collection of +libtiff: tools for working with TIFF images. +libtiff: +libtiff: +libtiff: +libtiff: +libtiff: diff --git a/patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt b/patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..fe79aef73 --- /dev/null +++ b/patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libtirpc: libtirpc (Transport-Independent RPC library) +libtirpc: +libtirpc: Libtirpc is a port of Sun's Transport-Independent RPC library to +libtirpc: Linux. It is being developed by Bull GNU/Linux NFSv4 project. +libtirpc: +libtirpc: You will need this library if you plan to use RPC with a GLIBC +libtirpc: version newer than 2.13, because the RPC stack has been removed +libtirpc: from GLIBC versions newer than 2.13. The library is required +libtirpc: by the 'rpcbind' package. +libtirpc: +libtirpc: http://sourceforge.net/projects/libtirpc/ diff --git a/patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt b/patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..a6d181d9b --- /dev/null +++ b/patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +libtool: libtool (a generic library support script) +libtool: +libtool: This is GNU Libtool, a generic library support script. Libtool hides +libtool: the complexity of using shared libraries behind a consistent, portable +libtool: interface. To use libtool, add the new generic library building +libtool: commands to your Makefile, Makefile.in, or Makefile.am. See the +libtool: documentation for details. +libtool: +libtool: You must install the "m4" package to be able to use libtool. +libtool: +libtool: diff --git a/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..aeddb637e --- /dev/null +++ b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libvorbis: libvorbis (Ogg Vorbis library) +libvorbis: +libvorbis: This library supports the Vorbis General Audio Compression Codec +libvorbis: (commonly known as Ogg Vorbis). Ogg Vorbis is a fully open, +libvorbis: non-proprietary, patent-and-royalty-free, general-purpose compressed +libvorbis: audio format for audio and music at fixed and variable bitrates. +libvorbis: +libvorbis: The libvorbis library requires libao and libogg. You'll find some +libvorbis: basic tools for creating and using Ogg Vorbis files in the +libvorbis: vorbis-tools package. +libvorbis: diff --git a/patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt b/patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt new file mode 100644 index 000000000..9ce901b81 --- /dev/null +++ b/patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt @@ -0,0 +1,11 @@ +libwmf: libwmf (WMF graphics format library) +libwmf: +libwmf: libwmf is a library for interpreting metafile images and either +libwmf: displaying them using X or converting them to standard formats such +libwmf: as PNG, JPEG, PS, EPS and SVG. +libwmf: +libwmf: +libwmf: +libwmf: +libwmf: +libwmf: diff --git a/patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..806c97658 --- /dev/null +++ b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +libxml2: libxml2 (XML parser library) +libxml2: +libxml2: Libxml2 is the XML C parser library and toolkit. XML itself is a +libxml2: metalanguage to design markup languages -- i.e. a text language where +libxml2: structures are added to the content using extra "markup" information +libxml2: enclosed between angle brackets. HTML is the most well-known markup +libxml2: language. Though the library is written in C, a variety of language +libxml2: bindings make it available in other environments. +libxml2: +libxml2: +libxml2: diff --git a/patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt b/patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt new file mode 100644 index 000000000..7635509e2 --- /dev/null +++ b/patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt @@ -0,0 +1,11 @@ +libzip: libzip (A library to read, create, and modify Zip archives) +libzip: +libzip: This is libzip, a C library for reading, creating, and modifying +libzip: zip archives. Files can be added from data buffers, files, or +libzip: compressed data copied directly from other zip archives. Changes +libzip: made without closing the archive can be reverted. +libzip: +libzip: Homepage: http://www.nih.at/libzip/ +libzip: +libzip: +libzip: diff --git a/patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt b/patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt new file mode 100644 index 000000000..4b07a89f4 --- /dev/null +++ b/patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt @@ -0,0 +1,11 @@ +kernel-firmware: kernel-firmware (Firmware for the kernel) +kernel-firmware: +kernel-firmware: These are firmware files for the Linux kernel. +kernel-firmware: +kernel-firmware: You'll need these to use certain hardware drivers with Linux. +kernel-firmware: +kernel-firmware: Upstream site: +kernel-firmware: +kernel-firmware: git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git +kernel-firmware: +kernel-firmware: diff --git a/patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt b/patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt new file mode 100644 index 000000000..975a5ba6d --- /dev/null +++ b/patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt @@ -0,0 +1,11 @@ +kernel-generic: kernel-generic (a general purpose SMP Linux kernel) +kernel-generic: +kernel-generic: This is a Linux kernel with built-in support for most disk +kernel-generic: controllers. To use filesystems, or to load support for a SCSI or +kernel-generic: other controller, then you'll need to load one or more kernel +kernel-generic: modules using an initial ramdisk, or initrd. For more information +kernel-generic: about creating an initrd, see the README.initrd file in the /boot +kernel-generic: directory. +kernel-generic: +kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support. +kernel-generic: diff --git a/patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt b/patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt new file mode 100644 index 000000000..27b46a0e6 --- /dev/null +++ b/patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt @@ -0,0 +1,11 @@ +kernel-headers: kernel-headers (Linux kernel include files) +kernel-headers: +kernel-headers: These are the include files from the Linux kernel. +kernel-headers: +kernel-headers: You'll need these to compile most system software for Linux. +kernel-headers: +kernel-headers: +kernel-headers: +kernel-headers: +kernel-headers: +kernel-headers: diff --git a/patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt b/patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt new file mode 100644 index 000000000..2d6170611 --- /dev/null +++ b/patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt @@ -0,0 +1,11 @@ +kernel-huge: kernel-huge (a fully-loaded SMP Linux kernel) +kernel-huge: +kernel-huge: This is a Linux kernel with built-in support for most disk +kernel-huge: controllers. If you're looking for a more stripped down kernel +kernel-huge: (this one contains everything but the kitchen sink ;-), then install +kernel-huge: the kernel-generic in the /boot directory along with an initrd to +kernel-huge: load support for your boot device and filesystem. For instructions +kernel-huge: on the initrd, see README.initrd in the /boot directory. +kernel-huge: +kernel-huge: SMP is "Symmetric multiprocessing", or multiple CPU/core support. +kernel-huge: diff --git a/patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt b/patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt new file mode 100644 index 000000000..9a9441043 --- /dev/null +++ b/patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt @@ -0,0 +1,11 @@ +kernel-modules: kernel-modules (Linux kernel modules) +kernel-modules: +kernel-modules: Kernel modules are pieces of code that can be loaded and unloaded into +kernel-modules: the kernel upon demand. They extend the functionality of the kernel +kernel-modules: without the need to reboot the system. These modules provide support +kernel-modules: for hardware such as USB devices, RAID controllers, network +kernel-modules: interfaces, and display devices, or add other additional capabilities +kernel-modules: to the kernel. +kernel-modules: +kernel-modules: +kernel-modules: diff --git a/patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt b/patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt new file mode 100644 index 000000000..eb2b0a30c --- /dev/null +++ b/patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt @@ -0,0 +1,11 @@ +kernel-source: kernel-source (Linux kernel source) +kernel-source: +kernel-source: Source code for Linus Torvalds' Linux kernel. +kernel-source: +kernel-source: This is the complete and unmodified source code for the Linux kernel. +kernel-source: +kernel-source: +kernel-source: +kernel-source: +kernel-source: +kernel-source: diff --git a/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..f77991098 --- /dev/null +++ b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +loudmouth: loudmouth (XMPP C programming library) +loudmouth: +loudmouth: Loudmouth is a lightweight and easy-to-use C library for programming +loudmouth: with the Jabber protocol. It is designed to be easy to get started +loudmouth: with, and yet extensible enough to allow you to do anything that the +loudmouth: Jabber protocol allows. +loudmouth: +loudmouth: loudmouth home: https://github.com/mcabber/loudmouth +loudmouth: +loudmouth: +loudmouth: diff --git a/patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt b/patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt new file mode 100644 index 000000000..925b5830e --- /dev/null +++ b/patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt @@ -0,0 +1,11 @@ +lynx: Lynx (text mode browser) +lynx: +lynx: Lynx is a distributed hypertext browser with full World Wide Web +lynx: capabilities. Lynx can be used to access information on the World +lynx: Wide Web, or to build information systems intended primarily for local +lynx: access. For example, Lynx has been used to build several Campus Wide +lynx: Information Systems (CWIS). +lynx: +lynx: Lynx's authors include Lou Montulli, Garrett Blythe, Craig Lavender, +lynx: Michael Grobe, and Charles Rezac. +lynx: diff --git a/patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt b/patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..6c42fc57d --- /dev/null +++ b/patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mariadb: mariadb (Drop-in replacement for the MySQL Database Server) +mariadb: +mariadb: MariaDB is a backward compatible, drop-in replacement branch of the +mariadb: MySQL(R) Database Server. It includes all major open source storage +mariadb: engines, including the Aria storage engine. +mariadb: +mariadb: Homepage: http://mariadb.org/ +mariadb: +mariadb: +mariadb: +mariadb: diff --git a/patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..b88d33ff7 --- /dev/null +++ b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mcabber: mcabber (Jabber console client) +mcabber: +mcabber: mcabber is a small Jabber console client for Linux, maintained by +mcabber: Mikael Berthe. Mcabber includes features such as SSL support, +mcabber: multi-user chat (MUC), history logging, commands completion, and +mcabber: external actions triggers. +mcabber: +mcabber: mcabber project home is: http://www.lilotux.net/~mikael/mcabber/ +mcabber: +mcabber: +mcabber: diff --git a/patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..74728542a --- /dev/null +++ b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mercurial: mercurial (a distributed source management system) +mercurial: +mercurial: Mercurial is a cross-platform, distributed source management tool for +mercurial: software developers. It is written in Python, with a binary diff +mercurial: implementation written in C. Its major features include high- +mercurial: performance; serverless, fully distributed collaborative development; +mercurial: robust handling of both plain text and binary files; advanced +mercurial: branching and merging capabilities; and full source code available +mercurial: under the terms of the LGPL. +mercurial: +mercurial: Mercurial was written by Matt Mackall and other contributors. diff --git a/patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt b/patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..ec008506a --- /dev/null +++ b/patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +minicom: minicom (communications package) +minicom: +minicom: Minicom - a full featured menu-driven communications package similar +minicom: to the DOS program 'Telix'. Also includes sz/rz - utilities used to +minicom: upload and download files using the Zmodem protocol. +minicom: +minicom: Homepage: http://alioth.debian.org/projects/minicom +minicom: +minicom: +minicom: +minicom: diff --git a/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..ac8d3a741 --- /dev/null +++ b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mkinitrd: mkinitrd (make an initial ramdisk) +mkinitrd: +mkinitrd: mkinitrd is a script to create an initial ramdisk that is loaded at +mkinitrd: the same time as the kernel. The initial ramdisk may be responsible +mkinitrd: for loading kernel modules (such a filesystem or SCSI controller +mkinitrd: module) that are needed to mount the root filesystem. +mkinitrd: +mkinitrd: The "initrd" is implemented as an initramfs. See the kernel +mkinitrd: documentation for more information on this, if you are interested. +mkinitrd: +mkinitrd: diff --git a/patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt b/patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..1d399dbf1 --- /dev/null +++ b/patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser) +mozilla-firefox: +mozilla-firefox: This project is a redesign of the Mozilla browser component written +mozilla-firefox: using the XUL user interface language. Firefox empowers you to +mozilla-firefox: browse faster, more safely and more efficiently than with any other +mozilla-firefox: browser. +mozilla-firefox: +mozilla-firefox: Visit the Mozilla Firefox project online: +mozilla-firefox: http://www.mozilla.org/projects/firefox/ +mozilla-firefox: +mozilla-firefox: diff --git a/patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt b/patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..9d2fe7086 --- /dev/null +++ b/patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mozilla-nss: mozilla-nss (Network Security Services) +mozilla-nss: +mozilla-nss: Network Security Services (NSS) is a set of libraries designed to +mozilla-nss: support cross-platform development of security-enabled client and +mozilla-nss: server applications. Applications built with NSS can support +mozilla-nss: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, +mozilla-nss: X.509 v3 certificates, and other security standards. +mozilla-nss: +mozilla-nss: +mozilla-nss: Read http://www.mozilla.org/projects/security/pki/nss/overview.html +mozilla-nss: diff --git a/patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt b/patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..79d022522 --- /dev/null +++ b/patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application) +mozilla-thunderbird: +mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component +mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes +mozilla-thunderbird: emailing safer, faster, and easier than ever before with the +mozilla-thunderbird: industry's best implementations of features such as intelligent spam +mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more. +mozilla-thunderbird: +mozilla-thunderbird: Visit the Mozilla Thunderbird project online: +mozilla-thunderbird: http://www.mozilla.org/projects/thunderbird/ +mozilla-thunderbird: diff --git a/patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt b/patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..a8bb4e99f --- /dev/null +++ b/patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +nasm: nasm (NASM assembler) +nasm: +nasm: NASM is the Netwide Assembler, a free portable assembler for the Intel +nasm: 80x86 microprocessor series, using primarily the traditional Intel +nasm: instruction mnemonics and syntax. +nasm: +nasm: NASM was written by Simon Tatham and Julian Hall. +nasm: +nasm: Homepage: http://www.nasm.us +nasm: +nasm: diff --git a/patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt b/patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..1a05675db --- /dev/null +++ b/patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +network-manager-applet: network-manager-applet (NetworkManager Applet) +network-manager-applet: +network-manager-applet: nm-applet is a gui frontend for NetworkManager. +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: diff --git a/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..128dd5c60 --- /dev/null +++ b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +ntp: ntp (Network Time Protocol daemon) +ntp: +ntp: The Network Time Protocol (NTP) is used to synchronize the time of a +ntp: computer client or server to another server or reference time source, +ntp: such as a radio or satellite receiver or modem. It provides client +ntp: accuracies typically within a millisecond on LANs and up to a few tens +ntp: of milliseconds on WANs relative to a primary server synchronized to +ntp: Coordinated Universal Time (UTC) via a Global Positioning Service +ntp: (GPS) receiver, for example. +ntp: +ntp: diff --git a/patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt b/patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..d24e37780 --- /dev/null +++ b/patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +openexr: openexr (HDR Image File Format & Library) +openexr: +openexr: OpenEXR is an image file format and library developed by Industrial +openexr: Light & Magic, and later released to the public. It provides support +openexr: for high dynamic range and a 16-bit floating point "half" data type +openexr: which is compatible with the half data type in the Cg programming +openexr: language. +openexr: +openexr: Homepage: http://www.openexr.org/ +openexr: +openexr: diff --git a/patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt b/patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..824f52509 --- /dev/null +++ b/patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +openjpeg: openjpeg (JPEG2000 Codec) +openjpeg: +openjpeg: The OpenJPEG library is an open-source JPEG 2000 codec. +openjpeg: +openjpeg: Homepage: http://www.openjpeg.org +openjpeg: +openjpeg: +openjpeg: +openjpeg: +openjpeg: +openjpeg: diff --git a/patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt b/patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..65f391715 --- /dev/null +++ b/patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +openssh: openssh (Secure Shell daemon and clients) +openssh: +openssh: ssh (Secure Shell) is a program for logging into a remote machine and +openssh: for executing commands on a remote machine. It is intended to replace +openssh: rlogin and rsh, and provide secure encrypted communications between +openssh: two untrusted hosts over an insecure network. sshd (SSH Daemon) is +openssh: the daemon program for ssh. OpenSSH is based on the last free version +openssh: of Tatu Ylonen's SSH, further enhanced and cleaned up by Aaron +openssh: Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and +openssh: Dug Song. It has a homepage at http://www.openssh.com/ +openssh: diff --git a/patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt b/patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..26048b4f4 --- /dev/null +++ b/patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +openssl: openssl (Secure Sockets Layer toolkit) +openssl: +openssl: The OpenSSL certificate management tool and the shared libraries that +openssl: provide various encryption and decryption algorithms and protocols. +openssl: +openssl: This product includes software developed by the OpenSSL Project for +openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl: includes cryptographic software written by Eric Young +openssl: (eay@cryptsoft.com). This product includes software written by Tim +openssl: Hudson (tjh@cryptsoft.com). +openssl: diff --git a/patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt b/patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..2811c662a --- /dev/null +++ b/patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +openssl-solibs: openssl-solibs (OpenSSL shared libraries) +openssl-solibs: +openssl-solibs: These shared libraries provide encryption routines required by +openssl-solibs: programs such as openssh, bind, sendmail, and many others. +openssl-solibs: +openssl-solibs: This product includes software developed by the OpenSSL Project for +openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl-solibs: includes cryptographic software written by Eric Young +openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim +openssl-solibs: Hudson (tjh@cryptsoft.com). +openssl-solibs: diff --git a/patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..73bb76e03 --- /dev/null +++ b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +openvpn: openvpn (secure IP tunnel daemon) +openvpn: +openvpn: OpenVPN is a full-featured SSL VPN which can accommodate a wide range +openvpn: of configurations, including remote access, site-to-site VPNs, WiFi +openvpn: security, and enterprise-scale remote access with load balancing, +openvpn: failover, and fine-grained access-controls. +openvpn: +openvpn: OpenVPN's home on the net is: http://openvpn.net +openvpn: +openvpn: +openvpn: diff --git a/patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt b/patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..0120ae50d --- /dev/null +++ b/patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +patch: patch (apply a diff file to an original file or files) +patch: +patch: Patch is a utility used to apply diffs (or patches) to files, which +patch: are usually source code. +patch: +patch: Larry Wall wrote the original version of patch. Paul Eggert removed +patch: patch's arbitrary limits; added support for binary files, setting +patch: file times, and deleting files; and made it conform better to POSIX. +patch: Other contributors include Wayne Davison, who added unidiff support, +patch: and David MacKenzie, who added configuration and backup support. +patch: diff --git a/patches/packages/php-5.6.36-x86_64-1_slack14.2.txt b/patches/packages/php-5.6.36-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..e771b5f33 --- /dev/null +++ b/patches/packages/php-5.6.36-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +php: php (HTML-embedded scripting language) +php: +php: PHP is an HTML-embedded scripting language. It shares syntax +php: characteristics with C, Java, and Perl. The primary objective behind +php: this language is to make a fast and easy-to-use scripting language +php: for dynamic web sites. +php: +php: More information can be found online at http://www.php.net/ +php: +php: +php: diff --git a/patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..1eb97f006 --- /dev/null +++ b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +pidgin: pidgin (GTK+ instant messaging program) +pidgin: +pidgin: Pidgin allows you to talk to anyone using a variety of messaging +pidgin: protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN +pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols +pidgin: are implemented using a modular, easy to use design. To use a +pidgin: protocol, just load the plugin for it. +pidgin: +pidgin: For more info, see: http://www.pidgin.im +pidgin: +pidgin: diff --git a/patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt b/patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..49f4bfcc8 --- /dev/null +++ b/patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +pkg-config: pkg-config (system for managing library compile/link flags) +pkg-config: +pkg-config: pkg-config is a system for managing library compile/link flags +pkg-config: that works with automake and autoconf. It replaces the ubiquitous +pkg-config: *-config scripts you may have seen with a single tool. See the man +pkg-config: page that comes with pkg-config for full documentation. +pkg-config: +pkg-config: +pkg-config: +pkg-config: +pkg-config: diff --git a/patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt b/patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..19ad8b211 --- /dev/null +++ b/patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +procps-ng: procps-ng (utilities for displaying process information) +procps-ng: +procps-ng: The procps-ng package provides the classic set of utilities used to +procps-ng: display information about the processes currently running on the +procps-ng: machine. +procps-ng: +procps-ng: Homepage: http://sourceforge.net/projects/procps-ng/ +procps-ng: +procps-ng: +procps-ng: +procps-ng: diff --git a/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7053edf3e --- /dev/null +++ b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +proftpd: proftpd (FTP server daemon) +proftpd: +proftpd: ProFTPD is the Professional File Transfer Protocol (FTP) server +proftpd: daemon. ProFTPD grew out of the desire to have a secure and +proftpd: configurable FTP server, and out of a significant admiration of the +proftpd: Apache web server. +proftpd: +proftpd: +proftpd: +proftpd: +proftpd: diff --git a/patches/packages/python-2.7.15-x86_64-1_slack14.2.txt b/patches/packages/python-2.7.15-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..047c1bd44 --- /dev/null +++ b/patches/packages/python-2.7.15-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +python: python (object-oriented interpreted programming language) +python: +python: Python is an interpreted, interactive, object-oriented programming +python: language that combines remarkable power with very clear syntax. +python: Python's basic power can be extended with your own modules written in +python: C or C++. Python is also adaptable as an extension language for +python: existing applications. +python: +python: +python: +python: diff --git a/patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt b/patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..1b4be2ef9 --- /dev/null +++ b/patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +rpcbind: rpcbind (a daemon to manage RPC connections) +rpcbind: +rpcbind: This is a network daemon used to manage connections to RPC services. +rpcbind: It is meant as a replacement for the 'rpc.portmap' server from the +rpcbind: 'portmap' package. Daemons that offer RPC services (such as the +rpcbind: daemons for NFS) tell the rpcbind on what port they listen. +rpcbind: RPC network port numbers may change each time the system is booted. +rpcbind: +rpcbind: This package is required to use NFS or other RPC services. +rpcbind: +rpcbind: Homepage: http://sourceforge.net/projects/rpcbind/ diff --git a/patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt b/patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7565757a9 --- /dev/null +++ b/patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +rsync: rsync (remote file sync) +rsync: +rsync: rsync is a replacement for rcp that has many more features. It +rsync: uses the "rsync algorithm" which provides a very fast method for +rsync: bringing remote files into sync. It does this by sending just the +rsync: differences in the files across the link, without requiring that both +rsync: sets of files are present at one of the ends of the link beforehand. +rsync: rsync was written by Andrew Tridgell and Paul Mackerras. +rsync: +rsync: Homepage: http://rsync.samba.org +rsync: diff --git a/patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt b/patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..265efadf6 --- /dev/null +++ b/patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +ruby: ruby (Interpreted object-oriented scripting language) +ruby: +ruby: Ruby is an interpreted scripting language for quick and easy +ruby: object-oriented programming. It has many features to process text +ruby: files and to do system management tasks (as in Perl). It is simple, +ruby: straight-forward, and extensible. +ruby: +ruby: Visit the Ruby project online at http://www.ruby-lang.org/ +ruby: +ruby: +ruby: diff --git a/patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..21fc353f9 --- /dev/null +++ b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +rxvt: rxvt (terminal emulator) +rxvt: +rxvt: rxvt is a color vt102 terminal emulator intended as an xterm +rxvt: replacement for users who do not require features such as Tektronix +rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt +rxvt: uses much less memory -- a significant advantage on a machine serving +rxvt: many X sessions. Also included is rclock, an analog clock for X. +rxvt: +rxvt: +rxvt: +rxvt: diff --git a/patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt b/patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt new file mode 100644 index 000000000..f4b2ff06d --- /dev/null +++ b/patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt @@ -0,0 +1,11 @@ +samba: samba (CIFS file and print server) +samba: +samba: Samba is a CIFS file and print server for CIFS clients. It allows +samba: you to make file space or printers on a Samba host available to CIFS +samba: clients (such as PCs running Windows). +samba: +samba: If you have any Windows file servers, you may be able to replace them +samba: or supplement them with Samba. One of Samba's big strengths is +samba: integration, so you can use it to tie together your Linux hosts and +samba: Windows PC clients. +samba: diff --git a/patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt b/patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..f38ca50f2 --- /dev/null +++ b/patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +scim: scim (Smart Common Input Method platform) +scim: +scim: SCIM is an input platform for CJK and other languages. +scim: It aims to significantly reduce the difficulty of input method +scim: development. +scim: +scim: See the scim scripts in /etc/profile.d/ for setup info. +scim: +scim: scim home: http://www.scim-im.org/ +scim: +scim: diff --git a/patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt b/patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..b788c2976 --- /dev/null +++ b/patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +screen: screen (screen manager with VT100/ANSI terminal emulation) +screen: +screen: Screen is a full-screen window manager that multiplexes a physical +screen: terminal between several processes (typically interactive shells). +screen: Each virtual terminal provides the functions of a DEC VT100 terminal +screen: and several control functions from the ISO 6492 (ECMA 48, ANSI X3.64) +screen: and ISO 2022 standards (e.g. insert/delete line and support for +screen: multiple character sets). There is a scrollback history buffer for +screen: each virtual terminal and a copy-and-paste mechanism that allows +screen: moving text regions between windows. +screen: diff --git a/patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt b/patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..5706c71ec --- /dev/null +++ b/patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +sdl: sdl (Simple DirectMedia Layer library) +sdl: +sdl: This is the Simple DirectMedia Layer, a generic API that provides low +sdl: level access to audio, keyboard, mouse, joystick, 3D hardware via +sdl: OpenGL, and 2D framebuffer across multiple platforms. +sdl: +sdl: SDL links against alsa-lib, audiofile, esound, and the X11 libraries. +sdl: Make sure all of these are installed if you're planning to use SDL +sdl: (a full installation will cover all of the prerequisites). +sdl: +sdl: diff --git a/patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt b/patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..da07187a3 --- /dev/null +++ b/patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +seamonkey: SeaMonkey (an open-source web browser suite) +seamonkey: +seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art +seamonkey: web browser and powerful email client, as well as a WYSIWYG web page +seamonkey: composer and a feature-rich IRC chat client. +seamonkey: +seamonkey: +seamonkey: +seamonkey: Visit the SeaMonkey project at this URL: +seamonkey: http://www.mozilla.org/projects/seamonkey/ +seamonkey: diff --git a/patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt b/patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..830b825d0 --- /dev/null +++ b/patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey) +seamonkey-solibs: +seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey +seamonkey-solibs: to provide runtime support for various programs. +seamonkey-solibs: This package is built from the Seamonkey sources and is provided +seamonkey-solibs: as a standalone runtime package for people who do not want to install +seamonkey-solibs: the entire seamonkey package (as for server use). +seamonkey-solibs: +seamonkey-solibs: This package is runtime only. The include files and other files for +seamonkey-solibs: development can be found in the seamonkey package. +seamonkey-solibs: diff --git a/patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt b/patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..9f6c65dd3 --- /dev/null +++ b/patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +squashfs-tools: squashfs-tools (squashed read-only filesystem for Linux) +squashfs-tools: +squashfs-tools: Squashfs is a highly compressed read-only filesystem for Linux. +squashfs-tools: Squashfs compresses both files, inodes and directories, and +squashfs-tools: supports block sizes up to 1Mbytes for greater compression. +squashfs-tools: It is implemented as a kernel module under VFS. +squashfs-tools: The package contains tools for manipulation of squashfs bundles. +squashfs-tools: +squashfs-tools: +squashfs-tools: squashfs-tools home: http://squashfs.sourceforge.net/ +squashfs-tools: diff --git a/patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt b/patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt new file mode 100644 index 000000000..2e5c70caf --- /dev/null +++ b/patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt @@ -0,0 +1,11 @@ +stunnel: stunnel (Universal SSL tunnel) +stunnel: +stunnel: The stunnel program is designed to work as an SSL encryption wrapper +stunnel: between remote client and local (inetd-startable) or remote servers. +stunnel: The goal is to facilitate SSL encryption and authentication for +stunnel: non-SSL-aware programs. +stunnel: +stunnel: stunnel can be used to add SSL functionality to commonly used inetd +stunnel: daemons like POP-2, POP-3 and IMAP servers without any changes in the +stunnel: programs' code. +stunnel: diff --git a/patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt b/patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..7b4386899 --- /dev/null +++ b/patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +subversion: subversion (a version control system) +subversion: +subversion: Subversion is a version control system which allows you to keep old +subversion: versions of files and directories (usually source code), and keep a +subversion: log of who, when, and why changes occurred, similar to other such +subversion: systems like CVS, RCS or SCCS. Subversion keeps all the information +subversion: to permit extracting previous versions of those files at any time. +subversion: +subversion: For more information about the Subversion project, visit: +subversion: http://subversion.apache.org +subversion: diff --git a/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..1f1087d7c --- /dev/null +++ b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +sudo: sudo (give limited root privileges to certain users) +sudo: +sudo: 'sudo' is a command that allows users to execute some commands as +sudo: root. The /etc/sudoers file (edited with 'visudo') specifies which +sudo: users have access to sudo and which commands they can run. 'sudo' +sudo: logs all its activities to /var/log/ so the system administrator +sudo: can keep an eye on things. +sudo: +sudo: +sudo: +sudo: diff --git a/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..cee0ef1a1 --- /dev/null +++ b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +tcpdump: tcpdump (network monitoring tool) +tcpdump: +tcpdump: Tcpdump is a tool for network monitoring and data acquisition. You +tcpdump: can use it to dump information on all the packets on a network that +tcpdump: match a boolean expression. Tcpdump uses libpcap, a system +tcpdump: independent interface for user-level packet capture. +tcpdump: +tcpdump: Project homepage: http://www.tcpdump.org +tcpdump: +tcpdump: +tcpdump: diff --git a/patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt b/patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..cd0faad01 --- /dev/null +++ b/patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +wget: wget (a non-interactive network retriever) +wget: +wget: GNU Wget is a free network utility to retrieve files from the +wget: World Wide Web using HTTP and FTP, the two most widely used Internet +wget: protocols. It works non-interactively, thus enabling work in the +wget: background after having logged off. +wget: +wget: The author of Wget is Hrvoje Niksic . +wget: +wget: +wget: diff --git a/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..3c64dd12e --- /dev/null +++ b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +wpa_supplicant: wpa_supplicant (WPA/WPA2/IEEE 802.1X Supplicant) +wpa_supplicant: +wpa_supplicant: wpa_supplicant is a WPA Supplicant for Linux with support for WPA and +wpa_supplicant: WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE 802.1X/WPA +wpa_supplicant: component that is used in the client stations. It implements key +wpa_supplicant: negotiation with a WPA Authenticator and it controls the roaming and +wpa_supplicant: IEEE 802.11 authentication/association of the wlan driver. +wpa_supplicant: +wpa_supplicant: More info: http://hostap.epitest.fi/wpa_supplicant/ +wpa_supplicant: +wpa_supplicant: diff --git a/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..fa3bc6268 --- /dev/null +++ b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +xfce4-weather-plugin: xfce4-weather-plugin (weather plugin for the Xfce panel) +xfce4-weather-plugin: +xfce4-weather-plugin: The weather plugin displays current weather conditions and forecasts. +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: diff --git a/patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..1ebe1b270 --- /dev/null +++ b/patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +xorg-server: xorg-server (The Xorg server, the core of the X Window System) +xorg-server: +xorg-server: Xorg is a full featured X server that was originally designed for UNIX +xorg-server: and UNIX-like operating systems running on Intel x86 hardware. It now +xorg-server: runs on a wider range of hardware and OS platforms. This work was +xorg-server: derived by the X.Org Foundation from the XFree86 Project's XFree86 +xorg-server: 4.4rc2 release. The XFree86 release was originally derived from X386 +xorg-server: 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics +xorg-server: Consulting Service. +xorg-server: +xorg-server: The home page for the X project is: http://www.x.org diff --git a/patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..2ffb35f60 --- /dev/null +++ b/patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +xorg-server-xephyr: xorg-server-xephyr (Improved nested X server/client) +xorg-server-xephyr: +xorg-server-xephyr: Xephyr is a nested X-Client like Xnest, but with some additional +xorg-server-xephyr: features like XRender support. +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: diff --git a/patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..31dc1e78e --- /dev/null +++ b/patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +xorg-server-xnest: xorg-server-xnest (a nested X server) +xorg-server-xnest: +xorg-server-xnest: Xnest is an experimental nested server for X that acts as both a +xorg-server-xnest: client and a server. Xnest is a client of the real server which +xorg-server-xnest: manages windows and graphics requests on its behalf. Xnest is a +xorg-server-xnest: server to its own clients. Xnest manages windows and graphics +xorg-server-xnest: requests on their behalf. To these clients Xnest appears to be a +xorg-server-xnest: conventional server. +xorg-server-xnest: +xorg-server-xnest: +xorg-server-xnest: diff --git a/patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt new file mode 100644 index 000000000..3a7122df2 --- /dev/null +++ b/patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt @@ -0,0 +1,11 @@ +xorg-server-xvfb: xorg-server-xvfb (virtual framebuffer X server) +xorg-server-xvfb: +xorg-server-xvfb: Xvfb is an X server that can run on machines with no display hardware +xorg-server-xvfb: and no physical input devices. It emulates a dumb framebuffer using +xorg-server-xvfb: virtual memory. The primary use of this server is intended to be +xorg-server-xvfb: server testing. The mfb or cfb code for any depth can be exercised +xorg-server-xvfb: with this server without the need for real hardware that supports the +xorg-server-xvfb: desired depths. A secondary use is testing clients against unusual +xorg-server-xvfb: depths and screen configurations. +xorg-server-xvfb: +xorg-server-xvfb: diff --git a/patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt new file mode 100644 index 000000000..62dcff517 --- /dev/null +++ b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt @@ -0,0 +1,11 @@ +xscreensaver: xscreensaver (a screen saver and locker for X) +xscreensaver: +xscreensaver: A modular screen saver and locker for the X Window System. Highly +xscreensaver: customizable: allows the use of any program that can draw on the +xscreensaver: root window as a display mode. More than 100 display modes are +xscreensaver: included in this package. +xscreensaver: +xscreensaver: Homepage: http://www.jwz.org/xscreensaver +xscreensaver: +xscreensaver: +xscreensaver: diff --git a/patches/source/NetworkManager/55NetworkManager b/patches/source/NetworkManager/55NetworkManager new file mode 100644 index 000000000..d7b3ee6ae --- /dev/null +++ b/patches/source/NetworkManager/55NetworkManager @@ -0,0 +1,39 @@ +#!/bin/sh +# If we are running NetworkManager, tell it we are going to sleep. + +. "${PM_FUNCTIONS}" + +suspend_nm() +{ + # Tell NetworkManager to shut down networking + printf "Having NetworkManager put all interaces to sleep..." + dbus_send --system --print-reply \ + --dest=org.freedesktop.NetworkManager \ + /org/freedesktop/NetworkManager \ + org.freedesktop.NetworkManager.Sleep \ + boolean:true && \ + echo Done. || echo Failed. +} + +resume_nm() +{ + # Wake up NetworkManager and make it do a new connection + printf "Having NetworkManager wake interfaces back up..." + dbus_send --system --print-reply \ + --dest=org.freedesktop.NetworkManager \ + /org/freedesktop/NetworkManager \ + org.freedesktop.NetworkManager.Sleep \ + boolean:false && \ + echo Done. || echo Failed. +} + +case "$1" in + hibernate|suspend) + suspend_nm + ;; + thaw|resume) + resume_nm + ;; + *) exit $NA + ;; +esac diff --git a/patches/source/NetworkManager/NetworkManager.SlackBuild b/patches/source/NetworkManager/NetworkManager.SlackBuild new file mode 100755 index 000000000..ae5dc7caf --- /dev/null +++ b/patches/source/NetworkManager/NetworkManager.SlackBuild @@ -0,0 +1,181 @@ +#!/bin/sh + +# Copyright 2010, 2011, 2014, 2016 Robby Workman, Northport, Alabama, USA +# Copyright 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2011, 2012 by Eric Hameleers, Eindhoven, NL + +PKGNAM=NetworkManager +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i586 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Find the version number for pppd, used to specify the plugin directory: +PPPD=$(echo /usr/lib${LIBDIRSUFFIX}/pppd/?.?.? | rev | cut -f 1 -d / | rev) + +# Apply bugfix patches from upstream git: +for dfile in $CWD/patches/* ; do + zcat $dfile | patch -p1 --verbose || exit 1 +done + +# For git-patched builds +autoreconf -vif +automake +./autogen.sh + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --with-udev-dir=/lib/udev \ + --with-pppd-plugin-dir=/usr/lib${LIBDIRSUFFIX}/pppd/$PPPD \ + --with-crypto=nss \ + --enable-more-warnings=no \ + --without-resolvconf \ + --with-dhcpcd=/sbin/dhcpcd \ + --with-dhclient=yes \ + --with-modem-manager-1=yes \ + --with-nmtui=yes \ + --disable-vala \ + --disable-json-validation \ + --with-session-tracking=consolekit \ + --with-suspend-resume=consolekit \ + --with-hostname-persist=slackware \ + --build=$TARGET || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Fix hardlinked manpages: +( cd $PKG/usr/man/man1 + ln -sf nmtui.1 nmtui-connect.1 + ln -sf nmtui.1 nmtui-edit.1 + ln -sf nmtui.1 nmtui-hostname.1 +) + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +# In case NetworkManager tries to install something here: +rm -f $PKG/etc/rc.d/rc.networkmanager + +# Don't clobber existing rc.networkmanager +# Don't run NetworkManager by default just because it got installed. +# Instead, the init script will have to be made executable first. +# This should avoid nasty surprises on potentially remotely located machines. +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.networkmanager > $PKG/etc/rc.d/rc.networkmanager.new +chmod 0644 $PKG/etc/rc.d/rc.networkmanager.new + +# Add the pm-utils hook back in +# xfce4-power-manager needs to be built *without* NM support +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/ +cat $CWD/55NetworkManager > $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager +chmod 0755 $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager + +# Add default (plain) config file to enable keyfile plugin +cat $CWD/NetworkManager.conf > $PKG/etc/NetworkManager/NetworkManager.conf.new + +# Set dhcp client to "dhcpcd" and rc-manager to "file" by default +mkdir -p $PKG/etc/NetworkManager/conf.d +cat $CWD/conf.d/00-dhcp-client.conf > $PKG/etc/NetworkManager/conf.d/00-dhcp-client.conf.new +cat $CWD/conf.d/00-rc-manager.conf > $PKG/etc/NetworkManager/conf.d/00-rc-manager.conf.new + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS CONTRIBUTING COPYING ChangeLog INSTALL NEWS README TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog + touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg --prepend -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/NetworkManager/NetworkManager.conf b/patches/source/NetworkManager/NetworkManager.conf new file mode 100644 index 000000000..eb8f6ae19 --- /dev/null +++ b/patches/source/NetworkManager/NetworkManager.conf @@ -0,0 +1,7 @@ +# /etc/NetworkManager/NetworkManager.conf +# +# See additional config files (such as for DHCP settings) in ./conf.d + +[main] +plugins=keyfile + diff --git a/patches/source/NetworkManager/conf.d/00-dhcp-client.conf b/patches/source/NetworkManager/conf.d/00-dhcp-client.conf new file mode 100644 index 000000000..7b52815f9 --- /dev/null +++ b/patches/source/NetworkManager/conf.d/00-dhcp-client.conf @@ -0,0 +1,8 @@ +[main] +# Choose a DHCP client below. Upstream recommends dhclient, but results may vary. +# dhcpcd is the DHCP client usually used by Slackware: +dhcp=dhcpcd +# dhclient is the ISC reference DHCP client, part of the dhcp package: +#dhcp=dhclient +# This is a simple DHCP client that is built into NetworkManager: +#dhcp=internal diff --git a/patches/source/NetworkManager/conf.d/00-rc-manager.conf b/patches/source/NetworkManager/conf.d/00-rc-manager.conf new file mode 100644 index 000000000..c848c0039 --- /dev/null +++ b/patches/source/NetworkManager/conf.d/00-rc-manager.conf @@ -0,0 +1,2 @@ +[main] +rc-manager=file diff --git a/patches/source/NetworkManager/doinst.sh b/patches/source/NetworkManager/doinst.sh new file mode 100644 index 000000000..6c88b8cf5 --- /dev/null +++ b/patches/source/NetworkManager/doinst.sh @@ -0,0 +1,42 @@ + +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + mv ${NEW} ${OLD} +} + +if [ -e etc/HOSTNAME ]; then + sed -i "s,yourhostname,$(cat etc/HOSTNAME | cut -f1 -d .)," \ + etc/NetworkManager/NetworkManager.conf.new +fi + +# Preserve permissions, but move this into place. Otherwise the net +# connection could be lost at a remote location. +preserve_perms etc/rc.d/rc.networkmanager.new +config etc/NetworkManager/NetworkManager.conf.new +config etc/NetworkManager/conf.d/00-rc-manager.conf.new +config etc/NetworkManager/conf.d/00-dhcp-client.conf.new + +# If the .pid file is found in the old location, move it to the new one: +if [ -r var/run/NetworkManager.pid ]; then + mv var/run/NetworkManager.pid var/run/NetworkManager/NetworkManager.pid +fi + diff --git a/patches/source/NetworkManager/rc.networkmanager b/patches/source/NetworkManager/rc.networkmanager new file mode 100644 index 000000000..b6b311ed1 --- /dev/null +++ b/patches/source/NetworkManager/rc.networkmanager @@ -0,0 +1,113 @@ +#!/bin/sh +# +# NetworkManager: NetworkManager daemon +# +# description: This is a daemon for automatically switching network \ +# connections to the best available connection. \ +# +# processname: NetworkManager +# pidfile: /var/run/NetworkManager/NetworkManager.pid +# + +prefix=/usr +exec_prefix=/usr +sbindir=${exec_prefix}/sbin + +NETWORKMANAGER_BIN=${sbindir}/NetworkManager + +# Sanity checks. +[ -x $NETWORKMANAGER_BIN ] || exit 0 + +PIDFILE=/var/run/NetworkManager/NetworkManager.pid + +nm_start() +{ + if [ "`pgrep dbus-daemon`" = "" ]; then + echo "D-BUS must be running to start NetworkManager" + return + fi + + # Just in case the pidfile is still there, we may need to nuke it. + if [ -e "$PIDFILE" ]; then + rm -f $PIDFILE + fi + + echo "Starting NetworkManager daemon: $NETWORKMANAGER_BIN" + XDG_CACHE_HOME=/root/.cache $NETWORKMANAGER_BIN +} + +nm_status() +{ + local pidlist=`cat $PIDFILE 2>/dev/null` + if [ -z "$pidlist" ]; then + return 1 + fi + local command=`ps -p $pidlist -o comm=` + if [ "$command" != 'NetworkManager' ]; then + return 1 + fi +} + +nm_stop() +{ + echo -en "Stopping NetworkManager: " + # Shut down any DHCP connections, otherwise the processes will be orphaned + # and the connections will not come up when NetworkManager restarts. + if ps ax | grep /sbin/dhcpcd | grep -q libexec/nm-dhcp ; then + ps ax | grep /sbin/dhcpcd | grep libexec/nm-dhcp | while read line ; do + kill -HUP $(echo $line | cut -b 1-5) + done + fi + if ps ax | grep /sbin/dhclient | grep -q /var/lib/NetworkManager ; then + ps ax | grep /sbin/dhclient | grep /var/lib/NetworkManager | while read line ; do + kill -HUP $(echo $line | cut -b 1-5) + done + fi + local pidlist=`cat $PIDFILE 2>/dev/null` + if [ ! -z "$pidlist" ]; then + kill $pidlist &>/dev/null + sleep 3 + rm -f $PIDFILE &>/dev/null + fi + # If wpa_supplicant is running here, it needs to be shut down as well. + # Since you're asking for NetworkManager to shut down, we have to assume + # that wpa_supplicant was started by it. + if [ -r /var/run/wpa_supplicant.pid ]; then + kill $(cat /var/run/wpa_supplicant.pid) + elif [ -r /run/wpa_supplicant.pid ]; then + kill $(cat /run/wpa_supplicant.pid) + fi + echo "stopped"; + sleep 3 +} + +nm_restart() +{ + nm_stop + nm_start +} + +case "$1" in +'start') + if ( ! nm_status ); then + nm_start + else + echo "NetworkManager is already running (will not start it twice)." + fi + ;; +'stop') + nm_stop + ;; +'restart') + nm_restart + ;; +'status') + if ( nm_status ); then + echo "NetworkManager is currently running" + else + echo "NetworkManager is not running." + fi + ;; +*) + echo "usage $0 start|stop|status|restart" +esac diff --git a/patches/source/NetworkManager/slack-desc b/patches/source/NetworkManager/slack-desc new file mode 100644 index 000000000..964960480 --- /dev/null +++ b/patches/source/NetworkManager/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +NetworkManager: NetworkManager (Networking that Just Works) +NetworkManager: +NetworkManager: The point of NetworkManager is to make networking configuration and +NetworkManager: setup as painless and automatic as possible. NetworkManager sets IP +NetworkManager: addresses, default routes, associating with wireless access points +NetworkManager: or wired LANs, and other network configuration settings in a simple, +NetworkManager: automated fashion (manual overrides are still possible). +NetworkManager: +NetworkManager: Home page: http://projects.gnome.org/NetworkManager/ +NetworkManager: +NetworkManager: diff --git a/patches/source/bash/bash-4.3-patches/bash43-001 b/patches/source/bash/bash-4.3-patches/bash43-001 new file mode 100644 index 000000000..ea1c6b265 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-001 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-001 + +Bug-Reported-by: NBaH +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html + +Bug-Description: + +A missing check for a valid option prevented `test -R' from working. There +is another problem that causes bash to look up the wrong variable name when +processing the argument to `test -R'. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500 +--- test.c 2014-02-28 21:22:44.000000000 -0500 +*************** +*** 647,652 **** + + case 'R': +! v = find_variable (arg); +! return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE); + } + +--- 647,652 ---- + + case 'R': +! v = find_variable_noref (arg); +! return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE); + } + +*************** +*** 724,727 **** +--- 724,728 ---- + case 'u': case 'v': case 'w': case 'x': case 'z': + case 'G': case 'L': case 'O': case 'S': case 'N': ++ case 'R': + return (1); + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 0 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-002 b/patches/source/bash/bash-4.3-patches/bash43-002 new file mode 100644 index 000000000..735b7b81a --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-002 @@ -0,0 +1,62 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-002 + +Bug-Reported-by: Moe Tunes +Bug-Reference-ID: <53103F49.3070100@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00086.html + +Bug-Description: + +A change to save state while running the DEBUG trap caused pipelines to hang +on systems which need process group synchronization while building pipelines. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500 +--- trap.c 2014-02-28 09:51:43.000000000 -0500 +*************** +*** 921,925 **** + + #if defined (JOB_CONTROL) +! save_pipeline (1); /* XXX only provides one save level */ + #endif + +--- 921,926 ---- + + #if defined (JOB_CONTROL) +! if (sig != DEBUG_TRAP) /* run_debug_trap does this */ +! save_pipeline (1); /* XXX only provides one save level */ + #endif + +*************** +*** 941,945 **** + + #if defined (JOB_CONTROL) +! restore_pipeline (1); + #endif + +--- 942,947 ---- + + #if defined (JOB_CONTROL) +! if (sig != DEBUG_TRAP) /* run_debug_trap does this */ +! restore_pipeline (1); + #endif + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-003 b/patches/source/bash/bash-4.3-patches/bash43-003 new file mode 100644 index 000000000..0f32f410d --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-003 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-003 + +Bug-Reported-by: Anatol Pomozov +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html + +Bug-Description: + +When in callback mode, some readline commands can cause readline to seg +fault by passing invalid contexts to callback functions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 +--- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400 +*************** +*** 745,749 **** + + RL_CHECK_SIGNALS (); +! if (r == 0) /* success! */ + { + _rl_keyseq_chain_dispose (); +--- 745,750 ---- + + RL_CHECK_SIGNALS (); +! /* We only treat values < 0 specially to simulate recursion. */ +! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ + { + _rl_keyseq_chain_dispose (); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-004 b/patches/source/bash/bash-4.3-patches/bash43-004 new file mode 100644 index 000000000..010f04a2a --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-004 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-004 + +Bug-Reported-by: Daan van Rossum +Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu> +Bug-Reference-URL: + +Bug-Description: + +The `.' command in vi mode cannot undo multi-key commands beginning with +`c', `d', and `y' (command plus motion specifier). + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 +--- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500 +*************** +*** 965,969 **** + if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && + key != ANYOTHERKEY && +! rl_key_sequence_length == 1 && /* XXX */ + _rl_vi_textmod_command (key)) + _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); +--- 965,969 ---- + if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && + key != ANYOTHERKEY && +! _rl_dispatching_keymap == vi_movement_keymap && + _rl_vi_textmod_command (key)) + _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-005 b/patches/source/bash/bash-4.3-patches/bash43-005 new file mode 100644 index 000000000..bcd40697c --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-005 @@ -0,0 +1,63 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-005 + +Bug-Reported-by: David Sines +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00037.html + +Bug-Description: + +When in Posix mode, bash did not correctly interpret the ANSI-C-style +$'...' quoting mechanism when performing pattern substitution word +expansions within double quotes. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/parse.y 2014-02-11 09:42:10.000000000 -0500 +--- parse.y 2014-03-07 20:57:15.000000000 -0500 +*************** +*** 3399,3403 **** + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +--- 3399,3403 ---- + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +*** ../bash-4.3/y.tab.c 2014-02-11 10:57:47.000000000 -0500 +--- y.tab.c 2014-03-28 10:41:15.000000000 -0400 +*************** +*** 5711,5715 **** + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +--- 5711,5715 ---- + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-006 b/patches/source/bash/bash-4.3-patches/bash43-006 new file mode 100644 index 000000000..24ff057a5 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-006 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-006 + +Bug-Reported-by: Eduardo A . Bustamante Lopez +Bug-Reference-ID: <20140228170013.GA16015@dualbus.me> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00091.html + +Bug-Description: + +A shell that started with job control active but was not interactive left +the terminal in the wrong process group when exiting, causing its parent +shell to get a stop signal when it attempted to read from the terminal. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500 +--- jobs.c 2014-03-02 18:05:09.000000000 -0500 +*************** +*** 4375,4379 **** + end_job_control () + { +! if (interactive_shell) /* XXX - should it be interactive? */ + { + terminate_stopped_jobs (); +--- 4375,4379 ---- + end_job_control () + { +! if (interactive_shell || job_control) /* XXX - should it be just job_control? */ + { + terminate_stopped_jobs (); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-007 b/patches/source/bash/bash-4.3-patches/bash43-007 new file mode 100644 index 000000000..0d62c9ec6 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-007 @@ -0,0 +1,50 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-007 + +Bug-Reported-by: geir.hauge@gmail.com +Bug-Reference-ID: <20140318093650.B181C1C5B0B@gina.itea.ntnu.no> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html + +Bug-Description: + +Using compound assignments for associative arrays like + +assoc=( [x]= [y]=bar ) + +left the value corresponding to the key `x' NULL. This caused subsequent +lookups to interpret it as unset. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400 +--- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400 +*************** +*** 598,601 **** +--- 598,606 ---- + { + val = expand_assignment_string_to_string (val, 0); ++ if (val == 0) ++ { ++ val = (char *)xmalloc (1); ++ val[0] = '\0'; /* like do_assignment_internal */ ++ } + free_val = 1; + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-008 b/patches/source/bash/bash-4.3-patches/bash43-008 new file mode 100644 index 000000000..0ae7c9522 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-008 @@ -0,0 +1,188 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-008 + +Bug-Reported-by: Stephane Chazelas +Bug-Reference-ID: <20140318135901.GB22158@chaz.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html + +Bug-Description: + +Some extended glob patterns incorrectly matched filenames with a leading +dot, regardless of the setting of the `dotglob' option. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 +--- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400 +*************** +*** 211,214 **** +--- 211,215 ---- + case '!': + case '@': ++ case '?': + return (pat[1] == LPAREN); + default: +*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 +--- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400 +*************** +*** 180,202 **** + int flags; + { +! char *pp, *pe, *t; +! int n, r; + + pp = pat + 2; +! pe = pp + strlen (pp) - 1; /*(*/ +! if (*pe != ')') +! return 0; +! if ((t = strchr (pp, '|')) == 0) /* easy case first */ + { + *pe = '\0'; + r = skipname (pp, dname, flags); /*(*/ + *pe = ')'; + return r; + } + while (t = glob_patscan (pp, pe, '|')) + { + n = t[-1]; + t[-1] = '\0'; + r = skipname (pp, dname, flags); + t[-1] = n; + if (r == 0) /* if any pattern says not skip, we don't skip */ +--- 180,215 ---- + int flags; + { +! char *pp, *pe, *t, *se; +! int n, r, negate; + ++ negate = *pat == '!'; + pp = pat + 2; +! se = pp + strlen (pp) - 1; /* end of string */ +! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ +! /* we should check for invalid extglob pattern here */ +! /* if pe != se we have more of the pattern at the end of the extglob +! pattern. Check the easy case first ( */ +! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0) + { + *pe = '\0'; ++ #if defined (HANDLE_MULTIBYTE) ++ r = mbskipname (pp, dname, flags); ++ #else + r = skipname (pp, dname, flags); /*(*/ ++ #endif + *pe = ')'; + return r; + } ++ ++ /* check every subpattern */ + while (t = glob_patscan (pp, pe, '|')) + { + n = t[-1]; + t[-1] = '\0'; ++ #if defined (HANDLE_MULTIBYTE) ++ r = mbskipname (pp, dname, flags); ++ #else + r = skipname (pp, dname, flags); ++ #endif + t[-1] = n; + if (r == 0) /* if any pattern says not skip, we don't skip */ +*************** +*** 205,219 **** + } /*(*/ + +! if (pp == pe) /* glob_patscan might find end of pattern */ + return r; + +! *pe = '\0'; +! # if defined (HANDLE_MULTIBYTE) +! r = mbskipname (pp, dname, flags); /*(*/ +! # else +! r = skipname (pp, dname, flags); /*(*/ +! # endif +! *pe = ')'; +! return r; + } + #endif +--- 218,227 ---- + } /*(*/ + +! /* glob_patscan might find end of pattern */ +! if (pp == se) + return r; + +! /* but if it doesn't then we didn't match a leading dot */ +! return 0; + } + #endif +*************** +*** 278,289 **** + { + #if EXTENDED_GLOB +! wchar_t *pp, *pe, *t, n; +! int r; + + pp = pat + 2; +! pe = pp + wcslen (pp) - 1; /*(*/ +! if (*pe != L')') +! return 0; +! if ((t = wcschr (pp, L'|')) == 0) + { + *pe = L'\0'; +--- 286,298 ---- + { + #if EXTENDED_GLOB +! wchar_t *pp, *pe, *t, n, *se; +! int r, negate; + ++ negate = *pat == L'!'; + pp = pat + 2; +! se = pp + wcslen (pp) - 1; /*(*/ +! pe = glob_patscan_wc (pp, se, 0); +! +! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0) + { + *pe = L'\0'; +*************** +*** 292,295 **** +--- 301,306 ---- + return r; + } ++ ++ /* check every subpattern */ + while (t = glob_patscan_wc (pp, pe, '|')) + { +*************** +*** 306,313 **** + return r; + +! *pe = L'\0'; +! r = wchkname (pp, dname); /*(*/ +! *pe = L')'; +! return r; + #else + return (wchkname (pat, dname)); +--- 317,322 ---- + return r; + +! /* but if it doesn't then we didn't match a leading dot */ +! return 0; + #else + return (wchkname (pat, dname)); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-009 b/patches/source/bash/bash-4.3-patches/bash43-009 new file mode 100644 index 000000000..015835cde --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-009 @@ -0,0 +1,64 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-009 + +Bug-Reported-by: Matthias Klose +Bug-Reference-ID: <53346FC8.6090005@debian.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00171.html + +Bug-Description: + +There is a problem with unsigned sign extension when attempting to reallocate +the input line when it is fewer than 3 characters long and there has been a +history expansion. The sign extension causes the shell to not reallocate the +line, which results in a segmentation fault when it writes past the end. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-02-11 09:42:10.000000000 -0500 +--- parse.y 2014-03-27 16:33:29.000000000 -0400 +*************** +*** 2425,2429 **** + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +--- 2425,2429 ---- + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +*** ../bash-4.3-patched/y.tab.c 2014-03-28 11:17:06.000000000 -0400 +--- y.tab.c 2014-04-07 11:48:31.000000000 -0400 +*************** +*** 4737,4741 **** + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +--- 4737,4741 ---- + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-010 b/patches/source/bash/bash-4.3-patches/bash43-010 new file mode 100644 index 000000000..835a96ead --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-010 @@ -0,0 +1,157 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-010 + +Bug-Reported-by: Albert Shih +Bug-Reference-ID: Wed, 5 Mar 2014 23:01:40 +0100 +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00028.html + +Bug-Description: + +Patch (apply with `patch -p0'): + +This patch changes the behavior of programmable completion to compensate +for two assumptions made by the bash-completion package. Bash-4.3 changed +to dequote the argument to programmable completion only under certain +circumstances, to make the behavior of compgen more consistent when run +from the command line -- closer to the behavior when run by a shell function +run as part of programmable completion. Bash-completion can pass quoted +arguments to compgen when the original word to be completed was not quoted, +expecting programmable completion to dequote the word before attempting +completion. + +This patch fixes two cases: + +1. An empty string that bash-completion passes to compgen as a quoted null + string (''). + +2. An unquoted word that bash-completion quotes using single quotes or + backslashes before passing it to compgen. + +In these cases, since readline did not detect a quote character in the original +word to be completed, bash-4.3 + +*** ../bash-4.3/externs.h 2014-01-02 14:58:20.000000000 -0500 +--- externs.h 2014-03-13 14:42:57.000000000 -0400 +*************** +*** 325,328 **** +--- 325,329 ---- + extern char *sh_backslash_quote_for_double_quotes __P((char *)); + extern int sh_contains_shell_metas __P((char *)); ++ extern int sh_contains_quotes __P((char *)); + + /* declarations for functions defined in lib/sh/spell.c */ +*** ../bash-4.3/lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400 +--- lib/sh/shquote.c 2014-03-13 14:42:57.000000000 -0400 +*************** +*** 312,313 **** +--- 312,327 ---- + return (0); + } ++ ++ int ++ sh_contains_quotes (string) ++ char *string; ++ { ++ char *s; ++ ++ for (s = string; s && *s; s++) ++ { ++ if (*s == '\'' || *s == '"' || *s == '\\') ++ return 1; ++ } ++ return 0; ++ } +*** ../bash-4.3/pcomplete.c 2013-08-26 15:23:45.000000000 -0400 +--- pcomplete.c 2014-03-25 17:23:23.000000000 -0400 +*************** +*** 184,187 **** +--- 184,188 ---- + COMPSPEC *pcomp_curcs; + const char *pcomp_curcmd; ++ const char *pcomp_curtxt; + + #ifdef DEBUG +*************** +*** 754,757 **** +--- 755,784 ---- + dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); + } ++ /* Intended to solve a mismatched assumption by bash-completion. If ++ the text to be completed is empty, but bash-completion turns it into ++ a quoted string ('') assuming that this code will dequote it before ++ calling readline, do the dequoting. */ ++ else if (iscompgen && iscompleting && ++ pcomp_curtxt && *pcomp_curtxt == 0 && ++ text && (*text == '\'' || *text == '"') && text[1] == text[0] && text[2] == 0 && ++ rl_filename_dequoting_function) ++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); ++ /* Another mismatched assumption by bash-completion. If compgen is being ++ run as part of bash-completion, and the argument to compgen is not ++ the same as the word originally passed to the programmable completion ++ code, dequote the argument if it has quote characters. It's an ++ attempt to detect when bash-completion is quoting its filename ++ argument before calling compgen. */ ++ /* We could check whether gen_shell_function_matches is in the call ++ stack by checking whether the gen-shell-function-matches tag is in ++ the unwind-protect stack, but there's no function to do that yet. ++ We could simply check whether we're executing in a function by ++ checking variable_context, and may end up doing that. */ ++ else if (iscompgen && iscompleting && rl_filename_dequoting_function && ++ pcomp_curtxt && text && ++ STREQ (pcomp_curtxt, text) == 0 && ++ variable_context && ++ sh_contains_quotes (text)) /* guess */ ++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); + else + dfn = savestring (text); +*************** +*** 1523,1527 **** + { + COMPSPEC *cs, *oldcs; +! const char *oldcmd; + STRINGLIST *ret; + +--- 1550,1554 ---- + { + COMPSPEC *cs, *oldcs; +! const char *oldcmd, *oldtxt; + STRINGLIST *ret; + +*************** +*** 1546,1552 **** +--- 1573,1581 ---- + oldcs = pcomp_curcs; + oldcmd = pcomp_curcmd; ++ oldtxt = pcomp_curtxt; + + pcomp_curcs = cs; + pcomp_curcmd = cmd; ++ pcomp_curtxt = word; + + ret = gen_compspec_completions (cs, cmd, word, start, end, foundp); +*************** +*** 1554,1557 **** +--- 1583,1587 ---- + pcomp_curcs = oldcs; + pcomp_curcmd = oldcmd; ++ pcomp_curtxt = oldtxt; + + /* We need to conditionally handle setting *retryp here */ +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-011 b/patches/source/bash/bash-4.3-patches/bash43-011 new file mode 100644 index 000000000..cdc1572ee --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-011 @@ -0,0 +1,49 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-011 + +Bug-Reported-by: Egmont Koblinger +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html + +Bug-Description: + +The signal handling changes to bash and readline (to avoid running any code +in a signal handler context) cause the cursor to be placed on the wrong +line of a multi-line command after a ^C interrupts editing. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/readline/display.c 2013-12-27 13:10:56.000000000 -0500 +--- lib/readline/display.c 2014-03-27 11:52:45.000000000 -0400 +*************** +*** 2678,2682 **** + if (_rl_echoing_p) + { +! _rl_move_vert (_rl_vis_botlin); + _rl_vis_botlin = 0; + fflush (rl_outstream); +--- 2678,2683 ---- + if (_rl_echoing_p) + { +! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ +! _rl_move_vert (_rl_vis_botlin); + _rl_vis_botlin = 0; + fflush (rl_outstream); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-012 b/patches/source/bash/bash-4.3-patches/bash43-012 new file mode 100644 index 000000000..176fa15bd --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-012 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-012 + +Bug-Reported-by: Eduardo A. Bustamante López +Bug-Reference-ID: <5346B54C.4070205@case.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00051.html + +Bug-Description: + +When a SIGCHLD trap runs a command containing a shell builtin while +a script is running `wait' to wait for all running children to complete, +the SIGCHLD trap will not be run once for each child that terminates. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/jobs.c 2014-03-28 10:54:19.000000000 -0400 +--- jobs.c 2014-04-15 08:47:03.000000000 -0400 +*************** +*** 3598,3601 **** +--- 3598,3602 ---- + unwind_protect_pointer (the_pipeline); + unwind_protect_pointer (subst_assign_varlist); ++ unwind_protect_pointer (this_shell_builtin); + + /* We have to add the commands this way because they will be run +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-013 b/patches/source/bash/bash-4.3-patches/bash43-013 new file mode 100644 index 000000000..8f4006b48 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-013 @@ -0,0 +1,66 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-013 + +Bug-Reported-by: +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html + +Bug-Description: + +Using reverse-i-search when horizontal scrolling is enabled does not redisplay +the entire line containing the successful search results. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/lib/readline/display.c 2014-04-08 18:19:36.000000000 -0400 +--- lib/readline/display.c 2014-04-20 18:32:52.000000000 -0400 +*************** +*** 1638,1642 **** + the spot of first difference is before the end of the invisible chars, + lendiff needs to be adjusted. */ +! if (current_line == 0 && !_rl_horizontal_scroll_mode && + current_invis_chars != visible_wrap_offset) + { +--- 1638,1642 ---- + the spot of first difference is before the end of the invisible chars, + lendiff needs to be adjusted. */ +! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */ + current_invis_chars != visible_wrap_offset) + { +*************** +*** 1826,1831 **** + _rl_last_c_pos += bytes_to_insert; + + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) +! goto clear_rest_of_line; + } + } +--- 1826,1836 ---- + _rl_last_c_pos += bytes_to_insert; + ++ /* XXX - we only want to do this if we are at the end of the line ++ so we move there with _rl_move_cursor_relative */ + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) +! { +! _rl_move_cursor_relative (ne-new, new); +! goto clear_rest_of_line; +! } + } + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-014 b/patches/source/bash/bash-4.3-patches/bash43-014 new file mode 100644 index 000000000..f8371967f --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-014 @@ -0,0 +1,102 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-014 + +Bug-Reported-by: Greg Wooledge +Bug-Reference-ID: <20140418202123.GB7660@eeg.ccf.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2014-04/msg00004.html + +Bug-Description: + +Under certain circumstances, $@ is expanded incorrectly in contexts where +word splitting is not performed. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/subst.c 2014-01-23 16:26:37.000000000 -0500 +--- subst.c 2014-04-19 15:41:26.000000000 -0400 +*************** +*** 3249,3254 **** +--- 3249,3256 ---- + return ((char *)NULL); + ++ expand_no_split_dollar_star = 1; + w->flags |= W_NOSPLIT2; + l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0); ++ expand_no_split_dollar_star = 0; + if (l) + { +*************** +*** 7848,7851 **** +--- 7850,7857 ---- + according to POSIX.2, this expands to a list of the positional + parameters no matter what IFS is set to. */ ++ /* XXX - what to do when in a context where word splitting is not ++ performed? Even when IFS is not the default, posix seems to imply ++ that we behave like unquoted $* ? Maybe we should use PF_NOSPLIT2 ++ here. */ + temp = string_list_dollar_at (list, (pflags & PF_ASSIGNRHS) ? (quoted|Q_DOUBLE_QUOTES) : quoted); + +*************** +*** 8817,8820 **** +--- 8823,8827 ---- + { + char *ifs_chars; ++ char *tstring; + + ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL; +*************** +*** 8831,8834 **** +--- 8838,8865 ---- + if (split_on_spaces) + list = list_string (istring, " ", 1); /* XXX quoted == 1? */ ++ /* If we have $@ (has_dollar_at != 0) and we are in a context where we ++ don't want to split the result (W_NOSPLIT2), and we are not quoted, ++ we have already separated the arguments with the first character of ++ $IFS. In this case, we want to return a list with a single word ++ with the separator possibly replaced with a space (it's what other ++ shells seem to do). ++ quoted_dollar_at is internal to this function and is set if we are ++ passed an argument that is unquoted (quoted == 0) but we encounter a ++ double-quoted $@ while expanding it. */ ++ else if (has_dollar_at && quoted_dollar_at == 0 && ifs_chars && quoted == 0 && (word->flags & W_NOSPLIT2)) ++ { ++ /* Only split and rejoin if we have to */ ++ if (*ifs_chars && *ifs_chars != ' ') ++ { ++ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); ++ tstring = string_list (list); ++ } ++ else ++ tstring = istring; ++ tword = make_bare_word (tstring); ++ if (tstring != istring) ++ free (tstring); ++ goto set_word_flags; ++ } + else if (has_dollar_at && ifs_chars) + list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); +*************** +*** 8836,8839 **** +--- 8867,8871 ---- + { + tword = make_bare_word (istring); ++ set_word_flags: + if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED)) + tword->flags |= W_QUOTED; +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-015 b/patches/source/bash/bash-4.3-patches/bash43-015 new file mode 100644 index 000000000..9c4e5ea48 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-015 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-015 + +Bug-Reported-by: Clark Wang +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00095.html + +Bug-Description: + +When completing directory names, the directory name is dequoted twice. +This causes problems for directories with single and double quotes in +their names. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/bashline.c 2014-02-09 19:56:58.000000000 -0500 +--- bashline.c 2014-04-25 14:57:52.000000000 -0400 +*************** +*** 4168,4174 **** + + qc = rl_dispatching ? rl_completion_quote_character : 0; +! dfn = bash_dequote_filename ((char *)text, qc); + m1 = rl_completion_matches (dfn, rl_filename_completion_function); +! free (dfn); + + if (m1 == 0 || m1[0] == 0) +--- 4209,4222 ---- + + qc = rl_dispatching ? rl_completion_quote_character : 0; +! /* If rl_completion_found_quote != 0, rl_completion_matches will call the +! filename dequoting function, causing the directory name to be dequoted +! twice. */ +! if (rl_dispatching && rl_completion_found_quote == 0) +! dfn = bash_dequote_filename ((char *)text, qc); +! else +! dfn = (char *)text; + m1 = rl_completion_matches (dfn, rl_filename_completion_function); +! if (dfn != text) +! free (dfn); + + if (m1 == 0 || m1[0] == 0) +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-016 b/patches/source/bash/bash-4.3-patches/bash43-016 new file mode 100644 index 000000000..882d5939b --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-016 @@ -0,0 +1,132 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-016 + +Bug-Reported-by: Pierre Gaston +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00100.html + +Bug-Description: + +An extended glob pattern containing a slash (`/') causes the globbing code +to misinterpret it as a directory separator. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/lib/glob/glob.c 2014-03-28 10:54:23.000000000 -0400 +--- lib/glob/glob.c 2014-05-02 10:24:28.000000000 -0400 +*************** +*** 124,127 **** +--- 124,129 ---- + extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int)); + ++ extern char *glob_dirscan __P((char *, int)); ++ + /* Compile `glob_loop.c' for single-byte characters. */ + #define CHAR unsigned char +*************** +*** 188,191 **** +--- 190,196 ---- + pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ + /* we should check for invalid extglob pattern here */ ++ if (pe == 0) ++ return 0; ++ + /* if pe != se we have more of the pattern at the end of the extglob + pattern. Check the easy case first ( */ +*************** +*** 1016,1020 **** + char **result; + unsigned int result_size; +! char *directory_name, *filename, *dname; + unsigned int directory_len; + int free_dirname; /* flag */ +--- 1021,1025 ---- + char **result; + unsigned int result_size; +! char *directory_name, *filename, *dname, *fn; + unsigned int directory_len; + int free_dirname; /* flag */ +*************** +*** 1032,1035 **** +--- 1037,1052 ---- + /* Find the filename. */ + filename = strrchr (pathname, '/'); ++ #if defined (EXTENDED_GLOB) ++ if (filename && extended_glob) ++ { ++ fn = glob_dirscan (pathname, '/'); ++ #if DEBUG_MATCHING ++ if (fn != filename) ++ fprintf (stderr, "glob_filename: glob_dirscan: fn (%s) != filename (%s)\n", fn ? fn : "(null)", filename); ++ #endif ++ filename = fn; ++ } ++ #endif ++ + if (filename == NULL) + { +*** ../bash-4.3-patched/lib/glob/gmisc.c 2014-03-28 10:54:23.000000000 -0400 +--- lib/glob/gmisc.c 2014-05-02 09:35:57.000000000 -0400 +*************** +*** 43,46 **** +--- 43,48 ---- + #define WRPAREN L')' + ++ extern char *glob_patscan __P((char *, char *, int)); ++ + /* Return 1 of the first character of WSTRING could match the first + character of pattern WPAT. Wide character version. */ +*************** +*** 376,377 **** +--- 378,410 ---- + return matlen; + } ++ ++ /* Skip characters in PAT and return the final occurrence of DIRSEP. This ++ is only called when extended_glob is set, so we have to skip over extglob ++ patterns x(...) */ ++ char * ++ glob_dirscan (pat, dirsep) ++ char *pat; ++ int dirsep; ++ { ++ char *p, *d, *pe, *se; ++ ++ d = pe = se = 0; ++ for (p = pat; p && *p; p++) ++ { ++ if (extglob_pattern_p (p)) ++ { ++ if (se == 0) ++ se = p + strlen (p) - 1; ++ pe = glob_patscan (p + 2, se, 0); ++ if (pe == 0) ++ continue; ++ else if (*pe == 0) ++ break; ++ p = pe - 1; /* will do increment above */ ++ continue; ++ } ++ if (*p == dirsep) ++ d = p; ++ } ++ return d; ++ } + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-017 b/patches/source/bash/bash-4.3-patches/bash43-017 new file mode 100644 index 000000000..4016fb934 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-017 @@ -0,0 +1,51 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-017 + +Bug-Reported-by: Dan Douglas +Bug-Reference-ID: <7781746.RhfoTROLxF@smorgbox> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00026.html + +Bug-Description: + +The code that creates local variables should not clear the `invisible' +attribute when returning an existing local variable. Let the code that +actually assigns a value clear it. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/variables.c 2014-02-14 11:55:12.000000000 -0500 +--- variables.c 2014-05-07 10:53:57.000000000 -0400 +*************** +*** 2198,2205 **** + old_var = find_variable (name); + if (old_var && local_p (old_var) && old_var->context == variable_context) +! { +! VUNSETATTR (old_var, att_invisible); /* XXX */ +! return (old_var); +! } + + was_tmpvar = old_var && tempvar_p (old_var); +--- 2260,2264 ---- + old_var = find_variable (name); + if (old_var && local_p (old_var) && old_var->context == variable_context) +! return (old_var); + + was_tmpvar = old_var && tempvar_p (old_var); + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-018 b/patches/source/bash/bash-4.3-patches/bash43-018 new file mode 100644 index 000000000..39499f663 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-018 @@ -0,0 +1,44 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-018 + +Bug-Reported-by: Geir Hauge +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00040.html + +Bug-Description: + +When assigning an array variable using the compound assignment syntax, +but using `declare' with the rhs of the compound assignment quoted, the +shell did not mark the variable as visible after successfully performing +the assignment. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/arrayfunc.c 2014-03-28 10:54:21.000000000 -0400 +--- arrayfunc.c 2014-05-12 11:19:00.000000000 -0400 +*************** +*** 180,183 **** +--- 180,184 ---- + FREE (newval); + ++ VUNSETATTR (entry, att_invisible); /* no longer invisible */ + return (entry); + } + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-019 b/patches/source/bash/bash-4.3-patches/bash43-019 new file mode 100644 index 000000000..a93714beb --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-019 @@ -0,0 +1,84 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-019 + +Bug-Reported-by: John Lenton +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476 + +Bug-Description: + +The -t timeout option to `read' does not work when the -e option is used. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/readline/input.c 2014-01-10 15:07:08.000000000 -0500 +--- lib/readline/input.c 2014-05-22 18:40:59.000000000 -0400 +*************** +*** 535,540 **** +--- 538,551 ---- + else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) + return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); ++ /* keyboard-generated signals of interest */ + else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) + RL_CHECK_SIGNALS (); ++ /* non-keyboard-generated signals of interest */ ++ else if (_rl_caught_signal == SIGALRM ++ #if defined (SIGVTALRM) ++ || _rl_caught_signal == SIGVTALRM ++ #endif ++ ) ++ RL_CHECK_SIGNALS (); + + if (rl_signal_event_hook) +*** ../bash-4.3-patched/builtins/read.def 2013-09-02 11:54:00.000000000 -0400 +--- builtins/read.def 2014-05-08 11:43:35.000000000 -0400 +*************** +*** 443,447 **** + #if defined (READLINE) + if (edit) +! add_unwind_protect (reset_attempted_completion_function, (char *)NULL); + #endif + falarm (tmsec, tmusec); +--- 443,450 ---- + #if defined (READLINE) + if (edit) +! { +! add_unwind_protect (reset_attempted_completion_function, (char *)NULL); +! add_unwind_protect (bashline_reset_event_hook, (char *)NULL); +! } + #endif + falarm (tmsec, tmusec); +*************** +*** 1022,1025 **** +--- 1025,1029 ---- + old_attempted_completion_function = rl_attempted_completion_function; + rl_attempted_completion_function = (rl_completion_func_t *)NULL; ++ bashline_set_event_hook (); + if (itext) + { +*************** +*** 1033,1036 **** +--- 1037,1041 ---- + rl_attempted_completion_function = old_attempted_completion_function; + old_attempted_completion_function = (rl_completion_func_t *)NULL; ++ bashline_reset_event_hook (); + + if (ret == 0) +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-020 b/patches/source/bash/bash-4.3-patches/bash43-020 new file mode 100644 index 000000000..5f533ef8d --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-020 @@ -0,0 +1,110 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-020 + +Bug-Reported-by: Jared Yanovich +Bug-Reference-ID: <20140417073654.GB26875@nightderanger.psc.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00065.html + +Bug-Description: + +When PS2 contains a command substitution, here-documents entered in an +interactive shell can sometimes cause a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500 +--- shell.h 2014-06-03 09:24:28.000000000 -0400 +*************** +*** 169,173 **** + int expand_aliases; + int echo_input_at_read; +! + } sh_parser_state_t; + +--- 169,174 ---- + int expand_aliases; + int echo_input_at_read; +! int need_here_doc; +! + } sh_parser_state_t; + +*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400 +--- parse.y 2014-04-30 09:27:59.000000000 -0400 +*************** +*** 2643,2647 **** + + r = 0; +! while (need_here_doc) + { + parser_state |= PST_HEREDOC; +--- 2643,2647 ---- + + r = 0; +! while (need_here_doc > 0) + { + parser_state |= PST_HEREDOC; +*************** +*** 6076,6079 **** +--- 6076,6080 ---- + ps->expand_aliases = expand_aliases; + ps->echo_input_at_read = echo_input_at_read; ++ ps->need_here_doc = need_here_doc; + + ps->token = token; +*************** +*** 6124,6127 **** +--- 6125,6129 ---- + expand_aliases = ps->expand_aliases; + echo_input_at_read = ps->echo_input_at_read; ++ need_here_doc = ps->need_here_doc; + + FREE (token); +*** ../bash-4.3-patched/y.tab.c 2014-04-07 11:56:12.000000000 -0400 +--- y.tab.c 2014-07-30 09:55:57.000000000 -0400 +*************** +*** 4955,4959 **** + + r = 0; +! while (need_here_doc) + { + parser_state |= PST_HEREDOC; +--- 5151,5155 ---- + + r = 0; +! while (need_here_doc > 0) + { + parser_state |= PST_HEREDOC; +*************** +*** 8388,8391 **** +--- 8584,8588 ---- + ps->expand_aliases = expand_aliases; + ps->echo_input_at_read = echo_input_at_read; ++ ps->need_here_doc = need_here_doc; + + ps->token = token; +*************** +*** 8436,8439 **** +--- 8633,8637 ---- + expand_aliases = ps->expand_aliases; + echo_input_at_read = ps->echo_input_at_read; ++ need_here_doc = ps->need_here_doc; + + FREE (token); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-021 b/patches/source/bash/bash-4.3-patches/bash43-021 new file mode 100644 index 000000000..fd1c945ec --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-021 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-021 + +Bug-Reported-by: Jared Yanovich +Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html + +Bug-Description: + +When the readline `revert-all-at-newline' option is set, pressing newline +when the current line is one retrieved from history results in a double free +and a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400 +--- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400 +*************** +*** 462,465 **** +--- 462,466 ---- + /* Set up rl_line_buffer and other variables from history entry */ + rl_replace_from_history (entry, 0); /* entry->line is now current */ ++ entry->data = 0; /* entry->data is now current undo list */ + /* Undo all changes to this history entry */ + while (rl_undo_list) +*************** +*** 469,473 **** + FREE (entry->line); + entry->line = savestring (rl_line_buffer); +- entry->data = 0; + } + entry = previous_history (); +--- 470,473 ---- + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-022 b/patches/source/bash/bash-4.3-patches/bash43-022 new file mode 100644 index 000000000..7ce39ec0a --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-022 @@ -0,0 +1,56 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-022 + +Bug-Reported-by: scorp.dev.null@gmail.com +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00061.html + +Bug-Description: + +Using nested pipelines within loops with the `lastpipe' option set can result +in a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500 +--- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400 +*************** +*** 2410,2414 **** + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) +! exec_result = job_exit_status (lastpipe_jid); + #endif + unfreeze_jobs_list (); +--- 2425,2438 ---- + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) +! /* If wait_for removes the job from the jobs table, use result of last +! command as pipeline's exit status as usual. The jobs list can get +! frozen and unfrozen at inconvenient times if there are multiple pipelines +! running simultaneously. */ +! if (INVALID_JOB (lastpipe_jid) == 0) +! exec_result = job_exit_status (lastpipe_jid); +! else if (pipefail_opt) +! exec_result = exec_result | lstdin; /* XXX */ +! /* otherwise we use exec_result */ +! + #endif + unfreeze_jobs_list (); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-023 b/patches/source/bash/bash-4.3-patches/bash43-023 new file mode 100644 index 000000000..d1e4e9d7c --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-023 @@ -0,0 +1,104 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-023 + +Bug-Reported-by: Tim Friske +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html + +Bug-Description: + +Bash does not correctly parse process substitution constructs that contain +unbalanced parentheses as part of the contained command. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 +--- subst.h 2014-07-20 17:25:01.000000000 -0400 +*************** +*** 83,87 **** + Start extracting at (SINDEX) as if we had just seen "<(". + Make (SINDEX) get the position just after the matching ")". */ +! extern char *extract_process_subst __P((char *, char *, int *)); + #endif /* PROCESS_SUBSTITUTION */ + +--- 83,87 ---- + Start extracting at (SINDEX) as if we had just seen "<(". + Make (SINDEX) get the position just after the matching ")". */ +! extern char *extract_process_subst __P((char *, char *, int *, int)); + #endif /* PROCESS_SUBSTITUTION */ + +*** ../bash-4.3-patched/subst.c 2014-05-15 08:26:45.000000000 -0400 +--- subst.c 2014-07-20 17:26:44.000000000 -0400 +*************** +*** 1193,1202 **** + Make (SINDEX) get the position of the matching ")". */ /*))*/ + char * +! extract_process_subst (string, starter, sindex) + char *string; + char *starter; + int *sindex; + { + return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND)); + } + #endif /* PROCESS_SUBSTITUTION */ +--- 1193,1208 ---- + Make (SINDEX) get the position of the matching ")". */ /*))*/ + char * +! extract_process_subst (string, starter, sindex, xflags) + char *string; + char *starter; + int *sindex; ++ int xflags; + { ++ #if 0 + return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND)); ++ #else ++ xflags |= (no_longjmp_on_fatal_error ? SX_NOLONGJMP : 0); ++ return (xparse_dolparen (string, string+*sindex, sindex, xflags)); ++ #endif + } + #endif /* PROCESS_SUBSTITUTION */ +*************** +*** 1786,1790 **** + if (string[si] == '\0') + CQ_RETURN(si); +! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si); + free (temp); /* no SX_ALLOC here */ + i = si; +--- 1792,1796 ---- + if (string[si] == '\0') + CQ_RETURN(si); +! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si, 0); + free (temp); /* no SX_ALLOC here */ + i = si; +*************** +*** 8250,8254 **** + t_index = sindex + 1; /* skip past both '<' and LPAREN */ + +! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/ + sindex = t_index; + +--- 8256,8260 ---- + t_index = sindex + 1; /* skip past both '<' and LPAREN */ + +! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/ + sindex = t_index; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-024 b/patches/source/bash/bash-4.3-patches/bash43-024 new file mode 100644 index 000000000..a24b8fbbc --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-024 @@ -0,0 +1,54 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-024 + +Bug-Reported-by: Corentin Peuvrel +Bug-Reference-ID: <53CE9E5D.6050203@pom-monitoring.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html + +Bug-Description: + +Indirect variable references do not work correctly if the reference +variable expands to an array reference using a subscript other than 0 +(e.g., foo='bar[1]' ; echo ${!foo}). + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.c 2014-06-03 09:32:44.000000000 -0400 +--- subst.c 2014-07-23 09:58:19.000000000 -0400 +*************** +*** 7375,7379 **** + + if (want_indir) +! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); + else + tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); +--- 7445,7455 ---- + + if (want_indir) +! { +! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); +! /* Turn off the W_ARRAYIND flag because there is no way for this function +! to return the index we're supposed to be using. */ +! if (tdesc && tdesc->flags) +! tdesc->flags &= ~W_ARRAYIND; +! } + else + tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 24 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-025 b/patches/source/bash/bash-4.3-patches/bash43-025 new file mode 100644 index 000000000..721aca030 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-025 @@ -0,0 +1,123 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-025 + +Bug-Reported-by: Stephane Chazelas +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +Under certain circumstances, bash will execute user code while processing the +environment for exported function definitions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/builtins/common.h 2013-07-08 16:54:47.000000000 -0400 +--- builtins/common.h 2014-09-12 14:25:47.000000000 -0400 +*************** +*** 34,37 **** +--- 49,54 ---- + #define SEVAL_PARSEONLY 0x020 + #define SEVAL_NOLONGJMP 0x040 ++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ ++ #define SEVAL_ONECMD 0x100 /* only allow a single command */ + + /* Flags for describe_command, shared between type.def and command.def */ +*** ../bash-4.3-patched/builtins/evalstring.c 2014-02-11 09:42:10.000000000 -0500 +--- builtins/evalstring.c 2014-09-14 14:15:13.000000000 -0400 +*************** +*** 309,312 **** +--- 313,324 ---- + struct fd_bitmap *bitmap; + ++ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) ++ { ++ internal_warning ("%s: ignoring function definition attempt", from_file); ++ should_jump_to_top_level = 0; ++ last_result = last_command_exit_value = EX_BADUSAGE; ++ break; ++ } ++ + bitmap = new_fd_bitmap (FD_BITMAP_SIZE); + begin_unwind_frame ("pe_dispose"); +*************** +*** 369,372 **** +--- 381,387 ---- + dispose_fd_bitmap (bitmap); + discard_unwind_frame ("pe_dispose"); ++ ++ if (flags & SEVAL_ONECMD) ++ break; + } + } +*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 +--- variables.c 2014-09-14 14:23:35.000000000 -0400 +*************** +*** 359,369 **** + strcpy (temp_string + char_index + 1, string); + +! if (posixly_correct == 0 || legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); +! +! /* Ancient backwards compatibility. Old versions of bash exported +! functions like name()=() {...} */ +! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') +! name[char_index - 2] = '\0'; + + if (temp_var = find_function (name)) +--- 364,372 ---- + strcpy (temp_string + char_index + 1, string); + +! /* Don't import function names that are invalid identifiers from the +! environment, though we still allow them to be defined as shell +! variables. */ +! if (legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + + if (temp_var = find_function (name)) +*************** +*** 382,389 **** + report_error (_("error importing function definition for `%s'"), name); + } +- +- /* ( */ +- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0') +- name[char_index - 2] = '('; /* ) */ + } + #if defined (ARRAY_VARS) +--- 385,388 ---- +*** ../bash-4.3-patched/subst.c 2014-08-11 11:16:35.000000000 -0400 +--- subst.c 2014-09-12 15:31:04.000000000 -0400 +*************** +*** 8048,8052 **** + goto return0; + } +! else if (var = find_variable_last_nameref (temp1)) + { + temp = nameref_cell (var); +--- 8118,8124 ---- + goto return0; + } +! else if (var && (invisible_p (var) || var_isset (var) == 0)) +! temp = (char *)NULL; +! else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0) + { + temp = nameref_cell (var); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 24 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 25 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-026 b/patches/source/bash/bash-4.3-patches/bash43-026 new file mode 100644 index 000000000..d5d5b1dd0 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-026 @@ -0,0 +1,60 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-026 + +Bug-Reported-by: Tavis Ormandy +Bug-Reference-ID: +Bug-Reference-URL: http://twitter.com/taviso/statuses/514887394294652929 + +Bug-Description: + +Under certain circumstances, bash can incorrectly save a lookahead character and +return it on a subsequent call, even when reading a new line. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.25/parse.y 2014-07-30 10:14:31.000000000 -0400 +--- parse.y 2014-09-25 20:20:21.000000000 -0400 +*************** +*** 2954,2957 **** +--- 2954,2959 ---- + word_desc_to_read = (WORD_DESC *)NULL; + ++ eol_ungetc_lookahead = 0; ++ + current_token = '\n'; /* XXX */ + last_read_token = '\n'; +*** ../bash-4.3.25/y.tab.c 2014-07-30 10:14:32.000000000 -0400 +--- y.tab.c 2014-09-25 20:21:48.000000000 -0400 +*************** +*** 5266,5269 **** +--- 5266,5271 ---- + word_desc_to_read = (WORD_DESC *)NULL; + ++ eol_ungetc_lookahead = 0; ++ + current_token = '\n'; /* XXX */ + last_read_token = '\n'; +*************** +*** 8540,8542 **** + } + #endif /* HANDLE_MULTIBYTE */ +- +--- 8542,8543 ---- +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 25 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-027 b/patches/source/bash/bash-4.3-patches/bash43-027 new file mode 100644 index 000000000..ef48bd82d --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-027 @@ -0,0 +1,221 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-027 + +Bug-Reported-by: Florian Weimer +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +This patch changes the encoding bash uses for exported functions to avoid +clashes with shell variables and to avoid depending only on an environment +variable's contents to determine whether or not to interpret it as a shell +function. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.26/variables.c 2014-09-25 23:02:18.000000000 -0400 +--- variables.c 2014-09-27 20:52:04.000000000 -0400 +*************** +*** 84,87 **** +--- 84,92 ---- + #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0') + ++ #define BASHFUNC_PREFIX "BASH_FUNC_" ++ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */ ++ #define BASHFUNC_SUFFIX "%%" ++ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */ ++ + extern char **environ; + +*************** +*** 280,284 **** + static void dispose_temporary_env __P((sh_free_func_t *)); + +! static inline char *mk_env_string __P((const char *, const char *)); + static char **make_env_array_from_var_list __P((SHELL_VAR **)); + static char **make_var_export_array __P((VAR_CONTEXT *)); +--- 285,289 ---- + static void dispose_temporary_env __P((sh_free_func_t *)); + +! static inline char *mk_env_string __P((const char *, const char *, int)); + static char **make_env_array_from_var_list __P((SHELL_VAR **)); + static char **make_var_export_array __P((VAR_CONTEXT *)); +*************** +*** 350,369 **** + /* If exported function, define it now. Don't import functions from + the environment in privileged mode. */ +! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4)) + { + string_length = strlen (string); +! temp_string = (char *)xmalloc (3 + string_length + char_index); + +! strcpy (temp_string, name); +! temp_string[char_index] = ' '; +! strcpy (temp_string + char_index + 1, string); + + /* Don't import function names that are invalid identifiers from the + environment, though we still allow them to be defined as shell + variables. */ +! if (legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + +! if (temp_var = find_function (name)) + { + VSETATTR (temp_var, (att_exported|att_imported)); +--- 355,385 ---- + /* If exported function, define it now. Don't import functions from + the environment in privileged mode. */ +! if (privmode == 0 && read_but_dont_execute == 0 && +! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && +! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && +! STREQN ("() {", string, 4)) + { ++ size_t namelen; ++ char *tname; /* desired imported function name */ ++ ++ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN; ++ ++ tname = name + BASHFUNC_PREFLEN; /* start of func name */ ++ tname[namelen] = '\0'; /* now tname == func name */ ++ + string_length = strlen (string); +! temp_string = (char *)xmalloc (namelen + string_length + 2); + +! memcpy (temp_string, tname, namelen); +! temp_string[namelen] = ' '; +! memcpy (temp_string + namelen + 1, string, string_length + 1); + + /* Don't import function names that are invalid identifiers from the + environment, though we still allow them to be defined as shell + variables. */ +! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname))) +! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + +! if (temp_var = find_function (tname)) + { + VSETATTR (temp_var, (att_exported|att_imported)); +*************** +*** 378,383 **** + } + last_command_exit_value = 1; +! report_error (_("error importing function definition for `%s'"), name); + } + } + #if defined (ARRAY_VARS) +--- 394,402 ---- + } + last_command_exit_value = 1; +! report_error (_("error importing function definition for `%s'"), tname); + } ++ ++ /* Restore original suffix */ ++ tname[namelen] = BASHFUNC_SUFFIX[0]; + } + #if defined (ARRAY_VARS) +*************** +*** 2955,2959 **** + + INVALIDATE_EXPORTSTR (var); +! var->exportstr = mk_env_string (name, value); + + array_needs_making = 1; +--- 2974,2978 ---- + + INVALIDATE_EXPORTSTR (var); +! var->exportstr = mk_env_string (name, value, 0); + + array_needs_making = 1; +*************** +*** 3853,3871 **** + + static inline char * +! mk_env_string (name, value) + const char *name, *value; + { +! int name_len, value_len; +! char *p; + + name_len = strlen (name); + value_len = STRLEN (value); +! p = (char *)xmalloc (2 + name_len + value_len); +! strcpy (p, name); +! p[name_len] = '='; + if (value && *value) +! strcpy (p + name_len + 1, value); + else +! p[name_len + 1] = '\0'; + return (p); + } +--- 3872,3911 ---- + + static inline char * +! mk_env_string (name, value, isfunc) + const char *name, *value; ++ int isfunc; + { +! size_t name_len, value_len; +! char *p, *q; + + name_len = strlen (name); + value_len = STRLEN (value); +! +! /* If we are exporting a shell function, construct the encoded function +! name. */ +! if (isfunc && value) +! { +! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2); +! q = p; +! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN); +! q += BASHFUNC_PREFLEN; +! memcpy (q, name, name_len); +! q += name_len; +! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN); +! q += BASHFUNC_SUFFLEN; +! } +! else +! { +! p = (char *)xmalloc (2 + name_len + value_len); +! memcpy (p, name, name_len); +! q = p + name_len; +! } +! +! q[0] = '='; + if (value && *value) +! memcpy (q + 1, value, value_len + 1); + else +! q[1] = '\0'; +! + return (p); + } +*************** +*** 3953,3957 **** + using the cached exportstr... */ + list[list_index] = USE_EXPORTSTR ? savestring (value) +! : mk_env_string (var->name, value); + + if (USE_EXPORTSTR == 0) +--- 3993,3997 ---- + using the cached exportstr... */ + list[list_index] = USE_EXPORTSTR ? savestring (value) +! : mk_env_string (var->name, value, function_p (var)); + + if (USE_EXPORTSTR == 0) +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-028 b/patches/source/bash/bash-4.3-patches/bash43-028 new file mode 100644 index 000000000..7448cf814 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-028 @@ -0,0 +1,2265 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-028 + +Bug-Reported-by: Florian Weimer +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +There are two local buffer overflows in parse.y that can cause the shell +to dump core when given many here-documents attached to a single command +or many nested loops. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-09-25 23:02:35.000000000 -0400 +--- parse.y 2014-09-29 16:47:03.000000000 -0400 +*************** +*** 169,172 **** +--- 169,175 ---- + static int reserved_word_acceptable __P((int)); + static int yylex __P((void)); ++ ++ static void push_heredoc __P((REDIRECT *)); ++ static char *mk_alexpansion __P((char *)); + static int alias_expand_token __P((char *)); + static int time_command_acceptable __P((void)); +*************** +*** 266,270 **** + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! static REDIRECT *redir_stack[10]; + int need_here_doc; + +--- 269,275 ---- + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! #define HEREDOC_MAX 16 +! +! static REDIRECT *redir_stack[HEREDOC_MAX]; + int need_here_doc; + +*************** +*** 308,312 **** + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST]; + static int word_top = -1; + +--- 313,317 ---- + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST+1]; + static int word_top = -1; + +*************** +*** 521,525 **** + redir.filename = $2; + $$ = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | NUMBER LESS_LESS WORD +--- 526,530 ---- + redir.filename = $2; + $$ = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ($$); + } + | NUMBER LESS_LESS WORD +*************** +*** 528,532 **** + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | REDIR_WORD LESS_LESS WORD +--- 533,537 ---- + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ($$); + } + | REDIR_WORD LESS_LESS WORD +*************** +*** 535,539 **** + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = $$; + } + | LESS_LESS_MINUS WORD +--- 540,544 ---- + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ($$); + } + | LESS_LESS_MINUS WORD +*************** +*** 542,546 **** + redir.filename = $2; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | NUMBER LESS_LESS_MINUS WORD +--- 547,551 ---- + redir.filename = $2; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ($$); + } + | NUMBER LESS_LESS_MINUS WORD +*************** +*** 549,553 **** + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | REDIR_WORD LESS_LESS_MINUS WORD +--- 554,558 ---- + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ($$); + } + | REDIR_WORD LESS_LESS_MINUS WORD +*************** +*** 556,560 **** + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = $$; + } + | LESS_LESS_LESS WORD +--- 561,565 ---- + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ($$); + } + | LESS_LESS_LESS WORD +*************** +*** 2637,2640 **** +--- 2642,2660 ---- + static int esacs_needed_count; + ++ static void ++ push_heredoc (r) ++ REDIRECT *r; ++ { ++ if (need_here_doc >= HEREDOC_MAX) ++ { ++ last_command_exit_value = EX_BADUSAGE; ++ need_here_doc = 0; ++ report_syntax_error (_("maximum here-document count exceeded")); ++ reset_parser (); ++ exit_shell (last_command_exit_value); ++ } ++ redir_stack[need_here_doc++] = r; ++ } ++ + void + gather_here_documents () +*** ../bash-4.3.27/y.tab.c 2014-10-01 11:38:24.000000000 -0400 +--- y.tab.c 2014-10-01 12:46:11.000000000 -0400 +*************** +*** 169,173 **** + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/homes/chet/src/bash/src/parse.y" + + #include "config.h" +--- 169,173 ---- + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + #include "config.h" +*************** +*** 320,323 **** +--- 320,326 ---- + static int reserved_word_acceptable __P((int)); + static int yylex __P((void)); ++ ++ static void push_heredoc __P((REDIRECT *)); ++ static char *mk_alexpansion __P((char *)); + static int alias_expand_token __P((char *)); + static int time_command_acceptable __P((void)); +*************** +*** 417,421 **** + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! static REDIRECT *redir_stack[10]; + int need_here_doc; + +--- 420,426 ---- + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! #define HEREDOC_MAX 16 +! +! static REDIRECT *redir_stack[HEREDOC_MAX]; + int need_here_doc; + +*************** +*** 459,463 **** + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST]; + static int word_top = -1; + +--- 464,468 ---- + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST+1]; + static int word_top = -1; + +*************** +*** 493,497 **** + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 324 "/usr/homes/chet/src/bash/src/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +--- 498,502 ---- + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +*************** +*** 504,508 **** + } + /* Line 193 of yacc.c. */ +! #line 507 "y.tab.c" + YYSTYPE; + # define yystype YYSTYPE /* obsolescent; will be withdrawn */ +--- 509,513 ---- + } + /* Line 193 of yacc.c. */ +! #line 512 "y.tab.c" + YYSTYPE; + # define yystype YYSTYPE /* obsolescent; will be withdrawn */ +*************** +*** 517,521 **** + + /* Line 216 of yacc.c. */ +! #line 520 "y.tab.c" + + #ifdef short +--- 522,526 ---- + + /* Line 216 of yacc.c. */ +! #line 525 "y.tab.c" + + #ifdef short +*************** +*** 887,907 **** + static const yytype_uint16 yyrline[] = + { +! 0, 377, 377, 388, 397, 412, 422, 424, 428, 434, +! 440, 446, 452, 458, 464, 470, 476, 482, 488, 494, +! 500, 506, 512, 518, 525, 532, 539, 546, 553, 560, +! 566, 572, 578, 584, 590, 596, 602, 608, 614, 620, +! 626, 632, 638, 644, 650, 656, 662, 668, 674, 680, +! 686, 692, 700, 702, 704, 708, 712, 723, 725, 729, +! 731, 733, 749, 751, 755, 757, 759, 761, 763, 765, +! 767, 769, 771, 773, 775, 779, 784, 789, 794, 799, +! 804, 809, 814, 821, 826, 831, 836, 843, 848, 853, +! 858, 863, 868, 875, 880, 885, 892, 895, 898, 902, +! 904, 935, 942, 947, 964, 969, 986, 993, 995, 997, +! 1002, 1006, 1010, 1014, 1016, 1018, 1022, 1023, 1027, 1029, +! 1031, 1033, 1037, 1039, 1041, 1043, 1045, 1047, 1051, 1053, +! 1062, 1070, 1071, 1077, 1078, 1085, 1089, 1091, 1093, 1100, +! 1102, 1104, 1108, 1109, 1112, 1114, 1116, 1120, 1121, 1130, +! 1143, 1159, 1174, 1176, 1178, 1185, 1188, 1192, 1194, 1200, +! 1206, 1223, 1243, 1245, 1268, 1272, 1274, 1276 + }; + #endif +--- 892,912 ---- + static const yytype_uint16 yyrline[] = + { +! 0, 382, 382, 393, 402, 417, 427, 429, 433, 439, +! 445, 451, 457, 463, 469, 475, 481, 487, 493, 499, +! 505, 511, 517, 523, 530, 537, 544, 551, 558, 565, +! 571, 577, 583, 589, 595, 601, 607, 613, 619, 625, +! 631, 637, 643, 649, 655, 661, 667, 673, 679, 685, +! 691, 697, 705, 707, 709, 713, 717, 728, 730, 734, +! 736, 738, 754, 756, 760, 762, 764, 766, 768, 770, +! 772, 774, 776, 778, 780, 784, 789, 794, 799, 804, +! 809, 814, 819, 826, 831, 836, 841, 848, 853, 858, +! 863, 868, 873, 880, 885, 890, 897, 900, 903, 907, +! 909, 940, 947, 952, 969, 974, 991, 998, 1000, 1002, +! 1007, 1011, 1015, 1019, 1021, 1023, 1027, 1028, 1032, 1034, +! 1036, 1038, 1042, 1044, 1046, 1048, 1050, 1052, 1056, 1058, +! 1067, 1075, 1076, 1082, 1083, 1090, 1094, 1096, 1098, 1105, +! 1107, 1109, 1113, 1114, 1117, 1119, 1121, 1125, 1126, 1135, +! 1148, 1164, 1179, 1181, 1183, 1190, 1193, 1197, 1199, 1205, +! 1211, 1228, 1248, 1250, 1273, 1277, 1279, 1281 + }; + #endif +*************** +*** 2094,2098 **** + { + case 2: +! #line 378 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Case of regular command. Discard the error +--- 2099,2103 ---- + { + case 2: +! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command. Discard the error +*************** +*** 2108,2112 **** + + case 3: +! #line 389 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Case of regular command, but not a very +--- 2113,2117 ---- + + case 3: +! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command, but not a very +*************** +*** 2120,2124 **** + + case 4: +! #line 398 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Error during parsing. Return NULL command. */ +--- 2125,2129 ---- + + case 4: +! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Error during parsing. Return NULL command. */ +*************** +*** 2138,2142 **** + + case 5: +! #line 413 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +--- 2143,2147 ---- + + case 5: +! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +*************** +*** 2149,2163 **** + + case 6: +! #line 423 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 425 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 429 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2154,2168 ---- + + case 6: +! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2168,2172 **** + + case 9: +! #line 435 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2173,2177 ---- + + case 9: +! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2177,2181 **** + + case 10: +! #line 441 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2182,2186 ---- + + case 10: +! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2186,2190 **** + + case 11: +! #line 447 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2191,2195 ---- + + case 11: +! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2195,2199 **** + + case 12: +! #line 453 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2200,2204 ---- + + case 12: +! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2204,2208 **** + + case 13: +! #line 459 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2209,2213 ---- + + case 13: +! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2213,2217 **** + + case 14: +! #line 465 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2218,2222 ---- + + case 14: +! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2222,2226 **** + + case 15: +! #line 471 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2227,2231 ---- + + case 15: +! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2231,2235 **** + + case 16: +! #line 477 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2236,2240 ---- + + case 16: +! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2240,2244 **** + + case 17: +! #line 483 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2245,2249 ---- + + case 17: +! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2249,2253 **** + + case 18: +! #line 489 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2254,2258 ---- + + case 18: +! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2258,2262 **** + + case 19: +! #line 495 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2263,2267 ---- + + case 19: +! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2267,2271 **** + + case 20: +! #line 501 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2272,2276 ---- + + case 20: +! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2276,2280 **** + + case 21: +! #line 507 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2281,2285 ---- + + case 21: +! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2285,2289 **** + + case 22: +! #line 513 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2290,2294 ---- + + case 22: +! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2294,2358 **** + + case 23: +! #line 519 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 24: +! #line 526 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 25: +! #line 533 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 26: +! #line 540 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 27: +! #line 547 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 28: +! #line 554 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 29: +! #line 561 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2299,2363 ---- + + case 23: +! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 24: +! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 25: +! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ((yyval.redirect)); + } + break; + + case 26: +! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 27: +! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 28: +! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ((yyval.redirect)); + } + break; + + case 29: +! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2363,2367 **** + + case 30: +! #line 567 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2368,2372 ---- + + case 30: +! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2372,2376 **** + + case 31: +! #line 573 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2377,2381 ---- + + case 31: +! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2381,2385 **** + + case 32: +! #line 579 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2386,2390 ---- + + case 32: +! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2390,2394 **** + + case 33: +! #line 585 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2395,2399 ---- + + case 33: +! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2399,2403 **** + + case 34: +! #line 591 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2404,2408 ---- + + case 34: +! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2408,2412 **** + + case 35: +! #line 597 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2413,2417 ---- + + case 35: +! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2417,2421 **** + + case 36: +! #line 603 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2422,2426 ---- + + case 36: +! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2426,2430 **** + + case 37: +! #line 609 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2431,2435 ---- + + case 37: +! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2435,2439 **** + + case 38: +! #line 615 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2440,2444 ---- + + case 38: +! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2444,2448 **** + + case 39: +! #line 621 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2449,2453 ---- + + case 39: +! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2453,2457 **** + + case 40: +! #line 627 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2458,2462 ---- + + case 40: +! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2462,2466 **** + + case 41: +! #line 633 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2467,2471 ---- + + case 41: +! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2471,2475 **** + + case 42: +! #line 639 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2476,2480 ---- + + case 42: +! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2480,2484 **** + + case 43: +! #line 645 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2485,2489 ---- + + case 43: +! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2489,2493 **** + + case 44: +! #line 651 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2494,2498 ---- + + case 44: +! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2498,2502 **** + + case 45: +! #line 657 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2503,2507 ---- + + case 45: +! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2507,2511 **** + + case 46: +! #line 663 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2512,2516 ---- + + case 46: +! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2516,2520 **** + + case 47: +! #line 669 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2521,2525 ---- + + case 47: +! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2525,2529 **** + + case 48: +! #line 675 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2530,2534 ---- + + case 48: +! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2534,2538 **** + + case 49: +! #line 681 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2539,2543 ---- + + case 49: +! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2543,2547 **** + + case 50: +! #line 687 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2548,2552 ---- + + case 50: +! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2552,2556 **** + + case 51: +! #line 693 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2557,2561 ---- + + case 51: +! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2561,2580 **** + + case 52: +! #line 701 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 703 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 705 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 709 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +--- 2566,2585 ---- + + case 52: +! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +*************** +*** 2583,2587 **** + + case 56: +! #line 713 "/usr/homes/chet/src/bash/src/parse.y" + { + register REDIRECT *t; +--- 2588,2592 ---- + + case 56: +! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + register REDIRECT *t; +*************** +*** 2595,2619 **** + + case 57: +! #line 724 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 726 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 730 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 732 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 734 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2600,2624 ---- + + case 57: +! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2634,2703 **** + + case 62: +! #line 750 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 752 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 756 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 758 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 760 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 762 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 764 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 766 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 768 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 770 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 772 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 774 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 776 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 780 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2639,2708 ---- + + case 62: +! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2707,2711 **** + + case 76: +! #line 785 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2712,2716 ---- + + case 76: +! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2715,2719 **** + + case 77: +! #line 790 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2720,2724 ---- + + case 77: +! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2723,2727 **** + + case 78: +! #line 795 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2728,2732 ---- + + case 78: +! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2731,2735 **** + + case 79: +! #line 800 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2736,2740 ---- + + case 79: +! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2739,2743 **** + + case 80: +! #line 805 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2744,2748 ---- + + case 80: +! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2747,2751 **** + + case 81: +! #line 810 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2752,2756 ---- + + case 81: +! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2755,2759 **** + + case 82: +! #line 815 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2760,2764 ---- + + case 82: +! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2763,2767 **** + + case 83: +! #line 822 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2768,2772 ---- + + case 83: +! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2771,2775 **** + + case 84: +! #line 827 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2776,2780 ---- + + case 84: +! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2779,2783 **** + + case 85: +! #line 832 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2784,2788 ---- + + case 85: +! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2787,2791 **** + + case 86: +! #line 837 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2792,2796 ---- + + case 86: +! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2795,2799 **** + + case 87: +! #line 844 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2800,2804 ---- + + case 87: +! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2803,2807 **** + + case 88: +! #line 849 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2808,2812 ---- + + case 88: +! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2811,2815 **** + + case 89: +! #line 854 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2816,2820 ---- + + case 89: +! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2819,2823 **** + + case 90: +! #line 859 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2824,2828 ---- + + case 90: +! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2827,2831 **** + + case 91: +! #line 864 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2832,2836 ---- + + case 91: +! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2835,2839 **** + + case 92: +! #line 869 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2840,2844 ---- + + case 92: +! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2843,2847 **** + + case 93: +! #line 876 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +--- 2848,2852 ---- + + case 93: +! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +*************** +*** 2851,2855 **** + + case 94: +! #line 881 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +--- 2856,2860 ---- + + case 94: +! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +*************** +*** 2859,2863 **** + + case 95: +! #line 886 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +--- 2864,2868 ---- + + case 95: +! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +*************** +*** 2867,2891 **** + + case 96: +! #line 893 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 896 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 899 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 903 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 905 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2872,2896 ---- + + case 96: +! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2919,2923 **** + + case 101: +! #line 936 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +--- 2924,2928 ---- + + case 101: +! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +*************** +*** 2927,2931 **** + + case 102: +! #line 943 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +--- 2932,2936 ---- + + case 102: +! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +*************** +*** 2935,2939 **** + + case 103: +! #line 948 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2940,2944 ---- + + case 103: +! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2955,2959 **** + + case 104: +! #line 965 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +--- 2960,2964 ---- + + case 104: +! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +*************** +*** 2963,2967 **** + + case 105: +! #line 970 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2968,2972 ---- + + case 105: +! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2983,2987 **** + + case 106: +! #line 987 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +--- 2988,2992 ---- + + case 106: +! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +*************** +*** 2991,3105 **** + + case 107: +! #line 994 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 996 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 998 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1003 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1007 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1011 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1015 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1017 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1019 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1024 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1028 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1030 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1032 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1034 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1038 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1040 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1042 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1044 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1046 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1048 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1052 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1054 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1063 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 2996,3110 ---- + + case 107: +! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3110,3114 **** + + case 132: +! #line 1072 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 3115,3119 ---- + + case 132: +! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3117,3121 **** + + case 134: +! #line 1079 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3122,3126 ---- + + case 134: +! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3127,3141 **** + + case 136: +! #line 1090 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1092 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1094 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +--- 3132,3146 ---- + + case 136: +! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +*************** +*** 3147,3181 **** + + case 139: +! #line 1101 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1103 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1105 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1113 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1115 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1117 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1131 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +--- 3152,3186 ---- + + case 139: +! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +*************** +*** 3193,3197 **** + + case 150: +! #line 1144 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +--- 3198,3202 ---- + + case 150: +! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +*************** +*** 3212,3216 **** + + case 151: +! #line 1160 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +--- 3217,3221 ---- + + case 151: +! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +*************** +*** 3228,3242 **** + + case 152: +! #line 1175 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1177 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1179 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3233,3247 ---- + + case 152: +! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3248,3267 **** + + case 155: +! #line 1186 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1189 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1193 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1195 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3253,3272 ---- + + case 155: +! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3272,3276 **** + + case 159: +! #line 1201 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3277,3281 ---- + + case 159: +! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3281,3285 **** + + case 160: +! #line 1207 "/usr/homes/chet/src/bash/src/parse.y" + { + ELEMENT x; +--- 3286,3290 ---- + + case 160: +! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +*************** +*** 3301,3305 **** + + case 161: +! #line 1224 "/usr/homes/chet/src/bash/src/parse.y" + { + ELEMENT x; +--- 3306,3310 ---- + + case 161: +! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +*************** +*** 3322,3331 **** + + case 162: +! #line 1244 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1246 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +--- 3327,3336 ---- + + case 162: +! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +*************** +*** 3353,3372 **** + + case 164: +! #line 1269 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1273 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1275 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1277 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +--- 3358,3377 ---- + + case 164: +! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +*************** +*** 3374,3378 **** + + /* Line 1267 of yacc.c. */ +! #line 3377 "y.tab.c" + default: break; + } +--- 3379,3383 ---- + + /* Line 1267 of yacc.c. */ +! #line 3382 "y.tab.c" + default: break; + } +*************** +*** 3588,3592 **** + + +! #line 1279 "/usr/homes/chet/src/bash/src/parse.y" + + +--- 3593,3597 ---- + + +! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + +*************** +*** 4949,4952 **** +--- 4954,4972 ---- + static int esacs_needed_count; + ++ static void ++ push_heredoc (r) ++ REDIRECT *r; ++ { ++ if (need_here_doc >= HEREDOC_MAX) ++ { ++ last_command_exit_value = EX_BADUSAGE; ++ need_here_doc = 0; ++ report_syntax_error (_("maximum here-document count exceeded")); ++ reset_parser (); ++ exit_shell (last_command_exit_value); ++ } ++ redir_stack[need_here_doc++] = r; ++ } ++ + void + gather_here_documents () +*************** +*** 8542,8543 **** +--- 8562,8564 ---- + } + #endif /* HANDLE_MULTIBYTE */ ++ +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 28 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-029 b/patches/source/bash/bash-4.3-patches/bash43-029 new file mode 100644 index 000000000..93bd390a8 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-029 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-029 + +Bug-Reported-by: Michal Zalewski +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +When bash is parsing a function definition that contains a here-document +delimited by end-of-file (or end-of-string), it leaves the closing delimiter +uninitialized. This can result in an invalid memory access when the parsed +function is later copied. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.28/make_cmd.c 2011-12-16 08:08:01.000000000 -0500 +--- make_cmd.c 2014-10-02 11:24:23.000000000 -0400 +*************** +*** 693,696 **** +--- 693,697 ---- + temp->redirector = source; + temp->redirectee = dest_and_filename; ++ temp->here_doc_eof = 0; + temp->instruction = instruction; + temp->flags = 0; +*** ../bash-4.3.28/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400 +--- copy_cmd.c 2014-10-02 11:24:23.000000000 -0400 +*************** +*** 127,131 **** + case r_reading_until: + case r_deblank_reading_until: +! new_redirect->here_doc_eof = savestring (redirect->here_doc_eof); + /*FALLTHROUGH*/ + case r_reading_string: +--- 127,131 ---- + case r_reading_until: + case r_deblank_reading_until: +! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0; + /*FALLTHROUGH*/ + case r_reading_string: +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 28 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-030 b/patches/source/bash/bash-4.3-patches/bash43-030 new file mode 100644 index 000000000..78984da26 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-030 @@ -0,0 +1,2064 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-030 + +Bug-Reported-by: Michal Zalewski +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +A combination of nested command substitutions and function importing from +the environment can cause bash to execute code appearing in the environment +variable value following the function definition. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.29/builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400 +--- builtins/evalstring.c 2014-10-03 11:57:04.000000000 -0400 +*************** +*** 309,318 **** + struct fd_bitmap *bitmap; + +! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) + { +! internal_warning ("%s: ignoring function definition attempt", from_file); +! should_jump_to_top_level = 0; +! last_result = last_command_exit_value = EX_BADUSAGE; +! break; + } + +--- 313,335 ---- + struct fd_bitmap *bitmap; + +! if (flags & SEVAL_FUNCDEF) + { +! char *x; +! +! /* If the command parses to something other than a straight +! function definition, or if we have not consumed the entire +! string, or if the parser has transformed the function +! name (as parsing will if it begins or ends with shell +! whitespace, for example), reject the attempt */ +! if (command->type != cm_function_def || +! ((x = parser_remaining_input ()) && *x) || +! (STREQ (from_file, command->value.Function_def->name->word) == 0)) +! { +! internal_warning (_("%s: ignoring function definition attempt"), from_file); +! should_jump_to_top_level = 0; +! last_result = last_command_exit_value = EX_BADUSAGE; +! reset_parser (); +! break; +! } + } + +*************** +*** 379,383 **** + + if (flags & SEVAL_ONECMD) +! break; + } + } +--- 396,403 ---- + + if (flags & SEVAL_ONECMD) +! { +! reset_parser (); +! break; +! } + } + } +*** ../bash-4.3.29/parse.y 2014-10-01 12:58:43.000000000 -0400 +--- parse.y 2014-10-03 14:48:59.000000000 -0400 +*************** +*** 2539,2542 **** +--- 2539,2552 ---- + } + ++ char * ++ parser_remaining_input () ++ { ++ if (shell_input_line == 0) ++ return 0; ++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len) ++ return '\0'; /* XXX */ ++ return (shell_input_line + shell_input_line_index); ++ } ++ + #ifdef INCLUDE_UNUSED + /* Back the input pointer up by one, effectively `ungetting' a character. */ +*************** +*** 4028,4033 **** + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! if (interactive) +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +--- 4053,4058 ---- + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +*** ../bash-4.3.29/shell.h 2014-10-01 12:57:39.000000000 -0400 +--- shell.h 2014-10-03 14:49:12.000000000 -0400 +*************** +*** 181,184 **** +--- 181,186 ---- + + /* Let's try declaring these here. */ ++ extern char *parser_remaining_input __P((void)); ++ + extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); + extern void restore_parser_state __P((sh_parser_state_t *)); +*** ../bash-4.3.28/y.tab.c 2014-10-01 13:09:46.000000000 -0400 +--- y.tab.c 2014-10-04 19:26:22.000000000 -0400 +*************** +*** 169,173 **** + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + #include "config.h" +--- 169,173 ---- + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/src/local/bash/bash-4.3-patched/parse.y" + + #include "config.h" +*************** +*** 498,502 **** + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +--- 498,502 ---- + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 329 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +*************** +*** 2099,2103 **** + { + case 2: +! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command. Discard the error +--- 2099,2103 ---- + { + case 2: +! #line 383 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Case of regular command. Discard the error +*************** +*** 2113,2117 **** + + case 3: +! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command, but not a very +--- 2113,2117 ---- + + case 3: +! #line 394 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Case of regular command, but not a very +*************** +*** 2125,2129 **** + + case 4: +! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Error during parsing. Return NULL command. */ +--- 2125,2129 ---- + + case 4: +! #line 403 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Error during parsing. Return NULL command. */ +*************** +*** 2143,2147 **** + + case 5: +! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +--- 2143,2147 ---- + + case 5: +! #line 418 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +*************** +*** 2154,2168 **** + + case 6: +! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2154,2168 ---- + + case 6: +! #line 428 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 430 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 434 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2173,2177 **** + + case 9: +! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2173,2177 ---- + + case 9: +! #line 440 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2182,2186 **** + + case 10: +! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2182,2186 ---- + + case 10: +! #line 446 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2191,2195 **** + + case 11: +! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2191,2195 ---- + + case 11: +! #line 452 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2200,2204 **** + + case 12: +! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2200,2204 ---- + + case 12: +! #line 458 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2209,2213 **** + + case 13: +! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2209,2213 ---- + + case 13: +! #line 464 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2218,2222 **** + + case 14: +! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2218,2222 ---- + + case 14: +! #line 470 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2227,2231 **** + + case 15: +! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2227,2231 ---- + + case 15: +! #line 476 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2236,2240 **** + + case 16: +! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2236,2240 ---- + + case 16: +! #line 482 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2245,2249 **** + + case 17: +! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2245,2249 ---- + + case 17: +! #line 488 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2254,2258 **** + + case 18: +! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2254,2258 ---- + + case 18: +! #line 494 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2263,2267 **** + + case 19: +! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2263,2267 ---- + + case 19: +! #line 500 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2272,2276 **** + + case 20: +! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2272,2276 ---- + + case 20: +! #line 506 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2281,2285 **** + + case 21: +! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2281,2285 ---- + + case 21: +! #line 512 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2290,2294 **** + + case 22: +! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2290,2294 ---- + + case 22: +! #line 518 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2299,2303 **** + + case 23: +! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2299,2303 ---- + + case 23: +! #line 524 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2309,2313 **** + + case 24: +! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2309,2313 ---- + + case 24: +! #line 531 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2319,2323 **** + + case 25: +! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2319,2323 ---- + + case 25: +! #line 538 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2329,2333 **** + + case 26: +! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2329,2333 ---- + + case 26: +! #line 545 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2339,2343 **** + + case 27: +! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2339,2343 ---- + + case 27: +! #line 552 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2349,2353 **** + + case 28: +! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2349,2353 ---- + + case 28: +! #line 559 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2359,2363 **** + + case 29: +! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2359,2363 ---- + + case 29: +! #line 566 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2368,2372 **** + + case 30: +! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2368,2372 ---- + + case 30: +! #line 572 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2377,2381 **** + + case 31: +! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2377,2381 ---- + + case 31: +! #line 578 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2386,2390 **** + + case 32: +! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2386,2390 ---- + + case 32: +! #line 584 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2395,2399 **** + + case 33: +! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2395,2399 ---- + + case 33: +! #line 590 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2404,2408 **** + + case 34: +! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2404,2408 ---- + + case 34: +! #line 596 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2413,2417 **** + + case 35: +! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2413,2417 ---- + + case 35: +! #line 602 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2422,2426 **** + + case 36: +! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2422,2426 ---- + + case 36: +! #line 608 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2431,2435 **** + + case 37: +! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2431,2435 ---- + + case 37: +! #line 614 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2440,2444 **** + + case 38: +! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2440,2444 ---- + + case 38: +! #line 620 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2449,2453 **** + + case 39: +! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2449,2453 ---- + + case 39: +! #line 626 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2458,2462 **** + + case 40: +! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2458,2462 ---- + + case 40: +! #line 632 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2467,2471 **** + + case 41: +! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2467,2471 ---- + + case 41: +! #line 638 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2476,2480 **** + + case 42: +! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2476,2480 ---- + + case 42: +! #line 644 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2485,2489 **** + + case 43: +! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2485,2489 ---- + + case 43: +! #line 650 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2494,2498 **** + + case 44: +! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2494,2498 ---- + + case 44: +! #line 656 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2503,2507 **** + + case 45: +! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2503,2507 ---- + + case 45: +! #line 662 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2512,2516 **** + + case 46: +! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2512,2516 ---- + + case 46: +! #line 668 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2521,2525 **** + + case 47: +! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2521,2525 ---- + + case 47: +! #line 674 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2530,2534 **** + + case 48: +! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2530,2534 ---- + + case 48: +! #line 680 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2539,2543 **** + + case 49: +! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2539,2543 ---- + + case 49: +! #line 686 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2548,2552 **** + + case 50: +! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2548,2552 ---- + + case 50: +! #line 692 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2557,2561 **** + + case 51: +! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2557,2561 ---- + + case 51: +! #line 698 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2566,2585 **** + + case 52: +! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +--- 2566,2585 ---- + + case 52: +! #line 706 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 708 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 710 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 714 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +*************** +*** 2588,2592 **** + + case 56: +! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + register REDIRECT *t; +--- 2588,2592 ---- + + case 56: +! #line 718 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + register REDIRECT *t; +*************** +*** 2600,2624 **** + + case 57: +! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2600,2624 ---- + + case 57: +! #line 729 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 731 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 735 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 737 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 739 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2639,2708 **** + + case 62: +! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2639,2708 ---- + + case 62: +! #line 755 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 757 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 761 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 763 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 765 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 767 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 769 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 771 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 773 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 775 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 777 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 779 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 781 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 785 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2712,2716 **** + + case 76: +! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2712,2716 ---- + + case 76: +! #line 790 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2720,2724 **** + + case 77: +! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2720,2724 ---- + + case 77: +! #line 795 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2728,2732 **** + + case 78: +! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2728,2732 ---- + + case 78: +! #line 800 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2736,2740 **** + + case 79: +! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2736,2740 ---- + + case 79: +! #line 805 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2744,2748 **** + + case 80: +! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2744,2748 ---- + + case 80: +! #line 810 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2752,2756 **** + + case 81: +! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2752,2756 ---- + + case 81: +! #line 815 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2760,2764 **** + + case 82: +! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2760,2764 ---- + + case 82: +! #line 820 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2768,2772 **** + + case 83: +! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2768,2772 ---- + + case 83: +! #line 827 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2776,2780 **** + + case 84: +! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2776,2780 ---- + + case 84: +! #line 832 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2784,2788 **** + + case 85: +! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2784,2788 ---- + + case 85: +! #line 837 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2792,2796 **** + + case 86: +! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2792,2796 ---- + + case 86: +! #line 842 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2800,2804 **** + + case 87: +! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2800,2804 ---- + + case 87: +! #line 849 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2808,2812 **** + + case 88: +! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2808,2812 ---- + + case 88: +! #line 854 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2816,2820 **** + + case 89: +! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2816,2820 ---- + + case 89: +! #line 859 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2824,2828 **** + + case 90: +! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2824,2828 ---- + + case 90: +! #line 864 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2832,2836 **** + + case 91: +! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2832,2836 ---- + + case 91: +! #line 869 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2840,2844 **** + + case 92: +! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2840,2844 ---- + + case 92: +! #line 874 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2848,2852 **** + + case 93: +! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +--- 2848,2852 ---- + + case 93: +! #line 881 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +*************** +*** 2856,2860 **** + + case 94: +! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +--- 2856,2860 ---- + + case 94: +! #line 886 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +*************** +*** 2864,2868 **** + + case 95: +! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +--- 2864,2868 ---- + + case 95: +! #line 891 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +*************** +*** 2872,2896 **** + + case 96: +! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2872,2896 ---- + + case 96: +! #line 898 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 901 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 904 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 908 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 910 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2924,2928 **** + + case 101: +! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +--- 2924,2928 ---- + + case 101: +! #line 941 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +*************** +*** 2932,2936 **** + + case 102: +! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +--- 2932,2936 ---- + + case 102: +! #line 948 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +*************** +*** 2940,2944 **** + + case 103: +! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2940,2944 ---- + + case 103: +! #line 953 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2960,2964 **** + + case 104: +! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +--- 2960,2964 ---- + + case 104: +! #line 970 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +*************** +*** 2968,2972 **** + + case 105: +! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2968,2972 ---- + + case 105: +! #line 975 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2988,2992 **** + + case 106: +! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +--- 2988,2992 ---- + + case 106: +! #line 992 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +*************** +*** 2996,3110 **** + + case 107: +! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 2996,3110 ---- + + case 107: +! #line 999 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 1001 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 1003 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1008 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1012 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1016 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1020 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1022 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1024 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1029 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1033 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1035 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1037 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1039 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1043 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1045 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1047 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1049 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1051 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1053 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1057 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1059 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1068 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3115,3119 **** + + case 132: +! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 3115,3119 ---- + + case 132: +! #line 1077 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3122,3126 **** + + case 134: +! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3122,3126 ---- + + case 134: +! #line 1084 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3132,3146 **** + + case 136: +! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +--- 3132,3146 ---- + + case 136: +! #line 1095 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1097 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1099 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +*************** +*** 3152,3186 **** + + case 139: +! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +--- 3152,3186 ---- + + case 139: +! #line 1106 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1108 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1110 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1118 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1120 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1122 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1136 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +*************** +*** 3198,3202 **** + + case 150: +! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +--- 3198,3202 ---- + + case 150: +! #line 1149 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +*************** +*** 3217,3221 **** + + case 151: +! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +--- 3217,3221 ---- + + case 151: +! #line 1165 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +*************** +*** 3233,3247 **** + + case 152: +! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3233,3247 ---- + + case 152: +! #line 1180 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1182 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1184 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3253,3272 **** + + case 155: +! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3253,3272 ---- + + case 155: +! #line 1191 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1194 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1198 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1200 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3277,3281 **** + + case 159: +! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3277,3281 ---- + + case 159: +! #line 1206 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3286,3290 **** + + case 160: +! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +--- 3286,3290 ---- + + case 160: +! #line 1212 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + ELEMENT x; +*************** +*** 3306,3310 **** + + case 161: +! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +--- 3306,3310 ---- + + case 161: +! #line 1229 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + ELEMENT x; +*************** +*** 3327,3336 **** + + case 162: +! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +--- 3327,3336 ---- + + case 162: +! #line 1249 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1251 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +*************** +*** 3358,3377 **** + + case 164: +! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +--- 3358,3377 ---- + + case 164: +! #line 1274 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1278 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1280 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1282 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +*************** +*** 3593,3597 **** + + +! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + +--- 3593,3597 ---- + + +! #line 1284 "/usr/src/local/bash/bash-4.3-patched/parse.y" + + +*************** +*** 4851,4854 **** +--- 4851,4864 ---- + } + ++ char * ++ parser_remaining_input () ++ { ++ if (shell_input_line == 0) ++ return 0; ++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len) ++ return '\0'; /* XXX */ ++ return (shell_input_line + shell_input_line_index); ++ } ++ + #ifdef INCLUDE_UNUSED + /* Back the input pointer up by one, effectively `ungetting' a character. */ +*************** +*** 6340,6345 **** + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! if (interactive) +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +--- 6350,6355 ---- + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-031 b/patches/source/bash/bash-4.3-patches/bash43-031 new file mode 100644 index 000000000..a6519560a --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-031 @@ -0,0 +1,112 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-031 + +Bug-Reported-by: lolilolicon +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00139.html + +Bug-Description: + +The new nameref assignment functionality introduced in bash-4.3 did not perform +enough validation on the variable value and would create variables with +invalid names. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 +--- subst.h 2014-09-01 12:16:56.000000000 -0400 +*************** +*** 48,51 **** +--- 48,52 ---- + #define ASS_MKGLOBAL 0x0008 /* force global assignment */ + #define ASS_NAMEREF 0x0010 /* assigning to nameref variable */ ++ #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */ + + /* Flags for the string extraction functions. */ +*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 +--- variables.c 2014-09-01 14:37:44.000000000 -0400 +*************** +*** 2504,2511 **** + int hflags, aflags; + { +! char *newval; + SHELL_VAR *entry; + + entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table); + /* Follow the nameref chain here if this is the global variables table */ + if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table) +--- 2566,2590 ---- + int hflags, aflags; + { +! char *newname, *newval; + SHELL_VAR *entry; ++ #if defined (ARRAY_VARS) ++ arrayind_t ind; ++ char *subp; ++ int sublen; ++ #endif + ++ newname = 0; ++ #if defined (ARRAY_VARS) ++ if ((aflags & ASS_FROMREF) && (hflags & HASH_NOSRCH) == 0 && valid_array_reference (name)) ++ { ++ newname = array_variable_name (name, &subp, &sublen); ++ if (newname == 0) ++ return (SHELL_VAR *)NULL; /* XXX */ ++ entry = hash_lookup (newname, table); ++ } ++ else ++ #endif + entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table); ++ + /* Follow the nameref chain here if this is the global variables table */ + if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table) +*************** +*** 2538,2541 **** +--- 2617,2630 ---- + } + } ++ #if defined (ARRAY_VARS) ++ else if (entry == 0 && newname) ++ { ++ entry = make_new_array_variable (newname); /* indexed array by default */ ++ if (entry == 0) ++ return entry; ++ ind = array_expand_index (name, subp, sublen); ++ bind_array_element (entry, ind, value, aflags); ++ } ++ #endif + else if (entry == 0) + { +*************** +*** 2658,2662 **** + if (nameref_cell (nv) == 0) + return (bind_variable_internal (nv->name, value, nvc->table, 0, flags)); +! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags)); + } + else +--- 2747,2752 ---- + if (nameref_cell (nv) == 0) + return (bind_variable_internal (nv->name, value, nvc->table, 0, flags)); +! /* XXX - bug here with ref=array[index] */ +! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF)); + } + else +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-032 b/patches/source/bash/bash-4.3-patches/bash43-032 new file mode 100644 index 000000000..0843719cb --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-032 @@ -0,0 +1,51 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-032 + +Bug-Reported-by: crispusfairbairn@gmail.com +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00013.html + +Bug-Description: + +When bash is running in Posix mode, it allows signals -- including SIGCHLD -- +to interrupt the `wait' builtin, as Posix requires. However, the interrupt +causes bash to not run a SIGCHLD trap for all exited children. This patch +fixes the issue and restores the documented behavior in Posix mode. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400 +--- jobs.c 2014-09-09 11:50:38.000000000 -0400 +*************** +*** 3340,3344 **** + { + interrupt_immediately = 0; +! trap_handler (SIGCHLD); /* set pending_traps[SIGCHLD] */ + wait_signal_received = SIGCHLD; + /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; +--- 3346,3352 ---- + { + interrupt_immediately = 0; +! /* This was trap_handler (SIGCHLD) but that can lose traps if +! children_exited > 1 */ +! queue_sigchld_trap (children_exited); + wait_signal_received = SIGCHLD; + /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-033 b/patches/source/bash/bash-4.3-patches/bash43-033 new file mode 100644 index 000000000..5f5147ffd --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-033 @@ -0,0 +1,225 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-033 + +Bug-Reported-by: mickael9@gmail.com, Jan Rome +Bug-Reference-ID: <20140907224046.382ED3610CC@mickael-laptop.localdomain>, + <540D661D.50908@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00029.html + http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00030.html + +Bug-Description: + +Bash does not clean up the terminal state in all cases where bash or +readline modifies it and bash is subsequently terminated by a fatal signal. +This happens when the `read' builtin modifies the terminal settings, both +when readline is active and when it is not. It occurs most often when a script +installs a trap that exits on a signal without re-sending the signal to itself. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500 +--- shell.c 2014-12-22 10:27:50.000000000 -0500 +*************** +*** 74,77 **** +--- 74,78 ---- + + #if defined (READLINE) ++ # include + # include "bashline.h" + #endif +*************** +*** 910,913 **** +--- 912,923 ---- + fflush (stderr); + ++ /* Clean up the terminal if we are in a state where it's been modified. */ ++ #if defined (READLINE) ++ if (RL_ISSTATE (RL_STATE_TERMPREPPED) && rl_deprep_term_function) ++ (*rl_deprep_term_function) (); ++ #endif ++ if (read_tty_modified ()) ++ read_tty_cleanup (); ++ + /* Do trap[0] if defined. Allow it to override the exit status + passed to us. */ +*** ../bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400 +--- builtins/read.def 2014-12-22 10:48:54.000000000 -0500 +*************** +*** 141,148 **** + int sigalrm_seen; + +! static int reading; + static SigHandler *old_alrm; + static unsigned char delim; + + /* In all cases, SIGALRM just sets a flag that we check periodically. This + avoids problems with the semi-tricky stuff we do with the xfree of +--- 141,150 ---- + int sigalrm_seen; + +! static int reading, tty_modified; + static SigHandler *old_alrm; + static unsigned char delim; + ++ static struct ttsave termsave; ++ + /* In all cases, SIGALRM just sets a flag that we check periodically. This + avoids problems with the semi-tricky stuff we do with the xfree of +*************** +*** 189,193 **** + SHELL_VAR *var; + TTYSTRUCT ttattrs, ttset; +- struct ttsave termsave; + #if defined (ARRAY_VARS) + WORD_LIST *alist; +--- 191,194 ---- +*************** +*** 222,226 **** + USE_VAR(lastsig); + +! sigalrm_seen = reading = 0; + + i = 0; /* Index into the string that we are reading. */ +--- 223,227 ---- + USE_VAR(lastsig); + +! sigalrm_seen = reading = tty_modified = 0; + + i = 0; /* Index into the string that we are reading. */ +*************** +*** 439,442 **** +--- 440,445 ---- + goto assign_vars; + } ++ if (interactive_shell == 0) ++ initialize_terminating_signals (); + old_alrm = set_signal_handler (SIGALRM, sigalrm); + add_unwind_protect (reset_alarm, (char *)NULL); +*************** +*** 483,487 **** +--- 486,493 ---- + if (i < 0) + sh_ttyerror (1); ++ tty_modified = 1; + add_unwind_protect ((Function *)ttyrestore, (char *)&termsave); ++ if (interactive_shell == 0) ++ initialize_terminating_signals (); + } + } +*************** +*** 498,502 **** +--- 504,511 ---- + sh_ttyerror (1); + ++ tty_modified = 1; + add_unwind_protect ((Function *)ttyrestore, (char *)&termsave); ++ if (interactive_shell == 0) ++ initialize_terminating_signals (); + } + +*************** +*** 589,592 **** +--- 598,603 ---- + else + lastsig = 0; ++ if (terminating_signal && tty_modified) ++ ttyrestore (&termsave); /* fix terminal before exiting */ + CHECK_TERMSIG; + eof = 1; +*************** +*** 979,982 **** +--- 990,1007 ---- + { + ttsetattr (ttp->fd, ttp->attrs); ++ tty_modified = 0; ++ } ++ ++ void ++ read_tty_cleanup () ++ { ++ if (tty_modified) ++ ttyrestore (&termsave); ++ } ++ ++ int ++ read_tty_modified () ++ { ++ return (tty_modified); + } + +*** ../bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400 +--- builtins/common.h 2014-12-22 10:10:14.000000000 -0500 +*************** +*** 123,126 **** +--- 141,148 ---- + extern void getopts_reset __P((int)); + ++ /* Functions from read.def */ ++ extern void read_tty_cleanup __P((void)); ++ extern int read_tty_modified __P((void)); ++ + /* Functions from set.def */ + extern int minus_o_option_value __P((char *)); +*** ../bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400 +--- bashline.c 2014-09-08 11:28:56.000000000 -0400 +*************** +*** 203,206 **** +--- 203,207 ---- + extern int array_needs_making; + extern int posixly_correct, no_symbolic_links; ++ extern int sigalrm_seen; + extern char *current_prompt_string, *ps1_prompt; + extern STRING_INT_ALIST word_token_alist[]; +*************** +*** 4209,4214 **** + /* If we're going to longjmp to top_level, make sure we clean up readline. + check_signals will call QUIT, which will eventually longjmp to top_level, +! calling run_interrupt_trap along the way. */ +! if (interrupt_state) + rl_cleanup_after_signal (); + bashline_reset_event_hook (); +--- 4262,4268 ---- + /* If we're going to longjmp to top_level, make sure we clean up readline. + check_signals will call QUIT, which will eventually longjmp to top_level, +! calling run_interrupt_trap along the way. The check for sigalrm_seen is +! to clean up the read builtin's state. */ +! if (terminating_signal || interrupt_state || sigalrm_seen) + rl_cleanup_after_signal (); + bashline_reset_event_hook (); +*** ../bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500 +--- sig.c 2014-09-08 11:26:33.000000000 -0400 +*************** +*** 533,538 **** + /* Set the event hook so readline will call it after the signal handlers + finish executing, so if this interrupted character input we can get +! quick response. */ +! if (interactive_shell && interactive && no_line_editing == 0) + bashline_set_event_hook (); + #endif +--- 533,540 ---- + /* Set the event hook so readline will call it after the signal handlers + finish executing, so if this interrupted character input we can get +! quick response. If readline is active or has modified the terminal we +! need to set this no matter what the signal is, though the check for +! RL_STATE_TERMPREPPED is possibly redundant. */ +! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED)) + bashline_set_event_hook (); + #endif +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-034 b/patches/source/bash/bash-4.3-patches/bash43-034 new file mode 100644 index 000000000..17372aa2a --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-034 @@ -0,0 +1,90 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-034 + +Bug-Reported-by: Dreamcat4 +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html + +Bug-Description: + +If neither the -f nor -v options is supplied to unset, and a name argument is +found to be a function and unset, subsequent name arguments are not treated as +variables before attempting to unset a function by that name. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400 +--- builtins/set.def 2015-05-05 13:25:36.000000000 -0400 +*************** +*** 752,758 **** +--- 797,805 ---- + { + int unset_function, unset_variable, unset_array, opt, nameref, any_failed; ++ int global_unset_func, global_unset_var; + char *name; + + unset_function = unset_variable = unset_array = nameref = any_failed = 0; ++ global_unset_func = global_unset_var = 0; + + reset_internal_getopt (); +*************** +*** 762,769 **** + { + case 'f': +! unset_function = 1; + break; + case 'v': +! unset_variable = 1; + break; + case 'n': +--- 809,816 ---- + { + case 'f': +! global_unset_func = 1; + break; + case 'v': +! global_unset_var = 1; + break; + case 'n': +*************** +*** 778,782 **** + list = loptend; + +! if (unset_function && unset_variable) + { + builtin_error (_("cannot simultaneously unset a function and a variable")); +--- 825,829 ---- + list = loptend; + +! if (global_unset_func && global_unset_var) + { + builtin_error (_("cannot simultaneously unset a function and a variable")); +*************** +*** 796,799 **** +--- 843,849 ---- + name = list->word->word; + ++ unset_function = global_unset_func; ++ unset_variable = global_unset_var; ++ + #if defined (ARRAY_VARS) + unset_array = 0; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-035 b/patches/source/bash/bash-4.3-patches/bash43-035 new file mode 100644 index 000000000..f18bc6026 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-035 @@ -0,0 +1,63 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-035 + +Bug-Reported-by: +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00045.html + +Bug-Description: + +A locale with a long name can trigger a buffer overflow and core dump. This +applies on systems that do not have locale_charset in libc, are not using +GNU libiconv, and are not using the libintl that ships with bash in lib/intl. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500 +--- lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400 +*************** +*** 79,83 **** + if (s) + { +! strcpy (charsetbuf, s+1); + t = strchr (charsetbuf, '@'); + if (t) +--- 79,84 ---- + if (s) + { +! strncpy (charsetbuf, s+1, sizeof (charsetbuf) - 1); +! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; + t = strchr (charsetbuf, '@'); + if (t) +*************** +*** 85,89 **** + return charsetbuf; + } +! strcpy (charsetbuf, locale); + return charsetbuf; + } +--- 86,91 ---- + return charsetbuf; + } +! strncpy (charsetbuf, locale, sizeof (charsetbuf) - 1); +! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; + return charsetbuf; + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-036 b/patches/source/bash/bash-4.3-patches/bash43-036 new file mode 100644 index 000000000..5b42c246c --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-036 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-036 + +Bug-Reported-by: emanuelczirai@cryptolab.net +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html + +Bug-Description: + +When evaluating and setting integer variables, and the assignment fails to +create a variable (for example, when performing an operation on an array +variable with an invalid subscript), bash attempts to dereference a null +pointer, causing a segmentation violation. + +Patch (apply with `patch -p0'): + +*** ../bash-20150206/variables.c 2015-01-23 20:39:27.000000000 -0500 +--- variables.c 2015-02-19 13:56:12.000000000 -0500 +*************** +*** 2834,2841 **** + v = bind_variable (lhs, rhs, 0); + +! if (v && isint) +! VSETATTR (v, att_integer); +! +! VUNSETATTR (v, att_invisible); + + return (v); +--- 2834,2843 ---- + v = bind_variable (lhs, rhs, 0); + +! if (v) +! { +! if (isint) +! VSETATTR (v, att_integer); +! VUNSETATTR (v, att_invisible); +! } + + return (v); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-037 b/patches/source/bash/bash-4.3-patches/bash43-037 new file mode 100644 index 000000000..f04012bad --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-037 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-037 + +Bug-Reported-by: Greg Wooledge +Bug-Reference-ID: <20150204144240.GN13956@eeg.ccf.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00007.html + +Bug-Description: + +If an associative array uses `@' or `*' as a subscript, `declare -p' produces +output that cannot be reused as input. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400 +--- assoc.c 2015-02-04 15:28:25.000000000 -0500 +*************** +*** 437,440 **** +--- 440,445 ---- + if (sh_contains_shell_metas (tlist->key)) + istr = sh_double_quote (tlist->key); ++ else if (ALL_ELEMENT_SUB (tlist->key[0]) && tlist->key[1] == '\0') ++ istr = sh_double_quote (tlist->key); + else + istr = tlist->key; +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-038 b/patches/source/bash/bash-4.3-patches/bash43-038 new file mode 100644 index 000000000..e0de74e08 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-038 @@ -0,0 +1,88 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-038 + +Bug-Reported-by: worley@alum.mit.edu (Dale R. Worley) +Bug-Reference-ID: <201406100051.s5A0pCeB014978@hobgoblin.ariadne.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00028.html + +Bug-Description: + +There are a number of instances where `time' is not recognized as a reserved +word when the shell grammar says it should be. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400 +--- parse.y 2014-06-11 10:25:53.000000000 -0400 +*************** +*** 2819,2827 **** + case OR_OR: + case '&': + case DO: + case THEN: + case ELSE: + case '{': /* } */ +! case '(': /* ) */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +--- 2819,2832 ---- + case OR_OR: + case '&': ++ case WHILE: + case DO: ++ case UNTIL: ++ case IF: + case THEN: ++ case ELIF: + case ELSE: + case '{': /* } */ +! case '(': /* )( */ +! case ')': /* only valid in case statement */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +*** ../bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400 +--- y.tab.c 2015-05-19 15:08:43.000000000 -0400 +*************** +*** 5131,5139 **** + case OR_OR: + case '&': + case DO: + case THEN: + case ELSE: + case '{': /* } */ +! case '(': /* ) */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +--- 5131,5144 ---- + case OR_OR: + case '&': ++ case WHILE: + case DO: ++ case UNTIL: ++ case IF: + case THEN: ++ case ELIF: + case ELSE: + case '{': /* } */ +! case '(': /* )( */ +! case ')': /* only valid in case statement */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-039 b/patches/source/bash/bash-4.3-patches/bash43-039 new file mode 100644 index 000000000..e5e388707 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-039 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-039 + +Bug-Reported-by: SN +Bug-Reference-ID: <54E2554C.205@gazeta.pl> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00060.html + +Bug-Description: + +Using the output of `declare -p' when run in a function can result in variables +that are invisible to `declare -p'. This problem occurs when an assignment +builtin such as `declare' receives a quoted compound array assignment as one of +its arguments. + +Patch (apply with `patch -p0'): + +*** /usr/src/local/bash/bash-4.3-patched/arrayfunc.c 2014-10-01 13:08:48.000000000 -0400 +--- arrayfunc.c 2015-02-19 14:33:05.000000000 -0500 +*************** +*** 405,408 **** +--- 405,411 ---- + else + array_insert (a, i, l->word->word); ++ ++ VUNSETATTR (var, att_invisible); /* no longer invisible */ ++ + return var; + } +*************** +*** 635,638 **** +--- 638,645 ---- + if (nlist) + dispose_words (nlist); ++ ++ if (var) ++ VUNSETATTR (var, att_invisible); /* no longer invisible */ ++ + return (var); + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-040 b/patches/source/bash/bash-4.3-patches/bash43-040 new file mode 100644 index 000000000..978ce1cd5 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-040 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-040 + +Bug-Reported-by: Jean Delvare +Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html + +Bug-Description: + +There is a memory leak that occurs when bash expands an array reference on +the rhs of an assignment statement. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400 +--- subst.c 2015-06-22 09:16:53.000000000 -0400 +*************** +*** 5783,5787 **** + if (pflags & PF_ASSIGNRHS) + { +! temp = array_variable_name (name, &tt, (int *)0); + if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') + temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); +--- 5783,5787 ---- + if (pflags & PF_ASSIGNRHS) + { +! var = array_variable_part (name, &tt, (int *)0); + if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') + temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-041 b/patches/source/bash/bash-4.3-patches/bash43-041 new file mode 100644 index 000000000..a040a2ac5 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-041 @@ -0,0 +1,72 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-041 + +Bug-Reported-by: Hanno Böck +Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html, + http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html + +Bug-Description: + +There are several out-of-bounds read errors that occur when completing command +lines where assignment statements appear before the command name. The first +two appear only when programmable completion is enabled; the last one only +happens when listing possible completions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.40/bashline.c 2014-12-29 14:39:43.000000000 -0500 +--- bashline.c 2015-08-12 10:21:58.000000000 -0400 +*************** +*** 1469,1476 **** +--- 1469,1489 ---- + os = start; + n = 0; ++ was_assignment = 0; + s = find_cmd_start (os); + e = find_cmd_end (end); + do + { ++ /* Don't read past the end of rl_line_buffer */ ++ if (s > rl_end) ++ { ++ s1 = s = e1; ++ break; ++ } ++ /* Or past point if point is within an assignment statement */ ++ else if (was_assignment && s > rl_point) ++ { ++ s1 = s = e1; ++ break; ++ } + /* Skip over assignment statements preceding a command name. If we + don't find a command name at all, we can perform command name +*** ../bash-4.3.40/lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400 +--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400 +*************** +*** 690,693 **** +--- 690,695 ---- + if (temp == 0 || *temp == '\0') + return (pathname); ++ else if (temp[1] == 0 && temp == pathname) ++ return (pathname); + /* If the basename is NULL, we might have a pathname like '/usr/src/'. + Look for a previous slash and, if one is found, return the portion +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-042 b/patches/source/bash/bash-4.3-patches/bash43-042 new file mode 100644 index 000000000..cc3e17c6f --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-042 @@ -0,0 +1,55 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-042 + +Bug-Reported-by: Nathan Neulinger +Bug-Reference-ID: <558EFDF2.7060402@neulinger.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html + +Bug-Description: + +There is a problem when parsing command substitutions containing `case' +commands within pipelines that causes the parser to not correctly identify +the end of the command substitution. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400 +--- parse.y 2015-06-29 10:59:27.000000000 -0400 +*************** +*** 3709,3712 **** +--- 3709,3714 ---- + tflags |= LEX_INWORD; + lex_wlen = 0; ++ if (tflags & LEX_RESWDOK) ++ lex_rwlen = 0; + } + } +*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400 +--- y.tab.c 2015-06-29 10:59:27.000000000 -0400 +*************** +*** 6021,6024 **** +--- 6021,6026 ---- + tflags |= LEX_INWORD; + lex_wlen = 0; ++ if (tflags & LEX_RESWDOK) ++ lex_rwlen = 0; + } + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-043 b/patches/source/bash/bash-4.3-patches/bash43-043 new file mode 100644 index 000000000..ad82c2925 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-043 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-043 + +Bug-Reported-by: lolilolicon +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html + +Bug-Description: + +When the lastpipe option is enabled, the last component can contain nested +pipelines and cause a segmentation fault under certain circumestances. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400 +--- execute_cmd.c 2014-08-15 08:55:24.000000000 -0400 +*************** +*** 2406,2412 **** + { + #if defined (JOB_CONTROL) +! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid); +! #endif + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) + /* If wait_for removes the job from the jobs table, use result of last +--- 2433,2447 ---- + { + #if defined (JOB_CONTROL) +! if (INVALID_JOB (lastpipe_jid) == 0) +! { +! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid); +! lstdin = wait_for (lastpid); +! } +! else +! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */ +! #else + lstdin = wait_for (lastpid); ++ #endif ++ + #if defined (JOB_CONTROL) + /* If wait_for removes the job from the jobs table, use result of last +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-044 b/patches/source/bash/bash-4.3-patches/bash43-044 new file mode 100644 index 000000000..d8f1ce072 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-044 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-044 + +Bug-Reported-by: Ondrej Oprala +Bug-Reference-ID: <539ED55B.2080103@redhat.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html + +Bug-Description: + +A typo prevents the `compat42' shopt option from working as intended. + +Patch (apply with `patch -p0'): + +diff -rC 2 bash-4.3.42/builtins/shopt.def bash-4.3.43/builtins/shopt.def +*** bash-4.3.42/builtins/shopt.def 2013-02-27 09:43:20.000000000 -0500 +--- builtins/shopt.def 2015-10-16 11:25:28.000000000 -0400 +*************** +*** 161,165 **** + { "compat40", &shopt_compat40, set_compatibility_level }, + { "compat41", &shopt_compat41, set_compatibility_level }, +! { "compat42", &shopt_compat41, set_compatibility_level }, + #if defined (READLINE) + { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, +--- 161,165 ---- + { "compat40", &shopt_compat40, set_compatibility_level }, + { "compat41", &shopt_compat41, set_compatibility_level }, +! { "compat42", &shopt_compat42, set_compatibility_level }, + #if defined (READLINE) + { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-045 b/patches/source/bash/bash-4.3-patches/bash43-045 new file mode 100644 index 000000000..25dc3587a --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-045 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-045 + +Bug-Reported-by: Basin Ilya +Bug-Reference-ID: <5624C0AC.8070802@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-10/msg00141.html + +Bug-Description: + +If a file open attempted as part of a redirection fails because it is interrupted +by a signal, the shell needs to process any pending traps to allow the redirection +to be canceled. + +Patch (apply with `patch -p0'): + +*** bash-20150109/redir.c 2014-12-03 10:47:38.000000000 -0500 +--- redir.c 2015-01-16 10:15:47.000000000 -0500 +*************** +*** 672,676 **** + e = errno; + if (fd < 0 && e == EINTR) +! QUIT; + errno = e; + } +--- 672,679 ---- + e = errno; + if (fd < 0 && e == EINTR) +! { +! QUIT; +! run_pending_traps (); +! } + errno = e; + } + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-046 b/patches/source/bash/bash-4.3-patches/bash43-046 new file mode 100644 index 000000000..bea3970a2 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-046 @@ -0,0 +1,55 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-046 + +Bug-Reported-by: Sergey Tselikh +Bug-Reference-ID: <20150816110235.91f3e12e3f20d20cdaad963e@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-08/msg00080.html + +Bug-Description: + +An incorrect conversion from an indexed to associative array can result in a +core dump. + +Patch (apply with `patch -p0'): + +*** /fs2/chet/bash/bash-20150813/subst.c 2015-08-13 11:32:54.000000000 -0400 +--- subst.c 2015-08-18 10:13:59.000000000 -0400 +*************** +*** 9562,9566 **** + opts[opti] = '\0'; + if (opti > 0) +! make_internal_declare (tlist->word->word, opts); + + t = do_word_assignment (tlist->word, 0); +--- 9562,9573 ---- + opts[opti] = '\0'; + if (opti > 0) +! { +! t = make_internal_declare (tlist->word->word, opts); +! if (t != EXECUTION_SUCCESS) +! { +! last_command_exit_value = t; +! exp_jump_to_top_level (DISCARD); +! } +! } + + t = do_word_assignment (tlist->word, 0); + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-047 b/patches/source/bash/bash-4.3-patches/bash43-047 new file mode 100644 index 000000000..316e3afcd --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-047 @@ -0,0 +1,150 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-047 + +Bug-Reported-by: Bernd Dietzel +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1507025 + +Bug-Description: + +Bash performs word expansions on the prompt strings after the special +escape sequences are expanded. If a malicious user can modify the system +hostname or change the name of the bash executable and coerce a user into +executing it, and the new name contains word expansions (including +command substitution), bash will expand them in prompt strings containing +the \h or \H and \s escape sequences, respectively. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2015-08-13 15:11:54.000000000 -0400 +--- parse.y 2016-03-07 15:44:14.000000000 -0500 +*************** +*** 5259,5263 **** + int result_size, result_index; + int c, n, i; +! char *temp, octal_string[4]; + struct tm *tm; + time_t the_time; +--- 5259,5263 ---- + int result_size, result_index; + int c, n, i; +! char *temp, *t_host, octal_string[4]; + struct tm *tm; + time_t the_time; +*************** +*** 5407,5411 **** + case 's': + temp = base_pathname (shell_name); +! temp = savestring (temp); + goto add_string; + +--- 5407,5415 ---- + case 's': + temp = base_pathname (shell_name); +! /* Try to quote anything the user can set in the file system */ +! if (promptvars || posixly_correct) +! temp = sh_backslash_quote_for_double_quotes (temp); +! else +! temp = savestring (temp); + goto add_string; + +*************** +*** 5497,5503 **** + case 'h': + case 'H': +! temp = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (temp, '.'))) + *t = '\0'; + goto add_string; + +--- 5501,5515 ---- + case 'h': + case 'H': +! t_host = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (t_host, '.'))) + *t = '\0'; ++ if (promptvars || posixly_correct) ++ /* Make sure that expand_prompt_string is called with a ++ second argument of Q_DOUBLE_QUOTES if we use this ++ function here. */ ++ temp = sh_backslash_quote_for_double_quotes (t_host); ++ else ++ temp = savestring (t_host); ++ free (t_host); + goto add_string; + +*** ../bash-4.3-patched/y.tab.c 2015-08-13 15:11:54.000000000 -0400 +--- y.tab.c 2016-03-07 15:44:14.000000000 -0500 +*************** +*** 7571,7575 **** + int result_size, result_index; + int c, n, i; +! char *temp, octal_string[4]; + struct tm *tm; + time_t the_time; +--- 7571,7575 ---- + int result_size, result_index; + int c, n, i; +! char *temp, *t_host, octal_string[4]; + struct tm *tm; + time_t the_time; +*************** +*** 7719,7723 **** + case 's': + temp = base_pathname (shell_name); +! temp = savestring (temp); + goto add_string; + +--- 7719,7727 ---- + case 's': + temp = base_pathname (shell_name); +! /* Try to quote anything the user can set in the file system */ +! if (promptvars || posixly_correct) +! temp = sh_backslash_quote_for_double_quotes (temp); +! else +! temp = savestring (temp); + goto add_string; + +*************** +*** 7809,7815 **** + case 'h': + case 'H': +! temp = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (temp, '.'))) + *t = '\0'; + goto add_string; + +--- 7813,7827 ---- + case 'h': + case 'H': +! t_host = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (t_host, '.'))) + *t = '\0'; ++ if (promptvars || posixly_correct) ++ /* Make sure that expand_prompt_string is called with a ++ second argument of Q_DOUBLE_QUOTES if we use this ++ function here. */ ++ temp = sh_backslash_quote_for_double_quotes (t_host); ++ else ++ temp = savestring (t_host); ++ free (t_host); + goto add_string; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.3-patches/bash43-048 b/patches/source/bash/bash-4.3-patches/bash43-048 new file mode 100644 index 000000000..6a8588ec0 --- /dev/null +++ b/patches/source/bash/bash-4.3-patches/bash43-048 @@ -0,0 +1,54 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-048 + +Bug-Reported-by: up201407890@alunos.dcc.fc.up.pt +Bug-Reference-ID: <20151210201649.126444eionzfsam8@webmail.alunos.dcc.fc.up.pt> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-12/msg00054.html + +Bug-Description: + +If a malicious user can inject a value of $SHELLOPTS containing `xtrace' +and a value for $PS4 that includes a command substitution into a shell +running as root, bash will expand the command substitution as part of +expanding $PS4 when it executes a traced command. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/variables.c 2015-11-26 12:31:21.000000000 -0500 +--- variables.c 2015-12-23 10:19:01.000000000 -0500 +*************** +*** 496,500 **** + set_if_not ("PS2", secondary_prompt); + } +! set_if_not ("PS4", "+ "); + + /* Don't allow IFS to be imported from the environment. */ +--- 496,504 ---- + set_if_not ("PS2", secondary_prompt); + } +! +! if (current_user.euid == 0) +! bind_variable ("PS4", "+ ", 0); +! else +! set_if_not ("PS4", "+ "); + + /* Don't allow IFS to be imported from the environment. */ + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 48 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash.SlackBuild b/patches/source/bash/bash.SlackBuild new file mode 100755 index 000000000..a2950c268 --- /dev/null +++ b/patches/source/bash/bash.SlackBuild @@ -0,0 +1,170 @@ +#!/bin/sh + +# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2011, 2012 by Eric Hameleers for ARM port. + + +# Set initial variables: +CWD=`pwd` +if [ "$TMP" = "" ]; then + TMP=/tmp +fi +PKG=$TMP/package-bash + +VERSION=${VERSION:-$(echo bash-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i586 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" +else + SLKCFLAGS="-O2" +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +if [ ! -d $TMP ]; then + mkdir -p $TMP # location to build the source +fi +rm -rf $PKG +mkdir -p $PKG + +# Determine bash patchlevel: +PATCHLEVEL="$( cd $CWD/bash-${VERSION}-patches ; /bin/ls bash4?-??? | tail -1 | cut -f 2 -d - 2> /dev/null )" +if [ "$PATCHLEVEL" = "" ]; then + PATCHLEVEL=0 +fi + +cd $TMP +rm -rf bash-$VERSION +tar xvf $CWD/bash-$VERSION.tar.?z* || exit 1 +cd bash-$VERSION || exit 1 +chown -R root:root . +find . -perm 664 | xargs chmod 644 +find . -perm 775 | xargs chmod 755 + +if [ -d $CWD/bash-${VERSION}-patches ]; then + ( cd $CWD/bash-${VERSION}-patches ; cat bash4?-??? ) | patch -p0 --verbose || exit 1 +fi + +# End of preparations +if echo "$*" | grep -qw -- --prep ; then + exit 0 +fi + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --build=$TARGET || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +mv $PKG/usr/share/doc $PKG/usr +mkdir -p $PKG/bin +mv $PKG/usr/bin/bash $PKG/bin/bash4.new +# We don't include the "bashbug" script. +rm -rf $PKG/usr/bin $PKG/usr/man/man1/bashbug.1 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# bash.1 is already installed by "make install" +( cd doc + for page in builtins.1 rbash.1 ; do + cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz + done +) + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +mkdir -p $PKG/usr/doc/bash-$VERSION +cp -a AUTHORS CHANGES COMPAT COPYING* INSTALL MANIFEST NEWS NOTES \ + README* Y2K doc/FAQ doc/INTRO \ + $PKG/usr/doc/bash-$VERSION +( cd doc ; groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +makepkg -l y -c n $TMP/bash-$VERSION.$PATCHLEVEL-$ARCH-$BUILD.txz + diff --git a/patches/source/bash/doinst.sh b/patches/source/bash/doinst.sh new file mode 100644 index 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..f20a83f9a --- /dev/null +++ b/patches/source/bind/bind.SlackBuild @@ -0,0 +1,165 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=bind +VERSION=${VERSION:-9.10.6-P1} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=/bind-$(mcookie) +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG/etc/default + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Remove use of SO_BSDCOMPAT which has been obsolete since the 2.2.x kernel +# series, and generates warnings under 2.6.x kernels. This _might_ be fixed +# upstream already, but an explicit #undef SO_BSDCOMPAT does not hurt: +zcat $CWD/bind.so_bsdcompat.diff.gz | patch -p1 --verbose || exit + +# Thanks to Fedora for libidn support patch: +zcat $CWD/bind.libidn.patch.gz | patch -p1 --verbose || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-libtool \ + --mandir=/usr/man \ + --enable-shared \ + --disable-static \ + --enable-threads \ + --with-openssl=/usr \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# We like symlinks. +( cd $PKG/usr/sbin + ln -sf named lwresd +) + +# We like a lot of symlinks. +( cd $PKG/usr/man/man3 + sh $CWD/3link.sh +) + +# Install init script: +mkdir -p $PKG/etc/rc.d +cp -a $CWD/rc.bind $PKG/etc/rc.d/rc.bind.new +chmod 644 $PKG/etc/rc.d/rc.bind.new + +# Add /var/run/named directory: +mkdir -p $PKG/var/run/named + +# Fix library perms: +chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/* + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Symlink hardlinked man pages: +( cd $PKG/usr/man/man1 + ln -sf isc-config.sh.1 bind9-config.1 +) + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + CHANGES COPYRIGHT FAQ* README* \ + doc/arm doc/misc \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# This one should have the correct perms of the config file: +chmod 644 $PKG/usr/doc/${PKGNAM}-$VERSION/misc/rndc.conf-sample + +# One format of this is plenty. Especially get rid of the bloated PDF. +( cd $PKG/usr/doc/bind-$VERSION/arm + rm -f Makefile* *.pdf *.xml README.SGML latex-fixup.pl +) + +# Add sample config files for a simple caching nameserver: +mkdir -p $PKG/var/named/caching-example +cat $CWD/caching-example/named.conf > $PKG/etc/named.conf.new +cat $CWD/caching-example/localhost.zone > $PKG/var/named/caching-example/localhost.zone +cat $CWD/caching-example/named.local > $PKG/var/named/caching-example/named.local +cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.root +# This name is deprecated, but having it here doesn't hurt in case +# an old configuration file wants it: +cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.ca + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz + diff --git a/patches/source/bind/bind.libidn.patch b/patches/source/bind/bind.libidn.patch new file mode 100644 index 000000000..6e042be74 --- /dev/null +++ b/patches/source/bind/bind.libidn.patch @@ -0,0 +1,297 @@ +diff --git a/bin/dig/Makefile.in b/bin/dig/Makefile.in +index bd219c5..f71685b 100644 +--- a/bin/dig/Makefile.in ++++ b/bin/dig/Makefile.in +@@ -38,10 +38,10 @@ DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} \ + ${ISCCFGDEPLIBS} ${LWRESDEPLIBS} + + LIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \ +- ${ISCLIBS} @IDNLIBS@ @LIBS@ ++ ${ISCLIBS} @IDNLIBS@ @LIBS@ -lidn + + NOSYMLIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \ +- ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@ ++ ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@ -lidn + + SUBDIRS = + +@@ -59,6 +59,8 @@ HTMLPAGES = dig.html host.html nslookup.html + + MANOBJS = ${MANPAGES} ${HTMLPAGES} + ++EXT_CFLAGS = -DWITH_LIBIDN ++ + @BIND9_MAKE_RULES@ + + dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS} +diff --git a/bin/dig/dig.docbook b/bin/dig/dig.docbook +index 7a7e8e4..b36047f 100644 +--- a/bin/dig/dig.docbook ++++ b/bin/dig/dig.docbook +@@ -1251,8 +1251,8 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr + dig appropriately converts character encoding of + domain name before sending a request to DNS server or displaying a + reply from the server. +- If you'd like to turn off the IDN support for some reason, defines +- the IDN_DISABLE environment variable. ++ If you'd like to turn off the IDN support for some reason, define ++ the CHARSET=ASCII environment variable. + The IDN support is disabled if the variable is set when + dig runs. + +diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c +index 1f8bcf2..f657c30 100644 +--- a/bin/dig/dighost.c ++++ b/bin/dig/dighost.c +@@ -33,6 +33,11 @@ + #include + #endif + ++#ifdef WITH_LIBIDN ++#include ++#include ++#endif ++ + #include + #ifdef DIG_SIGCHASE + #include +@@ -158,6 +163,14 @@ static void idn_check_result(idn_result_t r, const char *msg); + int idnoptions = 0; + #endif + ++#ifdef WITH_LIBIDN ++static isc_result_t libidn_locale_to_utf8 (const char* from, char *to); ++static isc_result_t libidn_utf8_to_ascii (const char* from, char *to); ++static isc_result_t output_filter (isc_buffer_t *buffer, ++ unsigned int used_org, ++ isc_boolean_t absolute); ++#endif ++ + isc_socket_t *keep = NULL; + isc_sockaddr_t keepaddr; + +@@ -1448,8 +1461,15 @@ setup_system(isc_boolean_t ipv4only, isc_boolean_t ipv6only) { + + #ifdef WITH_IDN + initialize_idn(); ++ ++#endif ++#ifdef WITH_LIBIDN ++ result = dns_name_settotextfilter(output_filter); ++ check_result(result, "dns_name_settotextfilter"); ++#ifdef HAVE_SETLOCALE ++ setlocale (LC_ALL, ""); ++#endif + #endif +- + if (keyfile[0] != 0) + setup_file_key(); + else if (keysecret[0] != 0) +@@ -2231,8 +2251,11 @@ setup_lookup(dig_lookup_t *lookup) { + idn_result_t mr; + char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME]; + #endif ++#ifdef WITH_LIBIDN ++ char utf8_str[MXNAME], utf8_name[MXNAME], ascii_name[MXNAME]; ++#endif + +-#ifdef WITH_IDN ++#if defined (WITH_IDN) || defined (WITH_LIBIDN) + result = dns_name_settotextfilter(lookup->idnout ? + output_filter : NULL); + check_result(result, "dns_name_settotextfilter"); +@@ -2274,6 +2297,14 @@ setup_lookup(dig_lookup_t *lookup) { + mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, lookup->textname, + utf8_textname, sizeof(utf8_textname)); + idn_check_result(mr, "convert textname to UTF-8"); ++#elif defined (WITH_LIBIDN) ++ result = libidn_locale_to_utf8 (lookup->textname, utf8_str); ++ check_result (result, "convert textname to UTF-8"); ++ len = strlen (utf8_str); ++ if (len < MXNAME) ++ (void) strcpy (utf8_name, utf8_str); ++ else ++ fatal ("Too long name"); + #endif + + /* +@@ -2286,15 +2317,11 @@ setup_lookup(dig_lookup_t *lookup) { + if (lookup->new_search) { + #ifdef WITH_IDN + if ((count_dots(utf8_textname) >= ndots) || !usesearch) { +- lookup->origin = NULL; /* Force abs lookup */ +- lookup->done_as_is = ISC_TRUE; +- lookup->need_search = usesearch; +- } else if (lookup->origin == NULL && usesearch) { +- lookup->origin = ISC_LIST_HEAD(search_list); +- lookup->need_search = ISC_FALSE; +- } ++#elif defined (WITH_LIBIDN) ++ if ((count_dots(utf8_name) >= ndots) || !usesearch) { + #else + if ((count_dots(lookup->textname) >= ndots) || !usesearch) { ++#endif + lookup->origin = NULL; /* Force abs lookup */ + lookup->done_as_is = ISC_TRUE; + lookup->need_search = usesearch; +@@ -2302,7 +2329,6 @@ setup_lookup(dig_lookup_t *lookup) { + lookup->origin = ISC_LIST_HEAD(search_list); + lookup->need_search = ISC_FALSE; + } +-#endif + } + + #ifdef WITH_IDN +@@ -2319,6 +2345,20 @@ setup_lookup(dig_lookup_t *lookup) { + IDN_IDNCONV | IDN_LENCHECK, utf8_textname, + idn_textname, sizeof(idn_textname)); + idn_check_result(mr, "convert UTF-8 textname to IDN encoding"); ++#elif defined (WITH_LIBIDN) ++ if (lookup->origin != NULL) { ++ result = libidn_locale_to_utf8 (lookup->origin->origin, utf8_str); ++ check_result (result, "convert origin to UTF-8"); ++ if (len > 0 && utf8_name[len - 1] != '.') { ++ utf8_name[len++] = '.'; ++ if (len + strlen (utf8_str) < MXNAME) ++ (void) strcpy (utf8_name + len, utf8_str); ++ else ++ fatal ("Too long name + origin"); ++ } ++ } ++ ++ result = libidn_utf8_to_ascii (utf8_name, ascii_name); + #else + if (lookup->origin != NULL) { + debug("trying origin %s", lookup->origin->origin); +@@ -2389,6 +2429,13 @@ setup_lookup(dig_lookup_t *lookup) { + result = dns_name_fromtext(lookup->name, &b, + dns_rootname, 0, + &lookup->namebuf); ++#elif defined (WITH_LIBIDN) ++ len = strlen (ascii_name); ++ isc_buffer_init(&b, ascii_name, len); ++ isc_buffer_add(&b, len); ++ result = dns_name_fromtext(lookup->name, &b, ++ dns_rootname, 0, ++ &lookup->namebuf); + #else + len = (unsigned int) strlen(lookup->textname); + isc_buffer_init(&b, lookup->textname, len); +@@ -4377,7 +4424,7 @@ destroy_libs(void) { + void * ptr; + dig_message_t *chase_msg; + #endif +-#ifdef WITH_IDN ++#if defined (WITH_IDN) || defined (WITH_LIBIDN) + isc_result_t result; + #endif + +@@ -4418,6 +4465,10 @@ destroy_libs(void) { + result = dns_name_settotextfilter(NULL); + check_result(result, "dns_name_settotextfilter"); + #endif ++#ifdef WITH_LIBIDN ++ result = dns_name_settotextfilter (NULL); ++ check_result(result, "clearing dns_name_settotextfilter"); ++#endif + dns_name_destroy(); + + if (commctx != NULL) { +@@ -4603,6 +4654,97 @@ idn_check_result(idn_result_t r, const char *msg) { + } + } + #endif /* WITH_IDN */ ++#ifdef WITH_LIBIDN ++static isc_result_t ++libidn_locale_to_utf8 (const char *from, char *to) { ++ char *utf8_str; ++ ++ debug ("libidn_locale_to_utf8"); ++ utf8_str = stringprep_locale_to_utf8 (from); ++ if (utf8_str != NULL) { ++ (void) strcpy (to, utf8_str); ++ free (utf8_str); ++ return ISC_R_SUCCESS; ++ } ++ ++ debug ("libidn_locale_to_utf8: failure"); ++ return ISC_R_FAILURE; ++} ++static isc_result_t ++libidn_utf8_to_ascii (const char *from, char *to) { ++ char *ascii; ++ int iresult; ++ ++ debug ("libidn_utf8_to_ascii"); ++ iresult = idna_to_ascii_8z (from, &ascii, 0); ++ if (iresult != IDNA_SUCCESS) { ++ debug ("idna_to_ascii_8z: %s", idna_strerror (iresult)); ++ return ISC_R_FAILURE; ++ } ++ ++ (void) strcpy (to, ascii); ++ free (ascii); ++ return ISC_R_SUCCESS; ++} ++ ++static isc_result_t ++output_filter (isc_buffer_t *buffer, unsigned int used_org, ++ isc_boolean_t absolute) { ++ ++ char tmp1[MXNAME], *tmp2; ++ size_t fromlen, tolen; ++ isc_boolean_t end_with_dot; ++ int iresult; ++ ++ debug ("output_filter"); ++ ++ fromlen = isc_buffer_usedlength (buffer) - used_org; ++ if (fromlen >= MXNAME) ++ return ISC_R_SUCCESS; ++ memcpy (tmp1, (char *) isc_buffer_base (buffer) + used_org, fromlen); ++ end_with_dot = (tmp1[fromlen - 1] == '.') ? ISC_TRUE : ISC_FALSE; ++ if (absolute && !end_with_dot) { ++ fromlen++; ++ if (fromlen >= MXNAME) ++ return ISC_R_SUCCESS; ++ tmp1[fromlen - 1] = '.'; ++ } ++ tmp1[fromlen] = '\0'; ++ ++ iresult = idna_to_unicode_8z8z (tmp1, &tmp2, 0); ++ if (iresult != IDNA_SUCCESS) { ++ debug ("output_filter: %s", idna_strerror (iresult)); ++ return ISC_R_SUCCESS; ++ } ++ ++ (void) strcpy (tmp1, tmp2); ++ free (tmp2); ++ ++ tmp2 = stringprep_utf8_to_locale (tmp1); ++ if (tmp2 == NULL) { ++ debug ("output_filter: stringprep_utf8_to_locale failed"); ++ return ISC_R_SUCCESS; ++ } ++ ++ (void) strcpy (tmp1, tmp2); ++ free (tmp2); ++ ++ tolen = strlen (tmp1); ++ if (absolute && !end_with_dot && tmp1[tolen - 1] == '.') ++ tolen--; ++ ++ if (isc_buffer_length (buffer) < used_org + tolen) ++ return ISC_R_NOSPACE; ++ ++ debug ("%s", tmp1); ++ ++ isc_buffer_subtract (buffer, isc_buffer_usedlength (buffer) - used_org); ++ memcpy (isc_buffer_used (buffer), tmp1, tolen); ++ isc_buffer_add (buffer, tolen); ++ ++ return ISC_R_SUCCESS; ++} ++#endif /* WITH_LIBIDN*/ + + #ifdef DIG_SIGCHASE + void diff --git a/patches/source/bind/bind.so_bsdcompat.diff b/patches/source/bind/bind.so_bsdcompat.diff new file mode 100644 index 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 . " +; 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/bluez/bluez-5.30-obexd_without_systemd-1.patch b/patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch new file mode 100644 index 000000000..749787c5b --- /dev/null +++ b/patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch @@ -0,0 +1,61 @@ +Submitted By: Armin K. +Date: 2013-04-29 +Initial Package Version: 5.17 +Upstream Status: unknown +Origin: Arch Linux (Giovanni Campagna) +Description: Allow using obexd without systemd in the user session + +Not all sessions run systemd --user (actually, the majority +doesn't), so the dbus daemon must be able to spawn obexd +directly, and to do so it needs the full path of the daemon. +--- + Makefile.obexd | 4 ++-- + obexd/src/org.bluez.obex.service | 4 ---- + obexd/src/org.bluez.obex.service.in | 4 ++++ + 3 files changed, 6 insertions(+), 6 deletions(-) + delete mode 100644 obexd/src/org.bluez.obex.service + create mode 100644 obexd/src/org.bluez.obex.service.in + +diff --git a/Makefile.obexd b/Makefile.obexd +index 3760867..142e7c3 100644 +--- a/Makefile.obexd ++++ b/Makefile.obexd +@@ -2,12 +2,12 @@ + if SYSTEMD + systemduserunitdir = @SYSTEMD_USERUNITDIR@ + systemduserunit_DATA = obexd/src/obex.service ++endif + + dbussessionbusdir = @DBUS_SESSIONBUSDIR@ + dbussessionbus_DATA = obexd/src/org.bluez.obex.service +-endif + +-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service ++EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in + + obex_plugindir = $(libdir)/obex/plugins + +diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service +deleted file mode 100644 +index a538088..0000000 +--- a/obexd/src/org.bluez.obex.service ++++ /dev/null +@@ -1,4 +0,0 @@ +-[D-BUS Service] +-Name=org.bluez.obex +-Exec=/bin/false +-SystemdService=dbus-org.bluez.obex.service +diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in +new file mode 100644 +index 0000000..9c815f2 +--- /dev/null ++++ b/obexd/src/org.bluez.obex.service.in +@@ -0,0 +1,4 @@ ++[D-BUS Service] ++Name=org.bluez.obex ++Exec=@libexecdir@/obexd ++SystemdService=dbus-org.bluez.obex.service +-- +1.8.3.1 + + diff --git a/patches/source/bluez/bluez.SlackBuild b/patches/source/bluez/bluez.SlackBuild new file mode 100755 index 000000000..4225f828d --- /dev/null +++ b/patches/source/bluez/bluez.SlackBuild @@ -0,0 +1,178 @@ +#!/bin/sh + +# Copyright 2009, 2010, 2011, 2012, 2013, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=bluez +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +NUMJOBS=${NUMJOBS:--j7} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/${PKGNAM}-${VERSION}.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/bluez-5.30-obexd_without_systemd-1.patch.gz | patch -p1 --verbose || exit 1 + +autoreconf -vif + +sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile.{in,tools} + +# We're adding --enable-deprecated due to this commit: +# +# commit b1eb2c4cd057624312e0412f6c4be000f7fc3617 +#Author: Luiz Augusto von Dentz +#Date: Wed Jan 4 14:23:58 2017 +0200 +# +# build: Hide deprecated tools under --enable-deprecated +# +# This marks the following tools as deprecated as they are not longer +# maintained or have been replaced by other tools: +# +# hciattach hciconfig hcitool hcidump rfcomm sdptool ciptool gatttool + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +LDFLAGS="-L/usr/lib$LIBDIRSUFFIX" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --localstatedir=/var \ + --docdir=/usr/doc/${PKGNAM}-${VERSION} \ + --enable-library \ + --disable-systemd \ + --enable-deprecated \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Use reset=1 for the btusb module, which supposedly fixes reconnect problems: +mkdir -p $PKG/lib/modprobe.d +cp -a $CWD/btusb.conf $PKG/lib/modprobe.d +chown root:root $PKG/lib/modprobe.d/btusb.conf +chmod 644 $PKG/lib/modprobe.d/btusb.conf + +# Add bluetoothd to /usr/sbin +mkdir -p $PKG/usr/sbin +ln -s ../libexec/bluetooth/bluetoothd $PKG/usr/sbin + +# Install the configuration files +mkdir -p $PKG/etc/bluetooth $PKG/etc/default +cat src/main.conf > $PKG/etc/bluetooth/main.conf.new +cat profiles/input/input.conf > $PKG/etc/bluetooth/input.conf.new +cat profiles/network/network.conf > $PKG/etc/bluetooth/network.conf.new +cat profiles/proximity/proximity.conf > $PKG/etc/bluetooth/proximity.conf.new +cat $CWD/config/uart.conf > $PKG/etc/bluetooth/uart.conf.new +cat $CWD/config/defaultconfig > $PKG/etc/default/bluetooth.new + +# Add an init script +mkdir -p $PKG/etc/rc.d +cat $CWD/config/rc.bluetooth > $PKG/etc/rc.d/rc.bluetooth.new + +# Let's go ahead and let that start by default, unless an existing init +# script is not executable: +chmod 755 $PKG/etc/rc.d/rc.bluetooth.new + +# If the deprecated utility gatttool was built, go ahead and install it: +if [ -x attrib/gatttool ]; then + cp attrib/gatttool $PKG/usr/bin + chown root:root $PKG/usr/bin/gatttool + chmod 755 $PKG/usr/bin/gatttool +fi + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL README* TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install + +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/bluez/btusb.conf b/patches/source/bluez/btusb.conf new file mode 100644 index 000000000..3072d7885 --- /dev/null +++ b/patches/source/bluez/btusb.conf @@ -0,0 +1,3 @@ +# use "reset=1" as default, since it should be safe for recent devices and +# solves all kind of problems. +options btusb reset=1 diff --git a/patches/source/bluez/config/defaultconfig b/patches/source/bluez/config/defaultconfig new file mode 100644 index 000000000..b4da786e1 --- /dev/null +++ b/patches/source/bluez/config/defaultconfig @@ -0,0 +1,9 @@ +# /etc/default/bluetooth + +# A space delimied list of devices to start at boot time +ACTIVE_HCI_DEVICES_ON_BOOT="hci0" + +# A semicolon delimited list of SDP (Service Discovery Protocol) +# operations for bluetooth devices. See the sdptool for more details. +SDPTOOL_OPTIONS="" + diff --git a/patches/source/bluez/config/rc.bluetooth b/patches/source/bluez/config/rc.bluetooth new file mode 100644 index 000000000..b56fcd101 --- /dev/null +++ b/patches/source/bluez/config/rc.bluetooth @@ -0,0 +1,74 @@ +#!/bin/sh + +# /etc/rc.d/rc.bluetooth (based on BLFS script) + +# Populated from /etc/default/bluetooth: +# ACTIVE_HCI_DEVICES_ON_BOOT and SDPTOOL_OPTIONS + +[ -r /etc/default/bluetooth ] && . /etc/default/bluetooth + +start_hci_dev() { + for dev in ${ACTIVE_HCI_DEVICES_ON_BOOT} ; do + hciconfig $dev up > /dev/null 2>&1 + done +} + +run_sdptool() { + # Declaring IFS local in this function, removes the need to save/restore it + local IFS option + test -x /usr/bin/sdptool || return 1 + IFS=";" + for option in ${SDPTOOL_OPTIONS}; do + IFS=" " + /usr/bin/sdptool $option > /dev/null 2>&1 + done +} + +start_uarts() { + [ -r /etc/bluetooth/uart.conf ] || return + grep -v '^[[:space:]]*(#|$)' /etc/bluetooth/uart.conf | while read i; do + /usr/bin/hciattach $i > /dev/null 2>&1 + done +} + +stop_uarts() { + killall /usr/bin/hciattach > /dev/null 2>&1 +} + +start() { + if [ -d /sys/class/bluetooth ]; then + # Start as background process and assume OK + echo -n "Starting Bluetooth services: bluetoothd " + /usr/sbin/bluetoothd & + echo -n "hciconfig " + start_hci_dev + echo -n "sdptool " + run_sdptool + echo "hciattach" + start_uarts + fi +} + +stop() { + stop_uarts + killall /usr/sbin/bluetoothd > /dev/null 2>&1 +} + +case "${1}" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + sleep 1 + start + ;; + *) + echo "Usage: ${0} {start|stop|restart}" + exit 1 + ;; +esac + diff --git a/patches/source/bluez/config/uart.conf b/patches/source/bluez/config/uart.conf new file mode 100644 index 000000000..b2e276f4e --- /dev/null +++ b/patches/source/bluez/config/uart.conf @@ -0,0 +1,6 @@ +# /etc/bluetooth/uart.conf + +# Attach serial devices via UART HCI to BlueZ stack +# Use one line per device +# See the hciattach man page for options + diff --git a/patches/source/bluez/doinst.sh b/patches/source/bluez/doinst.sh new file mode 100644 index 000000000..7fc213834 --- /dev/null +++ b/patches/source/bluez/doinst.sh @@ -0,0 +1,27 @@ +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/bluetooth/input.conf.new +config etc/bluetooth/main.conf.new +config etc/bluetooth/network.conf.new +config etc/bluetooth/proximity.conf.new +config etc/bluetooth/uart.conf.new +config etc/default/bluetooth.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..6b3cf0105 --- /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.2} + +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/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..fef373d9b --- /dev/null +++ b/patches/source/curl/curl.SlackBuild @@ -0,0 +1,153 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017, 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=curl +VERSION=${VERSION:-$(echo curl-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-curl + +# Uncomment to build a no-SSL version: +#SSLOPT=--without-ssl + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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 \ + --with-libssh2 \ + --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.10.x-allow_root_globally.diff b/patches/source/dbus/dbus-1.10.x-allow_root_globally.diff new file mode 100644 index 000000000..07d1ac333 --- /dev/null +++ b/patches/source/dbus/dbus-1.10.x-allow_root_globally.diff @@ -0,0 +1,18 @@ +diff -Nur dbus-1.10.0.orig/bus/system.conf.in dbus-1.10.0/bus/system.conf.in +--- dbus-1.10.0.orig/bus/system.conf.in 2015-07-21 11:46:00.000000000 -0500 ++++ dbus-1.10.0/bus/system.conf.in 2015-10-03 17:47:18.646635691 -0500 +@@ -100,6 +100,14 @@ + + @DBUS_SYSCONFDIR@/dbus-1/system.conf + ++ ++ ++ ++ ++ ++ + + system.d diff --git a/patches/source/dbus/dbus.SlackBuild b/patches/source/dbus/dbus.SlackBuild new file mode 100755 index 000000000..6b0c343b4 --- /dev/null +++ b/patches/source/dbus/dbus.SlackBuild @@ -0,0 +1,151 @@ +#!/bin/sh + +# Copyright 2007-2010 Robby Workman, Northport, Alabama, USA +# Copyright 2007-2015 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:-2_slack14.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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.10.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1 + +# Don't demand high-quality entropy from expat-2.2.2+ because 1) dbus doesn't +# need it and 2) it can cause the boot process to hang if dbus times out: +zcat $CWD/dbus.expat222fix.diff.gz | patch -p1 --verbose || exit 1 + +# Needed due to expat patch: +autoreconf -vif + +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-console-auth-dir=/var/run/console \ + --with-init-scripts=slackware \ + --build=$ARCH-slackware-linux || exit 1 + +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.expat222fix.diff b/patches/source/dbus/dbus.expat222fix.diff new file mode 100644 index 000000000..4d7f9b741 --- /dev/null +++ b/patches/source/dbus/dbus.expat222fix.diff @@ -0,0 +1,74 @@ +From 4397b56a3c31ce0a1b99f528f2422d406ddbc2c8 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Fri, 21 Jul 2017 10:46:39 +0100 +Subject: [PATCH] config-loader-expat: Tell Expat not to defend against hash + collisions + +By default, Expat uses cryptographic-quality random numbers as a salt for +its hash algorithm, and since 2.2.1 it gets them from the getrandom +syscall on Linux. That syscall refuses to return any entropy until the +kernel's CSPRNG (random pool) has been initialized. Unfortunately, this +can take as long as 40 seconds on embedded devices with few entropy +sources, which is too long: if the system dbus-daemon blocks for that +length of time, important D-Bus clients like systemd and systemd-logind +time out and fail to connect to it. + +We're parsing small configuration files here, and we trust them +completely, so we don't need to defend against hash collisions: nobody +is going to be crafting them to cause pathological performance. + +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101858 +Signed-off-by: Simon McVittie +--- + bus/config-loader-expat.c | 14 ++++++++++++++ + configure.ac | 8 ++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/bus/config-loader-expat.c b/bus/config-loader-expat.c +index b571fda3..27cbe2d0 100644 +--- a/bus/config-loader-expat.c ++++ b/bus/config-loader-expat.c +@@ -203,6 +203,20 @@ bus_config_load (const DBusString *file, + goto failed; + } + ++ /* We do not need protection against hash collisions (CVE-2012-0876) ++ * because we are only parsing trusted XML; and if we let Expat block ++ * waiting for the CSPRNG to be initialized, as it does by default to ++ * defeat CVE-2012-0876, it can cause timeouts during early boot on ++ * entropy-starved embedded devices. ++ * ++ * TODO: When Expat gets a more explicit API for this than ++ * XML_SetHashSalt, check for that too, and use it preferentially. ++ * https://github.com/libexpat/libexpat/issues/91 */ ++#if defined(HAVE_XML_SETHASHSALT) ++ /* Any nonzero number will do. https://xkcd.com/221/ */ ++ XML_SetHashSalt (expat, 4); ++#endif ++ + if (!_dbus_string_get_dirname (file, &dirname)) + { + dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); +diff --git a/configure.ac b/configure.ac +index e819611a..77548169 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -938,6 +938,14 @@ XML_CFLAGS= + AC_SUBST([XML_CFLAGS]) + AC_SUBST([XML_LIBS]) + ++save_cflags="$CFLAGS" ++save_libs="$LIBS" ++CFLAGS="$CFLAGS $XML_CFLAGS" ++LIBS="$LIBS $XML_LIBS" ++AC_CHECK_FUNCS([XML_SetHashSalt]) ++CFLAGS="$save_cflags" ++LIBS="$save_libs" ++ + # Thread lib detection + AC_ARG_VAR([THREAD_LIBS]) + save_libs="$LIBS" +-- +2.13.3 + + diff --git a/patches/source/dbus/doinst.sh b/patches/source/dbus/doinst.sh new file mode 100644 index 000000000..dcefd1ff5 --- /dev/null +++ b/patches/source/dbus/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... +} + +# 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 +# No, just install the thing. Leaving it as .new will only lead to problems. +if [ -r etc/rc.d/rc.messagebus.new ]; then + mv etc/rc.d/rc.messagebus.new etc/rc.d/rc.messagebus +fi + diff --git a/patches/source/dbus/rc.messagebus b/patches/source/dbus/rc.messagebus new file mode 100644 index 000000000..9a1ffce9f --- /dev/null +++ b/patches/source/dbus/rc.messagebus @@ -0,0 +1,81 @@ +#!/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 + +# This is a modified version of the rc.messagebus script distributed with the +# dbus sources. Thanks to Don Tanner of the GWare Project +# for most of the work involved --Robby Workman + + +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..32e372d51 --- /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.2} + +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=i586 ;; + 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" = "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 + +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/dnsmasq/dnsmasq.SlackBuild b/patches/source/dnsmasq/dnsmasq.SlackBuild new file mode 100755 index 000000000..7334056a4 --- /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.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +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..0a019c6a9 --- /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 +# Modified by Patrick Volkerding + +PKGNAM=emacs +BUILD=${BUILD:-1_slack14.2} +# 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=i586 ;; + 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" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -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=gtk3 \ + --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..c75088b49 --- /dev/null +++ b/patches/source/expat/expat.SlackBuild @@ -0,0 +1,93 @@ +#!/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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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/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 +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..bb514e223 --- /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.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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..fee71076d --- /dev/null +++ b/patches/source/freetype/freetype.illadvisederror.diff @@ -0,0 +1,31 @@ +diff -Nur freetype-2.6.1.orig/include/freetype/freetype.h freetype-2.6.1/include/freetype/freetype.h +--- freetype-2.6.1.orig/include/freetype/freetype.h 2015-10-03 23:54:01.000000000 -0500 ++++ freetype-2.6.1/include/freetype/freetype.h 2015-10-04 22:13:40.233912984 -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 " +-#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 " */ ++/* #error " #include FT_FREETYPE_H" */ ++/* #endif */ ++/***************************************************************************/ + + + #include diff --git a/patches/source/freetype/freetype.subpixel.rendering.diff b/patches/source/freetype/freetype.subpixel.rendering.diff new file mode 100644 index 000000000..5ab3b379a --- /dev/null +++ b/patches/source/freetype/freetype.subpixel.rendering.diff @@ -0,0 +1,12 @@ +diff -Naur freetype-2.6.1.orig/include/freetype/config/ftoption.h freetype-2.6.1/include/freetype/config/ftoption.h +--- freetype-2.6.1.orig/include/freetype/config/ftoption.h 2015-09-25 07:58:57.000000000 +0200 ++++ freetype-2.6.1/include/freetype/config/ftoption.h 2015-10-31 16:11:42.016958163 +0100 +@@ -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..d70b3e756 --- /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: FreeType is a free and portable font rendering engine. It has been +freetype: developed to provide support for a number of font formats, including +freetype: TrueType, Type 1, and OpenType, and is designed to be small, +freetype: efficient, highly customizable, and portable while capable of +freetype: producing high-quality output. +freetype: +freetype: Homepage: http://www.freetype.org +freetype: +freetype: diff --git a/patches/source/gcc/0001-i386-Move-struct-ix86_frame-to-machine_function.diff b/patches/source/gcc/0001-i386-Move-struct-ix86_frame-to-machine_function.diff new file mode 100644 index 000000000..413d75697 --- /dev/null +++ b/patches/source/gcc/0001-i386-Move-struct-ix86_frame-to-machine_function.diff @@ -0,0 +1,239 @@ +From 11a3b9034935080b9996caf07fca6353309006f1 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Mon, 15 Jan 2018 11:27:24 +0000 +Subject: [PATCH 1/9] i386: Move struct ix86_frame to machine_function + +Make ix86_frame available to i386 code generation. This is needed to +backport the patch set of -mindirect-branch= to mitigate variant #2 of +the speculative execution vulnerabilities on x86 processors identified +by CVE-2017-5715, aka Spectre. + + Backport from mainline + * config/i386/i386.c (ix86_frame): Moved to ... + * config/i386/i386.h (ix86_frame): Here. + (machine_function): Add frame. + * config/i386/i386.c (ix86_compute_frame_layout): Repace the + frame argument with &cfun->machine->frame. + (ix86_can_use_return_insn_p): Don't pass &frame to + ix86_compute_frame_layout. Copy frame from cfun->machine->frame. + (ix86_can_eliminate): Likewise. + (ix86_expand_prologue): Likewise. + (ix86_expand_epilogue): Likewise. + (ix86_expand_split_stack_prologue): Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256691 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + src/gcc/config/i386/i386.c | 68 ++++++++------------------------------------- + src/gcc/config/i386/i386.h | 53 ++++++++++++++++++++++++++++++++++- + 2 files changed, 65 insertions(+), 56 deletions(-) + +Index: b/src/gcc/config/i386/i386.c +=================================================================== +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -2306,53 +2306,6 @@ struct GTY(()) stack_local_entry { + struct stack_local_entry *next; + }; + +-/* Structure describing stack frame layout. +- Stack grows downward: +- +- [arguments] +- <- ARG_POINTER +- saved pc +- +- saved static chain if ix86_static_chain_on_stack +- +- saved frame pointer if frame_pointer_needed +- <- HARD_FRAME_POINTER +- [saved regs] +- <- regs_save_offset +- [padding0] +- +- [saved SSE regs] +- <- sse_regs_save_offset +- [padding1] | +- | <- FRAME_POINTER +- [va_arg registers] | +- | +- [frame] | +- | +- [padding2] | = to_allocate +- <- STACK_POINTER +- */ +-struct ix86_frame +-{ +- int nsseregs; +- int nregs; +- int va_arg_size; +- int red_zone_size; +- int outgoing_arguments_size; +- +- /* The offsets relative to ARG_POINTER. */ +- HOST_WIDE_INT frame_pointer_offset; +- HOST_WIDE_INT hard_frame_pointer_offset; +- HOST_WIDE_INT stack_pointer_offset; +- HOST_WIDE_INT hfp_save_offset; +- HOST_WIDE_INT reg_save_offset; +- HOST_WIDE_INT sse_reg_save_offset; +- +- /* When save_regs_using_mov is set, emit prologue using +- move instead of push instructions. */ +- bool save_regs_using_mov; +-}; +- + /* Which cpu are we scheduling for. */ + enum attr_cpu ix86_schedule; + +@@ -2443,7 +2396,7 @@ static unsigned int ix86_function_arg_bo + const_tree); + static rtx ix86_static_chain (const_tree, bool); + static int ix86_function_regparm (const_tree, const_tree); +-static void ix86_compute_frame_layout (struct ix86_frame *); ++static void ix86_compute_frame_layout (void); + static bool ix86_expand_vector_init_one_nonzero (bool, machine_mode, + rtx, rtx, int); + static void ix86_add_new_builtins (HOST_WIDE_INT); +@@ -9664,7 +9617,8 @@ ix86_can_use_return_insn_p (void) + if (crtl->args.pops_args && crtl->args.size >= 32768) + return 0; + +- ix86_compute_frame_layout (&frame); ++ ix86_compute_frame_layout (); ++ frame = cfun->machine->frame; + return (frame.stack_pointer_offset == UNITS_PER_WORD + && (frame.nregs + frame.nsseregs) == 0); + } +@@ -10073,8 +10027,8 @@ ix86_can_eliminate (const int from, cons + HOST_WIDE_INT + ix86_initial_elimination_offset (int from, int to) + { +- struct ix86_frame frame; +- ix86_compute_frame_layout (&frame); ++ ix86_compute_frame_layout (); ++ struct ix86_frame frame = cfun->machine->frame; + + if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) + return frame.hard_frame_pointer_offset; +@@ -10113,8 +10067,9 @@ ix86_builtin_setjmp_frame_value (void) + /* Fill structure ix86_frame about frame of currently computed function. */ + + static void +-ix86_compute_frame_layout (struct ix86_frame *frame) ++ix86_compute_frame_layout (void) + { ++ struct ix86_frame *frame = &cfun->machine->frame; + unsigned HOST_WIDE_INT stack_alignment_needed; + HOST_WIDE_INT offset; + unsigned HOST_WIDE_INT preferred_alignment; +@@ -11417,7 +11372,8 @@ ix86_expand_prologue (void) + m->fs.sp_offset = INCOMING_FRAME_SP_OFFSET; + m->fs.sp_valid = true; + +- ix86_compute_frame_layout (&frame); ++ ix86_compute_frame_layout (); ++ frame = m->frame; + + if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl)) + { +@@ -12083,7 +12039,8 @@ ix86_expand_epilogue (int style) + bool using_drap; + + ix86_finalize_stack_realign_flags (); +- ix86_compute_frame_layout (&frame); ++ ix86_compute_frame_layout (); ++ frame = m->frame; + + m->fs.sp_valid = (!frame_pointer_needed + || (crtl->sp_is_unchanging +@@ -12546,7 +12503,8 @@ ix86_expand_split_stack_prologue (void) + gcc_assert (flag_split_stack && reload_completed); + + ix86_finalize_stack_realign_flags (); +- ix86_compute_frame_layout (&frame); ++ ix86_compute_frame_layout (); ++ frame = cfun->machine->frame; + allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET; + + /* This is the label we will branch to if we have enough stack +Index: b/src/gcc/config/i386/i386.h +=================================================================== +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -2409,9 +2409,56 @@ enum avx_u128_state + + #define FASTCALL_PREFIX '@' + ++#ifndef USED_FOR_TARGET ++/* Structure describing stack frame layout. ++ Stack grows downward: ++ ++ [arguments] ++ <- ARG_POINTER ++ saved pc ++ ++ saved static chain if ix86_static_chain_on_stack ++ ++ saved frame pointer if frame_pointer_needed ++ <- HARD_FRAME_POINTER ++ [saved regs] ++ <- regs_save_offset ++ [padding0] ++ ++ [saved SSE regs] ++ <- sse_regs_save_offset ++ [padding1] | ++ | <- FRAME_POINTER ++ [va_arg registers] | ++ | ++ [frame] | ++ | ++ [padding2] | = to_allocate ++ <- STACK_POINTER ++ */ ++struct GTY(()) ix86_frame ++{ ++ int nsseregs; ++ int nregs; ++ int va_arg_size; ++ int red_zone_size; ++ int outgoing_arguments_size; ++ ++ /* The offsets relative to ARG_POINTER. */ ++ HOST_WIDE_INT frame_pointer_offset; ++ HOST_WIDE_INT hard_frame_pointer_offset; ++ HOST_WIDE_INT stack_pointer_offset; ++ HOST_WIDE_INT hfp_save_offset; ++ HOST_WIDE_INT reg_save_offset; ++ HOST_WIDE_INT sse_reg_save_offset; ++ ++ /* When save_regs_using_mov is set, emit prologue using ++ move instead of push instructions. */ ++ bool save_regs_using_mov; ++}; ++ + /* Machine specific frame tracking during prologue/epilogue generation. */ + +-#ifndef USED_FOR_TARGET + struct GTY(()) machine_frame_state + { + /* This pair tracks the currently active CFA as reg+offset. When reg +@@ -2457,6 +2504,9 @@ struct GTY(()) machine_function { + int varargs_fpr_size; + int optimize_mode_switching[MAX_386_ENTITIES]; + ++ /* Cached initial frame layout for the current function. */ ++ struct ix86_frame frame; ++ + /* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE + has been computed for. */ + int use_fast_prologue_epilogue_nregs; +@@ -2524,6 +2574,7 @@ struct GTY(()) machine_function { + #define ix86_current_function_calls_tls_descriptor \ + (ix86_tls_descriptor_calls_expanded_in_cfun && df_regs_ever_live_p (SP_REG)) + #define ix86_static_chain_on_stack (cfun->machine->static_chain_on_stack) ++#define ix86_red_zone_size (cfun->machine->frame.red_zone_size) + + /* Control behavior of x86_file_start. */ + #define X86_FILE_START_VERSION_DIRECTIVE false diff --git a/patches/source/gcc/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff b/patches/source/gcc/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff new file mode 100644 index 000000000..7b928df76 --- /dev/null +++ b/patches/source/gcc/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff @@ -0,0 +1,72 @@ +From 18202ba32cb8de22fc43a5839235a751d0f5c4d9 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Mon, 15 Jan 2018 11:28:44 +0000 +Subject: [PATCH 2/9] i386: Use reference of struct ix86_frame to avoid copy + +When there is no need to make a copy of ix86_frame, we can use reference +of struct ix86_frame to avoid copy. + + Backport from mainline + * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference + of struct ix86_frame. + (ix86_initial_elimination_offset): Likewise. + (ix86_expand_split_stack_prologue): Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256692 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/config/i386/i386.c | 9 +++------ + gcc/testsuite/ChangeLog | 8 ++++++++ + 2 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 8133372..397ef7c 100644 +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -11843,8 +11843,6 @@ symbolic_reference_mentioned_p (rtx op) + bool + ix86_can_use_return_insn_p (void) + { +- struct ix86_frame frame; +- + if (! reload_completed || frame_pointer_needed) + return 0; + +@@ -11857,7 +11855,7 @@ ix86_can_use_return_insn_p (void) + return 0; + + ix86_compute_frame_layout (); +- frame = cfun->machine->frame; ++ struct ix86_frame &frame = cfun->machine->frame; + return (frame.stack_pointer_offset == UNITS_PER_WORD + && (frame.nregs + frame.nsseregs) == 0); + } +@@ -12344,7 +12342,7 @@ HOST_WIDE_INT + ix86_initial_elimination_offset (int from, int to) + { + ix86_compute_frame_layout (); +- struct ix86_frame frame = cfun->machine->frame; ++ struct ix86_frame &frame = cfun->machine->frame; + + if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) + return frame.hard_frame_pointer_offset; +@@ -14860,7 +14858,6 @@ static GTY(()) rtx split_stack_fn_large; + void + ix86_expand_split_stack_prologue (void) + { +- struct ix86_frame frame; + HOST_WIDE_INT allocate; + unsigned HOST_WIDE_INT args_size; + rtx_code_label *label; +@@ -14873,7 +14870,7 @@ ix86_expand_split_stack_prologue (void) + + ix86_finalize_stack_realign_flags (); + ix86_compute_frame_layout (); +- frame = cfun->machine->frame; ++ struct ix86_frame &frame = cfun->machine->frame; + allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET; + + /* This is the label we will branch to if we have enough stack +-- +2.7.4 + diff --git a/patches/source/gcc/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff b/patches/source/gcc/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff new file mode 100644 index 000000000..f6f30d1d2 --- /dev/null +++ b/patches/source/gcc/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff @@ -0,0 +1,59 @@ +From 839ca2d69157ef03c8df0ab912dacdb991738694 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Mon, 15 Jan 2018 11:33:42 +0000 +Subject: [PATCH 3/9] i386: More use reference of struct ix86_frame to avoid copy + +When there is no need to make a copy of ix86_frame, we can use reference +of struct ix86_frame to avoid copy. + + Backport from mainline + * config/i386/i386.c (ix86_expand_prologue): Use reference of + struct ix86_frame. + (ix86_expand_epilogue): Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256695 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 7 +++++++ + gcc/config/i386/i386.c | 6 ++---- + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 397ef7c..986e6d7 100644 +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -13667,7 +13667,6 @@ ix86_expand_prologue (void) + { + struct machine_function *m = cfun->machine; + rtx insn, t; +- struct ix86_frame frame; + HOST_WIDE_INT allocate; + bool int_registers_saved; + bool sse_registers_saved; +@@ -13691,7 +13690,7 @@ ix86_expand_prologue (void) + m->fs.sp_valid = true; + + ix86_compute_frame_layout (); +- frame = m->frame; ++ struct ix86_frame &frame = cfun->machine->frame; + + if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl)) + { +@@ -14354,13 +14353,12 @@ ix86_expand_epilogue (int style) + { + struct machine_function *m = cfun->machine; + struct machine_frame_state frame_state_save = m->fs; +- struct ix86_frame frame; + bool restore_regs_via_mov; + bool using_drap; + + ix86_finalize_stack_realign_flags (); + ix86_compute_frame_layout (); +- frame = m->frame; ++ struct ix86_frame &frame = cfun->machine->frame; + + m->fs.sp_valid = (!frame_pointer_needed + || (crtl->sp_is_unchanging +-- +2.7.4 + diff --git a/patches/source/gcc/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff b/patches/source/gcc/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff new file mode 100644 index 000000000..7678444cd --- /dev/null +++ b/patches/source/gcc/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff @@ -0,0 +1,63 @@ +From c25b81ba01fa9ac0c1baa3aabd64190c47928f03 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 12:49:29 +0000 +Subject: [PATCH 4/9] i386: Don't use reference of struct ix86_frame + +Use reference of struct ix86_frame in ix86_expand_prologue and +ix86_expand_epilogue caused: + +raised STORAGE_ERROR : stack overflow or erroneous memory access +make[5]: *** [/export/gnu/import/git/sources/gcc/gcc/ada/Make-generated.in:45: ada/sinfo.h] Error 1 + +on trunk when bootstrapping GCC with ada on x86-64. + + * config/i386/i386.c (ix86_expand_prologue): Don't use reference + of struct ix86_frame. + (ix86_expand_epilogue): Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256742 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 10 ++++++++++ + gcc/config/i386/i386.c | 6 ++++-- + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index e758387..ba2abc5 100644 +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -14061,6 +14061,7 @@ ix86_expand_prologue (void) + { + struct machine_function *m = cfun->machine; + rtx insn, t; ++ struct ix86_frame frame; + HOST_WIDE_INT allocate; + bool int_registers_saved; + bool sse_registers_saved; +@@ -14084,7 +14085,7 @@ ix86_expand_prologue (void) + m->fs.sp_valid = true; + + ix86_compute_frame_layout (); +- struct ix86_frame &frame = cfun->machine->frame; ++ frame = m->frame; + + if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl)) + { +@@ -14747,12 +14748,13 @@ ix86_expand_epilogue (int style) + { + struct machine_function *m = cfun->machine; + struct machine_frame_state frame_state_save = m->fs; ++ struct ix86_frame frame; + bool restore_regs_via_mov; + bool using_drap; + + ix86_finalize_stack_realign_flags (); + ix86_compute_frame_layout (); +- struct ix86_frame &frame = cfun->machine->frame; ++ frame = m->frame; + + m->fs.sp_valid = (!frame_pointer_needed + || (crtl->sp_is_unchanging +-- +2.7.4 + diff --git a/patches/source/gcc/0005-x86-Add-mindirect-branch-doc.diff b/patches/source/gcc/0005-x86-Add-mindirect-branch-doc.diff new file mode 100644 index 000000000..bcaf572b1 --- /dev/null +++ b/patches/source/gcc/0005-x86-Add-mindirect-branch-doc.diff @@ -0,0 +1,279 @@ +From c6b72be421ded17e0c156070ba6e90aa6c335ed6 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 10:59:42 +0000 +Subject: [PATCH 5/9] x86: Add -mindirect-branch= (documentation) + +Add -mindirect-branch= option to convert indirect call and jump to call +and return thunks. The default is 'keep', which keeps indirect call and +jump unmodified. 'thunk' converts indirect call and jump to call and +return thunk. 'thunk-inline' converts indirect call and jump to inlined +call and return thunk. 'thunk-extern' converts indirect call and jump to +external call and return thunk provided in a separate object file. You +can control this behavior for a specific function by using the function +attribute indirect_branch. + +2 kinds of thunks are geneated. Memory thunk where the function address +is at the top of the stack: + +__x86_indirect_thunk: + call L2 +L1: + pause + lfence + jmp L1 +L2: + lea 8(%rsp), %rsp|lea 4(%esp), %esp + ret + +Indirect jmp via memory, "jmp mem", is converted to + + push memory + jmp __x86_indirect_thunk + +Indirect call via memory, "call mem", is converted to + + jmp L2 +L1: + push [mem] + jmp __x86_indirect_thunk +L2: + call L1 + +Register thunk where the function address is in a register, reg: + +__x86_indirect_thunk_reg: + call L2 +L1: + pause + lfence + jmp L1 +L2: + movq %reg, (%rsp)|movl %reg, (%esp) + ret + +where reg is one of (r|e)ax, (r|e)dx, (r|e)cx, (r|e)bx, (r|e)si, (r|e)di, +(r|e)bp, r8, r9, r10, r11, r12, r13, r14 and r15. + +Indirect jmp via register, "jmp reg", is converted to + + jmp __x86_indirect_thunk_reg + +Indirect call via register, "call reg", is converted to + + call __x86_indirect_thunk_reg + +gcc/ + + Backport from mainline + * config/i386/i386-opts.h (indirect_branch): New. + * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. + * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone + with local indirect jump when converting indirect call and jump. + (ix86_set_indirect_branch_type): New. + (ix86_set_current_function): Call ix86_set_indirect_branch_type. + (indirectlabelno): New. + (indirect_thunk_needed): Likewise. + (indirect_thunk_bnd_needed): Likewise. + (indirect_thunks_used): Likewise. + (indirect_thunks_bnd_used): Likewise. + (INDIRECT_LABEL): Likewise. + (indirect_thunk_name): Likewise. + (output_indirect_thunk): Likewise. + (output_indirect_thunk_function): Likewise. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_output_indirect_branch_via_push): Likewise. + (ix86_output_indirect_branch): Likewise. + (ix86_output_indirect_jmp): Likewise. + (ix86_code_end): Call output_indirect_thunk_function if needed. + (ix86_output_call_insn): Call ix86_output_indirect_branch if + needed. + (ix86_handle_fndecl_attribute): Handle indirect_branch. + (ix86_attribute_table): Add indirect_branch. + * config/i386/i386.h (machine_function): Add indirect_branch_type + and has_local_indirect_jump. + * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump + to true. + (tablejump): Likewise. + (*indirect_jump): Use ix86_output_indirect_jmp. + (*tablejump_1): Likewise. + (simple_return_indirect_internal): Likewise. + * config/i386/i386.opt (mindirect-branch=): New option. + (indirect_branch): New. + (keep): Likewise. + (thunk): Likewise. + (thunk-inline): Likewise. + (thunk-extern): Likewise. + * doc/extend.texi: Document indirect_branch function attribute. + * doc/invoke.texi: Document -mindirect-branch= option. + +gcc/testsuite/ + + Backport from mainline + * gcc.target/i386/indirect-thunk-1.c: New test. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-5.c: Likewise. + * gcc.target/i386/indirect-thunk-6.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-8.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256732 138bc75d-0d04-0410-961f-82ee72b054a4 + +[UBUNTU NOTES: Updated for gcc-5.4 to include defines for + FIRST_INT_REG, LAST_INT_REG, and LEGACY_INT_REGNO_P as defined in + https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=222269. + Dropped indirect-thunk-5.c, indirect-thunk-6.c, + indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c, + indirect-thunk-extern-5.c, indirect-thunk-extern-6.c, + indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due + to gcc 5.4 and earlier not supporting the -fno-plt option. + --sbeattie, tyhicks] +--- + src/gcc/config/i386/i386-opts.h | 13 + src/gcc/config/i386/i386-protos.h | 1 + src/gcc/config/i386/i386.c | 621 +++++++++++- + src/gcc/config/i386/i386.h | 12 + src/gcc/config/i386/i386.md | 26 + src/gcc/config/i386/i386.opt | 20 + src/gcc/doc/extend.texi | 10 + src/gcc/doc/invoke.texi | 14 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 44 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 23 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 23 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 22 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 22 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 44 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 42 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 19 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 19 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 43 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 44 + 33 files changed, 1334 insertions(+), 15 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c + +Index: b/src/gcc/doc/extend.texi +=================================================================== +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -4119,6 +4119,16 @@ Specify which floating-point unit to use + @code{target("fpmath=sse,387")} option must be specified as + @code{target("fpmath=sse+387")} because the comma would separate + different options. ++ ++@item indirect_branch("@var{choice}") ++@cindex @code{indirect_branch} function attribute, x86 ++On x86 targets, the @code{indirect_branch} attribute causes the compiler ++to convert indirect call and jump with @var{choice}. @samp{keep} ++keeps indirect call and jump unmodified. @samp{thunk} converts indirect ++call and jump to call and return thunk. @samp{thunk-inline} converts ++indirect call and jump to inlined call and return thunk. ++@samp{thunk-extern} converts indirect call and jump to external call ++and return thunk provided in a separate object file. + @end table + + On the PowerPC, the following options are allowed: +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -1090,7 +1090,8 @@ See RS/6000 and PowerPC Options. + -m32 -m64 -mx32 -m16 -mlarge-data-threshold=@var{num} @gol + -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol + -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol +--malign-data=@var{type} -mstack-protector-guard=@var{guard}} ++-malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol ++-mindirect-branch=@var{choice}} + + @emph{x86 Windows Options} + @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol +@@ -24017,6 +24018,17 @@ The default value of this option is enab + of the option is @option{-fno-sync-libcalls}. This option is used in + the implementation of the @file{libatomic} runtime library. + ++@item -mindirect-branch=@var{choice} ++@opindex -mindirect-branch ++Convert indirect call and jump with @var{choice}. The default is ++@samp{keep}, which keeps indirect call and jump unmodified. ++@samp{thunk} converts indirect call and jump to call and return thunk. ++@samp{thunk-inline} converts indirect call and jump to inlined call ++and return thunk. @samp{thunk-extern} converts indirect call and jump ++to external call and return thunk provided in a separate object file. ++You can control this behavior for a specific function by using the ++function attribute @code{indirect_branch}. @xref{Function Attributes}. ++ + @end table + + @c man end diff --git a/patches/source/gcc/0005-x86-Add-mindirect-branch.diff b/patches/source/gcc/0005-x86-Add-mindirect-branch.diff new file mode 100644 index 000000000..db9690ccc --- /dev/null +++ b/patches/source/gcc/0005-x86-Add-mindirect-branch.diff @@ -0,0 +1,1870 @@ +From c6b72be421ded17e0c156070ba6e90aa6c335ed6 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 10:59:42 +0000 +Subject: [PATCH 5/9] x86: Add -mindirect-branch= + +Add -mindirect-branch= option to convert indirect call and jump to call +and return thunks. The default is 'keep', which keeps indirect call and +jump unmodified. 'thunk' converts indirect call and jump to call and +return thunk. 'thunk-inline' converts indirect call and jump to inlined +call and return thunk. 'thunk-extern' converts indirect call and jump to +external call and return thunk provided in a separate object file. You +can control this behavior for a specific function by using the function +attribute indirect_branch. + +2 kinds of thunks are geneated. Memory thunk where the function address +is at the top of the stack: + +__x86_indirect_thunk: + call L2 +L1: + pause + lfence + jmp L1 +L2: + lea 8(%rsp), %rsp|lea 4(%esp), %esp + ret + +Indirect jmp via memory, "jmp mem", is converted to + + push memory + jmp __x86_indirect_thunk + +Indirect call via memory, "call mem", is converted to + + jmp L2 +L1: + push [mem] + jmp __x86_indirect_thunk +L2: + call L1 + +Register thunk where the function address is in a register, reg: + +__x86_indirect_thunk_reg: + call L2 +L1: + pause + lfence + jmp L1 +L2: + movq %reg, (%rsp)|movl %reg, (%esp) + ret + +where reg is one of (r|e)ax, (r|e)dx, (r|e)cx, (r|e)bx, (r|e)si, (r|e)di, +(r|e)bp, r8, r9, r10, r11, r12, r13, r14 and r15. + +Indirect jmp via register, "jmp reg", is converted to + + jmp __x86_indirect_thunk_reg + +Indirect call via register, "call reg", is converted to + + call __x86_indirect_thunk_reg + +gcc/ + + Backport from mainline + * config/i386/i386-opts.h (indirect_branch): New. + * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. + * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone + with local indirect jump when converting indirect call and jump. + (ix86_set_indirect_branch_type): New. + (ix86_set_current_function): Call ix86_set_indirect_branch_type. + (indirectlabelno): New. + (indirect_thunk_needed): Likewise. + (indirect_thunk_bnd_needed): Likewise. + (indirect_thunks_used): Likewise. + (indirect_thunks_bnd_used): Likewise. + (INDIRECT_LABEL): Likewise. + (indirect_thunk_name): Likewise. + (output_indirect_thunk): Likewise. + (output_indirect_thunk_function): Likewise. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_output_indirect_branch_via_push): Likewise. + (ix86_output_indirect_branch): Likewise. + (ix86_output_indirect_jmp): Likewise. + (ix86_code_end): Call output_indirect_thunk_function if needed. + (ix86_output_call_insn): Call ix86_output_indirect_branch if + needed. + (ix86_handle_fndecl_attribute): Handle indirect_branch. + (ix86_attribute_table): Add indirect_branch. + * config/i386/i386.h (machine_function): Add indirect_branch_type + and has_local_indirect_jump. + * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump + to true. + (tablejump): Likewise. + (*indirect_jump): Use ix86_output_indirect_jmp. + (*tablejump_1): Likewise. + (simple_return_indirect_internal): Likewise. + * config/i386/i386.opt (mindirect-branch=): New option. + (indirect_branch): New. + (keep): Likewise. + (thunk): Likewise. + (thunk-inline): Likewise. + (thunk-extern): Likewise. + * doc/extend.texi: Document indirect_branch function attribute. + * doc/invoke.texi: Document -mindirect-branch= option. + +gcc/testsuite/ + + Backport from mainline + * gcc.target/i386/indirect-thunk-1.c: New test. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-5.c: Likewise. + * gcc.target/i386/indirect-thunk-6.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-8.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256732 138bc75d-0d04-0410-961f-82ee72b054a4 + +[UBUNTU NOTES: Updated for gcc-5.4 to include defines for + FIRST_INT_REG, LAST_INT_REG, and LEGACY_INT_REGNO_P as defined in + https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=222269. + Dropped indirect-thunk-5.c, indirect-thunk-6.c, + indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c, + indirect-thunk-extern-5.c, indirect-thunk-extern-6.c, + indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due + to gcc 5.4 and earlier not supporting the -fno-plt option. + --sbeattie, tyhicks] +--- + src/gcc/config/i386/i386-opts.h | 13 + src/gcc/config/i386/i386-protos.h | 1 + src/gcc/config/i386/i386.c | 621 +++++++++++- + src/gcc/config/i386/i386.h | 12 + src/gcc/config/i386/i386.md | 26 + src/gcc/config/i386/i386.opt | 20 + src/gcc/doc/extend.texi | 10 + src/gcc/doc/invoke.texi | 14 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 44 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 23 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 23 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 22 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 22 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 44 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 42 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 19 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 19 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 43 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 20 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 21 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 44 + 33 files changed, 1334 insertions(+), 15 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c + +Index: b/src/gcc/config/i386/i386-opts.h +=================================================================== +--- a/src/gcc/config/i386/i386-opts.h ++++ b/src/gcc/config/i386/i386-opts.h +@@ -99,4 +99,17 @@ enum stack_protector_guard { + SSP_GLOBAL /* global canary */ + }; + ++/* This is used to mitigate variant #2 of the speculative execution ++ vulnerabilities on x86 processors identified by CVE-2017-5715, aka ++ Spectre. They convert indirect branches and function returns to ++ call and return thunks to avoid speculative execution via indirect ++ call, jmp and ret. */ ++enum indirect_branch { ++ indirect_branch_unset = 0, ++ indirect_branch_keep, ++ indirect_branch_thunk, ++ indirect_branch_thunk_inline, ++ indirect_branch_thunk_extern ++}; ++ + #endif +Index: b/src/gcc/config/i386/i386-protos.h +=================================================================== +--- a/src/gcc/config/i386/i386-protos.h ++++ b/src/gcc/config/i386/i386-protos.h +@@ -306,6 +306,7 @@ extern enum attr_cpu ix86_schedule; + #endif + + extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op); ++extern const char * ix86_output_indirect_jmp (rtx call_op, bool ret_p); + + #ifdef RTX_CODE + /* Target data for multipass lookahead scheduling. +Index: b/src/gcc/config/i386/i386.c +=================================================================== +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -2554,12 +2554,23 @@ make_pass_insert_vzeroupper (gcc::contex + return new pass_insert_vzeroupper (ctxt); + } + +-/* Return true if a red-zone is in use. */ ++/* Return true if a red-zone is in use. We can't use red-zone when ++ there are local indirect jumps, like "indirect_jump" or "tablejump", ++ which jumps to another place in the function, since "call" in the ++ indirect thunk pushes the return address onto stack, destroying ++ red-zone. ++ ++ TODO: If we can reserve the first 2 WORDs, for PUSH and, another ++ for CALL, in red-zone, we can allow local indirect jumps with ++ indirect thunk. */ + + static inline bool + ix86_using_red_zone (void) + { +- return TARGET_RED_ZONE && !TARGET_64BIT_MS_ABI; ++ return (TARGET_RED_ZONE ++ && !TARGET_64BIT_MS_ABI ++ && (!cfun->machine->has_local_indirect_jump ++ || cfun->machine->indirect_branch_type == indirect_branch_keep)); + } + + /* Return a string that documents the current -m options. The caller is +@@ -5126,6 +5137,37 @@ ix86_reset_previous_fndecl (void) + ix86_previous_fndecl = NULL_TREE; + } + ++/* Set the indirect_branch_type field from the function FNDECL. */ ++ ++static void ++ix86_set_indirect_branch_type (tree fndecl) ++{ ++ if (cfun->machine->indirect_branch_type == indirect_branch_unset) ++ { ++ tree attr = lookup_attribute ("indirect_branch", ++ DECL_ATTRIBUTES (fndecl)); ++ if (attr != NULL) ++ { ++ tree args = TREE_VALUE (attr); ++ if (args == NULL) ++ gcc_unreachable (); ++ tree cst = TREE_VALUE (args); ++ if (strcmp (TREE_STRING_POINTER (cst), "keep") == 0) ++ cfun->machine->indirect_branch_type = indirect_branch_keep; ++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk") == 0) ++ cfun->machine->indirect_branch_type = indirect_branch_thunk; ++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-inline") == 0) ++ cfun->machine->indirect_branch_type = indirect_branch_thunk_inline; ++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-extern") == 0) ++ cfun->machine->indirect_branch_type = indirect_branch_thunk_extern; ++ else ++ gcc_unreachable (); ++ } ++ else ++ cfun->machine->indirect_branch_type = ix86_indirect_branch; ++ } ++} ++ + /* Establish appropriate back-end context for processing the function + FNDECL. The argument might be NULL to indicate processing at top + level, outside of any function scope. */ +@@ -5136,7 +5178,11 @@ ix86_set_current_function (tree fndecl) + several times in the course of compiling a function, and we don't want to + slow things down too much or call target_reinit when it isn't safe. */ + if (fndecl == ix86_previous_fndecl) +- return; ++ { ++ if (fndecl != NULL_TREE) ++ ix86_set_indirect_branch_type (fndecl); ++ return; ++ } + + tree old_tree; + if (ix86_previous_fndecl == NULL_TREE) +@@ -5153,6 +5199,8 @@ ix86_set_current_function (tree fndecl) + return; + } + ++ ix86_set_indirect_branch_type (fndecl); ++ + tree new_tree = DECL_FUNCTION_SPECIFIC_TARGET (fndecl); + if (new_tree == NULL_TREE) + new_tree = target_option_default_node; +@@ -9681,6 +9729,220 @@ ix86_setup_frame_addresses (void) + # endif + #endif + ++/* Label count for call and return thunks. It is used to make unique ++ labels in call and return thunks. */ ++static int indirectlabelno; ++ ++/* True if call and return thunk functions are needed. */ ++static bool indirect_thunk_needed = false; ++/* True if call and return thunk functions with the BND prefix are ++ needed. */ ++static bool indirect_thunk_bnd_needed = false; ++ ++/* Bit masks of integer registers, which contain branch target, used ++ by call and return thunks functions. */ ++static int indirect_thunks_used; ++/* Bit masks of integer registers, which contain branch target, used ++ by call and return thunks functions with the BND prefix. */ ++static int indirect_thunks_bnd_used; ++ ++#ifndef INDIRECT_LABEL ++# define INDIRECT_LABEL "LIND" ++#endif ++ ++/* Fills in the label name that should be used for the indirect thunk. */ ++ ++static void ++indirect_thunk_name (char name[32], int regno, bool need_bnd_p) ++{ ++ if (USE_HIDDEN_LINKONCE) ++ { ++ const char *bnd = need_bnd_p ? "_bnd" : ""; ++ if (regno >= 0) ++ { ++ const char *reg_prefix; ++ if (LEGACY_INT_REGNO_P (regno)) ++ reg_prefix = TARGET_64BIT ? "r" : "e"; ++ else ++ reg_prefix = ""; ++ sprintf (name, "__x86_indirect_thunk%s_%s%s", ++ bnd, reg_prefix, reg_names[regno]); ++ } ++ else ++ sprintf (name, "__x86_indirect_thunk%s", bnd); ++ } ++ else ++ { ++ if (regno >= 0) ++ { ++ if (need_bnd_p) ++ ASM_GENERATE_INTERNAL_LABEL (name, "LITBR", regno); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LITR", regno); ++ } ++ else ++ { ++ if (need_bnd_p) ++ ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0); ++ } ++ } ++} ++ ++/* Output a call and return thunk for indirect branch. If BND_P is ++ true, the BND prefix is needed. If REGNO != -1, the function ++ address is in REGNO and the call and return thunk looks like: ++ ++ call L2 ++ L1: ++ pause ++ jmp L1 ++ L2: ++ mov %REG, (%sp) ++ ret ++ ++ Otherwise, the function address is on the top of stack and the ++ call and return thunk looks like: ++ ++ call L2 ++ L1: ++ pause ++ jmp L1 ++ L2: ++ lea WORD_SIZE(%sp), %sp ++ ret ++ */ ++ ++static void ++output_indirect_thunk (bool need_bnd_p, int regno) ++{ ++ char indirectlabel1[32]; ++ char indirectlabel2[32]; ++ ++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, INDIRECT_LABEL, ++ indirectlabelno++); ++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, INDIRECT_LABEL, ++ indirectlabelno++); ++ ++ /* Call */ ++ if (need_bnd_p) ++ fputs ("\tbnd call\t", asm_out_file); ++ else ++ fputs ("\tcall\t", asm_out_file); ++ assemble_name_raw (asm_out_file, indirectlabel2); ++ fputc ('\n', asm_out_file); ++ ++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); ++ ++ /* Pause + lfence. */ ++ fprintf (asm_out_file, "\tpause\n\tlfence\n"); ++ ++ /* Jump. */ ++ fputs ("\tjmp\t", asm_out_file); ++ assemble_name_raw (asm_out_file, indirectlabel1); ++ fputc ('\n', asm_out_file); ++ ++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); ++ ++ if (regno >= 0) ++ { ++ /* MOV. */ ++ rtx xops[2]; ++ xops[0] = gen_rtx_MEM (word_mode, stack_pointer_rtx); ++ xops[1] = gen_rtx_REG (word_mode, regno); ++ output_asm_insn ("mov\t{%1, %0|%0, %1}", xops); ++ } ++ else ++ { ++ /* LEA. */ ++ rtx xops[2]; ++ xops[0] = stack_pointer_rtx; ++ xops[1] = plus_constant (Pmode, stack_pointer_rtx, UNITS_PER_WORD); ++ output_asm_insn ("lea\t{%E1, %0|%0, %E1}", xops); ++ } ++ ++ if (need_bnd_p) ++ fputs ("\tbnd ret\n", asm_out_file); ++ else ++ fputs ("\tret\n", asm_out_file); ++} ++ ++/* Output a funtion with a call and return thunk for indirect branch. ++ If BND_P is true, the BND prefix is needed. If REGNO != -1, the ++ function address is in REGNO. Otherwise, the function address is ++ on the top of stack. */ ++ ++static void ++output_indirect_thunk_function (bool need_bnd_p, int regno) ++{ ++ char name[32]; ++ tree decl; ++ ++ /* Create __x86_indirect_thunk/__x86_indirect_thunk_bnd. */ ++ indirect_thunk_name (name, regno, need_bnd_p); ++ decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, ++ get_identifier (name), ++ build_function_type_list (void_type_node, NULL_TREE)); ++ DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL, ++ NULL_TREE, void_type_node); ++ TREE_PUBLIC (decl) = 1; ++ TREE_STATIC (decl) = 1; ++ DECL_IGNORED_P (decl) = 1; ++ ++#if TARGET_MACHO ++ if (TARGET_MACHO) ++ { ++ switch_to_section (darwin_sections[picbase_thunk_section]); ++ fputs ("\t.weak_definition\t", asm_out_file); ++ assemble_name (asm_out_file, name); ++ fputs ("\n\t.private_extern\t", asm_out_file); ++ assemble_name (asm_out_file, name); ++ putc ('\n', asm_out_file); ++ ASM_OUTPUT_LABEL (asm_out_file, name); ++ DECL_WEAK (decl) = 1; ++ } ++ else ++#endif ++ if (USE_HIDDEN_LINKONCE) ++ { ++ cgraph_node::create (decl)->set_comdat_group (DECL_ASSEMBLER_NAME (decl)); ++ ++ targetm.asm_out.unique_section (decl, 0); ++ switch_to_section (get_named_section (decl, NULL, 0)); ++ ++ targetm.asm_out.globalize_label (asm_out_file, name); ++ fputs ("\t.hidden\t", asm_out_file); ++ assemble_name (asm_out_file, name); ++ putc ('\n', asm_out_file); ++ ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl); ++ } ++ else ++ { ++ switch_to_section (text_section); ++ ASM_OUTPUT_LABEL (asm_out_file, name); ++ } ++ ++ DECL_INITIAL (decl) = make_node (BLOCK); ++ current_function_decl = decl; ++ allocate_struct_function (decl, false); ++ init_function_start (decl); ++ /* We're about to hide the function body from callees of final_* by ++ emitting it directly; tell them we're a thunk, if they care. */ ++ cfun->is_thunk = true; ++ first_function_block_is_cold = false; ++ /* Make sure unwind info is emitted for the thunk if needed. */ ++ final_start_function (emit_barrier (), asm_out_file, 1); ++ ++ output_indirect_thunk (need_bnd_p, regno); ++ ++ final_end_function (); ++ init_insn_lengths (); ++ free_after_compilation (cfun); ++ set_cfun (NULL); ++ current_function_decl = NULL; ++} ++ + static int pic_labels_used; + + /* Fills in the label name that should be used for a pc thunk for +@@ -9707,11 +9969,32 @@ ix86_code_end (void) + rtx xops[2]; + int regno; + ++ if (indirect_thunk_needed) ++ output_indirect_thunk_function (false, -1); ++ if (indirect_thunk_bnd_needed) ++ output_indirect_thunk_function (true, -1); ++ ++ for (regno = FIRST_REX_INT_REG; regno <= LAST_REX_INT_REG; regno++) ++ { ++ int i = regno - FIRST_REX_INT_REG + LAST_INT_REG + 1; ++ if ((indirect_thunks_used & (1 << i))) ++ output_indirect_thunk_function (false, regno); ++ ++ if ((indirect_thunks_bnd_used & (1 << i))) ++ output_indirect_thunk_function (true, regno); ++ } ++ + for (regno = AX_REG; regno <= SP_REG; regno++) + { + char name[32]; + tree decl; + ++ if ((indirect_thunks_used & (1 << regno))) ++ output_indirect_thunk_function (false, regno); ++ ++ if ((indirect_thunks_bnd_used & (1 << regno))) ++ output_indirect_thunk_function (true, regno); ++ + if (!(pic_labels_used & (1 << regno))) + continue; + +@@ -25805,12 +26088,292 @@ ix86_expand_call (rtx retval, rtx fnaddr + return call; + } + ++/* Output indirect branch via a call and return thunk. CALL_OP is a ++ register which contains the branch target. XASM is the assembly ++ template for CALL_OP. Branch is a tail call if SIBCALL_P is true. ++ A normal call is converted to: ++ ++ call __x86_indirect_thunk_reg ++ ++ and a tail call is converted to: ++ ++ jmp __x86_indirect_thunk_reg ++ */ ++ ++static void ++ix86_output_indirect_branch_via_reg (rtx call_op, bool sibcall_p) ++{ ++ char thunk_name_buf[32]; ++ char *thunk_name; ++ bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn); ++ int regno = REGNO (call_op); ++ ++ if (cfun->machine->indirect_branch_type ++ != indirect_branch_thunk_inline) ++ { ++ if (cfun->machine->indirect_branch_type == indirect_branch_thunk) ++ { ++ int i = regno; ++ if (i >= FIRST_REX_INT_REG) ++ i -= (FIRST_REX_INT_REG - LAST_INT_REG - 1); ++ if (need_bnd_p) ++ indirect_thunks_bnd_used |= 1 << i; ++ else ++ indirect_thunks_used |= 1 << i; ++ } ++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p); ++ thunk_name = thunk_name_buf; ++ } ++ else ++ thunk_name = NULL; ++ ++ if (sibcall_p) ++ { ++ if (thunk_name != NULL) ++ { ++ if (need_bnd_p) ++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ else ++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ } ++ else ++ output_indirect_thunk (need_bnd_p, regno); ++ } ++ else ++ { ++ if (thunk_name != NULL) ++ { ++ if (need_bnd_p) ++ fprintf (asm_out_file, "\tbnd call\t%s\n", thunk_name); ++ else ++ fprintf (asm_out_file, "\tcall\t%s\n", thunk_name); ++ return; ++ } ++ ++ char indirectlabel1[32]; ++ char indirectlabel2[32]; ++ ++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, ++ INDIRECT_LABEL, ++ indirectlabelno++); ++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, ++ INDIRECT_LABEL, ++ indirectlabelno++); ++ ++ /* Jump. */ ++ if (need_bnd_p) ++ fputs ("\tbnd jmp\t", asm_out_file); ++ else ++ fputs ("\tjmp\t", asm_out_file); ++ assemble_name_raw (asm_out_file, indirectlabel2); ++ fputc ('\n', asm_out_file); ++ ++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); ++ ++ if (thunk_name != NULL) ++ { ++ if (need_bnd_p) ++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ else ++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ } ++ else ++ output_indirect_thunk (need_bnd_p, regno); ++ ++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); ++ ++ /* Call. */ ++ if (need_bnd_p) ++ fputs ("\tbnd call\t", asm_out_file); ++ else ++ fputs ("\tcall\t", asm_out_file); ++ assemble_name_raw (asm_out_file, indirectlabel1); ++ fputc ('\n', asm_out_file); ++ } ++} ++ ++/* Output indirect branch via a call and return thunk. CALL_OP is ++ the branch target. XASM is the assembly template for CALL_OP. ++ Branch is a tail call if SIBCALL_P is true. A normal call is ++ converted to: ++ ++ jmp L2 ++ L1: ++ push CALL_OP ++ jmp __x86_indirect_thunk ++ L2: ++ call L1 ++ ++ and a tail call is converted to: ++ ++ push CALL_OP ++ jmp __x86_indirect_thunk ++ */ ++ ++static void ++ix86_output_indirect_branch_via_push (rtx call_op, const char *xasm, ++ bool sibcall_p) ++{ ++ char thunk_name_buf[32]; ++ char *thunk_name; ++ char push_buf[64]; ++ bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn); ++ int regno = -1; ++ ++ if (cfun->machine->indirect_branch_type ++ != indirect_branch_thunk_inline) ++ { ++ if (cfun->machine->indirect_branch_type == indirect_branch_thunk) ++ { ++ if (need_bnd_p) ++ indirect_thunk_bnd_needed = true; ++ else ++ indirect_thunk_needed = true; ++ } ++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p); ++ thunk_name = thunk_name_buf; ++ } ++ else ++ thunk_name = NULL; ++ ++ snprintf (push_buf, sizeof (push_buf), "push{%c}\t%s", ++ TARGET_64BIT ? 'q' : 'l', xasm); ++ ++ if (sibcall_p) ++ { ++ output_asm_insn (push_buf, &call_op); ++ if (thunk_name != NULL) ++ { ++ if (need_bnd_p) ++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ else ++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ } ++ else ++ output_indirect_thunk (need_bnd_p, regno); ++ } ++ else ++ { ++ char indirectlabel1[32]; ++ char indirectlabel2[32]; ++ ++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, ++ INDIRECT_LABEL, ++ indirectlabelno++); ++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, ++ INDIRECT_LABEL, ++ indirectlabelno++); ++ ++ /* Jump. */ ++ if (need_bnd_p) ++ fputs ("\tbnd jmp\t", asm_out_file); ++ else ++ fputs ("\tjmp\t", asm_out_file); ++ assemble_name_raw (asm_out_file, indirectlabel2); ++ fputc ('\n', asm_out_file); ++ ++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); ++ ++ /* An external function may be called via GOT, instead of PLT. */ ++ if (MEM_P (call_op)) ++ { ++ struct ix86_address parts; ++ rtx addr = XEXP (call_op, 0); ++ if (ix86_decompose_address (addr, &parts) ++ && parts.base == stack_pointer_rtx) ++ { ++ /* Since call will adjust stack by -UNITS_PER_WORD, ++ we must convert "disp(stack, index, scale)" to ++ "disp+UNITS_PER_WORD(stack, index, scale)". */ ++ if (parts.index) ++ { ++ addr = gen_rtx_MULT (Pmode, parts.index, ++ GEN_INT (parts.scale)); ++ addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, ++ addr); ++ } ++ else ++ addr = stack_pointer_rtx; ++ ++ rtx disp; ++ if (parts.disp != NULL_RTX) ++ disp = plus_constant (Pmode, parts.disp, ++ UNITS_PER_WORD); ++ else ++ disp = GEN_INT (UNITS_PER_WORD); ++ ++ addr = gen_rtx_PLUS (Pmode, addr, disp); ++ call_op = gen_rtx_MEM (GET_MODE (call_op), addr); ++ } ++ } ++ ++ output_asm_insn (push_buf, &call_op); ++ ++ if (thunk_name != NULL) ++ { ++ if (need_bnd_p) ++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ else ++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ } ++ else ++ output_indirect_thunk (need_bnd_p, regno); ++ ++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); ++ ++ /* Call. */ ++ if (need_bnd_p) ++ fputs ("\tbnd call\t", asm_out_file); ++ else ++ fputs ("\tcall\t", asm_out_file); ++ assemble_name_raw (asm_out_file, indirectlabel1); ++ fputc ('\n', asm_out_file); ++ } ++} ++ ++/* Output indirect branch via a call and return thunk. CALL_OP is ++ the branch target. XASM is the assembly template for CALL_OP. ++ Branch is a tail call if SIBCALL_P is true. */ ++ ++static void ++ix86_output_indirect_branch (rtx call_op, const char *xasm, ++ bool sibcall_p) ++{ ++ if (REG_P (call_op)) ++ ix86_output_indirect_branch_via_reg (call_op, sibcall_p); ++ else ++ ix86_output_indirect_branch_via_push (call_op, xasm, sibcall_p); ++} ++/* Output indirect jump. CALL_OP is the jump target. Jump is a ++ function return if RET_P is true. */ ++ ++const char * ++ix86_output_indirect_jmp (rtx call_op, bool ret_p) ++{ ++ if (cfun->machine->indirect_branch_type != indirect_branch_keep) ++ { ++ /* We can't have red-zone if this isn't a function return since ++ "call" in the indirect thunk pushes the return address onto ++ stack, destroying red-zone. */ ++ if (!ret_p && ix86_red_zone_size != 0) ++ gcc_unreachable (); ++ ++ ix86_output_indirect_branch (call_op, "%0", true); ++ return ""; ++ } ++ else ++ return "%!jmp\t%A0"; ++} ++ + /* Output the assembly for a call instruction. */ + + const char * + ix86_output_call_insn (rtx_insn *insn, rtx call_op) + { + bool direct_p = constant_call_address_operand (call_op, VOIDmode); ++ bool output_indirect_p ++ = (!TARGET_SEH ++ && cfun->machine->indirect_branch_type != indirect_branch_keep); + bool seh_nop_p = false; + const char *xasm; + +@@ -25823,9 +26386,17 @@ ix86_output_call_insn (rtx_insn *insn, r + else if (TARGET_SEH) + xasm = "%!rex.W jmp %A0"; + else +- xasm = "%!jmp\t%A0"; ++ { ++ if (output_indirect_p) ++ xasm = "%0"; ++ else ++ xasm = "%!jmp\t%A0"; ++ } + +- output_asm_insn (xasm, &call_op); ++ if (output_indirect_p && !direct_p) ++ ix86_output_indirect_branch (call_op, xasm, true); ++ else ++ output_asm_insn (xasm, &call_op); + return ""; + } + +@@ -25862,9 +26433,17 @@ ix86_output_call_insn (rtx_insn *insn, r + if (direct_p) + xasm = "%!call\t%P0"; + else +- xasm = "%!call\t%A0"; ++ { ++ if (output_indirect_p) ++ xasm = "%0"; ++ else ++ xasm = "%!call\t%A0"; ++ } + +- output_asm_insn (xasm, &call_op); ++ if (output_indirect_p && !direct_p) ++ ix86_output_indirect_branch (call_op, xasm, false); ++ else ++ output_asm_insn (xasm, &call_op); + + if (seh_nop_p) + return "nop"; +@@ -43014,7 +43593,7 @@ ix86_handle_struct_attribute (tree *node + } + + static tree +-ix86_handle_fndecl_attribute (tree *node, tree name, tree, int, ++ix86_handle_fndecl_attribute (tree *node, tree name, tree args, int, + bool *no_add_attrs) + { + if (TREE_CODE (*node) != FUNCTION_DECL) +@@ -43023,6 +43602,29 @@ ix86_handle_fndecl_attribute (tree *node + name); + *no_add_attrs = true; + } ++ ++ if (is_attribute_p ("indirect_branch", name)) ++ { ++ tree cst = TREE_VALUE (args); ++ if (TREE_CODE (cst) != STRING_CST) ++ { ++ warning (OPT_Wattributes, ++ "%qE attribute requires a string constant argument", ++ name); ++ *no_add_attrs = true; ++ } ++ else if (strcmp (TREE_STRING_POINTER (cst), "keep") != 0 ++ && strcmp (TREE_STRING_POINTER (cst), "thunk") != 0 ++ && strcmp (TREE_STRING_POINTER (cst), "thunk-inline") != 0 ++ && strcmp (TREE_STRING_POINTER (cst), "thunk-extern") != 0) ++ { ++ warning (OPT_Wattributes, ++ "argument to %qE attribute is not " ++ "(keep|thunk|thunk-inline|thunk-extern)", name); ++ *no_add_attrs = true; ++ } ++ } ++ + return NULL_TREE; + } + +@@ -46915,6 +47517,9 @@ static const struct attribute_spec ix86_ + false }, + { "callee_pop_aggregate_return", 1, 1, false, true, true, + ix86_handle_callee_pop_aggregate_return, true }, ++ { "indirect_branch", 1, 1, true, false, false, ++ ix86_handle_fndecl_attribute, false }, ++ + /* End element. */ + { NULL, 0, 0, false, false, false, NULL, false } + }; +Index: b/src/gcc/config/i386/i386.h +=================================================================== +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -1229,6 +1229,9 @@ extern const char *host_detect_local_cpu + /* Base register for access to local variables of the function. */ + #define FRAME_POINTER_REGNUM 20 + ++#define FIRST_INT_REG AX_REG ++#define LAST_INT_REG SP_REG ++ + /* First floating point reg */ + #define FIRST_FLOAT_REG 8 + +@@ -1465,6 +1468,8 @@ enum reg_class + registers. */ + #define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true + ++#define LEGACY_INT_REGNO_P(N) (IN_RANGE ((N), FIRST_INT_REG, LAST_INT_REG)) ++ + #define QI_REG_P(X) (REG_P (X) && QI_REGNO_P (REGNO (X))) + #define QI_REGNO_P(N) IN_RANGE ((N), AX_REG, BX_REG) + +@@ -2550,6 +2555,13 @@ struct GTY(()) machine_function { + /* If true, it is safe to not save/restore DRAP register. */ + BOOL_BITFIELD no_drap_save_restore : 1; + ++ /* How to generate indirec branch. */ ++ ENUM_BITFIELD(indirect_branch) indirect_branch_type : 3; ++ ++ /* If true, the current function has local indirect jumps, like ++ "indirect_jump" or "tablejump". */ ++ BOOL_BITFIELD has_local_indirect_jump : 1; ++ + /* During prologue/epilogue generation, the current frame state. + Otherwise, the frame state at the end of the prologue. */ + struct machine_frame_state fs; +Index: b/src/gcc/config/i386/i386.md +=================================================================== +--- a/src/gcc/config/i386/i386.md ++++ b/src/gcc/config/i386/i386.md +@@ -11556,13 +11556,18 @@ + { + if (TARGET_X32) + operands[0] = convert_memory_address (word_mode, operands[0]); ++ cfun->machine->has_local_indirect_jump = true; + }) + + (define_insn "*indirect_jump" + [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))] + "" +- "%!jmp\t%A0" +- [(set_attr "type" "ibr") ++ "* return ix86_output_indirect_jmp (operands[0], false);" ++ [(set (attr "type") ++ (if_then_else (match_test "(cfun->machine->indirect_branch_type ++ != indirect_branch_keep)") ++ (const_string "multi") ++ (const_string "ibr"))) + (set_attr "length_immediate" "0")]) + + (define_expand "tablejump" +@@ -11604,14 +11609,19 @@ + + if (TARGET_X32) + operands[0] = convert_memory_address (word_mode, operands[0]); ++ cfun->machine->has_local_indirect_jump = true; + }) + + (define_insn "*tablejump_1" + [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw")) + (use (label_ref (match_operand 1)))] + "" +- "%!jmp\t%A0" +- [(set_attr "type" "ibr") ++ "* return ix86_output_indirect_jmp (operands[0], false);" ++ [(set (attr "type") ++ (if_then_else (match_test "(cfun->machine->indirect_branch_type ++ != indirect_branch_keep)") ++ (const_string "multi") ++ (const_string "ibr"))) + (set_attr "length_immediate" "0")]) + + ;; Convert setcc + movzbl to xor + setcc if operands don't overlap. +@@ -12198,8 +12208,12 @@ + [(simple_return) + (use (match_operand:SI 0 "register_operand" "r"))] + "reload_completed" +- "%!jmp\t%A0" +- [(set_attr "type" "ibr") ++ "* return ix86_output_indirect_jmp (operands[0], true);" ++ [(set (attr "type") ++ (if_then_else (match_test "(cfun->machine->indirect_branch_type ++ != indirect_branch_keep)") ++ (const_string "multi") ++ (const_string "ibr"))) + (set_attr "length_immediate" "0")]) + + (define_insn "nop" +Index: b/src/gcc/config/i386/i386.opt +=================================================================== +--- a/src/gcc/config/i386/i386.opt ++++ b/src/gcc/config/i386/i386.opt +@@ -876,3 +876,23 @@ Enum(stack_protector_guard) String(tls) + + EnumValue + Enum(stack_protector_guard) String(global) Value(SSP_GLOBAL) ++ ++mindirect-branch= ++Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep) ++Convert indirect call and jump to call and return thunks. ++ ++Enum ++Name(indirect_branch) Type(enum indirect_branch) ++Known indirect branch choices (for use with the -mindirect-branch= option): ++ ++EnumValue ++Enum(indirect_branch) String(keep) Value(indirect_branch_keep) ++ ++EnumValue ++Enum(indirect_branch) String(thunk) Value(indirect_branch_thunk) ++ ++EnumValue ++Enum(indirect_branch) String(thunk-inline) Value(indirect_branch_thunk_inline) ++ ++EnumValue ++Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern) +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c +@@ -0,0 +1,44 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++ ++void func0 (void); ++void func1 (void); ++void func2 (void); ++void func3 (void); ++void func4 (void); ++void func4 (void); ++void func5 (void); ++ ++void ++bar (int i) ++{ ++ switch (i) ++ { ++ default: ++ func0 (); ++ break; ++ case 1: ++ func1 (); ++ break; ++ case 2: ++ func2 (); ++ break; ++ case 3: ++ func3 (); ++ break; ++ case 4: ++ func4 (); ++ break; ++ case 5: ++ func5 (); ++ break; ++ } ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++extern void male_indirect_jump (long) ++ __attribute__ ((indirect_branch("thunk"))); ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++__attribute__ ((indirect_branch("thunk"))) ++void ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++extern int male_indirect_jump (long) ++ __attribute__ ((indirect_branch("thunk-inline"))); ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++__attribute__ ((indirect_branch("thunk-inline"))) ++int ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++extern int male_indirect_jump (long) ++ __attribute__ ((indirect_branch("thunk-extern"))); ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++__attribute__ ((indirect_branch("thunk-extern"))) ++int ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c +@@ -0,0 +1,44 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-pic" } */ ++ ++void func0 (void); ++void func1 (void); ++void func2 (void); ++void func3 (void); ++void func4 (void); ++void func4 (void); ++void func5 (void); ++ ++__attribute__ ((indirect_branch("thunk-extern"))) ++void ++bar (int i) ++{ ++ switch (i) ++ { ++ default: ++ func0 (); ++ break; ++ case 1: ++ func1 (); ++ break; ++ case 2: ++ func2 (); ++ break; ++ case 3: ++ func3 (); ++ break; ++ case 4: ++ func4 (); ++ break; ++ case 5: ++ func5 (); ++ break; ++ } ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c +@@ -0,0 +1,42 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++ ++void func0 (void); ++void func1 (void); ++void func2 (void); ++void func3 (void); ++void func4 (void); ++void func4 (void); ++void func5 (void); ++ ++__attribute__ ((indirect_branch("keep"))) ++void ++bar (int i) ++{ ++ switch (i) ++ { ++ default: ++ func0 (); ++ break; ++ case 1: ++ func1 (); ++ break; ++ case 2: ++ func2 (); ++ break; ++ case 3: ++ func3 (); ++ break; ++ case 4: ++ func4 (); ++ break; ++ case 5: ++ func5 (); ++ break; ++ } ++} ++ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile { target { ! x32 } } } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ ++ ++void (*dispatch) (char *); ++char buf[10]; ++ ++void ++foo (void) ++{ ++ dispatch (buf); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */ ++/* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "bnd ret" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile { target { ! x32 } } } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ ++ ++void (*dispatch) (char *); ++char buf[10]; ++ ++int ++foo (void) ++{ ++ dispatch (buf); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */ ++/* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */ ++/* { dg-final { scan-assembler "bnd jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "bnd ret" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c +@@ -0,0 +1,19 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c +@@ -0,0 +1,19 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c +@@ -0,0 +1,43 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++void func0 (void); ++void func1 (void); ++void func2 (void); ++void func3 (void); ++void func4 (void); ++void func4 (void); ++void func5 (void); ++ ++void ++bar (int i) ++{ ++ switch (i) ++ { ++ default: ++ func0 (); ++ break; ++ case 1: ++ func1 (); ++ break; ++ case 2: ++ func2 (); ++ break; ++ case 3: ++ func3 (); ++ break; ++ case 4: ++ func4 (); ++ break; ++ case 5: ++ func5 (); ++ break; ++ } ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler-times {\tpause} 1 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch[256]; ++ ++int ++male_indirect_jump (long offset) ++{ ++ dispatch[offset](offset); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ ++/* { dg-final { scan-assembler-times {\tpause} 1 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c +@@ -0,0 +1,44 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++ ++void func0 (void); ++void func1 (void); ++void func2 (void); ++void func3 (void); ++void func4 (void); ++void func4 (void); ++void func5 (void); ++ ++void ++bar (int i) ++{ ++ switch (i) ++ { ++ default: ++ func0 (); ++ break; ++ case 1: ++ func1 (); ++ break; ++ case 2: ++ func2 (); ++ break; ++ case 3: ++ func3 (); ++ break; ++ case 4: ++ func4 (); ++ break; ++ case 5: ++ func5 (); ++ break; ++ } ++} ++ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ diff --git a/patches/source/gcc/0006-x86-Add-mfunction-return-doc.diff b/patches/source/gcc/0006-x86-Add-mfunction-return-doc.diff new file mode 100644 index 000000000..b40d52489 --- /dev/null +++ b/patches/source/gcc/0006-x86-Add-mfunction-return-doc.diff @@ -0,0 +1,300 @@ +From 357311dd400f7f72d2132f2f94161ece39bf08c6 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:10:44 +0000 +Subject: [PATCH 6/9] x86: Add -mfunction-return= + +Add -mfunction-return= option to convert function return to call and +return thunks. The default is 'keep', which keeps function return +unmodified. 'thunk' converts function return to call and return thunk. +'thunk-inline' converts function return to inlined call and return thunk. +'thunk-extern' converts function return to external call and return +thunk provided in a separate object file. You can control this behavior +for a specific function by using the function attribute function_return. + +Function return thunk is the same as memory thunk for -mindirect-branch= +where the return address is at the top of the stack: + +__x86_return_thunk: + call L2 +L1: + pause + lfence + jmp L1 +L2: + lea 8(%rsp), %rsp|lea 4(%esp), %esp + ret + +and function return becomes + + jmp __x86_return_thunk + +-mindirect-branch= tests are updated with -mfunction-return=keep to +avoid false test failures when -mfunction-return=thunk is added to +RUNTESTFLAGS for "make check". + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386-protos.h (ix86_output_function_return): New. + * config/i386/i386.c (ix86_set_indirect_branch_type): Also + set function_return_type. + (indirect_thunk_name): Add ret_p to indicate thunk for function + return. + (output_indirect_thunk_function): Pass false to + indirect_thunk_name. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_output_indirect_branch_via_push): Likewise. + (output_indirect_thunk_function): Create alias for function + return thunk if regno < 0. + (ix86_output_function_return): New function. + (ix86_handle_fndecl_attribute): Handle function_return. + (ix86_attribute_table): Add function_return. + * config/i386/i386.h (machine_function): Add + function_return_type. + * config/i386/i386.md (simple_return_internal): Use + ix86_output_function_return. + (simple_return_internal_long): Likewise. + * config/i386/i386.opt (mfunction-return=): New option. + (indirect_branch): Mention -mfunction-return=. + * doc/extend.texi: Document function_return function attribute. + * doc/invoke.texi: Document -mfunction-return= option. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-1.c (dg-options): Add + -mfunction-return=keep. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-5.c: Likewise. + * gcc.target/i386/indirect-thunk-6.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-8.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. + * gcc.target/i386/ret-thunk-1.c: New test. + * gcc.target/i386/ret-thunk-10.c: Likewise. + * gcc.target/i386/ret-thunk-11.c: Likewise. + * gcc.target/i386/ret-thunk-12.c: Likewise. + * gcc.target/i386/ret-thunk-13.c: Likewise. + * gcc.target/i386/ret-thunk-14.c: Likewise. + * gcc.target/i386/ret-thunk-15.c: Likewise. + * gcc.target/i386/ret-thunk-16.c: Likewise. + * gcc.target/i386/ret-thunk-2.c: Likewise. + * gcc.target/i386/ret-thunk-3.c: Likewise. + * gcc.target/i386/ret-thunk-4.c: Likewise. + * gcc.target/i386/ret-thunk-5.c: Likewise. + * gcc.target/i386/ret-thunk-6.c: Likewise. + * gcc.target/i386/ret-thunk-7.c: Likewise. + * gcc.target/i386/ret-thunk-8.c: Likewise. + * gcc.target/i386/ret-thunk-9.c: Likewise. + +i386: Don't use ASM_OUTPUT_DEF for TARGET_MACHO + +ASM_OUTPUT_DEF isn't defined for TARGET_MACHO. Use ASM_OUTPUT_LABEL to +generate the __x86_return_thunk label, instead of the set directive. +Update testcase to remove the __x86_return_thunk label check. Since +-fno-pic is ignored on Darwin, update testcases to sscan or "push" +only on Linux. + +gcc/ + + Backport from mainline + 2018-01-15 H.J. Lu + + PR target/83839 + * config/i386/i386.c (output_indirect_thunk_function): Use + ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO + for __x86.return_thunk. + +gcc/testsuite/ + + Backport from mainline + 2018-01-15 H.J. Lu + + PR target/83839 + * gcc.target/i386/indirect-thunk-1.c: Scan for "push" only on + Linux. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-register-1.c: Likewise. + * gcc.target/i386/indirect-thunk-register-3.c: Likewise. + * gcc.target/i386/indirect-thunk-register-4.c: Likewise. + * gcc.target/i386/ret-thunk-10.c: Likewise. + * gcc.target/i386/ret-thunk-11.c: Likewise. + * gcc.target/i386/ret-thunk-12.c: Likewise. + * gcc.target/i386/ret-thunk-13.c: Likewise. + * gcc.target/i386/ret-thunk-14.c: Likewise. + * gcc.target/i386/ret-thunk-15.c: Likewise. + * gcc.target/i386/ret-thunk-9.c: Don't check the + __x86_return_thunk label. + Scan for "push" only for Linux. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256734 138bc75d-0d04-0410-961f-82ee72b054a4 + +[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c, + indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c, + indirect-thunk-extern-5.c, indirect-thunk-extern-6.c, + indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due + to gcc 5.4 and earlier not supporting the -fno-plt option. + --sbeattie,] + +--- + src/gcc/config/i386/i386-protos.h | 1 + src/gcc/config/i386/i386.c | 152 +++++++++++- + src/gcc/config/i386/i386.h | 3 + src/gcc/config/i386/i386.md | 9 + src/gcc/config/i386/i386.opt | 6 + src/gcc/doc/extend.texi | 9 + src/gcc/doc/invoke.texi | 13 - + src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 4 + src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c | 13 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 23 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 23 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c | 18 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c | 13 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c | 12 + src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c | 12 + src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c | 15 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c | 14 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c | 13 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c | 14 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 24 + + 48 files changed, 507 insertions(+), 66 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-10.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-11.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-12.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-13.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-14.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-15.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-16.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-8.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-9.c + +Index: b/src/gcc/doc/extend.texi +=================================================================== +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -4129,6 +4129,15 @@ call and jump to call and return thunk. + indirect call and jump to inlined call and return thunk. + @samp{thunk-extern} converts indirect call and jump to external call + and return thunk provided in a separate object file. ++ ++@item function_return("@var{choice}") ++@cindex @code{function_return} function attribute, x86 ++On x86 targets, the @code{function_return} attribute causes the compiler ++to convert function return with @var{choice}. @samp{keep} keeps function ++return unmodified. @samp{thunk} converts function return to call and ++return thunk. @samp{thunk-inline} converts function return to inlined ++call and return thunk. @samp{thunk-extern} converts function return to ++external call and return thunk provided in a separate object file. + @end table + + On the PowerPC, the following options are allowed: +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -1091,7 +1091,7 @@ See RS/6000 and PowerPC Options. + -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol + -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol + -malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol +--mindirect-branch=@var{choice}} ++-mindirect-branch=@var{choice} -mfunction-return=@var{choice}} + + @emph{x86 Windows Options} + @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol +@@ -24029,6 +24029,17 @@ to external call and return thunk provid + You can control this behavior for a specific function by using the + function attribute @code{indirect_branch}. @xref{Function Attributes}. + ++@item -mfunction-return=@var{choice} ++@opindex -mfunction-return ++Convert function return with @var{choice}. The default is @samp{keep}, ++which keeps function return unmodified. @samp{thunk} converts function ++return to call and return thunk. @samp{thunk-inline} converts function ++return to inlined call and return thunk. @samp{thunk-extern} converts ++function return to external call and return thunk provided in a separate ++object file. You can control this behavior for a specific function by ++using the function attribute @code{function_return}. ++@xref{Function Attributes}. ++ + @end table + + @c man end diff --git a/patches/source/gcc/0006-x86-Add-mfunction-return.diff b/patches/source/gcc/0006-x86-Add-mfunction-return.diff new file mode 100644 index 000000000..1883cc6a5 --- /dev/null +++ b/patches/source/gcc/0006-x86-Add-mfunction-return.diff @@ -0,0 +1,1409 @@ +From 357311dd400f7f72d2132f2f94161ece39bf08c6 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:10:44 +0000 +Subject: [PATCH 6/9] x86: Add -mfunction-return= + +Add -mfunction-return= option to convert function return to call and +return thunks. The default is 'keep', which keeps function return +unmodified. 'thunk' converts function return to call and return thunk. +'thunk-inline' converts function return to inlined call and return thunk. +'thunk-extern' converts function return to external call and return +thunk provided in a separate object file. You can control this behavior +for a specific function by using the function attribute function_return. + +Function return thunk is the same as memory thunk for -mindirect-branch= +where the return address is at the top of the stack: + +__x86_return_thunk: + call L2 +L1: + pause + lfence + jmp L1 +L2: + lea 8(%rsp), %rsp|lea 4(%esp), %esp + ret + +and function return becomes + + jmp __x86_return_thunk + +-mindirect-branch= tests are updated with -mfunction-return=keep to +avoid false test failures when -mfunction-return=thunk is added to +RUNTESTFLAGS for "make check". + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386-protos.h (ix86_output_function_return): New. + * config/i386/i386.c (ix86_set_indirect_branch_type): Also + set function_return_type. + (indirect_thunk_name): Add ret_p to indicate thunk for function + return. + (output_indirect_thunk_function): Pass false to + indirect_thunk_name. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_output_indirect_branch_via_push): Likewise. + (output_indirect_thunk_function): Create alias for function + return thunk if regno < 0. + (ix86_output_function_return): New function. + (ix86_handle_fndecl_attribute): Handle function_return. + (ix86_attribute_table): Add function_return. + * config/i386/i386.h (machine_function): Add + function_return_type. + * config/i386/i386.md (simple_return_internal): Use + ix86_output_function_return. + (simple_return_internal_long): Likewise. + * config/i386/i386.opt (mfunction-return=): New option. + (indirect_branch): Mention -mfunction-return=. + * doc/extend.texi: Document function_return function attribute. + * doc/invoke.texi: Document -mfunction-return= option. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-1.c (dg-options): Add + -mfunction-return=keep. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-5.c: Likewise. + * gcc.target/i386/indirect-thunk-6.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-8.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. + * gcc.target/i386/ret-thunk-1.c: New test. + * gcc.target/i386/ret-thunk-10.c: Likewise. + * gcc.target/i386/ret-thunk-11.c: Likewise. + * gcc.target/i386/ret-thunk-12.c: Likewise. + * gcc.target/i386/ret-thunk-13.c: Likewise. + * gcc.target/i386/ret-thunk-14.c: Likewise. + * gcc.target/i386/ret-thunk-15.c: Likewise. + * gcc.target/i386/ret-thunk-16.c: Likewise. + * gcc.target/i386/ret-thunk-2.c: Likewise. + * gcc.target/i386/ret-thunk-3.c: Likewise. + * gcc.target/i386/ret-thunk-4.c: Likewise. + * gcc.target/i386/ret-thunk-5.c: Likewise. + * gcc.target/i386/ret-thunk-6.c: Likewise. + * gcc.target/i386/ret-thunk-7.c: Likewise. + * gcc.target/i386/ret-thunk-8.c: Likewise. + * gcc.target/i386/ret-thunk-9.c: Likewise. + +i386: Don't use ASM_OUTPUT_DEF for TARGET_MACHO + +ASM_OUTPUT_DEF isn't defined for TARGET_MACHO. Use ASM_OUTPUT_LABEL to +generate the __x86_return_thunk label, instead of the set directive. +Update testcase to remove the __x86_return_thunk label check. Since +-fno-pic is ignored on Darwin, update testcases to sscan or "push" +only on Linux. + +gcc/ + + Backport from mainline + 2018-01-15 H.J. Lu + + PR target/83839 + * config/i386/i386.c (output_indirect_thunk_function): Use + ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO + for __x86.return_thunk. + +gcc/testsuite/ + + Backport from mainline + 2018-01-15 H.J. Lu + + PR target/83839 + * gcc.target/i386/indirect-thunk-1.c: Scan for "push" only on + Linux. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-register-1.c: Likewise. + * gcc.target/i386/indirect-thunk-register-3.c: Likewise. + * gcc.target/i386/indirect-thunk-register-4.c: Likewise. + * gcc.target/i386/ret-thunk-10.c: Likewise. + * gcc.target/i386/ret-thunk-11.c: Likewise. + * gcc.target/i386/ret-thunk-12.c: Likewise. + * gcc.target/i386/ret-thunk-13.c: Likewise. + * gcc.target/i386/ret-thunk-14.c: Likewise. + * gcc.target/i386/ret-thunk-15.c: Likewise. + * gcc.target/i386/ret-thunk-9.c: Don't check the + __x86_return_thunk label. + Scan for "push" only for Linux. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256734 138bc75d-0d04-0410-961f-82ee72b054a4 + +[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c, + indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c, + indirect-thunk-extern-5.c, indirect-thunk-extern-6.c, + indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due + to gcc 5.4 and earlier not supporting the -fno-plt option. + --sbeattie,] + +--- + src/gcc/config/i386/i386-protos.h | 1 + src/gcc/config/i386/i386.c | 152 +++++++++++- + src/gcc/config/i386/i386.h | 3 + src/gcc/config/i386/i386.md | 9 + src/gcc/config/i386/i386.opt | 6 + src/gcc/doc/extend.texi | 9 + src/gcc/doc/invoke.texi | 13 - + src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 4 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 4 + src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c | 13 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 23 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 23 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 22 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c | 18 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c | 13 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c | 12 + src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c | 12 + src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c | 15 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c | 14 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c | 13 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c | 14 + + src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 24 + + 48 files changed, 507 insertions(+), 66 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-10.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-11.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-12.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-13.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-14.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-15.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-16.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-3.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-4.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-5.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-6.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-7.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-8.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-9.c + +Index: b/src/gcc/config/i386/i386-protos.h +=================================================================== +--- a/src/gcc/config/i386/i386-protos.h ++++ b/src/gcc/config/i386/i386-protos.h +@@ -307,6 +307,7 @@ extern enum attr_cpu ix86_schedule; + + extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op); + extern const char * ix86_output_indirect_jmp (rtx call_op, bool ret_p); ++extern const char * ix86_output_function_return (bool long_p); + + #ifdef RTX_CODE + /* Target data for multipass lookahead scheduling. +Index: b/src/gcc/config/i386/i386.c +=================================================================== +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -5166,6 +5166,31 @@ ix86_set_indirect_branch_type (tree fnde + else + cfun->machine->indirect_branch_type = ix86_indirect_branch; + } ++ ++ if (cfun->machine->function_return_type == indirect_branch_unset) ++ { ++ tree attr = lookup_attribute ("function_return", ++ DECL_ATTRIBUTES (fndecl)); ++ if (attr != NULL) ++ { ++ tree args = TREE_VALUE (attr); ++ if (args == NULL) ++ gcc_unreachable (); ++ tree cst = TREE_VALUE (args); ++ if (strcmp (TREE_STRING_POINTER (cst), "keep") == 0) ++ cfun->machine->function_return_type = indirect_branch_keep; ++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk") == 0) ++ cfun->machine->function_return_type = indirect_branch_thunk; ++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-inline") == 0) ++ cfun->machine->function_return_type = indirect_branch_thunk_inline; ++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-extern") == 0) ++ cfun->machine->function_return_type = indirect_branch_thunk_extern; ++ else ++ gcc_unreachable (); ++ } ++ else ++ cfun->machine->function_return_type = ix86_function_return; ++ } + } + + /* Establish appropriate back-end context for processing the function +@@ -9753,8 +9778,12 @@ static int indirect_thunks_bnd_used; + /* Fills in the label name that should be used for the indirect thunk. */ + + static void +-indirect_thunk_name (char name[32], int regno, bool need_bnd_p) ++indirect_thunk_name (char name[32], int regno, bool need_bnd_p, ++ bool ret_p) + { ++ if (regno >= 0 && ret_p) ++ gcc_unreachable (); ++ + if (USE_HIDDEN_LINKONCE) + { + const char *bnd = need_bnd_p ? "_bnd" : ""; +@@ -9769,7 +9798,10 @@ indirect_thunk_name (char name[32], int + bnd, reg_prefix, reg_names[regno]); + } + else +- sprintf (name, "__x86_indirect_thunk%s", bnd); ++ { ++ const char *ret = ret_p ? "return" : "indirect"; ++ sprintf (name, "__x86_%s_thunk%s", ret, bnd); ++ } + } + else + { +@@ -9782,10 +9814,20 @@ indirect_thunk_name (char name[32], int + } + else + { +- if (need_bnd_p) +- ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0); ++ if (ret_p) ++ { ++ if (need_bnd_p) ++ ASM_GENERATE_INTERNAL_LABEL (name, "LRTB", 0); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LRT", 0); ++ } + else +- ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0); ++ { ++ if (need_bnd_p) ++ ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0); ++ } + } + } + } +@@ -9880,7 +9922,7 @@ output_indirect_thunk_function (bool nee + tree decl; + + /* Create __x86_indirect_thunk/__x86_indirect_thunk_bnd. */ +- indirect_thunk_name (name, regno, need_bnd_p); ++ indirect_thunk_name (name, regno, need_bnd_p, false); + decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, + get_identifier (name), + build_function_type_list (void_type_node, NULL_TREE)); +@@ -9923,6 +9965,36 @@ output_indirect_thunk_function (bool nee + ASM_OUTPUT_LABEL (asm_out_file, name); + } + ++ if (regno < 0) ++ { ++ /* Create alias for __x86.return_thunk/__x86.return_thunk_bnd. */ ++ char alias[32]; ++ ++ indirect_thunk_name (alias, regno, need_bnd_p, true); ++#if TARGET_MACHO ++ if (TARGET_MACHO) ++ { ++ fputs ("\t.weak_definition\t", asm_out_file); ++ assemble_name (asm_out_file, alias); ++ fputs ("\n\t.private_extern\t", asm_out_file); ++ assemble_name (asm_out_file, alias); ++ putc ('\n', asm_out_file); ++ ASM_OUTPUT_LABEL (asm_out_file, alias); ++ } ++#else ++ ASM_OUTPUT_DEF (asm_out_file, alias, name); ++ if (USE_HIDDEN_LINKONCE) ++ { ++ fputs ("\t.globl\t", asm_out_file); ++ assemble_name (asm_out_file, alias); ++ putc ('\n', asm_out_file); ++ fputs ("\t.hidden\t", asm_out_file); ++ assemble_name (asm_out_file, alias); ++ putc ('\n', asm_out_file); ++ } ++#endif ++ } ++ + DECL_INITIAL (decl) = make_node (BLOCK); + current_function_decl = decl; + allocate_struct_function (decl, false); +@@ -26121,7 +26193,7 @@ ix86_output_indirect_branch_via_reg (rtx + else + indirect_thunks_used |= 1 << i; + } +- indirect_thunk_name (thunk_name_buf, regno, need_bnd_p); ++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p, false); + thunk_name = thunk_name_buf; + } + else +@@ -26230,7 +26302,7 @@ ix86_output_indirect_branch_via_push (rt + else + indirect_thunk_needed = true; + } +- indirect_thunk_name (thunk_name_buf, regno, need_bnd_p); ++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p, false); + thunk_name = thunk_name_buf; + } + else +@@ -26365,6 +26437,46 @@ ix86_output_indirect_jmp (rtx call_op, b + return "%!jmp\t%A0"; + } + ++/* Output function return. CALL_OP is the jump target. Add a REP ++ prefix to RET if LONG_P is true and function return is kept. */ ++ ++const char * ++ix86_output_function_return (bool long_p) ++{ ++ if (cfun->machine->function_return_type != indirect_branch_keep) ++ { ++ char thunk_name[32]; ++ bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn); ++ ++ if (cfun->machine->function_return_type ++ != indirect_branch_thunk_inline) ++ { ++ bool need_thunk = (cfun->machine->function_return_type ++ == indirect_branch_thunk); ++ indirect_thunk_name (thunk_name, -1, need_bnd_p, true); ++ if (need_bnd_p) ++ { ++ indirect_thunk_bnd_needed |= need_thunk; ++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ } ++ else ++ { ++ indirect_thunk_needed |= need_thunk; ++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ } ++ } ++ else ++ output_indirect_thunk (need_bnd_p, -1); ++ ++ return ""; ++ } ++ ++ if (!long_p || ix86_bnd_prefixed_insn_p (current_output_insn)) ++ return "%!ret"; ++ ++ return "rep%; ret"; ++} ++ + /* Output the assembly for a call instruction. */ + + const char * +@@ -43625,6 +43737,28 @@ ix86_handle_fndecl_attribute (tree *node + } + } + ++ if (is_attribute_p ("function_return", name)) ++ { ++ tree cst = TREE_VALUE (args); ++ if (TREE_CODE (cst) != STRING_CST) ++ { ++ warning (OPT_Wattributes, ++ "%qE attribute requires a string constant argument", ++ name); ++ *no_add_attrs = true; ++ } ++ else if (strcmp (TREE_STRING_POINTER (cst), "keep") != 0 ++ && strcmp (TREE_STRING_POINTER (cst), "thunk") != 0 ++ && strcmp (TREE_STRING_POINTER (cst), "thunk-inline") != 0 ++ && strcmp (TREE_STRING_POINTER (cst), "thunk-extern") != 0) ++ { ++ warning (OPT_Wattributes, ++ "argument to %qE attribute is not " ++ "(keep|thunk|thunk-inline|thunk-extern)", name); ++ *no_add_attrs = true; ++ } ++ } ++ + return NULL_TREE; + } + +@@ -47519,6 +47653,8 @@ static const struct attribute_spec ix86_ + ix86_handle_callee_pop_aggregate_return, true }, + { "indirect_branch", 1, 1, true, false, false, + ix86_handle_fndecl_attribute, false }, ++ { "function_return", 1, 1, true, false, false, ++ ix86_handle_fndecl_attribute, false }, + + /* End element. */ + { NULL, 0, 0, false, false, false, NULL, false } +Index: b/src/gcc/config/i386/i386.h +=================================================================== +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -2562,6 +2562,9 @@ struct GTY(()) machine_function { + "indirect_jump" or "tablejump". */ + BOOL_BITFIELD has_local_indirect_jump : 1; + ++ /* How to generate function return. */ ++ ENUM_BITFIELD(indirect_branch) function_return_type : 3; ++ + /* During prologue/epilogue generation, the current frame state. + Otherwise, the frame state at the end of the prologue. */ + struct machine_frame_state fs; +Index: b/src/gcc/config/i386/i386.md +=================================================================== +--- a/src/gcc/config/i386/i386.md ++++ b/src/gcc/config/i386/i386.md +@@ -12169,7 +12169,7 @@ + (define_insn "simple_return_internal" + [(simple_return)] + "reload_completed" +- "%!ret" ++ "* return ix86_output_function_return (false);" + [(set_attr "length_nobnd" "1") + (set_attr "atom_unit" "jeu") + (set_attr "length_immediate" "0") +@@ -12182,12 +12182,7 @@ + [(simple_return) + (unspec [(const_int 0)] UNSPEC_REP)] + "reload_completed" +-{ +- if (ix86_bnd_prefixed_insn_p (insn)) +- return "%!ret"; +- +- return "rep%; ret"; +-} ++ "* return ix86_output_function_return (true);" + [(set_attr "length" "2") + (set_attr "atom_unit" "jeu") + (set_attr "length_immediate" "0") +Index: b/src/gcc/config/i386/i386.opt +=================================================================== +--- a/src/gcc/config/i386/i386.opt ++++ b/src/gcc/config/i386/i386.opt +@@ -881,9 +881,13 @@ mindirect-branch= + Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep) + Convert indirect call and jump to call and return thunks. + ++mfunction-return= ++Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_function_return) Init(indirect_branch_keep) ++Convert function return to call and return thunk. ++ + Enum + Name(indirect_branch) Type(enum indirect_branch) +-Known indirect branch choices (for use with the -mindirect-branch= option): ++Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options): + + EnumValue + Enum(indirect_branch) String(keep) Value(indirect_branch_keep) +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -11,7 +11,7 @@ male_indirect_jump (long offset) + dispatch(offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -11,7 +11,7 @@ male_indirect_jump (long offset) + dispatch[offset](offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + void func0 (void); + void func1 (void); +@@ -35,7 +35,7 @@ bar (int i) + } + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -14,7 +14,7 @@ male_indirect_jump (long offset) + dispatch(offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + dispatch[offset](offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -14,7 +14,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler {\tpause} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -13,7 +13,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler {\tpause} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -14,7 +14,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -13,7 +13,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ + + void func0 (void); + void func1 (void); +@@ -36,7 +36,7 @@ bar (int i) + } + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" } } */ + /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + void func0 (void); + void func1 (void); +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! x32 } } } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ + + void (*dispatch) (char *); + char buf[10]; +@@ -10,7 +10,7 @@ foo (void) + dispatch (buf); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */ + /* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! x32 } } } */ +-/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ + + void (*dispatch) (char *); + char buf[10]; +@@ -11,7 +11,7 @@ foo (void) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */ + /* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */ + /* { dg-final { scan-assembler "bnd jmp\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -11,7 +11,7 @@ male_indirect_jump (long offset) + dispatch(offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -11,7 +11,7 @@ male_indirect_jump (long offset) + dispatch[offset](offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + void func0 (void); + void func1 (void); +@@ -35,7 +35,7 @@ bar (int i) + } + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ + /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -11,7 +11,7 @@ male_indirect_jump (long offset) + dispatch(offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ + /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ + /* { dg-final { scan-assembler {\tpause} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -11,7 +11,7 @@ male_indirect_jump (long offset) + dispatch[offset](offset); + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ + /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ + /* { dg-final { scan-assembler {\tpause} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler-times {\tpause} 1 } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +@@ -12,7 +12,7 @@ male_indirect_jump (long offset) + return 0; + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */ + /* { dg-final { scan-assembler-times {\tpause} 1 } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + void func0 (void); + void func1 (void); +@@ -35,7 +35,7 @@ bar (int i) + } + } + +-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */ + /* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ + /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ + /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk" } */ ++ ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk-inline -mindirect-branch=thunk -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-times {\tpause} 2 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 2 } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk_(r|e)ax:" { target { x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk-extern -mindirect-branch=thunk -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-times {\tpause} 1 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk_(r|e)ax:" { target { x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-times {\tpause} 1 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk_(r|e)ax:" { target { x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++ ++extern void (*bar) (void); ++extern int foo (void) __attribute__ ((function_return("thunk"))); ++ ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-times {\tpause} 2 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 2 } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */ ++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 3 } } */ ++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 3 } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++__attribute__ ((function_return("thunk-inline"))) ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler-times {\tpause} 1 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++__attribute__ ((function_return("thunk-extern"), indirect_branch("thunk"))) ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-times {\tpause} 1 } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c +@@ -0,0 +1,18 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk-inline -mindirect-branch=thunk-extern -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++__attribute__ ((function_return("keep"), indirect_branch("keep"))) ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ ++/* { dg-final { scan-assembler-not "__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk-inline" } */ ++ ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk-extern" } */ ++ ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep" } */ ++ ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c +@@ -0,0 +1,15 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep" } */ ++ ++extern void foo (void) __attribute__ ((function_return("thunk"))); ++ ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep" } */ ++ ++__attribute__ ((function_return("thunk-inline"))) ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler {\tlfence} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=keep" } */ ++ ++__attribute__ ((function_return("thunk-extern"))) ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk-inline" } */ ++ ++extern void foo (void) __attribute__ ((function_return("keep"))); ++ ++void ++foo (void) ++{ ++} ++ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c +@@ -0,0 +1,24 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mfunction-return=thunk -mindirect-branch=thunk -fno-pic" } */ ++ ++extern void (*bar) (void); ++ ++int ++foo (void) ++{ ++ bar (); ++ return 0; ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "__x86_indirect_thunk:" } } */ ++/* { dg-final { scan-assembler-times {\tpause} 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 1 { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ ++/* { dg-final { scan-assembler-times {\tpause} 2 { target { x32 } } } } */ ++/* { dg-final { scan-assembler-times {\tlfence} 2 { target { x32 } } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */ diff --git a/patches/source/gcc/0007-x86-Add-mindirect-branch-register-doc.diff b/patches/source/gcc/0007-x86-Add-mindirect-branch-register-doc.diff new file mode 100644 index 000000000..9780bfc91 --- /dev/null +++ b/patches/source/gcc/0007-x86-Add-mindirect-branch-register-doc.diff @@ -0,0 +1,231 @@ +From 86118fbdbafe6af54b2da467e1073c49e1742116 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:17:49 +0000 +Subject: [PATCH 7/9] x86: Add -mindirect-branch-register (documentation) + +Add -mindirect-branch-register to force indirect branch via register. +This is implemented by disabling patterns of indirect branch via memory, +similar to TARGET_X32. + +-mindirect-branch= and -mfunction-return= tests are updated with +-mno-indirect-branch-register to avoid false test failures when +-mindirect-branch-register is added to RUNTESTFLAGS for "make check". + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/constraints.md (Bs): Disallow memory operand for + -mindirect-branch-register. + (Bw): Likewise. + * config/i386/predicates.md (indirect_branch_operand): Likewise. + (GOT_memory_operand): Likewise. + (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + (GOT32_symbol_operand): Likewise. + * config/i386/i386.md (indirect_jump): Call convert_memory_address + for -mindirect-branch-register. + (tablejump): Likewise. + (*sibcall_memory): Likewise. + (*sibcall_value_memory): Likewise. + Disallow peepholes of indirect call and jump via memory for + -mindirect-branch-register. + (*call_pop): Replace m with Bw. + (*call_value_pop): Likewise. + (*sibcall_pop_memory): Replace m with Bs. + * config/i386/i386.opt (mindirect-branch-register): New option. + * doc/invoke.texi: Document -mindirect-branch-register option. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-1.c (dg-options): Add + -mno-indirect-branch-register. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-5.c: Likewise. + * gcc.target/i386/indirect-thunk-6.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. + * gcc.target/i386/ret-thunk-10.c: Likewise. + * gcc.target/i386/ret-thunk-11.c: Likewise. + * gcc.target/i386/ret-thunk-12.c: Likewise. + * gcc.target/i386/ret-thunk-13.c: Likewise. + * gcc.target/i386/ret-thunk-14.c: Likewise. + * gcc.target/i386/ret-thunk-15.c: Likewise. + * gcc.target/i386/ret-thunk-9.c: Likewise. + * gcc.target/i386/indirect-thunk-register-1.c: New test. + * gcc.target/i386/indirect-thunk-register-2.c: Likewise. + * gcc.target/i386/indirect-thunk-register-3.c: Likewise. + +i386: Rename to ix86_indirect_branch_register + +Rename the variable for -mindirect-branch-register to +ix86_indirect_branch_register to match the command-line option name. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/constraints.md (Bs): Replace + ix86_indirect_branch_thunk_register with + ix86_indirect_branch_register. + (Bw): Likewise. + * config/i386/i386.md (indirect_jump): Likewise. + (tablejump): Likewise. + (*sibcall_memory): Likewise. + (*sibcall_value_memory): Likewise. + Peepholes of indirect call and jump via memory: Likewise. + * config/i386/i386.opt: Likewise. + * config/i386/predicates.md (indirect_branch_operand): Likewise. + (GOT_memory_operand): Likewise. + (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + (GOT32_symbol_operand): Likewise. + +x86: Rewrite ix86_indirect_branch_register logic + +Rewrite ix86_indirect_branch_register logic with + +(and (not (match_test "ix86_indirect_branch_register")) + (original condition before r256662)) + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/predicates.md (constant_call_address_operand): + Rewrite ix86_indirect_branch_register logic. + (sibcall_insn_operand): Likewise. + +Don't check ix86_indirect_branch_register for GOT operand + +Since GOT_memory_operand and GOT32_symbol_operand are simple pattern +matches, don't check ix86_indirect_branch_register here. If needed, +-mindirect-branch= will convert indirect branch via GOT slot to a call +and return thunk. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/constraints.md (Bs): Update + ix86_indirect_branch_register check. Don't check + ix86_indirect_branch_register with GOT_memory_operand. + (Bw): Likewise. + * config/i386/predicates.md (GOT_memory_operand): Don't check + ix86_indirect_branch_register here. + (GOT32_symbol_operand): Likewise. + +i386: Rewrite indirect_branch_operand logic + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/predicates.md (indirect_branch_operand): Rewrite + ix86_indirect_branch_register logic. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256735 138bc75d-0d04-0410-961f-82ee72b054a4 + +[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c, + indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c, + indirect-thunk-extern-5.c, indirect-thunk-extern-6.c, + indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due + to gcc 5.4 and earlier not supporting the -fno-plt option. + --sbeattie,] +--- + src/gcc/config/i386/constraints.md | 6 + + src/gcc/config/i386/i386.md | 34 ++++++---- + src/gcc/config/i386/i386.opt | 4 + + src/gcc/config/i386/predicates.md | 9 +- + src/gcc/doc/invoke.texi | 7 +- + src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c | 22 ++++++ + src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c | 20 +++++ + src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c | 19 +++++ + src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 2 + 39 files changed, 134 insertions(+), 49 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c + +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -1091,7 +1091,8 @@ See RS/6000 and PowerPC Options. + -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol + -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol + -malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol +--mindirect-branch=@var{choice} -mfunction-return=@var{choice}} ++-mindirect-branch=@var{choice} -mfunction-return=@var{choice} @gol ++-mindirect-branch-register} + + @emph{x86 Windows Options} + @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol +@@ -24040,6 +24041,10 @@ object file. You can control this behav + using the function attribute @code{function_return}. + @xref{Function Attributes}. + ++@item -mindirect-branch-register ++@opindex -mindirect-branch-register ++Force indirect call and jump via register. ++ + @end table + + @c man end diff --git a/patches/source/gcc/0007-x86-Add-mindirect-branch-register.diff b/patches/source/gcc/0007-x86-Add-mindirect-branch-register.diff new file mode 100644 index 000000000..211368991 --- /dev/null +++ b/patches/source/gcc/0007-x86-Add-mindirect-branch-register.diff @@ -0,0 +1,812 @@ +From 86118fbdbafe6af54b2da467e1073c49e1742116 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:17:49 +0000 +Subject: [PATCH 7/9] x86: Add -mindirect-branch-register + +Add -mindirect-branch-register to force indirect branch via register. +This is implemented by disabling patterns of indirect branch via memory, +similar to TARGET_X32. + +-mindirect-branch= and -mfunction-return= tests are updated with +-mno-indirect-branch-register to avoid false test failures when +-mindirect-branch-register is added to RUNTESTFLAGS for "make check". + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/constraints.md (Bs): Disallow memory operand for + -mindirect-branch-register. + (Bw): Likewise. + * config/i386/predicates.md (indirect_branch_operand): Likewise. + (GOT_memory_operand): Likewise. + (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + (GOT32_symbol_operand): Likewise. + * config/i386/i386.md (indirect_jump): Call convert_memory_address + for -mindirect-branch-register. + (tablejump): Likewise. + (*sibcall_memory): Likewise. + (*sibcall_value_memory): Likewise. + Disallow peepholes of indirect call and jump via memory for + -mindirect-branch-register. + (*call_pop): Replace m with Bw. + (*call_value_pop): Likewise. + (*sibcall_pop_memory): Replace m with Bs. + * config/i386/i386.opt (mindirect-branch-register): New option. + * doc/invoke.texi: Document -mindirect-branch-register option. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-1.c (dg-options): Add + -mno-indirect-branch-register. + * gcc.target/i386/indirect-thunk-2.c: Likewise. + * gcc.target/i386/indirect-thunk-3.c: Likewise. + * gcc.target/i386/indirect-thunk-4.c: Likewise. + * gcc.target/i386/indirect-thunk-5.c: Likewise. + * gcc.target/i386/indirect-thunk-6.c: Likewise. + * gcc.target/i386/indirect-thunk-7.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. + * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. + * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. + * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. + * gcc.target/i386/ret-thunk-10.c: Likewise. + * gcc.target/i386/ret-thunk-11.c: Likewise. + * gcc.target/i386/ret-thunk-12.c: Likewise. + * gcc.target/i386/ret-thunk-13.c: Likewise. + * gcc.target/i386/ret-thunk-14.c: Likewise. + * gcc.target/i386/ret-thunk-15.c: Likewise. + * gcc.target/i386/ret-thunk-9.c: Likewise. + * gcc.target/i386/indirect-thunk-register-1.c: New test. + * gcc.target/i386/indirect-thunk-register-2.c: Likewise. + * gcc.target/i386/indirect-thunk-register-3.c: Likewise. + +i386: Rename to ix86_indirect_branch_register + +Rename the variable for -mindirect-branch-register to +ix86_indirect_branch_register to match the command-line option name. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/constraints.md (Bs): Replace + ix86_indirect_branch_thunk_register with + ix86_indirect_branch_register. + (Bw): Likewise. + * config/i386/i386.md (indirect_jump): Likewise. + (tablejump): Likewise. + (*sibcall_memory): Likewise. + (*sibcall_value_memory): Likewise. + Peepholes of indirect call and jump via memory: Likewise. + * config/i386/i386.opt: Likewise. + * config/i386/predicates.md (indirect_branch_operand): Likewise. + (GOT_memory_operand): Likewise. + (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + (GOT32_symbol_operand): Likewise. + +x86: Rewrite ix86_indirect_branch_register logic + +Rewrite ix86_indirect_branch_register logic with + +(and (not (match_test "ix86_indirect_branch_register")) + (original condition before r256662)) + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/predicates.md (constant_call_address_operand): + Rewrite ix86_indirect_branch_register logic. + (sibcall_insn_operand): Likewise. + +Don't check ix86_indirect_branch_register for GOT operand + +Since GOT_memory_operand and GOT32_symbol_operand are simple pattern +matches, don't check ix86_indirect_branch_register here. If needed, +-mindirect-branch= will convert indirect branch via GOT slot to a call +and return thunk. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/constraints.md (Bs): Update + ix86_indirect_branch_register check. Don't check + ix86_indirect_branch_register with GOT_memory_operand. + (Bw): Likewise. + * config/i386/predicates.md (GOT_memory_operand): Don't check + ix86_indirect_branch_register here. + (GOT32_symbol_operand): Likewise. + +i386: Rewrite indirect_branch_operand logic + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/predicates.md (indirect_branch_operand): Rewrite + ix86_indirect_branch_register logic. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256735 138bc75d-0d04-0410-961f-82ee72b054a4 + +[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c, + indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c, + indirect-thunk-extern-5.c, indirect-thunk-extern-6.c, + indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due + to gcc 5.4 and earlier not supporting the -fno-plt option. + --sbeattie,] +--- + src/gcc/config/i386/constraints.md | 6 + + src/gcc/config/i386/i386.md | 34 ++++++---- + src/gcc/config/i386/i386.opt | 4 + + src/gcc/config/i386/predicates.md | 9 +- + src/gcc/doc/invoke.texi | 7 +- + src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 2 + src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c | 22 ++++++ + src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c | 20 +++++ + src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c | 19 +++++ + src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 2 + src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 2 + 39 files changed, 134 insertions(+), 49 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c + +Index: b/src/gcc/config/i386/constraints.md +=================================================================== +--- a/src/gcc/config/i386/constraints.md ++++ b/src/gcc/config/i386/constraints.md +@@ -157,12 +157,14 @@ + + (define_constraint "Bs" + "@internal Sibcall memory operand." +- (and (not (match_test "TARGET_X32")) ++ (and (not (match_test "ix86_indirect_branch_register")) ++ (not (match_test "TARGET_X32")) + (match_operand 0 "sibcall_memory_operand"))) + + (define_constraint "Bw" + "@internal Call memory operand." +- (and (not (match_test "TARGET_X32")) ++ (and (not (match_test "ix86_indirect_branch_register")) ++ (not (match_test "TARGET_X32")) + (match_operand 0 "memory_operand"))) + + (define_constraint "Bz" +Index: b/src/gcc/config/i386/i386.md +=================================================================== +--- a/src/gcc/config/i386/i386.md ++++ b/src/gcc/config/i386/i386.md +@@ -11554,7 +11554,7 @@ + [(set (pc) (match_operand 0 "indirect_branch_operand"))] + "" + { +- if (TARGET_X32) ++ if (TARGET_X32 || ix86_indirect_branch_register) + operands[0] = convert_memory_address (word_mode, operands[0]); + cfun->machine->has_local_indirect_jump = true; + }) +@@ -11607,7 +11607,7 @@ + OPTAB_DIRECT); + } + +- if (TARGET_X32) ++ if (TARGET_X32 || ix86_indirect_branch_register) + operands[0] = convert_memory_address (word_mode, operands[0]); + cfun->machine->has_local_indirect_jump = true; + }) +@@ -11764,7 +11764,7 @@ + [(call (mem:QI (match_operand:W 0 "memory_operand" "m")) + (match_operand 1)) + (unspec [(const_int 0)] UNSPEC_PEEPSIB)] +- "!TARGET_X32" ++ "!TARGET_X32 && !ix86_indirect_branch_register" + "* return ix86_output_call_insn (insn, operands[0]);" + [(set_attr "type" "call")]) + +@@ -11773,7 +11773,9 @@ + (match_operand:W 1 "memory_operand")) + (call (mem:QI (match_dup 0)) + (match_operand 3))] +- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (1)) ++ "!TARGET_X32 ++ && !ix86_indirect_branch_register ++ && SIBLING_CALL_P (peep2_next_insn (1)) + && peep2_reg_dead_p (2, operands[0])" + [(parallel [(call (mem:QI (match_dup 1)) + (match_dup 3)) +@@ -11785,7 +11787,9 @@ + (unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) + (call (mem:QI (match_dup 0)) + (match_operand 3))] +- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (2)) ++ "!TARGET_X32 ++ && !ix86_indirect_branch_register ++ && SIBLING_CALL_P (peep2_next_insn (2)) + && peep2_reg_dead_p (3, operands[0])" + [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) + (parallel [(call (mem:QI (match_dup 1)) +@@ -11806,7 +11810,7 @@ + }) + + (define_insn "*call_pop" +- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lmBz")) ++ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lBwBz")) + (match_operand 1)) + (set (reg:SI SP_REG) + (plus:SI (reg:SI SP_REG) +@@ -11826,7 +11830,7 @@ + [(set_attr "type" "call")]) + + (define_insn "*sibcall_pop_memory" +- [(call (mem:QI (match_operand:SI 0 "memory_operand" "m")) ++ [(call (mem:QI (match_operand:SI 0 "memory_operand" "Bs")) + (match_operand 1)) + (set (reg:SI SP_REG) + (plus:SI (reg:SI SP_REG) +@@ -11878,7 +11882,9 @@ + [(set (match_operand:W 0 "register_operand") + (match_operand:W 1 "memory_operand")) + (set (pc) (match_dup 0))] +- "!TARGET_X32 && peep2_reg_dead_p (2, operands[0])" ++ "!TARGET_X32 ++ && !ix86_indirect_branch_register ++ && peep2_reg_dead_p (2, operands[0])" + [(set (pc) (match_dup 1))]) + + ;; Call subroutine, returning value in operand 0 +@@ -11928,7 +11934,7 @@ + (call (mem:QI (match_operand:W 1 "memory_operand" "m")) + (match_operand 2))) + (unspec [(const_int 0)] UNSPEC_PEEPSIB)] +- "!TARGET_X32" ++ "!TARGET_X32 && !ix86_indirect_branch_register" + "* return ix86_output_call_insn (insn, operands[1]);" + [(set_attr "type" "callv")]) + +@@ -11938,7 +11944,9 @@ + (set (match_operand 2) + (call (mem:QI (match_dup 0)) + (match_operand 3)))] +- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (1)) ++ "!TARGET_X32 ++ && !ix86_indirect_branch_register ++ && SIBLING_CALL_P (peep2_next_insn (1)) + && peep2_reg_dead_p (2, operands[0])" + [(parallel [(set (match_dup 2) + (call (mem:QI (match_dup 1)) +@@ -11952,7 +11960,9 @@ + (set (match_operand 2) + (call (mem:QI (match_dup 0)) + (match_operand 3)))] +- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (2)) ++ "!TARGET_X32 ++ && !ix86_indirect_branch_register ++ && SIBLING_CALL_P (peep2_next_insn (2)) + && peep2_reg_dead_p (3, operands[0])" + [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) + (parallel [(set (match_dup 2) +@@ -11976,7 +11986,7 @@ + + (define_insn "*call_value_pop" + [(set (match_operand 0) +- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lmBz")) ++ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lBwBz")) + (match_operand 2))) + (set (reg:SI SP_REG) + (plus:SI (reg:SI SP_REG) +Index: b/src/gcc/config/i386/i386.opt +=================================================================== +--- a/src/gcc/config/i386/i386.opt ++++ b/src/gcc/config/i386/i386.opt +@@ -900,3 +900,7 @@ Enum(indirect_branch) String(thunk-inlin + + EnumValue + Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern) ++ ++mindirect-branch-register ++Target Report Var(ix86_indirect_branch_register) Init(0) ++Force indirect call and jump via register. +Index: b/src/gcc/config/i386/predicates.md +=================================================================== +--- a/src/gcc/config/i386/predicates.md ++++ b/src/gcc/config/i386/predicates.md +@@ -607,7 +607,8 @@ + ;; Test for a valid operand for indirect branch. + (define_predicate "indirect_branch_operand" + (ior (match_operand 0 "register_operand") +- (and (not (match_test "TARGET_X32")) ++ (and (not (match_test "ix86_indirect_branch_register")) ++ (not (match_test "TARGET_X32")) + (match_operand 0 "memory_operand")))) + + ;; Test for a valid operand for a call instruction. +@@ -616,7 +617,8 @@ + (ior (match_test "constant_call_address_operand + (op, mode == VOIDmode ? mode : Pmode)") + (match_operand 0 "call_register_no_elim_operand") +- (and (not (match_test "TARGET_X32")) ++ (and (not (match_test "ix86_indirect_branch_register")) ++ (not (match_test "TARGET_X32")) + (match_operand 0 "memory_operand")))) + + ;; Similarly, but for tail calls, in which we cannot allow memory references. +@@ -624,7 +626,8 @@ + (ior (match_test "constant_call_address_operand + (op, mode == VOIDmode ? mode : Pmode)") + (match_operand 0 "register_no_elim_operand") +- (and (not (match_test "TARGET_X32")) ++ (and (not (match_test "ix86_indirect_branch_register")) ++ (not (match_test "TARGET_X32")) + (match_operand 0 "sibcall_memory_operand")))) + + ;; Match exactly zero. +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + void func0 (void); + void func1 (void); +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */ + + void func0 (void); + void func1 (void); +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! x32 } } } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ + + void (*dispatch) (char *); + char buf[10]; +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! x32 } } } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */ + + void (*dispatch) (char *); + char buf[10]; +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + void func0 (void); + void func1 (void); +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + typedef void (*dispatch_t)(long offset); + +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + void func0 (void); + void func1 (void); +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -mindirect-branch-register -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" } } */ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "mov\[ \t\](%eax|%rax), \\((%esp|%rsp)\\)" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk\n" } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk_bnd\n" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -mindirect-branch-register -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler "mov\[ \t\](%eax|%rax), \\((%esp|%rsp)\\)" } } */ ++/* { dg-final { scan-assembler {\tpause} } } */ ++/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */ ++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c +=================================================================== +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c +@@ -0,0 +1,19 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -mindirect-branch-register -fno-pic" } */ ++ ++typedef void (*dispatch_t)(long offset); ++ ++dispatch_t dispatch; ++ ++void ++male_indirect_jump (long offset) ++{ ++ dispatch(offset); ++} ++ ++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" } } */ ++/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */ ++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */ ++/* { dg-final { scan-assembler-not {\t(pause|pause|nop)} } } */ ++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ ++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=thunk-inline -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=thunk-inline -mindirect-branch=thunk -fno-pic" } */ + + extern void (*bar) (void); + +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=thunk-extern -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=thunk-extern -mindirect-branch=thunk -fno-pic" } */ + + extern void (*bar) (void); + +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */ + + extern void (*bar) (void); + +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */ + + extern void (*bar) (void); + extern int foo (void) __attribute__ ((function_return("thunk"))); +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + + extern void (*bar) (void); + +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=keep -fno-pic" } */ + + extern void (*bar) (void); + +Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mfunction-return=thunk -mindirect-branch=thunk -fno-pic" } */ ++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=thunk -mindirect-branch=thunk -fno-pic" } */ + + extern void (*bar) (void); + diff --git a/patches/source/gcc/0008-x86-Add-V-register-operand-modifier-doc.diff b/patches/source/gcc/0008-x86-Add-V-register-operand-modifier-doc.diff new file mode 100644 index 000000000..b3bd93a21 --- /dev/null +++ b/patches/source/gcc/0008-x86-Add-V-register-operand-modifier-doc.diff @@ -0,0 +1,65 @@ +From 8a47615dd04a02fdae9691f5ad73fd5a5530c156 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:19:51 +0000 +Subject: [PATCH 8/9] x86: Add 'V' register operand modifier (documentation) + +Add 'V', a special modifier which prints the name of the full integer +register without '%'. For + +extern void (*func_p) (void); + +void +foo (void) +{ + asm ("call __x86_indirect_thunk_%V0" : : "a" (func_p)); +} + +it generates: + +foo: + movq func_p(%rip), %rax + call __x86_indirect_thunk_rax + ret + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386.c (print_reg): Print the name of the full + integer register without '%'. + (ix86_print_operand): Handle 'V'. + * doc/extend.texi: Document 'V' modifier. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-register-4.c: New test. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256736 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 10 ++++++++++ + gcc/config/i386/i386.c | 13 ++++++++++++- + gcc/doc/extend.texi | 3 +++ + gcc/testsuite/ChangeLog | 7 +++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c | 13 +++++++++++++ + 5 files changed, 45 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c + +diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi +index 46e0a36..9db9e0e 100644 +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -8778,6 +8778,9 @@ The table below shows the list of supported modifiers and their effects. + @tab @code{2} + @end multitable + ++@code{V} is a special modifier which prints the name of the full integer ++register without @code{%}. ++ + @anchor{x86floatingpointasmoperands} + @subsubsection x86 Floating-Point @code{asm} Operands + diff --git a/patches/source/gcc/0008-x86-Add-V-register-operand-modifier.diff b/patches/source/gcc/0008-x86-Add-V-register-operand-modifier.diff new file mode 100644 index 000000000..fb1ccd988 --- /dev/null +++ b/patches/source/gcc/0008-x86-Add-V-register-operand-modifier.diff @@ -0,0 +1,125 @@ +From 8a47615dd04a02fdae9691f5ad73fd5a5530c156 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:19:51 +0000 +Subject: [PATCH 8/9] x86: Add 'V' register operand modifier + +Add 'V', a special modifier which prints the name of the full integer +register without '%'. For + +extern void (*func_p) (void); + +void +foo (void) +{ + asm ("call __x86_indirect_thunk_%V0" : : "a" (func_p)); +} + +it generates: + +foo: + movq func_p(%rip), %rax + call __x86_indirect_thunk_rax + ret + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386.c (print_reg): Print the name of the full + integer register without '%'. + (ix86_print_operand): Handle 'V'. + * doc/extend.texi: Document 'V' modifier. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-register-4.c: New test. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256736 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 10 ++++++++++ + gcc/config/i386/i386.c | 13 ++++++++++++- + gcc/doc/extend.texi | 3 +++ + gcc/testsuite/ChangeLog | 7 +++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c | 13 +++++++++++++ + 5 files changed, 45 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 8fb8902..1bbdd0c 100644 +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -17941,6 +17941,7 @@ put_condition_code (enum rtx_code code, machine_mode mode, bool reverse, + If CODE is 'h', pretend the reg is the 'high' byte register. + If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op. + If CODE is 'd', duplicate the operand for AVX instruction. ++ If CODE is 'V', print naked full integer register name without %. + */ + + void +@@ -17951,7 +17952,7 @@ print_reg (rtx x, int code, FILE *file) + unsigned int regno; + bool duplicated = code == 'd' && TARGET_AVX; + +- if (ASSEMBLER_DIALECT == ASM_ATT) ++ if (ASSEMBLER_DIALECT == ASM_ATT && code != 'V') + putc ('%', file); + + if (x == pc_rtx) +@@ -17999,6 +18000,14 @@ print_reg (rtx x, int code, FILE *file) + else + code = GET_MODE_SIZE (GET_MODE (x)); + ++ if (code == 'V') ++ { ++ if (GENERAL_REGNO_P (regno)) ++ code = GET_MODE_SIZE (word_mode); ++ else ++ error ("'V' modifier on non-integer register"); ++ } ++ + /* Irritatingly, AMD extended registers use different naming convention + from the normal registers: "r%d[bwd]" */ + if (REX_INT_REGNO_P (regno)) +@@ -18118,6 +18127,7 @@ print_reg (rtx x, int code, FILE *file) + & -- print some in-use local-dynamic symbol name. + H -- print a memory address offset by 8; used for sse high-parts + Y -- print condition for XOP pcom* instruction. ++ V -- print naked full integer register name without %. + + -- print a branch hint as 'cs' or 'ds' prefix + ; -- print a semicolon (after prefixes due to bug in older gas). + ~ -- print "i" if TARGET_AVX2, "f" otherwise. +@@ -18342,6 +18352,7 @@ ix86_print_operand (FILE *file, rtx x, int code) + case 'X': + case 'P': + case 'p': ++ case 'V': + break; + + case 's': +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c +new file mode 100644 +index 0000000..f0cd9b7 +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mindirect-branch=keep -fno-pic" } */ ++ ++extern void (*func_p) (void); ++ ++void ++foo (void) ++{ ++ asm("call __x86_indirect_thunk_%V0" : : "a" (func_p)); ++} ++ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_eax" { target ia32 } } } */ ++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_rax" { target { ! ia32 } } } } */ +-- +2.7.4 + diff --git a/patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff b/patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff new file mode 100644 index 000000000..fdaab625a --- /dev/null +++ b/patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff @@ -0,0 +1,275 @@ +From 5d1c53c6fd593de2360c1a2ae44ebf5fa3c5263b Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:22:01 +0000 +Subject: [PATCH 9/9] x86: Disallow -mindirect-branch=/-mfunction-return= with + -mcmodel=large + +Since the thunk function may not be reachable in large code model, +-mcmodel=large is incompatible with -mindirect-branch=thunk, +-mindirect-branch=thunk-extern, -mfunction-return=thunk and +-mfunction-return=thunk-extern. Issue an error when they are used with +-mcmodel=large. + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow + -mcmodel=large with -mindirect-branch=thunk, + -mindirect-branch=thunk-extern, -mfunction-return=thunk and + -mfunction-return=thunk-extern. + * doc/invoke.texi: Document -mcmodel=large is incompatible with + -mindirect-branch=thunk, -mindirect-branch=thunk-extern, + -mfunction-return=thunk and -mfunction-return=thunk-extern. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-10.c: New test. + * gcc.target/i386/indirect-thunk-8.c: Likewise. + * gcc.target/i386/indirect-thunk-9.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-10.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-11.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-9.c: Likewise. + * gcc.target/i386/ret-thunk-17.c: Likewise. + * gcc.target/i386/ret-thunk-18.c: Likewise. + * gcc.target/i386/ret-thunk-19.c: Likewise. + * gcc.target/i386/ret-thunk-20.c: Likewise. + * gcc.target/i386/ret-thunk-21.c: Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256737 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 13 +++++++++++ + gcc/config/i386/i386.c | 26 ++++++++++++++++++++++ + gcc/doc/invoke.texi | 11 +++++++++ + gcc/testsuite/ChangeLog | 17 ++++++++++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-10.c | 7 ++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-8.c | 7 ++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-9.c | 7 ++++++ + .../gcc.target/i386/indirect-thunk-attr-10.c | 9 ++++++++ + .../gcc.target/i386/indirect-thunk-attr-11.c | 9 ++++++++ + .../gcc.target/i386/indirect-thunk-attr-9.c | 9 ++++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-17.c | 7 ++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-18.c | 8 +++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-19.c | 8 +++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-20.c | 9 ++++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-21.c | 9 ++++++++ + 15 files changed, 156 insertions(+) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-17.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-18.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-19.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-20.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-21.c + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 1bbdd0c..e758387 100644 +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -7187,6 +7187,19 @@ ix86_set_indirect_branch_type (tree fndecl) + } + else + cfun->machine->indirect_branch_type = ix86_indirect_branch; ++ ++ /* -mcmodel=large is not compatible with -mindirect-branch=thunk ++ nor -mindirect-branch=thunk-extern. */ ++ if ((ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC) ++ && ((cfun->machine->indirect_branch_type ++ == indirect_branch_thunk_extern) ++ || (cfun->machine->indirect_branch_type ++ == indirect_branch_thunk))) ++ error ("%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not " ++ "compatible", ++ ((cfun->machine->indirect_branch_type ++ == indirect_branch_thunk_extern) ++ ? "thunk-extern" : "thunk")); + } + + if (cfun->machine->function_return_type == indirect_branch_unset) +@@ -7212,6 +7225,19 @@ ix86_set_indirect_branch_type (tree fndecl) + } + else + cfun->machine->function_return_type = ix86_function_return; ++ ++ /* -mcmodel=large is not compatible with -mfunction-return=thunk ++ nor -mfunction-return=thunk-extern. */ ++ if ((ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC) ++ && ((cfun->machine->function_return_type ++ == indirect_branch_thunk_extern) ++ || (cfun->machine->function_return_type ++ == indirect_branch_thunk))) ++ error ("%<-mfunction-return=%s%> and %<-mcmodel=large%> are not " ++ "compatible", ++ ((cfun->machine->function_return_type ++ == indirect_branch_thunk_extern) ++ ? "thunk-extern" : "thunk")); + } + } + +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-10.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-10.c +new file mode 100644 +index 0000000..a0674bd +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-10.c +@@ -0,0 +1,7 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-inline -mfunction-return=keep -mcmodel=large" } */ ++ ++void ++bar (void) ++{ ++} +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-8.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-8.c +new file mode 100644 +index 0000000..7a80a89 +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-8.c +@@ -0,0 +1,7 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mindirect-branch=thunk -mfunction-return=keep -mcmodel=large" } */ ++ ++void ++bar (void) ++{ /* { dg-error "'-mindirect-branch=thunk' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-9.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-9.c +new file mode 100644 +index 0000000..d4d45c5 +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-9.c +@@ -0,0 +1,7 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mindirect-branch=thunk-extern -mfunction-return=keep -mcmodel=large" } */ ++ ++void ++bar (void) ++{ /* { dg-error "'-mindirect-branch=thunk-extern' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c +new file mode 100644 +index 0000000..3a2aead +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c +@@ -0,0 +1,9 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mindirect-branch=keep -mfunction-return=keep -mcmodel=large" } */ ++/* { dg-additional-options "-fPIC" { target fpic } } */ ++ ++__attribute__ ((indirect_branch("thunk-extern"))) ++void ++bar (void) ++{ /* { dg-error "'-mindirect-branch=thunk-extern' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c +new file mode 100644 +index 0000000..8e52f03 +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c +@@ -0,0 +1,9 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mindirect-branch=keep -mfunction-return=keep -mcmodel=large" } */ ++/* { dg-additional-options "-fPIC" { target fpic } } */ ++ ++__attribute__ ((indirect_branch("thunk-inline"))) ++void ++bar (void) ++{ ++} +diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c +new file mode 100644 +index 0000000..bdaa4f6 +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c +@@ -0,0 +1,9 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mindirect-branch=keep -mfunction-return=keep -mcmodel=large" } */ ++/* { dg-additional-options "-fPIC" { target fpic } } */ ++ ++__attribute__ ((indirect_branch("thunk"))) ++void ++bar (void) ++{ /* { dg-error "'-mindirect-branch=thunk' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-17.c b/gcc/testsuite/gcc.target/i386/ret-thunk-17.c +new file mode 100644 +index 0000000..0605e2c +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-17.c +@@ -0,0 +1,7 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mfunction-return=thunk -mindirect-branch=keep -mcmodel=large" } */ ++ ++void ++bar (void) ++{ /* { dg-error "'-mfunction-return=thunk' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-18.c b/gcc/testsuite/gcc.target/i386/ret-thunk-18.c +new file mode 100644 +index 0000000..307019d +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-18.c +@@ -0,0 +1,8 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mfunction-return=thunk-extern -mindirect-branch=keep -mcmodel=large" } */ ++/* { dg-additional-options "-fPIC" { target fpic } } */ ++ ++void ++bar (void) ++{ /* { dg-error "'-mfunction-return=thunk-extern' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-19.c b/gcc/testsuite/gcc.target/i386/ret-thunk-19.c +new file mode 100644 +index 0000000..772617f +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-19.c +@@ -0,0 +1,8 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -mcmodel=large" } */ ++ ++__attribute__ ((function_return("thunk"))) ++void ++bar (void) ++{ /* { dg-error "'-mfunction-return=thunk' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-20.c b/gcc/testsuite/gcc.target/i386/ret-thunk-20.c +new file mode 100644 +index 0000000..1e9f9bd +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-20.c +@@ -0,0 +1,9 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -mcmodel=large" } */ ++/* { dg-additional-options "-fPIC" { target fpic } } */ ++ ++__attribute__ ((function_return("thunk-extern"))) ++void ++bar (void) ++{ /* { dg-error "'-mfunction-return=thunk-extern' and '-mcmodel=large' are not compatible" } */ ++} +diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-21.c b/gcc/testsuite/gcc.target/i386/ret-thunk-21.c +new file mode 100644 +index 0000000..eea07f7 +--- /dev/null ++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-21.c +@@ -0,0 +1,9 @@ ++/* { dg-do compile { target { lp64 } } } */ ++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -mcmodel=large" } */ ++/* { dg-additional-options "-fPIC" { target fpic } } */ ++ ++__attribute__ ((function_return("thunk-inline"))) ++void ++bar (void) ++{ ++} +-- +2.7.4 + diff --git a/patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff b/patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff new file mode 100644 index 000000000..c10790055 --- /dev/null +++ b/patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff @@ -0,0 +1,102 @@ +From 5d1c53c6fd593de2360c1a2ae44ebf5fa3c5263b Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:22:01 +0000 +Subject: [PATCH 9/9] x86: Disallow -mindirect-branch=/-mfunction-return= with + -mcmodel=large + +Since the thunk function may not be reachable in large code model, +-mcmodel=large is incompatible with -mindirect-branch=thunk, +-mindirect-branch=thunk-extern, -mfunction-return=thunk and +-mfunction-return=thunk-extern. Issue an error when they are used with +-mcmodel=large. + +gcc/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow + -mcmodel=large with -mindirect-branch=thunk, + -mindirect-branch=thunk-extern, -mfunction-return=thunk and + -mfunction-return=thunk-extern. + * doc/invoke.texi: Document -mcmodel=large is incompatible with + -mindirect-branch=thunk, -mindirect-branch=thunk-extern, + -mfunction-return=thunk and -mfunction-return=thunk-extern. + +gcc/testsuite/ + + Backport from mainline + 2018-01-14 H.J. Lu + + * gcc.target/i386/indirect-thunk-10.c: New test. + * gcc.target/i386/indirect-thunk-8.c: Likewise. + * gcc.target/i386/indirect-thunk-9.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-10.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-11.c: Likewise. + * gcc.target/i386/indirect-thunk-attr-9.c: Likewise. + * gcc.target/i386/ret-thunk-17.c: Likewise. + * gcc.target/i386/ret-thunk-18.c: Likewise. + * gcc.target/i386/ret-thunk-19.c: Likewise. + * gcc.target/i386/ret-thunk-20.c: Likewise. + * gcc.target/i386/ret-thunk-21.c: Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256737 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 13 +++++++++++ + gcc/config/i386/i386.c | 26 ++++++++++++++++++++++ + gcc/doc/invoke.texi | 11 +++++++++ + gcc/testsuite/ChangeLog | 17 ++++++++++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-10.c | 7 ++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-8.c | 7 ++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-9.c | 7 ++++++ + .../gcc.target/i386/indirect-thunk-attr-10.c | 9 ++++++++ + .../gcc.target/i386/indirect-thunk-attr-11.c | 9 ++++++++ + .../gcc.target/i386/indirect-thunk-attr-9.c | 9 ++++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-17.c | 7 ++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-18.c | 8 +++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-19.c | 8 +++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-20.c | 9 ++++++++ + gcc/testsuite/gcc.target/i386/ret-thunk-21.c | 9 ++++++++ + 15 files changed, 156 insertions(+) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-17.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-18.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-19.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-20.c + create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-21.c + +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 1e572b1..6f3c344 100644 +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -25699,6 +25699,11 @@ to external call and return thunk provided in a separate object file. + You can control this behavior for a specific function by using the + function attribute @code{indirect_branch}. @xref{Function Attributes}. + ++Note that @option{-mcmodel=large} is incompatible with ++@option{-mindirect-branch=thunk} nor ++@option{-mindirect-branch=thunk-extern} since the thunk function may ++not be reachable in large code model. ++ + @item -mfunction-return=@var{choice} + @opindex -mfunction-return + Convert function return with @var{choice}. The default is @samp{keep}, +@@ -25710,6 +25715,12 @@ object file. You can control this behavior for a specific function by + using the function attribute @code{function_return}. + @xref{Function Attributes}. + ++Note that @option{-mcmodel=large} is incompatible with ++@option{-mfunction-return=thunk} nor ++@option{-mfunction-return=thunk-extern} since the thunk function may ++not be reachable in large code model. ++ ++ + @item -mindirect-branch-register + @opindex -mindirect-branch-register + Force indirect call and jump via register. diff --git a/patches/source/gcc/antlr-runtime-3.4.jar b/patches/source/gcc/antlr-runtime-3.4.jar new file mode 100644 index 000000000..865a537b0 Binary files /dev/null and b/patches/source/gcc/antlr-runtime-3.4.jar differ diff --git a/patches/source/gcc/c89.sh b/patches/source/gcc/c89.sh new file mode 100644 index 000000000..35486ea83 --- /dev/null +++ b/patches/source/gcc/c89.sh @@ -0,0 +1,10 @@ +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} diff --git a/patches/source/gcc/c99.sh b/patches/source/gcc/c99.sh new file mode 100644 index 000000000..88dd80640 --- /dev/null +++ b/patches/source/gcc/c99.sh @@ -0,0 +1,10 @@ +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} diff --git a/patches/source/gcc/create_gcj_jvm.sh b/patches/source/gcc/create_gcj_jvm.sh new file mode 100644 index 000000000..d1011860f --- /dev/null +++ b/patches/source/gcc/create_gcj_jvm.sh @@ -0,0 +1,93 @@ +# --------------------------------------------------------------------------- +# This script creates a directory structure below /usr/lib/jvm and populates +# it with symlinks to GCC binaries. +# This will work as a compatibility layer to emulate an Oracle JDK/JRE. +# This emulation is required in order to compile OpenJDK using GNU java. +# +# The same can automatically be achieved in Slackware's gcc packages if +# the 'configure' command is called with the following additional parameters: +# --enable-java-home \ +# --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \ +# --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \ +# --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \ +# --with-arch-directory=$LIB_ARCH \ +# +# Author: Eric Hameleers December 2011 +# --------------------------------------------------------------------------- + +# 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="" + LIB_ARCH=i386 +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + LIB_ARCH=amd64 +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + LIB_ARCH=$ARCH +fi + +# Where does the OpenJDK SlackBuild expect the GNU java compatibility symlinks: +JVM=${1:-/usr/lib${LIBDIRSUFFIX}/jvm} +BINDIR=/usr/bin + +# What version of GCC do we have installed: +GCJVER=$(gcj -dumpversion) + +# First, remove the old set of symlinks if they should exist: +rm -fr $JVM + +# Create a JDK compatible directory structure for GNU java: +mkdir -p $JVM +mkdir -p $JVM/bin +mkdir -p $JVM/jre/bin +mkdir -p $JVM/jre/lib/${LIB_ARCH}/client +mkdir -p $JVM/jre/lib/${LIB_ARCH}/server +mkdir -p $JVM/lib + +ln -sf $BINDIR/gjar $JVM/bin/jar +ln -sf $BINDIR/grmic $JVM/bin/rmic +ln -sf $BINDIR/gjavah $JVM/bin/javah +ln -sf $BINDIR/jcf-dump $JVM/bin/javap +ln -sf $BINDIR/gappletviewer $JVM/bin/appletviewer +ln -sf $BINDIR/grmiregistry $JVM/bin/rmiregistry +ln -sf $BINDIR/grmiregistry $JVM/jre/bin/rmiregistry +ln -sf $BINDIR/gkeytool $JVM/bin/keytool +ln -sf $BINDIR/gkeytool $JVM/jre/bin/keytool +ln -sf $BINDIR/gij $JVM/bin/java +ln -sf $BINDIR/ecj $JVM/bin/javac +ln -sf /usr/lib/gcj-${GCJVER}-11/libjvm.so $JVM/jre/lib/${LIB_ARCH}/client/libjvm.so +ln -sf /usr/lib/gcj-${GCJVER}-11/libjvm.so $JVM/jre/lib/${LIB_ARCH}/server/libjvm.so +ln -sf /usr/lib/gcj-${GCJVER}-11/libjawt.so $JVM/jre/lib/${LIB_ARCH}/libjawt.so +ln -sf /usr/share/java/libgcj-${GCJVER}.jar $JVM/jre/lib/rt.jar +ln -sf /usr/share/java/libgcj-tools-${GCJVER}.jar $JVM/lib/tools.jar +ln -sf /usr/include/c++/${GCJVER}/gnu/java $JVM/include + +# Add a Eclipse Java Compiler wrapper which is required +# for bootstrapping OpenJDK using GNU java: +cat < /usr/bin/ecj +#!/bin/sh + +CLASSPATH=/usr/share/java/ecj.jar\${CLASSPATH:+:}\$CLASSPATH \ + java org.eclipse.jdt.internal.compiler.batch.Main "\$@" + +EOT +chmod 755 /usr/bin/ecj + + diff --git a/patches/source/gcc/ecj-4.9.jar b/patches/source/gcc/ecj-4.9.jar new file mode 100644 index 000000000..29dc442ff Binary files /dev/null and b/patches/source/gcc/ecj-4.9.jar differ diff --git a/patches/source/gcc/ecj.sh b/patches/source/gcc/ecj.sh new file mode 100644 index 000000000..1d8b79793 --- /dev/null +++ b/patches/source/gcc/ecj.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +CLASSPATH=@JAVADIR@/ecj.jar${CLASSPATH:+:}$CLASSPATH \ + java org.eclipse.jdt.internal.compiler.batch.Main "$@" + diff --git a/patches/source/gcc/ecj.url b/patches/source/gcc/ecj.url new file mode 100644 index 000000000..9a28b2ce6 --- /dev/null +++ b/patches/source/gcc/ecj.url @@ -0,0 +1 @@ +ftp://sourceware.org/pub/java/ecj-4.9.jar diff --git a/patches/source/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch b/patches/source/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch new file mode 100644 index 000000000..ab6262407 --- /dev/null +++ b/patches/source/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch @@ -0,0 +1,29 @@ +2009-01-14 Jakub Jelinek + + * jartool.c (make_manifest): Initialize current_time before + calling unix2dostime on it. + +--- fastjar-0.97/jartool.c.jj 2008-10-15 18:35:37.000000000 +0200 ++++ fastjar-0.97/jartool.c 2009-01-14 15:40:50.000000000 +0100 +@@ -820,6 +820,10 @@ int make_manifest(int jfd, const char *m + int mod_time; /* file modification time */ + struct zipentry *ze; + ++ current_time = time(NULL); ++ if(current_time == (time_t)-1) ++ exit_on_error("time"); ++ + mod_time = unix2dostime(¤t_time); + + /* If we are creating a new manifest, create a META-INF directory entry */ +@@ -828,10 +832,6 @@ int make_manifest(int jfd, const char *m + + memset((file_header + 12), '\0', 16); /*clear mod time, crc, size fields*/ + +- current_time = time(NULL); +- if(current_time == (time_t)-1) +- exit_on_error("time"); +- + PACK_UB2(file_header, LOC_EXTRA, 0); + PACK_UB2(file_header, LOC_COMP, 0); + PACK_UB2(file_header, LOC_FNLEN, nlen); diff --git a/patches/source/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch b/patches/source/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch new file mode 100644 index 000000000..722351d33 --- /dev/null +++ b/patches/source/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch @@ -0,0 +1,16 @@ +2009-12-21 Chris Ball + + * jartool.c (add_file_to_jar): Test write return value against -1 + instead of 1. + +--- fastjar-0.97/jartool.c.jj 2008-10-15 12:35:37.000000000 -0400 ++++ fastjar-0.97/jartool.c 2009-12-22 06:48:09.309530000 -0500 +@@ -1257,7 +1257,7 @@ int add_file_to_jar(int jfd, int ffd, co + exit_on_error("write"); + + /* write the file name to the zip file */ +- if (1 == write(jfd, fname, file_name_length)) ++ if (-1 == write(jfd, fname, file_name_length)) + exit_on_error("write"); + + if(verbose){ diff --git a/patches/source/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch b/patches/source/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch new file mode 100644 index 000000000..34a02a74f --- /dev/null +++ b/patches/source/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch @@ -0,0 +1,14 @@ +2010-03-01 Richard Guenther + + * jartool.c (read_entries): Properly zero-terminate filename. + +--- fastjar-0.97/jartool.c 6 Sep 2009 22:16:00 -0000 1.59 ++++ fastjar-0.97/jartool.c 1 Mar 2010 15:38:43 -0000 1.60 +@@ -790,6 +790,7 @@ int read_entries (int fd) + progname, jarfile); + return 1; + } ++ ze->filename[len] = '\0'; + len = UNPACK_UB4(header, CEN_EFLEN); + len += UNPACK_UB4(header, CEN_COMLEN); + if (lseek (fd, len, SEEK_CUR) == -1) diff --git a/patches/source/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch b/patches/source/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch new file mode 100644 index 000000000..2c6e23c76 --- /dev/null +++ b/patches/source/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch @@ -0,0 +1,102 @@ +2010-06-10 Jakub Jelinek + Dan Rosenberg + + * jartool.c (extract_jar): Fix up checks for traversal to parent + directories, disallow absolute paths, make the code slightly more + efficient. + +--- fastjar-0.97/jartool.c.jj 2009-09-07 00:10:47.000000000 +0200 ++++ fastjar-0.97/jartool.c 2010-06-08 20:00:29.000000000 +0200 +@@ -1730,7 +1730,17 @@ int extract_jar(int fd, const char **fil + struct stat sbuf; + int depth = 0; + +- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename)); ++ if(*filename == '/'){ ++ fprintf(stderr, "Absolute path names are not allowed.\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ tmp_buff = malloc(strlen((const char *)filename)); ++ ++ if(tmp_buff == NULL) { ++ fprintf(stderr, "Out of memory.\n"); ++ exit(EXIT_FAILURE); ++ } + + for(;;){ + const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/'); +@@ -1738,25 +1748,28 @@ int extract_jar(int fd, const char **fil + if(idx == NULL) + break; + else if(idx == start){ ++ tmp_buff[idx - filename] = '/'; + start++; + continue; + } +- start = idx + 1; + +- strncpy(tmp_buff, (const char *)filename, (idx - filename)); +- tmp_buff[(idx - filename)] = '\0'; ++ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start)); ++ tmp_buff[idx - filename] = '\0'; + + #ifdef DEBUG + printf("checking the existance of %s\n", tmp_buff); + #endif +- if(strcmp(tmp_buff, "..") == 0){ ++ if(idx - start == 2 && memcmp(start, "..", 2) == 0){ + --depth; + if (depth < 0){ + fprintf(stderr, "Traversal to parent directories during unpacking!\n"); + exit(EXIT_FAILURE); + } +- } else if (strcmp(tmp_buff, ".") != 0) ++ } else if (idx - start != 1 || *start != '.') + ++depth; ++ ++ start = idx + 1; ++ + if(stat(tmp_buff, &sbuf) < 0){ + if(errno != ENOENT) + exit_on_error("stat"); +@@ -1765,6 +1778,7 @@ int extract_jar(int fd, const char **fil + #ifdef DEBUG + printf("Directory exists\n"); + #endif ++ tmp_buff[idx - filename] = '/'; + continue; + }else { + fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n", +@@ -1781,10 +1795,11 @@ int extract_jar(int fd, const char **fil + if(verbose && handle) + printf("%10s: %s/\n", "created", tmp_buff); + ++ tmp_buff[idx - filename] = '/'; + } + + /* only a directory */ +- if(strlen((const char *)start) == 0) ++ if(*start == '\0') + dir = TRUE; + + #ifdef DEBUG +@@ -1792,7 +1807,7 @@ int extract_jar(int fd, const char **fil + #endif + + /* If the entry was just a directory, don't write to file, etc */ +- if(strlen((const char *)start) == 0) ++ if(*start == '\0') + f_fd = -1; + + free(tmp_buff); +@@ -1876,7 +1891,8 @@ int extract_jar(int fd, const char **fil + exit(EXIT_FAILURE); + } + +- close(f_fd); ++ if (f_fd != -1) ++ close(f_fd); + + if(verbose && dir == FALSE && handle) + printf("%10s: %s\n", diff --git a/patches/source/gcc/fastjar-patches/1004-fastjar-man.patch b/patches/source/gcc/fastjar-patches/1004-fastjar-man.patch new file mode 100644 index 000000000..34bf704db --- /dev/null +++ b/patches/source/gcc/fastjar-patches/1004-fastjar-man.patch @@ -0,0 +1,27 @@ +2010-03-24 Jan Kratochvil + + * Makefile.am (POD2MAN): Provide --date from ChangeLog. + * Makefile.in: Regenerate. + +--- fastjar-0.97/Makefile.am.jj 2008-10-16 04:24:55.000000000 -0400 ++++ fastjar-0.97/Makefile.am 2010-06-21 09:29:41.021398000 -0400 +@@ -39,7 +39,7 @@ EXTRA_DIST = \ + texi2pod.pl + + TEXI2POD = perl $(srcdir)/texi2pod.pl +-POD2MAN = pod2man --center="GNU" --release=@VERSION@ ++POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog) + + .pod.1: + -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \ +--- fastjar-0.97/Makefile.in.jj 2008-10-16 04:15:16.000000000 -0400 ++++ fastjar-0.97/Makefile.in 2010-06-21 09:30:15.882810000 -0400 +@@ -515,7 +515,7 @@ EXTRA_DIST = \ + texi2pod.pl + + TEXI2POD = perl $(srcdir)/texi2pod.pl +-POD2MAN = pod2man --center="GNU" --release=@VERSION@ ++POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog) + + #SPLINT_FLAGS=-I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H +posixlib +weak + SPLINT_FLAGS = -I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H -DPRIx32= -warnposix +weak diff --git a/patches/source/gcc/gcc-no_fixincludes.diff b/patches/source/gcc/gcc-no_fixincludes.diff new file mode 100644 index 000000000..52b661613 --- /dev/null +++ b/patches/source/gcc/gcc-no_fixincludes.diff @@ -0,0 +1,27 @@ +--- ./gcc/Makefile.in.orig 2010-04-02 02:49:06.000000000 -0500 ++++ ./gcc/Makefile.in 2010-08-01 16:55:30.088318841 -0500 +@@ -3864,9 +3864,9 @@ + chmod a+r $${fix_dir}/limits.h; \ + done + # Install the README +- rm -f include-fixed/README +- cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README +- chmod a+r include-fixed/README ++# rm -f include-fixed/README ++# cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README ++# chmod a+r include-fixed/README + $(STAMP) $@ + + .PHONY: install-gcc-tooldir +@@ -3947,10 +3947,7 @@ + (TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \ + SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \ + gcc_dir=`${PWD_COMMAND}` ; \ +- export TARGET_MACHINE srcdir SHELL MACRO_LIST && \ +- cd $(build_objdir)/fixincludes && \ +- $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \ +- $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \ ++ export TARGET_MACHINE srcdir SHELL MACRO_LIST ); \ + rm -f $${fix_dir}/syslimits.h; \ + if [ -f $${fix_dir}/limits.h ]; then \ + mv $${fix_dir}/limits.h $${fix_dir}/syslimits.h; \ diff --git a/patches/source/gcc/gcc.SlackBuild b/patches/source/gcc/gcc.SlackBuild new file mode 100755 index 000000000..73f2363cb --- /dev/null +++ b/patches/source/gcc/gcc.SlackBuild @@ -0,0 +1,827 @@ +#!/bin/sh +# GCC package build script (written by volkerdi@slackware.com) +# +# Copyright 2003, 2004 Slackware Linux, Inc., Concord, California, USA +# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# Modified 2011 by Eric Hameleers for OpenJDK. + +# Some notes, Fri May 16 12:31:32 PDT 2003: +# +# Why i486 and not i386? Because the shared C++ libraries in gcc-3.2.x will +# require 486 opcodes even when a 386 target is used (so we already weren't +# compatible with the i386 for Slackware 9.0, didn't notice, and nobody +# complained :-). gcc-3.3 fixes this issue and allows you to build a 386 +# compiler, but the fix is done in a way that produces binaries that are not +# compatible with gcc-3.2.x compiled binaries. To retain compatibility with +# Slackware 9.0, we'll have to use i486 (or better) as the compiler target +# for gcc-3.3. +# +# It's time to say goodbye to i386 support in Slackware. I've surveyed 386 +# usage online, and the most common thing I see people say when someone asks +# about running Linux on a 386 is to "run Slackware", but then they also +# usually go on to say "be sure to get an OLD version, like 4.0, before glibc, +# because it'll be more efficient." Now, if that's the general advice, then +# I see no reason to continue 386 support in the latest Slackware (and indeed +# it's no longer easily possible). + +# Some more notes, Mon Aug 3 19:49:51 UTC 2015: +# +# Changing to -march=i586 for 32-bit x86 as several things (Mesa being one of +# them) no longer work if constrained to -march=i486. We're not going to use +# -march=i686 since the only additional opcode is CMOV, which is actually less +# efficient on modern CPUs running in 32-bit mode than the alternate i586 +# instructions. No need to throw i586 CPUs under the bus (yet). + +PKGNAM=gcc +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# How many jobs to run in parallel: +NUMJOBS=" -j 7 " + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + LIB_ARCH=s390 +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + LIB_ARCH=amd64 +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" + LIB_ARCH=armv7hl +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + LIB_ARCH=$ARCH +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +CWD=$(pwd) +# Temporary build location. This should *NOT* be a directory +# path a non-root user could create later... +TMP=${TMP:-"/gcc-$(mcookie)"} + +# This is the main DESTDIR target: +PKG1=$TMP/package-gcc +# These are the directories to build other packages in: +PKG2=$TMP/package-gcc-g++ +PKG3=$TMP/package-gcc-gfortran +PKG4=$TMP/package-gcc-gnat +PKG5=$TMP/package-gcc-java +PKG6=$TMP/package-gcc-objc +PKG7=$TMP/package-gcc-g++-gch +PKG8=$TMP/package-gcc-go + +# Clear the build locations: +if [ -d $TMP ]; then + rm -rf $TMP +fi +mkdir -p $PKG{1,2,3,4,5,6,7,8}/usr/doc/gcc-$VERSION + +# Insert package descriptions: +mkdir -p $PKG{1,2,3,4,5,6,7,8}/install +cat $CWD/slack-desc.gcc > $PKG1/install/slack-desc +cat $CWD/slack-desc.gcc-g++ > $PKG2/install/slack-desc +cat $CWD/slack-desc.gcc-gfortran > $PKG3/install/slack-desc +cat $CWD/slack-desc.gcc-gnat > $PKG4/install/slack-desc +cat $CWD/slack-desc.gcc-java > $PKG5/install/slack-desc +cat $CWD/slack-desc.gcc-objc > $PKG6/install/slack-desc +# cat $CWD/slack-desc.gcc-g++-gch > $PKG7/install/slack-desc +cat $CWD/slack-desc.gcc-go > $PKG8/install/slack-desc + +cd $TMP +tar xvf $CWD/gcc-$VERSION.tar.?z || exit 1 + +# Patches based inside the gcc directory go here: +#( cd gcc-$VERSION/gcc +# #zcat $CWD/gcc.66782.diff.gz | patch -p0 --verbose || exit 1 +#) || exit 1 + +# Copy ecj.jar into the TLD of the source. Needed for java compiler. +# This can be retrieved from ftp://sourceware.org/pub/java +cp $CWD/ecj-4.9.jar gcc-$VERSION/ecj.jar + +# Use an antlr runtime to compile javadoc. +# The runtime can be obtained from: +#https://oss.sonatype.org/content/repositories/releases/org/antlr/antlr-runtime/ +ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1) + +# install docs +( cd gcc-$VERSION + # Smite the fixincludes: + zcat $CWD/gcc-no_fixincludes.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + + # Add retpoline support: + zcat $CWD/0001-i386-Move-struct-ix86_frame-to-machine_function.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0005-x86-Add-mindirect-branch-doc.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0005-x86-Add-mindirect-branch.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0006-x86-Add-mfunction-return-doc.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0006-x86-Add-mfunction-return.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0007-x86-Add-mindirect-branch-register-doc.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0007-x86-Add-mindirect-branch-register.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0008-x86-Add-V-register-operand-modifier-doc.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0008-x86-Add-V-register-operand-modifier.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff.gz | patch -p2 --verbose || exit 1 + zcat $CWD/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff.gz | patch -p2 --verbose || exit 1 + + # Fix perms/owners + chown -R root:root . + find . -perm 777 -exec chmod 755 {} \; + find . -perm 775 -exec chmod 755 {} \; + find . -perm 754 -exec chmod 755 {} \; + find . -perm 664 -exec chmod 644 {} \; + mkdir -p $PKG1/usr/doc/gcc-$VERSION + cp -a \ + COPYING* ChangeLog* FAQ INSTALL \ + LAST_UPDATED MAINTAINERS NEWS \ + README* *.html \ + $PKG1/usr/doc/gcc-$VERSION + + # We will keep part of these, but they are really big... + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG1/usr/doc/gcc-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + if [ -r NEWS ]; then + DOCSDIR=$(echo $PKG1/usr/doc/gcc-$VERSION) + cat NEWS | head -n 1000 > $DOCSDIR/NEWS + touch -r NEWS $DOCSDIR/NEWS + fi + + mkdir -p $PKG1/usr/doc/gcc-${VERSION}/gcc + ( cd gcc + cp -a \ + ABOUT* COPYING* DATESTAMP DEV-PHASE LANG* ONEWS README* SERVICE \ + $PKG1/usr/doc/gcc-$VERSION/gcc + + mkdir -p $PKG3/usr/doc/gcc-${VERSION}/gcc/fortran + ( cd fortran + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG3/usr/doc/gcc-$VERSION/gcc/fortran/ChangeLog + touch -r ChangeLog $PKG3/usr/doc/gcc-$VERSION/gcc/fortran/ChangeLog + fi + ) + + mkdir -p $PKG4/usr/doc/gcc-${VERSION}/gcc/ada + ( cd ada + cp -a \ + ChangeLog.tree-ssa \ + $PKG4/usr/doc/gcc-$VERSION/gcc/ada + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG4/usr/doc/gcc-$VERSION/gcc/ada/ChangeLog + touch -r ChangeLog $PKG4/usr/doc/gcc-$VERSION/gcc/ada/ChangeLog + fi + ) + + mkdir -p $PKG5/usr/doc/gcc-${VERSION}/gcc/java + ( cd java + cp -a \ + ChangeLog.tree-ssa \ + $PKG5/usr/doc/gcc-${VERSION}/gcc/java + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG5/usr/doc/gcc-${VERSION}/gcc/java/ChangeLog + touch -r ChangeLog $PKG5/usr/doc/gcc-${VERSION}/gcc/java/ChangeLog + fi + ) + + mkdir -p $PKG6/usr/doc/gcc-${VERSION}/gcc/objc + ( cd objc + cp -a \ + README* \ + $PKG6/usr/doc/gcc-${VERSION}/gcc/objc + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG6/usr/doc/gcc-${VERSION}/gcc/objc/ChangeLog + touch -r ChangeLog $PKG6/usr/doc/gcc-${VERSION}/gcc/objc/ChangeLog + fi + ) + + mkdir -p $PKG8/usr/doc/gcc-${VERSION}/gcc/go + ( cd go + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG8/usr/doc/gcc-${VERSION}/gcc/go/ChangeLog + touch -r ChangeLog $PKG8/usr/doc/gcc-${VERSION}/gcc/go/ChangeLog + fi + cp -a \ + README* THREADS* \ + gofrontend/{LICENSE,PATENTS,README} \ + $PKG8/usr/doc/gcc-${VERSION}/gcc/go + ) + + ) || exit 1 + + mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libgfortran + ( cd libgfortran + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG3/usr/doc/gcc-${VERSION}/libgfortran/ChangeLog + touch -r ChangeLog $PKG3/usr/doc/gcc-${VERSION}/libgfortran/ChangeLog + fi + ) + + mkdir -p $PKG4/usr/doc/gcc-${VERSION}/libada + ( cd libada + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG4/usr/doc/gcc-${VERSION}/libada/ChangeLog + touch -r ChangeLog $PKG4/usr/doc/gcc-${VERSION}/libada/ChangeLog + fi + ) + + mkdir -p $PKG5/usr/doc/gcc-${VERSION}/libffi + ( cd libffi + cp -a \ + ChangeLog.libgcj ChangeLog.v1 \ + LICENSE* README* \ + $PKG5/usr/doc/gcc-${VERSION}/libffi + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG5/usr/doc/gcc-${VERSION}/libffi/ChangeLog + touch -r ChangeLog $PKG5/usr/doc/gcc-${VERSION}/libffi/ChangeLog + fi + ) + + mkdir -p $PKG5/usr/doc/gcc-${VERSION}/libjava + ( cd libjava + cp -a \ + COPYING* HACKING LIBGCJ_LICENSE \ + NEWS README* THANKS \ + $PKG5/usr/doc/gcc-${VERSION}/libjava + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG5/usr/doc/gcc-${VERSION}/libjava/ChangeLog + touch -r ChangeLog $PKG5/usr/doc/gcc-${VERSION}/libjava/ChangeLog + fi + ) + + mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libmudflap + ( cd libmudflap + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG1/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog + touch -r ChangeLog $PKG1/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog + fi + ) + + mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libgomp + ( cd libgomp + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG1/usr/doc/gcc-${VERSION}/libgomp/ChangeLog + touch -r ChangeLog $PKG1/usr/doc/gcc-${VERSION}/libgomp/ChangeLog + fi + ) + + mkdir -p $PKG6/usr/doc/gcc-${VERSION}/libobjc + ( cd libobjc + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG6/usr/doc/gcc-${VERSION}/libobjc/ChangeLog + touch -r ChangeLog $PKG6/usr/doc/gcc-${VERSION}/libobjc/ChangeLog + fi + cp -a \ + README* THREADS* \ + $PKG6/usr/doc/gcc-${VERSION}/libobjc + ) + + mkdir -p $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3 + ( cd libstdc++-v3 + cp -a \ + README* \ + doc/html/faq.html \ + $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3 + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog + touch -r ChangeLog $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog + fi + ) + +) + +# Add fastjar to the gcc-java package: +( cd $TMP + FASTJARVER=$(echo $CWD/fastjar-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + echo + echo "Building fastjar-$FASTJARVER first" + echo + rm -rf fastjar-$FASTJARVER + tar xvf $CWD/fastjar-$FASTJARVER.tar.xz || exit 1 + cd fastjar-$FASTJARVER || 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 patch in $CWD/fastjar-patches/*.gz ; do + zcat $patch | patch -p1 --verbose || exit 1 + done + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib$LIBDIRSUFFIX \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --build=$TARGET + make $NUMJOBS || exit 1 + make install DESTDIR=$PKG5 || exit 1 + mkdir -p $PKG5/usr/doc/fastjar-$FASTJARVER + cp -a \ + AUTHORS CHANGES COPYING* INSTALL NEWS README* TODO \ + $PKG5/usr/doc/fastjar-$FASTJARVER + # 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 $PKG5/usr/doc/fastjar-$FASTJARVER) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + find $PKG5 | 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 $PKG5/usr/man ]; then + ( cd $PKG5/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 $PKG5/usr/info ]; then + ( cd $PKG5/usr/info + rm -f dir + gzip -9 * + ) + fi + echo +) || exit 1 + +# build gcc +( mkdir gcc.build.lnx; + cd gcc.build.lnx; + + # If enough people need "treelang" support for it may be considered. + # --enable-languages=ada,c,c++,fortran,java,objc,treelang + # I think it's incorrect to include this option (as it'll end up set + # to i586 on x86 platforms), and we want to tune the binary structure + # for i686, as that's where almost all of the optimization speedups + # are to be found. + # Correct me if my take on this is wrong. + # --with-cpu=$ARCH + + if [ "$ARCH" != "x86_64" ]; then + GCC_ARCHOPTS="--with-arch=$ARCH" + else + GCC_ARCHOPTS="--disable-multilib" + fi + + # NOTE: For Slackware 15.0, look into removing --with-default-libstdcxx-abi=gcc4-compatible, + # which will then require rebuilding all C++ libraries. That is, if there's any benefit. + + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ../gcc-$VERSION/configure --prefix=/usr \ + --libdir=/usr/lib$LIBDIRSUFFIX \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --enable-shared \ + --enable-bootstrap \ + --enable-languages=ada,c,c++,fortran,go,java,lto,objc \ + --enable-threads=posix \ + --enable-checking=release \ + --enable-objc-gc \ + --with-system-zlib \ + --with-python-dir=/lib$LIBDIRSUFFIX/python2.7/site-packages \ + --enable-libstdcxx-dual-abi \ + --with-default-libstdcxx-abi=gcc4-compatible \ + --disable-libunwind-exceptions \ + --enable-__cxa_atexit \ + --enable-libssp \ + --enable-lto \ + --disable-install-libiberty \ + --with-gnu-ld \ + --verbose \ + --enable-java-home \ + --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \ + --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \ + --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \ + --with-arch-directory=$LIB_ARCH \ + --with-antlr-jar=$ANTLJAR \ + --enable-java-awt=gtk \ + --disable-gtktest \ + $GCC_ARCHOPTS \ + --target=${TARGET} \ + --build=${TARGET} \ + --host=${TARGET} || exit 1 + + # Start the build: + + # Include all debugging info (for now): + make $NUMJOBS bootstrap; + + ( cd gcc + make $NUMJOBS gnatlib GNATLIBCFLAGS="$SLKCFLAGS" + # This wants a shared -ladd2line? + #make gnatlib-shared + + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + make $NUMJOBS gnattools + ) + make info + + # Set GCCCHECK=something to run the tests + if [ ! -z $GCCCHECK ]; then + make $NUMJOBS check + fi + + make install DESTDIR=$PKG1 + +# KLUDGE ALERT +# These *gdb.py files are causing ldconfig to complain, so they are going +# to be REMOVED for now... at some point, they might be moved somewhere +# else, in which case things should Just Work(tm). Keep an eye on it. +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/*gdb.py + +# Be sure the "specs" file is installed. +if [ ! -r $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs ]; then + cat stage1-gcc/specs > $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs +fi + +# Make our 64bit gcc look for 32bit gcc binaries in ./32 subdirectory: +if [ "$ARCH" = "x86_64" ]; then + sed -i 's#;.\(:../lib !m64 m32;\)$#;32\1#' \ + $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs +fi + +# make ada.install-common DESTDIR=$PKG1 +# make install-gnatlib DESTDIR=$PKG1 +make -i install-info DESTDIR=$PKG1 + +chmod 755 $PKG1/usr/lib${LIBDIRSUFFIX}/libgcc_s.so.1 + +# The (huge) static GNU java libraries are not packaged. In nearly all +# cases one or more dependencies will not be available as static anyway. +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/libgcj.a +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/libgcj-tools.a + +# Fix stuff up: +( cd $PKG1/usr/info ; rm dir ; gzip -9 * ) +( cd $PKG1 + # *not* ${LIBDIRSUFFIX} + mkdir -p lib + cd lib + ln -sf /usr/bin/cpp . +) + +( cd $PKG1/usr/bin + mv g++ g++-gcc-$VERSION + mv gcc gcc-$VERSION + mv ${TARGET}-gfortran gfortran-gcc-$VERSION + ln -sf g++-gcc-$VERSION g++ + ln -sf gcc-$VERSION gcc + ln -sf g++ c++ + ln -sf gcc cc + ln -sf gcc-$VERSION ${TARGET}-gcc + ln -sf gcc-$VERSION ${TARGET}-gcc-$VERSION + ln -sf gcc-ar ${TARGET}-gcc-ar + ln -sf gcc-nm ${TARGET}-gcc-nm + ln -sf gcc-ranlib ${TARGET}-gcc-ranlib + ln -sf gcj ${TARGET}-gcj + ln -sf gcjh ${TARGET}-gcjh + ln -sf g++-gcc-$VERSION ${TARGET}-c++ + ln -sf g++-gcc-$VERSION ${TARGET}-g++ + ln -sf gfortran-gcc-$VERSION gfortran + ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran + ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran-$VERSION + ln -sf gfortran-gcc-$VERSION ${TARGET}-g95 + ln -sf gfortran g95 + ln -sf gfortran f95 + ln -sf gfortran-gcc-$VERSION ${TARGET}-g77 + ln -sf gfortran g77 + ln -sf gfortran f77 + cat $CWD/c89.sh > c89 + cat $CWD/c99.sh > c99 + chmod 755 c89 c99 +) + +( cd $PKG1/usr/man + gzip -9 */* + cd man1 + ln -sf g++.1.gz c++.1.gz + ln -sf gcc.1.gz cc.1.gz +) + +## build the txz package +#( +# cd $PKG1; +# makepkg -l y -c n $TMP/gcc-$VERSION-$ARCH-$BUILD.txz +#) +# keep a log +) 2>&1 | tee $TMP/gcc.build.log + +# OK, time to split the big package where needed: + +# gcc-g++: +( cd $PKG2 + mkdir -p usr/bin + mv $PKG1/usr/bin/*++* usr/bin + mkdir -p usr/include + mv $PKG1/usr/include/c++ usr/include + mkdir -p usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/*++* usr/lib${LIBDIRSUFFIX} + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/cc1plus usr/libexec/gcc/$TARGET/$VERSION/cc1plus + mkdir -p usr/man/man1 + mv $PKG1/usr/man/man1/*++* usr/man/man1 +) + +# gcc-gfortran: +( cd $PKG3 + mkdir -p usr/bin + mv $PKG1/usr/bin/*gfortran* usr/bin + mv $PKG1/usr/bin/*95* usr/bin + mv $PKG1/usr/bin/*77* usr/bin + # Doesn't this seem like a logical idea? + ( cd usr/bin ; ln -sf gfortran-gcc-${VERSION} fortran ) + mkdir -p usr/info + mv $PKG1/usr/info/gfortran* usr/info + mkdir -p usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libgfortran* usr/lib${LIBDIRSUFFIX} + mkdir -p usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/finclude usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/libgfortran* usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/f951 usr/libexec/gcc/$TARGET/$VERSION/f951 + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/libgfortran* usr/libexec/gcc/$TARGET/$VERSION + mkdir -p usr/man/man1 + mv $PKG1/usr/man/man1/gfortran* usr/man/man1 +) + +# gcc-gnat: +# First, relocate usr/bin/gnative2ascii to the gcc-java package so it +# isn't matched and accidentally put in gcc-gnat: +mkdir -p $PKG5/usr/bin +mv $PKG1/usr/bin/gnative2ascii $PKG5/usr/bin +# Now make the gcc-gnat package tree: +( cd $PKG4 + mkdir -p usr/bin + mv $PKG1/usr/bin/gnat* usr/bin + mv $PKG1/usr/bin/gpr* usr/bin + mkdir -p usr/info + mv $PKG1/usr/info/gnat* usr/info + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/gnat1 usr/libexec/gcc/$TARGET/$VERSION + mkdir -p usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/adainclude usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/adalib usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION +) + +# gcc-java: +( cd $PKG5 + mkdir -p usr/bin + mv $PKG1/usr/bin/aot-compile usr/bin + mv $PKG1/usr/bin/addr2name.awk usr/bin + # mv $PKG1/usr/bin/fastjar usr/bin + mv $PKG1/usr/bin/gappletviewer usr/bin + mv $PKG1/usr/bin/gc-analyze usr/bin + mv $PKG1/usr/bin/*gcj* usr/bin + mv $PKG1/usr/bin/gij usr/bin + mv $PKG1/usr/bin/gjar usr/bin + mv $PKG1/usr/bin/gjarsigner usr/bin + mv $PKG1/usr/bin/gjdoc usr/bin + mv $PKG1/usr/bin/gkeytool usr/bin + mv $PKG1/usr/bin/grepjar usr/bin + mv $PKG1/usr/bin/grmid usr/bin + mv $PKG1/usr/bin/grmic usr/bin + mv $PKG1/usr/bin/grmiregistry usr/bin + mv $PKG1/usr/bin/gserialver usr/bin + mv $PKG1/usr/bin/gtnameserv usr/bin + mv $PKG1/usr/bin/gjavah usr/bin + mv $PKG1/usr/bin/gorbd usr/bin + mv $PKG1/usr/bin/jar usr/bin + mv $PKG1/usr/bin/jcf-dump usr/bin + mv $PKG1/usr/bin/jv-* usr/bin + mv $PKG1/usr/bin/rmi* usr/bin + mkdir -p usr/include/c++/$VERSION + # Move some Java only C++ headers from the C++ package: + mv $PKG2/usr/include/c++/$VERSION/{gcj,gnu,java,javax,org,sun} usr/include/c++/$VERSION + mv $PKG1/usr/include/ffi.h usr/include + mkdir -p usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jawt.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/ffi.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/ffitarget.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jawt_md.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jni.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jni_md.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jvmpi.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/libffi usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + # aot-compile Python plugins: + if [ ! -d $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 ]; then + echo "NO $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 !" + exit 1 + fi + mv $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 usr/lib${LIBDIRSUFFIX} + mkdir -p usr/info + mv $PKG1/usr/info/gcj.* usr/info + # mv $PKG1/usr/info/fastjar.* usr/info + mkdir -p usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libffi* usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/logging.properties usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcj* usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libgcj* usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libgij* usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/lib-org* usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/security usr/lib${LIBDIRSUFFIX} + mkdir -p usr/lib${LIBDIRSUFFIX}/pkgconfig + mv $PKG1/usr/lib${LIBDIRSUFFIX}/pkgconfig/libgcj*.pc usr/lib${LIBDIRSUFFIX}/pkgconfig + rmdir $PKG1/usr/lib${LIBDIRSUFFIX}/pkgconfig 2> /dev/null + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/jc1 usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/ecj1 usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/jvgenmain usr/libexec/gcc/$TARGET/$VERSION + mkdir -p usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/gcj usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mkdir -p usr/man/man1 + mv $PKG1/usr/man/man1/aot-compile.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gappletviewer.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gc-analyze.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gcj.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gcjh.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gcj-dbtool.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gij.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gjar.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gjarsigner.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gjavah.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gjdoc.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gjnih.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gkeytool.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gnative2ascii.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gorbd.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/grmic.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/grmid.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/grmiregistry.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gserialver.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gtnameserv.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/jcf-dump.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/jv-convert.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/jv-scan.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/rebuild-gcj-db.1.gz usr/man/man1 + mkdir -p usr/man/man3 + mv $PKG1/usr/man/man3/ffi* usr/man/man3 + mkdir -p usr/share + mv $PKG1/usr/share/java usr/share + # The ecj wrapper script: + cat $CWD/ecj.sh | sed -e "s,@JAVADIR@,/usr/share/java," > usr/bin/ecj + chmod 755 usr/bin/ecj + # The JAVA_HOME compatibility links. + # Caution: non-multilib arch-independent stuff! No lib64 here. + mkdir -p usr/lib$LIBDIRSUFFIX + mv $PKG1/usr/lib$LIBDIRSUFFIX/jvm* usr/lib$LIBDIRSUFFIX + # And add the missing javac symlink: + ln -s ../../../bin/ecj usr/lib$LIBDIRSUFFIX/jvm/bin/javac + # Don't package libffi stuff anymore. GCC will link the internal version + # statically, and we'll need a newer one elsewhere. + find . -name "ffi*.h" | xargs rm + find . -name "libffi*" | xargs rm + rm -f usr/man/man3/ffi* + rm -f usr/info/libffi* +) + +# gcc-objc: +( cd $PKG6 + mkdir -p usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libobjc* usr/lib${LIBDIRSUFFIX} + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/cc1obj usr/libexec/gcc/$TARGET/$VERSION + mkdir -p usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include + mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/objc usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include +) + +## NOTE: Thought about this, because the precompiled headers are so large. +## Probably easier to keep everything together, though. +## gcc-g++-gch (precompiled c++ headers) +#( cd $PKG7 +# mkdir -p usr/include/c++/$VERSION/$TARGET/bits +# mv $PKG2/usr/include/c++/$VERSION/$TARGET/bits/stdc++.h.gch usr/include/c++/$VERSION/$TARGET/bits +#) + +# gcc-go: +( cd $PKG8 + mkdir -p usr/bin + mv $PKG1/usr/bin/*gccgo* usr/bin + mv $PKG1/usr/bin/go{,fmt} usr/bin + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/{cgo,go1} usr/libexec/gcc/$TARGET/$VERSION + mkdir -p usr/info + mv $PKG1/usr/info/gccgo.info.gz usr/info + mkdir -p usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/go usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/{libgo.la,libgo.so*,libgobegin.a,libgolibbegin.a,libnetgo.a} usr/lib${LIBDIRSUFFIX} || exit 1 + # Ordinarily Slackware doesn't package static libraries, but in this case + # it is useful for deploying compiled binaries on machines that do not yet + # have libgo.so.0.0.0. + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libgo.a usr/lib${LIBDIRSUFFIX} + mkdir -p usr/man/man1 + mv $PKG1/usr/man/man1/gccgo.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/go.1.gz usr/man/man1 + mv $PKG1/usr/man/man1/gofmt.1.gz usr/man/man1 +) || exit 1 + +# Filter all .la files (thanks much to Mark Post for the sed script): +( cd $TMP + for file in $(find . -type f -name "*.la") ; do + cat $file | sed -e 's%-L/gcc-[[:graph:]]* % %g' > $TMP/tmp-la-file + cat $TMP/tmp-la-file > $file + done + rm $TMP/tmp-la-file +) + +## Strip bloated binaries and libraries: +for dir in $PKG{1,2,3,4,5,6,8}; do + ( cd $dir + find . -name "lib*so*" -exec strip --strip-unneeded "{}" \; + find . -name "lib*a" -exec strip -g "{}" \; + strip --strip-unneeded usr/bin/* 2> /dev/null + 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 + ) +done + +( cd $PKG1 + makepkg -l y -c n $TMP/gcc-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG2 + makepkg -l y -c n $TMP/gcc-g++-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG3 + makepkg -l y -c n $TMP/gcc-gfortran-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG4 + makepkg -l y -c n $TMP/gcc-gnat-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG5 + makepkg -l y -c n $TMP/gcc-java-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG6 + makepkg -l y -c n $TMP/gcc-objc-$VERSION-$ARCH-$BUILD.txz ) +#( cd $PKG7 +# makepkg -l y -c n $TMP/gcc-g++-gch-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG8 + makepkg -l y -c n $TMP/gcc-go-$VERSION-$ARCH-$BUILD.txz ) + +echo +echo "Slackware GCC package build complete!" +echo + diff --git a/patches/source/gcc/slack-desc.gcc b/patches/source/gcc/slack-desc.gcc new file mode 100644 index 000000000..72e33b464 --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc @@ -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------------------------------------------------------| +gcc: gcc (Base GCC package with C support) +gcc: +gcc: GCC is the GNU Compiler Collection. +gcc: +gcc: This package contains those parts of the compiler collection needed to +gcc: compile C code. Other packages add Ada, C++, Fortran, Go, +gcc: Objective-C, and Java support to the compiler core. +gcc: +gcc: +gcc: +gcc: diff --git a/patches/source/gcc/slack-desc.gcc-g++ b/patches/source/gcc/slack-desc.gcc-g++ new file mode 100644 index 000000000..3cbabac16 --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc-g++ @@ -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------------------------------------------------------| +gcc-g++: gcc-g++ (C++ for GCC) +gcc-g++: +gcc-g++: C++ support for the GNU Compiler Collection. +gcc-g++: +gcc-g++: This package contains those parts of the compiler collection needed to +gcc-g++: compile C++ code. The base gcc package is also required. +gcc-g++: +gcc-g++: +gcc-g++: +gcc-g++: +gcc-g++: diff --git a/patches/source/gcc/slack-desc.gcc-gfortran b/patches/source/gcc/slack-desc.gcc-gfortran new file mode 100644 index 000000000..5141cb02c --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc-gfortran @@ -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------------------------------------------------------| +gcc-gfortran: gcc-gfortran (Fortran support for GCC) +gcc-gfortran: +gcc-gfortran: The GNU Fortran compiler is fully compliant with the Fortran 95 +gcc-gfortran: Standard and includes legacy F77 support. In addition, a significant +gcc-gfortran: number of Fortran 2003 and Fortran 2008 features are implemented. +gcc-gfortran: GNU Fortran also contains many standard and extensions and can be +gcc-gfortran: used to run real-world programs. +gcc-gfortran: +gcc-gfortran: This package contains those parts of the compiler collection +gcc-gfortran: needed to compile Fortran code. The gcc package is also required. +gcc-gfortran: diff --git a/patches/source/gcc/slack-desc.gcc-gnat b/patches/source/gcc/slack-desc.gcc-gnat new file mode 100644 index 000000000..9aa4b3c4e --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc-gnat @@ -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------------------------------------------------------| +gcc-gnat: gcc-gnat (Ada support for GCC) +gcc-gnat: +gcc-gnat: Ada support for the GNU Compiler Collection. +gcc-gnat: +gcc-gnat: This package contains those parts of the compiler collection needed to +gcc-gnat: compile Ada code. GNAT implements Ada 95, Ada 2005 and Ada 2012, and +gcc-gnat: it may also be invoked in Ada 83 compatibility mode. By default, GNAT +gcc-gnat: assumes Ada 2012. The base gcc package is also required. +gcc-gnat: +gcc-gnat: +gcc-gnat: diff --git a/patches/source/gcc/slack-desc.gcc-go b/patches/source/gcc/slack-desc.gcc-go new file mode 100644 index 000000000..cdd859bc1 --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc-go @@ -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------------------------------------------------------| +gcc-go: gcc-go (Go support for GCC) +gcc-go: +gcc-go: Go is a compiled, garbage-collected, concurrent programming language +gcc-go: developed by Google Inc. The initial design of Go was started in +gcc-go: September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. +gcc-go: Rob Pike has stated that Go is being used "for real stuff" at Google. +gcc-go: Go's "gc" compiler targets the Linux, Mac OS X, FreeBSD, OpenBSD and +gcc-go: Microsoft Windows operating systems, and the i386, amd64, and ARM +gcc-go: processor architectures. +gcc-go: +gcc-go: Homepage: http://golang.org diff --git a/patches/source/gcc/slack-desc.gcc-java b/patches/source/gcc/slack-desc.gcc-java new file mode 100644 index 000000000..b65ca5554 --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc-java @@ -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------------------------------------------------------| +gcc-java: gcc-java (Java support for GCC) +gcc-java: +gcc-java: Java support for the GNU Compiler Collection. +gcc-java: +gcc-java: This package contains those parts of the compiler collection needed to +gcc-java: compile programs written in the Java programming language. The base +gcc-java: gcc package is also required. +gcc-java: +gcc-java: +gcc-java: +gcc-java: diff --git a/patches/source/gcc/slack-desc.gcc-objc b/patches/source/gcc/slack-desc.gcc-objc new file mode 100644 index 000000000..c01b79e37 --- /dev/null +++ b/patches/source/gcc/slack-desc.gcc-objc @@ -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------------------------------------------------------| +gcc-objc: gcc-objc (Objective-C support for GCC) +gcc-objc: +gcc-objc: Objective-C support for the GNU Compiler Collection. +gcc-objc: +gcc-objc: This package contains those parts of the compiler collection needed to +gcc-objc: compile code written in Objective-C. Objective-C was originally +gcc-objc: developed to add object-oriented extensions to the C language, and is +gcc-objc: best known as the native language of the NeXT computer. +gcc-objc: +gcc-objc: The base gcc package is also required. +gcc-objc: diff --git a/patches/source/gd/gd.SlackBuild b/patches/source/gd/gd.SlackBuild new file mode 100755 index 000000000..bc827a0d5 --- /dev/null +++ b/patches/source/gd/gd.SlackBuild @@ -0,0 +1,122 @@ +#!/bin/sh + +# Copyright 2006, 2007, 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. + + +PKGNAM=gd +VERSION=${VERSION:-$(echo libgd-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} + +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +cd $TMP +rm -rf libgd-${VERSION} +tar xvf $CWD/libgd-$VERSION.tar.xz || exit 1 +cd libgd-$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 {} \; + +./bootstrap.sh + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --disable-static \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux || 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/${PKGNAM}-$VERSION +cp -a \ + COPYING INSTALL README-JPEG.TXT README.TXT index.html \ + $PKG/usr/doc/${PKGNAM}-$VERSION +# Fix stupid permissions: +chmod 644 $PKG/usr/doc/${PKGNAM}-$VERSION/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $TMP/package-${PKGNAM} +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gd/slack-desc b/patches/source/gd/slack-desc new file mode 100644 index 000000000..adaab7a05 --- /dev/null +++ b/patches/source/gd/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------------------------------------------------------| +gd: gd (a graphics library) +gd: +gd: gd is a graphics library. It allows your code to quickly draw images +gd: complete with lines, arcs, text, multiple colors, cut and paste from +gd: other images, and flood fills, and write out the result as a PNG or +gd: JPEG file. This is particularly useful in web applications, where +gd: PNG and JPEG are two of the formats accepted for inline images by +gd: most browsers. The gd library was written by Thomas Boutell. +gd: +gd: Homepage: https://www.libgd.org +gd: diff --git a/patches/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 +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 +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 +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 +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 +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 + #include ++#include + + 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 +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 +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 +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 +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 . +- * +- * Copyright 2006, 2007 Øyvind KolÃ¥s +- * 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 +- +- +-#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..61674ae3e --- /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:-4_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gegl + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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/getmail/getmail.SlackBuild b/patches/source/getmail/getmail.SlackBuild new file mode 100755 index 000000000..a30826814 --- /dev/null +++ b/patches/source/getmail/getmail.SlackBuild @@ -0,0 +1,65 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 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 getmail-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-getmail +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf getmail-$VERSION +tar xvf $CWD/getmail-$VERSION.tar.xz || exit 1 +chown -R root:root getmail-$VERSION +cd getmail-$VERSION +python setup.py build || exit 1 +python setup.py install --root=$PKG || exit 1 + +( cd $PKG/usr/share + mv man .. + mv doc .. + cd .. + rmdir share +) + +gzip -9 $PKG/usr/man/man1/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/getmail-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/getmail/slack-desc b/patches/source/getmail/slack-desc new file mode 100644 index 000000000..6c91db1cc --- /dev/null +++ b/patches/source/getmail/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------------------------------------------------------| +getmail: getmail (POP3 mail retriever) +getmail: +getmail: getmail is a POP3 mail retriever, with support for both ordinary and +getmail: domain (or multidrop) POP3 mailboxes. It is written in Python, and +getmail: licensed under the GNU General Public License version 2. +getmail: +getmail: getmail was written by Charles Cazabon. +getmail: +getmail: +getmail: +getmail: diff --git a/patches/source/gimp/gimp.SlackBuild b/patches/source/gimp/gimp.SlackBuild new file mode 100755 index 000000000..c6a0ebaeb --- /dev/null +++ b/patches/source/gimp/gimp.SlackBuild @@ -0,0 +1,136 @@ +#!/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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gimp +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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 \ + --with-lcms=lcms2 \ + --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 Binary files /dev/null and b/patches/source/git/git-2.14.1.tar.sign differ diff --git a/patches/source/git/git.SlackBuild b/patches/source/git/git.SlackBuild new file mode 100755 index 000000000..722ea302c --- /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.2} + +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=i586 ;; + 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" = "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-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/gkrellm/gkrellm.SlackBuild b/patches/source/gkrellm/gkrellm.SlackBuild new file mode 100755 index 000000000..b8183fb68 --- /dev/null +++ b/patches/source/gkrellm/gkrellm.SlackBuild @@ -0,0 +1,149 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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=gkrellm +VERSION=${VERSION:-$(echo $PKGNAM-2*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +PKGVER=$VERSION +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gkrellm + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf gkrellm-$VERSION +tar xvf $CWD/gkrellm-$VERSION.tar.?z* || exit 1 +cd gkrellm-$VERSION || exit 1 +# Fix library paths (works for all ARCHs): +sed -i -e "s#lib/gkrellm2#lib${LIBDIRSUFFIX}/gkrellm2#g" $(grep -lr 'lib/gkrellm2' *) +# Increase the default width slightly, and don't use the text +# shadow effect by default (this seems better with Pango font +# rendering): +zcat $CWD/gkrellm.theme.defaults.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 {} \; + +make \ + INSTALLROOT=/usr \ + INSTALLDIR=/usr/bin \ + INCLUDEDIR=/usr/include \ + MANDIR=/usr/man/man1 \ + LOCALEDIR=/usr/share/locale \ + PKGCONFIGDIR=/usr/lib${LIBDIRSUFFIX}/pkgconfig || exit 1 + +# We will need this installed to build plugins, so... +make install \ + INSTALLROOT=/usr \ + INSTALLDIR=/usr/bin \ + INCLUDEDIR=/usr/include \ + MANDIR=/usr/man/man1 \ + LOCALEDIR=/usr/share/locale \ + PKGCONFIGDIR=/usr/lib${LIBDIRSUFFIX}/pkgconfig || exit 1 + +# Install to the $PKG dir: +make install \ + INSTALLROOT=$PKG/usr \ + INSTALLDIR=$PKG/usr/bin \ + INCLUDEDIR=$PKG/usr/include \ + MANDIR=$PKG/usr/man/man1 \ + LOCALEDIR=$PKG/usr/share/locale \ + PKGCONFIGDIR=$PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig || exit 1 + +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/gkrellm2/plugins + +mkdir -p $PKG/usr/doc/gkrellm-$VERSION +cp -a \ + COPYRIGHT CREDITS INSTALL README* Themes.html \ + $PKG/usr/doc/gkrellm-$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/gkrellm-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Add optional plugin(s): +# The countdown plugin is needed to track X-Day. ;-) +COUNTDOWN=0.1.1 +cd $TMP +rm -rf gkrellm-countdown +tar xf $CWD/gkrellm-countdown-$COUNTDOWN.tar.gz || exit 1 +cd gkrellm-countdown || 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 || exit 1 +cp gkrellm-countdown.so $PKG/usr/lib${LIBDIRSUFFIX}/gkrellm2/plugins + +mkdir -p $PKG/usr/doc/gkrellm-countdown-$COUNTDOWN +cp -a \ + COPYING README \ + $PKG/usr/doc/gkrellm-countdown-$COUNTDOWN + +# 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/gkrellm-countdown-$COUNTDOWN) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +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 + +cd $PKG +/sbin/makepkg -l y -c n $TMP/gkrellm-$PKGVER-$ARCH-$BUILD.txz + diff --git a/patches/source/gkrellm/gkrellm.theme.defaults.diff b/patches/source/gkrellm/gkrellm.theme.defaults.diff new file mode 100644 index 000000000..aff6a9fbc --- /dev/null +++ b/patches/source/gkrellm/gkrellm.theme.defaults.diff @@ -0,0 +1,11 @@ +--- ./src/config.c.orig 2008-10-03 19:33:37.000000000 -0500 ++++ ./src/config.c 2008-10-25 20:33:56.000000000 -0500 +@@ -1883,7 +1883,7 @@ + + _GK.chart_height_min = 5; + _GK.chart_height_max = 200; +- _GK.chart_width_ref = 60; ++ _GK.chart_width_ref = 75; + _GK.chart_text_no_fill = FALSE; + _GK.bg_separator_height = 2; + _GK.allow_scaling = FALSE; diff --git a/patches/source/gkrellm/slack-desc b/patches/source/gkrellm/slack-desc new file mode 100644 index 000000000..3540eb6a5 --- /dev/null +++ b/patches/source/gkrellm/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------------------------------------------------------| +gkrellm: gkrellm (GNU Krell Monitors) +gkrellm: +gkrellm: GKrellM charts SMP CPU, load, Disk, and all active net interfaces +gkrellm: automatically. An on/off button and online timer for the PPP interface +gkrellm: is provided. Monitors for memory and swap usage, file system, internet +gkrellm: connections, APM laptop battery, mbox style mailboxes, and cpu temps. +gkrellm: Also includes an uptime monitor, hostname label, and clock/calendar. +gkrellm: +gkrellm: Bill Wilson is the author of GKrellM. +gkrellm: +gkrellm: diff --git a/patches/source/glib2/0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch b/patches/source/glib2/0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch new file mode 100644 index 000000000..a315a01b0 --- /dev/null +++ b/patches/source/glib2/0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch @@ -0,0 +1,25 @@ +From db641e32920ee8b553ab6f2d318aafa156e4390c Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras +Date: Wed, 25 Nov 2015 23:29:18 +0200 +Subject: [PATCH] GDBusProxy: Fix a memory leak during initialization + +https://bugzilla.gnome.org/show_bug.cgi?id=758641 +--- + gio/gdbusproxy.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gio/gdbusproxy.c b/gio/gdbusproxy.c +index 52a22fb..7b1140f 100644 +--- a/gio/gdbusproxy.c ++++ b/gio/gdbusproxy.c +@@ -1720,6 +1720,7 @@ async_initable_init_second_finish (GAsyncInitable *initable, + if (result != NULL) + { + process_get_all_reply (proxy, result); ++ g_variant_unref (result); + } + + proxy->priv->initialized = TRUE; +-- +2.6.3 + diff --git a/patches/source/glib2/doinst.sh b/patches/source/glib2/doinst.sh new file mode 100644 index 000000000..a14f9606c --- /dev/null +++ b/patches/source/glib2/doinst.sh @@ -0,0 +1,32 @@ +# 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 +} + +# Prepare the new configuration files +for file in etc/profile.d/libglib2.csh.new etc/profile.d/libglib2.sh.new ; do + if test -e $(dirname $file)/$(basename $file .new) ; then + if [ ! -x $(dirname $file)/$(basename $file .new) ]; then + chmod 644 $file + else + chmod 755 $file + fi + fi + config $file +done + +# Try to run these. If they fail, no biggie. +chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 1> /dev/null 2> /dev/null +chroot . /usr/bin/gio-querymodules @LIBDIR@/gio/modules/ 1> /dev/null 2> /dev/null + diff --git a/patches/source/glib2/glib.bug.758823.diff b/patches/source/glib2/glib.bug.758823.diff new file mode 100644 index 000000000..e92c03687 --- /dev/null +++ b/patches/source/glib2/glib.bug.758823.diff @@ -0,0 +1,40 @@ +From 30359e740953b596d6c3d980dba36dd131681a1f Mon Sep 17 00:00:00 2001 +From: Allison Ryan Lortie +Date: Mon, 30 Nov 2015 10:13:46 -0500 +Subject: file monitors: reorder some code to avoid segfault + +We must initialise '->source' before we use fields inside of it. + +https://bugzilla.gnome.org/show_bug.cgi?id=758823 +--- + gio/glocalfilemonitor.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gio/glocalfilemonitor.c b/gio/glocalfilemonitor.c +index dbd62ec..49a4dd2 100644 +--- a/gio/glocalfilemonitor.c ++++ b/gio/glocalfilemonitor.c +@@ -748,6 +748,9 @@ g_local_file_monitor_start (GLocalFileMonitor *local_monitor, + + g_assert (!local_monitor->source); + ++ source = g_file_monitor_source_new (local_monitor, filename, is_directory, flags); ++ local_monitor->source = source; /* owns the ref */ ++ + if (is_directory && !class->mount_notify && (flags & G_FILE_MONITOR_WATCH_MOUNTS)) + { + #ifdef G_OS_WIN32 +@@ -771,9 +774,6 @@ g_local_file_monitor_start (GLocalFileMonitor *local_monitor, + #endif + } + +- source = g_file_monitor_source_new (local_monitor, filename, is_directory, flags); +- local_monitor->source = source; /* owns the ref */ +- + G_LOCAL_FILE_MONITOR_GET_CLASS (local_monitor)->start (local_monitor, + source->dirname, source->basename, source->filename, + source); +-- +cgit v0.12 + + diff --git a/patches/source/glib2/glib2.SlackBuild b/patches/source/glib2/glib2.SlackBuild new file mode 100755 index 000000000..0b39949ac --- /dev/null +++ b/patches/source/glib2/glib2.SlackBuild @@ -0,0 +1,145 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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. + + +VERSION=${VERSION:-$(echo glib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-glib2 + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG/usr +cd $TMP +rm -rf glib-$VERSION +tar xvf $CWD/glib-$VERSION.tar.?z* || exit 1 +cd glib-$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 {} \; + +# Silly upstream, using the bleeding edge. Reconf: +#autoreconf --force --install + +cat $CWD/0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch | patch -p1 --verbose || exit 1 + +# Patch from upsteam, fixes use-before-allocate bug: +cat $CWD/glib.bug.758823.diff | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --disable-libelf \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Install profile scripts: +mkdir -p $PKG/etc/profile.d/ +cp -a $CWD/libglib2.{csh,sh} $PKG/etc/profile.d/ +chown root:root $PKG/etc/profile.d/* +chmod 755 $PKG/etc/profile.d/* +mv $PKG/etc/profile.d/libglib2.csh $PKG/etc/profile.d/libglib2.csh.new +mv $PKG/etc/profile.d/libglib2.sh $PKG/etc/profile.d/libglib2.sh.new + +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/glib-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* \ + $PKG/usr/doc/glib-$VERSION + rm -f $PKG/usr/doc/glib-$VERSION/README.{in,win32} +( cd $PKG/usr/doc/glib-$VERSION ; ln -s /usr/share/gtk-doc/html/gobject 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 + +# Trim down bloated NEWS file: +if [ -r NEWS ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$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 +zcat $CWD/doinst.sh.gz | sed "s,@LIBDIR@,/usr/lib${LIBDIRSUFFIX}," > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n --prepend $TMP/glib2-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/glib2/libglib2.csh b/patches/source/glib2/libglib2.csh new file mode 100644 index 000000000..a1b675615 --- /dev/null +++ b/patches/source/glib2/libglib2.csh @@ -0,0 +1,27 @@ +#!/bin/csh +# +# Description: This script sets the environment variables G_FILENAME_ENCODING +# and G_BROKEN_FILENAMES for the glib-2.0 library. +# +# G_FILENAME_ENCODING +# This environment variable can be set to a comma-separated list of +# character set names. GLib assumes that filenames are encoded in the +# first character set from that list rather than in UTF-8. The special +# token "@locale" can be used to specify the character set for the +# current locale. +# +# G_BROKEN_FILENAMES +# If this environment variable is set, GLib assumes that filenames are +# in the locale encoding rather than in UTF-8. + +# If the LANG you have set contains any form of "UTF", we will guess you are +# using a UTF-8 locale. Hopefully we're correct. +echo $LANG | grep -iq UTF +if ($status == 0) then + setenv G_FILENAME_ENCODING "@locale" +endif + +# It doesn't hurt to export this since G_FILENAME_ENCODING takes priority +# over G_BROKEN_FILENAMES: +setenv G_BROKEN_FILENAMES 1 + diff --git a/patches/source/glib2/libglib2.sh b/patches/source/glib2/libglib2.sh new file mode 100644 index 000000000..9b9fdc69f --- /dev/null +++ b/patches/source/glib2/libglib2.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# Description: This script sets the environment variables G_FILENAME_ENCODING +# and G_BROKEN_FILENAMES for the glib-2.0 library. +# +# G_FILENAME_ENCODING +# This environment variable can be set to a comma-separated list of +# character set names. GLib assumes that filenames are encoded in the +# first character set from that list rather than in UTF-8. The special +# token "@locale" can be used to specify the character set for the +# current locale. +# +# G_BROKEN_FILENAMES +# If this environment variable is set, GLib assumes that filenames are +# in the locale encoding rather than in UTF-8. + +# If the LANG you have set contains any form of "UTF", we will guess you are +# using a UTF-8 locale. Hopefully we're correct. +if echo $LANG | grep -iq UTF ; then + export G_FILENAME_ENCODING="@locale" +fi + +# It doesn't hurt to export this since G_FILENAME_ENCODING takes priority +# over G_BROKEN_FILENAMES: +export G_BROKEN_FILENAMES=1 + diff --git a/patches/source/glib2/slack-desc b/patches/source/glib2/slack-desc new file mode 100644 index 000000000..1633f2f7a --- /dev/null +++ b/patches/source/glib2/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------------------------------------------------------| +glib2: glib2 (library of C routines) +glib2: +glib2: GLib is a library which includes support routines for C such as lists, +glib2: trees, hashes, memory allocation, and many other things. +glib2: +glib2: +glib2: +glib2: +glib2: +glib2: +glib2: diff --git a/patches/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..b294b01a3 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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 " + 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 +# Modified by: David Cantrell , 06-Oct-2000 +# +# ChangeLog: +# 2014-10-22: Updated timezones from tzdata2014i. +# 2012-12-12: Updated timezones from tzdata2012j. +# 2008-03-10: Updated timezones from tzdata2008a. +# 2007-12-21: Updated timezones from tzdata2007j. +# 2006-12-03: Updated timezones from tzdata2006p. +# 2006-09-14: Updated timezones from tzdata2006k. +# 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 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 +# Modified by: David Cantrell , 06-Oct-2000 +# +# ChangeLog: +# 2014-10-22: Updated timezones from tzdata2014i. +# 2012-12-12: Updated timezones from tzdata2012j. +# 2008-03-10: Updated timezones from tzdata2008a. +# 2007-12-21: Updated timezones from tzdata2007j. +# 2006-12-03: Updated timezones from tzdata2006p. +# 2006-09-14: Updated timezones from tzdata2006k. +# 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 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..fc947587e --- /dev/null +++ b/patches/source/glibc/doinst.sh-glibc @@ -0,0 +1,179 @@ +#!/bin/sh +# Copyright (C) 2002, 2005 Slackware Linux, Inc. +# Copyright 2005, 2006, 2007, 2011, 2012 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/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-@@VERSION@@.so libnss_nis.so.2 ) +( cd lib ; rm -rf libm.so.6 ) +( cd lib ; ln -sf libm-@@VERSION@@.so libm.so.6 ) +( cd lib ; rm -rf libnss_files.so.2 ) +( cd lib ; ln -sf libnss_files-@@VERSION@@.so libnss_files.so.2 ) +( cd lib ; rm -rf libresolv.so.2 ) +( cd lib ; ln -sf libresolv-@@VERSION@@.so libresolv.so.2 ) +( cd lib ; rm -rf libnsl.so.1 ) +( cd lib ; ln -sf libnsl-@@VERSION@@.so libnsl.so.1 ) +( cd lib ; rm -rf libutil.so.1 ) +( cd lib ; ln -sf libutil-@@VERSION@@.so libutil.so.1 ) +( cd lib ; rm -rf libnss_compat.so.2 ) +( cd lib ; ln -sf libnss_compat-@@VERSION@@.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-@@VERSION@@.so libnss_hesiod.so.2 ) +( cd lib ; rm -rf libanl.so.1 ) +( cd lib ; ln -sf libanl-@@VERSION@@.so libanl.so.1 ) +( cd lib ; rm -rf libcrypt.so.1 ) +( cd lib ; ln -sf libcrypt-@@VERSION@@.so libcrypt.so.1 ) +( cd lib ; rm -rf libBrokenLocale.so.1 ) +( cd lib ; ln -sf libBrokenLocale-@@VERSION@@.so libBrokenLocale.so.1 ) +( cd lib ; rm -rf ld-linux.so.2 ) +( cd lib ; ln -sf ld-@@VERSION@@.so ld-linux.so.2 ) +( cd lib ; rm -rf libdl.so.2 ) +( cd lib ; ln -sf libdl-@@VERSION@@.so libdl.so.2 ) +( cd lib ; rm -rf libnss_dns.so.2 ) +( cd lib ; ln -sf libnss_dns-@@VERSION@@.so libnss_dns.so.2 ) +( cd lib ; rm -rf libpthread.so.0 ) +( cd lib ; ln -sf libpthread-@@VERSION@@.so libpthread.so.0 ) +( cd lib ; rm -rf libnss_nisplus.so.2 ) +( cd lib ; ln -sf libnss_nisplus-@@VERSION@@.so libnss_nisplus.so.2 ) +( cd lib ; rm -rf libc.so.6 ) +( cd lib ; ln -sf libc-@@VERSION@@.so libc.so.6 ) +( cd lib ; rm -rf librt.so.1 ) +( cd lib ; ln -sf librt-@@VERSION@@.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 ) +# This is now a linker script: +#( 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 ) + +# Reload to prevent init from holding a stale handle to glibc on shutdown: +if [ -x /sbin/telinit ]; then + /sbin/telinit u +fi diff --git a/patches/source/glibc/doinst.sh-glibc-solibs b/patches/source/glibc/doinst.sh-glibc-solibs new file mode 100644 index 000000000..a11c36a55 --- /dev/null +++ b/patches/source/glibc/doinst.sh-glibc-solibs @@ -0,0 +1,137 @@ +#!/bin/sh +# Copyright (C) 2002, 2005 Slackware Linux, Inc. +# Copyright 2005, 2006, 2011, 2012 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-@@VERSION@@.so libnss_nis.so.2 ) +( cd lib ; rm -rf libm.so.6 ) +( cd lib ; ln -sf libm-@@VERSION@@.so libm.so.6 ) +( cd lib ; rm -rf libnss_files.so.2 ) +( cd lib ; ln -sf libnss_files-@@VERSION@@.so libnss_files.so.2 ) +( cd lib ; rm -rf libresolv.so.2 ) +( cd lib ; ln -sf libresolv-@@VERSION@@.so libresolv.so.2 ) +( cd lib ; rm -rf libnsl.so.1 ) +( cd lib ; ln -sf libnsl-@@VERSION@@.so libnsl.so.1 ) +( cd lib ; rm -rf libutil.so.1 ) +( cd lib ; ln -sf libutil-@@VERSION@@.so libutil.so.1 ) +( cd lib ; rm -rf libnss_compat.so.2 ) +( cd lib ; ln -sf libnss_compat-@@VERSION@@.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-@@VERSION@@.so libnss_hesiod.so.2 ) +( cd lib ; rm -rf libanl.so.1 ) +( cd lib ; ln -sf libanl-@@VERSION@@.so libanl.so.1 ) +( cd lib ; rm -rf libcrypt.so.1 ) +( cd lib ; ln -sf libcrypt-@@VERSION@@.so libcrypt.so.1 ) +( cd lib ; rm -rf libBrokenLocale.so.1 ) +( cd lib ; ln -sf libBrokenLocale-@@VERSION@@.so libBrokenLocale.so.1 ) +( cd lib ; rm -rf ld-linux.so.2 ) +( cd lib ; ln -sf ld-@@VERSION@@.so ld-linux.so.2 ) +( cd lib ; rm -rf libdl.so.2 ) +( cd lib ; ln -sf libdl-@@VERSION@@.so libdl.so.2 ) +( cd lib ; rm -rf libnss_dns.so.2 ) +( cd lib ; ln -sf libnss_dns-@@VERSION@@.so libnss_dns.so.2 ) +( cd lib ; rm -rf libpthread.so.0 ) +( cd lib ; ln -sf libpthread-@@VERSION@@.so libpthread.so.0 ) +( cd lib ; rm -rf libnss_nisplus.so.2 ) +( cd lib ; ln -sf libnss_nisplus-@@VERSION@@.so libnss_nisplus.so.2 ) +( cd lib ; rm -rf libc.so.6 ) +( cd lib ; ln -sf libc-@@VERSION@@.so libc.so.6 ) +( cd lib ; rm -rf librt.so.1 ) +( cd lib ; ln -sf librt-@@VERSION@@.so librt.so.1 ) +fi + +# Reload to prevent init from holding a stale handle to glibc on shutdown: +if [ -x /sbin/telinit ]; then + /sbin/telinit u +fi + 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-c-utf8-locale.patch b/patches/source/glibc/glibc-c-utf8-locale.patch new file mode 100644 index 000000000..70c92a986 --- /dev/null +++ b/patches/source/glibc/glibc-c-utf8-locale.patch @@ -0,0 +1,251 @@ +--- ./localedata/SUPPORTED.orig 2015-08-05 01:42:21.000000000 -0500 ++++ ./localedata/SUPPORTED 2015-12-17 17:07:08.053200616 -0600 +@@ -1,6 +1,7 @@ + # This file names the currently supported and somewhat tested locales. + # If you have any additions please file a glibc bug report. + SUPPORTED-LOCALES=\ ++C.UTF-8/UTF-8 \ + aa_DJ.UTF-8/UTF-8 \ + aa_DJ/ISO-8859-1 \ + aa_ER/UTF-8 \ +--- ./localedata/locales/C.orig 2015-12-17 17:07:08.053200616 -0600 ++++ ./localedata/locales/C 2015-12-17 17:07:08.053200616 -0600 +@@ -0,0 +1,238 @@ ++escape_char / ++comment_char % ++% Locale for C locale in UTF-8 ++ ++LC_IDENTIFICATION ++title "C locale" ++source "" ++address "" ++contact "" ++email "" ++tel "" ++fax "" ++language "C" ++territory "" ++revision "1.0" ++date "2015-08-10" ++% ++category "C:2015";LC_IDENTIFICATION ++category "C:2015";LC_CTYPE ++category "C:2015";LC_COLLATE ++category "C:2015";LC_TIME ++category "C:2015";LC_NUMERIC ++category "C:2015";LC_MONETARY ++category "C:2015";LC_MESSAGES ++category "C:2015";LC_PAPER ++category "C:2015";LC_NAME ++category "C:2015";LC_ADDRESS ++category "C:2015";LC_TELEPHONE ++category "C:2015";LC_MEASUREMENT ++END LC_IDENTIFICATION ++ ++LC_CTYPE ++copy "i18n" ++ ++translit_start ++include "translit_combining";"" ++translit_end ++ ++END LC_CTYPE ++ ++LC_COLLATE ++order_start forward ++ ++.. ++ ++ ++.. ++ ++ ++.. ++ ++ ++.. ++ ++ ++.. ++ ++ ++.. ++ ++UNDEFINED ++order_end ++END LC_COLLATE ++ ++LC_MONETARY ++% This is the 14652 i18n fdcc-set definition for ++% the LC_MONETARY category ++% (except for the int_curr_symbol and currency_symbol, they are empty in ++% the 14652 i18n fdcc-set definition and also empty in ++% glibc/locale/C-monetary.c. But localedef complains in that case). ++% ++% Using "USD" for int_curr_symbol. But maybe "XXX" would be better? ++% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217) ++int_curr_symbol "" ++% Using "$" for currency_symbol. But maybe would be better? ++% U+00A4 is the "generic currency symbol" ++% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29) ++currency_symbol "" ++mon_decimal_point "" ++mon_thousands_sep "" ++mon_grouping -1 ++positive_sign "" ++negative_sign "" ++int_frac_digits -1 ++frac_digits -1 ++p_cs_precedes -1 ++int_p_sep_by_space -1 ++p_sep_by_space -1 ++n_cs_precedes -1 ++int_n_sep_by_space -1 ++n_sep_by_space -1 ++p_sign_posn -1 ++n_sign_posn -1 ++% ++END LC_MONETARY ++ ++LC_NUMERIC ++% This is the POSIX Locale definition for ++% the LC_NUMERIC category. ++% ++decimal_point "" ++thousands_sep "" ++grouping -1 ++END LC_NUMERIC ++ ++LC_TIME ++% This is the POSIX Locale definition for ++% the LC_TIME category. ++% ++% Abbreviated weekday names (%a) ++abday "";"";/ ++ "";"";/ ++ "";"";/ ++ "" ++ ++% Full weekday names (%A) ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++ ++% Abbreviated month names (%b) ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" ++ ++% Full month names (%B) ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++ ++% Week description, consists of three fields: ++% 1. Number of days in a week. ++% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday). ++% 3. The weekday number to be contained in the first week of the year. ++% ++% ISO 8601 conforming applications should use the values 7, 19971201 (a ++% Monday), and 4 (Thursday), respectively. ++week 7;19971201;4 ++first_weekday 1 ++first_workday 1 ++ ++% Appropriate date and time representation (%c) ++% "%a %b %e %H:%M:%S %Y" ++d_t_fmt "" ++ ++% Appropriate date representation (%x) ++% "%m/%d/%y" ++d_fmt "" ++ ++% Appropriate time representation (%X) ++% "%H:%M:%S" ++t_fmt "" ++ ++% Appropriate AM/PM time representation (%r) ++% "%I:%M:%S %p" ++t_fmt_ampm "" ++ ++% Equivalent of AM/PM (%p) "AM"/"PM" ++% ++am_pm "";"" ++ ++% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y" ++date_fmt "" ++END LC_TIME ++ ++LC_MESSAGES ++% This is the POSIX Locale definition for ++% the LC_NUMERIC category. ++% ++yesexpr "" ++noexpr "" ++yesstr "" ++nostr "" ++END LC_MESSAGES ++ ++LC_PAPER ++% This is the ISO/IEC 14652 "i18n" definition for ++% the LC_PAPER category. ++% (A4 paper, this is also used in the built in C/POSIX ++% locale in glibc/locale/C-paper.c) ++height 297 ++width 210 ++END LC_PAPER ++ ++LC_NAME ++% This is the ISO/IEC 14652 "i18n" definition for ++% the LC_NAME category. ++% "%p%t%g%t%m%t%f" ++% (also used in the built in C/POSIX locale in glibc/locale/C-name.c) ++name_fmt "/ ++" ++END LC_NAME ++ ++LC_ADDRESS ++% This is the ISO/IEC 14652 "i18n" definition for ++% the LC_ADDRESS category. ++% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N" ++% (also used in the built in C/POSIX locale in glibc/locale/C-address.c) ++postal_fmt "/ ++/ ++/ ++/ ++" ++END LC_ADDRESS ++ ++LC_TELEPHONE ++% This is the ISO/IEC 14652 "i18n" definition for ++% the LC_TELEPHONE category. ++% "+%c %a %l" ++tel_int_fmt "/ ++" ++% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c) ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++% This is the ISO/IEC 14652 "i18n" definition for ++% the LC_MEASUREMENT category. ++% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c) ++%metric ++measurement 1 ++END LC_MEASUREMENT ++ 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.3776f38f.diff b/patches/source/glibc/glibc.3776f38f.diff new file mode 100644 index 000000000..d2b787a4f --- /dev/null +++ b/patches/source/glibc/glibc.3776f38f.diff @@ -0,0 +1,52 @@ +From 3776f38fcd267c127ba5eb222e2c614c191744aa Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar +Date: Tue, 20 Jun 2017 05:59:17 +0200 +Subject: [PATCH] Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (bug + #21209) + +The LD_HWCAP_MASK environment variable may alter the selection of +function variants for some architectures. For AT_SECURE process it +means that if an outdated routine has a bug that would otherwise not +affect newer platforms by default, LD_HWCAP_MASK will allow that bug +to be exploited. + +To be on the safe side, ignore and disable LD_HWCAP_MASK for setuid +binaries. + + [BZ #21209] + * elf/rtld.c (process_envvars): Ignore LD_HWCAP_MASK for + AT_SECURE processes. + * sysdeps/generic/unsecvars.h: Add LD_HWCAP_MASK. + +(cherry picked from commit 1c1243b6fc33c029488add276e56570a07803bfd) + +diff --git a/elf/rtld.c b/elf/rtld.c +index 369724b..9362a21 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2534,7 +2534,8 @@ process_envvars (enum mode *modep) + + case 10: + /* Mask for the important hardware capabilities. */ +- if (memcmp (envline, "HWCAP_MASK", 10) == 0) ++ if (!__libc_enable_secure ++ && memcmp (envline, "HWCAP_MASK", 10) == 0) + GLRO(dl_hwcap_mask) = __strtoul_internal (&envline[11], NULL, + 0, 0); + break; +diff --git a/sysdeps/generic/unsecvars.h b/sysdeps/generic/unsecvars.h +index a740837..5ea8a4a 100644 +--- a/sysdeps/generic/unsecvars.h ++++ b/sysdeps/generic/unsecvars.h +@@ -16,6 +16,7 @@ + "LD_DEBUG\0" \ + "LD_DEBUG_OUTPUT\0" \ + "LD_DYNAMIC_WEAK\0" \ ++ "LD_HWCAP_MASK\0" \ + "LD_LIBRARY_PATH\0" \ + "LD_ORIGIN_PATH\0" \ + "LD_PRELOAD\0" \ +-- +2.9.3 + + diff --git a/patches/source/glibc/glibc.46703a39.diff b/patches/source/glibc/glibc.46703a39.diff new file mode 100644 index 000000000..c21200bea --- /dev/null +++ b/patches/source/glibc/glibc.46703a39.diff @@ -0,0 +1,119 @@ +From 46703a3995aa3ca2b816814aa4ad05ed524194dd Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Mon, 19 Jun 2017 22:31:04 +0200 +Subject: [PATCH] ld.so: Reject overly long LD_PRELOAD path elements + +(cherry picked from commit 6d0ba622891bed9d8394eef1935add53003b12e8) + +diff --git a/elf/rtld.c b/elf/rtld.c +index 2fc33a6..4badcf6 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -99,6 +99,35 @@ uintptr_t __pointer_chk_guard_local + strong_alias (__pointer_chk_guard_local, __pointer_chk_guard) + #endif + ++/* Length limits for names and paths, to protect the dynamic linker, ++ particularly when __libc_enable_secure is active. */ ++#ifdef NAME_MAX ++# define SECURE_NAME_LIMIT NAME_MAX ++#else ++# define SECURE_NAME_LIMIT 255 ++#endif ++#ifdef PATH_MAX ++# define SECURE_PATH_LIMIT PATH_MAX ++#else ++# define SECURE_PATH_LIMIT 1024 ++#endif ++ ++/* Check that AT_SECURE=0, or that the passed name does not contain ++ directories and is not overly long. Reject empty names ++ unconditionally. */ ++static bool ++dso_name_valid_for_suid (const char *p) ++{ ++ if (__glibc_unlikely (__libc_enable_secure)) ++ { ++ /* Ignore pathnames with directories for AT_SECURE=1 ++ programs, and also skip overlong names. */ ++ size_t len = strlen (p); ++ if (len >= SECURE_NAME_LIMIT || memchr (p, '/', len) != NULL) ++ return false; ++ } ++ return *p != '\0'; ++} + + /* List of auditing DSOs. */ + static struct audit_list +@@ -716,6 +745,42 @@ static const char *preloadlist attribute_relro; + /* Nonzero if information about versions has to be printed. */ + static int version_info attribute_relro; + ++/* The LD_PRELOAD environment variable gives list of libraries ++ separated by white space or colons that are loaded before the ++ executable's dependencies and prepended to the global scope list. ++ (If the binary is running setuid all elements containing a '/' are ++ ignored since it is insecure.) Return the number of preloads ++ performed. */ ++unsigned int ++handle_ld_preload (const char *preloadlist, struct link_map *main_map) ++{ ++ unsigned int npreloads = 0; ++ const char *p = preloadlist; ++ char fname[SECURE_PATH_LIMIT]; ++ ++ while (*p != '\0') ++ { ++ /* Split preload list at space/colon. */ ++ size_t len = strcspn (p, " :"); ++ if (len > 0 && len < sizeof (fname)) ++ { ++ memcpy (fname, p, len); ++ fname[len] = '\0'; ++ } ++ else ++ fname[0] = '\0'; ++ ++ /* Skip over the substring and the following delimiter. */ ++ p += len; ++ if (*p != '\0') ++ ++p; ++ ++ if (dso_name_valid_for_suid (fname)) ++ npreloads += do_preload (fname, main_map, "LD_PRELOAD"); ++ } ++ return npreloads; ++} ++ + static void + dl_main (const ElfW(Phdr) *phdr, + ElfW(Word) phnum, +@@ -1462,23 +1527,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + + if (__glibc_unlikely (preloadlist != NULL)) + { +- /* The LD_PRELOAD environment variable gives list of libraries +- separated by white space or colons that are loaded before the +- executable's dependencies and prepended to the global scope +- list. If the binary is running setuid all elements +- containing a '/' are ignored since it is insecure. */ +- char *list = strdupa (preloadlist); +- char *p; +- + HP_TIMING_NOW (start); +- +- /* Prevent optimizing strsep. Speed is not important here. */ +- while ((p = (strsep) (&list, " :")) != NULL) +- if (p[0] != '\0' +- && (__builtin_expect (! __libc_enable_secure, 1) +- || strchr (p, '/') == NULL)) +- npreloads += do_preload (p, main_map, "LD_PRELOAD"); +- ++ npreloads += handle_ld_preload (preloadlist, main_map); + HP_TIMING_NOW (stop); + HP_TIMING_DIFF (diff, start, stop); + HP_TIMING_ACCUM_NT (load_time, diff); +-- +2.9.3 + + diff --git a/patches/source/glibc/glibc.6a824767.dont.assert.on.older.intel.cpus.diff b/patches/source/glibc/glibc.6a824767.dont.assert.on.older.intel.cpus.diff new file mode 100644 index 000000000..a3d1b147f --- /dev/null +++ b/patches/source/glibc/glibc.6a824767.dont.assert.on.older.intel.cpus.diff @@ -0,0 +1,32 @@ +From 6a824767d8948faf10d8d3a602eb4f2a59431601 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Wed, 12 Oct 2016 08:22:52 -0700 +Subject: [PATCH] X86: Don't assert on older Intel CPUs [BZ #20647] + +Since the maximum CPUID level of older Intel CPUs is 1, change +handle_intel to return -1, instead of assert, when the maximum +CPUID level is less than 2. + + [BZ #20647] + * sysdeps/x86_64/cacheinfo.c (handle_intel): Return -1 if the + maximum CPUID level is less than 2. + +diff --git a/sysdeps/x86_64/cacheinfo.c b/sysdeps/x86_64/cacheinfo.c +index cf4f64b..35268e8 100644 +--- a/sysdeps/x86_64/cacheinfo.c ++++ b/sysdeps/x86_64/cacheinfo.c +@@ -259,7 +259,9 @@ intel_check_word (int name, unsigned int value, bool *has_level_2, + static long int __attribute__ ((noinline)) + handle_intel (int name, unsigned int maxidx) + { +- assert (maxidx >= 2); ++ /* Return -1 for older CPUs. */ ++ if (maxidx < 2) ++ return -1; + + /* OK, we can use the CPUID instruction to get all info about the + caches. */ +-- +2.9.3 + + diff --git a/patches/source/glibc/glibc.CVE-2017-1000366.3c7cd212.diff b/patches/source/glibc/glibc.CVE-2017-1000366.3c7cd212.diff new file mode 100644 index 000000000..ee2870bc8 --- /dev/null +++ b/patches/source/glibc/glibc.CVE-2017-1000366.3c7cd212.diff @@ -0,0 +1,32 @@ +From 3c7cd21290cabdadd72984fb69bc51e64ff1002d Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Mon, 19 Jun 2017 18:31:27 +0200 +Subject: [PATCH] CVE-2017-1000366: Ignore LD_LIBRARY_PATH for AT_SECURE=1 + programs [BZ #21624] + +LD_LIBRARY_PATH can only be used to reorder system search paths, which +is not useful functionality. + +This makes an exploitable unbounded alloca in _dl_init_paths unreachable +for AT_SECURE=1 programs. + +(cherry picked from commit f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d) + +diff --git a/elf/rtld.c b/elf/rtld.c +index a036ece..2fc33a6 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2418,7 +2418,8 @@ process_envvars (enum mode *modep) + + case 12: + /* The library search path. */ +- if (memcmp (envline, "LIBRARY_PATH", 12) == 0) ++ if (!__libc_enable_secure ++ && memcmp (envline, "LIBRARY_PATH", 12) == 0) + { + library_path = &envline[13]; + break; +-- +2.9.3 + + diff --git a/patches/source/glibc/glibc.SlackBuild b/patches/source/glibc/glibc.SlackBuild new file mode 100755 index 000000000..a1dd9a90e --- /dev/null +++ b/patches/source/glibc/glibc.SlackBuild @@ -0,0 +1,440 @@ +#!/bin/sh + +# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 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. + +## build glibc-$VERSION for Slackware + +VERSION=${VERSION:-$(echo glibc-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +CHECKOUT=${CHECKOUT:-""} +BUILD=${BUILD:-4_slack14.2} + +# I was considering disabling NSCD, but MoZes talked me out of it. :) +#DISABLE_NSCD=" --disable-nscd " + +# $ARCH may be preset, otherwise i586 compatibility with i686 binary +# structuring is the Slackware default. +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# 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 -mtune=i686" + 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} + ;; + i586) + # This should be i586 for all 32-bit x86 arch: + TARGET=${TARGET:-i586} + ;; +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:-" -j7 "} + +# 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() { + # 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 + # Support ru_RU.CP1251 locale: + zcat $CWD/glibc.ru_RU.CP1251.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 -l --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 + # Add a C.UTF-8 locale: + zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1 + # Upstream git patches for security hardening (CVE-2017-1000366): + zcat $CWD/glibc.3776f38f.diff.gz | patch -p1 --verbose || exit 1 + zcat $CWD/glibc.46703a39.diff.gz | patch -p1 --verbose || exit 1 + zcat $CWD/glibc.CVE-2017-1000366.3c7cd212.diff.gz | patch -p1 --verbose || exit 1 + zcat $CWD/glibc.adc7e06f.diff.gz | patch -p1 --verbose || exit 1 + zcat $CWD/glibc.c69d4a0f.diff.gz | patch -p1 --verbose || exit 1 + # Don't assert on older Intel CPUs. + # This fixes an ldconfig failure on Pentium MMX. + zcat $CWD/glibc.6a824767.dont.assert.on.older.intel.cpus.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 +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 + +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 \ + --enable-obsolete-rpc \ + --enable-profile \ + $DISABLE_NSCD \ + --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 + +# Remove the rquota.x and rquota.h include files, as they are provided by +# the quota package: +rm -f $PKG/usr/include/rpcsvc/rquota.{h,x} + +# 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 docs: +( mkdir -p $PKG/usr/doc/glibc-$VERSION + cp -a \ + BUGS CONFORMANCE COPYING* FAQ INSTALL LICENSES NAMESPACE \ + NEWS NOTES PROJECTS README* \ + $PKG/usr/doc/glibc-$VERSION +) + +# Trim the NEWS file to omit ancient history: +if [ -r NEWS ]; then + DOCSDIR=$(echo $PKG/usr/doc/glibc-$VERSION) + cat NEWS | head -n 1000 > $DOCSDIR/NEWS + touch -r NEWS $DOCSDIR/NEWS +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-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 +# Don't package this. +#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}/locale +mv $PKG/usr/lib${LIBDIRSUFFIX}/locale/* usr/lib${LIBDIRSUFFIX}/locale +mkdir -p usr/share/{i18n,locale} +mv $PKG/usr/share/i18n/* usr/share/i18n +mv $PKG/usr/share/locale/* usr/share/locale +# Leave copies of the C, POSIX, and en_US locales in the main glibc package: +cp -a usr/lib${LIBDIRSUFFIX}/locale/{C,en_US}* $PKG/usr/lib${LIBDIRSUFFIX}/locale +mkdir -p $PKG/usr/share/i18n/locales +cp -a usr/share/i18n/locales/{C,POSIX,en_US} $PKG/usr/share/i18n/locales +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 +sed -i "s/@@VERSION@@/$VERSION/g" install/doinst.sh +# Ditch links: +find . -type l -exec rm {} \; +# libm.so is *not* a linker script on all $ARCH. +# If it's missing now, replace the symlink: +if [ ! -r usr/lib${LIBDIRSUFFIX}/libm.so ]; then + ( cd usr/lib${LIBDIRSUFFIX} ; ln -sf ../../lib${LIBDIRSUFFIX}/libm.so.6 libm.so ) +fi +# 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 +sed -i "s/@@VERSION@@/$VERSION/g" install/doinst.sh +( 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.adc7e06f.diff b/patches/source/glibc/glibc.adc7e06f.diff new file mode 100644 index 000000000..ca5eac556 --- /dev/null +++ b/patches/source/glibc/glibc.adc7e06f.diff @@ -0,0 +1,38 @@ +From adc7e06fb412a2a1ee52f8cb788caf436335b9f3 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Wed, 14 Jun 2017 08:11:22 +0200 +Subject: [PATCH] i686: Add missing IS_IN (libc) guards to vectorized strcspn + +Since commit d957c4d3fa48d685ff2726c605c988127ef99395 (i386: Compile +rtld-*.os with -mno-sse -mno-mmx -mfpmath=387), vector intrinsics can +no longer be used in ld.so, even if the compiled code never makes it +into the final ld.so link. This commit adds the missing IS_IN (libc) +guard to the SSE 4.2 strcspn implementation, so that it can be used from +ld.so in the future. + +(cherry picked from commit 69052a3a95da37169a08f9e59b2cc1808312753c) + +diff --git a/sysdeps/i386/i686/multiarch/strcspn-c.c b/sysdeps/i386/i686/multiarch/strcspn-c.c +index 6d61e19..ec230fb 100644 +--- a/sysdeps/i386/i686/multiarch/strcspn-c.c ++++ b/sysdeps/i386/i686/multiarch/strcspn-c.c +@@ -1,2 +1,4 @@ +-#define __strcspn_sse2 __strcspn_ia32 +-#include ++#if IS_IN (libc) ++# define __strcspn_sse2 __strcspn_ia32 ++# include ++#endif +diff --git a/sysdeps/i386/i686/multiarch/varshift.c b/sysdeps/i386/i686/multiarch/varshift.c +index 7760b96..6742a35 100644 +--- a/sysdeps/i386/i686/multiarch/varshift.c ++++ b/sysdeps/i386/i686/multiarch/varshift.c +@@ -1 +1,3 @@ +-#include ++#if IS_IN (libc) ++# include ++#endif +-- +2.9.3 + + diff --git a/patches/source/glibc/glibc.c69d4a0f.diff b/patches/source/glibc/glibc.c69d4a0f.diff new file mode 100644 index 000000000..f44880003 --- /dev/null +++ b/patches/source/glibc/glibc.c69d4a0f.diff @@ -0,0 +1,201 @@ +From c69d4a0f680a24fdbe323764a50382ad324041e9 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Mon, 19 Jun 2017 22:32:12 +0200 +Subject: [PATCH] ld.so: Reject overly long LD_AUDIT path elements + +Also only process the last LD_AUDIT entry. + +(cherry picked from commit 81b82fb966ffbd94353f793ad17116c6088dedd9) + +diff --git a/elf/rtld.c b/elf/rtld.c +index 4badcf6..369724b 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -129,13 +129,91 @@ dso_name_valid_for_suid (const char *p) + return *p != '\0'; + } + +-/* List of auditing DSOs. */ ++/* LD_AUDIT variable contents. Must be processed before the ++ audit_list below. */ ++const char *audit_list_string; ++ ++/* Cyclic list of auditing DSOs. audit_list->next is the first ++ element. */ + static struct audit_list + { + const char *name; + struct audit_list *next; + } *audit_list; + ++/* Iterator for audit_list_string followed by audit_list. */ ++struct audit_list_iter ++{ ++ /* Tail of audit_list_string still needing processing, or NULL. */ ++ const char *audit_list_tail; ++ ++ /* The list element returned in the previous iteration. NULL before ++ the first element. */ ++ struct audit_list *previous; ++ ++ /* Scratch buffer for returning a name which is part of ++ audit_list_string. */ ++ char fname[SECURE_NAME_LIMIT]; ++}; ++ ++/* Initialize an audit list iterator. */ ++static void ++audit_list_iter_init (struct audit_list_iter *iter) ++{ ++ iter->audit_list_tail = audit_list_string; ++ iter->previous = NULL; ++} ++ ++/* Iterate through both audit_list_string and audit_list. */ ++static const char * ++audit_list_iter_next (struct audit_list_iter *iter) ++{ ++ if (iter->audit_list_tail != NULL) ++ { ++ /* First iterate over audit_list_string. */ ++ while (*iter->audit_list_tail != '\0') ++ { ++ /* Split audit list at colon. */ ++ size_t len = strcspn (iter->audit_list_tail, ":"); ++ if (len > 0 && len < sizeof (iter->fname)) ++ { ++ memcpy (iter->fname, iter->audit_list_tail, len); ++ iter->fname[len] = '\0'; ++ } ++ else ++ /* Do not return this name to the caller. */ ++ iter->fname[0] = '\0'; ++ ++ /* Skip over the substring and the following delimiter. */ ++ iter->audit_list_tail += len; ++ if (*iter->audit_list_tail == ':') ++ ++iter->audit_list_tail; ++ ++ /* If the name is valid, return it. */ ++ if (dso_name_valid_for_suid (iter->fname)) ++ return iter->fname; ++ /* Otherwise, wrap around and try the next name. */ ++ } ++ /* Fall through to the procesing of audit_list. */ ++ } ++ ++ if (iter->previous == NULL) ++ { ++ if (audit_list == NULL) ++ /* No pre-parsed audit list. */ ++ return NULL; ++ /* Start of audit list. The first list element is at ++ audit_list->next (cyclic list). */ ++ iter->previous = audit_list->next; ++ return iter->previous->name; ++ } ++ if (iter->previous == audit_list) ++ /* Cyclic list wrap-around. */ ++ return NULL; ++ iter->previous = iter->previous->next; ++ return iter->previous->name; ++} ++ + #ifndef HAVE_INLINED_SYSCALLS + /* Set nonzero during loading and initialization of executable and + libraries, cleared before the executable's entry point runs. This +@@ -1303,11 +1381,13 @@ of this helper program; chances are you did not intend to run this program.\n\ + GL(dl_rtld_map).l_tls_modid = _dl_next_tls_modid (); + + /* If we have auditing DSOs to load, do it now. */ +- if (__glibc_unlikely (audit_list != NULL)) ++ bool need_security_init = true; ++ if (__glibc_unlikely (audit_list != NULL) ++ || __glibc_unlikely (audit_list_string != NULL)) + { +- /* Iterate over all entries in the list. The order is important. */ + struct audit_ifaces *last_audit = NULL; +- struct audit_list *al = audit_list->next; ++ struct audit_list_iter al_iter; ++ audit_list_iter_init (&al_iter); + + /* Since we start using the auditing DSOs right away we need to + initialize the data structures now. */ +@@ -1318,9 +1398,14 @@ of this helper program; chances are you did not intend to run this program.\n\ + use different values (especially the pointer guard) and will + fail later on. */ + security_init (); ++ need_security_init = false; + +- do ++ while (true) + { ++ const char *name = audit_list_iter_next (&al_iter); ++ if (name == NULL) ++ break; ++ + int tls_idx = GL(dl_tls_max_dtv_idx); + + /* Now it is time to determine the layout of the static TLS +@@ -1329,7 +1414,7 @@ of this helper program; chances are you did not intend to run this program.\n\ + no DF_STATIC_TLS bit is set. The reason is that we know + glibc will use the static model. */ + struct dlmopen_args dlmargs; +- dlmargs.fname = al->name; ++ dlmargs.fname = name; + dlmargs.map = NULL; + + const char *objname; +@@ -1342,7 +1427,7 @@ of this helper program; chances are you did not intend to run this program.\n\ + not_loaded: + _dl_error_printf ("\ + ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", +- al->name, err_str); ++ name, err_str); + if (malloced) + free ((char *) err_str); + } +@@ -1446,10 +1531,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + goto not_loaded; + } + } +- +- al = al->next; + } +- while (al != audit_list->next); + + /* If we have any auditing modules, announce that we already + have two objects loaded. */ +@@ -1713,7 +1795,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + if (tcbp == NULL) + tcbp = init_tls (); + +- if (__glibc_likely (audit_list == NULL)) ++ if (__glibc_likely (need_security_init)) + /* Initialize security features. But only if we have not done it + earlier. */ + security_init (); +@@ -2344,9 +2426,7 @@ process_dl_audit (char *str) + char *p; + + while ((p = (strsep) (&str, ":")) != NULL) +- if (p[0] != '\0' +- && (__builtin_expect (! __libc_enable_secure, 1) +- || strchr (p, '/') == NULL)) ++ if (dso_name_valid_for_suid (p)) + { + /* This is using the local malloc, not the system malloc. The + memory can never be freed. */ +@@ -2410,7 +2490,7 @@ process_envvars (enum mode *modep) + break; + } + if (memcmp (envline, "AUDIT", 5) == 0) +- process_dl_audit (&envline[6]); ++ audit_list_string = &envline[6]; + break; + + case 7: +-- +2.9.3 + + 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 + + * 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 +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.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 +- ++#include + #include + + /* 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/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 @@ + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; ++<"=> IGNORE;IGNORE;IGNORE;<"=> + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; +@@ -955,6 +956,8 @@ + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; + UNDEFINED IGNORE;IGNORE;IGNORE + + ;;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 +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 " diff --git a/patches/source/glibc/slack-desc.glibc-i18n b/patches/source/glibc/slack-desc.glibc-i18n new file mode 100644 index 000000000..1a678d98a --- /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, /usr/share/i18n/, and +glibc-i18n: /usr/share/locale/ to provide internationalization support. +glibc-i18n: You'll need this package unless you will be using US English only. +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: diff --git a/patches/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/gnupg/gnupg.SlackBuild b/patches/source/gnupg/gnupg.SlackBuild new file mode 100755 index 000000000..b031808f4 --- /dev/null +++ b/patches/source/gnupg/gnupg.SlackBuild @@ -0,0 +1,115 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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. + +PKGNAM=gnupg +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gnupg + +if [ "$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 + +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/gnutls/gnutls.SlackBuild b/patches/source/gnutls/gnutls.SlackBuild new file mode 100755 index 000000000..a74330a64 --- /dev/null +++ b/patches/source/gnutls/gnutls.SlackBuild @@ -0,0 +1,141 @@ +#!/bin/sh + +# Copyright 2007, 2008, 2009, 2010, 2016, 2017 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.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP + +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +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 \ + --enable-openssl-compatibility \ + --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 LICENSE NEWS README* THANKS \ + doc/COPYING* \ + $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/gtk+2/doinst.sh b/patches/source/gtk+2/doinst.sh new file mode 100644 index 000000000..ee74ab9c4 --- /dev/null +++ b/patches/source/gtk+2/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... +} + +config etc/gtk-2.0/im-multipress.conf.new + +chroot . rm -f /usr/share/icons/*/icon-theme.cache 1> /dev/null 2> /dev/null + +# Run this if we are on an installed system. Otherwise it will be +# handled on first boot. +if [ -x /usr/bin/update-gtk-immodules-2.0 ]; then + /usr/bin/update-gtk-immodules +fi + +# In case this is the first run installing the standalone gdk-pixbuf, +# we will run this a second time to fix machines that will not reboot. +chroot . /usr/bin/update-gdk-pixbuf-loaders 1> /dev/null 2> /dev/null + diff --git a/patches/source/gtk+2/fix_build_issues_on_tutorial_and_faq.diff b/patches/source/gtk+2/fix_build_issues_on_tutorial_and_faq.diff new file mode 100644 index 000000000..6c3523518 --- /dev/null +++ b/patches/source/gtk+2/fix_build_issues_on_tutorial_and_faq.diff @@ -0,0 +1,26 @@ +diff -Nur gtk+-2.24.27.orig/docs/faq/Makefile.in gtk+-2.24.27/docs/faq/Makefile.in +--- gtk+-2.24.27.orig/docs/faq/Makefile.in 2015-03-03 10:41:21.000000000 -0600 ++++ gtk+-2.24.27/docs/faq/Makefile.in 2015-03-05 20:21:08.037167566 -0600 +@@ -644,7 +644,8 @@ + @HAVE_DOCBOOK_TRUE@ (cd $(srcdir); \ + @HAVE_DOCBOOK_TRUE@ db2html gtk-faq.sgml; \ + @HAVE_DOCBOOK_TRUE@ test -d html && rm -r html; \ +-@HAVE_DOCBOOK_TRUE@ mv gtk-faq html); \ ++@HAVE_DOCBOOK_TRUE@ mkdir html; \ ++@HAVE_DOCBOOK_TRUE@ mv *.html html); \ + @HAVE_DOCBOOK_TRUE@ fi + + @HAVE_DOCBOOK_TRUE@pdf: +diff -Nur gtk+-2.24.27.orig/docs/tutorial/Makefile.in gtk+-2.24.27/docs/tutorial/Makefile.in +--- gtk+-2.24.27.orig/docs/tutorial/Makefile.in 2015-03-03 10:41:21.000000000 -0600 ++++ gtk+-2.24.27/docs/tutorial/Makefile.in 2015-03-05 20:19:52.973017063 -0600 +@@ -657,7 +657,8 @@ + @HAVE_DOCBOOK_TRUE@ (cd $(srcdir); \ + @HAVE_DOCBOOK_TRUE@ db2html gtk-tut.sgml; \ + @HAVE_DOCBOOK_TRUE@ test -d html && rm -r html; \ +-@HAVE_DOCBOOK_TRUE@ mv gtk-tut html; \ ++@HAVE_DOCBOOK_TRUE@ mkdir html; \ ++@HAVE_DOCBOOK_TRUE@ mv *.html html; \ + @HAVE_DOCBOOK_TRUE@ mkdir html/images; \ + @HAVE_DOCBOOK_TRUE@ cp images/*.png html/images); \ + @HAVE_DOCBOOK_TRUE@ fi diff --git a/patches/source/gtk+2/gtk+-2.24.x.icon-compat.am.diff b/patches/source/gtk+2/gtk+-2.24.x.icon-compat.am.diff new file mode 100644 index 000000000..3fc35dcab --- /dev/null +++ b/patches/source/gtk+2/gtk+-2.24.x.icon-compat.am.diff @@ -0,0 +1,264 @@ +--- gtk+-2.24.14.orig/gtk/Makefile.am 2012-08-24 18:38:09.000000000 -0500 ++++ gtk+-2.24.14/gtk/Makefile.am 2012-12-12 19:03:36.039889640 -0600 +@@ -1339,7 +1339,171 @@ + stock-icons/24/document-save.png \ + stock-icons/24/folder-remote.png \ + stock-icons/24/user-home.png \ +- stock-icons/24/user-desktop.png ++ stock-icons/24/user-desktop.png \ ++ stock-icons/16/gtk-quit.png \ ++ stock-icons/16/gtk-info.png \ ++ stock-icons/16/gtk-file.png \ ++ stock-icons/16/gtk-open.png \ ++ stock-icons/16/gtk-print-preview.png \ ++ stock-icons/16/gtk-print.png \ ++ stock-icons/16/gtk-properties.png \ ++ stock-icons/16/gtk-revert-to-saved-ltr.png \ ++ stock-icons/16/gtk-revert-to-saved-rtl.png \ ++ stock-icons/16/gtk-save-as.png \ ++ stock-icons/16/gtk-new.png \ ++ stock-icons/16/gtk-harddisk.png \ ++ stock-icons/16/gtk-clear.png \ ++ stock-icons/16/gtk-copy.png \ ++ stock-icons/16/gtk-cut.png \ ++ stock-icons/16/gtk-delete.png \ ++ stock-icons/16/gtk-find-and-replace.png \ ++ stock-icons/16/gtk-find.png \ ++ stock-icons/16/gtk-paste.png \ ++ stock-icons/16/gtk-redo-ltr.png \ ++ stock-icons/16/gtk-redo-rtl.png \ ++ stock-icons/16/gtk-select-all.png \ ++ stock-icons/16/gtk-undo-ltr.png \ ++ stock-icons/16/gtk-undo-rtl.png \ ++ stock-icons/16/gtk-directory.png \ ++ stock-icons/16/gtk-unindent-ltr.png \ ++ stock-icons/16/gtk-unindent-rtl.png \ ++ stock-icons/16/gtk-indent-ltr.png \ ++ stock-icons/16/gtk-indent-rtl.png \ ++ stock-icons/16/gtk-justify-center.png \ ++ stock-icons/16/gtk-justify-fill.png \ ++ stock-icons/16/gtk-justify-left.png \ ++ stock-icons/16/gtk-justify-right.png \ ++ stock-icons/16/gtk-bold.png \ ++ stock-icons/16/gtk-italic.png \ ++ stock-icons/16/gtk-strikethrough.png \ ++ stock-icons/16/gtk-underline.png \ ++ stock-icons/16/gtk-goto-bottom.png \ ++ stock-icons/16/gtk-go-down.png \ ++ stock-icons/16/gtk-goto-first-ltr.png \ ++ stock-icons/16/gtk-home.png \ ++ stock-icons/16/gtk-jump-to-ltr.png \ ++ stock-icons/16/gtk-jump-to-rtl.png \ ++ stock-icons/16/gtk-goto-last-ltr.png \ ++ stock-icons/16/gtk-go-forward-ltr.png \ ++ stock-icons/16/gtk-go-back-ltr.png \ ++ stock-icons/16/gtk-goto-top.png \ ++ stock-icons/16/gtk-go-up.png \ ++ stock-icons/16/gtk-about.png \ ++ stock-icons/16/gtk-help.png \ ++ stock-icons/16/gtk-missing-image.png \ ++ stock-icons/16/gtk-add.png \ ++ stock-icons/16/gtk-remove.png \ ++ stock-icons/16/gtk-floppy.png \ ++ stock-icons/16/gtk-cdrom.png \ ++ stock-icons/16/gtk-media-pause.png \ ++ stock-icons/16/gtk-media-play-ltr.png \ ++ stock-icons/16/gtk-media-play-rtl.png \ ++ stock-icons/16/gtk-media-stop.png \ ++ stock-icons/16/gtk-media-record.png \ ++ stock-icons/16/gtk-media-rewind-ltr.png \ ++ stock-icons/16/gtk-media-forward-ltr.png \ ++ stock-icons/16/gtk-media-previous-ltr.png \ ++ stock-icons/16/gtk-media-next-ltr.png \ ++ stock-icons/16/gtk-network.png \ ++ stock-icons/16/gtk-print-error.png \ ++ stock-icons/16/gtk-print-report.png \ ++ stock-icons/16/gtk-print-paused.png \ ++ stock-icons/16/gtk-print-warning.png \ ++ stock-icons/16/gtk-stop.png \ ++ stock-icons/16/gtk-execute.png \ ++ stock-icons/16/gtk-spell-check.png \ ++ stock-icons/16/gtk-fullscreen.png \ ++ stock-icons/16/gtk-refresh.png \ ++ stock-icons/16/gtk-leave-fullscreen.png \ ++ stock-icons/16/gtk-sort-ascending.png \ ++ stock-icons/16/gtk-sort-descending.png \ ++ stock-icons/16/gtk-close.png \ ++ stock-icons/16/gtk-zoom-fit.png \ ++ stock-icons/16/gtk-zoom-in.png \ ++ stock-icons/16/gtk-zoom-100.png \ ++ stock-icons/16/gtk-zoom-out.png \ ++ stock-icons/24/gtk-quit.png \ ++ stock-icons/24/gtk-info.png \ ++ stock-icons/24/gtk-file.png \ ++ stock-icons/24/gtk-open.png \ ++ stock-icons/24/gtk-print-preview.png \ ++ stock-icons/24/gtk-print.png \ ++ stock-icons/24/gtk-properties.png \ ++ stock-icons/24/gtk-revert-to-saved-ltr.png \ ++ stock-icons/24/gtk-revert-to-saved-rtl.png \ ++ stock-icons/24/gtk-save-as.png \ ++ stock-icons/24/gtk-new.png \ ++ stock-icons/24/gtk-harddisk.png \ ++ stock-icons/24/gtk-clear.png \ ++ stock-icons/24/gtk-copy.png \ ++ stock-icons/24/gtk-cut.png \ ++ stock-icons/24/gtk-delete.png \ ++ stock-icons/24/gtk-find-and-replace.png \ ++ stock-icons/24/gtk-find.png \ ++ stock-icons/24/gtk-paste.png \ ++ stock-icons/24/gtk-redo-ltr.png \ ++ stock-icons/24/gtk-redo-rtl.png \ ++ stock-icons/24/gtk-select-all.png \ ++ stock-icons/24/gtk-undo-ltr.png \ ++ stock-icons/24/gtk-undo-rtl.png \ ++ stock-icons/24/gtk-directory.png \ ++ stock-icons/24/gtk-unindent-ltr.png \ ++ stock-icons/24/gtk-unindent-rtl.png \ ++ stock-icons/24/gtk-indent-ltr.png \ ++ stock-icons/24/gtk-indent-rtl.png \ ++ stock-icons/24/gtk-justify-center.png \ ++ stock-icons/24/gtk-justify-fill.png \ ++ stock-icons/24/gtk-justify-left.png \ ++ stock-icons/24/gtk-justify-right.png \ ++ stock-icons/24/gtk-bold.png \ ++ stock-icons/24/gtk-italic.png \ ++ stock-icons/24/gtk-strikethrough.png \ ++ stock-icons/24/gtk-underline.png \ ++ stock-icons/24/gtk-goto-bottom.png \ ++ stock-icons/24/gtk-go-down.png \ ++ stock-icons/24/gtk-goto-first-ltr.png \ ++ stock-icons/24/gtk-home.png \ ++ stock-icons/24/gtk-jump-to-ltr.png \ ++ stock-icons/24/gtk-jump-to-rtl.png \ ++ stock-icons/24/gtk-goto-last-ltr.png \ ++ stock-icons/24/gtk-go-forward-ltr.png \ ++ stock-icons/24/gtk-go-back-ltr.png \ ++ stock-icons/24/gtk-goto-top.png \ ++ stock-icons/24/gtk-go-up.png \ ++ stock-icons/24/gtk-about.png \ ++ stock-icons/24/gtk-help.png \ ++ stock-icons/24/gtk-missing-image.png \ ++ stock-icons/24/gtk-add.png \ ++ stock-icons/24/gtk-remove.png \ ++ stock-icons/24/gtk-floppy.png \ ++ stock-icons/24/gtk-cdrom.png \ ++ stock-icons/24/gtk-media-pause.png \ ++ stock-icons/24/gtk-media-play-ltr.png \ ++ stock-icons/24/gtk-media-play-rtl.png \ ++ stock-icons/24/gtk-media-stop.png \ ++ stock-icons/24/gtk-media-record.png \ ++ stock-icons/24/gtk-media-rewind-ltr.png \ ++ stock-icons/24/gtk-media-forward-ltr.png \ ++ stock-icons/24/gtk-media-previous-ltr.png \ ++ stock-icons/24/gtk-media-next-ltr.png \ ++ stock-icons/24/gtk-network.png \ ++ stock-icons/24/gtk-print-error.png \ ++ stock-icons/24/gtk-print-report.png \ ++ stock-icons/24/gtk-print-paused.png \ ++ stock-icons/24/gtk-print-warning.png \ ++ stock-icons/24/gtk-stop.png \ ++ stock-icons/24/gtk-execute.png \ ++ stock-icons/24/gtk-spell-check.png \ ++ stock-icons/24/gtk-fullscreen.png \ ++ stock-icons/24/gtk-refresh.png \ ++ stock-icons/24/gtk-leave-fullscreen.png \ ++ stock-icons/24/gtk-sort-ascending.png \ ++ stock-icons/24/gtk-sort-descending.png \ ++ stock-icons/24/gtk-close.png \ ++ stock-icons/24/gtk-zoom-fit.png \ ++ stock-icons/24/gtk-zoom-in.png \ ++ stock-icons/24/gtk-zoom-100.png \ ++ stock-icons/24/gtk-zoom-out.png + + # need to copy the icons so that we can replace the generated ones with + # symlinks, even in the readonly srcdir case +@@ -1379,6 +1543,88 @@ + && $(LN_S) folder.png user-desktop.png \ + && $(RM) user-home.png \ + && $(LN_S) folder.png user-home.png \ ++ && $(LN_S) application-exit.png gtk-quit.png \ ++ && $(LN_S) dialog-info.png gtk-info.png \ ++ && $(LN_S) document-new.png gtk-file.png \ ++ && $(LN_S) document-open.png gtk-open.png \ ++ && $(LN_S) document-print-preview.png gtk-print-preview.png \ ++ && $(LN_S) document-print.png gtk-print.png \ ++ && $(LN_S) document-properties.png gtk-properties.png \ ++ && $(LN_S) document-revert-ltr.png gtk-revert-to-saved-ltr.png \ ++ && $(LN_S) document-revert-rtl.png gtk-revert-to-saved-rtl.png \ ++ && $(LN_S) document-save-as.png gtk-save-as.png \ ++ && $(LN_S) document-x-generic.png gtk-new.png \ ++ && $(LN_S) drive-harddisk.png gtk-harddisk.png \ ++ && $(LN_S) edit-clear.png gtk-clear.png \ ++ && $(LN_S) edit-copy.png gtk-copy.png \ ++ && $(LN_S) edit-cut.png gtk-cut.png \ ++ && $(LN_S) edit-delete.png gtk-delete.png \ ++ && $(LN_S) edit-find-replace.png gtk-find-and-replace.png \ ++ && $(LN_S) edit-find.png gtk-find.png \ ++ && $(LN_S) edit-paste.png gtk-paste.png \ ++ && $(LN_S) edit-redo-ltr.png gtk-redo-ltr.png \ ++ && $(LN_S) edit-redo-rtl.png gtk-redo-rtl.png \ ++ && $(LN_S) edit-select-all.png gtk-select-all.png \ ++ && $(LN_S) edit-undo-ltr.png gtk-undo-ltr.png \ ++ && $(LN_S) edit-undo-rtl.png gtk-undo-rtl.png \ ++ && $(LN_S) folder.png gtk-directory.png \ ++ && $(LN_S) format-indent-less-ltr.png gtk-unindent-ltr.png \ ++ && $(LN_S) format-indent-less-rtl.png gtk-unindent-rtl.png \ ++ && $(LN_S) format-indent-more-ltr.png gtk-indent-ltr.png \ ++ && $(LN_S) format-indent-more-rtl.png gtk-indent-rtl.png \ ++ && $(LN_S) format-justify-center.png gtk-justify-center.png \ ++ && $(LN_S) format-justify-fill.png gtk-justify-fill.png \ ++ && $(LN_S) format-justify-left.png gtk-justify-left.png \ ++ && $(LN_S) format-justify-right.png gtk-justify-right.png \ ++ && $(LN_S) format-text-bold.png gtk-bold.png \ ++ && $(LN_S) format-text-italic.png gtk-italic.png \ ++ && $(LN_S) format-text-strikethrough.png gtk-strikethrough.png \ ++ && $(LN_S) format-text-underline.png gtk-underline.png \ ++ && $(LN_S) go-bottom.png gtk-goto-bottom.png \ ++ && $(LN_S) go-down.png gtk-go-down.png \ ++ && $(LN_S) go-first-ltr.png gtk-goto-first-ltr.png \ ++ && $(LN_S) go-home.png gtk-home.png \ ++ && $(LN_S) go-jump-ltr.png gtk-jump-to-ltr.png \ ++ && $(LN_S) go-jump-rtl.png gtk-jump-to-rtl.png \ ++ && $(LN_S) go-last-ltr.png gtk-goto-last-ltr.png \ ++ && $(LN_S) go-next-ltr.png gtk-go-forward-ltr.png \ ++ && $(LN_S) go-previous-ltr.png gtk-go-back-ltr.png \ ++ && $(LN_S) go-top.png gtk-goto-top.png \ ++ && $(LN_S) go-up.png gtk-go-up.png \ ++ && $(LN_S) help-about.png gtk-about.png \ ++ && $(LN_S) help-contents.png gtk-help.png \ ++ && $(LN_S) image-missing.png gtk-missing-image.png \ ++ && $(LN_S) list-add.png gtk-add.png \ ++ && $(LN_S) list-remove.png gtk-remove.png \ ++ && $(LN_S) media-floppy.png gtk-floppy.png \ ++ && $(LN_S) media-optical.png gtk-cdrom.png \ ++ && $(LN_S) media-playback-pause.png gtk-media-pause.png \ ++ && $(LN_S) media-playback-start-ltr.png gtk-media-play-ltr.png \ ++ && $(LN_S) media-playback-start-rtl.png gtk-media-play-rtl.png \ ++ && $(LN_S) media-playback-stop.png gtk-media-stop.png \ ++ && $(LN_S) media-record.png gtk-media-record.png \ ++ && $(LN_S) media-seek-backward-ltr.png gtk-media-rewind-ltr.png \ ++ && $(LN_S) media-seek-forward-ltr.png gtk-media-forward-ltr.png \ ++ && $(LN_S) media-skip-backward-ltr.png gtk-media-previous-ltr.png \ ++ && $(LN_S) media-skip-forward-ltr.png gtk-media-next-ltr.png \ ++ && $(LN_S) network-idle.png gtk-network.png \ ++ && $(LN_S) printer-error.png gtk-print-error.png \ ++ && $(LN_S) printer-info.png gtk-print-report.png \ ++ && $(LN_S) printer-paused.png gtk-print-paused.png \ ++ && $(LN_S) printer-warning.png gtk-print-warning.png \ ++ && $(LN_S) process-stop.png gtk-stop.png \ ++ && $(LN_S) system-run.png gtk-execute.png \ ++ && $(LN_S) tools-check-spelling.png gtk-spell-check.png \ ++ && $(LN_S) view-fullscreen.png gtk-fullscreen.png \ ++ && $(LN_S) view-refresh.png gtk-refresh.png \ ++ && $(LN_S) view-restore.png gtk-leave-fullscreen.png \ ++ && $(LN_S) view-sort-ascending.png gtk-sort-ascending.png \ ++ && $(LN_S) view-sort-descending.png gtk-sort-descending.png \ ++ && $(LN_S) window-close.png gtk-close.png \ ++ && $(LN_S) zoom-fit-best.png gtk-zoom-fit.png \ ++ && $(LN_S) zoom-in.png gtk-zoom-in.png \ ++ && $(LN_S) zoom-original.png gtk-zoom-100.png \ ++ && $(LN_S) zoom-out.png gtk-zoom-out.png \ + ) done \ + && touch stamp-icons + diff --git a/patches/source/gtk+2/gtk+-2.24.x.icon-compat.diff b/patches/source/gtk+2/gtk+-2.24.x.icon-compat.diff new file mode 100644 index 000000000..ff9a444b4 --- /dev/null +++ b/patches/source/gtk+2/gtk+-2.24.x.icon-compat.diff @@ -0,0 +1,264 @@ +--- gtk+-2.24.14.orig/gtk/Makefile.in 2012-12-05 21:46:20.000000000 -0600 ++++ gtk+-2.24.14/gtk/Makefile.in 2012-12-12 18:59:17.734970161 -0600 +@@ -1938,7 +1938,171 @@ + stock-icons/24/document-save.png \ + stock-icons/24/folder-remote.png \ + stock-icons/24/user-home.png \ +- stock-icons/24/user-desktop.png ++ stock-icons/24/user-desktop.png \ ++ stock-icons/16/gtk-quit.png \ ++ stock-icons/16/gtk-info.png \ ++ stock-icons/16/gtk-file.png \ ++ stock-icons/16/gtk-open.png \ ++ stock-icons/16/gtk-print-preview.png \ ++ stock-icons/16/gtk-print.png \ ++ stock-icons/16/gtk-properties.png \ ++ stock-icons/16/gtk-revert-to-saved-ltr.png \ ++ stock-icons/16/gtk-revert-to-saved-rtl.png \ ++ stock-icons/16/gtk-save-as.png \ ++ stock-icons/16/gtk-new.png \ ++ stock-icons/16/gtk-harddisk.png \ ++ stock-icons/16/gtk-clear.png \ ++ stock-icons/16/gtk-copy.png \ ++ stock-icons/16/gtk-cut.png \ ++ stock-icons/16/gtk-delete.png \ ++ stock-icons/16/gtk-find-and-replace.png \ ++ stock-icons/16/gtk-find.png \ ++ stock-icons/16/gtk-paste.png \ ++ stock-icons/16/gtk-redo-ltr.png \ ++ stock-icons/16/gtk-redo-rtl.png \ ++ stock-icons/16/gtk-select-all.png \ ++ stock-icons/16/gtk-undo-ltr.png \ ++ stock-icons/16/gtk-undo-rtl.png \ ++ stock-icons/16/gtk-directory.png \ ++ stock-icons/16/gtk-unindent-ltr.png \ ++ stock-icons/16/gtk-unindent-rtl.png \ ++ stock-icons/16/gtk-indent-ltr.png \ ++ stock-icons/16/gtk-indent-rtl.png \ ++ stock-icons/16/gtk-justify-center.png \ ++ stock-icons/16/gtk-justify-fill.png \ ++ stock-icons/16/gtk-justify-left.png \ ++ stock-icons/16/gtk-justify-right.png \ ++ stock-icons/16/gtk-bold.png \ ++ stock-icons/16/gtk-italic.png \ ++ stock-icons/16/gtk-strikethrough.png \ ++ stock-icons/16/gtk-underline.png \ ++ stock-icons/16/gtk-goto-bottom.png \ ++ stock-icons/16/gtk-go-down.png \ ++ stock-icons/16/gtk-goto-first-ltr.png \ ++ stock-icons/16/gtk-home.png \ ++ stock-icons/16/gtk-jump-to-ltr.png \ ++ stock-icons/16/gtk-jump-to-rtl.png \ ++ stock-icons/16/gtk-goto-last-ltr.png \ ++ stock-icons/16/gtk-go-forward-ltr.png \ ++ stock-icons/16/gtk-go-back-ltr.png \ ++ stock-icons/16/gtk-goto-top.png \ ++ stock-icons/16/gtk-go-up.png \ ++ stock-icons/16/gtk-about.png \ ++ stock-icons/16/gtk-help.png \ ++ stock-icons/16/gtk-missing-image.png \ ++ stock-icons/16/gtk-add.png \ ++ stock-icons/16/gtk-remove.png \ ++ stock-icons/16/gtk-floppy.png \ ++ stock-icons/16/gtk-cdrom.png \ ++ stock-icons/16/gtk-media-pause.png \ ++ stock-icons/16/gtk-media-play-ltr.png \ ++ stock-icons/16/gtk-media-play-rtl.png \ ++ stock-icons/16/gtk-media-stop.png \ ++ stock-icons/16/gtk-media-record.png \ ++ stock-icons/16/gtk-media-rewind-ltr.png \ ++ stock-icons/16/gtk-media-forward-ltr.png \ ++ stock-icons/16/gtk-media-previous-ltr.png \ ++ stock-icons/16/gtk-media-next-ltr.png \ ++ stock-icons/16/gtk-network.png \ ++ stock-icons/16/gtk-print-error.png \ ++ stock-icons/16/gtk-print-report.png \ ++ stock-icons/16/gtk-print-paused.png \ ++ stock-icons/16/gtk-print-warning.png \ ++ stock-icons/16/gtk-stop.png \ ++ stock-icons/16/gtk-execute.png \ ++ stock-icons/16/gtk-spell-check.png \ ++ stock-icons/16/gtk-fullscreen.png \ ++ stock-icons/16/gtk-refresh.png \ ++ stock-icons/16/gtk-leave-fullscreen.png \ ++ stock-icons/16/gtk-sort-ascending.png \ ++ stock-icons/16/gtk-sort-descending.png \ ++ stock-icons/16/gtk-close.png \ ++ stock-icons/16/gtk-zoom-fit.png \ ++ stock-icons/16/gtk-zoom-in.png \ ++ stock-icons/16/gtk-zoom-100.png \ ++ stock-icons/16/gtk-zoom-out.png \ ++ stock-icons/24/gtk-quit.png \ ++ stock-icons/24/gtk-info.png \ ++ stock-icons/24/gtk-file.png \ ++ stock-icons/24/gtk-open.png \ ++ stock-icons/24/gtk-print-preview.png \ ++ stock-icons/24/gtk-print.png \ ++ stock-icons/24/gtk-properties.png \ ++ stock-icons/24/gtk-revert-to-saved-ltr.png \ ++ stock-icons/24/gtk-revert-to-saved-rtl.png \ ++ stock-icons/24/gtk-save-as.png \ ++ stock-icons/24/gtk-new.png \ ++ stock-icons/24/gtk-harddisk.png \ ++ stock-icons/24/gtk-clear.png \ ++ stock-icons/24/gtk-copy.png \ ++ stock-icons/24/gtk-cut.png \ ++ stock-icons/24/gtk-delete.png \ ++ stock-icons/24/gtk-find-and-replace.png \ ++ stock-icons/24/gtk-find.png \ ++ stock-icons/24/gtk-paste.png \ ++ stock-icons/24/gtk-redo-ltr.png \ ++ stock-icons/24/gtk-redo-rtl.png \ ++ stock-icons/24/gtk-select-all.png \ ++ stock-icons/24/gtk-undo-ltr.png \ ++ stock-icons/24/gtk-undo-rtl.png \ ++ stock-icons/24/gtk-directory.png \ ++ stock-icons/24/gtk-unindent-ltr.png \ ++ stock-icons/24/gtk-unindent-rtl.png \ ++ stock-icons/24/gtk-indent-ltr.png \ ++ stock-icons/24/gtk-indent-rtl.png \ ++ stock-icons/24/gtk-justify-center.png \ ++ stock-icons/24/gtk-justify-fill.png \ ++ stock-icons/24/gtk-justify-left.png \ ++ stock-icons/24/gtk-justify-right.png \ ++ stock-icons/24/gtk-bold.png \ ++ stock-icons/24/gtk-italic.png \ ++ stock-icons/24/gtk-strikethrough.png \ ++ stock-icons/24/gtk-underline.png \ ++ stock-icons/24/gtk-goto-bottom.png \ ++ stock-icons/24/gtk-go-down.png \ ++ stock-icons/24/gtk-goto-first-ltr.png \ ++ stock-icons/24/gtk-home.png \ ++ stock-icons/24/gtk-jump-to-ltr.png \ ++ stock-icons/24/gtk-jump-to-rtl.png \ ++ stock-icons/24/gtk-goto-last-ltr.png \ ++ stock-icons/24/gtk-go-forward-ltr.png \ ++ stock-icons/24/gtk-go-back-ltr.png \ ++ stock-icons/24/gtk-goto-top.png \ ++ stock-icons/24/gtk-go-up.png \ ++ stock-icons/24/gtk-about.png \ ++ stock-icons/24/gtk-help.png \ ++ stock-icons/24/gtk-missing-image.png \ ++ stock-icons/24/gtk-add.png \ ++ stock-icons/24/gtk-remove.png \ ++ stock-icons/24/gtk-floppy.png \ ++ stock-icons/24/gtk-cdrom.png \ ++ stock-icons/24/gtk-media-pause.png \ ++ stock-icons/24/gtk-media-play-ltr.png \ ++ stock-icons/24/gtk-media-play-rtl.png \ ++ stock-icons/24/gtk-media-stop.png \ ++ stock-icons/24/gtk-media-record.png \ ++ stock-icons/24/gtk-media-rewind-ltr.png \ ++ stock-icons/24/gtk-media-forward-ltr.png \ ++ stock-icons/24/gtk-media-previous-ltr.png \ ++ stock-icons/24/gtk-media-next-ltr.png \ ++ stock-icons/24/gtk-network.png \ ++ stock-icons/24/gtk-print-error.png \ ++ stock-icons/24/gtk-print-report.png \ ++ stock-icons/24/gtk-print-paused.png \ ++ stock-icons/24/gtk-print-warning.png \ ++ stock-icons/24/gtk-stop.png \ ++ stock-icons/24/gtk-execute.png \ ++ stock-icons/24/gtk-spell-check.png \ ++ stock-icons/24/gtk-fullscreen.png \ ++ stock-icons/24/gtk-refresh.png \ ++ stock-icons/24/gtk-leave-fullscreen.png \ ++ stock-icons/24/gtk-sort-ascending.png \ ++ stock-icons/24/gtk-sort-descending.png \ ++ stock-icons/24/gtk-close.png \ ++ stock-icons/24/gtk-zoom-fit.png \ ++ stock-icons/24/gtk-zoom-in.png \ ++ stock-icons/24/gtk-zoom-100.png \ ++ stock-icons/24/gtk-zoom-out.png + + @CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \ + @CROSS_COMPILING_FALSE@ ./gtk-update-icon-cache +@@ -5401,6 +5565,88 @@ + && $(LN_S) folder.png user-desktop.png \ + && $(RM) user-home.png \ + && $(LN_S) folder.png user-home.png \ ++ && $(LN_S) application-exit.png gtk-quit.png \ ++ && $(LN_S) dialog-info.png gtk-info.png \ ++ && $(LN_S) document-new.png gtk-file.png \ ++ && $(LN_S) document-open.png gtk-open.png \ ++ && $(LN_S) document-print-preview.png gtk-print-preview.png \ ++ && $(LN_S) document-print.png gtk-print.png \ ++ && $(LN_S) document-properties.png gtk-properties.png \ ++ && $(LN_S) document-revert-ltr.png gtk-revert-to-saved-ltr.png \ ++ && $(LN_S) document-revert-rtl.png gtk-revert-to-saved-rtl.png \ ++ && $(LN_S) document-save-as.png gtk-save-as.png \ ++ && $(LN_S) document-x-generic.png gtk-new.png \ ++ && $(LN_S) drive-harddisk.png gtk-harddisk.png \ ++ && $(LN_S) edit-clear.png gtk-clear.png \ ++ && $(LN_S) edit-copy.png gtk-copy.png \ ++ && $(LN_S) edit-cut.png gtk-cut.png \ ++ && $(LN_S) edit-delete.png gtk-delete.png \ ++ && $(LN_S) edit-find-replace.png gtk-find-and-replace.png \ ++ && $(LN_S) edit-find.png gtk-find.png \ ++ && $(LN_S) edit-paste.png gtk-paste.png \ ++ && $(LN_S) edit-redo-ltr.png gtk-redo-ltr.png \ ++ && $(LN_S) edit-redo-rtl.png gtk-redo-rtl.png \ ++ && $(LN_S) edit-select-all.png gtk-select-all.png \ ++ && $(LN_S) edit-undo-ltr.png gtk-undo-ltr.png \ ++ && $(LN_S) edit-undo-rtl.png gtk-undo-rtl.png \ ++ && $(LN_S) folder.png gtk-directory.png \ ++ && $(LN_S) format-indent-less-ltr.png gtk-unindent-ltr.png \ ++ && $(LN_S) format-indent-less-rtl.png gtk-unindent-rtl.png \ ++ && $(LN_S) format-indent-more-ltr.png gtk-indent-ltr.png \ ++ && $(LN_S) format-indent-more-rtl.png gtk-indent-rtl.png \ ++ && $(LN_S) format-justify-center.png gtk-justify-center.png \ ++ && $(LN_S) format-justify-fill.png gtk-justify-fill.png \ ++ && $(LN_S) format-justify-left.png gtk-justify-left.png \ ++ && $(LN_S) format-justify-right.png gtk-justify-right.png \ ++ && $(LN_S) format-text-bold.png gtk-bold.png \ ++ && $(LN_S) format-text-italic.png gtk-italic.png \ ++ && $(LN_S) format-text-strikethrough.png gtk-strikethrough.png \ ++ && $(LN_S) format-text-underline.png gtk-underline.png \ ++ && $(LN_S) go-bottom.png gtk-goto-bottom.png \ ++ && $(LN_S) go-down.png gtk-go-down.png \ ++ && $(LN_S) go-first-ltr.png gtk-goto-first-ltr.png \ ++ && $(LN_S) go-home.png gtk-home.png \ ++ && $(LN_S) go-jump-ltr.png gtk-jump-to-ltr.png \ ++ && $(LN_S) go-jump-rtl.png gtk-jump-to-rtl.png \ ++ && $(LN_S) go-last-ltr.png gtk-goto-last-ltr.png \ ++ && $(LN_S) go-next-ltr.png gtk-go-forward-ltr.png \ ++ && $(LN_S) go-previous-ltr.png gtk-go-back-ltr.png \ ++ && $(LN_S) go-top.png gtk-goto-top.png \ ++ && $(LN_S) go-up.png gtk-go-up.png \ ++ && $(LN_S) help-about.png gtk-about.png \ ++ && $(LN_S) help-contents.png gtk-help.png \ ++ && $(LN_S) image-missing.png gtk-missing-image.png \ ++ && $(LN_S) list-add.png gtk-add.png \ ++ && $(LN_S) list-remove.png gtk-remove.png \ ++ && $(LN_S) media-floppy.png gtk-floppy.png \ ++ && $(LN_S) media-optical.png gtk-cdrom.png \ ++ && $(LN_S) media-playback-pause.png gtk-media-pause.png \ ++ && $(LN_S) media-playback-start-ltr.png gtk-media-play-ltr.png \ ++ && $(LN_S) media-playback-start-rtl.png gtk-media-play-rtl.png \ ++ && $(LN_S) media-playback-stop.png gtk-media-stop.png \ ++ && $(LN_S) media-record.png gtk-media-record.png \ ++ && $(LN_S) media-seek-backward-ltr.png gtk-media-rewind-ltr.png \ ++ && $(LN_S) media-seek-forward-ltr.png gtk-media-forward-ltr.png \ ++ && $(LN_S) media-skip-backward-ltr.png gtk-media-previous-ltr.png \ ++ && $(LN_S) media-skip-forward-ltr.png gtk-media-next-ltr.png \ ++ && $(LN_S) network-idle.png gtk-network.png \ ++ && $(LN_S) printer-error.png gtk-print-error.png \ ++ && $(LN_S) printer-info.png gtk-print-report.png \ ++ && $(LN_S) printer-paused.png gtk-print-paused.png \ ++ && $(LN_S) printer-warning.png gtk-print-warning.png \ ++ && $(LN_S) process-stop.png gtk-stop.png \ ++ && $(LN_S) system-run.png gtk-execute.png \ ++ && $(LN_S) tools-check-spelling.png gtk-spell-check.png \ ++ && $(LN_S) view-fullscreen.png gtk-fullscreen.png \ ++ && $(LN_S) view-refresh.png gtk-refresh.png \ ++ && $(LN_S) view-restore.png gtk-leave-fullscreen.png \ ++ && $(LN_S) view-sort-ascending.png gtk-sort-ascending.png \ ++ && $(LN_S) view-sort-descending.png gtk-sort-descending.png \ ++ && $(LN_S) window-close.png gtk-close.png \ ++ && $(LN_S) zoom-fit-best.png gtk-zoom-fit.png \ ++ && $(LN_S) zoom-in.png gtk-zoom-in.png \ ++ && $(LN_S) zoom-original.png gtk-zoom-100.png \ ++ && $(LN_S) zoom-out.png gtk-zoom-out.png \ + ) done \ + && touch stamp-icons + diff --git a/patches/source/gtk+2/gtk+2.SlackBuild b/patches/source/gtk+2/gtk+2.SlackBuild new file mode 100755 index 000000000..54812fff8 --- /dev/null +++ b/patches/source/gtk+2/gtk+2.SlackBuild @@ -0,0 +1,203 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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. + + +VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gtk2 + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG/usr +cd $TMP +rm -rf gtk+-$VERSION +tar xvf $CWD/gtk+-$VERSION.tar.?z* || exit 1 +cd gtk+-$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 {} \; + +# Fix build errors +zcat $CWD/fix_build_issues_on_tutorial_and_faq.diff.gz | patch -p1 --verbose || exit 1 + +# Do not flood the console or .xsession-errors with "trouble ahead" +# warnings (most noticable when using Firefox and Flash): +zcat $CWD/gtk.xid.nowarningflood.diff.gz | patch -p1 --verbose || exit 1 + +# Patch to restore commonly used icon names, otherwise everything breaks. +# I fail to see the point of this "cleanup" +zcat $CWD/gtk+-2.24.x.icon-compat.am.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gtk+-2.24.x.icon-compat.diff.gz | patch -p1 --verbose || exit 1 + +# Prevents build failures in the docs. Found online. +# Only needed if autoreconf is used... ? +zcat $CWD/gtk.gtk-faq.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gtk.gtk-tut.diff.gz | patch -p1 --verbose || exit 1 + +# Regenerate ./configure: +libtoolize --force +autoreconf -vif + +# Autoconf changes linux to linux-gnu. +# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu: +sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --with-xinput=yes \ + --enable-xkb \ + --enable-introspection \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 + +# Check the host value that is passed to the compile to the one in this script: +host="$ARCH-slackware-linux" +compile_host=$(grep 'host_triplet =' gtk/Makefile | sed -e "s/.* = //") +if [ "x$compile_host" != "x$host" ]; then + echo "Host mismatch: compile='$compile_host', SlackBuild='$host'" && exit 1 +fi + +make install \ + RUN_QUERY_IMMODULES_TEST=false RUN_QUERY_LOADER_TEST=false \ + DESTDIR=$PKG \ + || exit 1 + +# Don't clobber im-multipress.conf +mv $PKG/etc/gtk-2.0/im-multipress.conf $PKG/etc/gtk-2.0/im-multipress.conf.new || exit 1 + +# Install a "starter" gtkrc +# /etc/gtk-2.0/gtkrc overrides this --rworkman +echo 'gtk-theme-name="GTK+"' > $PKG/usr/share/gtk-2.0/gtkrc +echo 'gtk-icon-theme-name="Adwaita"' >> $PKG/usr/share/gtk-2.0/gtkrc +echo 'gtk-fallback-icon-theme = "Tango"' >> $PKG/usr/share/gtk-2.0/gtkrc + +# 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.) +case "$host" in + s390x*|x86_64*) + mv $PKG/usr/bin/gtk-query-immodules-2.0{,-64} + ( cd $PKG/usr/bin + ln -sf gtk-query-immodules-2.0-64 gtk-query-immodules-2.0 + ) + ;; + *) + mv $PKG/usr/bin/gtk-query-immodules-2.0{,-32} + ( cd $PKG/usr/bin + ln -sf gtk-query-immodules-2.0-32 gtk-query-immodules-2.0 + ) + ;; +esac + +# Install wrappers for the binaries: +cp -a $CWD/update-gtk-immodules* $PKG/usr/bin +chown root:root $PKG/usr/bin/update-* +chmod 0755 $PKG/usr/bin/update-* + +# Add profile scripts to set up GTK+ environment: +mkdir -p $PKG/etc/profile.d +cp -a $CWD/profile.d/* $PKG/etc/profile.d +chmod 0755 $PKG/etc/profile.d/* + +# 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 + +mkdir -p $PKG/usr/doc/gtk+-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* TODO \ + $PKG/usr/doc/gtk+-$VERSION +( cd $PKG/usr/doc/gtk+-$VERSION + ln -s ../../share/gtk-doc/html/gail-libgail-util . + ln -s ../../share/gtk-doc/html/gdk . + ln -s ../../share/gtk-doc/html/gtk . +) + +# 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/gtk+2-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gtk+2/gtk.gtk-faq.diff b/patches/source/gtk+2/gtk.gtk-faq.diff new file mode 100644 index 000000000..f3307d51f --- /dev/null +++ b/patches/source/gtk+2/gtk.gtk-faq.diff @@ -0,0 +1,11 @@ +--- ./docs/faq/Makefile.am.orig 2014-09-29 15:02:16.000000000 -0500 ++++ ./docs/faq/Makefile.am 2015-03-18 22:11:42.692413132 -0500 +@@ -7,7 +7,7 @@ + html: + if test -w $(srcdir); then \ + (cd $(srcdir); \ +- db2html gtk-faq.sgml; \ ++ db2html -o gtk-faq gtk-faq.sgml; \ + test -d html && rm -r html; \ + mv gtk-faq html); \ + fi diff --git a/patches/source/gtk+2/gtk.gtk-tut.diff b/patches/source/gtk+2/gtk.gtk-tut.diff new file mode 100644 index 000000000..ee363a266 --- /dev/null +++ b/patches/source/gtk+2/gtk.gtk-tut.diff @@ -0,0 +1,11 @@ +--- ./docs/tutorial/Makefile.am.orig 2014-09-29 15:02:16.000000000 -0500 ++++ ./docs/tutorial/Makefile.am 2015-03-18 22:04:36.171382357 -0500 +@@ -40,7 +40,7 @@ + html: gtk-tut.sgml + if test -w $(srcdir); then \ + (cd $(srcdir); \ +- db2html gtk-tut.sgml; \ ++ db2html -o gtk-tut gtk-tut.sgml; \ + test -d html && rm -r html; \ + mv gtk-tut html; \ + mkdir html/images; \ diff --git a/patches/source/gtk+2/gtk.xid.nowarningflood.diff b/patches/source/gtk+2/gtk.xid.nowarningflood.diff new file mode 100644 index 000000000..6b8c854d8 --- /dev/null +++ b/patches/source/gtk+2/gtk.xid.nowarningflood.diff @@ -0,0 +1,12 @@ +--- ./gdk/x11/gdkxid.c.orig 2009-12-18 20:54:50.000000000 -0600 ++++ ./gdk/x11/gdkxid.c 2010-02-08 14:42:50.000000000 -0600 +@@ -57,9 +57,6 @@ + display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash, + (GEqualFunc) gdk_xid_equal); + +- if (g_hash_table_lookup (display_x11->xid_ht, xid)) +- g_warning ("XID collision, trouble ahead"); +- + g_hash_table_insert (display_x11->xid_ht, xid, data); + } + diff --git a/patches/source/gtk+2/profile.d/gtk+.csh b/patches/source/gtk+2/profile.d/gtk+.csh new file mode 100755 index 000000000..c9ea5acb5 --- /dev/null +++ b/patches/source/gtk+2/profile.d/gtk+.csh @@ -0,0 +1,2 @@ +#!/bin/csh +setenv GDK_USE_XFT 1 diff --git a/patches/source/gtk+2/profile.d/gtk+.sh b/patches/source/gtk+2/profile.d/gtk+.sh new file mode 100755 index 000000000..ff3d4927b --- /dev/null +++ b/patches/source/gtk+2/profile.d/gtk+.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +GDK_USE_XFT=1 +export GDK_USE_XFT diff --git a/patches/source/gtk+2/slack-desc b/patches/source/gtk+2/slack-desc new file mode 100644 index 000000000..bd800ade8 --- /dev/null +++ b/patches/source/gtk+2/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------------------------------------------------------| +gtk+2: GTK+ version 2 (multi-platform GUI toolkit) +gtk+2: +gtk+2: This is GTK+, a multi-platform toolkit for creating graphical user +gtk+2: interfaces. Offering a complete set of widgets, GTK+ is suitable for +gtk+2: projects ranging from small one-off projects to complete application +gtk+2: suites. +gtk+2: +gtk+2: +gtk+2: +gtk+2: +gtk+2: diff --git a/patches/source/gtk+2/update-gtk-immodules b/patches/source/gtk+2/update-gtk-immodules new file mode 100644 index 000000000..a56b3fdcb --- /dev/null +++ b/patches/source/gtk+2/update-gtk-immodules @@ -0,0 +1,12 @@ +#! /bin/sh +# +# This is a wrapper script that calls update-gtk-immodules-2.0 (GTK+2) +# and/or update-gtk-immodules-3.0 (GTK+3) to do the actual updating. + +if [ -x /usr/bin/update-gtk-immodules-2.0 ]; then + /usr/bin/update-gtk-immodules-2.0 $* +fi +if [ -x /usr/bin/update-gtk-immodules-3.0 ]; then + /usr/bin/update-gtk-immodules-3.0 $* +fi + diff --git a/patches/source/gtk+2/update-gtk-immodules-2.0 b/patches/source/gtk+2/update-gtk-immodules-2.0 new file mode 100644 index 000000000..f12353fb8 --- /dev/null +++ b/patches/source/gtk+2/update-gtk-immodules-2.0 @@ -0,0 +1,48 @@ +#! /bin/sh +# Updates the immodules cache at /usr/lib(64)/gtk-2.0/2.10.0/immodules.cache + +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/gtk-query-immodules-2.0-64 ]; then + if [ "$1" = "--verbose" ]; then + echo "Updating gtk.immodules for ${host}:" + echo " /usr/bin/gtk-query-immodules-2.0-64 --update-cache" + fi + /usr/bin/gtk-query-immodules-2.0-64 --update-cache 2>/dev/null + # Check for multilib + if [ -x /usr/bin/gtk-query-immodules-2.0-32 ]; then + if [ "$1" = "--verbose" ]; then + echo "Updating 32bit gtk.immodules: " + echo " /usr/bin/gtk-query-immodules-2.0-32 --update-cache" + fi + /usr/bin/gtk-query-immodules-2.0-32 --update-cache 2>/dev/null + fi + fi + ;; + *) + if [ -x /usr/bin/gtk-query-immodules-2.0-32 ]; then + if [ "$1" = "--verbose" ]; then + echo "Updating gtk.immodules for ${host}:" + echo " /usr/bin/gtk-query-immodules-2.0-32 --update-cache" + fi + /usr/bin/gtk-query-immodules-2.0-32 --update-cache 2>/dev/null + else + if [ "$1" = "--verbose" ]; then + echo "Updating gtk.immodules for ${host}:" + echo " /usr/bin/gtk-query-immodules-2.0 --update-cache" + fi + /usr/bin/gtk-query-immodules-2.0 --update-cache 2>/dev/null + fi + ;; +esac + 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..b43665279 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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 + + + 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/intltool/intltool-0.51.0-perl-5.22.patch b/patches/source/intltool/intltool-0.51.0-perl-5.22.patch new file mode 100644 index 000000000..be672d0cc --- /dev/null +++ b/patches/source/intltool/intltool-0.51.0-perl-5.22.patch @@ -0,0 +1,44 @@ +diff -Naur intltool-0.51.0.orig/intltool-update.in intltool-0.51.0/intltool-update.in +--- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100 ++++ intltool-0.51.0/intltool-update.in 2015-06-19 01:52:07.171228154 +0200 +@@ -1062,7 +1062,7 @@ + } + } + +- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) ++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; +@@ -1190,10 +1190,10 @@ + $name =~ s/\(+$//g; + $version =~ s/\(+$//g; + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m) +@@ -1219,11 +1219,11 @@ + $version =~ s/\(+$//g; + $bugurl =~ s/\(+$//g if (defined $bugurl); + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); +- $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); ++ $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/); + } + + # \s makes this not work, why? diff --git a/patches/source/intltool/intltool.SlackBuild b/patches/source/intltool/intltool.SlackBuild new file mode 100755 index 000000000..89f1e0651 --- /dev/null +++ b/patches/source/intltool/intltool.SlackBuild @@ -0,0 +1,132 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 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=intltool +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} + +if [ "$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 + +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 {} \; + +# Compatability with perl 5.22: +zcat $CWD/intltool-0.51.0-perl-5.22.patch.gz | patch -p1 --verbose || exit 1 + +# Fix build issues when used with automake >= 1.15: +zcat $CWD/no-guess-builddir.diff.gz | patch -p0 --verbose || exit 1 + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/${PKGNAM}-$VERSION \ + --build=$ARCH-slackware-linux || 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 + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + rm -f $PKG/usr/info/dir + gzip -9 $PKG/usr/info/* +fi + +# Add a documentation directory: +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/intltool/no-guess-builddir.diff b/patches/source/intltool/no-guess-builddir.diff new file mode 100644 index 000000000..3670ee523 --- /dev/null +++ b/patches/source/intltool/no-guess-builddir.diff @@ -0,0 +1,31 @@ +=== modified file 'intltool-update.in' +--- intltool-update.in 2014-05-14 02:15:53 +0000 ++++ intltool-update.in 2015-02-03 15:05:59 +0000 +@@ -620,6 +620,14 @@ + + my @result; + ++ # If the builddir is a subdir of srcdir, the list of files found will be prefixed with ++ # an additional prefix (e.g. "_build/sub" for automake 1.15 make distcheck). Try to ++ # handle that, by removing those matches as well. ++ my $absbuilddir = Cwd::abs_path("..\/"); ++ my $abssrcdir = Cwd::abs_path("$SRCDIR/.."); ++ # Check if builddir is a subdir of srcdir ++ my ($abspath,$relpath) = split /\s*$abssrcdir\/\s*/, $absbuilddir, 2; ++ + foreach (@buf_allfiles_sorted) + { + my $dummy = $_; +@@ -628,7 +636,10 @@ + $srcdir =~ s#^../##; + $dummy =~ s#^$srcdir/../##; + $dummy =~ s#^$srcdir/##; +- $dummy =~ s#_build/##; ++ if ($relpath) ++ { ++ $dummy =~ s#^$relpath/##; ++ } + if (!exists($in2{$dummy})) + { + push @result, $dummy + diff --git a/patches/source/intltool/slack-desc b/patches/source/intltool/slack-desc new file mode 100644 index 000000000..1486c0481 --- /dev/null +++ b/patches/source/intltool/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------------------------------------------------------| +intltool: intltool (Utilities for translation support) +intltool: +intltool: This package contains scripts and autoconf files for +intltool: internationalizing data. +intltool: +intltool: Homepage: https://edge.launchpad.net/intltool +intltool: +intltool: +intltool: +intltool: +intltool: diff --git a/patches/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..c3905a802 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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/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 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 "", but to + # avoid needlessly repacking if there happens to be a package with + # the same name as "", we'll do some checks first. + + # If every package listed in modules/"" is also listed + # in the modularize file, then there's no need to make a package + # for "": + 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 "" 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 "" 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 "" 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..c54dbfcfd --- /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.14.3 +[ -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=i586 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +[ -z $PKGARCH ] && export PKGARCH=$ARCH + +# Use this as CFLAGS and CXXFLAGS: +if [ -z "$SLKCFLAGS" ]; then + if [ "$ARCH" = "i586" ]; then + export SLKCFLAGS="-O2 -march=i586 -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=" -DKDE4_BUILD_TESTS=OFF -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..1074c5613 --- /dev/null +++ b/patches/source/kdelibs/build/kdelibs @@ -0,0 +1 @@ +1_slack14.2 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..c314b559c --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs.patch @@ -0,0 +1,14 @@ +# 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 +zcat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Revert 3 patches which (although they probably follow the FDo spec better), +# cause incorrect icon overrides: +zcat $CWD/patch/kdelibs/return-not-break.-copy-paste-error.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/kdelibs/coding-style-fixes.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/kdelibs/return-application-icons-properly.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + diff --git a/patches/source/kdelibs/patch/kdelibs/coding-style-fixes.patch b/patches/source/kdelibs/patch/kdelibs/coding-style-fixes.patch new file mode 100644 index 000000000..11108f0a4 --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs/coding-style-fixes.patch @@ -0,0 +1,62 @@ +From 2173580f070e806d4715e13048c697c49ec262e2 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo +Date: Thu, 21 Feb 2013 17:59:58 +0100 +Subject: [PATCH 047/111] coding style fixes + +--- + kdeui/icons/kiconloader.cpp | 27 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp +index 6fed667..dba474d 100644 +--- a/kdeui/icons/kiconloader.cpp ++++ b/kdeui/icons/kiconloader.cpp +@@ -938,32 +938,29 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const + } + } + +- foreach (KIconThemeNode *themeNode, links) +- { ++ foreach (KIconThemeNode *themeNode, links) { + QString currentName = name; + +- while (!currentName.isEmpty()) +- { +- ++ while (!currentName.isEmpty()) { + //kDebug(264) << "Looking up" << currentName; + +-// The following code has been commented out because the Qt SVG renderer needs +-// to be improved. If you are going to change/remove some code from this part, +-// please contact me before (ereslibre@kde.org), or kde-core-devel@kde.org. (ereslibre) +- for (int i = 0 ; i < 4 ; i++) +- { ++ for (int i = 0 ; i < 4 ; i++) { + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact); +- if (icon.isValid()) +- return icon; ++ if (icon.isValid()) { ++ break; ++ } + + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest); +- if (icon.isValid()) +- return icon; ++ if (icon.isValid()) { ++ break; ++ } + } ++ //kDebug(264) << "Looking up" << currentName; + +- if (genericFallback) ++ if (genericFallback) { + // we already tested the base name + break; ++ } + + int rindex = currentName.lastIndexOf('-'); + if (rindex > 1) { // > 1 so that we don't split x-content or x-epoc +-- +1.8.1.4 + + 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/patch/kdelibs/return-application-icons-properly.patch b/patches/source/kdelibs/patch/kdelibs/return-application-icons-properly.patch new file mode 100644 index 000000000..2bdb53adf --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs/return-application-icons-properly.patch @@ -0,0 +1,56 @@ +From 613c951a1157df0d8a907a155a5eaa706816d5f9 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo +Date: Thu, 21 Feb 2013 17:58:11 +0100 +Subject: return application icons properly + +BUG:315578 +--- + kdeui/icons/kiconloader.cpp | 31 ++++++++++++++++++++++++++++++- + 1 file changed, 30 insertions(+), 1 deletion(-) + +diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp +index f65e941..6fed667 100644 +--- a/kdeui/icons/kiconloader.cpp ++++ b/kdeui/icons/kiconloader.cpp +@@ -909,7 +909,36 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const + const char * const ext[4] = { ".png", ".svgz", ".svg", ".xpm" }; + bool genericFallback = name.endsWith(QLatin1String("-x-generic")); + +- foreach(KIconThemeNode *themeNode, links) ++ // Do two passes through themeNodes. ++ // ++ // The first pass looks for an exact match in each themeNode one after the other. ++ // If one is found and it is an app icon then return that icon. ++ // ++ // In the next pass (assuming the first pass failed), it looks for exact matches ++ // and then generic fallbacks in each themeNode one after the other ++ // ++ // The reasoning is that application icons should always match exactly, all other ++ // icons may fallback. Since we do not know what the context is here when we start ++ // looking for it, we can only go by the path found. ++ foreach (KIconThemeNode *themeNode, links) { ++ for (int i = 0 ; i < 4 ; i++) { ++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchExact); ++ if (icon.isValid()) { ++ break; ++ } ++ ++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchBest); ++ if (icon.isValid()) { ++ break; ++ } ++ } ++ ++ if (icon.isValid() && icon.path.contains("/apps/")) { ++ return icon; ++ } ++ } ++ ++ foreach (KIconThemeNode *themeNode, links) + { + QString currentName = name; + +-- +1.8.1.4 + + diff --git a/patches/source/kdelibs/patch/kdelibs/return-not-break.-copy-paste-error.patch b/patches/source/kdelibs/patch/kdelibs/return-not-break.-copy-paste-error.patch new file mode 100644 index 000000000..b62818ed6 --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs/return-not-break.-copy-paste-error.patch @@ -0,0 +1,31 @@ +From 0edfd42151ad57322a10a24ab4971b638e220e6e Mon Sep 17 00:00:00 2001 +From: Aaron Seigo +Date: Thu, 21 Feb 2013 18:14:54 +0100 +Subject: [PATCH 049/111] return, not break. copy/paste error + +--- + kdeui/icons/kiconloader.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp +index dba474d..ce6aeea 100644 +--- a/kdeui/icons/kiconloader.cpp ++++ b/kdeui/icons/kiconloader.cpp +@@ -947,12 +947,12 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const + for (int i = 0 ; i < 4 ; i++) { + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact); + if (icon.isValid()) { +- break; ++ return icon; + } + + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest); + if (icon.isValid()) { +- break; ++ return icon; + } + } + //kDebug(264) << "Looking up" << currentName; +-- +1.8.1.4 + 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..1074c5613 --- /dev/null +++ b/patches/source/libX11/build/libX11 @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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..641c24a44 --- /dev/null +++ b/patches/source/libXcursor/arch.use.flags @@ -0,0 +1,7 @@ +if [ "$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/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..1074c5613 --- /dev/null +++ b/patches/source/libXcursor/build/libXcursor @@ -0,0 +1 @@ +1_slack14.2 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..9869c665c --- /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=i586 ;; + 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-" 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/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..1074c5613 --- /dev/null +++ b/patches/source/libXfixes/build/libXfixes @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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..cf5deb272 --- /dev/null +++ b/patches/source/libXfont/build/libXfont @@ -0,0 +1 @@ +2_slack14.2 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..5b50ae664 --- /dev/null +++ b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff @@ -0,0 +1,105 @@ +From 7b377456f95d2ec3ead40f4fb74ea620191f88c8 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Thu, 26 Oct 2017 09:48:13 +0200 +Subject: 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. + +Reviewed-by: Matthieu Herrb + +diff --git a/src/fontfile/dirfile.c b/src/fontfile/dirfile.c +index 04cfa40..2802980 100644 +--- a/src/fontfile/dirfile.c ++++ b/src/fontfile/dirfile.c +@@ -42,6 +42,7 @@ in this Software without prior written authorization from The Open Group. + #include + #include + #include ++#include + #include + #include + +@@ -61,8 +62,9 @@ FontFileReadDirectory (const char *directory, FontDirectoryPtr *pdir) + 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; +@@ -92,7 +94,14 @@ FontFileReadDirectory (const char *directory, FontDirectoryPtr *pdir) + 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) +@@ -262,7 +271,8 @@ ReadFontAlias(char *directory, Bool isFile, FontDirectoryPtr *pdir) + 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; +@@ -280,7 +290,16 @@ ReadFontAlias(char *directory, Bool isFile, FontDirectoryPtr *pdir) + 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/src/fontfile/fileio.c b/src/fontfile/fileio.c +index 074ebcb..05374b4 100644 +--- a/src/fontfile/fileio.c ++++ b/src/fontfile/fileio.c +@@ -40,6 +40,9 @@ in this Software without prior written authorization from The Open Group. + #ifndef O_CLOEXEC + #define O_CLOEXEC 0 + #endif ++#ifndef O_NOFOLLOW ++#define O_NOFOLLOW 0 ++#endif + + FontFilePtr + FontFileOpen (const char *name) +@@ -48,7 +51,7 @@ FontFileOpen (const char *name) + int len; + BufFilePtr raw, cooked; + +- fd = open (name, O_BINARY|O_CLOEXEC); ++ fd = open (name, O_BINARY|O_CLOEXEC|O_NOFOLLOW); + if (fd < 0) + return 0; + raw = BufFileOpenRead (fd); +-- +cgit v0.10.2 + + 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-" 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..1074c5613 --- /dev/null +++ b/patches/source/libXi/build/libXi @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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..1074c5613 --- /dev/null +++ b/patches/source/libXrandr/build/libXrandr @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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..1074c5613 --- /dev/null +++ b/patches/source/libXrender/build/libXrender @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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/libXres/arch.use.flags b/patches/source/libXres/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXres/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/libXres/build/libXres b/patches/source/libXres/build/libXres new file mode 100644 index 000000000..1074c5613 --- /dev/null +++ b/patches/source/libXres/build/libXres @@ -0,0 +1 @@ +1_slack14.2 diff --git a/patches/source/libXres/configure/configure b/patches/source/libXres/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXres/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/libXres/libXres.SlackBuild b/patches/source/libXres/libXres.SlackBuild new file mode 100755 index 000000000..e0207968f --- /dev/null +++ b/patches/source/libXres/libXres.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXres +mv /tmp/x11-build/libXres*txz /tmp diff --git a/patches/source/libXres/modularize b/patches/source/libXres/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXres/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/libXres/noarch b/patches/source/libXres/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXres/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/libXres/package-blacklist b/patches/source/libXres/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXres/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/libXres/slack-desc/libXres b/patches/source/libXres/slack-desc/libXres new file mode 100644 index 000000000..4582cd5f9 --- /dev/null +++ b/patches/source/libXres/slack-desc/libXres @@ -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------------------------------------------------------| +libXres: libXres (X-Resource extension client library) +libXres: +libXres: libXres is part of X11. +libXres: +libXres: For more information about the X.Org Foundation (the providers of the +libXres: X.Org implementation of the X Window System), see their website: +libXres: +libXres: http://www.x.org +libXres: +libXres: +libXres: diff --git a/patches/source/libXres/x11.SlackBuild b/patches/source/libXres/x11.SlackBuild new file mode 100755 index 000000000..d2d75e4f0 --- /dev/null +++ b/patches/source/libXres/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=i586 ;; + 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-" 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..1074c5613 --- /dev/null +++ b/patches/source/libXtst/build/libXtst @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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..1074c5613 --- /dev/null +++ b/patches/source/libXv/build/libXv @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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..1074c5613 --- /dev/null +++ b/patches/source/libXvMC/build/libXvMC @@ -0,0 +1 @@ +1_slack14.2 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..d2d75e4f0 --- /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=i586 ;; + 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-" 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/libcgroup/doinst.sh b/patches/source/libcgroup/doinst.sh new file mode 100644 index 000000000..0799f0d9b --- /dev/null +++ b/patches/source/libcgroup/doinst.sh @@ -0,0 +1,43 @@ +#!/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... +} + +# Leave any new rc files with the same permissions as the old ones: +if [ -e etc/rc.d/rc.cgconfig ]; then + if [ -x etc/rc.d/rc.cgconfig ]; then + chmod 755 etc/rc.d/rc.cgconfig.new + else + chmod 644 etc/rc.d/rc.cgconfig.new + fi +fi +if [ -e etc/rc.d/rc.cgred ]; then + if [ -x etc/rc.d/rc.cgred ]; then + chmod 755 etc/rc.d/rc.cgred.new + else + chmod 644 etc/rc.d/rc.cgred.new + fi +fi + +# Then config() them: +config etc/rc.d/rc.cgconfig.new +config etc/rc.d/rc.cgred.new + +# config() the other configuration files: +config etc/cgconfig.conf.new +config etc/cgred.conf.new +config etc/cgrules.conf.new +config etc/cgsnapshot_blacklist.conf.new + +# If there are already installed config files, get rid of the .new ones. +# There will still be fresh samples in the docs. +rm -f etc/cgconfig.conf.new etc/cgred.conf.new etc/cgrules.conf.new etc/cgsnapshot_blacklist.conf.new + diff --git a/patches/source/libcgroup/libcgroup.SlackBuild b/patches/source/libcgroup/libcgroup.SlackBuild new file mode 100755 index 000000000..61d27b333 --- /dev/null +++ b/patches/source/libcgroup/libcgroup.SlackBuild @@ -0,0 +1,171 @@ +#!/bin/sh + +# Copyright 2011, 2014, 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=libcgroup +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION + +# Remove Red Hat / LSB init-scriptisms: +zcat $CWD/libcgroup.init.diff.gz | patch -p1 --verbose || exit 1 + +# Slackware does not use /etc/sysconfig: +zcat $CWD/libcgroup.conf.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 \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-pam \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# If this directory is empty, do not include it in the package: +rmdir $PKG/usr/lib${LIBDIRSUFFIX}/security 2> /dev/null + +## COMMENTED OUT FOR 14.2 PACKAGE BUGFIX SINCE IT WOULD REQUIRE A NEW GROUP: +## cgexec doesn't need to be setuid root -- setgid cgred is sufficient: +#chown root:cgred $PKG/usr/bin/cgexec +#chmod 2755 $PKG/usr/bin/cgexec + +# Install init scripts: +mkdir -p $PKG/etc/rc.d +cp -a scripts/init.d/cgconfig $PKG/etc/rc.d/rc.cgconfig.new +cp -a scripts/init.d/cgred $PKG/etc/rc.d/rc.cgred.new +chmod 644 $PKG/etc/rc.d/* +chown -R root:root $PKG/etc/rc.d/* + +# Install sample config files: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION/samples +( cd samples + for conffile in cgconfig.conf cgred.conf cgrules.conf cgsnapshot_blacklist.conf ; do + cp -a $conffile $PKG/etc/${conffile}.new + cp -a $conffile $PKG/usr/doc/${PKGNAM}-$VERSION/samples + done +) + +## DON'T TRY TO USE cgred GROUP, IT DOESN'T EXIST ON 14.2: +sed -i "s/SOCKET_GROUP=\"cgred\"/SOCKET_GROUP=\"\"/g" $PKG/etc/cgred.conf.new + +# 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 +) + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* THANKS TODO \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# 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 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/${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/libcgroup/libcgroup.conf.diff b/patches/source/libcgroup/libcgroup.conf.diff new file mode 100644 index 000000000..f6e9dd102 --- /dev/null +++ b/patches/source/libcgroup/libcgroup.conf.diff @@ -0,0 +1,8 @@ +--- ./samples/cgred.conf.orig 2011-01-10 14:16:09.750002388 -0600 ++++ ./samples/cgred.conf 2011-01-10 14:16:20.446998061 -0600 +@@ -1,4 +1,4 @@ +-# /etc/sysconfig/cgred.conf - CGroup Rules Engine Daemon configuration file ++# /etc/cgred.conf - CGroup Rules Engine Daemon configuration file + # + # The four options listed below (CONFIG_FILE, LOG_FILE, NODAEMON, LOG) are + # the only valid ones. Defining anything else in this file will cause the diff --git a/patches/source/libcgroup/libcgroup.init.diff b/patches/source/libcgroup/libcgroup.init.diff new file mode 100644 index 000000000..1d1be2cc0 --- /dev/null +++ b/patches/source/libcgroup/libcgroup.init.diff @@ -0,0 +1,136 @@ +--- ./scripts/init.d/cgred.in.orig 2014-01-13 08:05:56.000000000 -0600 ++++ ./scripts/init.d/cgred.in 2017-02-28 12:41:11.307424565 -0600 +@@ -39,13 +39,12 @@ + # Sanity checks + [ -x $CGRED_BIN ] || exit 1 + +-# Source function library & LSB routines ++# Source function library + . /etc/rc.d/init.d/functions +-. /lib/lsb/init-functions + + # Read in configuration options. +-if [ -f "/etc/sysconfig/cgred.conf" ] ; then +- . /etc/sysconfig/cgred.conf ++if [ -f /etc/cgred.conf ] ; then ++ . /etc/cgred.conf + OPTIONS="$NODAEMON $LOG" + if [ -n "$LOG_FILE" ]; then + OPTIONS="$OPTIONS --logfile=$LOG_FILE" +@@ -70,13 +69,13 @@ + { + echo -n $"Starting CGroup Rules Engine Daemon: " + if [ -f "$lockfile" ]; then +- log_failure_msg "$servicename is already running with PID `cat ${pidfile}`" ++ echo "$servicename is already running with PID `cat ${pidfile}`" + return 0 + fi + num=`grep "cgroup" /proc/mounts | awk '$3=="cgroup"' | wc -l` + if [ $num -eq 0 ]; then + echo +- log_failure_msg $"Cannot find cgroups, is cgconfig service running?" ++ echo $"Cannot find cgroups, is cgconfig service running?" + return 1 + fi + daemon --check $servicename --pidfile $pidfile $CGRED_BIN $OPTIONS +@@ -97,7 +96,7 @@ + { + echo -n $"Stopping CGroup Rules Engine Daemon..." + if [ ! -f $pidfile ]; then +- log_success_msg ++ #log_success_msg + return 0 + fi + killproc -p $pidfile -TERM "$processname" +@@ -143,13 +142,13 @@ + echo $"Reloading rules configuration..." + kill -s 12 `cat ${pidfile}` + RETVAL=$? +- if [ $RETVAL -eq 0 ] ; then +- log_success_msg +- else +- log_failure_msg +- fi ++ #if [ $RETVAL -eq 0 ] ; then ++ # log_success_msg ++ #else ++ # log_failure_msg ++ #fi + else +- log_failure_msg "$servicename is not running." ++ echo "$servicename is not running." + fi + ;; + *) +--- ./scripts/init.d/cgconfig.in.orig 2014-01-13 08:05:56.000000000 -0600 ++++ ./scripts/init.d/cgconfig.in 2017-02-28 12:42:13.278423245 -0600 +@@ -36,11 +36,6 @@ + servicename=cgconfig + lockfile=/var/lock/subsys/$servicename + +-# +-# Source LSB routines +-# +-. /lib/lsb/init-functions +- + # read the config + CREATE_DEFAULT=yes + if [ -e /etc/sysconfig/cgconfig ]; then +@@ -54,8 +49,8 @@ + read user ctrl defaultcgroup <<< \ + $(grep -m1 '^\*[[:space:]]\+' /etc/cgrules.conf) + if [ -n "$defaultcgroup" -a "$defaultcgroup" = "*" ]; then +- log_warning_msg "/etc/cgrules.conf incorrect" +- log_warning_msg "Overriding it" ++ echo "/etc/cgrules.conf incorrect" ++ echo "Overriding it" + defaultcgroup= + fi + fi +@@ -98,20 +93,20 @@ + start() { + echo -n "Starting cgconfig service: " + if [ -f "$lockfile" ]; then +- log_warning_msg "lock file already exists" ++ echo "lock file already exists" + return 0 + fi + + if [ $? -eq 0 ]; then + if [ ! -s $CONFIG_FILE ]; then +- log_failure_msg $CONFIG_FILE "is not configured" ++ echo $CONFIG_FILE "is not configured" + return 6 + fi + + $CGCONFIGPARSER_BIN -l $CONFIG_FILE + retval=$? + if [ $retval -ne 0 ]; then +- log_failure_msg "Failed to parse " $CONFIG_FILE ++ echo "Failed to parse " $CONFIG_FILE + return 1 + fi + fi +@@ -123,18 +118,18 @@ + touch "$lockfile" + retval=$? + if [ $retval -ne 0 ]; then +- log_failure_msg "Failed to touch $lockfile" ++ echo "Failed to touch $lockfile" + return 1 + fi +- log_success_msg ++ #log_success_msg + return 0 + } + + stop() { + echo -n "Stopping cgconfig service: " +- cgclear ++ /usr/sbin/cgclear -l /etc/cgconfig.conf + rm -f "$lockfile" +- log_success_msg ++ #log_success_msg + return 0 + } + diff --git a/patches/source/libcgroup/slack-desc b/patches/source/libcgroup/slack-desc new file mode 100644 index 000000000..30a43ebed --- /dev/null +++ b/patches/source/libcgroup/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-------------------------------------------------------| +libcgroup: libcgroup (library and utilities for kernel control groups) +libcgroup: +libcgroup: Control Groups provide a mechanism for aggregating/partitioning sets of +libcgroup: tasks, and all their future children, into hierarchical groups with +libcgroup: specialized behaviour. It makes use of a filesystem interface. +libcgroup: This package contains a library for developing applications that use +libcgroup: control groups, as well as some basic userspace tools for controlling +libcgroup: and monitoring control groups. +libcgroup: +libcgroup: Homepage: http://libcg.sourceforge.net/ +libcgroup: diff --git a/patches/source/libgcrypt/libgcrypt.SlackBuild b/patches/source/libgcrypt/libgcrypt.SlackBuild new file mode 100755 index 000000000..aced611f2 --- /dev/null +++ b/patches/source/libgcrypt/libgcrypt.SlackBuild @@ -0,0 +1,127 @@ +#!/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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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 \ + --mandir=/usr/man \ + --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 + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +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/libidn/libidn.SlackBuild b/patches/source/libidn/libidn.SlackBuild new file mode 100755 index 000000000..2187060ef --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# 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" = "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 + +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/libpcap/libpcap.SlackBuild b/patches/source/libpcap/libpcap.SlackBuild new file mode 100755 index 000000000..c1261200c --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +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/libplist/libplist.SlackBuild b/patches/source/libplist/libplist.SlackBuild new file mode 100755 index 000000000..858b60855 --- /dev/null +++ b/patches/source/libplist/libplist.SlackBuild @@ -0,0 +1,138 @@ +#!/bin/sh + +# Copyright 2011, 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=libplist +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +if ls /var/log/packages/libplist-* 1> /dev/null 2> /dev/null ; then + echo "libplist is installed. The package should be removed before" + echo "building, or the new python modules might be linked to the" + echo "old library version. This is normally only a problem if the" + echo "major library version gets bumped, but still. :)" + echo + echo "Removing the libplist package in 15 seconds, and then continuing" + echo "with the build." + sleep 15 + removepkg libplist +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 \ + --localstatedir=/var \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +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 + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# Add some docs: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* 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/libplist/slack-desc b/patches/source/libplist/slack-desc new file mode 100644 index 000000000..cbe024420 --- /dev/null +++ b/patches/source/libplist/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------------------------------------------------------| +libplist: libplist (A library for Apple Binary and XML Property Lists) +libplist: +libplist: libplist is a library that attempts to support Apple Binary and XML +libplist: Property Lists. It is used by libgpod. +libplist: +libplist: The libplist homepage: http://www.libimobiledevice.org/ +libplist: +libplist: +libplist: +libplist: +libplist: diff --git a/patches/source/libpng/libpng.SlackBuild b/patches/source/libpng/libpng.SlackBuild new file mode 100755 index 000000000..b2476bc52 --- /dev/null +++ b/patches/source/libpng/libpng.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/sh + +# Copyright 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=libpng +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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" + 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 + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --includedir=/usr/include \ + --mandir=/usr/man \ + --disable-static \ + --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 +) + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \ + libpng*.txt example.c \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# 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 + +# 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/${PKGNAM}-$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 + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$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/libsoup/libsoup.CVE-2017-2885.diff b/patches/source/libsoup/libsoup.CVE-2017-2885.diff new file mode 100644 index 000000000..e0c318a2a --- /dev/null +++ b/patches/source/libsoup/libsoup.CVE-2017-2885.diff @@ -0,0 +1,43 @@ +--- libsoup-2.58.1/libsoup/soup-filter-input-stream.c 2016-12-03 08:59:41.000000000 -0600 ++++ libsoup-2.58.2/libsoup/soup-filter-input-stream.c 2017-08-10 07:06:09.000000000 -0500 +@@ -198,7 +198,7 @@ + GCancellable *cancellable, + GError **error) + { +- gssize nread; ++ gssize nread, read_length; + guint8 *p, *buf, *end; + gboolean eof = FALSE; + GError *my_error = NULL; +@@ -251,10 +251,11 @@ + } else + buf = fstream->priv->buf->data; + +- /* Scan for the boundary */ +- end = buf + fstream->priv->buf->len; +- if (!eof) +- end -= boundary_length; ++ /* Scan for the boundary within the range we can possibly return. */ ++ if (include_boundary) ++ end = buf + MIN (fstream->priv->buf->len, length) - boundary_length; ++ else ++ end = buf + MIN (fstream->priv->buf->len - boundary_length, length); + for (p = buf; p <= end; p++) { + if (*p == *(guint8*)boundary && + !memcmp (p, boundary, boundary_length)) { +@@ -268,10 +269,9 @@ + if (!*got_boundary && fstream->priv->buf->len < length && !eof) + goto fill_buffer; + +- /* Return everything up to 'p' (which is either just after the boundary if +- * include_boundary is TRUE, just before the boundary if include_boundary is +- * FALSE, @boundary_len - 1 bytes before the end of the buffer, or end-of- +- * file). +- */ +- return read_from_buf (fstream, buffer, p - buf); ++ if (eof && !*got_boundary) ++ read_length = MIN (fstream->priv->buf->len, length); ++ else ++ read_length = p - buf; ++ return read_from_buf (fstream, buffer, read_length); + } diff --git a/patches/source/libsoup/libsoup.SlackBuild b/patches/source/libsoup/libsoup.SlackBuild new file mode 100755 index 000000000..f260a7ef6 --- /dev/null +++ b/patches/source/libsoup/libsoup.SlackBuild @@ -0,0 +1,101 @@ +#!/bin/sh +# +# Slackware build script for libsoup +# +# Copyright 2009-2010 Erik W. Hanson, Minneapolis, 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=libsoup +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.2} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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 . +chmod -R u+w,go+r-w,a-s . + +zcat $CWD/libsoup.CVE-2017-2885.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --disable-static \ + --with-gnome \ + --enable-vala=no \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +## NOTE: These _should_ go eventually, but for now it causes problems. +## Don't ship .la files: +#rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a COPYING* AUTHORS 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/libsoup/slack-desc b/patches/source/libsoup/slack-desc new file mode 100644 index 000000000..80cd6ef03 --- /dev/null +++ b/patches/source/libsoup/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------------------------------------------------------| +libsoup: libsoup (an HTTP client/server library) +libsoup: +libsoup: Soup is an HTTP client/server library implementation in C. It uses +libsoup: GObjects and the glib main loop to integrate well with GTK+ +libsoup: applications, and has a synchronous API suitable for use in threaded +libsoup: applications. +libsoup: +libsoup: +libsoup: +libsoup: +libsoup: diff --git a/patches/source/libtiff/libtiff-am-version.patch b/patches/source/libtiff/libtiff-am-version.patch new file mode 100644 index 000000000..c94c2e005 --- /dev/null +++ b/patches/source/libtiff/libtiff-am-version.patch @@ -0,0 +1,31 @@ +Back off the minimum required automake version to 1.11. There isn't +anything in libtiff currently that actually requires 1.12, and changing +this allows the package to be built on pre-F18 machines for easier testing. + +This patch can go away once we no longer care about testing on pre-F18. + + +diff -Naur tiff-4.0.3.orig/Makefile.am tiff-4.0.3/Makefile.am +--- tiff-4.0.3.orig/Makefile.am 2012-09-20 09:22:47.000000000 -0400 ++++ tiff-4.0.3/Makefile.am 2012-10-30 11:33:30.312823564 -0400 +@@ -25,7 +25,7 @@ + + docdir = $(LIBTIFF_DOCDIR) + +-AUTOMAKE_OPTIONS = 1.12 dist-zip foreign ++AUTOMAKE_OPTIONS = 1.11 dist-zip foreign + ACLOCAL_AMFLAGS = -I m4 + + docfiles = \ +diff -Naur tiff-4.0.3.orig/test/Makefile.am tiff-4.0.3/test/Makefile.am +--- tiff-4.0.3.orig/test/Makefile.am 2012-09-20 09:22:28.000000000 -0400 ++++ tiff-4.0.3/test/Makefile.am 2012-10-30 11:33:17.109696812 -0400 +@@ -23,7 +23,7 @@ + + # Process this file with automake to produce Makefile.in. + +-AUTOMAKE_OPTIONS = 1.12 color-tests parallel-tests foreign ++AUTOMAKE_OPTIONS = 1.11 color-tests parallel-tests foreign + + LIBTIFF = $(top_builddir)/libtiff/libtiff.la + diff --git a/patches/source/libtiff/libtiff.SlackBuild b/patches/source/libtiff/libtiff.SlackBuild new file mode 100755 index 000000000..f1c364dfe --- /dev/null +++ b/patches/source/libtiff/libtiff.SlackBuild @@ -0,0 +1,120 @@ +#!/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=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=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 + +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/libtiff-am-version.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 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-static \ + --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/libtirpc/doinst.sh b/patches/source/libtirpc/doinst.sh new file mode 100644 index 000000000..409cfbe78 --- /dev/null +++ b/patches/source/libtirpc/doinst.sh @@ -0,0 +1,13 @@ +#!/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/netconfig.new diff --git a/patches/source/libtirpc/libtirpc.SlackBuild b/patches/source/libtirpc/libtirpc.SlackBuild new file mode 100755 index 000000000..511030b28 --- /dev/null +++ b/patches/source/libtirpc/libtirpc.SlackBuild @@ -0,0 +1,164 @@ +#!/bin/sh + +# Copyright 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. + +# Thanks to Jan Rafaj for contributing the original reference script. +# Remark: - The GSS support (for secure RPC) is currently not built, as it +# Remark: requires Kerberos 5 libraries. If you need it, install +# Remark: Kerberos 5, remove '--disable-gssapi' from the configure flags +# Remark: below and rebuild. + +PKGNAM=libtirpc +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# To build with GSS support (requires Kerberos 5 libraries), pass any value +# other than "NO" in the environment, or edit the line below: +WITH_GSS=${WITH_GSS:-NO} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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" + 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 + +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 + +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 {} \; + +# Set proper GSS option: +if [ "$WITH_GSS" = "NO" ]; then + GSSAPI="--disable-gssapi" +else + GSSAPI="--enable-gssapi" +fi + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-static \ + $GSSAPI \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Make etc/netconfig file a .new: +mv $PKG/etc/netconfig $PKG/etc/netconfig.new + +# Move library to /lib${LIBDIRSUFFIX} as it might be needed to mount /usr: +mkdir $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} +) + +# 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 +) + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* THANKS TODO \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# Don't use .3t man page suffix: +if [ -d $PKG/usr/man/man3 ]; then + ( cd $PKG/usr/man/man3 + for file in *.3t ; do + mv $file $(basename $file .3t).3 + done + ) +fi + +# 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/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/libtirpc/slack-desc b/patches/source/libtirpc/slack-desc new file mode 100644 index 000000000..426c79175 --- /dev/null +++ b/patches/source/libtirpc/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------------------------------------------------------| +libtirpc: libtirpc (Transport-Independent RPC library) +libtirpc: +libtirpc: Libtirpc is a port of Sun's Transport-Independent RPC library to +libtirpc: Linux. It is being developed by Bull GNU/Linux NFSv4 project. +libtirpc: +libtirpc: You will need this library if you plan to use RPC with a GLIBC +libtirpc: version newer than 2.13, because the RPC stack has been removed +libtirpc: from GLIBC versions newer than 2.13. The library is required +libtirpc: by the 'rpcbind' package. +libtirpc: +libtirpc: http://sourceforge.net/projects/libtirpc/ diff --git a/patches/source/libtool/doinst.sh b/patches/source/libtool/doinst.sh new file mode 100644 index 000000000..38b074dd6 --- /dev/null +++ b/patches/source/libtool/doinst.sh @@ -0,0 +1,18 @@ +# Update the /usr/info/dir info-database, so that we will see the new +# "libtool" item in info root structure, if we type "info". +if [ -x /usr/bin/install-info ] ; then + install-info --info-dir=/usr/info /usr/info/libtool.info.gz 2>/dev/null +elif fgrep "libtoolize" usr/info/dir 1> /dev/null 2> /dev/null ; then + GOOD=yes # It seems to be entered in the /usr/info/dir already +else # add the info to the dir file directly: +cat << EOF >> usr/info/dir + +GNU programming tools +* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. +* Libtool: (libtool). Generic shared library support script. + +Individual utilities +* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. +* Libtool: (libtool). Generic shared library support script. +EOF +fi diff --git a/patches/source/libtool/libtool.SlackBuild b/patches/source/libtool/libtool.SlackBuild new file mode 100755 index 000000000..c61c9ba63 --- /dev/null +++ b/patches/source/libtool/libtool.SlackBuild @@ -0,0 +1,104 @@ +#!/bin/sh + +# Copyright 2008, 2013, 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=${VERSION:-$(echo libtool-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-5_slack14.2} + +NUMJOBS=${NUMJOBS:--j6} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libtool + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf libtool-$VERSION + +tar xvf $CWD/libtool-$VERSION.tar.xz || exit 1 + +cd libtool-$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/libtool.no.moved.warning.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/libtool-$VERSION \ + --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 + +gzip -9 $PKG/usr/man/man?/*.? + +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +mkdir -p $PKG/usr/doc/libtool-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* THANKS TODO \ + $PKG/usr/doc/libtool-$VERSION + +mkdir $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/libtool-${VERSION}-$ARCH-$BUILD.txz + diff --git a/patches/source/libtool/libtool.no.moved.warning.diff b/patches/source/libtool/libtool.no.moved.warning.diff new file mode 100644 index 000000000..783c97af3 --- /dev/null +++ b/patches/source/libtool/libtool.no.moved.warning.diff @@ -0,0 +1,42 @@ +diff -Nur libtool-2.4.3.orig/build-aux/ltmain.in libtool-2.4.3/build-aux/ltmain.in +--- libtool-2.4.3.orig/build-aux/ltmain.in 2014-10-27 12:20:51.000000000 -0500 ++++ libtool-2.4.3/build-aux/ltmain.in 2014-10-28 11:01:00.731257807 -0500 +@@ -5978,7 +5978,7 @@ + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then +- func_warning "library '$lib' was moved." ++ #func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir +@@ -6546,7 +6546,7 @@ + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ +- func_warning "'$deplib' seems to be moved" ++ #func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi +diff -Nur libtool-2.4.3.orig/build-aux/ltmain.sh libtool-2.4.3/build-aux/ltmain.sh +--- libtool-2.4.3.orig/build-aux/ltmain.sh 2014-10-27 13:04:31.000000000 -0500 ++++ libtool-2.4.3/build-aux/ltmain.sh 2014-10-28 11:01:14.196484821 -0500 +@@ -7890,7 +7890,7 @@ + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then +- func_warning "library '$lib' was moved." ++ #func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir +@@ -8458,7 +8458,7 @@ + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ +- func_warning "'$deplib' seems to be moved" ++ #func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi diff --git a/patches/source/libtool/slack-desc b/patches/source/libtool/slack-desc new file mode 100644 index 000000000..7bf0e8d32 --- /dev/null +++ b/patches/source/libtool/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------------------------------------------------------| +libtool: libtool (a generic library support script) +libtool: +libtool: This is GNU Libtool, a generic library support script. Libtool hides +libtool: the complexity of using shared libraries behind a consistent, portable +libtool: interface. To use libtool, add the new generic library building +libtool: commands to your Makefile, Makefile.in, or Makefile.am. See the +libtool: documentation for details. +libtool: +libtool: You must install the "m4" package to be able to use libtool. +libtool: +libtool: diff --git a/patches/source/libvorbis/libvorbis.SlackBuild b/patches/source/libvorbis/libvorbis.SlackBuild new file mode 100755 index 000000000..882d6473d --- /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.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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 + + /** + * @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..ac1ead5a8 --- /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 + #include ++#include + + /* 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 > INT_MAX / 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..f08b1f1e5 --- /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 > INT_MAX / *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 */ ++ ++#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 + #include + ++#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 ++ ++#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..4fd24029b --- /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:-7_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# 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" = "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 + +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/libxml2/libxml2.SlackBuild b/patches/source/libxml2/libxml2.SlackBuild new file mode 100755 index 000000000..5a4c810de --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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/libzip/libzip.CVE-2017-14107.diff b/patches/source/libzip/libzip.CVE-2017-14107.diff new file mode 100644 index 000000000..b9999f31a --- /dev/null +++ b/patches/source/libzip/libzip.CVE-2017-14107.diff @@ -0,0 +1,14 @@ +--- ./lib/zip_open.c.orig 2017-09-12 15:55:04.378188022 -0500 ++++ ./lib/zip_open.c 2017-09-12 15:57:11.813198577 -0500 +@@ -687,6 +687,11 @@ + return NULL; + } + ++ if (offset+size > buf_offset + eocd_offset) { ++ /* cdir spans past EOCD record */ ++ zip_error_set(error, ZIP_ER_INCONS, 0); ++ return NULL; ++ } + if ((flags & ZIP_CHECKCONS) && offset+size != buf_offset + eocd_offset) { + zip_error_set(error, ZIP_ER_INCONS, 0); + return NULL; diff --git a/patches/source/libzip/libzip.SlackBuild b/patches/source/libzip/libzip.SlackBuild new file mode 100755 index 000000000..6a67648c6 --- /dev/null +++ b/patches/source/libzip/libzip.SlackBuild @@ -0,0 +1,140 @@ +#!/bin/sh + +# Copyright 2007, 2013, 2015 Heinz Wiesinger, Amsterdam, The Netherlands +# 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. + +# Modified by Robby Workman + + +PKGNAM=libzip +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j6} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libzip + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf libzip-$VERSION +tar xvf $CWD/libzip-$VERSION.tar.?z* || exit 1 +cd libzip-$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/libzip.CVE-2017-14107.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --includedir=/usr/include \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +# Fix symbolic linking for manpages +sed -i "s|\${LN}|\${LN_S}|g" man/Makefile + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# While I perhaps see the motive for putting platform-specific include files +# in a place where they won't collide, the fact is that this breaks anything +# currently using libzip. Adding a link to the standard include directory +# mostly fixes this, but it is still not optimal. It's likely to cause +# problems on multilib systems, for example (but like that whole thing isn't +# an even uglier hack). +( cd $PKG/usr/include ; ln -sf ../lib${LIBDIRSUFFIX}/libzip/include/zipconf.h . ) + +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 | grep -v '\.gz$') ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Now, fix the stupid symbolic manpage links again: +( cd $PKG/usr/man/man3 + find . -type l | while read link ; do + LINKFILE=$(basename $link) + LINKTARGET=$(basename $(readlink $LINKFILE)) + rm $LINKFILE + ln -sf $LINKTARGET $LINKFILE + done +) + +mkdir -p $PKG/usr/doc/libzip-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* THANKS TODO \ + $PKG/usr/doc/libzip-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libzip-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libzip/slack-desc b/patches/source/libzip/slack-desc new file mode 100644 index 000000000..b8b4aaabb --- /dev/null +++ b/patches/source/libzip/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------------------------------------------------------| +libzip: libzip (A library to read, create, and modify Zip archives) +libzip: +libzip: This is libzip, a C library for reading, creating, and modifying +libzip: zip archives. Files can be added from data buffers, files, or +libzip: compressed data copied directly from other zip archives. Changes +libzip: made without closing the archive can be reverted. +libzip: +libzip: Homepage: http://www.nih.at/libzip/ +libzip: +libzip: +libzip: diff --git a/patches/source/loudmouth/loudmouth.SlackBuild b/patches/source/loudmouth/loudmouth.SlackBuild new file mode 100755 index 000000000..557a2c22c --- /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.2} + +NUMJOBS=${NUMJOBS:" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + 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..2be59ddf9 --- /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:-3_slack14.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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/mariadb/doinst.sh b/patches/source/mariadb/doinst.sh new file mode 100644 index 000000000..0defd2fe1 --- /dev/null +++ b/patches/source/mariadb/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.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 +config etc/my.cnf.new +config etc/my.cnf.d/client.cnf.new +config etc/my.cnf.d/mysql-clients.cnf.new +config etc/my.cnf.d/server.cnf.new +config etc/logrotate.d/mysql.new + diff --git a/patches/source/mariadb/mariadb.SlackBuild b/patches/source/mariadb/mariadb.SlackBuild new file mode 100755 index 000000000..ff4511172 --- /dev/null +++ b/patches/source/mariadb/mariadb.SlackBuild @@ -0,0 +1,199 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012, 2013, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2011, 2012, 2013, 2014 Heinz Wiesinger, Amsterdam, The Netherlands +# 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 +# MariaDB conversion by: Heinz Wiesinger +# Also maintained by: Patrick Volkerding + +PKGNAM=mariadb +VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# To reduce the package size, the embedded server may be omitted. Currently +# only amarok uses this. To build without embedded support, set this to NO. +EMBEDDED=${EMBEDDED:-YES} + +# Add a description tag to the $BUILD. This is used by +# "build_embedded_package.sh" to mark packages containing the embedded server, +# but can optionally be used with any kind of custom tag desired. +TAG=${TAG:-} + +# Don't keep the large static libraries by default: +KEEPSTATIC=${KEEPSTATIC:-NO} + +# Don't keep the test suite by default: +KEEPTESTS=${KEEPTESTS:-NO} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} +CWD=$(pwd) +TMP=${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" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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 + +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 {} \; + +# Fix linking with libwrap +sed -i "s|\${CMAKE_REQUIRED_LIBRARIES} wrap|\${CMAKE_REQUIRED_LIBRARIES} wrap nsl|" \ + configure.cmake + +mkdir build +cd build +cmake \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ + -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_MANDIR=man \ + -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \ + -DINSTALL_DOCREADMEDIR="doc/${PKGNAM}-$VERSION" \ + -DINSTALL_DOCDIR="doc/${PKGNAM}-$VERSION" \ + -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=${EMBEDDED} \ + -DWITH_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ + -DWITH_JEMALLOC=system \ + -DUSE_ARIA_FOR_TMP_TABLES=ON \ + .. + +# not building with libwrap. Do we still need tcp_wrappers support? +# -DWITH_LIBWRAP=ON \ + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Leave build directory: +cd .. + +if [ "$KEEPSTATIC" = "NO" ]; then + # Remove large static libraries: + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.a + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqld.a +fi + +if [ "$KEEPTESTS" = "NO" ]; then + # Do not include the test suite: + rm -rf $PKG/usr/mysql-test +fi + +# The ./configure option to omit this has gone away, so we'll omit it +# the old-fashioned way. It's all in the source tarball if you need it. +rm -rf $PKG/usr/sql-bench + +# 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 + +# Add init script: +mkdir -p $PKG/etc/rc.d +# This is installed chmod 644 so that the server does not run by default. +zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new +rm -rf $PKG/etc/init.d + +# Install mysqlaccess.conf +install -m 644 scripts/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new + +# Mark config files under /etc as .new +mv $PKG/etc/my.cnf $PKG/etc/my.cnf.new +mv $PKG/etc/logrotate.d/mysql $PKG/etc/logrotate.d/mysql.new +for i in client mysql-clients server; do + mv $PKG/etc/my.cnf.d/$i.cnf $PKG/etc/my.cnf.d/$i.cnf.new +done + +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 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +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}${TAG}.txz + diff --git a/patches/source/mariadb/mirror.url b/patches/source/mariadb/mirror.url new file mode 100644 index 000000000..173543014 --- /dev/null +++ b/patches/source/mariadb/mirror.url @@ -0,0 +1 @@ +ftp://ftp.osuosl.org/pub/mariadb/ diff --git a/patches/source/mariadb/rc.mysqld b/patches/source/mariadb/rc.mysqld new file mode 100644 index 000000000..e7b7e85e5 --- /dev/null +++ b/patches/source/mariadb/rc.mysqld @@ -0,0 +1,102 @@ +#!/bin/sh +# Start/stop/restart mysqld. +# +# Copyright 2003 Patrick J. Volkerding, Concord, CA +# Copyright 2003 Slackware Linux, Inc., Concord, CA +# Copyright 2008, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# +# 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 MariaDB automatically at boot, be sure this script is executable: +# chmod 755 /etc/rc.d/rc.mysqld + +# Before you can run MariaDB, 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" + +# Uncomment the next line to use Oracle's InnoDB plugin instead of the included XtraDB +#INNODB="--ignore-builtin-innodb --plugin-load=innodb=ha_innodb.so" + +# Uncomment the next line to use TokuDB +#TOKUDB="--plugin-load=ha_tokudb" + +# 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 + + if ! [ -z "$TOKUDB" ]; then + echo "never" > /sys/kernel/mm/transparent_hugepage/enabled + echo "never" > /sys/kernel/mm/transparent_hugepage/defrag + fi + + /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP $INNODB $TOKUDB & + 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 + if ! [ -z "$TOKUDB" ]; then + echo "always" > /sys/kernel/mm/transparent_hugepage/enabled + echo "always" > /sys/kernel/mm/transparent_hugepage/defrag + 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/mariadb/slack-desc b/patches/source/mariadb/slack-desc new file mode 100644 index 000000000..867765fa4 --- /dev/null +++ b/patches/source/mariadb/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------------------------------------------------------| +mariadb: mariadb (Drop-in replacement for the MySQL Database Server) +mariadb: +mariadb: MariaDB is a backward compatible, drop-in replacement branch of the +mariadb: MySQL(R) Database Server. It includes all major open source storage +mariadb: engines, including the Aria storage engine. +mariadb: +mariadb: Homepage: http://mariadb.org/ +mariadb: +mariadb: +mariadb: +mariadb: diff --git a/patches/source/mcabber/mcabber.SlackBuild b/patches/source/mcabber/mcabber.SlackBuild new file mode 100755 index 000000000..ea119e70e --- /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.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +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..e7c951165 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +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 , with help of Martin Mitchell ++and current upstream maintainer, Uwe Ohse . ++ ++Current maintainer is Josip Rodin ++ ++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 ++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 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 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 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 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 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 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 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 Sun, 7 Feb 1999 01:32:31 +0100 ++ ++lrzsz (0.12.17) unstable; urgency=low ++ ++ * sorry, see ../ChangeLog. automagically generated debian/changelog ++ ++ -- Uwe Ohse 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 Sun, 2 Jun 1997 21:00:00 +0200 ++ ++lrzsz (0.12b-1.1) unstable; urgency=low ++ ++ * Non-maintainer release. ++ * Libc6 compile. ++ ++ -- Martin Mitchell 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 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 ++ #endif ++ +++#include +++ ++ #if __STDC__ ++ # include ++ # 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 +++#include ++ #include ++ #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 +++#include ++ #include ++ #include ++ #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 < ++ 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 < ++ 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 < ++ 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 < ++ Autoconf TIOCGETP ++@@ -1259,7 +1258,7 @@ ++ ++ if test $ac_cv_prog_gcc_traditional = no; then ++ cat > conftest.$ac_ext < ++ 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 <&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 ++ 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 < ++ #include ++@@ -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 < ++ #include ++@@ -1513,7 +1512,7 @@ ++ #include ++ 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 ++@@ -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 ++@@ -1569,7 +1568,7 @@ ++ : ++ else ++ cat > conftest.$ac_ext < ++ #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 ++ 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 <&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 <&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 <&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 <&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 <&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 <&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 <&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 < ++ #include ++@@ -1941,7 +1846,7 @@ ++ #include ++ 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 ++@@ -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 ++@@ -1997,7 +1902,7 @@ ++ : ++ else ++ cat > conftest.$ac_ext < ++ #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 ++ 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 ++ 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 ++ 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 ++ 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 ++ 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 < ++ #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 < ++ #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 < ++ #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 < ++ #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 < ++ #include ++@@ -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 < ++ #include ++@@ -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 <&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 < ++ #include ++@@ -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 < ++ #include ++@@ -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 < ++ 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 < ++ /* 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 < ++ #include ++@@ -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 ++ 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 <&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 <&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 < ++ 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 <&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 <&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 <&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 <&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 ++@@ -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 <&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 <&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 <&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 <&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 <&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 <&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 <&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 < ++@@ -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 < ++ 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 <&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 ++ 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 <&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 <&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 < ++ 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 ++ 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 < ++ 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 <&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 <&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 <&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 <&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 <&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 <&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 ++ 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 , 1997. +++# German translation of lrzsz +++# Copyright (C) Uwe Ohse , 1997. +++# Copyright (C) Tobias Toedter , 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 \n" ++-"Language-Team: none. try \n" +++"PO-Revision-Date: 2006-01-12 10:23+0100\n" +++"Last-Translator: Tobias Toedter \n" +++"Language-Team: German \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..c245ed9fc --- /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.2} + +NUMJOBS=${NUMJOBS:--j6} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-minicom + +if [ "$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 + +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 +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 +--- + 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 +Date: Sun, 10 Jun 2012 14:19:01 +0200 +Subject: [PATCH] inetd: fix build failure in Android + +Signed-off-by: Tias Guns +Signed-off-by: Denys Vlasenko +(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 +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 +(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 ++#include /* 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 /* 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 ++#include /* setrlimit */ ++#include /* un.h may need this */ + #include + + #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 + #include /* For IPTOS_LOWDELAY definition */ ++#include /* setpriority */ + #include + #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 /* For IPTOS_LOWDELAY definition */ ++#include /* 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 /* 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 /* 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=:/path/to/file +# 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 +# * 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 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 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 26 November 2007 +# to add support for mkinitrd.conf - No additional license terms added +# Modified by Alan Hicks 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 3 April 2008 +# to add support custom keymaps - No additional license terms added +# Modified by Patrick Volkerding 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 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 21 August 2012 +# Add Btrfs multi-device filesystem support option (-B). +# Modified by Robby Workman 08 March 2017 +# to add support for TRIM on LUKS root devs +# Modified by Patrick Volkerding 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 where '' 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 diff --git a/patches/source/mkinitrd/mkinitrd.SlackBuild b/patches/source/mkinitrd/mkinitrd.SlackBuild new file mode 100755 index 000000000..c7529be11 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j7} +CWD=$(pwd) +TMP=${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 +.\" 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 where '' 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 +.\" 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 +.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: +# Copyright 2008, 2009 PiterPUNK, Sao Paulo, SP, Brazil +# Contact: +# 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 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//... 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/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/patches/source/mozilla-firefox/autoconf/autoconf-2.13-consolidated_fixes-1.patch new file mode 100644 index 000000000..5e7b23113 --- /dev/null +++ b/patches/source/mozilla-firefox/autoconf/autoconf-2.13-consolidated_fixes-1.patch @@ -0,0 +1,504 @@ +Submitted By: Ken Moffat +Date: 2016-06-11 +Initial Package Version: 2.13 +Upstream Status: Version is historic and unmaintained. +Origin: Found at fedora, plus fixes for LFS. +Description: All of the patches currently used by fedora, except for +the patch which ensures gawk is used in preference to mawk (we do not +install mawk). For LFS: we put mktemp in /usr/bin not /bin, remove +the install-info target because that will overwrite standards.info +with an old version (fedora always use a DESTDIR), and change the +man and info dirs to ${datadir}/ i.e. /usr/share (an empty /usr/info +will otherwise be created). + +diff -Naur a/acgeneral.m4 b/acgeneral.m4 +--- a/acgeneral.m4 1999-01-05 13:27:37.000000000 +0000 ++++ b/acgeneral.m4 2016-06-11 00:18:24.429043947 +0100 +@@ -1817,10 +1817,6 @@ + [cat > conftest.$ac_ext </dev/null +@@ -1988,12 +1984,12 @@ + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-main() ++int main() + { + FILE *f=fopen("conftestval", "w"); +- if (!f) exit(1); ++ if (!f) return(1); + fprintf(f, "%d\n", sizeof($1)); +- exit(0); ++ return(0); + }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl + AC_MSG_RESULT($AC_CV_NAME) + AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) +@@ -2160,20 +2156,38 @@ + dnl AC_OUTPUT_MAKE_DEFS() + define(AC_OUTPUT_MAKE_DEFS, + [# Transform confdefs.h into DEFS. +-dnl Using a here document instead of a string reduces the quoting nightmare. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. +-cat > conftest.defs <<\EOF ++# ++# If the first sed substitution is executed (which looks for macros that ++# take arguments), then we branch to the quote section. Otherwise, ++# look for a macro that doesn't take arguments. ++cat >confdef2opt.sed <<\_ACEOF + changequote(<<, >>)dnl +-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +-s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g +-s%\[%\\&%g +-s%\]%\\&%g +-s%\$%$$%g ++t clear ++: clear ++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g ++t quote ++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g ++t quote ++d ++: quote ++s,[ `~#$^&*(){}\\|;'"<>?],\\&,g ++s,\[,\\&,g ++s,\],\\&,g ++s,\$,$$,g ++p + changequote([, ])dnl +-EOF +-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +-rm -f conftest.defs ++_ACEOF ++# We use echo to avoid assuming a particular line-breaking character. ++# The extra dot is to prevent the shell from consuming trailing ++# line-breaks from the sub-command output. A line-break within ++# single-quotes doesn't work because, if this script is created in a ++# platform that uses two characters for line-breaks (e.g., DOS), tr ++# would break. ++ac_LF_and_DOT=`echo; echo .` ++DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` ++rm -f confdef2opt.sed + ]) + + dnl Do the variable substitutions to create the Makefiles or whatever. +diff -Naur a/acspecific.m4 b/acspecific.m4 +--- a/acspecific.m4 1999-01-05 13:27:52.000000000 +0000 ++++ b/acspecific.m4 2016-06-11 00:18:17.533078644 +0100 +@@ -152,8 +152,41 @@ + CXXFLAGS= + fi + fi ++ ++AC_PROG_CXX_EXIT_DECLARATION + ]) + ++ ++# AC_PROG_CXX_EXIT_DECLARATION ++# ----------------------------- ++# Find a valid prototype for exit and declare it in confdefs.h. ++AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION, ++[for ac_declaration in \ ++ ''\ ++ '#include ' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ AC_TRY_COMPILE([#include ++$ac_declaration], ++ [exit (42);], ++ [], ++ [continue]) ++ AC_TRY_COMPILE([$ac_declaration], ++ [exit (42);], ++ [break]) ++done ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++])# AC_PROG_CXX_EXIT_DECLARATION ++ ++ + dnl Determine a Fortran 77 compiler to use. If `F77' is not already set + dnl in the environment, check for `g77', `f77' and `f2c', in that order. + dnl Set the output variable `F77' to the name of the compiler found. +@@ -1010,7 +1043,7 @@ + ]) + + AC_DEFUN(AC_FUNC_MMAP, +-[AC_CHECK_HEADERS(unistd.h) ++[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h) + AC_CHECK_FUNCS(getpagesize) + AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped, + [AC_TRY_RUN([ +@@ -1039,11 +1072,24 @@ + #include + #include + ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++ ++#if HAVE_STDLIB_H ++# include ++#endif ++ ++#if HAVE_SYS_STAT_H ++# include ++#endif ++ ++#if HAVE_UNISTD_H ++# include ++#endif ++ + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +-# ifdef HAVE_UNISTD_H +-# include +-# endif + + /* Assume that all systems that can run configure have sys/param.h. */ + # ifndef HAVE_SYS_PARAM_H +@@ -1373,6 +1419,8 @@ + r.ru_majflt = r.ru_minflt = 0; + switch (fork()) { + case 0: /* Child. */ ++ /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */ ++ if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); } + sleep(1); /* Give up the CPU. */ + _exit(0); + case -1: _exit(0); /* What can we do? */ +diff -Naur a/autoconf.sh b/autoconf.sh +--- a/autoconf.sh 1999-01-05 13:27:53.000000000 +0000 ++++ b/autoconf.sh 2016-06-11 00:22:17.351872133 +0100 +@@ -45,20 +45,20 @@ + esac + + : ${TMPDIR=/tmp} +-tmpout=${TMPDIR}/acout.$$ ++tmpout=`/usr/bin/mktemp ${TMPDIR}/acout.XXXXXX` + localdir= + show_version=no + + while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) +- echo "${usage}" 1>&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;; + --localdir=* | --l*=* ) + localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -l | --localdir | --l*) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + localdir="${1}" + shift ;; + --macrodir=* | --m*=* ) +@@ -66,7 +66,7 @@ + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --v* ) +@@ -76,7 +76,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;; + * ) + break ;; + esac +@@ -86,23 +86,25 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $tmpout + exit 0 + fi + + case $# in + 0) infile=configure.in ;; + 1) infile="$1" ;; +- *) echo "$usage" >&2; exit 1 ;; ++ *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;; + esac + + trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15 + +-tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's. ++tmpin=`/usr/bin/mktemp ${TMPDIR}/acin.XXXXXX` ++# Always set this, to avoid bogus errors from some rm's. + if test z$infile = z-; then + infile=$tmpin +- cat > $infile + elif test ! -r "$infile"; then + echo "autoconf: ${infile}: No such file or directory" >&2 ++ rm -f $tmpin $tmpout + exit 1 + fi + +@@ -111,6 +113,8 @@ + else + use_localdir= + fi ++# Make sure we don't leave those around - they are annoying ++trap 'rm -f $tmpin $tmpout' 0 + + # Use the frozen version of Autoconf if available. + r= f= +@@ -118,7 +122,7 @@ + case `$M4 --help < /dev/null 2>&1` in + *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;; + *traditional*) ;; +-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;; ++*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;; + esac + + $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout || +@@ -154,6 +158,6 @@ + /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/ + ' >&4 + +-rm -f $tmpout ++rm -f $tmpout $tmpin + + exit $status +diff -Naur a/autoconf.texi b/autoconf.texi +--- a/autoconf.texi 1999-01-05 13:28:37.000000000 +0000 ++++ b/autoconf.texi 2016-06-11 00:18:46.360933604 +0100 +@@ -1,7 +1,7 @@ + \input texinfo @c -*-texinfo-*- + @c %**start of header +-@setfilename autoconf.info +-@settitle Autoconf ++@setfilename autoconf.info ++@settitle Autoconf + @c For double-sided printing, uncomment: + @c @setchapternewpage odd + @c %**end of header +@@ -17,7 +17,8 @@ + @ifinfo + @format + START-INFO-DIR-ENTRY +-* Autoconf: (autoconf). Create source code configuration scripts. ++* Autoconf: (autoconf). Create source code configuration scripts. ++ This is a legacy version of autoconf. + END-INFO-DIR-ENTRY + @end format + +diff -Naur a/autoheader.sh b/autoheader.sh +--- a/autoheader.sh 1999-01-05 13:28:39.000000000 +0000 ++++ b/autoheader.sh 2016-06-11 00:22:17.351872133 +0100 +@@ -194,9 +194,9 @@ + # Some fgrep's have limits on the number of lines that can be in the + # pattern on the command line, so use a temporary file containing the + # pattern. +- (fgrep_tmp=${TMPDIR-/tmp}/autoh$$ ++ (fgrep_tmp=`/usr/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX` + trap "rm -f $fgrep_tmp; exit 1" 1 2 15 +- cat > $fgrep_tmp <> $fgrep_tmp <&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;; + --macrodir=* | --m*=* ) + AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --versio | --versi | --vers) +@@ -51,7 +51,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;; + * ) + break ;; + esac +@@ -61,6 +61,7 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $sedtmp + exit 0 + fi + +@@ -68,6 +69,7 @@ + + tmpout=acupo.$$ + trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15 ++trap 'rm -f $sedtmp' 0 + case $# in + 0) infile=configure.in; out="> $tmpout" + # Make sure $infile can be read, and $tmpout has the same permissions. +diff -Naur a/configure b/configure +--- a/configure 1999-01-05 13:28:57.000000000 +0000 ++++ b/configure 2016-06-11 00:50:57.771231914 +0100 +@@ -43,8 +43,8 @@ + libdir='${exec_prefix}/lib' + includedir='${prefix}/include' + oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' ++infodir='${datadir}/info' ++mandir='${datadir}/man' + + # Initialize some other variables. + subdirs= +diff -Naur a/Makefile.in b/Makefile.in +--- a/Makefile.in 1999-01-05 13:27:16.000000000 +0000 ++++ b/Makefile.in 2016-06-11 00:29:34.005678107 +0100 +@@ -49,7 +49,7 @@ + + # Directory in which to install library files. + datadir = @datadir@ +-acdatadir = $(datadir)/autoconf ++acdatadir = $(datadir)/autoconf-2.13 + + # Directory in which to install documentation info files. + infodir = @infodir@ +@@ -68,8 +68,8 @@ + DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \ + Makefile.in NEWS README TODO $(M4FILES) \ + acconfig.h acfunctions acheaders acidentifiers \ +- acmakevars acprograms autoconf.info* \ +- autoconf.sh autoconf.texi install.texi \ ++ acmakevars acprograms autoconf.info* \ ++ autoconf.sh autoconf.texi install.texi \ + autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \ + config.guess config.sub configure configure.in \ + install-sh mkinstalldirs texinfo.tex \ +@@ -106,11 +106,11 @@ + autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + +-info: autoconf.info @standards_info@ INSTALL ++info: autoconf.info @standards_info@ INSTALL + + # Use --no-split to avoid creating filenames > 14 chars. +-autoconf.info: autoconf.texi install.texi +- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ ++autoconf.info: autoconf.texi install.texi ++ $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ + + INSTALL: install.texi + $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \ +@@ -121,8 +121,8 @@ + + dvi: autoconf.dvi @standards_dvi@ + +-autoconf.dvi: autoconf.texi +- $(TEXI2DVI) $(srcdir)/autoconf.texi ++autoconf.dvi: autoconf.texi ++ $(TEXI2DVI) $(srcdir)/autoconf.texi + + standards.dvi: standards.texi make-stds.texi + $(TEXI2DVI) $(srcdir)/standards.texi +@@ -137,35 +137,35 @@ + cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@ + + installdirs: +- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir) ++ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir) + +-install: all $(M4FILES) acconfig.h installdirs install-info ++install: all $(M4FILES) acconfig.h installdirs + for p in $(ASCRIPTS); do \ +- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \ + done + for i in $(M4FROZEN); do \ +- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + for i in $(M4FILES) acconfig.h; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + -if test -f autoscan; then \ +- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \ + for i in acfunctions acheaders acidentifiers acprograms \ + acmakevars; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done; \ + else :; fi + + # Don't cd, to avoid breaking install-sh references. + install-info: info installdirs +- if test -f autoconf.info; then \ ++ if test -f autoconf.info; then \ + for i in *.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \ + done; \ + else \ + for i in $(srcdir)/*.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ + done; \ + fi + +@@ -174,7 +174,7 @@ + rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ + done + rm -fr $(acdatadir) +- cd $(infodir) && rm -f autoconf.info* ++ cd $(infodir) && rm -f autoconf.info* + if test -f standards.info || test -f $(srcdir)/standards.info; \ + then cd $(infodir) && rm -f standards.info*; fi + +diff -Naur a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp +--- a/testsuite/autoconf.s/syntax.exp 1999-01-05 13:29:54.000000000 +0000 ++++ b/testsuite/autoconf.s/syntax.exp 2016-06-11 00:18:51.996905247 +0100 +@@ -2,7 +2,7 @@ + + send_user "Checking for syntax errors in the specific tests...\n" + set script {s/^AC_DEFUN(\([^,]*\).*/\1/p} +-set macros [exec sed -n $script $srcdir/../acspecific.m4] ++set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77] + + foreach mac $macros { + send_user "$mac\n" diff --git a/patches/source/mozilla-firefox/autoconf/autoconf.build b/patches/source/mozilla-firefox/autoconf/autoconf.build new file mode 100755 index 000000000..7dae1bad1 --- /dev/null +++ b/patches/source/mozilla-firefox/autoconf/autoconf.build @@ -0,0 +1,81 @@ +#!/bin/sh + +# Copyright 2005-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=autoconf +VERSION=2.13 +BUILD=${BUILD:-1} + +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-autoconf + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf autoconf-$VERSION +tar xvf $CWD/autoconf-$VERSION.tar.xz || exit 1 +cd autoconf-$VERSION + +zcat $CWD/autoconf-2.13-consolidated_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 {} \; + +# Build a temporary copy of autoconf-2.13 only to be used to compile +# Firefox, since it somewhat inexplicably requires this ancient version: + +rm -rf $TMP/autoconf-tmp +mkdir -p $TMP/autoconf-tmp +# This will be at the beginning of the $PATH, so protect against nonsense +# happening in /tmp: +chmod 700 $TMP/autoconf-tmp +rm -rf $TMP/autoconf-tmp/* +mkdir -p $TMP/autoconf-tmp/usr + +./configure \ + --prefix=$TMP/autoconf-tmp/usr \ + --program-suffix=-2.13 \ + --infodir=$TMP/autoconf-tmp/usr/info \ + --mandir=$TMP/autoconf-tmp/usr/man \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install || exit 1 + diff --git a/patches/source/mozilla-firefox/build-with-clang.diff b/patches/source/mozilla-firefox/build-with-clang.diff new file mode 100644 index 000000000..54c0e1055 --- /dev/null +++ b/patches/source/mozilla-firefox/build-with-clang.diff @@ -0,0 +1,13 @@ +--- ./mozilla-firefox.SlackBuild.orig 2016-11-16 12:12:10.068029005 -0600 ++++ ./mozilla-firefox.SlackBuild 2016-11-16 12:41:26.774085280 -0600 +@@ -220,6 +220,10 @@ + # needed for PGO. + echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig + ++# Build using clang: ++echo "export CC=clang" >> .mozconfig ++echo "export CXX=clang++" >> .mozconfig ++ + # Mozilla devs enforce using an objdir for building + # https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir + mkdir obj 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/gold/gold b/patches/source/mozilla-firefox/gold/gold new file mode 100755 index 000000000..8c86d3b06 --- /dev/null +++ b/patches/source/mozilla-firefox/gold/gold @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/bin/ld.gold "$@" diff --git a/patches/source/mozilla-firefox/gold/ld b/patches/source/mozilla-firefox/gold/ld new file mode 120000 index 000000000..78a06a2a1 --- /dev/null +++ b/patches/source/mozilla-firefox/gold/ld @@ -0,0 +1 @@ +gold \ No newline at end of file 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 @@ + + + + + + + + + + + + + + + + + + + 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 @@ +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild new file mode 100755 index 000000000..9b0dd6189 --- /dev/null +++ b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild @@ -0,0 +1,307 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 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. + +# Thanks to the folks at the Mozilla Foundation for permission to +# distribute this, and for all the great work! :-) + +VERSION=$(basename $(ls firefox-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source) +RELEASEVER=$(echo $VERSION | cut -f 1 -d r | cut -f 1 -d b | cut -f 1 -d e) +BUILD=${BUILD:-1_slack14.2} + +# Specify this variable for a localized build. +# For example, to build a version of Firefox with Italian support, run +# the build script like this: +# +# MOZLOCALIZE=it ./mozilla-firefox.SlackBuild +# +MOZLOCALIZE=${MOZLOCALIZE:-} + +# Without LANG=C, building the Python environment may fail with: +# "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 36: ordinal not in range(128)" +LANG=C + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# 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). +# +# NOTE: The 23.0 release fails to compile with a GLib assert error if PGO +# is enabled, so it is being disabled by default. I can't say I ever noticed +# a lot of difference with this anyway (other than a much, much longer compile +# time. But pass PGO=yes to the SlackBuild if you want to try it. +#if [ "$ARCH" = "x86_64" ]; then +# PGO=${PGO:-yes} +#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 +# +# PGO is disabled by default: +PGO=${PGO:-no} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O1 " +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O1 " +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + OPTIMIZE=" --enable-optimize=-O1 " +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O1 " +elif [ "$ARCH" = "armel" ]; then + SLKCFLAGS="-O2 -march=armv4t" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O1 " +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O1 " +fi + +# Link using gold. This avoids running out of memory on 32-bit systems, and +# avoids a recurring build failure with GNU ld on other systems. +PATH="$(pwd)/gold:$PATH" +export CC="gcc -B$(pwd)/gold" +export CXX="g++ -B$(pwd)/gold" + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mozilla-firefox + +# If not specified, figure out if this is a beta or a release +MOZVERS=${MOZVERS:-release} +if echo $VERSION | grep -q b ; then MOZVERS=beta ; fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX} + +# We need to use the incredibly ancient autoconf-2.13 for this :/ +( cd $CWD/autoconf ; ./autoconf.build ) +PATH=/tmp/autoconf-tmp/usr/bin:$PATH + +cd $TMP +rm -rf firefox-$VERSION +# Unpack this in a subdirectory to prevent changing permissions on /tmp: +rm -rf firefox-unpack +mkdir firefox-unpack +cd firefox-unpack +tar xvf $CWD/firefox-$VERSION.source.tar.?z* || exit 1 +mv * .. +cd .. +rm -rf firefox-unpack +cd firefox-$VERSION || exit 1 + +# Fetch localization, if requested +# https://bugzilla.mozilla.org/show_bug.cgi?id=1256955 +if [ ! -z $MOZLOCALIZE ]; then + LOC_URL="http://ftp.mozilla.org/pub/firefox/candidates/$VERSION-candidates/build1/l10n_changesets.txt" + LOC_COMMIT=$(wget -q -O - $LOC_URL | grep ^$MOZLOCALIZE | cut -d\ -f2) + hg clone https://hg.mozilla.org/l10n-central/$MOZLOCALIZE -r $LOC_COMMIT +fi + +# 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 {} \; + +# 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-alsa \ + --enable-application=browser \ + --enable-default-toolkit=cairo-gtk2 \ + --enable-startup-notification \ + $OPTIMIZE \ + --enable-strip \ + --enable-cpp-rtti \ + --disable-accessibility \ + --disable-crashreporter \ + --disable-debug" +# Complains about missing APNG support in Slackware's libpng: +# --with-system-png \ +# This option breaks mozilla-12.0: +# --enable-system-cairo \ +# NOTE: It probably reduces bugs to use the bundled library versions, +# so in general we will not --enable-system-libraries. +# But since system zlib has been used for a long time and isn't a moving +# target, we'll leave that one as-is. +if [ ! -z $MOZLOCALIZE ]; then + OPTIONS=$OPTIONS" \ + --enable-ui-locale=$MOZLOCALIZE + --with-l10n-base=.." + # There are no dictionaries in localized builds + sed -i \ + -e "/@BINPATH@\/dictionaries\/\*/d" \ + -e "/@RESPATH@\/dictionaries\/\*/d" \ + browser/installer/package-manifest.in || exit 1 +fi + +export MOZILLA_OFFICIAL="1" +export BUILD_OFFICIAL="1" +export MOZ_PHOENIX="1" +export MOZ_PACKAGE_JSSHELL="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=$(pwd)/obj" >> .mozconfig + +if [ "$MOZLOCALIZE" ]; then + echo "mk_add_options MOZ_CO_LOCALES=\"$MOZLOCALIZE\"" >> .mozconfig +fi + +# 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='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> .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 + echo "ac_add_options --disable-tests" >> .mozconfig + 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 +if [ -z $MOZLOCALIZE ]; then + /sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz +else + /sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-${BUILD}_$MOZLOCALIZE.txz +fi + 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 @@ + + + + + + + + + + + + +NSS FAQ + + + +
+ + +
+
+ +
+
+ + + + +
+

NSS FAQ

+ + +Newsgroup: +mozilla.dev.tech.crypto + + +
+ +

+


+

+ +General Questions + +

+ +Developer Questions + + +Licensing Questions + +

+
General Questions

+

What is Network Security Services (NSS)?

+

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. + +

For an +overview of NSS, see Overview of NSS. For detailed information +on the open-source NSS project, see NSS Project Page. + +
+

What can I do with NSS? Is NSS appropriate for +my application?

+

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. +

The PKCS #11 interface included in NSS means that your application can +use hardware accelerators on the server and smart +cards for two-factor authentication. +
+ +

How does NSS compare to OpenSSL?

+ +OpenSSL 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. + +

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 Mozilla Public License, the +GNU General Public License, +and the GNU Lesser General Public License. +You may choose to use the code either under the terms of the MPL or the GPL or the LGPL. + +

How does NSS compare to SSLRef?

+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. + +

Netscape no longer maintains SSLRef or makes it available. It was built as +an example of an SSL implementation, not for creating production applications. + +

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. + +

What platforms and development environments are supported?

+

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. + +

For the latest NSS release notes and detailed platform information, see +NSS 3.1 Release Notes. + +

What cryptography standards does NSS support?

+

NSS supports SSL v2 and v3, + TLS, + PKCS #5, + PKCS #7, + PKCS #11, + PKCS #12, + S/MIME, and + X.509 v3 certificates. +For complete details, +see +Encryption Technologies. + +

What is the relationship between NSS and PSM?

+ +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. + +

For more information about the PSM open-source project, see Personal Security Manager. + +

Where can I get the source code?

+ +For instructions on how to check out and build the NSS 3.1 source code, see +Build Instructions for NSS 3.1. The source code may also +be downloaded as a tar file from +ftp://ftp.mozilla.org/pub/mozilla.org/security/. + +

How much does it cost?

+ +NSS source code and binaries (when they become available) are completely free. No license fees, +no royalty fees, no subscription fees. + + +

+
Developer Questions

+ +

What hardware accelerators are supported?

+

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. +

How do I integrate smart cards into my application using +NSS?

+

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. + +

How is NSS compatible with other Netscape products?

+

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 and TLS. Second, NSS makes it easy +to share certificates between Netscape client and server products +and your application. + +

Does NSS require Netscape Portable Runtime (NSPR)?

+

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 +Netscape Portable Runtime. +
+ +

Can I use NSS even if my application protocol isn't +HTTP?

+

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. + +
+

How long does it take to integrate NSS into my application?

+

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. + +

Where can I download the NSS tools?

+ +Currently, you must download the NSS source and build it to create binary files for the NSS tools. +For more information, see NSS Tools. + + +

How can I learn more about SSL?

+ +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 +SSL/TLS Project Page. For information about the NSS tools, including those used +for debugging SSL applications, see +NSS Security Tools. + +

+
Licensing Questions

+

How is NSS licensed?

+

NSS is triple-licensed under the Mozilla Public License, the +GNU General Public License, +and the GNU Lesser General Public License. +For more details, see the Mozilla Crypto FAQ. + +

Is NSS available outside the United States?

+

Yes; see +Build Instructions for NSS 3.1. and +ftp://ftp.mozilla.org/pub/mozilla.org/security/. +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). + +

For more information about U.S. export controls on encryption software, +see the Mozilla Crypto FAQ. + + + + + +


+
+
+ +
+ + 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. + + + Copyright (C) + + 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. + + , 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. + + + Copyright (C) + + 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. + + , 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..9d6bb9091 --- /dev/null +++ b/patches/source/mozilla-nss/mozilla-nss.SlackBuild @@ -0,0 +1,186 @@ +#!/bin/sh +# Copyright 2005, 2006, 2008, 2009, 2010, 2012 Eric Hameleers, Eindhoven, NL +# Copyright 2013, 2014, 2015, 2017 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.31.1} +NSPR=${NSPR:-4.16} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i586 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -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 . + +# -Werror is problematic with gcc7: +sed -i "s|\ -Werror| |" nss/coreconf/Werror.mk || 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 {} \; + +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 || exit 1 +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 < $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 < $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 <&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/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/patches/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch new file mode 100644 index 000000000..5e7b23113 --- /dev/null +++ b/patches/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch @@ -0,0 +1,504 @@ +Submitted By: Ken Moffat +Date: 2016-06-11 +Initial Package Version: 2.13 +Upstream Status: Version is historic and unmaintained. +Origin: Found at fedora, plus fixes for LFS. +Description: All of the patches currently used by fedora, except for +the patch which ensures gawk is used in preference to mawk (we do not +install mawk). For LFS: we put mktemp in /usr/bin not /bin, remove +the install-info target because that will overwrite standards.info +with an old version (fedora always use a DESTDIR), and change the +man and info dirs to ${datadir}/ i.e. /usr/share (an empty /usr/info +will otherwise be created). + +diff -Naur a/acgeneral.m4 b/acgeneral.m4 +--- a/acgeneral.m4 1999-01-05 13:27:37.000000000 +0000 ++++ b/acgeneral.m4 2016-06-11 00:18:24.429043947 +0100 +@@ -1817,10 +1817,6 @@ + [cat > conftest.$ac_ext </dev/null +@@ -1988,12 +1984,12 @@ + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-main() ++int main() + { + FILE *f=fopen("conftestval", "w"); +- if (!f) exit(1); ++ if (!f) return(1); + fprintf(f, "%d\n", sizeof($1)); +- exit(0); ++ return(0); + }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl + AC_MSG_RESULT($AC_CV_NAME) + AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) +@@ -2160,20 +2156,38 @@ + dnl AC_OUTPUT_MAKE_DEFS() + define(AC_OUTPUT_MAKE_DEFS, + [# Transform confdefs.h into DEFS. +-dnl Using a here document instead of a string reduces the quoting nightmare. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. +-cat > conftest.defs <<\EOF ++# ++# If the first sed substitution is executed (which looks for macros that ++# take arguments), then we branch to the quote section. Otherwise, ++# look for a macro that doesn't take arguments. ++cat >confdef2opt.sed <<\_ACEOF + changequote(<<, >>)dnl +-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +-s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g +-s%\[%\\&%g +-s%\]%\\&%g +-s%\$%$$%g ++t clear ++: clear ++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g ++t quote ++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g ++t quote ++d ++: quote ++s,[ `~#$^&*(){}\\|;'"<>?],\\&,g ++s,\[,\\&,g ++s,\],\\&,g ++s,\$,$$,g ++p + changequote([, ])dnl +-EOF +-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +-rm -f conftest.defs ++_ACEOF ++# We use echo to avoid assuming a particular line-breaking character. ++# The extra dot is to prevent the shell from consuming trailing ++# line-breaks from the sub-command output. A line-break within ++# single-quotes doesn't work because, if this script is created in a ++# platform that uses two characters for line-breaks (e.g., DOS), tr ++# would break. ++ac_LF_and_DOT=`echo; echo .` ++DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` ++rm -f confdef2opt.sed + ]) + + dnl Do the variable substitutions to create the Makefiles or whatever. +diff -Naur a/acspecific.m4 b/acspecific.m4 +--- a/acspecific.m4 1999-01-05 13:27:52.000000000 +0000 ++++ b/acspecific.m4 2016-06-11 00:18:17.533078644 +0100 +@@ -152,8 +152,41 @@ + CXXFLAGS= + fi + fi ++ ++AC_PROG_CXX_EXIT_DECLARATION + ]) + ++ ++# AC_PROG_CXX_EXIT_DECLARATION ++# ----------------------------- ++# Find a valid prototype for exit and declare it in confdefs.h. ++AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION, ++[for ac_declaration in \ ++ ''\ ++ '#include ' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ AC_TRY_COMPILE([#include ++$ac_declaration], ++ [exit (42);], ++ [], ++ [continue]) ++ AC_TRY_COMPILE([$ac_declaration], ++ [exit (42);], ++ [break]) ++done ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++])# AC_PROG_CXX_EXIT_DECLARATION ++ ++ + dnl Determine a Fortran 77 compiler to use. If `F77' is not already set + dnl in the environment, check for `g77', `f77' and `f2c', in that order. + dnl Set the output variable `F77' to the name of the compiler found. +@@ -1010,7 +1043,7 @@ + ]) + + AC_DEFUN(AC_FUNC_MMAP, +-[AC_CHECK_HEADERS(unistd.h) ++[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h) + AC_CHECK_FUNCS(getpagesize) + AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped, + [AC_TRY_RUN([ +@@ -1039,11 +1072,24 @@ + #include + #include + ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++ ++#if HAVE_STDLIB_H ++# include ++#endif ++ ++#if HAVE_SYS_STAT_H ++# include ++#endif ++ ++#if HAVE_UNISTD_H ++# include ++#endif ++ + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +-# ifdef HAVE_UNISTD_H +-# include +-# endif + + /* Assume that all systems that can run configure have sys/param.h. */ + # ifndef HAVE_SYS_PARAM_H +@@ -1373,6 +1419,8 @@ + r.ru_majflt = r.ru_minflt = 0; + switch (fork()) { + case 0: /* Child. */ ++ /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */ ++ if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); } + sleep(1); /* Give up the CPU. */ + _exit(0); + case -1: _exit(0); /* What can we do? */ +diff -Naur a/autoconf.sh b/autoconf.sh +--- a/autoconf.sh 1999-01-05 13:27:53.000000000 +0000 ++++ b/autoconf.sh 2016-06-11 00:22:17.351872133 +0100 +@@ -45,20 +45,20 @@ + esac + + : ${TMPDIR=/tmp} +-tmpout=${TMPDIR}/acout.$$ ++tmpout=`/usr/bin/mktemp ${TMPDIR}/acout.XXXXXX` + localdir= + show_version=no + + while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) +- echo "${usage}" 1>&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;; + --localdir=* | --l*=* ) + localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -l | --localdir | --l*) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + localdir="${1}" + shift ;; + --macrodir=* | --m*=* ) +@@ -66,7 +66,7 @@ + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --v* ) +@@ -76,7 +76,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;; + * ) + break ;; + esac +@@ -86,23 +86,25 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $tmpout + exit 0 + fi + + case $# in + 0) infile=configure.in ;; + 1) infile="$1" ;; +- *) echo "$usage" >&2; exit 1 ;; ++ *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;; + esac + + trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15 + +-tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's. ++tmpin=`/usr/bin/mktemp ${TMPDIR}/acin.XXXXXX` ++# Always set this, to avoid bogus errors from some rm's. + if test z$infile = z-; then + infile=$tmpin +- cat > $infile + elif test ! -r "$infile"; then + echo "autoconf: ${infile}: No such file or directory" >&2 ++ rm -f $tmpin $tmpout + exit 1 + fi + +@@ -111,6 +113,8 @@ + else + use_localdir= + fi ++# Make sure we don't leave those around - they are annoying ++trap 'rm -f $tmpin $tmpout' 0 + + # Use the frozen version of Autoconf if available. + r= f= +@@ -118,7 +122,7 @@ + case `$M4 --help < /dev/null 2>&1` in + *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;; + *traditional*) ;; +-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;; ++*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;; + esac + + $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout || +@@ -154,6 +158,6 @@ + /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/ + ' >&4 + +-rm -f $tmpout ++rm -f $tmpout $tmpin + + exit $status +diff -Naur a/autoconf.texi b/autoconf.texi +--- a/autoconf.texi 1999-01-05 13:28:37.000000000 +0000 ++++ b/autoconf.texi 2016-06-11 00:18:46.360933604 +0100 +@@ -1,7 +1,7 @@ + \input texinfo @c -*-texinfo-*- + @c %**start of header +-@setfilename autoconf.info +-@settitle Autoconf ++@setfilename autoconf.info ++@settitle Autoconf + @c For double-sided printing, uncomment: + @c @setchapternewpage odd + @c %**end of header +@@ -17,7 +17,8 @@ + @ifinfo + @format + START-INFO-DIR-ENTRY +-* Autoconf: (autoconf). Create source code configuration scripts. ++* Autoconf: (autoconf). Create source code configuration scripts. ++ This is a legacy version of autoconf. + END-INFO-DIR-ENTRY + @end format + +diff -Naur a/autoheader.sh b/autoheader.sh +--- a/autoheader.sh 1999-01-05 13:28:39.000000000 +0000 ++++ b/autoheader.sh 2016-06-11 00:22:17.351872133 +0100 +@@ -194,9 +194,9 @@ + # Some fgrep's have limits on the number of lines that can be in the + # pattern on the command line, so use a temporary file containing the + # pattern. +- (fgrep_tmp=${TMPDIR-/tmp}/autoh$$ ++ (fgrep_tmp=`/usr/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX` + trap "rm -f $fgrep_tmp; exit 1" 1 2 15 +- cat > $fgrep_tmp <> $fgrep_tmp <&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;; + --macrodir=* | --m*=* ) + AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --versio | --versi | --vers) +@@ -51,7 +51,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;; + * ) + break ;; + esac +@@ -61,6 +61,7 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $sedtmp + exit 0 + fi + +@@ -68,6 +69,7 @@ + + tmpout=acupo.$$ + trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15 ++trap 'rm -f $sedtmp' 0 + case $# in + 0) infile=configure.in; out="> $tmpout" + # Make sure $infile can be read, and $tmpout has the same permissions. +diff -Naur a/configure b/configure +--- a/configure 1999-01-05 13:28:57.000000000 +0000 ++++ b/configure 2016-06-11 00:50:57.771231914 +0100 +@@ -43,8 +43,8 @@ + libdir='${exec_prefix}/lib' + includedir='${prefix}/include' + oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' ++infodir='${datadir}/info' ++mandir='${datadir}/man' + + # Initialize some other variables. + subdirs= +diff -Naur a/Makefile.in b/Makefile.in +--- a/Makefile.in 1999-01-05 13:27:16.000000000 +0000 ++++ b/Makefile.in 2016-06-11 00:29:34.005678107 +0100 +@@ -49,7 +49,7 @@ + + # Directory in which to install library files. + datadir = @datadir@ +-acdatadir = $(datadir)/autoconf ++acdatadir = $(datadir)/autoconf-2.13 + + # Directory in which to install documentation info files. + infodir = @infodir@ +@@ -68,8 +68,8 @@ + DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \ + Makefile.in NEWS README TODO $(M4FILES) \ + acconfig.h acfunctions acheaders acidentifiers \ +- acmakevars acprograms autoconf.info* \ +- autoconf.sh autoconf.texi install.texi \ ++ acmakevars acprograms autoconf.info* \ ++ autoconf.sh autoconf.texi install.texi \ + autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \ + config.guess config.sub configure configure.in \ + install-sh mkinstalldirs texinfo.tex \ +@@ -106,11 +106,11 @@ + autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + +-info: autoconf.info @standards_info@ INSTALL ++info: autoconf.info @standards_info@ INSTALL + + # Use --no-split to avoid creating filenames > 14 chars. +-autoconf.info: autoconf.texi install.texi +- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ ++autoconf.info: autoconf.texi install.texi ++ $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ + + INSTALL: install.texi + $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \ +@@ -121,8 +121,8 @@ + + dvi: autoconf.dvi @standards_dvi@ + +-autoconf.dvi: autoconf.texi +- $(TEXI2DVI) $(srcdir)/autoconf.texi ++autoconf.dvi: autoconf.texi ++ $(TEXI2DVI) $(srcdir)/autoconf.texi + + standards.dvi: standards.texi make-stds.texi + $(TEXI2DVI) $(srcdir)/standards.texi +@@ -137,35 +137,35 @@ + cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@ + + installdirs: +- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir) ++ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir) + +-install: all $(M4FILES) acconfig.h installdirs install-info ++install: all $(M4FILES) acconfig.h installdirs + for p in $(ASCRIPTS); do \ +- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \ + done + for i in $(M4FROZEN); do \ +- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + for i in $(M4FILES) acconfig.h; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + -if test -f autoscan; then \ +- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \ + for i in acfunctions acheaders acidentifiers acprograms \ + acmakevars; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done; \ + else :; fi + + # Don't cd, to avoid breaking install-sh references. + install-info: info installdirs +- if test -f autoconf.info; then \ ++ if test -f autoconf.info; then \ + for i in *.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \ + done; \ + else \ + for i in $(srcdir)/*.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ + done; \ + fi + +@@ -174,7 +174,7 @@ + rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ + done + rm -fr $(acdatadir) +- cd $(infodir) && rm -f autoconf.info* ++ cd $(infodir) && rm -f autoconf.info* + if test -f standards.info || test -f $(srcdir)/standards.info; \ + then cd $(infodir) && rm -f standards.info*; fi + +diff -Naur a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp +--- a/testsuite/autoconf.s/syntax.exp 1999-01-05 13:29:54.000000000 +0000 ++++ b/testsuite/autoconf.s/syntax.exp 2016-06-11 00:18:51.996905247 +0100 +@@ -2,7 +2,7 @@ + + send_user "Checking for syntax errors in the specific tests...\n" + set script {s/^AC_DEFUN(\([^,]*\).*/\1/p} +-set macros [exec sed -n $script $srcdir/../acspecific.m4] ++set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77] + + foreach mac $macros { + send_user "$mac\n" diff --git a/patches/source/mozilla-thunderbird/autoconf/autoconf.build b/patches/source/mozilla-thunderbird/autoconf/autoconf.build new file mode 100755 index 000000000..7dae1bad1 --- /dev/null +++ b/patches/source/mozilla-thunderbird/autoconf/autoconf.build @@ -0,0 +1,81 @@ +#!/bin/sh + +# Copyright 2005-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=autoconf +VERSION=2.13 +BUILD=${BUILD:-1} + +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-autoconf + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf autoconf-$VERSION +tar xvf $CWD/autoconf-$VERSION.tar.xz || exit 1 +cd autoconf-$VERSION + +zcat $CWD/autoconf-2.13-consolidated_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 {} \; + +# Build a temporary copy of autoconf-2.13 only to be used to compile +# Firefox, since it somewhat inexplicably requires this ancient version: + +rm -rf $TMP/autoconf-tmp +mkdir -p $TMP/autoconf-tmp +# This will be at the beginning of the $PATH, so protect against nonsense +# happening in /tmp: +chmod 700 $TMP/autoconf-tmp +rm -rf $TMP/autoconf-tmp/* +mkdir -p $TMP/autoconf-tmp/usr + +./configure \ + --prefix=$TMP/autoconf-tmp/usr \ + --program-suffix=-2.13 \ + --infodir=$TMP/autoconf-tmp/usr/info \ + --mandir=$TMP/autoconf-tmp/usr/man \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install || exit 1 + diff --git a/patches/source/mozilla-thunderbird/gold/gold b/patches/source/mozilla-thunderbird/gold/gold new file mode 100755 index 000000000..8c86d3b06 --- /dev/null +++ b/patches/source/mozilla-thunderbird/gold/gold @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/bin/ld.gold "$@" diff --git a/patches/source/mozilla-thunderbird/gold/ld b/patches/source/mozilla-thunderbird/gold/ld new file mode 120000 index 000000000..78a06a2a1 --- /dev/null +++ b/patches/source/mozilla-thunderbird/gold/ld @@ -0,0 +1 @@ +gold \ No newline at end of file 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..eb88ecd4b --- /dev/null +++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild @@ -0,0 +1,247 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 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. + +# Modified 2012 by Eric Hameleers for ARM port. + +# Thanks to the folks at the Mozilla Foundation for permission to +# distribute this, and for all the great work! :-) + +VERSION=$(basename $(ls thunderbird-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source) +RELEASEVER=$(echo $VERSION | cut -f 1 -d e | cut -f 1 -d b) +BUILD=${BUILD:-1_slack14.2} + +# Specify this variable for a localized build. +# For example, to build a version of Thunderbird with Italian support, run +# the build script like this: +# +# MOZLOCALIZE=it ./mozilla-firefox.SlackBuild +# +MOZLOCALIZE=${MOZLOCALIZE:-} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + armv7hl) export ARCH=armv7hl ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O2 " +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-fPIC" + LIBDIRSUFFIX="64" + OPTIMIZE=" --enable-optimize=-O2 " +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-march=armv4 -mtune=xscale" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O2 " +else + SLKCFLAGS="" + LIBDIRSUFFIX="" + OPTIMIZE=" --enable-optimize=-O2 " +fi + +# Link using gold. This avoids running out of memory on 32-bit systems, and +# avoids a recurring build failure with GNU ld on other systems. +PATH="$(pwd)/gold:$PATH" +export CC="gcc -B$(pwd)/gold" +export CXX="g++ -B$(pwd)/gold" + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mozilla-thunderbird + +NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX} + +# We need to use the incredibly ancient autoconf-2.13 for this :/ +( cd $CWD/autoconf ; ./autoconf.build ) +PATH=/tmp/autoconf-tmp/usr/bin:$PATH + +cd $TMP +rm -rf thunderbird-$VERSION +# Unpack this in a subdirectory to prevent changing permissions on /tmp: +rm -rf thunderbird-unpack +mkdir thunderbird-unpack +cd thunderbird-unpack +tar xvf $CWD/thunderbird-$VERSION.source.tar.?z* || exit 1 +mv * .. +cd .. +rm -rf thunderbird-unpack +cd thunderbird-$VERSION || exit 1 + +# Fetch localization, if requested: +if [ ! -z $MOZLOCALIZE ]; then + LOC_TAG="THUNDERBIRD_$( echo $VERSION | tr \. _ )_RELEASE" + rm -f $LOC_TAG.tar.bz2 + wget https://hg.mozilla.org/releases/l10n/mozilla-release/$MOZLOCALIZE/archive/$LOC_TAG.tar.bz2 + tar xvf $LOC_TAG.tar.bz2 + mv $MOZLOCALIZE-$LOC_TAG $MOZLOCALIZE +fi + +# 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 {} \; + +# 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}/thunderbird-$RELEASEVER \ + --with-system-zlib \ + --enable-alsa \ + --enable-application=mail \ + --enable-calendar \ + --enable-default-toolkit=cairo-gtk2 \ + --enable-startup-notification \ + --enable-ldap \ + $OPTIMIZE \ + --enable-strip \ + --enable-cpp-rtti \ + --disable-accessibility \ + --disable-crashreporter \ + --disable-debug \ + --disable-tests \ + --host=$ARCH-slackware-linux \ + --target=$ARCH-slackware-linux" + # Complains about missing APNG support in Slackware's libpng: + #--with-system-png \ + # Broken with 12.0: + #--enable-system-cairo \ +if [ ! -z $MOZLOCALIZE ]; then + OPTIONS=$OPTIONS" \ + --enable-ui-locale=$MOZLOCALIZE + --with-l10n-base=.." + # There are no dictionaries in localized builds + sed -i \ + -e "/@BINPATH@\/dictionaries\/\*/d" \ + -e "/@RESPATH@\/dictionaries\/\*/d" \ + mail/installer/package-manifest.in || exit 1 +fi + +export BUILD_OFFICIAL=1 +export MOZILLA_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: +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 + +make -f client.mk build || exit 1 +make -f client.mk install DESTDIR=$PKG || exit 1 + +# We don't need these (just symlinks anyway): +rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$RELEASEVER + +# 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 Thunderbird 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-$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 other-licenses/branding/thunderbird/mailicon${i}.png \ + $PKG/usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png +done +mkdir -p $PKG/usr/share/pixmaps +( cd $PKG/usr/share/pixmaps ; ln -sf /usr/share/icons/hicolor/256x256/apps/thunderbird . ) +mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/thunderbird-$RELEASEVER/chrome/icons/default +install -m 644 other-licenses/branding/thunderbird/mailicon16.png \ + $PKG/usr/lib$LIBDIRSUFFIX/thunderbird-$RELEASEVER/icons/ +install -m 644 other-licenses/branding/thunderbird/mailicon16.png \ + $PKG/usr/lib$LIBDIRSUFFIX/thunderbird-$RELEASEVER/chrome/icons/default/ + +# Copy over the LICENSE +install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$RELEASEVER/ + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +if [ -z $MOZLOCALIZE ]; then + /sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-$BUILD.txz +else + /sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-${BUILD}_$MOZLOCALIZE.txz +fi 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 Binary files /dev/null and b/patches/source/mozilla-thunderbird/thunderbird.png differ diff --git a/patches/source/nasm/nasm.SlackBuild b/patches/source/nasm/nasm.SlackBuild new file mode 100755 index 000000000..9f4d83256 --- /dev/null +++ b/patches/source/nasm/nasm.SlackBuild @@ -0,0 +1,90 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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=nasm +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-nasm + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf nasm-$VERSION +tar xvf $CWD/nasm-$VERSION.tar.?z* || exit 1 +cd nasm-$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 \ + --mandir=/usr/man \ + --build=${ARCH}-slackware-linux || exit 1 + +make || exit 1 +( cd doc + make nasmdoc.txt + mkdir -p $PKG/usr/doc/nasm-$VERSION + cp nasmdoc.txt $PKG/usr/doc/nasm-$VERSION +) +make install INSTALLROOT=$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/nasm-$VERSION +cp -a \ + AUTHORS CHANGES COPYING* INSTALL LICENSE README* TODO \ + $PKG/usr/doc/nasm-$VERSION + +gzip -9 $PKG/usr/man/man?/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/nasm-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/nasm/slack-desc b/patches/source/nasm/slack-desc new file mode 100644 index 000000000..f289814b5 --- /dev/null +++ b/patches/source/nasm/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------------------------------------------------------| +nasm: nasm (NASM assembler) +nasm: +nasm: NASM is the Netwide Assembler, a free portable assembler for the Intel +nasm: 80x86 microprocessor series, using primarily the traditional Intel +nasm: instruction mnemonics and syntax. +nasm: +nasm: NASM was written by Simon Tatham and Julian Hall. +nasm: +nasm: Homepage: http://www.nasm.us +nasm: +nasm: diff --git a/patches/source/network-manager-applet/doinst.sh b/patches/source/network-manager-applet/doinst.sh new file mode 100644 index 000000000..96ae4b325 --- /dev/null +++ b/patches/source/network-manager-applet/doinst.sh @@ -0,0 +1,16 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications 1>/dev/null 2> /dev/null +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 1>/dev/null 2> /dev/null + fi +fi + +if [ -e usr/share/glib-2.0/schemas ]; then + if [ -x /usr/bin/glib-compile-schemas ]; then + /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1 + fi +fi + diff --git a/patches/source/network-manager-applet/network-manager-applet.SlackBuild b/patches/source/network-manager-applet/network-manager-applet.SlackBuild new file mode 100755 index 000000000..804c3976c --- /dev/null +++ b/patches/source/network-manager-applet/network-manager-applet.SlackBuild @@ -0,0 +1,124 @@ +#!/bin/sh + +# Slackware build script for network-manager-applet + +# 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. + +PKGNAM=network-manager-applet +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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 {} \; + +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 \ + --enable-more-warnings=no \ + --without-team \ + --without-selinux \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# 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 || true + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS CONTRIBUTING COPYING* ChangeLog 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/network-manager-applet/slack-desc b/patches/source/network-manager-applet/slack-desc new file mode 100644 index 000000000..ad8c8f7d6 --- /dev/null +++ b/patches/source/network-manager-applet/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------------------------------------------------------| +network-manager-applet: network-manager-applet (NetworkManager Applet) +network-manager-applet: +network-manager-applet: nm-applet is a gui frontend for NetworkManager. +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: +network-manager-applet: diff --git a/patches/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..ae20783b4 --- /dev/null +++ b/patches/source/ntp/ntp.SlackBuild @@ -0,0 +1,158 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 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=ntp +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$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-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 + #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..7cf3d50b0 --- /dev/null +++ b/patches/source/ntp/rc.ntpd @@ -0,0 +1,56 @@ +#!/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 +} + +# 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/openexr/openexr.CVE-2017-9110-to-9116.patch b/patches/source/openexr/openexr.CVE-2017-9110-to-9116.patch new file mode 100644 index 000000000..98c03a997 --- /dev/null +++ b/patches/source/openexr/openexr.CVE-2017-9110-to-9116.patch @@ -0,0 +1,82 @@ +--- a/IlmImf/ImfDwaCompressor.cpp ++++ b/IlmImf/ImfDwaCompressor.cpp +@@ -2377,7 +2377,12 @@ DwaCompressor::uncompress + + const char *dataPtr = inPtr + NUM_SIZES_SINGLE * sizeof(Int64); + +- if (inSize < headerSize + compressedSize) ++ /* Both the sum and individual sizes are checked in case of overflow. */ ++ if (inSize < (headerSize + compressedSize) || ++ inSize < unknownCompressedSize || ++ inSize < acCompressedSize || ++ inSize < dcCompressedSize || ++ inSize < rleCompressedSize) + { + throw Iex::InputExc("Error uncompressing DWA data" + "(truncated file)."); +diff --git a/IlmImf/ImfHuf.cpp b/IlmImf/ImfHuf.cpp +index a375d05..97909a5 100644 +--- a/IlmImf/ImfHuf.cpp ++++ b/IlmImf/ImfHuf.cpp +@@ -822,7 +822,7 @@ hufEncode // return: output size (in bits) + } + + +-#define getCode(po, rlc, c, lc, in, out, oe) \ ++#define getCode(po, rlc, c, lc, in, out, ob, oe)\ + { \ + if (po == rlc) \ + { \ +@@ -835,6 +835,8 @@ hufEncode // return: output size (in bits) + \ + if (out + cs > oe) \ + tooMuchData(); \ ++ else if (out - 1 < ob) \ ++ notEnoughData(); \ + \ + unsigned short s = out[-1]; \ + \ +@@ -895,7 +897,7 @@ hufDecode + // + + lc -= pl.len; +- getCode (pl.lit, rlc, c, lc, in, out, oe); ++ getCode (pl.lit, rlc, c, lc, in, out, outb, oe); + } + else + { +@@ -925,7 +927,7 @@ hufDecode + // + + lc -= l; +- getCode (pl.p[j], rlc, c, lc, in, out, oe); ++ getCode (pl.p[j], rlc, c, lc, in, out, outb, oe); + break; + } + } +@@ -952,7 +954,7 @@ hufDecode + if (pl.len) + { + lc -= pl.len; +- getCode (pl.lit, rlc, c, lc, in, out, oe); ++ getCode (pl.lit, rlc, c, lc, in, out, outb, oe); + } + else + { +diff --git a/IlmImf/ImfPizCompressor.cpp b/IlmImf/ImfPizCompressor.cpp +index 46c6fba..8b3ee38 100644 +--- a/IlmImf/ImfPizCompressor.cpp ++++ b/IlmImf/ImfPizCompressor.cpp +@@ -573,6 +573,12 @@ PizCompressor::uncompress (const char *inPtr, + int length; + Xdr::read (inPtr, length); + ++ if (length > inSize) ++ { ++ throw InputExc ("Error in header for PIZ-compressed data " ++ "(invalid array length)."); ++ } ++ + hufUncompress (inPtr, length, _tmpBuffer, tmpBufferEnd - _tmpBuffer); + + // diff --git a/patches/source/openexr/openexr.SlackBuild b/patches/source/openexr/openexr.SlackBuild new file mode 100755 index 000000000..7932f0d43 --- /dev/null +++ b/patches/source/openexr/openexr.SlackBuild @@ -0,0 +1,113 @@ +#!/bin/sh + +# Copyright 2007, 2013, 2014 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2008, 2009, 2010, 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. + +# Modified by Robby Workman + + +PKGNAM=openexr +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j7} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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 +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 security issues: +zcat $CWD/openexr.CVE-2017-9110-to-9116.patch.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --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 + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL LICENSE NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION +mv $PKG/usr/share/doc/OpenEXR-$VERSION/*.pdf $PKG/usr/doc/$PKGNAM-$VERSION/ +rm -rf $PKG/usr/share/doc + +# 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/openexr/slack-desc b/patches/source/openexr/slack-desc new file mode 100644 index 000000000..cf0b46a62 --- /dev/null +++ b/patches/source/openexr/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------------------------------------------------------| +openexr: openexr (HDR Image File Format & Library) +openexr: +openexr: OpenEXR is an image file format and library developed by Industrial +openexr: Light & Magic, and later released to the public. It provides support +openexr: for high dynamic range and a 16-bit floating point "half" data type +openexr: which is compatible with the half data type in the Cg programming +openexr: language. +openexr: +openexr: Homepage: http://www.openexr.org/ +openexr: +openexr: diff --git a/patches/source/openjpeg/openjpeg.SlackBuild b/patches/source/openjpeg/openjpeg.SlackBuild new file mode 100755 index 000000000..7be4e4f1d --- /dev/null +++ b/patches/source/openjpeg/openjpeg.SlackBuild @@ -0,0 +1,121 @@ +#!/bin/sh + +# Slackware build script for openjpeg + +# Copyright 2008-2014 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 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. + +PKGNAM=openjpeg +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +NUMJOBS=${NUMJOBS:--j7} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i586 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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-openjpeg + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf openjpeg-$VERSION +tar xvf $CWD/openjpeg-$VERSION.tar.?z* || exit 1 +cd openjpeg-$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/openjpeg2_remove-thirdparty.patch.gz | patch -p1 --verbose || exit 1 + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DOPENJPEG_INSTALL_LIB_DIR="lib$LIBDIRSUFFIX" \ + -DOPENJPEG_INSTALL_MAN_DIR="man/" \ + -DOPENJPEG_INSTALL_DOC_DIR="doc/openjpeg-$VERSION/" \ + -DOPENJPEG_INSTALL_SHARE_DIR="share/openjpeg" \ + -DBUILD_JPWL:BOOL=ON \ + -DBUILD_MJ2:BOOL=ON \ + -DBUILD_JPIP:BOOL=ON \ + -DBUILD_JP3D:BOOL=ON \ + .. || exit 1 + + make $NUMJOBS || make || exit 1 + make install DESTDIR=$PKG || exit 1 +cd - + +# Some libs require the openjpeg.h used for openmj2. +# This version is pretty much the old version from openjpeg 1.5 +mkdir -p $PKG/usr/include/openmj2-2.1 +install -m 644 src/lib/openmj2/openjpeg.h $PKG/usr/include/openmj2-2.1/ + +mkdir -p $PKG/usr/man +cp -r doc/man/* $PKG/usr/man/ + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/usr/doc/openjpeg-$VERSION +cp -a AUTHORS* CHANGES* INSTALL* LICENSE* NEWS* README* THANKS* \ + $PKG/usr/doc/openjpeg-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/openjpeg-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/openjpeg/openjpeg2_remove-thirdparty.patch b/patches/source/openjpeg/openjpeg2_remove-thirdparty.patch new file mode 100644 index 000000000..6987fc240 --- /dev/null +++ b/patches/source/openjpeg/openjpeg2_remove-thirdparty.patch @@ -0,0 +1,11 @@ +diff -rupN openjpeg-2.1.1/CMakeLists.txt openjpeg-2.1.1-new/CMakeLists.txt +--- openjpeg-2.1.1/CMakeLists.txt 2016-07-05 16:54:17.000000000 +0200 ++++ openjpeg-2.1.1-new/CMakeLists.txt 2016-07-06 09:38:26.083029127 +0200 +@@ -270,7 +270,6 @@ if(BUILD_CODEC OR BUILD_MJ2) + # OFF: It will only build 3rd party libs if they are not found on the system + # ON: 3rd party libs will ALWAYS be build, and used + option(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF) +- add_subdirectory(thirdparty) + add_subdirectory(src/bin) + endif () + add_subdirectory(wrapping) diff --git a/patches/source/openjpeg/slack-desc b/patches/source/openjpeg/slack-desc new file mode 100644 index 000000000..7c0b6ef5c --- /dev/null +++ b/patches/source/openjpeg/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------------------------------------------------------| +openjpeg: openjpeg (JPEG2000 Codec) +openjpeg: +openjpeg: The OpenJPEG library is an open-source JPEG 2000 codec. +openjpeg: +openjpeg: Homepage: http://www.openjpeg.org +openjpeg: +openjpeg: +openjpeg: +openjpeg: +openjpeg: +openjpeg: diff --git a/patches/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 ++#include ++#include ++#include ++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 ++#include ++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..49777ced0 --- /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.2} + +NUMJOBS=${NUMJOBS:--j6} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +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..a5e4e59ba --- /dev/null +++ b/patches/source/openssl/openssl.SlackBuild @@ -0,0 +1,223 @@ +#!/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, 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. + + +# 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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +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 + +# Fix pod syntax errors which are fatal wih a newer perl: +find . -name "*.pod" -exec sed -i "s/^\=item \([0-9]\)\(\ \|$\)/\=item C<\1>/g" {} \; + +# Use .so.1, not .so.1.0.0: +sed -i "s/soname=\$\$SHLIB\$\$SHLIB_SOVER\$\$SHLIB_SUFFIX/soname=\$\$SHLIB.1/g" Makefile.shared + +if [ "$ARCH" = "i586" ]; then + # Build with -march=i586 -mtune=i686: + sed -i "/linux-elf/s/fomit-frame-pointer/fomit-frame-pointer -march=i586 -mtune=i686/g" Configure + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + # Build with -march=i686 -mtune=i686: + sed -i "/linux-elf/s/fomit-frame-pointer/fomit-frame-pointer -march=i686 -mtune=i686/g" Configure + 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.2e unless ABI +# breakage forces it to change. Yes, we're finally using this old trick. :) +sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x1000205fL (1.0.2e) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x1000205fL/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, not included. +# IDEA: 5,214,703 2010-05-25, not included. +# RC5: 5,724,428 2015-03-03, not included. +# +# Although all of the above are expired, it's still probably +# not a good idea to include them as there are better +# algorithms to use. + +./config \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + no-mdc2 \ + no-idea \ + no-rc5 \ + no-sse2 \ + no-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/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..91e67fd77 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# 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" = "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 + +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. +# +# +------------+ - - +------------+ +# | 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 +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' < beep.patch <~/pwn.lol;beep # 13-21 12:53:21.000000000 +0100 ++. ++EOF ++ ++check 'patch < beep.patch; echo "Status: $?"' < /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/php/doinst.sh b/patches/source/php/doinst.sh new file mode 100644 index 000000000..a6f584ed3 --- /dev/null +++ b/patches/source/php/doinst.sh @@ -0,0 +1,30 @@ +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/php.ini-production etc/php.ini.new +config etc/php.ini.new +cp -a etc/php-fpm.conf.default etc/php-fpm.conf.new +config etc/php-fpm.conf.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. + + SetHandler application/x-httpd-php + + +# 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. +# +# SetHandler application/x-httpd-php +# + +# This will display PHP files in colored syntax form. Use with caution. +# +# SetHandler application/x-httpd-php-source +# + 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..f10b53eb0 --- /dev/null +++ b/patches/source/php/php.SlackBuild @@ -0,0 +1,312 @@ +#!/bin/sh + +# Build and package mod_php on Slackware. +# by: David Cantrell +# Modified for PHP 4-5 by volkerdi@slackware.com +# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015 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.20 +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${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.d +# 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.d \ + --with-config-file-path=/etc \ + --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-vpx-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 +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/* + +cp -a php.ini-development php.ini-production $PKG/etc +chmod 755 $PKG/etc/php.d $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/doinst.sh b/patches/source/pidgin/doinst.sh new file mode 100644 index 000000000..1f8ff67de --- /dev/null +++ b/patches/source/pidgin/doinst.sh @@ -0,0 +1,10 @@ +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/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 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 + #include + +-#include "glib/gmain.h" ++#include + + #include + #include diff --git a/patches/source/pidgin/pidgin.SlackBuild b/patches/source/pidgin/pidgin.SlackBuild new file mode 100755 index 000000000..bf97c19da --- /dev/null +++ b/patches/source/pidgin/pidgin.SlackBuild @@ -0,0 +1,231 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j6 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -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 {} \; + +#autoreconf --force --install + +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 \ + --with-gstreamer=1.0 \ + --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 pidgin-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 pidgin-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 +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/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/pkg-config/doinst.sh b/patches/source/pkg-config/doinst.sh new file mode 100644 index 000000000..06ebcafc0 --- /dev/null +++ b/patches/source/pkg-config/doinst.sh @@ -0,0 +1,9 @@ +# Break the /usr/share/pkgconfig symlinks, if it exists. +# Then move the .pc files to the standard location. +if [ -L usr/share/pkgconfig ]; then + rm usr/share/pkgconfig + mkdir -p usr/share/pkgconfig + grep usr/share/pkgconfig var/log/packages/* | grep '\.pc$' | cut -f 2 -d : | cut -f 4 -d / | while read movefile ; do + mv usr/lib/pkgconfig/$movefile usr/share/pkgconfig 1> /dev/null 2> /dev/null + done +fi diff --git a/patches/source/pkg-config/pkg-config.SlackBuild b/patches/source/pkg-config/pkg-config.SlackBuild new file mode 100755 index 000000000..a2d0e6405 --- /dev/null +++ b/patches/source/pkg-config/pkg-config.SlackBuild @@ -0,0 +1,120 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 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=pkg-config +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-pkg-config +rm -rf $PKG +mkdir -p $TMP $PKG/usr + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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 + +cd $TMP +rm -rf pkg-config-$VERSION +tar xvf $CWD/pkg-config-$VERSION.tar.?z* || exit 1 +cd pkg-config-$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 \ + --docdir=/usr/doc/pkg-config-$VERSION \ + --build=${ARCH}-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/etc/profile.d/ +for script in $(ls $CWD/scripts/*) ; do + cat ${script} | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#g" \ + > $PKG/etc/profile.d/$(basename ${script}) +done +chown root:root $PKG/etc/profile.d/* +chmod 755 $PKG/etc/profile.d/* + +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/doc/pkg-config-$VERSION +cp -a \ + AUTHORS* COPYING* NEWS* README* \ + $PKG/usr/doc/pkg-config-$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 | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#g" \ + > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $TMP/package-pkg-config +/sbin/makepkg -l y -c n $TMP/pkg-config-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/pkg-config/scripts/pkgconfig.csh b/patches/source/pkg-config/scripts/pkgconfig.csh new file mode 100755 index 000000000..da9a45a60 --- /dev/null +++ b/patches/source/pkg-config/scripts/pkgconfig.csh @@ -0,0 +1,6 @@ +#!/bin/csh +if ( $?PKG_CONFIG_PATH ) then + setenv PKG_CONFIG_PATH ${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig +else + setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig +endif diff --git a/patches/source/pkg-config/scripts/pkgconfig.sh b/patches/source/pkg-config/scripts/pkgconfig.sh new file mode 100755 index 000000000..96e07c4fa --- /dev/null +++ b/patches/source/pkg-config/scripts/pkgconfig.sh @@ -0,0 +1,7 @@ +#!/bin/sh +if [ ! "$PKG_CONFIG_PATH" = "" ]; then + PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig +else + PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig +fi +export PKG_CONFIG_PATH diff --git a/patches/source/pkg-config/slack-desc b/patches/source/pkg-config/slack-desc new file mode 100644 index 000000000..52f57e1b9 --- /dev/null +++ b/patches/source/pkg-config/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------------------------------------------------------| +pkg-config: pkg-config (system for managing library compile/link flags) +pkg-config: +pkg-config: pkg-config is a system for managing library compile/link flags +pkg-config: that works with automake and autoconf. It replaces the ubiquitous +pkg-config: *-config scripts you may have seen with a single tool. See the man +pkg-config: page that comes with pkg-config for full documentation. +pkg-config: +pkg-config: +pkg-config: +pkg-config: +pkg-config: diff --git a/patches/source/procps-ng/procps-ng.SlackBuild b/patches/source/procps-ng/procps-ng.SlackBuild new file mode 100755 index 000000000..f99bedf86 --- /dev/null +++ b/patches/source/procps-ng/procps-ng.SlackBuild @@ -0,0 +1,251 @@ +#!/bin/sh + +# Copyright 2005-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=procps-ng +VERSION=${VERSION:-3.3.15} +PSMISCVER=${PSMISCVER:-22.21} +PROCINFONGVER=${PROCINFONGVER:-2.0.304} +PROCINFOVER=${PROCINFOVER:-18} +BUILD=${BUILD:-1_slack14.2} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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 +tar xvf $CWD/psmisc-$PSMISCVER.tar.xz || exit 1 +tar xvf $CWD/procinfo-ng-$PROCINFONGVER.tar.xz || exit 1 +tar xvf $CWD/procinfo-$PROCINFOVER.tar.xz || exit 1 +chown -R root:root . + +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/ \ + --bindir=/bin \ + --sbindir=/sbin \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --includedir=/usr/include \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --datarootdir=/usr/share \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-static=no \ + --disable-silent-rules \ + --disable-rpath \ + --enable-watch8bit \ + --enable-skill \ + --enable-sigwinch \ + --enable-w-from \ + --disable-kill \ + --without-systemd \ + --disable-modern-top \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +# 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} +) + +# Remove .la file(s): +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la + +# It seems that upstream has shuffled the location of many tools with the +# 3.3.11 release. To me, this just doesn't make sense to break any existing +# scripts that might be using an absolute path, or to move tools that might +# be needed before /usr is mounted into /usr. So, we will make sure that +# everything is moved back to where the Slackware locations have always been. +# These tools belong in /bin: +mkdir -p $PKG/bin +for file in free killall ps ; do + find $PKG -name $file -exec mv "{}" $PKG/bin \; +done +# These tools belong in /sbin: +mkdir -p $PKG/sbin +for file in pidof sysctl ; do + find $PKG -name $file -exec mv "{}" $PKG/sbin \; +done +mkdir -p $PKG/usr/bin +# These tools belong in /usr/bin: +for file in fuser lsdev peekfd pgrep pkill pmap procinfo prtstat pstree pwdx skill slabtop snice socklist tload top uptime vmstat w watch ; do + find $PKG -name $file -exec mv "{}" $PKG/usr/bin \; +done +# These symlinks belong in /bin: +rm -f $PKG/bin/pidof +ln -sf /sbin/pidof $PKG/bin/pidof +# These symlinks belong in /usr/bin: +rm -f $PKG/usr/bin/free $PKG/usr/bin/pidof $PKG/usr/bin/ps +ln -sf /bin/free $PKG/usr/bin/free +ln -sf /sbin/pidof $PKG/usr/bin/pidof +ln -sf /bin/ps $PKG/usr/bin/ps + +# Create /etc/sysctl.d: +mkdir -p $PKG/etc/sysctl.d + +cd psmisc-$PSMISCVER || exit 1 + +# Fix fuser -s: +zcat $CWD/psmisc.3638cc55b4d08851faba46635d737b24d016665b.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/psmisc-$PSMISCVER \ + --disable-silent-rules \ + --disable-rpath \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Move "killall" to the traditional location: +mv $PKG/usr/bin/killall $PKG/bin +ln -s /bin/killall $PKG/usr/bin/killall + +mkdir -p $PKG/usr/doc/psmisc-$PSMISCVER +cp -a ChangeLog COPYING* NEWS README* $PKG/usr/doc/psmisc-$PSMISCVER + +# 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=$PKG/usr/doc/psmisc-$PSMISCVER + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +cd ../procinfo-ng-$PROCINFONGVER || exit 1 +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/procinfo-ng-$PROCINFONGVER \ + --enable-maintainer-mode \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/procinfo-ng-$PROCINFONGVER +cp -a GPL-2.txt LGPL-2.1.txt LICENSE.txt COPYING* README* $PKG/usr/doc/procinfo-ng-$PROCINFONGVER + +# Now install a couple of scripts from the original procinfo package. +cd ../procinfo-$PROCINFOVER || exit 1 +install -m 0755 lsdev.pl $PKG/usr/bin/lsdev +install -m 0755 socklist.pl $PKG/usr/bin/socklist +install -m 0644 lsdev.8 socklist.8 $PKG/usr/man/man8 + +# 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 | grep -v '\.gz$') ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Back to the procps-ng main source directory... +cd .. + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS ChangeLog 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=$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/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff b/patches/source/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff new file mode 100644 index 000000000..d930f6f23 --- /dev/null +++ b/patches/source/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff @@ -0,0 +1,25 @@ +diff --git a/ChangeLog b/ChangeLog +index fd1cccf..e5f784c 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,7 @@ ++Changes in 22.22 ++================ ++ * Fixed typo in fuser which has -M on Debian #740275 ++ + Changes in 22.21 + ================ + * Missing comma in fuser(1) added Debian #702391 +diff --git a/src/fuser.c b/src/fuser.c +index b485f65..389b302 100644 +--- a/src/fuser.c ++++ b/src/fuser.c +@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[]) + usage(_("No process specification given")); + + /* Check if -M flag was used and if so check mounts */ +- if (opts * OPT_ISMOUNTPOINT) { ++ if (opts & OPT_ISMOUNTPOINT) { + check_mountpoints(&mounts, &names_head, &names_tail); + } + diff --git a/patches/source/procps-ng/slack-desc b/patches/source/procps-ng/slack-desc new file mode 100644 index 000000000..0573fcb04 --- /dev/null +++ b/patches/source/procps-ng/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------------------------------------------------------| +procps-ng: procps-ng (utilities for displaying process information) +procps-ng: +procps-ng: The procps-ng package provides the classic set of utilities used to +procps-ng: display information about the processes currently running on the +procps-ng: machine. +procps-ng: +procps-ng: Homepage: http://sourceforge.net/projects/procps-ng/ +procps-ng: +procps-ng: +procps-ng: +procps-ng: diff --git a/patches/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, +# +# 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. + + AllowOverwrite on + + +# A basic anonymous FTP server configuration. +# To enable this, remove the user ftp from /etc/ftpusers. + + 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 + + DenyAll + + + # An upload directory that allows storing files but not retrieving + # or creating directories. +# +# +# DenyAll +# +# +# +# AllowAll +# +# + + diff --git a/patches/source/proftpd/proftpd.SlackBuild b/patches/source/proftpd/proftpd.SlackBuild new file mode 100755 index 000000000..436360c3f --- /dev/null +++ b/patches/source/proftpd/proftpd.SlackBuild @@ -0,0 +1,139 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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. + + +VERSION=1.3.5e +DIRVER=1.3.5e +BUILD=${BUILD:-1_slack14.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +PROFTPD_MODS="mod_radius:mod_ban:mod_readme:mod_ratio:mod_tls:mod_wrap:mod_ctrls_admin:mod_quotatab:mod_quotatab_file" + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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-dso \ + --enable-ipv6 \ + --enable-nls \ + --localstatedir=/var/run \ + --with-modules="${PROFTPD_MODS}" \ + --build=$ARCH-slackware-linux || exit 1 + +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..921a3dc89 --- /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.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +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" = "i586" ]; 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 + #include + ++/* 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 \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/rpcbind/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch b/patches/source/rpcbind/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch new file mode 100644 index 000000000..9ea5870d8 --- /dev/null +++ b/patches/source/rpcbind/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch @@ -0,0 +1,39 @@ +From a89ba6d07832cb62a86601971380fda7130c6826 Mon Sep 17 00:00:00 2001 +From: "Patrick J. Volkerding" +Date: Mon, 17 Jul 2017 23:09:36 -0500 +Subject: [PATCH 1/2] man/rpcibind.8: Clarify state file usage and history + +--- + man/rpcbind.8 | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/man/rpcbind.8 b/man/rpcbind.8 +index af6200f..bdfb1c8 100644 +--- a/man/rpcbind.8 ++++ b/man/rpcbind.8 +@@ -132,11 +132,20 @@ to connect to services from a privileged port. + .It Fl w + Cause + .Nm +-to do a "warm start" by read a state file when ++to do a "warm start" by attempting to read *.xdr state files from the ++state directory ++.%T /var/run/rpcbind ++when + .Nm +-starts up. The state file is created when ++starts up. The state files are created when + .Nm + terminates. ++.Pp ++This allows for restarting ++.Nm ++without the need to restart all RPC services that have previously registered. ++The state files serve a similar purpose to the files created/restored by the ++pmap_dump and pmap_set utilities distributed with the old portmap server package. + .El + .Sh NOTES + All RPC servers must be restarted if +-- +2.13.2 + diff --git a/patches/source/rpcbind/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch b/patches/source/rpcbind/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch new file mode 100644 index 000000000..060614cc9 --- /dev/null +++ b/patches/source/rpcbind/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch @@ -0,0 +1,218 @@ +From 7ea36eeece56b59f98e469934e4c20b4da043346 Mon Sep 17 00:00:00 2001 +From: Doran Moppert +Date: Thu, 11 May 2017 11:42:54 -0400 +Subject: [PATCH 2/6] rpcbind: pair all svc_getargs() calls with svc_freeargs() + to avoid memory leak + +This patch is to address CVE-2017-8779 "rpcbomb" in rpcbind, discussed +at [1], [2], [3]. The last link suggests this issue is actually a bug +in rpcbind, which led me here. + +The leak caused by the reproducer at [4] appears to come from +rpcb_service_4(), in the case where svc_getargs() returns false and the +function had an early return, rather than passing through the cleanup +path at done:, as would otherwise occur. + +It also addresses a couple of other locations where the same fault seems +to exist, though I haven't been able to exercise those. I hope someone +more intimate with rpc(3) can confirm my understanding is correct, and +that I haven't introduced any new bugs. + +Without this patch, using the reproducer (and variants) repeatedly +against rpcbind with a numBytes argument of 1_000_000_000, /proc/$(pidof +rpcbind)/status reports VmSize increase of 976564 kB each call, and +VmRSS increase of around 260 kB every 33 calls - the specific numbers +are probably an artifact of my rhel/glibc version. With the patch, +there is a small (~50 kB) VmSize increase with the first message, but +thereafter both VmSize and VmRSS remain steady. + +[1]: http://seclists.org/oss-sec/2017/q2/209 +[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1448124 +[3]: https://sourceware.org/ml/libc-alpha/2017-05/msg00129.html +[4]: https://github.com/guidovranken/rpcbomb/ + +Signed-off-by: Doran Moppert +Signed-off-by: Steve Dickson +--- + src/pmap_svc.c | 56 +++++++++++++++++++++++++++++++++++++++++++++--------- + src/rpcb_svc.c | 2 +- + src/rpcb_svc_4.c | 2 +- + src/rpcb_svc_com.c | 8 ++++++++ + 4 files changed, 57 insertions(+), 11 deletions(-) + +diff --git a/src/pmap_svc.c b/src/pmap_svc.c +index 4c744fe..e926cdc 100644 +--- a/src/pmap_svc.c ++++ b/src/pmap_svc.c +@@ -175,6 +175,7 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long + long ans; + uid_t uid; + char uidbuf[32]; ++ int rc = TRUE; + + /* + * Can't use getpwnam here. We might end up calling ourselves +@@ -194,7 +195,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long + + if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { + svcerr_decode(xprt); +- return (FALSE); ++ rc = FALSE; ++ goto done; + } + #ifdef RPCBIND_DEBUG + if (debugging) +@@ -205,7 +207,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long + + if (!check_access(xprt, op, reg.pm_prog, PMAPVERS)) { + svcerr_weakauth(xprt); +- return (FALSE); ++ rc = (FALSE); ++ goto done; + } + + rpcbreg.r_prog = reg.pm_prog; +@@ -258,7 +261,16 @@ done_change: + rpcbs_set(RPCBVERS_2_STAT, ans); + else + rpcbs_unset(RPCBVERS_2_STAT, ans); +- return (TRUE); ++done: ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } ++ return (rc); + } + + /* ARGSUSED */ +@@ -272,15 +284,18 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + #ifdef RPCBIND_DEBUG + char *uaddr; + #endif ++ int rc = TRUE; + + if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { + svcerr_decode(xprt); +- return (FALSE); ++ rc = FALSE; ++ goto done; + } + + if (!check_access(xprt, PMAPPROC_GETPORT, reg.pm_prog, PMAPVERS)) { + svcerr_weakauth(xprt); +- return FALSE; ++ rc = FALSE; ++ goto done; + } + + #ifdef RPCBIND_DEBUG +@@ -330,21 +345,34 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + pmap_ipprot2netid(reg.pm_prot) ?: "", + port ? udptrans : ""); + +- return (TRUE); ++done: ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } ++ return (rc); + } + + /* ARGSUSED */ + static bool_t + pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + { ++ int rc = TRUE; ++ + if (!svc_getargs(xprt, (xdrproc_t)xdr_void, NULL)) { + svcerr_decode(xprt); +- return (FALSE); ++ rc = FALSE; ++ goto done; + } + + if (!check_access(xprt, PMAPPROC_DUMP, 0, PMAPVERS)) { + svcerr_weakauth(xprt); +- return FALSE; ++ rc = FALSE; ++ goto done; + } + + if ((!svc_sendreply(xprt, (xdrproc_t) xdr_pmaplist_ptr, +@@ -354,7 +382,17 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + rpcbind_abort(); + } + } +- return (TRUE); ++ ++done: ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } ++ return (rc); + } + + int pmap_netid2ipprot(const char *netid) +diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c +index 709e3fb..091f530 100644 +--- a/src/rpcb_svc.c ++++ b/src/rpcb_svc.c +@@ -166,7 +166,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp) + svcerr_decode(transp); + if (debugging) + (void) xlog(LOG_DEBUG, "rpcbind: could not decode"); +- return; ++ goto done; + } + + if (rqstp->rq_proc == RPCBPROC_SET +diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c +index 5094879..eebbbbe 100644 +--- a/src/rpcb_svc_4.c ++++ b/src/rpcb_svc_4.c +@@ -218,7 +218,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp) + svcerr_decode(transp); + if (debugging) + (void) xlog(LOG_DEBUG, "rpcbind: could not decode\n"); +- return; ++ goto done; + } + + if (rqstp->rq_proc == RPCBPROC_SET +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index 5862c26..cb63afd 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -927,6 +927,14 @@ error: + if (call_msg.rm_xid != 0) + (void) free_slot_by_xid(call_msg.rm_xid); + out: ++ if (!svc_freeargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) { ++ if (debugging) { ++ (void) xlog(LOG_DEBUG, "unable to free arguments\n"); ++ if (doabort) { ++ rpcbind_abort(); ++ } ++ } ++ } + if (local_uaddr) + free(local_uaddr); + if (buf_alloc) +-- +2.13.0 + diff --git a/patches/source/rpcbind/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch b/patches/source/rpcbind/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch new file mode 100644 index 000000000..6cf885ac4 --- /dev/null +++ b/patches/source/rpcbind/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch @@ -0,0 +1,29 @@ +From c49a7ea639eb700823e174fd605bbbe183e229aa Mon Sep 17 00:00:00 2001 +From: Steve Dickson +Date: Wed, 17 May 2017 10:52:25 -0400 +Subject: [PATCH 3/6] pmapproc_dump: Fixed typo in memory leak patch + +commit 7ea36eee introduce a typo that caused +NIS (aka ypbind) to fail. + +Signed-off-by: Steve Dickson +--- + src/pmap_svc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pmap_svc.c b/src/pmap_svc.c +index e926cdc..26c31d0 100644 +--- a/src/pmap_svc.c ++++ b/src/pmap_svc.c +@@ -384,7 +384,7 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + } + + done: +- if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) { ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_void, (char *)NULL)) { + if (debugging) { + (void) xlog(LOG_DEBUG, "unable to free arguments\n"); + if (doabort) { +-- +2.13.0 + diff --git a/patches/source/rpcbind/0004-rpcbind-fix-building-without-enable-debug.patch b/patches/source/rpcbind/0004-rpcbind-fix-building-without-enable-debug.patch new file mode 100644 index 000000000..f7c307942 --- /dev/null +++ b/patches/source/rpcbind/0004-rpcbind-fix-building-without-enable-debug.patch @@ -0,0 +1,69 @@ +From c0e38c9fd1b2c6785af90c86b26a07724c2488e8 Mon Sep 17 00:00:00 2001 +From: Nick Alcock +Date: Thu, 25 May 2017 12:45:35 -0400 +Subject: [PATCH 4/6] rpcbind: fix building without --enable-debug + +All if (debugging) stanzas and their accompanying xlog()s and aborts +should be within #ifdef RPCBIND_DEBUG. + +Fixes a compilation failure due to non-inclusion of in the +non-debugging case. + +Signed-off-by: Nick Alcock +Signed-off-by: Steve Dickson +--- + src/pmap_svc.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/pmap_svc.c b/src/pmap_svc.c +index 26c31d0..a53dd5f 100644 +--- a/src/pmap_svc.c ++++ b/src/pmap_svc.c +@@ -263,12 +263,14 @@ done_change: + rpcbs_unset(RPCBVERS_2_STAT, ans); + done: + if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { ++#ifdef RPCBIND_DEBUG + if (debugging) { + (void) xlog(LOG_DEBUG, "unable to free arguments\n"); + if (doabort) { + rpcbind_abort(); + } + } ++#endif + } + return (rc); + } +@@ -347,12 +349,14 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + + done: + if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)®)) { ++#ifdef RPCBIND_DEBUG + if (debugging) { + (void) xlog(LOG_DEBUG, "unable to free arguments\n"); + if (doabort) { + rpcbind_abort(); + } + } ++#endif + } + return (rc); + } +@@ -385,12 +389,14 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + + done: + if (!svc_freeargs(xprt, (xdrproc_t) xdr_void, (char *)NULL)) { ++#ifdef RPCBIND_DEBUG + if (debugging) { + (void) xlog(LOG_DEBUG, "unable to free arguments\n"); + if (doabort) { + rpcbind_abort(); + } + } ++#endif + } + return (rc); + } +-- +2.13.0 + diff --git a/patches/source/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch b/patches/source/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch new file mode 100644 index 000000000..ff42c9e43 --- /dev/null +++ b/patches/source/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch @@ -0,0 +1,96 @@ +From 7c7590ad536c0e24bef790cb1e65702fc54db566 Mon Sep 17 00:00:00 2001 +From: Steve Dickson +Date: Tue, 30 May 2017 11:27:22 -0400 +Subject: [PATCH 5/6] rpcbproc_callit_com: Stop freeing a static pointer + +commit 7ea36ee introduced a svc_freeargs() call +that ended up freeing static pointer. + +It turns out the allocations for the rmt_args +is not necessary . The xdr routines (xdr_bytes) will +handle the memory management and the largest +possible message size is UDPMSGSIZE (due to UDP only) +which is smaller than RPC_BUF_MAX + +Signed-off-by: Steve Dickson +--- + src/rpcb_svc_com.c | 39 ++++++--------------------------------- + 1 file changed, 6 insertions(+), 33 deletions(-) + +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index cb63afd..1fc2229 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -612,9 +612,9 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + struct netconfig *nconf; + struct netbuf *caller; + struct r_rmtcall_args a; +- char *buf_alloc = NULL, *outbufp; ++ char *outbufp; + char *outbuf_alloc = NULL; +- char buf[RPC_BUF_MAX], outbuf[RPC_BUF_MAX]; ++ char outbuf[RPC_BUF_MAX]; + struct netbuf *na = (struct netbuf *) NULL; + struct rpc_msg call_msg; + int outlen; +@@ -635,36 +635,10 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + } + if (si.si_socktype != SOCK_DGRAM) + return; /* Only datagram type accepted */ +- sendsz = __rpc_get_t_size(si.si_af, si.si_proto, UDPMSGSIZE); +- if (sendsz == 0) { /* data transfer not supported */ +- if (reply_type == RPCBPROC_INDIRECT) +- svcerr_systemerr(transp); +- return; +- } +- /* +- * Should be multiple of 4 for XDR. +- */ +- sendsz = ((sendsz + 3) / 4) * 4; +- if (sendsz > RPC_BUF_MAX) { +-#ifdef notyet +- buf_alloc = alloca(sendsz); /* not in IDR2? */ +-#else +- buf_alloc = malloc(sendsz); +-#endif /* notyet */ +- if (buf_alloc == NULL) { +- if (debugging) +- xlog(LOG_DEBUG, +- "rpcbproc_callit_com: No Memory!\n"); +- if (reply_type == RPCBPROC_INDIRECT) +- svcerr_systemerr(transp); +- return; +- } +- a.rmt_args.args = buf_alloc; +- } else { +- a.rmt_args.args = buf; +- } ++ sendsz = UDPMSGSIZE; + + call_msg.rm_xid = 0; /* For error checking purposes */ ++ memset(&a, 0, sizeof(a)); /* Zero out the input buffer */ + if (!svc_getargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) { + if (reply_type == RPCBPROC_INDIRECT) + svcerr_decode(transp); +@@ -704,7 +678,8 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + if (rbl == (rpcblist_ptr)NULL) { + #ifdef RPCBIND_DEBUG + if (debugging) +- xlog(LOG_DEBUG, "not found\n"); ++ xlog(LOG_DEBUG, "prog %lu vers %lu: not found\n", ++ a.rmt_prog, a.rmt_vers); + #endif + if (reply_type == RPCBPROC_INDIRECT) + svcerr_noprog(transp); +@@ -937,8 +912,6 @@ out: + } + if (local_uaddr) + free(local_uaddr); +- if (buf_alloc) +- free(buf_alloc); + if (outbuf_alloc) + free(outbuf_alloc); + if (na) { +-- +2.13.2 + diff --git a/patches/source/rpcbind/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch b/patches/source/rpcbind/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch new file mode 100644 index 000000000..1a0aa6cfb --- /dev/null +++ b/patches/source/rpcbind/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch @@ -0,0 +1,96 @@ +From 1e2ddd4ebd7a9266e6070f275fa35752752fdfd6 Mon Sep 17 00:00:00 2001 +From: Steve Dickson +Date: Tue, 30 May 2017 11:29:58 -0400 +Subject: [PATCH 6/6] rpcbproc_callit_com: No need to allocate output buffer + +Now that sendz is a fixed size (UDPMSGSIZE) which +is small then RPC_BUF_MAX, no need to check the +sendz size. + +Signed-off-by: Steve Dickson +--- + src/rpcb_svc_com.c | 33 +++++---------------------------- + 1 file changed, 5 insertions(+), 28 deletions(-) + +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index 1fc2229..d36b090 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -612,8 +612,6 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + struct netconfig *nconf; + struct netbuf *caller; + struct r_rmtcall_args a; +- char *outbufp; +- char *outbuf_alloc = NULL; + char outbuf[RPC_BUF_MAX]; + struct netbuf *na = (struct netbuf *) NULL; + struct rpc_msg call_msg; +@@ -674,7 +672,6 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + + rpcbs_rmtcall(versnum - 2, reply_type, a.rmt_prog, a.rmt_vers, + a.rmt_proc, transp->xp_netid, rbl); +- + if (rbl == (rpcblist_ptr)NULL) { + #ifdef RPCBIND_DEBUG + if (debugging) +@@ -793,24 +790,10 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; + call_msg.rm_call.cb_prog = a.rmt_prog; + call_msg.rm_call.cb_vers = a.rmt_vers; +- if (sendsz > RPC_BUF_MAX) { +-#ifdef notyet +- outbuf_alloc = alloca(sendsz); /* not in IDR2? */ +-#else +- outbuf_alloc = malloc(sendsz); +-#endif /* notyet */ +- if (outbuf_alloc == NULL) { +- if (reply_type == RPCBPROC_INDIRECT) +- svcerr_systemerr(transp); +- if (debugging) +- xlog(LOG_DEBUG, +- "rpcbproc_callit_com: No memory!\n"); +- goto error; +- } +- xdrmem_create(&outxdr, outbuf_alloc, sendsz, XDR_ENCODE); +- } else { +- xdrmem_create(&outxdr, outbuf, sendsz, XDR_ENCODE); +- } ++ ++ memset(outbuf, '\0', sendsz); /* Zero out the output buffer */ ++ xdrmem_create(&outxdr, outbuf, sendsz, XDR_ENCODE); ++ + if (!xdr_callhdr(&outxdr, &call_msg)) { + if (reply_type == RPCBPROC_INDIRECT) + svcerr_systemerr(transp); +@@ -875,10 +858,6 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + goto error; + } + outlen = (int) XDR_GETPOS(&outxdr); +- if (outbuf_alloc) +- outbufp = outbuf_alloc; +- else +- outbufp = outbuf; + + na = uaddr2taddr(nconf, local_uaddr); + if (!na) { +@@ -887,7 +866,7 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + goto error; + } + +- if (sendto(fd, outbufp, outlen, 0, (struct sockaddr *)na->buf, na->len) ++ if (sendto(fd, outbuf, outlen, 0, (struct sockaddr *)na->buf, na->len) + != outlen) { + if (debugging) + xlog(LOG_DEBUG, +@@ -912,8 +891,6 @@ out: + } + if (local_uaddr) + free(local_uaddr); +- if (outbuf_alloc) +- free(outbuf_alloc); + if (na) { + free(na->buf); + free(na); +-- +2.13.2 + diff --git a/patches/source/rpcbind/01.rpcbind-manpage-statefile-explanation.patch b/patches/source/rpcbind/01.rpcbind-manpage-statefile-explanation.patch new file mode 100644 index 000000000..946dd1bd1 --- /dev/null +++ b/patches/source/rpcbind/01.rpcbind-manpage-statefile-explanation.patch @@ -0,0 +1,25 @@ +--- rpcbind-0.2.3/man/rpcbind.8 2015-04-27 16:07:43.000000000 +0200 ++++ rpcbind-0.2.3/man/rpcbind.8 2015-09-22 16:25:40.000000000 +0200 +@@ -132,11 +132,20 @@ + .It Fl w + Cause + .Nm +-to do a "warm start" by read a state file when ++to do a "warm start" by attempting to read *.xdr state files from the ++state directory ++.%T /var/state/rpcbind ++when + .Nm +-starts up. The state file is created when ++starts up. The state files are created when + .Nm + terminates. ++.Pp ++This allows for restarting ++.Nm ++without the need to restart all RPC services that have previously registered. ++The state file serves similar purpose like the file created/restored by ++pmap_dump and pmap_set utilities, distributed with old portmap server package. + .El + .Sh NOTES + All RPC servers must be restarted if diff --git a/patches/source/rpcbind/doinst.sh b/patches/source/rpcbind/doinst.sh new file mode 100644 index 000000000..5f7dfaf55 --- /dev/null +++ b/patches/source/rpcbind/doinst.sh @@ -0,0 +1,24 @@ +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.rpc.new diff --git a/patches/source/rpcbind/rc.rpc b/patches/source/rpcbind/rc.rpc new file mode 100644 index 000000000..c850c5560 --- /dev/null +++ b/patches/source/rpcbind/rc.rpc @@ -0,0 +1,64 @@ +#!/bin/sh +# rc.rpc: start/stop/restart RPC daemons needed to use NFS. +# +# You must run these daemons in order to mount NFS partitions +# (unless you use the mount option '-o nolock', which can +# corrupt files and is not generally recommended unless you +# are mounting the partition(s) as read-only). +# +# To run an NFS server, starting these is mandatory. +# + +rpc_start() { + if [ -x /sbin/rpcbind -a -x /sbin/rpc.statd ]; then + if ! ps axc | grep -q rpcbind ; then + echo "Starting RPC portmapper: /sbin/rpcbind -l $1" + /sbin/rpcbind -l $1 + fi + if ! ps axc | grep -q rpc.statd ; then + echo "Starting RPC NSM (Network Status Monitor): /sbin/rpc.statd" + /sbin/rpc.statd + fi + else + echo "WARNING: Cannot start RPC daemons needed for NFS. One or more of" + echo " these required daemons is not executable or is not present" + echo " on your system:" + echo + echo " /sbin/rpcbind or /sbin/rpc.statd" + echo + fi +} + +rpc_stop() { + killall rpc.statd 2> /dev/null + sleep 1 + killall rpcbind 2> /dev/null + sleep 1 + killall -9 rpc.statd 2> /dev/null # make sure :) + sleep 1 + killall -9 rpcbind 2> /dev/null # make sure :) + sleep 1 +} + +rpc_restart() { + rpc_stop + rpc_start +} + +case "$1" in +'start') + # Warm restart by default (see "man rpcbind" for details about the -w option) + rpc_start -w + ;; +'cold_start') # Start without -w option + rpc_start + ;; +'stop') + rpc_stop + ;; +'restart') + rpc_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/patches/source/rpcbind/rpcbind.SlackBuild b/patches/source/rpcbind/rpcbind.SlackBuild new file mode 100755 index 000000000..894c7dbda --- /dev/null +++ b/patches/source/rpcbind/rpcbind.SlackBuild @@ -0,0 +1,155 @@ +#!/bin/sh + +# Copyright 2015, 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=rpcbind +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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" + 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 + +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 + +# CVE-2017-8779 +zcat $CWD/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0004-rpcbind-fix-building-without-enable-debug.patch.gz | patch -p1 --verbose || exit 1 + +# Fixes from git master +zcat $CWD/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch.gz | patch -p1 --verbose || exit 1 + +zcat $CWD/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch | patch -p1 --verbose || exit 1 +zcat $CWD/rpcbind.lwrap.needs.lnsl.diff.gz | patch -p1 --verbose || exit 1 + +# This is needed after the libwrap patch above: +autoreconf -vif || exit 1 +./autogen.sh + +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 \ + --bindir=/sbin \ + --libdir=/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --enable-libwrap \ + --enable-warmstarts \ + --with-statedir=/var/run/rpcbind \ + --with-rpcuser=rpc \ + --with-nss-modules="files" \ + --without-systemdsystemunitdir \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Make state directory (not really needed as rpcbind does this on startup) +mkdir -p $PKG/var/run/rpcbind +chown rpc:root $PKG/var/run/rpcbind + +# Install init script: +mkdir -p $PKG/etc/rc.d +zcat $CWD/rc.rpc.gz > $PKG/etc/rc.d/rc.rpc.new + +# 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 +) + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# 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/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/rpcbind/rpcbind.lwrap.needs.lnsl.diff b/patches/source/rpcbind/rpcbind.lwrap.needs.lnsl.diff new file mode 100644 index 000000000..43f2bdf8f --- /dev/null +++ b/patches/source/rpcbind/rpcbind.lwrap.needs.lnsl.diff @@ -0,0 +1,14 @@ +--- ./configure.ac.orig 2015-04-27 09:07:43.000000000 -0500 ++++ ./configure.ac 2015-12-14 13:34:54.592931654 -0600 +@@ -52,6 +52,11 @@ + fi + AM_CONDITIONAL(SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) + ++AC_SEARCH_LIBS(yp_get_default_domain, nsl) ++AC_MSG_CHECKING([for hosts_access in -lwrap]) ++saved_LIBS="$LIBS" ++LIBS="$saved_LIBS -lwrap" ++ + AS_IF([test x$enable_libwrap = xyes], [ + AC_CHECK_LIB([wrap], [hosts_access], , + AC_MSG_ERROR([libwrap support requested but unable to find libwrap])) diff --git a/patches/source/rpcbind/slack-desc b/patches/source/rpcbind/slack-desc new file mode 100644 index 000000000..70adeb78d --- /dev/null +++ b/patches/source/rpcbind/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------------------------------------------------------| +rpcbind: rpcbind (a daemon to manage RPC connections) +rpcbind: +rpcbind: This is a network daemon used to manage connections to RPC services. +rpcbind: It is meant as a replacement for the 'rpc.portmap' server from the +rpcbind: 'portmap' package. Daemons that offer RPC services (such as the +rpcbind: daemons for NFS) tell the rpcbind on what port they listen. +rpcbind: RPC network port numbers may change each time the system is booted. +rpcbind: +rpcbind: This package is required to use NFS or other RPC services. +rpcbind: +rpcbind: Homepage: http://sourceforge.net/projects/rpcbind/ diff --git a/patches/source/rsync/rsync.SlackBuild b/patches/source/rsync/rsync.SlackBuild new file mode 100755 index 000000000..bb774f9e4 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$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-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..f3584a5c8 --- /dev/null +++ b/patches/source/ruby/ruby.SlackBuild @@ -0,0 +1,138 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 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=ruby + +if echo $PKGNAM-*.tar.?z* | grep -q p ; then + # With patchlevel in tarball name: + VERSION=$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev) +else + # Without patchlevel in tarball name: + VERSION=$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev) +fi + +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-ruby + +if [ "$ARCH" = "i586" ]; 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=i586 -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..3ce2a5f3a --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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..ff09d3161 --- /dev/null +++ b/patches/source/samba/doinst.sh @@ -0,0 +1,42 @@ +#!/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} +} + +config etc/samba/lmhosts.new +preserve_perms etc/rc.d/rc.samba.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 + +# Since /etc/samba/private/ has moved to /var/lib/samba/private, migrate any +# important files if possible: +if [ -d etc/samba/private -a -d var/lib/samba/private ]; then + for file in etc/samba/private/* ; do + if [ -r "$file" -a ! -r "var/lib/samba/private/$(basename $file)" ]; then + mv "$file" var/lib/samba/private + fi + done + # Might as well try to eliminate this directory, since it should be empty: + rmdir etc/samba/private 1> /dev/null 2> /dev/null +fi 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..5b98b879c --- /dev/null +++ b/patches/source/samba/rc.samba @@ -0,0 +1,48 @@ +#!/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 + elif [ ! -r /etc/samba/smb.conf ]; then + echo "ERROR: cannot start Samba since /etc/samba/smb.conf does not exist" + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 +Reviewed-by: Stefan Metzmacher +--- + 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 +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 连一汉 + +CVE-2017-14746 + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=13041 + +Signed-off-by: Jeremy Allison +--- + 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 +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 +--- + 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..de6bbf45e --- /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 for ARM port. + + +VERSION=${VERSION:-$(echo samba-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.2} + +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=i586 ;; + 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" = "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 +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=/var/lib/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/var/lib/samba/private \ + $PKG/var/cache/samba +chmod 700 $PKG/var/lib/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: + +drwxr-xr-x 2 root root 4096 May 3 15:46 /var/cache/samba/ +drwx------ 2 root root 1024 Mar 12 13:21 /var/lib/samba/private +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/scim/scim-setup.desktop b/patches/source/scim/scim-setup.desktop new file mode 100644 index 000000000..a236ef291 --- /dev/null +++ b/patches/source/scim/scim-setup.desktop @@ -0,0 +1,28 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=SCIM Input Method Setup +Name[cs]=Nastavení vstupní metody SCIM +Name[de]=Einstellungen der SCIM-Eingabemethoden +Name[fr]=Configuration de la Méthode de Saisie SCIM +Name[it]=Configurazione del metodo di inserimento SCIM +Name[ja]=SCIM入力メソッドã®è¨­å®š +Name[ko]=SCIM 입력기 설정 +Name[pa]=SCIM ਇੰਪà©à©±à¨Ÿ ਢੰਗ ਸੈਟਅੱਪ +Name[zh_CN]=SCIM 输入法设置 +Name[zh_TW]=SCIM 輸入法設定 +Comment=Setup utility for Smart Common Input Method platform +Comment[cs]=Nástroj pro nastavení Smart Common Input Method platformy +Comment[de]=Einrichtungswerkzeug für die Smart Common Input Method-Plattform +Comment[fr]=Utilitaire de configuration de la plateforme "Smart Common Input Method" +Comment[it]=Programma di configurazione per il metodo inserimento comune intelligente +Comment[ja]=Smart Common Input Method platform セットアップユーティリティ +Comment[ko]=똑똑한 공통 ìž…ë ¥ 방법 (SCIM)ì„ ìœ„í•œ 설정 프로그램 +Comment[pa]=ਸਮਾਰਟ ਕਾਮਨ ਇੰਪà©à©±à¨Ÿ ਮੈਂਥਸਡ ਪਲੇਟਫਾਰਮ ਲਈ ਸੈਟਅੱਪ ਸਹੂਲਤ +Comment[zh_CN]=智能通用输入法平å°çš„设置工具 +Comment[zh_TW]=泛用智慧型輸入法平å°çš„設定工具 +Exec=scim-setup +Icon=/usr/share/pixmaps/scim-setup.png +Terminal=false +Type=Application +StartupNotify=true +Categories=Applications;Settings; diff --git a/patches/source/scim/scim.SlackBuild b/patches/source/scim/scim.SlackBuild new file mode 100755 index 000000000..9d7e7e4e5 --- /dev/null +++ b/patches/source/scim/scim.SlackBuild @@ -0,0 +1,250 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008 Eric Hameleers, Eindhoven, NL +# Copyright 2008, 2009, 2011, 2012, 2013, 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. +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers +# For: scim +# Descr: Smart Common Input Method platform +# URL: http://www.scim-im.org/ +# +# ----------------------------------------------------------------------------- + + +PKGNAM=scim +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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" = "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" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armel" ]; then + SLKCFLAGS="-O2 -march=armv4t" + 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.?z* || exit 1 +cd ${PKGNAM}-${VERSION} || exit 1 + +./bootstrap + +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 ... +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --disable-static \ + --with-gtk-version=2 \ + --with-qt4-im-module-dir=/usr/lib${LIBDIRSUFFIX}/qt/plugins/inputmethods \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make DESTDIR=$PKG install || exit 1 + +# Add a profile script that sets up the environment: +mkdir -p $PKG/etc/profile.d + +cat < $PKG/etc/profile.d/scim.sh.new +#!/bin/sh + +# SCIM (Smart Common Input Method platform). This is used to support the +# entering of text in non-US-English languages. + +# For SCIM to work, you need to use a UTF-8 locale. Make sure it ends on +# ".UTF-8", not "utf-8"! As an example, you would need to use en_US.UTF-8 +# for a US locale (export LANG=en_US.UTF-8), not en_US. +# +# The locale (LANG variable) is set in /etc/profile.d/lang.sh. + +if [ -x /usr/bin/scim ]; then + # Enable legacy X applications to use scim: + export XMODIFIERS="@im=SCIM" + # Let GTK applications like Firefox/Thunderbird use scim as + # default immodule: + export GTK_IM_MODULE="scim" + # Enable Qt/KDE applications to use scim: + export QT_IM_MODULE="scim" + # Make scim start automatically if the "magic key" Ctrl-Space is pressed: + export XIM_PROGRAM="/usr/bin/scim -d" +fi + +# This ensures scim starts when you logon. +# This will only work if you login through runlevel 4 (graphical login)!!! +# Better is to have it start through Ctrl-Space like configured higher up ^^. +#if [ ! \`ls /tmp/scim-socket*\` ]; then +# /usr/bin/scim -d +#fi + +EOT + +cat < $PKG/etc/profile.d/scim.csh.new +#!/bin/csh + +# SCIM (Smart Common Input Method platform). This is used to support the +# entering of text in non-US-English languages. + +# For SCIM to work, you need to use a UTF-8 locale. Make sure it ends on +# ".UTF-8", not "utf-8"! As an example, you would need to use en_US.UTF-8 +# for a US locale (setenv LANG en_US.UTF-8), not en_US. +# +# The locale (LANG variable) is set in /etc/profile.d/lang.csh. + +[ -x /usr/bin/scim ] +if (\$status == 0) then + # Enable legacy X applications to use scim: + setenv XMODIFIERS "@im=SCIM" + # Let GTK applications like Firefox/Thunderbird use scim as + # default immodule: + setenv GTK_IM_MODULE "scim" + # Enable Qt/KDE applications to use scim (does not work for kde4): + setenv QT_IM_MODULE "scim" + # Make scim start automatically if the "magic key" Ctrl-Space is pressed: + setenv XIM_PROGRAM "/usr/bin/scim -d" +endif + +# This ensures scim starts when you logon. +# This will only work if you login through runlevel 4 (graphical login)!!! +# Better is to have it start through Ctrl-Space like configured higher up ^^. +#[ ! \`ls /tmp/scim-socket*\` ] +#if (\$status == 0) then +# /usr/bin/scim -d +#endif + +EOT + +chmod 755 $PKG/etc/profile.d/scim.sh.new +chmod 755 $PKG/etc/profile.d/scim.csh.new + +mkdir -p $PKG/usr/share/applications +cat $CWD/scim.desktop > $PKG/usr/share/applications/scim.desktop +cat $CWD/scim-setup.desktop > $PKG/usr/share/applications/scim-setup.desktop + +# Protect config files from being overwritten: +mv $PKG/etc/scim/config{,.new} +mv $PKG/etc/scim/global{,.new} + +# Add this to the doinst.sh +mkdir -p $PKG/install +cat <> $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 +} + +# Prepare the new configuration files +for file in etc/scim/config.new etc/scim/global.new etc/profile.d/scim.sh.new etc/profile.d/scim.csh.new ; do + if [ -e \$(dirname \$file)/\$(basename \$file .new) -a -x \$(dirname \$file)/\$(basename \$file .new) ]; then + chmod 755 \$file + else + chmod 644 \$file + fi + config \$file +done + +# Run gtk-query-immodules so that "scim" will appear under Imput Method +# when you right- click your mouse in a text box. +if [ -x /usr/bin/update-gtk-immodules ]; then + /usr/bin/update-gtk-immodules +fi + +EOINS + +# Add documentation: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/manual/zh_CN/figures +cp -a \ + ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION +# Install documentation and user manual +cp -a docs/manual/zh_CN/user-manual.html \ + $PKG/usr/doc/$PKGNAM-$VERSION/manual/zh_CN/ +cp -a docs/manual/zh_CN/figures/*.png \ + $PKG/usr/doc/$PKGNAM-$VERSION/manual/zh_CN/figures/ + +# 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 --prepend --linkadd y --chown n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz + diff --git a/patches/source/scim/scim.desktop b/patches/source/scim/scim.desktop new file mode 100644 index 000000000..7aacbcc05 --- /dev/null +++ b/patches/source/scim/scim.desktop @@ -0,0 +1,20 @@ +[Desktop Entry] +Comment=Start the Smart Common Input Method platform +Comment[zh_CN]= +Encoding=UTF-8 +Exec=scim -d +GenericName= +GenericName[zh_CN]= +Icon=/usr/share/pixmaps/scim-setup.png +MimeType= +Name=SCIM (Smart Common Input Method) startup +Name[zh_CN]= +Path= +StartupNotify=true +Terminal=false +TerminalOptions= +Type=Application +X-DCOP-ServiceType= +X-KDE-SubstituteUID=false +X-KDE-Username= +Categories=Applications;Utility; diff --git a/patches/source/scim/slack-desc b/patches/source/scim/slack-desc new file mode 100644 index 000000000..066d9f410 --- /dev/null +++ b/patches/source/scim/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------------------------------------------------------| +scim: scim (Smart Common Input Method platform) +scim: +scim: SCIM is an input platform for CJK and other languages. +scim: It aims to significantly reduce the difficulty of input method +scim: development. +scim: +scim: See the scim scripts in /etc/profile.d/ for setup info. +scim: +scim: scim home: http://www.scim-im.org/ +scim: +scim: diff --git a/patches/source/screen/26source_encoding.patch b/patches/source/screen/26source_encoding.patch new file mode 100644 index 000000000..1094ac518 --- /dev/null +++ b/patches/source/screen/26source_encoding.patch @@ -0,0 +1,353 @@ +Author: Ben Finney +Description: Replace the composed characters with their respective description. +--- a/process.c ++++ b/process.c +@@ -250,177 +250,177 @@ + + /* digraph table taken from old vim and rfc1345 */ + static struct digraph digraphs[MAX_DIGRAPH + 1] = { +- {{' ', ' '}, 160}, /*   */ +- {{'N', 'S'}, 160}, /*   */ +- {{'~', '!'}, 161}, /* ¡ */ +- {{'!', '!'}, 161}, /* ¡ */ +- {{'!', 'I'}, 161}, /* ¡ */ +- {{'c', '|'}, 162}, /* ¢ */ +- {{'c', 't'}, 162}, /* ¢ */ +- {{'$', '$'}, 163}, /* £ */ +- {{'P', 'd'}, 163}, /* £ */ +- {{'o', 'x'}, 164}, /* ¤ */ +- {{'C', 'u'}, 164}, /* ¤ */ +- {{'C', 'u'}, 164}, /* ¤ */ +- {{'E', 'u'}, 164}, /* ¤ */ +- {{'Y', '-'}, 165}, /* ¥ */ +- {{'Y', 'e'}, 165}, /* ¥ */ +- {{'|', '|'}, 166}, /* ¦ */ +- {{'B', 'B'}, 166}, /* ¦ */ +- {{'p', 'a'}, 167}, /* § */ +- {{'S', 'E'}, 167}, /* § */ +- {{'"', '"'}, 168}, /* ¨ */ +- {{'\'', ':'}, 168}, /* ¨ */ +- {{'c', 'O'}, 169}, /* © */ +- {{'C', 'o'}, 169}, /* © */ +- {{'a', '-'}, 170}, /* ª */ +- {{'<', '<'}, 171}, /* « */ +- {{'-', ','}, 172}, /* ¬ */ +- {{'N', 'O'}, 172}, /* ¬ */ +- {{'-', '-'}, 173}, /* ­ */ +- {{'r', 'O'}, 174}, /* ® */ +- {{'R', 'g'}, 174}, /* ® */ +- {{'-', '='}, 175}, /* ¯ */ +- {{'\'', 'm'}, 175}, /* ¯ */ +- {{'~', 'o'}, 176}, /* ° */ +- {{'D', 'G'}, 176}, /* ° */ +- {{'+', '-'}, 177}, /* ± */ +- {{'2', '2'}, 178}, /* ² */ +- {{'2', 'S'}, 178}, /* ² */ +- {{'3', '3'}, 179}, /* ³ */ +- {{'3', 'S'}, 179}, /* ³ */ +- {{'\'', '\''}, 180}, /* ´ */ +- {{'j', 'u'}, 181}, /* µ */ +- {{'M', 'y'}, 181}, /* µ */ +- {{'p', 'p'}, 182}, /* ¶ */ +- {{'P', 'I'}, 182}, /* ¶ */ +- {{'~', '.'}, 183}, /* · */ +- {{'.', 'M'}, 183}, /* · */ +- {{',', ','}, 184}, /* ¸ */ +- {{'\'', ','}, 184}, /* ¸ */ +- {{'1', '1'}, 185}, /* ¹ */ +- {{'1', 'S'}, 185}, /* ¹ */ +- {{'o', '-'}, 186}, /* º */ +- {{'>', '>'}, 187}, /* » */ +- {{'1', '4'}, 188}, /* ¼ */ +- {{'1', '2'}, 189}, /* ½ */ +- {{'3', '4'}, 190}, /* ¾ */ +- {{'~', '?'}, 191}, /* ¿ */ +- {{'?', '?'}, 191}, /* ¿ */ +- {{'?', 'I'}, 191}, /* ¿ */ +- {{'A', '`'}, 192}, /* À */ +- {{'A', '!'}, 192}, /* À */ +- {{'A', '\''}, 193}, /* Á */ +- {{'A', '^'}, 194}, /*  */ +- {{'A', '>'}, 194}, /*  */ +- {{'A', '~'}, 195}, /* à */ +- {{'A', '?'}, 195}, /* à */ +- {{'A', '"'}, 196}, /* Ä */ +- {{'A', ':'}, 196}, /* Ä */ +- {{'A', '@'}, 197}, /* Å */ +- {{'A', 'A'}, 197}, /* Å */ +- {{'A', 'E'}, 198}, /* Æ */ +- {{'C', ','}, 199}, /* Ç */ +- {{'E', '`'}, 200}, /* È */ +- {{'E', '!'}, 200}, /* È */ +- {{'E', '\''}, 201}, /* É */ +- {{'E', '^'}, 202}, /* Ê */ +- {{'E', '>'}, 202}, /* Ê */ +- {{'E', '"'}, 203}, /* Ë */ +- {{'E', ':'}, 203}, /* Ë */ +- {{'I', '`'}, 204}, /* Ì */ +- {{'I', '!'}, 204}, /* Ì */ +- {{'I', '\''}, 205}, /* Í */ +- {{'I', '^'}, 206}, /* Î */ +- {{'I', '>'}, 206}, /* Î */ +- {{'I', '"'}, 207}, /* Ï */ +- {{'I', ':'}, 207}, /* Ï */ +- {{'D', '-'}, 208}, /* Ð */ +- {{'N', '~'}, 209}, /* Ñ */ +- {{'N', '?'}, 209}, /* Ñ */ +- {{'O', '`'}, 210}, /* Ò */ +- {{'O', '!'}, 210}, /* Ò */ +- {{'O', '\''}, 211}, /* Ó */ +- {{'O', '^'}, 212}, /* Ô */ +- {{'O', '>'}, 212}, /* Ô */ +- {{'O', '~'}, 213}, /* Õ */ +- {{'O', '?'}, 213}, /* Õ */ +- {{'O', '"'}, 214}, /* Ö */ +- {{'O', ':'}, 214}, /* Ö */ +- {{'/', '\\'}, 215}, /* × */ +- {{'*', 'x'}, 215}, /* × */ +- {{'O', '/'}, 216}, /* Ø */ +- {{'U', '`'}, 217}, /* Ù */ +- {{'U', '!'}, 217}, /* Ù */ +- {{'U', '\''}, 218}, /* Ú */ +- {{'U', '^'}, 219}, /* Û */ +- {{'U', '>'}, 219}, /* Û */ +- {{'U', '"'}, 220}, /* Ü */ +- {{'U', ':'}, 220}, /* Ü */ +- {{'Y', '\''}, 221}, /* Ý */ +- {{'I', 'p'}, 222}, /* Þ */ +- {{'T', 'H'}, 222}, /* Þ */ +- {{'s', 's'}, 223}, /* ß */ +- {{'s', '"'}, 223}, /* ß */ +- {{'a', '`'}, 224}, /* à */ +- {{'a', '!'}, 224}, /* à */ +- {{'a', '\''}, 225}, /* á */ +- {{'a', '^'}, 226}, /* â */ +- {{'a', '>'}, 226}, /* â */ +- {{'a', '~'}, 227}, /* ã */ +- {{'a', '?'}, 227}, /* ã */ +- {{'a', '"'}, 228}, /* ä */ +- {{'a', ':'}, 228}, /* ä */ +- {{'a', 'a'}, 229}, /* å */ +- {{'a', 'e'}, 230}, /* æ */ +- {{'c', ','}, 231}, /* ç */ +- {{'e', '`'}, 232}, /* è */ +- {{'e', '!'}, 232}, /* è */ +- {{'e', '\''}, 233}, /* é */ +- {{'e', '^'}, 234}, /* ê */ +- {{'e', '>'}, 234}, /* ê */ +- {{'e', '"'}, 235}, /* ë */ +- {{'e', ':'}, 235}, /* ë */ +- {{'i', '`'}, 236}, /* ì */ +- {{'i', '!'}, 236}, /* ì */ +- {{'i', '\''}, 237}, /* í */ +- {{'i', '^'}, 238}, /* î */ +- {{'i', '>'}, 238}, /* î */ +- {{'i', '"'}, 239}, /* ï */ +- {{'i', ':'}, 239}, /* ï */ +- {{'d', '-'}, 240}, /* ð */ +- {{'n', '~'}, 241}, /* ñ */ +- {{'n', '?'}, 241}, /* ñ */ +- {{'o', '`'}, 242}, /* ò */ +- {{'o', '!'}, 242}, /* ò */ +- {{'o', '\''}, 243}, /* ó */ +- {{'o', '^'}, 244}, /* ô */ +- {{'o', '>'}, 244}, /* ô */ +- {{'o', '~'}, 245}, /* õ */ +- {{'o', '?'}, 245}, /* õ */ +- {{'o', '"'}, 246}, /* ö */ +- {{'o', ':'}, 246}, /* ö */ +- {{':', '-'}, 247}, /* ÷ */ +- {{'o', '/'}, 248}, /* ø */ +- {{'u', '`'}, 249}, /* ù */ +- {{'u', '!'}, 249}, /* ù */ +- {{'u', '\''}, 250}, /* ú */ +- {{'u', '^'}, 251}, /* û */ +- {{'u', '>'}, 251}, /* û */ +- {{'u', '"'}, 252}, /* ü */ +- {{'u', ':'}, 252}, /* ü */ +- {{'y', '\''}, 253}, /* ý */ +- {{'i', 'p'}, 254}, /* þ */ +- {{'t', 'h'}, 254}, /* þ */ +- {{'y', '"'}, 255}, /* ÿ */ +- {{'y', ':'}, 255}, /* ÿ */ +- {{'"', '['}, 196}, /* Ä */ +- {{'"', '\\'}, 214}, /* Ö */ +- {{'"', ']'}, 220}, /* Ü */ +- {{'"', '{'}, 228}, /* ä */ +- {{'"', '|'}, 246}, /* ö */ +- {{'"', '}'}, 252}, /* ü */ +- {{'"', '~'}, 223} /* ß */ ++ {{' ', ' '}, 0x00a0}, /* NO-BREAK SPACE */ ++ {{'N', 'S'}, 0x00a0}, /* NO-BREAK SPACE */ ++ {{'~', '!'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */ ++ {{'!', '!'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */ ++ {{'!', 'I'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */ ++ {{'c', '|'}, 0x00a2}, /* CENT SIGN */ ++ {{'c', 't'}, 0x00a2}, /* CENT SIGN */ ++ {{'$', '$'}, 0x00a3}, /* POUND SIGN */ ++ {{'P', 'd'}, 0x00a3}, /* POUND SIGN */ ++ {{'o', 'x'}, 0x00a4}, /* CURRENCY SIGN */ ++ {{'C', 'u'}, 0x00a4}, /* CURRENCY SIGN */ ++ {{'C', 'u'}, 0x00a4}, /* CURRENCY SIGN */ ++ {{'E', 'u'}, 0x00a4}, /* CURRENCY SIGN */ ++ {{'Y', '-'}, 0x00a5}, /* YEN SIGN */ ++ {{'Y', 'e'}, 0x00a5}, /* YEN SIGN */ ++ {{'|', '|'}, 0x00a6}, /* BROKEN BAR */ ++ {{'B', 'B'}, 0x00a6}, /* BROKEN BAR */ ++ {{'p', 'a'}, 0x00a7}, /* SECTION SIGN */ ++ {{'S', 'E'}, 0x00a7}, /* SECTION SIGN */ ++ {{'"', '"'}, 0x00a8}, /* DIAERESIS */ ++ {{'\'', ':'}, 0x00a8}, /* DIAERESIS */ ++ {{'c', 'O'}, 0x00a9}, /* COPYRIGHT SIGN */ ++ {{'C', 'o'}, 0x00a9}, /* COPYRIGHT SIGN */ ++ {{'-', 'a'}, 0x00aa}, /* FEMININE ORDINAL INDICATOR */ ++ {{'<', '<'}, 0x00ab}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ ++ {{'-', ','}, 0x00ac}, /* NOT SIGN */ ++ {{'N', 'O'}, 0x00ac}, /* NOT SIGN */ ++ {{'-', '-'}, 0x00ad}, /* SOFT HYPHEN */ ++ {{'r', 'O'}, 0x00ae}, /* REGISTERED SIGN */ ++ {{'R', 'g'}, 0x00ae}, /* REGISTERED SIGN */ ++ {{'-', '='}, 0x00af}, /* MACRON */ ++ {{'\'', 'm'}, 0x00af}, /* MACRON */ ++ {{'~', 'o'}, 0x00b0}, /* DEGREE SIGN */ ++ {{'D', 'G'}, 0x00b0}, /* DEGREE SIGN */ ++ {{'+', '-'}, 0x00b1}, /* PLUS-MINUS SIGN */ ++ {{'2', '2'}, 0x00b2}, /* SUPERSCRIPT TWO */ ++ {{'2', 'S'}, 0x00b2}, /* SUPERSCRIPT TWO */ ++ {{'3', '3'}, 0x00b3}, /* SUPERSCRIPT THREE */ ++ {{'3', 'S'}, 0x00b3}, /* SUPERSCRIPT THREE */ ++ {{'\'', '\''}, 0x00b4}, /* ACUTE ACCENT */ ++ {{'j', 'u'}, 0x00b5}, /* MICRO SIGN */ ++ {{'M', 'y'}, 0x00b5}, /* MICRO SIGN */ ++ {{'p', 'p'}, 0x00b6}, /* PILCROW SIGN */ ++ {{'P', 'I'}, 0x00b6}, /* PILCROW SIGN */ ++ {{'~', '.'}, 0x00b7}, /* MIDDLE DOT */ ++ {{'.', 'M'}, 0x00b7}, /* MIDDLE DOT */ ++ {{',', ','}, 0x00b8}, /* CEDILLA */ ++ {{'\'', ','}, 0x00b8}, /* CEDILLA */ ++ {{'1', '1'}, 0x00b9}, /* SUPERSCRIPT ONE */ ++ {{'1', 'S'}, 0x00b9}, /* SUPERSCRIPT ONE */ ++ {{'-', 'o'}, 0x00ba}, /* MASCULINE ORDINAL INDICATOR */ ++ {{'>', '>'}, 0x00bb}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ ++ {{'1', '4'}, 0x00bc}, /* VULGAR FRACTION ONE QUARTER */ ++ {{'1', '2'}, 0x00bd}, /* VULGAR FRACTION ONE HALF */ ++ {{'3', '4'}, 0x00be}, /* VULGAR FRACTION THREE QUARTERS */ ++ {{'~', '?'}, 0x00bf}, /* INVERTED QUESTION MARK */ ++ {{'?', '?'}, 0x00bf}, /* INVERTED QUESTION MARK */ ++ {{'?', 'I'}, 0x00bf}, /* INVERTED QUESTION MARK */ ++ {{'A', '`'}, 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */ ++ {{'A', '!'}, 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */ ++ {{'A', '\''}, 0x00c1}, /* LATIN CAPITAL LETTER A WITH ACUTE */ ++ {{'A', '^'}, 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ ++ {{'A', '>'}, 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ ++ {{'A', '~'}, 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */ ++ {{'A', '?'}, 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */ ++ {{'A', '"'}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ ++ {{'A', ':'}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ ++ {{'A', '@'}, 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ ++ {{'A', 'A'}, 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ ++ {{'A', 'E'}, 0x00c6}, /* LATIN CAPITAL LETTER AE */ ++ {{'C', ','}, 0x00c7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */ ++ {{'E', '`'}, 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */ ++ {{'E', '!'}, 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */ ++ {{'E', '\''}, 0x00c9}, /* LATIN CAPITAL LETTER E WITH ACUTE */ ++ {{'E', '^'}, 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ ++ {{'E', '>'}, 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ ++ {{'E', '"'}, 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ ++ {{'E', ':'}, 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ ++ {{'I', '`'}, 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */ ++ {{'I', '!'}, 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */ ++ {{'I', '\''}, 0x00cd}, /* LATIN CAPITAL LETTER I WITH ACUTE */ ++ {{'I', '^'}, 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ ++ {{'I', '>'}, 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ ++ {{'I', '"'}, 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ ++ {{'I', ':'}, 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ ++ {{'D', '-'}, 0x00d0}, /* LATIN CAPITAL LETTER ETH */ ++ {{'N', '~'}, 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */ ++ {{'N', '?'}, 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */ ++ {{'O', '`'}, 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */ ++ {{'O', '!'}, 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */ ++ {{'O', '\''}, 0x00d3}, /* LATIN CAPITAL LETTER O WITH ACUTE */ ++ {{'O', '^'}, 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ ++ {{'O', '>'}, 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ ++ {{'O', '~'}, 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */ ++ {{'O', '?'}, 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */ ++ {{'O', '"'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ ++ {{'O', ':'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ ++ {{'/', '\\'}, 0x00d7}, /* MULTIPLICATION SIGN */ ++ {{'*', 'x'}, 0x00d7}, /* MULTIPLICATION SIGN */ ++ {{'O', '/'}, 0x00d8}, /* LATIN CAPITAL LETTER O WITH STROKE */ ++ {{'U', '`'}, 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */ ++ {{'U', '!'}, 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */ ++ {{'U', '\''}, 0x00da}, /* LATIN CAPITAL LETTER U WITH ACUTE */ ++ {{'U', '^'}, 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ ++ {{'U', '>'}, 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ ++ {{'U', '"'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ ++ {{'U', ':'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ ++ {{'Y', '\''}, 0x00dd}, /* LATIN CAPITAL LETTER Y WITH ACUTE */ ++ {{'I', 'p'}, 0x00de}, /* LATIN CAPITAL LETTER THORN */ ++ {{'T', 'H'}, 0x00de}, /* LATIN CAPITAL LETTER THORN */ ++ {{'s', 's'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */ ++ {{'s', '"'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */ ++ {{'a', '`'}, 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */ ++ {{'a', '!'}, 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */ ++ {{'a', '\''}, 0x00e1}, /* LATIN SMALL LETTER A WITH ACUTE */ ++ {{'a', '^'}, 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ ++ {{'a', '>'}, 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ ++ {{'a', '~'}, 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */ ++ {{'a', '?'}, 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */ ++ {{'a', '"'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ ++ {{'a', ':'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ ++ {{'a', 'a'}, 0x00e5}, /* LATIN SMALL LETTER A WITH RING ABOVE */ ++ {{'a', 'e'}, 0x00e6}, /* LATIN SMALL LETTER AE */ ++ {{'c', ','}, 0x00e7}, /* LATIN SMALL LETTER C WITH CEDILLA */ ++ {{'e', '`'}, 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */ ++ {{'e', '!'}, 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */ ++ {{'e', '\''}, 0x00e9}, /* LATIN SMALL LETTER E WITH ACUTE */ ++ {{'e', '^'}, 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ ++ {{'e', '>'}, 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ ++ {{'e', '"'}, 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */ ++ {{'e', ':'}, 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */ ++ {{'i', '`'}, 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */ ++ {{'i', '!'}, 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */ ++ {{'i', '\''}, 0x00ed}, /* LATIN SMALL LETTER I WITH ACUTE */ ++ {{'i', '^'}, 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ ++ {{'i', '>'}, 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ ++ {{'i', '"'}, 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */ ++ {{'i', ':'}, 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */ ++ {{'d', '-'}, 0x00f0}, /* LATIN SMALL LETTER ETH */ ++ {{'n', '~'}, 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */ ++ {{'n', '?'}, 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */ ++ {{'o', '`'}, 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */ ++ {{'o', '!'}, 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */ ++ {{'o', '\''}, 0x00f3}, /* LATIN SMALL LETTER O WITH ACUTE */ ++ {{'o', '^'}, 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ ++ {{'o', '>'}, 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ ++ {{'o', '~'}, 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */ ++ {{'o', '?'}, 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */ ++ {{'o', '"'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ ++ {{'o', ':'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ ++ {{'-', ':'}, 0x00f7}, /* DIVISION SIGN */ ++ {{'o', '/'}, 0x00f8}, /* LATIN SMALL LETTER O WITH STROKE */ ++ {{'u', '`'}, 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */ ++ {{'u', '!'}, 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */ ++ {{'u', '\''}, 0x00fa}, /* LATIN SMALL LETTER U WITH ACUTE */ ++ {{'u', '^'}, 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ ++ {{'u', '>'}, 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ ++ {{'u', '"'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ ++ {{'u', ':'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ ++ {{'y', '\''}, 0x00fd}, /* LATIN SMALL LETTER Y WITH ACUTE */ ++ {{'i', 'p'}, 0x00fe}, /* LATIN SMALL LETTER THORN */ ++ {{'t', 'h'}, 0x00fe}, /* LATIN SMALL LETTER THORN */ ++ {{'y', '"'}, 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */ ++ {{'y', ':'}, 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */ ++ {{'"', '['}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ ++ {{'"', '\\'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ ++ {{'"', ']'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ ++ {{'"', '{'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ ++ {{'"', '|'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ ++ {{'"', '}'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ ++ {{'"', '~'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */ + }; + + #define RESIZE_FLAG_H 1 diff --git a/patches/source/screen/45suppress_remap.patch b/patches/source/screen/45suppress_remap.patch new file mode 100644 index 000000000..85109a2ef --- /dev/null +++ b/patches/source/screen/45suppress_remap.patch @@ -0,0 +1,13 @@ +Author: Loic Minier +Description: Unbreak several useful keybindings. +--- a/termcap.c ++++ b/termcap.c +@@ -552,8 +552,6 @@ + else + break; + } +- if (n < KMAP_KEYS) +- domap = 1; + if (map == 0 && domap) + return 0; + if (map && !domap) diff --git a/patches/source/screen/52fix_screen_utf8_nfd.patch b/patches/source/screen/52fix_screen_utf8_nfd.patch new file mode 100644 index 000000000..0aa72d5ed --- /dev/null +++ b/patches/source/screen/52fix_screen_utf8_nfd.patch @@ -0,0 +1,41 @@ +## 52fix_screen_utf8_nfd.dpatch by Nobuhiro Iwamatsu +## +## DP: screen outputs screen "ÿ" after a connected character. +## DP: This is a character without the need. +## DP: This happens in UTF-8 environment. +## DP: Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."' +## DP: ã‹ã‚™Ã¿... +## DP: patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."' +## DP: ã‹ã‚™.. +## DP: Report from http://d.hatena.ne.jp/mrkn/20101014/fix_screen_utf8_nfd_bug +## DP: Copyright Kenta Murata (mrkn) +## DP: Modified by Nobuhiro Iwamatsu + +Index: screen/ansi.c +=================================================================== +--- screen.orig/ansi.c 2012-03-20 22:15:02.000000000 +0100 ++++ screen/ansi.c 2012-03-20 22:41:45.000000000 +0100 +@@ -725,6 +725,10 @@ + LPutChar(&curr->w_layer, &omc, ox, oy); + LGotoPos(&curr->w_layer, curr->w_x, curr->w_y); + } ++ if (curr->w_mbcs) ++ { ++ curr->w_rend.mbcs = curr->w_mbcs = 0; ++ } + break; + } + font = curr->w_rend.font; +Index: screen/display.c +=================================================================== +--- screen.orig/display.c 2012-03-20 22:41:28.000000000 +0100 ++++ screen/display.c 2012-03-20 22:41:45.000000000 +0100 +@@ -603,7 +603,7 @@ + D_x += D_AM ? 1 : -1; + D_mbcs = 0; + } +- else if (utf8_isdouble(c)) ++ else if (utf8_isdouble(c) || (c >= 0xd800 && c < 0xe000)) + { + D_mbcs = c; + D_x++; diff --git a/patches/source/screen/58-show-encoding-hardstatus.patch b/patches/source/screen/58-show-encoding-hardstatus.patch new file mode 100644 index 000000000..45fecdbfc --- /dev/null +++ b/patches/source/screen/58-show-encoding-hardstatus.patch @@ -0,0 +1,41 @@ +Author: rascov@rascov.tw +Date: Wed Feb 11 05:51:31 CST 2009 +Subject: show encoding in hardstatus, orginal from FreeBSD by yzlin@cs.nctu.edu.tw +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/screen/+bug/286810 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=533498 + +Index: screen/screen.c +=================================================================== +--- screen.orig/screen.c 2014-04-28 03:14:19.195018278 +0200 ++++ screen/screen.c 2014-04-28 03:14:19.179018199 +0200 +@@ -2801,6 +2801,18 @@ + } + p += strlen(p) - 1; + break; ++ #ifdef ENCODINGS ++ case 'e': ++ *p = 0; ++ D_encoding = nwin_options.encoding > 0 ? nwin_options.encoding : 0; ++ if (win && win->w_encoding) ++ { ++ *p++ = ' '; ++ strcpy(p, EncodingName(win->w_encoding)); ++ } ++ p += strlen(p) - 1; ++ break; ++ #endif + case '{': + { + char rbuf[128]; +Index: screen/process.c +=================================================================== +--- screen.orig/process.c 2014-04-28 03:14:19.195018278 +0200 ++++ screen/process.c 2014-04-28 03:14:19.183018228 +0200 +@@ -3693,6 +3693,7 @@ + { + WinSwitchEncoding(fore, n); + ResetCharsets(fore); ++ RedisplayDisplays(0); + } + else if (i && display) + D_encoding = n; diff --git a/patches/source/screen/60-revert-screenrc-change.diff b/patches/source/screen/60-revert-screenrc-change.diff new file mode 100644 index 000000000..1f208e1df --- /dev/null +++ b/patches/source/screen/60-revert-screenrc-change.diff @@ -0,0 +1,13 @@ +--- screen-4.4.0/etc/etcscreenrc 2015-09-05 14:28:22.000000000 -0500 ++++ screen-4.2.1/etc/etcscreenrc 2014-04-25 14:08:40.000000000 -0500 +@@ -68,8 +68,8 @@ + # + # Do not use xterms alternate window buffer. + # This one would not add lines to the scrollback buffer. +-termcap xterm|xterms|xs ti=\E7\E[?47l +-terminfo xterm|xterms|xs ti=\E7\E[?47l ++#termcap xterm|xterms|xs ti=\E7\E[?47l ++#terminfo xterm|xterms|xs ti=\E7\E[?47l + + #make hp700 termcap/info better + termcap hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' diff --git a/patches/source/screen/screen.SlackBuild b/patches/source/screen/screen.SlackBuild new file mode 100755 index 000000000..2472c7c49 --- /dev/null +++ b/patches/source/screen/screen.SlackBuild @@ -0,0 +1,158 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 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. + +PKGNAM=screen +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$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-screen + +NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf screen-$VERSION +tar xvf $CWD/screen-$VERSION.tar.?z* || exit 1 + +cd screen-$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 {} \; + +# Apply patches taken from Debian: +for pf in \ + 26source_encoding.patch.gz \ + 45suppress_remap.patch.gz \ + 52fix_screen_utf8_nfd.patch.gz \ + 58-show-encoding-hardstatus.patch.gz \ + ; do zcat $CWD/$pf | patch --verbose -p1 || exit 1 +done + +# Revert a change to /etc/screenrc introduced in screen-4.3.x that prevents +# the console from being properly cleared when detaching from a screen session: +zcat $CWD/60-revert-screenrc-change.diff.gz | patch -p1 --verbose || exit 1 + +# Do not link against libelf: +zcat $CWD/screen.no_libelf.diff.gz | patch -p1 --verbose || exit 1 + +# Reconf after patching configure.ac: +autoreconf -vif + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --with-sys-screenrc=/etc/screenrc \ + --with-pty-mode=0620 \ + --with-pty-group=5 \ + --disable-pam \ + --enable-telnet \ + --disable-socket-dir \ + --enable-use-locale \ + --enable-colors256 \ + --enable-rxvt_osc \ + --build=$ARCH-slackware-linux || exit 1 + +# Substitutions: +perl -pi -e 's|.*#undef HAVE_BRAILLE.*|#define HAVE_BRAILLE 1|' config.h +perl -pi -e 's|/usr/local/etc/screenrc|/etc/screenrc|' etc/etcscreenrc doc/* +perl -pi -e 's|/local/etc/screenrc|/etc/screenrc|' doc/* + +# Build screen: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Prepare package: +( 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 +) + +# Sorry, pal. Not around here. +chmod 755 $PKG/usr/bin/screen-$VERSION +mkdir -p $PKG/etc/skel +cat etc/etcscreenrc > $PKG/etc/screenrc.new +cat etc/screenrc > $PKG/etc/skel/.screenrc.new +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* +gzip -9 $PKG/usr/man/man1/* +mkdir -p $PKG/usr/doc/screen-$VERSION +chmod 644 doc/FAQ +cp -a COPYING ChangeLog HACKING INSTALL NEWS README TODO \ + doc/FAQ doc/README.DOTSCREEN \ + $PKG/usr/doc/screen-$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/screenrc.new +config etc/skel/.screenrc.new +# This is probably safer than leaving the hidden .new file... maybe? +rm -f etc/skel/.screenrc.new +EOF + +# Build package: +cd $PKG +makepkg -l y -c n $TMP/screen-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/screen/screen.no_libelf.diff b/patches/source/screen/screen.no_libelf.diff new file mode 100644 index 000000000..992fb07ad --- /dev/null +++ b/patches/source/screen/screen.no_libelf.diff @@ -0,0 +1,19 @@ +--- ./configure.ac.orig 2015-06-28 16:22:55.000000000 -0500 ++++ ./configure.ac 2015-08-02 13:46:59.649097842 -0500 +@@ -202,16 +202,6 @@ + #endif + ], LIBS="$LIBS -lsocket -linet";seqptx=1) + +-oldlibs="$LIBS" +-LIBS="$LIBS -lelf" +-AC_CHECKING(SVR4) +-AC_TRY_LINK([#include +-],, +-[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN), +-[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])] +-,LIBS="$oldlibs") +-AC_CHECK_HEADERS([stropts.h string.h strings.h]) +- + AC_CHECKING(for Solaris 2.x) + AC_EGREP_CPP(yes, + [#if defined(SVR4) && defined(sun) diff --git a/patches/source/screen/slack-desc b/patches/source/screen/slack-desc new file mode 100644 index 000000000..cfe3136b6 --- /dev/null +++ b/patches/source/screen/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------------------------------------------------------| +screen: screen (screen manager with VT100/ANSI terminal emulation) +screen: +screen: Screen is a full-screen window manager that multiplexes a physical +screen: terminal between several processes (typically interactive shells). +screen: Each virtual terminal provides the functions of a DEC VT100 terminal +screen: and several control functions from the ISO 6492 (ECMA 48, ANSI X3.64) +screen: and ISO 2022 standards (e.g. insert/delete line and support for +screen: multiple character sets). There is a scrollback history buffer for +screen: each virtual terminal and a copy-and-paste mechanism that allows +screen: moving text regions between windows. +screen: diff --git a/patches/source/sdl/SDL_mixer.usrlocal.diff b/patches/source/sdl/SDL_mixer.usrlocal.diff new file mode 100644 index 000000000..4630e9ea6 --- /dev/null +++ b/patches/source/sdl/SDL_mixer.usrlocal.diff @@ -0,0 +1,11 @@ +--- ./timidity/config.h.orig 2010-02-14 17:14:44.000000000 -0600 ++++ ./timidity/config.h 2010-02-14 17:15:45.000000000 -0600 +@@ -179,7 +179,7 @@ + #else + #define DEFAULT_PATH "/etc/timidity" + #define DEFAULT_PATH1 "/usr/share/timidity" +-#define DEFAULT_PATH2 "/usr/local/lib/timidity" ++#define DEFAULT_PATH2 "/usr/lib/timidity" + #endif + + /* These affect general volume */ diff --git a/patches/source/sdl/SDL_ttf.shaded.text.diff b/patches/source/sdl/SDL_ttf.shaded.text.diff new file mode 100644 index 000000000..549a60a48 --- /dev/null +++ b/patches/source/sdl/SDL_ttf.shaded.text.diff @@ -0,0 +1,11 @@ +--- ./SDL_ttf.c.orig 2012-01-14 22:44:08.000000000 -0600 ++++ ./SDL_ttf.c 2016-06-08 11:59:50.163770281 -0500 +@@ -1747,7 +1747,7 @@ + /* Copy the character from the pixmap */ + src = glyph->pixmap.buffer; + dst = (Uint8*) textbuf->pixels; +- for ( row = 0; row < glyph->bitmap.rows; ++row ) { ++ for ( row = 0; row < glyph->pixmap.rows; ++row ) { + memcpy( dst, src, glyph->pixmap.width ); + src += glyph->pixmap.pitch; + dst += textbuf->pitch; diff --git a/patches/source/sdl/libsdl-1.2.15-resizing.patch b/patches/source/sdl/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..709881962 --- /dev/null +++ b/patches/source/sdl/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; 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..b506e7f96 --- /dev/null +++ b/patches/source/sdl/sdl.SlackBuild @@ -0,0 +1,255 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 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. + +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:-5_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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 || 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/libsdl-1.2.15-resizing.patch.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: +tar xf $CWD/libmikmod-3.1.20.tar.xz +( cd libmikmod-3.1.20 + CFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr/local \ + --libdir=/usr/local/lib${LIBDIRSUFFIX} \ + --with-pic \ + --enable-shared=no \ + --enable-static=yes || exit 1 + make $NUMJOBS || make || exit 1 + make install || exit 1 +) || 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-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 +zcat $CWD/SDL_ttf.shaded.text.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/slack-desc b/patches/source/sdl/slack-desc new file mode 100644 index 000000000..e4c7502b6 --- /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, audiofile, esound, and the X11 libraries. +sdl: Make sure all of these are installed if you're planning to use SDL +sdl: (a full installation will cover all of the prerequisites). +sdl: +sdl: diff --git a/patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch new file mode 100644 index 000000000..5e7b23113 --- /dev/null +++ b/patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch @@ -0,0 +1,504 @@ +Submitted By: Ken Moffat +Date: 2016-06-11 +Initial Package Version: 2.13 +Upstream Status: Version is historic and unmaintained. +Origin: Found at fedora, plus fixes for LFS. +Description: All of the patches currently used by fedora, except for +the patch which ensures gawk is used in preference to mawk (we do not +install mawk). For LFS: we put mktemp in /usr/bin not /bin, remove +the install-info target because that will overwrite standards.info +with an old version (fedora always use a DESTDIR), and change the +man and info dirs to ${datadir}/ i.e. /usr/share (an empty /usr/info +will otherwise be created). + +diff -Naur a/acgeneral.m4 b/acgeneral.m4 +--- a/acgeneral.m4 1999-01-05 13:27:37.000000000 +0000 ++++ b/acgeneral.m4 2016-06-11 00:18:24.429043947 +0100 +@@ -1817,10 +1817,6 @@ + [cat > conftest.$ac_ext </dev/null +@@ -1988,12 +1984,12 @@ + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-main() ++int main() + { + FILE *f=fopen("conftestval", "w"); +- if (!f) exit(1); ++ if (!f) return(1); + fprintf(f, "%d\n", sizeof($1)); +- exit(0); ++ return(0); + }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl + AC_MSG_RESULT($AC_CV_NAME) + AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) +@@ -2160,20 +2156,38 @@ + dnl AC_OUTPUT_MAKE_DEFS() + define(AC_OUTPUT_MAKE_DEFS, + [# Transform confdefs.h into DEFS. +-dnl Using a here document instead of a string reduces the quoting nightmare. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. +-cat > conftest.defs <<\EOF ++# ++# If the first sed substitution is executed (which looks for macros that ++# take arguments), then we branch to the quote section. Otherwise, ++# look for a macro that doesn't take arguments. ++cat >confdef2opt.sed <<\_ACEOF + changequote(<<, >>)dnl +-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +-s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g +-s%\[%\\&%g +-s%\]%\\&%g +-s%\$%$$%g ++t clear ++: clear ++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g ++t quote ++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g ++t quote ++d ++: quote ++s,[ `~#$^&*(){}\\|;'"<>?],\\&,g ++s,\[,\\&,g ++s,\],\\&,g ++s,\$,$$,g ++p + changequote([, ])dnl +-EOF +-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +-rm -f conftest.defs ++_ACEOF ++# We use echo to avoid assuming a particular line-breaking character. ++# The extra dot is to prevent the shell from consuming trailing ++# line-breaks from the sub-command output. A line-break within ++# single-quotes doesn't work because, if this script is created in a ++# platform that uses two characters for line-breaks (e.g., DOS), tr ++# would break. ++ac_LF_and_DOT=`echo; echo .` ++DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` ++rm -f confdef2opt.sed + ]) + + dnl Do the variable substitutions to create the Makefiles or whatever. +diff -Naur a/acspecific.m4 b/acspecific.m4 +--- a/acspecific.m4 1999-01-05 13:27:52.000000000 +0000 ++++ b/acspecific.m4 2016-06-11 00:18:17.533078644 +0100 +@@ -152,8 +152,41 @@ + CXXFLAGS= + fi + fi ++ ++AC_PROG_CXX_EXIT_DECLARATION + ]) + ++ ++# AC_PROG_CXX_EXIT_DECLARATION ++# ----------------------------- ++# Find a valid prototype for exit and declare it in confdefs.h. ++AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION, ++[for ac_declaration in \ ++ ''\ ++ '#include ' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ AC_TRY_COMPILE([#include ++$ac_declaration], ++ [exit (42);], ++ [], ++ [continue]) ++ AC_TRY_COMPILE([$ac_declaration], ++ [exit (42);], ++ [break]) ++done ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++])# AC_PROG_CXX_EXIT_DECLARATION ++ ++ + dnl Determine a Fortran 77 compiler to use. If `F77' is not already set + dnl in the environment, check for `g77', `f77' and `f2c', in that order. + dnl Set the output variable `F77' to the name of the compiler found. +@@ -1010,7 +1043,7 @@ + ]) + + AC_DEFUN(AC_FUNC_MMAP, +-[AC_CHECK_HEADERS(unistd.h) ++[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h) + AC_CHECK_FUNCS(getpagesize) + AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped, + [AC_TRY_RUN([ +@@ -1039,11 +1072,24 @@ + #include + #include + ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++ ++#if HAVE_STDLIB_H ++# include ++#endif ++ ++#if HAVE_SYS_STAT_H ++# include ++#endif ++ ++#if HAVE_UNISTD_H ++# include ++#endif ++ + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +-# ifdef HAVE_UNISTD_H +-# include +-# endif + + /* Assume that all systems that can run configure have sys/param.h. */ + # ifndef HAVE_SYS_PARAM_H +@@ -1373,6 +1419,8 @@ + r.ru_majflt = r.ru_minflt = 0; + switch (fork()) { + case 0: /* Child. */ ++ /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */ ++ if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); } + sleep(1); /* Give up the CPU. */ + _exit(0); + case -1: _exit(0); /* What can we do? */ +diff -Naur a/autoconf.sh b/autoconf.sh +--- a/autoconf.sh 1999-01-05 13:27:53.000000000 +0000 ++++ b/autoconf.sh 2016-06-11 00:22:17.351872133 +0100 +@@ -45,20 +45,20 @@ + esac + + : ${TMPDIR=/tmp} +-tmpout=${TMPDIR}/acout.$$ ++tmpout=`/usr/bin/mktemp ${TMPDIR}/acout.XXXXXX` + localdir= + show_version=no + + while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) +- echo "${usage}" 1>&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;; + --localdir=* | --l*=* ) + localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -l | --localdir | --l*) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + localdir="${1}" + shift ;; + --macrodir=* | --m*=* ) +@@ -66,7 +66,7 @@ + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --v* ) +@@ -76,7 +76,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;; + * ) + break ;; + esac +@@ -86,23 +86,25 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $tmpout + exit 0 + fi + + case $# in + 0) infile=configure.in ;; + 1) infile="$1" ;; +- *) echo "$usage" >&2; exit 1 ;; ++ *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;; + esac + + trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15 + +-tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's. ++tmpin=`/usr/bin/mktemp ${TMPDIR}/acin.XXXXXX` ++# Always set this, to avoid bogus errors from some rm's. + if test z$infile = z-; then + infile=$tmpin +- cat > $infile + elif test ! -r "$infile"; then + echo "autoconf: ${infile}: No such file or directory" >&2 ++ rm -f $tmpin $tmpout + exit 1 + fi + +@@ -111,6 +113,8 @@ + else + use_localdir= + fi ++# Make sure we don't leave those around - they are annoying ++trap 'rm -f $tmpin $tmpout' 0 + + # Use the frozen version of Autoconf if available. + r= f= +@@ -118,7 +122,7 @@ + case `$M4 --help < /dev/null 2>&1` in + *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;; + *traditional*) ;; +-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;; ++*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;; + esac + + $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout || +@@ -154,6 +158,6 @@ + /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/ + ' >&4 + +-rm -f $tmpout ++rm -f $tmpout $tmpin + + exit $status +diff -Naur a/autoconf.texi b/autoconf.texi +--- a/autoconf.texi 1999-01-05 13:28:37.000000000 +0000 ++++ b/autoconf.texi 2016-06-11 00:18:46.360933604 +0100 +@@ -1,7 +1,7 @@ + \input texinfo @c -*-texinfo-*- + @c %**start of header +-@setfilename autoconf.info +-@settitle Autoconf ++@setfilename autoconf.info ++@settitle Autoconf + @c For double-sided printing, uncomment: + @c @setchapternewpage odd + @c %**end of header +@@ -17,7 +17,8 @@ + @ifinfo + @format + START-INFO-DIR-ENTRY +-* Autoconf: (autoconf). Create source code configuration scripts. ++* Autoconf: (autoconf). Create source code configuration scripts. ++ This is a legacy version of autoconf. + END-INFO-DIR-ENTRY + @end format + +diff -Naur a/autoheader.sh b/autoheader.sh +--- a/autoheader.sh 1999-01-05 13:28:39.000000000 +0000 ++++ b/autoheader.sh 2016-06-11 00:22:17.351872133 +0100 +@@ -194,9 +194,9 @@ + # Some fgrep's have limits on the number of lines that can be in the + # pattern on the command line, so use a temporary file containing the + # pattern. +- (fgrep_tmp=${TMPDIR-/tmp}/autoh$$ ++ (fgrep_tmp=`/usr/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX` + trap "rm -f $fgrep_tmp; exit 1" 1 2 15 +- cat > $fgrep_tmp <> $fgrep_tmp <&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;; + --macrodir=* | --m*=* ) + AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --versio | --versi | --vers) +@@ -51,7 +51,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;; + * ) + break ;; + esac +@@ -61,6 +61,7 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $sedtmp + exit 0 + fi + +@@ -68,6 +69,7 @@ + + tmpout=acupo.$$ + trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15 ++trap 'rm -f $sedtmp' 0 + case $# in + 0) infile=configure.in; out="> $tmpout" + # Make sure $infile can be read, and $tmpout has the same permissions. +diff -Naur a/configure b/configure +--- a/configure 1999-01-05 13:28:57.000000000 +0000 ++++ b/configure 2016-06-11 00:50:57.771231914 +0100 +@@ -43,8 +43,8 @@ + libdir='${exec_prefix}/lib' + includedir='${prefix}/include' + oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' ++infodir='${datadir}/info' ++mandir='${datadir}/man' + + # Initialize some other variables. + subdirs= +diff -Naur a/Makefile.in b/Makefile.in +--- a/Makefile.in 1999-01-05 13:27:16.000000000 +0000 ++++ b/Makefile.in 2016-06-11 00:29:34.005678107 +0100 +@@ -49,7 +49,7 @@ + + # Directory in which to install library files. + datadir = @datadir@ +-acdatadir = $(datadir)/autoconf ++acdatadir = $(datadir)/autoconf-2.13 + + # Directory in which to install documentation info files. + infodir = @infodir@ +@@ -68,8 +68,8 @@ + DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \ + Makefile.in NEWS README TODO $(M4FILES) \ + acconfig.h acfunctions acheaders acidentifiers \ +- acmakevars acprograms autoconf.info* \ +- autoconf.sh autoconf.texi install.texi \ ++ acmakevars acprograms autoconf.info* \ ++ autoconf.sh autoconf.texi install.texi \ + autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \ + config.guess config.sub configure configure.in \ + install-sh mkinstalldirs texinfo.tex \ +@@ -106,11 +106,11 @@ + autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + +-info: autoconf.info @standards_info@ INSTALL ++info: autoconf.info @standards_info@ INSTALL + + # Use --no-split to avoid creating filenames > 14 chars. +-autoconf.info: autoconf.texi install.texi +- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ ++autoconf.info: autoconf.texi install.texi ++ $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ + + INSTALL: install.texi + $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \ +@@ -121,8 +121,8 @@ + + dvi: autoconf.dvi @standards_dvi@ + +-autoconf.dvi: autoconf.texi +- $(TEXI2DVI) $(srcdir)/autoconf.texi ++autoconf.dvi: autoconf.texi ++ $(TEXI2DVI) $(srcdir)/autoconf.texi + + standards.dvi: standards.texi make-stds.texi + $(TEXI2DVI) $(srcdir)/standards.texi +@@ -137,35 +137,35 @@ + cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@ + + installdirs: +- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir) ++ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir) + +-install: all $(M4FILES) acconfig.h installdirs install-info ++install: all $(M4FILES) acconfig.h installdirs + for p in $(ASCRIPTS); do \ +- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \ + done + for i in $(M4FROZEN); do \ +- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + for i in $(M4FILES) acconfig.h; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + -if test -f autoscan; then \ +- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \ + for i in acfunctions acheaders acidentifiers acprograms \ + acmakevars; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done; \ + else :; fi + + # Don't cd, to avoid breaking install-sh references. + install-info: info installdirs +- if test -f autoconf.info; then \ ++ if test -f autoconf.info; then \ + for i in *.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \ + done; \ + else \ + for i in $(srcdir)/*.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ + done; \ + fi + +@@ -174,7 +174,7 @@ + rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ + done + rm -fr $(acdatadir) +- cd $(infodir) && rm -f autoconf.info* ++ cd $(infodir) && rm -f autoconf.info* + if test -f standards.info || test -f $(srcdir)/standards.info; \ + then cd $(infodir) && rm -f standards.info*; fi + +diff -Naur a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp +--- a/testsuite/autoconf.s/syntax.exp 1999-01-05 13:29:54.000000000 +0000 ++++ b/testsuite/autoconf.s/syntax.exp 2016-06-11 00:18:51.996905247 +0100 +@@ -2,7 +2,7 @@ + + send_user "Checking for syntax errors in the specific tests...\n" + set script {s/^AC_DEFUN(\([^,]*\).*/\1/p} +-set macros [exec sed -n $script $srcdir/../acspecific.m4] ++set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77] + + foreach mac $macros { + send_user "$mac\n" diff --git a/patches/source/seamonkey/autoconf/autoconf.build b/patches/source/seamonkey/autoconf/autoconf.build new file mode 100755 index 000000000..7dae1bad1 --- /dev/null +++ b/patches/source/seamonkey/autoconf/autoconf.build @@ -0,0 +1,81 @@ +#!/bin/sh + +# Copyright 2005-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=autoconf +VERSION=2.13 +BUILD=${BUILD:-1} + +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-autoconf + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf autoconf-$VERSION +tar xvf $CWD/autoconf-$VERSION.tar.xz || exit 1 +cd autoconf-$VERSION + +zcat $CWD/autoconf-2.13-consolidated_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 {} \; + +# Build a temporary copy of autoconf-2.13 only to be used to compile +# Firefox, since it somewhat inexplicably requires this ancient version: + +rm -rf $TMP/autoconf-tmp +mkdir -p $TMP/autoconf-tmp +# This will be at the beginning of the $PATH, so protect against nonsense +# happening in /tmp: +chmod 700 $TMP/autoconf-tmp +rm -rf $TMP/autoconf-tmp/* +mkdir -p $TMP/autoconf-tmp/usr + +./configure \ + --prefix=$TMP/autoconf-tmp/usr \ + --program-suffix=-2.13 \ + --infodir=$TMP/autoconf-tmp/usr/info \ + --mandir=$TMP/autoconf-tmp/usr/man \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install || exit 1 + 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 Binary files /dev/null and b/patches/source/seamonkey/seamonkey-icon.png 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 Binary files /dev/null and b/patches/source/seamonkey/seamonkey-mail-icon.png 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..58dc6a751 --- /dev/null +++ b/patches/source/seamonkey/seamonkey.SlackBuild @@ -0,0 +1,289 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 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. + +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) +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + LIBDIRSUFFIX="" + OPTIMIZE_FLAG="-O1" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" + OPTIMIZE_FLAG="-O1" +else + LIBDIRSUFFIX="" + OPTIMIZE_FLAG="-O1" +fi + +# Link using gold. This avoids running out of memory on 32-bit systems, and +# avoids a recurring build failure with GNU ld on other systems. +PATH="$(pwd)/gold:$PATH" +export CC="gcc -B$(pwd)/gold" +export CXX="g++ -B$(pwd)/gold" + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-seamonkey +rm -rf $PKG +mkdir -p $TMP $PKG/usr + +# We need to use the incredibly ancient autoconf-2.13 for this :/ +( cd $CWD/autoconf ; ./autoconf.build ) +PATH=/tmp/autoconf-tmp/usr/bin:$PATH + +cd $TMP +rm -rf seamonkey-${TARBALLVER} +# Unpack this in a subdirectory to prevent changing permissions on /tmp: +rm -rf seamonkey-unpack +mkdir seamonkey-unpack +cd seamonkey-unpack +tar xvf $CWD/seamonkey-${TARBALLVER}.source.tar.?z* || exit 1 +mv * .. +cd .. +rm -rf seamonkey-unpack +cd seamonkey-${TARBALLVER} || 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 \ + --enable-alsa \ + --disable-debug \ + --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} \ + --enable-strip \ + --disable-tests \ + --disable-crashreporter \ + --enable-safe-browsing \ + --disable-updater \ + --enable-chrome-format=omni \ + --disable-necko-wifi \ + --enable-extensions=default,irc \ + --without-system-nspr \ + --with-system-zlib \ + --enable-application=suite \ + --with-pthreads \ + --host=$ARCH-slackware-linux \ + --target=$ARCH-slackware-linux" + +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 +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: +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 + +# Keep the "obsolete" nspr headers: +if [ ! -d mozilla/dist/include/nspr/obsolete ]; then + mkdir -p mozilla/dist/include/nspr/obsolete + cp -a mozilla/nsprpub/pr/include/obsolete/*.h mozilla/dist/include/nspr/obsolete +fi + +# 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/squashfs-tools/0001-kfreebsd.patch b/patches/source/squashfs-tools/0001-kfreebsd.patch new file mode 100644 index 000000000..7ce6cd5b5 --- /dev/null +++ b/patches/source/squashfs-tools/0001-kfreebsd.patch @@ -0,0 +1,123 @@ +Author: Cyril Brulebois +Description: Fixes FTBFS on kfreebsd (Closes: #557174). +Last-Update: 2015-09-06 + +--- squashfs-tools-4.3.orig/squashfs-tools/mksquashfs.c ++++ squashfs-tools-4.3/squashfs-tools/mksquashfs.c +@@ -51,7 +51,7 @@ + #include + #include + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +@@ -4105,7 +4105,7 @@ void initialise_threads(int readq, int f + BAD_ERROR("Failed to set signal mask in intialise_threads\n"); + + if(processors == -1) { +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + int mib[2]; + size_t len = sizeof(processors); + +--- squashfs-tools-4.3.orig/squashfs-tools/read_fs.c ++++ squashfs-tools-4.3/squashfs-tools/read_fs.c +@@ -35,7 +35,7 @@ + #include + #include + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/read_xattrs.c ++++ squashfs-tools-4.3/squashfs-tools/read_xattrs.c +@@ -31,7 +31,7 @@ + #include + #include + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/swap.c ++++ squashfs-tools-4.3/squashfs-tools/swap.c +@@ -19,7 +19,7 @@ + * swap.c + */ + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/unsquashfs.c ++++ squashfs-tools-4.3/squashfs-tools/unsquashfs.c +@@ -2190,7 +2190,7 @@ void initialise_threads(int fragment_buf + "\n"); + + if(processors == -1) { +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + int mib[2]; + size_t len = sizeof(processors); + +--- squashfs-tools-4.3.orig/squashfs-tools/unsquashfs.h ++++ squashfs-tools-4.3/squashfs-tools/unsquashfs.h +@@ -47,7 +47,7 @@ + #include + #include + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/xz_wrapper.h ++++ squashfs-tools-4.3/squashfs-tools/xz_wrapper.h +@@ -24,7 +24,7 @@ + * + */ + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/gzip_wrapper.h ++++ squashfs-tools-4.3/squashfs-tools/gzip_wrapper.h +@@ -24,7 +24,7 @@ + * + */ + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/lz4_wrapper.h ++++ squashfs-tools-4.3/squashfs-tools/lz4_wrapper.h +@@ -24,7 +24,7 @@ + * + */ + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN +--- squashfs-tools-4.3.orig/squashfs-tools/lzo_wrapper.h ++++ squashfs-tools-4.3/squashfs-tools/lzo_wrapper.h +@@ -24,7 +24,7 @@ + * + */ + +-#ifndef linux ++#if !defined(linux) && !defined(__GLIBC__) + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN diff --git a/patches/source/squashfs-tools/0002-fix_phys_mem_calculation.patch b/patches/source/squashfs-tools/0002-fix_phys_mem_calculation.patch new file mode 100644 index 000000000..20f9005b6 --- /dev/null +++ b/patches/source/squashfs-tools/0002-fix_phys_mem_calculation.patch @@ -0,0 +1,159 @@ +From 55f7ba830d40d438f0b0663a505e0c227fc68b6b Mon Sep 17 00:00:00 2001 +From: Phillip Lougher +Date: Tue, 10 Jun 2014 21:51:52 +0100 +Subject: [PATCH] mksquashfs: fix phys mem calculation for 32-bit processes on + PAE/64-bit kernels + +When adding the code to base default memory usage on physical memory +(by default use 25% of physical memory), I made an oversight. I assumed +the process would be able to address 25% of physical memory. + +However, for 32-bit processes running on a PAE kernel or 64-bit kernel, +25% of physical memory can easily exceed the addressible memory for a +32-bit process, e.g. if a machine has 24 GB of physical memory, the +code would asume the process could easily use 6 GB. + +A 32-bit process by definition can only address 4 GB (32-bit pointers). +But, due to the typical kernel/user-space split (1GB/3GB, or 2GB/2GB) +on PAE kernels, a 32-bit process may only be able to address 2 GB. + +So, if Mksquashfs is a 32-bit application running on a PAE/64-bit kernel, +the code assumes it can address much more memory than it really can, which +means it runs out of memory. + +The fix is to impose a maximum default limit on 32-bit kernels, or +otherwise to never use a value more than 25% of the address space. If +we assume the maximum address space is 2 GB, then the maximum becomes +512 MB. But, given most kernels used the 1GB/3GB split, that may be +unduely conservative, and 25% of 3 GB (756 MB) may be better. This +patch compromises on 640 MB, which is mid-way between the 512 MB and 756 MB +values. It is also the fixed default value previously used by Mksquashfs. + +This patch also alters the code which imposes a maximum size. Previously +it was believed limiting to the physical memory size was adequate. But +obviously this needs to be updated to take into account a 32-bit process +may only be able to address 2 GB. In the process I've also taken the +opportunity to limit all requests to no more than 75% of physical memory. + +Signed-off-by: Phillip Lougher +--- + squashfs-tools/mksquashfs.c | 78 ++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 70 insertions(+), 8 deletions(-) + +diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +index 86f82bb..5370ecf 100644 +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -304,7 +304,7 @@ void restorefs(); + struct dir_info *scan1_opendir(char *pathname, char *subpath, int depth); + void write_filesystem_tables(struct squashfs_super_block *sBlk, int nopad); + unsigned short get_checksum_mem(char *buff, int bytes); +-int get_physical_memory(); ++void check_usable_phys_mem(int total_mem); + + + void prep_exit() +@@ -4053,11 +4053,7 @@ void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq, + BAD_ERROR("Queue sizes rediculously too large\n"); + total_mem += fwriteq; + +- if(total_mem > get_physical_memory()) { +- ERROR("Total queue sizes larger than physical memory.\n"); +- ERROR("Mksquashfs will exhaust physical memory and thrash.\n"); +- BAD_ERROR("Queues too large\n"); +- } ++ check_usable_phys_mem(total_mem); + + /* + * convert from queue size in Mbytes to queue size in +@@ -4879,6 +4875,72 @@ int get_physical_memory() + } + + ++void check_usable_phys_mem(int total_mem) ++{ ++ /* ++ * We want to allow users to use as much of their physical ++ * memory as they wish. However, for practical reasons there are ++ * limits which need to be imposed, to protect users from themselves ++ * and to prevent people from using Mksquashfs as a DOS attack by using ++ * all physical memory. Mksquashfs uses memory to cache data from disk ++ * to optimise performance. It is pointless to ask it to use more ++ * than 75% of physical memory, as this causes thrashing and it is thus ++ * self-defeating. ++ */ ++ int mem = get_physical_memory(); ++ ++ mem = (mem >> 1) + (mem >> 2); /* 75% */ ++ ++ if(total_mem > mem) { ++ ERROR("Total memory requested is more than 75%% of physical " ++ "memory.\n"); ++ ERROR("Mksquashfs uses memory to cache data from disk to " ++ "optimise performance.\n"); ++ ERROR("It is pointless to ask it to use more than this amount " ++ "of memory, as this\n"); ++ ERROR("causes thrashing and it is thus self-defeating.\n"); ++ BAD_ERROR("Requested memory size too large\n"); ++ } ++ ++ if(sizeof(void *) == 4 && total_mem > 2048) { ++ /* ++ * If we're running on a kernel with PAE or on a 64-bit kernel, ++ * then the 75% physical memory limit can still easily exceed ++ * the addressable memory by this process. ++ * ++ * Due to the typical kernel/user-space split (1GB/3GB, or ++ * 2GB/2GB), we have to conservatively assume the 32-bit ++ * processes can only address 2-3GB. So refuse if the user ++ * tries to allocate more than 2GB. ++ */ ++ ERROR("Total memory requested may exceed maximum " ++ "addressable memory by this process\n"); ++ BAD_ERROR("Requested memory size too large\n"); ++ } ++} ++ ++ ++int get_default_phys_mem() ++{ ++ int mem = get_physical_memory() / SQUASHFS_TAKE; ++ ++ if(sizeof(void *) == 4 && mem > 640) { ++ /* ++ * If we're running on a kernel with PAE or on a 64-bit kernel, ++ * the default memory usage can exceed the addressable ++ * memory by this process. ++ * Due to the typical kernel/user-space split (1GB/3GB, or ++ * 2GB/2GB), we have to conservatively assume the 32-bit ++ * processes can only address 2-3GB. So limit the default ++ * usage to 640M, which gives room for other data. ++ */ ++ mem = 640; ++ } ++ ++ return mem; ++} ++ ++ + void calculate_queue_sizes(int mem, int *readq, int *fragq, int *bwriteq, + int *fwriteq) + { +@@ -4890,7 +4952,7 @@ void calculate_queue_sizes(int mem, int *readq, int *fragq, int *bwriteq, + + + #define VERSION() \ +- printf("mksquashfs version 4.3 (2014/05/12)\n");\ ++ printf("mksquashfs version 4.3-git (2014/06/09)\n");\ + printf("copyright (C) 2014 Phillip Lougher "\ + "\n\n"); \ + printf("This program is free software; you can redistribute it and/or"\ +@@ -4918,7 +4980,7 @@ int main(int argc, char *argv[]) + int fragq; + int bwriteq; + int fwriteq; +- int total_mem = get_physical_memory() / SQUASHFS_TAKE; ++ int total_mem = get_default_phys_mem(); + int progress = TRUE; + int force_progress = FALSE; + struct file_buffer **fragment = NULL; diff --git a/patches/source/squashfs-tools/0003-CVE-2015-4645_and_CVE-2015-4646.patch b/patches/source/squashfs-tools/0003-CVE-2015-4645_and_CVE-2015-4646.patch new file mode 100644 index 000000000..d81639f63 --- /dev/null +++ b/patches/source/squashfs-tools/0003-CVE-2015-4645_and_CVE-2015-4646.patch @@ -0,0 +1,76 @@ +From 6777e08cc38bc780d27c69c1d8c272867b74524f Mon Sep 17 00:00:00 2001 +From: Giancarlo Canales Barreto +Date: Wed, 17 Jun 2015 00:22:19 -0400 +Subject: [PATCH] Update unsquash-4.c + +There seems to be a stack overflow in read_fragment_table_4 at via what seems to be an integer overflow. Still looking into this problem, it seems like two or three different problems combined. + +The first problem overflows the bytes variable, so that the allocation is enormous. +```c +int bytes = SQUASHFS_FRAGMENT_BYTES(sBlk.s.fragments); +``` + +If we fix this by making the variable size_t, we run into an unrelated problem in which the stack VLA allocation of fragment_table_index can easily exceed RLIMIT_STACK. +```c +long long fragment_table_index[indexes]; +``` + +In the case of my system, the RLIMIT_STACK is 8388608, and VLA is asking for 15728648. Plus the stack probably already has a bunch of other things. This is what I believe ultimately leads to the stack overflow. + +Afterwards, the heap allocation seems to succeed, and the disastrous call to read_fs_bytes is made, which initiates transfer from the squashfs image to the stack. At this stage, a stack overflow appears to be in full effect. + +```c + res = read_fs_bytes(fd, sBlk.s.fragment_table_start, + SQUASHFS_FRAGMENT_INDEX_BYTES(sBlk.s.fragments), + fragment_table_index); +``` +This problem is also present in other read_fragment_table_N functions, and in in the original squashfs-tools. + +``` +Parallel unsquashfs: Using 8 processors +ASAN:SIGSEGV +================================================================= +==8221==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef3ae9608 (pc 0x000000559011 bp 0x7ffef49e9670 sp 0x7ffef3ae9610 T0) + #0 0x559010 in read_fragment_table_4 /home/septimus/vr/squashfs-vr/squashfs-tools/unsquash-4.c:40:9 + #1 0x525073 in main /home/septimus/vr/squashfs-vr/squashfs-tools/unsquashfs.c:2763:5 + #2 0x7fb56c533a3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f) + #3 0x418468 in _start (/home/septimus/vr/squashfs-vr/squashfs-tools/unsquashfs+0x418468) +SUMMARY: AddressSanitizer: stack-overflow /home/septimus/vr/squashfs-vr/squashfs-tools/unsquash-4.c:40:9 in read_fragment_table_4 +==8221==ABORTING +``` + +Perhaps we should avoid using VLA altogether, and allocate fragment_table_index to the heap? +This pull request is an example implementation of the fix for unsquash-4, but I don't have enough test vectors to verify it will not break anything. +--- + unsquash-4.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c +index ecdaac7..2c0cf63 100644 +--- a/squashfs-tools/unsquash-4.c ++++ b/squashfs-tools/unsquash-4.c +@@ -31,9 +31,9 @@ static unsigned int *id_table; + int read_fragment_table_4(long long *directory_table_end) + { + int res, i; +- int bytes = SQUASHFS_FRAGMENT_BYTES(sBlk.s.fragments); +- int indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk.s.fragments); +- long long fragment_table_index[indexes]; ++ size_t bytes = SQUASHFS_FRAGMENT_BYTES(sBlk.s.fragments); ++ size_t indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk.s.fragments); ++ long long *fragment_table_index; + + TRACE("read_fragment_table: %d fragments, reading %d fragment indexes " + "from 0x%llx\n", sBlk.s.fragments, indexes, +@@ -44,6 +44,11 @@ int read_fragment_table_4(long long *directory_table_end) + return TRUE; + } + ++ fragment_table_index = malloc(indexes*sizeof(long long)); ++ if(fragment_table_index == NULL) ++ EXIT_UNSQUASH("read_fragment_table: failed to allocate " ++ "fragment table index\n"); ++ + fragment_table = malloc(bytes); + if(fragment_table == NULL) + EXIT_UNSQUASH("read_fragment_table: failed to allocate " diff --git a/patches/source/squashfs-tools/0004-unsquashfs-add-support-for-LZMA-magics.patch b/patches/source/squashfs-tools/0004-unsquashfs-add-support-for-LZMA-magics.patch new file mode 100644 index 000000000..258416bfa --- /dev/null +++ b/patches/source/squashfs-tools/0004-unsquashfs-add-support-for-LZMA-magics.patch @@ -0,0 +1,102 @@ +From c2dc60a94b01a1fff4a22db1c0569651afa6c959 Mon Sep 17 00:00:00 2001 +From: Jonas Gorski +Date: Wed, 19 Oct 2011 11:44:57 +0200 +Subject: [PATCH] unsquashfs: add support for LZMA magics +X-Face: z*RaLf`X<@C75u6Ig9}{oW$H;1_\2t5)({*|jhM/Vb;]yA5\I~93>J<_`<4)A{':UrE + +Some vendor (e.g. Thomson/Technicolor) use a different super block magic +to indicate LZMA compression: + + qshs (0x71736873) - LZMA compression + shsq (0x73687371) - LZMA compression, SWAPPED fields + +Add support for detecting this and enable extraction for filesystems +from those firmwares. + +Signed-off-by: Jonas Gorski +Tested-by: Antonio Ospite +--- + squashfs-tools/squashfs_fs.h | 6 ++++++ + squashfs-tools/unsquashfs.c | 24 ++++++++++++++++++------ + 2 files changed, 24 insertions(+), 6 deletions(-) + +diff --git a/squashfs-tools/squashfs_fs.h b/squashfs-tools/squashfs_fs.h +index d4fba1b..8462a6b 100644 +--- a/squashfs-tools/squashfs_fs.h ++++ b/squashfs-tools/squashfs_fs.h +@@ -30,6 +30,12 @@ + #define SQUASHFS_MAGIC_SWAP 0x68737173 + #define SQUASHFS_START 0 + ++/* ++ * Squashfs + LZMA ++ */ ++#define SQUASHFS_MAGIC_LZMA 0x71736873 ++#define SQUASHFS_MAGIC_LZMA_SWAP 0x73687371 ++ + /* size of metadata (inode and directory) blocks */ + #define SQUASHFS_METADATA_SIZE 8192 + #define SQUASHFS_METADATA_LOG 13 +diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c +index 320bead..7869a38 100644 +--- a/squashfs-tools/unsquashfs.c ++++ b/squashfs-tools/unsquashfs.c +@@ -1516,10 +1516,12 @@ int read_super(char *source) + */ + read_fs_bytes(fd, SQUASHFS_START, sizeof(struct squashfs_super_block), + &sBlk_4); +- swap = sBlk_4.s_magic != SQUASHFS_MAGIC; ++ swap = (sBlk_4.s_magic != SQUASHFS_MAGIC && ++ sBlk_4.s_magic != SQUASHFS_MAGIC_LZMA); + SQUASHFS_INSWAP_SUPER_BLOCK(&sBlk_4); + +- if(sBlk_4.s_magic == SQUASHFS_MAGIC && sBlk_4.s_major == 4 && ++ if((sBlk_4.s_magic == SQUASHFS_MAGIC || ++ sBlk_4.s_magic == SQUASHFS_MAGIC_LZMA) && sBlk_4.s_major == 4 && + sBlk_4.s_minor == 0) { + s_ops.squashfs_opendir = squashfs_opendir_4; + s_ops.read_fragment = read_fragment_4; +@@ -1532,7 +1534,11 @@ int read_super(char *source) + /* + * Check the compression type + */ +- comp = lookup_compressor_id(sBlk.s.compression); ++ if (sBlk_4.s_magic == SQUASHFS_MAGIC_LZMA) ++ comp = lookup_compressor("lzma"); ++ else ++ comp = lookup_compressor_id(sBlk.s.compression); ++ + return TRUE; + } + +@@ -1547,8 +1553,10 @@ int read_super(char *source) + * Check it is a SQUASHFS superblock + */ + swap = 0; +- if(sBlk_3.s_magic != SQUASHFS_MAGIC) { +- if(sBlk_3.s_magic == SQUASHFS_MAGIC_SWAP) { ++ if(sBlk_3.s_magic != SQUASHFS_MAGIC && ++ sBlk_3.s_magic != SQUASHFS_MAGIC_LZMA) { ++ if(sBlk_3.s_magic == SQUASHFS_MAGIC_SWAP || ++ sBlk_3.s_magic == SQUASHFS_MAGIC_LZMA_SWAP) { + squashfs_super_block_3 sblk; + ERROR("Reading a different endian SQUASHFS filesystem " + "on %s\n", source); +@@ -1626,7 +1634,11 @@ int read_super(char *source) + /* + * 1.x, 2.x and 3.x filesystems use gzip compression. + */ +- comp = lookup_compressor("gzip"); ++ if (sBlk.s.s_magic == SQUASHFS_MAGIC_LZMA) ++ comp = lookup_compressor("lzma"); ++ else ++ comp = lookup_compressor("gzip"); ++ + return TRUE; + + failed_mount: +-- +1.7.10.4 + diff --git a/patches/source/squashfs-tools/0006-uptream-fix-race.patch b/patches/source/squashfs-tools/0006-uptream-fix-race.patch new file mode 100644 index 000000000..3cefbe5b7 --- /dev/null +++ b/patches/source/squashfs-tools/0006-uptream-fix-race.patch @@ -0,0 +1,54 @@ +commit de03266983ceb62e5365aac84fcd3b2fd4d16e6f +Author: Phillip Lougher +Date: Thu Sep 18 01:28:11 2014 +0100 + + mksquashfs: fix rare race in fragment waiting in filesystem finalisation + + Fix a rare race condition in fragment waiting when finalising the + filesystem. This is a race condition that was initially fixed in 2009, + but inadvertantly re-introduced in the latest release when the code + was rewritten. + + Background: + + When finalising the filesystem, the main control thread needs to ensure + all the in-flight fragments have been queued to the writer thread before + asking the writer thread to finish, and then writing the metadata. + + It does this by waiting on the fragments_outstanding counter. Once this + counter reaches 0, it synchronises with the writer thread, waiting until + the writer thread reports no outstanding data to be written. + + However, the main thread can race with the fragment deflator thread(s) + because the fragment deflator thread(s) decrement the fragments_outstanding + counter and release the mutex before queueing the compressed fragment + to the writer thread, i.e. the offending code is: + + fragments_outstanding --; + pthread_mutex_unlock(&fragment_mutex); + queue_put(to_writer, write_buffer); + + In extremely rare circumstances, the main thread may see the + fragments_outstanding counter is zero before the fragment + deflator sends the fragment buffer to the writer thread, and synchronise + with the writer thread, and finalise before the fragment has been written. + + The fix is to ensure the fragment is queued to the writer thread + before releasing the mutex. + + Signed-off-by: Phillip Lougher + +diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +index 87b7d86..f1fcff1 100644 +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -2445,8 +2445,8 @@ void *frag_deflator(void *arg) + write_buffer->block = bytes; + bytes += compressed_size; + fragments_outstanding --; +- pthread_mutex_unlock(&fragment_mutex); + queue_put(to_writer, write_buffer); ++ pthread_mutex_unlock(&fragment_mutex); + TRACE("Writing fragment %lld, uncompressed size %d, " + "compressed size %d\n", file_buffer->block, + file_buffer->size, compressed_size); diff --git a/patches/source/squashfs-tools/0007-fix-2GB-limit-in-mksquashfs.patch b/patches/source/squashfs-tools/0007-fix-2GB-limit-in-mksquashfs.patch new file mode 100644 index 000000000..c689a3a94 --- /dev/null +++ b/patches/source/squashfs-tools/0007-fix-2GB-limit-in-mksquashfs.patch @@ -0,0 +1,27 @@ +From 9c1db6d13a51a2e009f0027ef336ce03624eac0d Mon Sep 17 00:00:00 2001 +From: "Guan, Xin" +Date: Sat, 13 Sep 2014 13:15:26 +0200 +Subject: [PATCH] Fix 2GB-limit of the is_fragment(...) function. + +Applies to squashfs-tools 4.3. + +Reported-by: Bruno Wolff III +Signed-off-by: Guan, Xin +Signed-off-by: Phillip Lougher +--- + squashfs-tools/mksquashfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +index f1fcff1..d221c35 100644 +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -2055,7 +2055,7 @@ struct file_info *duplicate(long long file_size, long long bytes, + + inline int is_fragment(struct inode_info *inode) + { +- int file_size = inode->buf.st_size; ++ off_t file_size = inode->buf.st_size; + + /* + * If this block is to be compressed differently to the diff --git a/patches/source/squashfs-tools/slack-desc b/patches/source/squashfs-tools/slack-desc new file mode 100644 index 000000000..681a66300 --- /dev/null +++ b/patches/source/squashfs-tools/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------------------------------------------------------| +squashfs-tools: squashfs-tools (squashed read-only filesystem for Linux) +squashfs-tools: +squashfs-tools: Squashfs is a highly compressed read-only filesystem for Linux. +squashfs-tools: Squashfs compresses both files, inodes and directories, and +squashfs-tools: supports block sizes up to 1Mbytes for greater compression. +squashfs-tools: It is implemented as a kernel module under VFS. +squashfs-tools: The package contains tools for manipulation of squashfs bundles. +squashfs-tools: +squashfs-tools: +squashfs-tools: squashfs-tools home: http://squashfs.sourceforge.net/ +squashfs-tools: diff --git a/patches/source/squashfs-tools/squashfs-tools.SlackBuild b/patches/source/squashfs-tools/squashfs-tools.SlackBuild new file mode 100755 index 000000000..1b010d0e0 --- /dev/null +++ b/patches/source/squashfs-tools/squashfs-tools.SlackBuild @@ -0,0 +1,122 @@ +#!/bin/sh + +# Copyright 2015 Eric Hameleers, Eindhoven, NL +# 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. + + +PKGNAM=squashfs-tools +VERSION=${VERSION:-$(echo squashfs*.tar.xz | cut -b9- | rev | cut -f3- -d . | rev)} +BUILD=${BUILD:-2_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + 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" = "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 + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf squashfs${VERSION} +tar xvf $CWD/squashfs${VERSION}.tar.xz || exit 1 +cd squashfs${VERSION} || exit 1 + +zcat $CWD/0001-kfreebsd.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0002-fix_phys_mem_calculation.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0003-CVE-2015-4645_and_CVE-2015-4646.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0004-unsquashfs-add-support-for-LZMA-magics.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0006-uptream-fix-race.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0007-fix-2GB-limit-in-mksquashfs.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 {} \; + +cd squashfs-tools || exit 1 + +# Build: +CFLAGS="$SLKCFLAGS" \ +make $NUMJOBS \ + GZIP_SUPPORT="1" \ + XZ_SUPPORT="1" \ + LZO_SUPPORT="1" \ + LZMA_XZ_SUPPORT="1" \ + COMP_DEFAULT="xz" || exit 1 + +# Install: +make install INSTALL_DIR=$PKG/usr/bin || 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 +) + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +( cd .. + cp -a \ + ACKNOWLEDGEMENTS CHANGES COPYING DONATIONS INSTALL \ + README* PERFORMANCE.README *.example \ + $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/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..9797f3bcc --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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.SlackBuild b/patches/source/subversion/subversion.SlackBuild new file mode 100755 index 000000000..83c397b9e --- /dev/null +++ b/patches/source/subversion/subversion.SlackBuild @@ -0,0 +1,174 @@ +#!/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=${VERSION:-$(echo subversion-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-apache-libexecdir=/usr/lib${LIBDIRSUFFIX}/httpd/modules \ + --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-zlib=/usr \ + --with-pic \ + --with-kwallet \ + --build=$ARCH-slackware-linux || exit 1 + +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..7611ad065 --- /dev/null +++ b/patches/source/sudo/sudo.SlackBuild @@ -0,0 +1,125 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 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=sudo +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${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" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -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 \ + --with-insults \ + --with-all-insults \ + --with-pc-insults \ + --build=$ARCH-slackware-linux || exit 1 + +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..dab4848c8 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +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/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 . +wget: +wget: +wget: diff --git a/patches/source/wget/wget.SlackBuild b/patches/source/wget/wget.SlackBuild new file mode 100755 index 000000000..7519418b3 --- /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.2} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 Binary files /dev/null and b/patches/source/wpa_supplicant/config/wpa_gui.png 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..d00d7eaea --- /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.2} + +SRCVERSION=$(printf $VERSION | tr _ -) + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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/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..4a38b44e9 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + 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" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +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..36bf3dc06 --- /dev/null +++ b/patches/source/xorg-server/build/xorg-server @@ -0,0 +1 @@ +5_slack14.2 diff --git a/patches/source/xorg-server/configure/xorg-server b/patches/source/xorg-server/configure/xorg-server new file mode 100644 index 000000000..755b565dd --- /dev/null +++ b/patches/source/xorg-server/configure/xorg-server @@ -0,0 +1,53 @@ +# Servers to build: +BUILD_SERVERS="--enable-xorg \ + --enable-dmx \ + --enable-xvfb \ + --enable-xnest \ + --enable-glamor \ + --enable-kdrive \ + --enable-xephyr \ + --enable-xfbdev \ + --enable-config-udev \ + --enable-kdrive-evdev \ + --enable-kdrive-kbd \ + --enable-kdrive-mouse \ + --disable-config-hal \ + --disable-systemd-logind" + +#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" + +# Reconf (don't remove this plz): +autoreconf -vif + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --disable-static \ + --with-pic \ + --enable-suid-wrapper \ + --with-int10=x86emu \ + --with-default-font-path="${DEF_FONTPATH}" \ + --with-module-dir=/usr/lib${LIBDIRSUFFIX}/xorg/modules \ + --with-os-name="Slackware 14.2" \ + --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..13d601edc --- /dev/null +++ b/patches/source/xorg-server/makepkg/xorg-server @@ -0,0 +1,47 @@ + +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 + +if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz +elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz +fi + 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..527305187 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server.patch @@ -0,0 +1,15 @@ +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.combo.mouse.keyboard.layout.patch.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-13721.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-12177.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12178.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12179_p2.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.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 ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12184_12185_12186_12187.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-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 +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 +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer + +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 +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 +Reviewed-by: Peter Hutterer +Signed-off-by: Peter Hutterer + +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 +Date: Fri, 9 Jan 2015 10:15:46 -0500 +Subject: Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176) + +Reviewed-by: Julien Cristau +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +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-12177.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12177.diff new file mode 100644 index 000000000..4a3eaa9e9 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12177.diff @@ -0,0 +1,41 @@ +From 4ca68b878e851e2136c234f40a25008297d8d831 Mon Sep 17 00:00:00 2001 +From: Nathan Kidd +Date: Fri, 9 Jan 2015 10:09:14 -0500 +Subject: dbe: Unvalidated variable-length request in ProcDbeGetVisualInfo + (CVE-2017-12177) + +v2: Protect against integer overflow (Alan Coopersmith) + +Reviewed-by: Alan Coopersmith +Reviewed-by: Jeremy Huddleston Sequoia +Reviewed-by: Julien Cristau +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +diff --git a/dbe/dbe.c b/dbe/dbe.c +index 9a0c7a7..292a223 100644 +--- a/dbe/dbe.c ++++ b/dbe/dbe.c +@@ -574,6 +574,9 @@ ProcDbeGetVisualInfo(ClientPtr client) + XdbeScreenVisualInfo *pScrVisInfo; + + REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq); ++ if (stuff->n > UINT32_MAX / sizeof(CARD32)) ++ return BadLength; ++ REQUEST_FIXED_SIZE(xDbeGetVisualInfoReq, stuff->n * sizeof(CARD32)); + + if (stuff->n > UINT32_MAX / sizeof(DrawablePtr)) + return BadAlloc; +@@ -924,7 +927,7 @@ SProcDbeSwapBuffers(ClientPtr client) + + swapl(&stuff->n); + if (stuff->n > UINT32_MAX / sizeof(DbeSwapInfoRec)) +- return BadAlloc; ++ return BadLength; + REQUEST_FIXED_SIZE(xDbeSwapBuffersReq, stuff->n * sizeof(xDbeSwapInfo)); + + if (stuff->n != 0) { +-- +cgit v0.10.2 + + diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12178.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12178.diff new file mode 100644 index 000000000..8177c119d --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12178.diff @@ -0,0 +1,29 @@ +From 859b08d523307eebde7724fd1a0789c44813e821 Mon Sep 17 00:00:00 2001 +From: Nathan Kidd +Date: Wed, 24 Dec 2014 16:22:18 -0500 +Subject: Xi: fix wrong extra length check in ProcXIChangeHierarchy + (CVE-2017-12178) + +Reviewed-by: Alan Coopersmith +Reviewed-by: Jeremy Huddleston Sequoia +Reviewed-by: Julien Cristau +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c +index 87f191f..cbdd912 100644 +--- a/Xi/xichangehierarchy.c ++++ b/Xi/xichangehierarchy.c +@@ -423,7 +423,7 @@ ProcXIChangeHierarchy(ClientPtr client) + if (!stuff->num_changes) + return rc; + +- len = ((size_t)stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo); ++ len = ((size_t)stuff->length << 2) - sizeof(xXIChangeHierarchyReq); + + any = (xXIAnyHierarchyChangeInfo *) &stuff[1]; + while (stuff->num_changes--) { +-- +cgit v0.10.2 + + diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff new file mode 100644 index 000000000..0b3734642 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff @@ -0,0 +1,42 @@ +From 211e05ac85a294ef361b9f80d689047fa52b9076 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Fri, 7 Jul 2017 17:21:46 +0200 +Subject: Xi: Test exact size of XIBarrierReleasePointer + +Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer. + +Signed-off-by: Peter Hutterer + +diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c +index af1562e..d82ecb6 100644 +--- a/Xi/xibarriers.c ++++ b/Xi/xibarriers.c +@@ -830,10 +830,13 @@ SProcXIBarrierReleasePointer(ClientPtr client) + REQUEST(xXIBarrierReleasePointerReq); + int i; + +- info = (xXIBarrierReleasePointerInfo*) &stuff[1]; +- + swaps(&stuff->length); ++ REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); ++ + swapl(&stuff->num_barriers); ++ REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); ++ ++ info = (xXIBarrierReleasePointerInfo*) &stuff[1]; + for (i = 0; i < stuff->num_barriers; i++, info++) { + swaps(&info->deviceid); + swapl(&info->barrier); +@@ -853,7 +856,7 @@ ProcXIBarrierReleasePointer(ClientPtr client) + xXIBarrierReleasePointerInfo *info; + + REQUEST(xXIBarrierReleasePointerReq); +- REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); ++ REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); + + info = (xXIBarrierReleasePointerInfo*) &stuff[1]; + for (i = 0; i < stuff->num_barriers; i++, info++) { +-- +cgit v0.10.2 + + diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p2.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p2.diff new file mode 100644 index 000000000..346756033 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p2.diff @@ -0,0 +1,46 @@ +From d088e3c1286b548a58e62afdc70bb40981cdb9e8 Mon Sep 17 00:00:00 2001 +From: Nathan Kidd +Date: Fri, 9 Jan 2015 10:04:41 -0500 +Subject: Xi: integer overflow and unvalidated length in + (S)ProcXIBarrierReleasePointer + +[jcristau: originally this patch fixed the same issue as commit + 211e05ac85 "Xi: Test exact size of XIBarrierReleasePointer", with the + addition of these checks] + +This addresses CVE-2017-12179 + +Reviewed-by: Alan Coopersmith +Reviewed-by: Jeremy Huddleston Sequoia +Reviewed-by: Julien Cristau +Signed-off-by: Jeremy Huddleston Sequoia +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c +index d82ecb6..d0be701 100644 +--- a/Xi/xibarriers.c ++++ b/Xi/xibarriers.c +@@ -834,6 +834,8 @@ SProcXIBarrierReleasePointer(ClientPtr client) + REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); + + swapl(&stuff->num_barriers); ++ if (stuff->num_barriers > UINT32_MAX / sizeof(xXIBarrierReleasePointerInfo)) ++ return BadLength; + REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); + + info = (xXIBarrierReleasePointerInfo*) &stuff[1]; +@@ -856,6 +858,9 @@ ProcXIBarrierReleasePointer(ClientPtr client) + xXIBarrierReleasePointerInfo *info; + + REQUEST(xXIBarrierReleasePointerReq); ++ REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); ++ if (stuff->num_barriers > UINT32_MAX / sizeof(xXIBarrierReleasePointerInfo)) ++ return BadLength; + REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); + + info = (xXIBarrierReleasePointerInfo*) &stuff[1]; +-- +cgit v0.10.2 + + diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.diff new file mode 100644 index 000000000..70ebee8c2 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.diff @@ -0,0 +1,601 @@ +From 1b1d4c04695dced2463404174b50b3581dbd857b Mon Sep 17 00:00:00 2001 +From: Nathan Kidd +Date: Sun, 21 Dec 2014 01:10:03 -0500 +Subject: hw/xfree86: unvalidated lengths + +This addresses: +CVE-2017-12180 in XFree86-VidModeExtension +CVE-2017-12181 in XFree86-DGA +CVE-2017-12182 in XFree86-DRI + +Reviewed-by: Jeremy Huddleston Sequoia +Reviewed-by: Julien Cristau +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +diff --git a/Xext/vidmode.c b/Xext/vidmode.c +index 8ba919a..6e4a7c7 100644 +--- a/Xext/vidmode.c ++++ b/Xext/vidmode.c +@@ -454,6 +454,20 @@ ProcVidModeAddModeLine(ClientPtr client) + DEBUG_P("XF86VidModeAddModeline"); + + ver = ClientMajorVersion(client); ++ ++ if (ver < 2) { ++ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq)); ++ } ++ else { ++ REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq)); ++ } ++ + if (ver < 2) { + /* convert from old format */ + stuff = &newstuff; +@@ -501,18 +515,6 @@ ProcVidModeAddModeLine(ClientPtr client) + stuff->after_vsyncend, stuff->after_vtotal, + (unsigned long) stuff->after_flags); + +- if (ver < 2) { +- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq)); +- } +- else { +- REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq)); +- } + if (len != stuff->privsize) + return BadLength; + +@@ -622,6 +624,20 @@ ProcVidModeDeleteModeLine(ClientPtr client) + DEBUG_P("XF86VidModeDeleteModeline"); + + ver = ClientMajorVersion(client); ++ ++ if (ver < 2) { ++ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq)); ++ } ++ else { ++ REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); ++ } ++ + if (ver < 2) { + /* convert from old format */ + stuff = &newstuff; +@@ -649,18 +665,6 @@ ProcVidModeDeleteModeLine(ClientPtr client) + stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, + (unsigned long) stuff->flags); + +- if (ver < 2) { +- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq)); +- } +- else { +- REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); +- } + if (len != stuff->privsize) { + DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, " + "len = %d, length = %d\n", +@@ -744,6 +748,20 @@ ProcVidModeModModeLine(ClientPtr client) + DEBUG_P("XF86VidModeModModeline"); + + ver = ClientMajorVersion(client); ++ ++ if (ver < 2) { ++ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq)); ++ } ++ else { ++ REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86VidModeModModeLineReq)); ++ } ++ + if (ver < 2) { + /* convert from old format */ + stuff = &newstuff; +@@ -768,18 +786,6 @@ ProcVidModeModModeLine(ClientPtr client) + stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, + stuff->vtotal, (unsigned long) stuff->flags); + +- if (ver < 2) { +- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq)); +- } +- else { +- REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86VidModeModModeLineReq)); +- } + if (len != stuff->privsize) + return BadLength; + +@@ -877,6 +883,19 @@ ProcVidModeValidateModeLine(ClientPtr client) + DEBUG_P("XF86VidModeValidateModeline"); + + ver = ClientMajorVersion(client); ++ ++ if (ver < 2) { ++ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); ++ len = client->req_len - ++ bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq)); ++ } ++ else { ++ REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq)); ++ } ++ + if (ver < 2) { + /* convert from old format */ + stuff = &newstuff; +@@ -905,17 +924,6 @@ ProcVidModeValidateModeLine(ClientPtr client) + stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, + (unsigned long) stuff->flags); + +- if (ver < 2) { +- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); +- len = client->req_len - +- bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq)); +- } +- else { +- REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq)); +- } + if (len != stuff->privsize) + return BadLength; + +@@ -1027,6 +1035,20 @@ ProcVidModeSwitchToMode(ClientPtr client) + DEBUG_P("XF86VidModeSwitchToMode"); + + ver = ClientMajorVersion(client); ++ ++ if (ver < 2) { ++ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq)); ++ } ++ else { ++ REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq); ++ len = ++ client->req_len - ++ bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq)); ++ } ++ + if (ver < 2) { + /* convert from old format */ + stuff = &newstuff; +@@ -1055,18 +1077,6 @@ ProcVidModeSwitchToMode(ClientPtr client) + stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, + (unsigned long) stuff->flags); + +- if (ver < 2) { +- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq)); +- } +- else { +- REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq); +- len = +- client->req_len - +- bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq)); +- } + if (len != stuff->privsize) + return BadLength; + +@@ -1457,6 +1467,7 @@ ProcVidModeSetGammaRamp(ClientPtr client) + VidModePtr pVidMode; + + REQUEST(xXF86VidModeSetGammaRampReq); ++ REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq); + + if (stuff->screen >= screenInfo.numScreens) + return BadValue; +diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c +index 95434e8..505b019 100644 +--- a/hw/xfree86/common/xf86DGA.c ++++ b/hw/xfree86/common/xf86DGA.c +@@ -1272,13 +1272,14 @@ ProcXDGAOpenFramebuffer(ClientPtr client) + char *deviceName; + int nameSize; + ++ REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (!DGAAvailable(stuff->screen)) + return DGAErrorBase + XF86DGANoDirectVideoMode; + +- REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1305,14 +1306,14 @@ ProcXDGACloseFramebuffer(ClientPtr client) + { + REQUEST(xXDGACloseFramebufferReq); + ++ REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (!DGAAvailable(stuff->screen)) + return DGAErrorBase + XF86DGANoDirectVideoMode; + +- REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); +- + DGACloseFramebuffer(stuff->screen); + + return Success; +@@ -1328,10 +1329,11 @@ ProcXDGAQueryModes(ClientPtr client) + xXDGAModeInfo info; + XDGAModePtr mode; + ++ REQUEST_SIZE_MATCH(xXDGAQueryModesReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + +- REQUEST_SIZE_MATCH(xXDGAQueryModesReq); + rep.type = X_Reply; + rep.length = 0; + rep.number = 0; +@@ -1443,11 +1445,12 @@ ProcXDGASetMode(ClientPtr client) + ClientPtr owner; + int size; + ++ REQUEST_SIZE_MATCH(xXDGASetModeReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + owner = DGA_GETCLIENT(stuff->screen); + +- REQUEST_SIZE_MATCH(xXDGASetModeReq); + rep.type = X_Reply; + rep.length = 0; + rep.offset = 0; +@@ -1533,14 +1536,14 @@ ProcXDGASetViewport(ClientPtr client) + { + REQUEST(xXDGASetViewportReq); + ++ REQUEST_SIZE_MATCH(xXDGASetViewportReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGASetViewportReq); +- + DGASetViewport(stuff->screen, stuff->x, stuff->y, stuff->flags); + + return Success; +@@ -1554,14 +1557,14 @@ ProcXDGAInstallColormap(ClientPtr client) + + REQUEST(xXDGAInstallColormapReq); + ++ REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); +- + rc = dixLookupResourceByType((void **) &cmap, stuff->cmap, RT_COLORMAP, + client, DixInstallAccess); + if (rc != Success) +@@ -1575,14 +1578,14 @@ ProcXDGASelectInput(ClientPtr client) + { + REQUEST(xXDGASelectInputReq); + ++ REQUEST_SIZE_MATCH(xXDGASelectInputReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGASelectInputReq); +- + if (DGA_GETCLIENT(stuff->screen) == client) + DGASelectInput(stuff->screen, client, stuff->mask); + +@@ -1594,14 +1597,14 @@ ProcXDGAFillRectangle(ClientPtr client) + { + REQUEST(xXDGAFillRectangleReq); + ++ REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); +- + if (Success != DGAFillRect(stuff->screen, stuff->x, stuff->y, + stuff->width, stuff->height, stuff->color)) + return BadMatch; +@@ -1614,14 +1617,14 @@ ProcXDGACopyArea(ClientPtr client) + { + REQUEST(xXDGACopyAreaReq); + ++ REQUEST_SIZE_MATCH(xXDGACopyAreaReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGACopyAreaReq); +- + if (Success != DGABlitRect(stuff->screen, stuff->srcx, stuff->srcy, + stuff->width, stuff->height, stuff->dstx, + stuff->dsty)) +@@ -1635,14 +1638,14 @@ ProcXDGACopyTransparentArea(ClientPtr client) + { + REQUEST(xXDGACopyTransparentAreaReq); + ++ REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); +- + if (Success != DGABlitTransRect(stuff->screen, stuff->srcx, stuff->srcy, + stuff->width, stuff->height, stuff->dstx, + stuff->dsty, stuff->key)) +@@ -1657,13 +1660,14 @@ ProcXDGAGetViewportStatus(ClientPtr client) + REQUEST(xXDGAGetViewportStatusReq); + xXDGAGetViewportStatusReply rep; + ++ REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1680,13 +1684,14 @@ ProcXDGASync(ClientPtr client) + REQUEST(xXDGASyncReq); + xXDGASyncReply rep; + ++ REQUEST_SIZE_MATCH(xXDGASyncReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGASyncReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1725,13 +1730,14 @@ ProcXDGAChangePixmapMode(ClientPtr client) + xXDGAChangePixmapModeReply rep; + int x, y; + ++ REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1755,14 +1761,14 @@ ProcXDGACreateColormap(ClientPtr client) + REQUEST(xXDGACreateColormapReq); + int result; + ++ REQUEST_SIZE_MATCH(xXDGACreateColormapReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXDGACreateColormapReq); +- + if (!stuff->mode) + return BadValue; + +@@ -1791,10 +1797,11 @@ ProcXF86DGAGetVideoLL(ClientPtr client) + int num, offset, flags; + char *name; + ++ REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + +- REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1831,9 +1838,10 @@ ProcXF86DGADirectVideo(ClientPtr client) + + REQUEST(xXF86DGADirectVideoReq); + ++ REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; +- REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); + + if (!DGAAvailable(stuff->screen)) + return DGAErrorBase + XF86DGANoDirectVideoMode; +@@ -1889,10 +1897,11 @@ ProcXF86DGAGetViewPortSize(ClientPtr client) + REQUEST(xXF86DGAGetViewPortSizeReq); + xXF86DGAGetViewPortSizeReply rep; + ++ REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + +- REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1917,14 +1926,14 @@ ProcXF86DGASetViewPort(ClientPtr client) + { + REQUEST(xXF86DGASetViewPortReq); + ++ REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); +- + if (!DGAAvailable(stuff->screen)) + return DGAErrorBase + XF86DGANoDirectVideoMode; + +@@ -1944,10 +1953,11 @@ ProcXF86DGAGetVidPage(ClientPtr client) + REQUEST(xXF86DGAGetVidPageReq); + xXF86DGAGetVidPageReply rep; + ++ REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + +- REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1962,11 +1972,11 @@ ProcXF86DGASetVidPage(ClientPtr client) + { + REQUEST(xXF86DGASetVidPageReq); + ++ REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + +- REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); +- + /* silently fail */ + + return Success; +@@ -1980,14 +1990,14 @@ ProcXF86DGAInstallColormap(ClientPtr client) + + REQUEST(xXF86DGAInstallColormapReq); + ++ REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); +- + if (!DGAActive(stuff->screen)) + return DGAErrorBase + XF86DGADirectNotActivated; + +@@ -2008,10 +2018,11 @@ ProcXF86DGAQueryDirectVideo(ClientPtr client) + REQUEST(xXF86DGAQueryDirectVideoReq); + xXF86DGAQueryDirectVideoReply rep; + ++ REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + +- REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -2030,14 +2041,14 @@ ProcXF86DGAViewPortChanged(ClientPtr client) + REQUEST(xXF86DGAViewPortChangedReq); + xXF86DGAViewPortChangedReply rep; + ++ REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); ++ + if (stuff->screen >= screenInfo.numScreens) + return BadValue; + + if (DGA_GETCLIENT(stuff->screen) != client) + return DGAErrorBase + XF86DGADirectNotActivated; + +- REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); +- + if (!DGAActive(stuff->screen)) + return DGAErrorBase + XF86DGADirectNotActivated; + +diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c +index 8f3c2d6..d356db9 100644 +--- a/hw/xfree86/dri/xf86dri.c ++++ b/hw/xfree86/dri/xf86dri.c +@@ -570,6 +570,7 @@ static int _X_COLD + SProcXF86DRIQueryDirectRenderingCapable(register ClientPtr client) + { + REQUEST(xXF86DRIQueryDirectRenderingCapableReq); ++ REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq); + swaps(&stuff->length); + swapl(&stuff->screen); + return ProcXF86DRIQueryDirectRenderingCapable(client); +-- +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 +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 +Reviewed-by: Jeremy Huddleston Sequoia +Reviewed-by: Julien Cristau +Signed-off-by: Jeremy Huddleston Sequoia +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +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-12184_12185_12186_12187.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12184_12185_12186_12187.diff new file mode 100644 index 000000000..d29956864 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12184_12185_12186_12187.diff @@ -0,0 +1,139 @@ +From cad5a1050b7184d828aef9c1dd151c3ab649d37e Mon Sep 17 00:00:00 2001 +From: Nathan Kidd +Date: Fri, 9 Jan 2015 09:57:23 -0500 +Subject: Unvalidated lengths + +v2: Add overflow check and remove unnecessary check (Julien Cristau) + +This addresses: +CVE-2017-12184 in XINERAMA +CVE-2017-12185 in MIT-SCREEN-SAVER +CVE-2017-12186 in X-Resource +CVE-2017-12187 in RENDER + +Reviewed-by: Jeremy Huddleston Sequoia +Reviewed-by: Julien Cristau +Signed-off-by: Nathan Kidd +Signed-off-by: Julien Cristau + +diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c +index 209df29..844ea49 100644 +--- a/Xext/panoramiX.c ++++ b/Xext/panoramiX.c +@@ -988,10 +988,11 @@ ProcPanoramiXGetScreenSize(ClientPtr client) + xPanoramiXGetScreenSizeReply rep; + int rc; + ++ REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); ++ + if (stuff->screen >= PanoramiXNumScreens) + return BadMatch; + +- REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); + if (rc != Success) + return rc; +diff --git a/Xext/saver.c b/Xext/saver.c +index 0949761..f6090d8 100644 +--- a/Xext/saver.c ++++ b/Xext/saver.c +@@ -1186,6 +1186,8 @@ ProcScreenSaverUnsetAttributes(ClientPtr client) + PanoramiXRes *draw; + int rc, i; + ++ REQUEST_SIZE_MATCH(xScreenSaverUnsetAttributesReq); ++ + rc = dixLookupResourceByClass((void **) &draw, stuff->drawable, + XRC_DRAWABLE, client, DixWriteAccess); + if (rc != Success) +diff --git a/Xext/xres.c b/Xext/xres.c +index 21239f5..0242158 100644 +--- a/Xext/xres.c ++++ b/Xext/xres.c +@@ -947,6 +947,8 @@ ProcXResQueryResourceBytes (ClientPtr client) + ConstructResourceBytesCtx ctx; + + REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq); ++ if (stuff->numSpecs > UINT32_MAX / sizeof(ctx.specs[0])) ++ return BadLength; + REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq, + stuff->numSpecs * sizeof(ctx.specs[0])); + +@@ -1052,8 +1054,8 @@ SProcXResQueryResourceBytes (ClientPtr client) + int c; + xXResResourceIdSpec *specs = (void*) ((char*) stuff + sizeof(*stuff)); + +- swapl(&stuff->numSpecs); + REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq); ++ swapl(&stuff->numSpecs); + REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq, + stuff->numSpecs * sizeof(specs[0])); + +diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c +index d99d3d4..5232b37 100644 +--- a/Xext/xvdisp.c ++++ b/Xext/xvdisp.c +@@ -1493,12 +1493,14 @@ XineramaXvShmPutImage(ClientPtr client) + { + REQUEST(xvShmPutImageReq); + PanoramiXRes *draw, *gc, *port; +- Bool send_event = stuff->send_event; ++ Bool send_event; + Bool isRoot; + int result, i, x, y; + + REQUEST_SIZE_MATCH(xvShmPutImageReq); + ++ send_event = stuff->send_event; ++ + result = dixLookupResourceByClass((void **) &draw, stuff->drawable, + XRC_DRAWABLE, client, DixWriteAccess); + if (result != Success) +diff --git a/hw/dmx/dmxpict.c b/hw/dmx/dmxpict.c +index 1f1022e..63caec9 100644 +--- a/hw/dmx/dmxpict.c ++++ b/hw/dmx/dmxpict.c +@@ -716,6 +716,8 @@ dmxProcRenderSetPictureFilter(ClientPtr client) + filter = (char *) (stuff + 1); + params = (XFixed *) (filter + ((stuff->nbytes + 3) & ~3)); + nparams = ((XFixed *) stuff + client->req_len) - params; ++ if (nparams < 0) ++ return BadLength; + + XRenderSetPictureFilter(dmxScreen->beDisplay, + pPictPriv->pict, filter, params, nparams); +diff --git a/pseudoramiX/pseudoramiX.c b/pseudoramiX/pseudoramiX.c +index d8b2593..95f6e10 100644 +--- a/pseudoramiX/pseudoramiX.c ++++ b/pseudoramiX/pseudoramiX.c +@@ -297,10 +297,11 @@ ProcPseudoramiXGetScreenSize(ClientPtr client) + + TRACE; + ++ REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); ++ + if (stuff->screen >= pseudoramiXNumScreens) + return BadMatch; + +- REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); + if (rc != Success) + return rc; +diff --git a/render/render.c b/render/render.c +index ccae49a..7d94bd5 100644 +--- a/render/render.c ++++ b/render/render.c +@@ -1757,6 +1757,9 @@ ProcRenderSetPictureFilter(ClientPtr client) + name = (char *) (stuff + 1); + params = (xFixed *) (name + pad_to_int32(stuff->nbytes)); + nparams = ((xFixed *) stuff + client->req_len) - params; ++ if (nparams < 0) ++ return BadLength; ++ + result = SetPictureFilter(pPicture, name, stuff->nbytes, params, nparams); + return result; + } +-- +cgit v0.10.2 + + diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13721.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13721.diff new file mode 100644 index 000000000..8341a3372 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13721.diff @@ -0,0 +1,27 @@ +From b95f25af141d33a65f6f821ea9c003f66a01e1f1 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Fri, 28 Jul 2017 16:27:10 +0200 +Subject: Xext/shm: Validate shmseg resource id (CVE-2017-13721) + +Otherwise it can belong to a non-existing client and abort X server with +FatalError "client not in use", or overwrite existing segment of another +existing client. + +Signed-off-by: Julien Cristau + +diff --git a/Xext/shm.c b/Xext/shm.c +index 91ea90b..2f9a788 100644 +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -1238,6 +1238,7 @@ ProcShmCreateSegment(ClientPtr client) + }; + + REQUEST_SIZE_MATCH(xShmCreateSegmentReq); ++ LEGAL_NEW_RESOURCE(stuff->shmseg, client); + if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) { + client->errorValue = stuff->readOnly; + return BadValue; +-- +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 +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 +Signed-off-by: Keith Packard +Signed-off-by: Julien Cristau + +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/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch b/patches/source/xorg-server/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch new file mode 100644 index 000000000..83f673030 --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch @@ -0,0 +1,49 @@ +--- b/Xi/exevents.c 2013-12-27 19:38:52.000000000 +0200 ++++ a/Xi/exevents.c 2014-03-04 19:44:15.228721619 +0200 +@@ -665,7 +665,8 @@ + DeepCopyFeedbackClasses(from, to); + + if ((dce->flags & DEVCHANGE_KEYBOARD_EVENT)) +- DeepCopyKeyboardClasses(from, to); ++ /* We need to copy to MASTER_KEYBOARD. Didn't worked with 'to'. */ ++ DeepCopyKeyboardClasses(from, GetMaster(from, MASTER_KEYBOARD)); + if ((dce->flags & DEVCHANGE_POINTER_EVENT)) + DeepCopyPointerClasses(from, to); + } +--- b/dix/getevents.c 2013-12-27 19:38:52.000000000 +0200 ++++ a/dix/getevents.c 2014-03-04 19:46:50.126336327 +0200 +@@ -706,12 +706,19 @@ + { + DeviceIntPtr master; + +- master = +- GetMaster(dev, +- (type & DEVCHANGE_POINTER_EVENT) ? MASTER_POINTER : +- MASTER_KEYBOARD); ++ /* Don't guess the master upon the event type. Use MASTER_ATTACHED, ++ * otherwise we'll never get a DeviceChangedEvent(reason:SlaveSwith). */ ++ master = GetMaster(dev, MASTER_ATTACHED); ++ /* Need to track the slave event type. Other we'le never get a ++ * DeviceChangedEvent(reason:SlaveSwith) for the 'keyboard' if the ++ * 'pointer' has been touched before. */ ++ int slave_type = (type & DEVCHANGE_KEYBOARD_EVENT) | ++ (type & DEVCHANGE_POINTER_EVENT); + +- if (master && master->last.slave != dev) { ++ if (master && ++ ((master->last.slave != dev) || ++ (master->last.slave == dev && master->last.slave_type != slave_type))) { ++ master->last.slave_type = slave_type; + CreateClassesChangedEvent(events, master, dev, + type | DEVCHANGE_SLAVE_SWITCH); + if (IsPointerDevice(master)) { +--- b/include/inputstr.h 2013-12-27 19:38:52.000000000 +0200 ++++ a/include/inputstr.h 2014-03-04 19:47:28.074051116 +0200 +@@ -577,6 +577,7 @@ + double valuators[MAX_VALUATORS]; + int numValuators; + DeviceIntPtr slave; ++ int slave_type; + ValuatorMask *scroll; + int num_touches; /* size of the touches array */ + DDXTouchPointInfoPtr touches; 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..d2d75e4f0 --- /dev/null +++ b/patches/source/xorg-server/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=i586 ;; + 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-" 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/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/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 + * + * 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 /* 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 +#endif + +#include /* for getpwnam() and struct passwd */ +#include /* 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 : "")); + 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 . +# +# 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..3846d5327 --- /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.2} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-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 ++ * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski + * + * 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 : "")); + si->nolock_reason = buf; diff --git a/recompress.sh b/recompress.sh index d0d13cb61..ef75c899c 100755 --- a/recompress.sh +++ b/recompress.sh @@ -3,979 +3,1201 @@ # 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.6.diff -gzip ./extra/source/brltty/brltty.brlapi.pyx.diff -gzip ./extra/source/brltty/brltty.fix.blanks.diff gzip ./extra/source/bittorrent/doinst.sh gzip ./extra/source/bittorrent/bittorrent-xterm.sh -gzip ./extra/source/wicd/curses_bitrate_fix.patch -gzip ./extra/source/wicd/wicd-1.7.3-urwid-1.3.0.patch -gzip ./extra/source/wicd/wicd-1421918.patch -gzip ./extra/source/wicd/doinst.sh -gzip ./extra/source/wicd/manually-compile-translations.diff +gzip ./extra/source/emacspeak/emacspeak.tcl8.6.diff +gzip ./extra/source/brltty/brltty.fix.blanks.diff +gzip ./extra/source/brltty/brltty.brlapi.pyx.diff +gzip ./extra/source/bittornado/doinst.sh +gzip ./extra/source/bittornado/btdownloadxterm.sh gzip ./extra/source/fltk/Fl_XFont_On_Demand.patch +gzip ./extra/source/wicd/curses_bitrate_fix.patch +gzip ./extra/source/wicd/doinst.sh +gzip ./extra/source/wicd/wicd-1421918.patch +gzip ./extra/source/wicd/wicd-1.7.3-urwid-1.3.0.patch +gzip ./extra/source/wicd/manually-compile-translations.diff +gzip ./extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch gzip ./extra/source/bash-completion/patches/0001-tar-Don-t-write-to-tmp-jetel.patch gzip ./extra/source/bash-completion/patches/0006-Remove-mplayer-aliased-completion.patch gzip ./extra/source/bash-completion/patches/0004-tar-Remove-unused-variable.patch -gzip ./extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch gzip ./extra/source/bash-completion/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch gzip ./extra/source/bash-completion/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch gzip ./extra/source/bash-completion/fixup-sh-script-completions.diff -gzip ./extra/source/bittornado/btdownloadxterm.sh -gzip ./extra/source/bittornado/doinst.sh -gzip ./source/xfce/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.2.4-gtk3_theme.patch -gzip ./source/xfce/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.2.4-gtk3_theme_clean.patch -gzip ./source/xfce/xfce4-panel/libxfce4panel.max_blinking_count.8.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-settings/xfce.xfsettingsd.display.crtc.diff -gzip ./source/xfce/xfce4-power-manager/doinst.sh -gzip ./source/xfce/Thunar/0001-Deactivate-SEND_MOVED-code-paths.patch -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/udisks/udisks.no.pci-db.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/grub/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff -gzip ./source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch -gzip ./source/a/grub/grub.dejavusansmono.gfxterm.font.diff -gzip ./source/a/grub/initrd_naming.patch -gzip ./source/a/grub/doinst.sh -gzip ./source/a/grub/txtHRnXiHYUrM.txt -gzip ./source/a/infozip/unzip.git.archive.fix.diff -gzip ./source/a/infozip/unzip.process.c.diff -gzip ./source/a/infozip/unzip.use.system.libbz2.diff -gzip ./source/a/bin/scripts/xx -gzip ./source/a/bin/scripts/diskcopy -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.10.x-allow_root_globally.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/efibootmgr/efibootmgr-0.5.4-support-4k-sectors.patch -gzip ./source/a/efibootmgr/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch -gzip ./source/a/efibootmgr/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch -gzip ./source/a/efibootmgr/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch -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/glibc-zoneinfo/doinst.sh -gzip ./source/a/lvm2/doinst.sh -gzip ./source/a/lvm2/create-dm-run-dir.diff -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/file/recompile_magic.mgc.sh -gzip ./source/a/file/doinst.sh -gzip ./source/a/pciutils/pciutils.dontcompress.diff -gzip ./source/a/tar/tar.nolonezero.diff -gzip ./source/a/tar/tar-1.13.bzip2.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/bsdstrings-util-linux_overflow.diff -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/ziptool-fix_build.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.5-20081027.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/mouseconfig -gzip ./source/a/gpm/setup.mouse -gzip ./source/a/gpm/gpm-1.20.1-select-1.patch -gzip ./source/a/gpm/gpm-1.20.1-lib-silent.patch -gzip ./source/a/gpm/gpm-1.20.5-close-fds.patch -gzip ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch -gzip ./source/a/shadow/shadow.CVE-2005-4890.relax.diff -gzip ./source/a/shadow/useradd -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/patches/linux-Clamp-percentage-for-overfull-batteries.patch -gzip ./source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch -gzip ./source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch -gzip ./source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch -gzip ./source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch -gzip ./source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch -gzip ./source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch -gzip ./source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch -gzip ./source/a/upower/doinst.sh -gzip ./source/a/bzip2/bzip2.saneso.diff -gzip ./source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.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/dcron.update.during.long.running.jobs.diff -gzip ./source/a/dcron/crontab.root -gzip ./source/a/dcron/defs.h._DEFAULT_SOURCE.diff -gzip ./source/a/dcron/doinst.sh -gzip ./source/a/dcron/run-parts -gzip ./source/a/getty-ps/getty.bugfixes.diff -gzip ./source/a/quota/quota.lwrap.needs.lnsl.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/sysklogd.allow.repeated.messages.diff -gzip ./source/a/sysklogd/use_memmove_not_strcpy.diff -gzip ./source/a/sysklogd/doinst.sh -gzip ./source/a/eject/eject.spaces.diff -gzip ./source/a/eject/eject.CDROM_DRIVE_STATUS.diff -gzip ./source/a/genpower/genpower.halt.diff -gzip ./source/a/genpower/genpower.var.diff -gzip ./source/a/lilo/lilo.ignore.usable.memory.above.4G.diff -gzip ./source/a/coreutils/DIR_COLORS -gzip ./source/a/coreutils/coreutils-dircolors.csh -gzip ./source/a/coreutils/no_ls_quoting.patch -gzip ./source/a/coreutils/coreutils.uname.diff -gzip ./source/a/coreutils/doinst.sh -gzip ./source/a/coreutils/coreutils-dircolors.sh -gzip ./source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff -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/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/udisks2/doinst.sh -gzip ./source/a/os-prober/os-prober.reiserfs.diff -gzip ./source/a/eudev/60-cdrom_id.rules.diff -gzip ./source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch -gzip ./source/a/eudev/doinst.sh -gzip ./source/a/eudev/0001-Remove-obsolete-udev_root-references.patch -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/n/htdig/htdig.conf.diff -gzip ./source/n/htdig/htdig-3.2.0b6.diff -gzip ./source/n/htdig/doinst.sh -gzip ./source/n/rpcbind/0004-Delete-the-unix-socket-only-if-we-have-created-it.patch -gzip ./source/n/rpcbind/0002-Fix-memory-corruption-in-PMAP_CALLIT-code.patch -gzip ./source/n/rpcbind/01.rpcbind-manpage-statefile-explanation.patch -gzip ./source/n/rpcbind/rpcbind.lwrap.needs.lnsl.diff -gzip ./source/n/rpcbind/0003-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch -gzip ./source/n/rpcbind/0001-security.c-removed-warning.patch -gzip ./source/n/rpcbind/rc.rpc -gzip ./source/n/rpcbind/doinst.sh -gzip ./source/n/lftp/doinst.sh -gzip ./source/n/irssi/doinst.sh -gzip ./source/n/openssh/openssh-7.2p1-libwrap.diff -gzip ./source/n/openssh/doinst.sh -gzip ./source/n/bluez/bluez-5.30-obexd_without_systemd-1.patch -gzip ./source/n/bluez/doinst.sh -gzip ./source/n/mailx/heirloom-mailx-12.5-fixes-1.patch -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/nfs-utils/ignore_unsupported_address_types_in_nfssvc_setfds.diff -gzip ./source/n/ModemManager/WeDoNotHaveSystemD.patch -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/icmpinfo/icmpinfo-1.11-time.diff -gzip ./source/n/netwrite/netwrite-0.17.diff -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/fix-x86_64-daytime-segfault.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/wpa_supplicant/doinst.sh -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/ebtables/doinst.sh -gzip ./source/n/pidentd/pidentd.conf.diff -gzip ./source/n/pidentd/doinst.sh -gzip ./source/n/dhcpcd/COPYRIGHT -gzip ./source/n/dhcpcd/doinst.sh -gzip ./source/n/sendmail/Build -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-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-03.hardlink.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/dirmngr/dirmngr-pth-fix.patch -gzip ./source/n/gpa/doinst.sh -gzip ./source/n/samba/doinst.sh -gzip ./source/n/samba/smb.conf.diff -gzip ./source/n/samba/samba.install.talloc.tevent.tdb.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/pinepgp-0.18.0-makefile-sed-fix.diff -gzip ./source/n/alpine/pinepgp.pinegpgp.in.diff -gzip ./source/n/mobile-broadband-provider-info/mobile-broadband-provider-info.pc.diff -gzip ./source/n/nn/nn.diff -gzip ./source/n/nn/nntpserver -gzip ./source/n/nn/nn.destdir.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/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/libtirpc/doinst.sh -gzip ./source/n/iproute2/doinst.sh -gzip ./source/n/ulogd/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-1.5-linux_3.8.x.patch -gzip ./source/n/netkit-rwho/rwhod_getloadavg.diff -gzip ./source/n/netkit-rwho/netkit-rwho-0.17.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/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/yptools/yp-tools-2.14-glibc217-crypt.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/ppp.CVE-2015-3310.diff -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.sasl.diff -gzip ./source/n/autofs/doinst.sh -gzip ./source/n/obexftp/patches/obexftp-0.24-fix-absurd-install-path.patch -gzip ./source/n/obexftp/patches/obexftp-pkgconfig_requires.patch -gzip ./source/n/obexftp/patches/obexftp-norpath.patch -gzip ./source/n/obexftp/patches/obexftp-0.24-fuse.patch -gzip ./source/n/ca-certificates/patches/fixup_DESTDIR.diff -gzip ./source/n/ca-certificates/patches/fixup_update-ca-certificates.diff -gzip ./source/n/ca-certificates/doinst.sh -gzip ./source/n/cyrus-sasl/cyrus-sasl-2.1.26-size_t.patch -gzip ./source/n/cyrus-sasl/rc.saslauthd -gzip ./source/n/cyrus-sasl/doinst.sh -gzip ./source/n/cyrus-sasl/cyrus-sasl-2.1.26-null-crypt.patch -gzip ./source/n/vsftpd/vsftpd.log -gzip ./source/n/vsftpd/vsftpd.crypt.diff -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.fix.perms.64bit.platforms.diff -gzip ./source/installer/busybox.glibc217.diff -gzip ./source/installer/busybox.2.6.32.2.diff -gzip ./source/ap/hplip/setup.py.lc_all.c.diff -gzip ./source/ap/hplip/doinst.sh -gzip ./source/ap/hplip/hplip.no.upgrade.diff -gzip ./source/ap/gutenprint/doinst.sh -gzip ./source/ap/screen/52fix_screen_utf8_nfd.patch -gzip ./source/ap/screen/screen.no_libelf.diff -gzip ./source/ap/screen/26source_encoding.patch -gzip ./source/ap/screen/58-show-encoding-hardstatus.patch -gzip ./source/ap/screen/45suppress_remap.patch -gzip ./source/ap/cups-filters/doinst.sh -gzip ./source/ap/sysstat/doinst.sh -gzip ./source/ap/soma/doinst.sh -gzip ./source/ap/cdrdao/cdrdao-1.2.3-stat.patch -gzip ./source/ap/ghostscript-fonts-std/doinst.sh -gzip ./source/ap/slackpkg/files/README -gzip ./source/ap/slackpkg/files/pkglist.awk -gzip ./source/ap/slackpkg/files/mirrors-s390.sample -gzip ./source/ap/slackpkg/files/cutpkg.awk -gzip ./source/ap/slackpkg/files/slackpkg.8 -gzip ./source/ap/slackpkg/files/mirrors-arm.sample -gzip ./source/ap/slackpkg/files/ChangeLog -gzip ./source/ap/slackpkg/files/install-new.awk -gzip ./source/ap/slackpkg/files/post-functions.sh -gzip ./source/ap/slackpkg/files/mirrors-x86.sample -gzip ./source/ap/slackpkg/files/core-functions.sh -gzip ./source/ap/slackpkg/files/slackpkg -gzip ./source/ap/slackpkg/files/slackpkg.conf.new -gzip ./source/ap/slackpkg/files/blacklist.new -gzip ./source/ap/slackpkg/files/slackpkg.conf.5 -gzip ./source/ap/slackpkg/files/GPL -gzip ./source/ap/slackpkg/files/dialog-functions.sh -gzip ./source/ap/slackpkg/files/filelist.awk -gzip ./source/ap/slackpkg/files/mirrors-x86_64.sample -gzip ./source/ap/slackpkg/doinst.sh -gzip ./source/ap/groff/groff.man.mdoc.local -gzip ./source/ap/cdrtools/doinst.sh -gzip ./source/ap/cdrtools/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch -gzip ./source/ap/diffutils/diffutils.mkdir_p.diff -gzip ./source/ap/diffutils/doinst.sh -gzip ./source/ap/diffutils/diffutils-sdiff-no-waitpid.patch -gzip ./source/ap/acct/581421-sa-hz-division.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/libx86-mmap-offset.patch -gzip ./source/ap/libx86/libx86-add-pkgconfig.patch -gzip ./source/ap/man-pages/doinst.sh -gzip ./source/ap/terminus-font/terminus-font.Makefile.paths.diff -gzip ./source/ap/terminus-font/doinst.sh -gzip ./source/ap/alsa-utils/alsa-utils.alsaconf.diff -gzip ./source/ap/alsa-utils/rc.alsa-oss -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/ap/cgmanager/doinst.sh -gzip ./source/ap/cgmanager/cgmanager-0.39-remove-pam-requirement.patch -gzip ./source/ap/sudo/doinst.sh -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/usbmuxd/doinst.sh -gzip ./source/ap/usbmuxd/39-usbmuxd.rules -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/makewhatis.bzcat.bugfix.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/mariadb/rc.mysqld -gzip ./source/ap/mariadb/doinst.sh -gzip ./source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch -gzip ./source/ap/dmidecode/patches/0002-Avoid-SIGBUS-on-mmap-failure.patch -gzip ./source/ap/dmidecode/patches/0004-dmidecode-Handle-OEM-specific-types-in-group-associa.patch -gzip ./source/ap/dmidecode/patches/0008-dmidecode-Use-read_file-to-read-the-DMI-table-from-s.patch -gzip ./source/ap/dmidecode/patches/0006-dmidecode-Introduce-SYS_FIRMWARE_DIR.patch -gzip ./source/ap/dmidecode/patches/0007-Let-read_file-return-the-actual-data-size.patch -gzip ./source/ap/dmidecode/patches/0009-dmidecode-Check-sysfs-entry-point-length.patch -gzip ./source/ap/dmidecode/patches/0001-Add-no-sysfs-option-description-to-h-output.patch -gzip ./source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch -gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch -gzip ./source/ap/nano/doinst.sh -gzip ./source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch -gzip ./source/ap/pm-utils/patches/log-line-spacing-fix.patch -gzip ./source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch -gzip ./source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch -gzip ./source/ap/pm-utils/patches/hook-exit-code-log.patch -gzip ./source/ap/pm-utils/patches/init-logfile-append.patch -gzip ./source/ap/sqlite/COPYRIGHT -gzip ./source/ap/ghostscript/cidfmap -gzip ./source/ap/rpm/doinst.sh -gzip ./source/ap/rpm/Packages -gzip ./source/ap/at/doinst.sh -gzip ./source/ap/ksh93/patches/ksh-20120801-argvfix.patch -gzip ./source/ap/ksh93/patches/ksh-20140301-fikspand.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-tpstl.patch -gzip ./source/ap/ksh93/patches/ksh-20100826-fixregr.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-tabfix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-rmdirfix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-nomulti.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-oldenvinit.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-manfix4.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-mtty.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-cdfix2.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-covsfix.patch -gzip ./source/ap/ksh93/patches/ksh-20070328-builtins.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-memlik.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-kshmfix.patch -gzip ./source/ap/ksh93/patches/ksh-20140801-arraylen.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-xufix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-diskfull.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-cdfork.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-forkbomb.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-cdfix.patch -gzip ./source/ap/ksh93/patches/ksh-20140415-hokaido.patch -gzip ./source/ap/ksh93/patches/ksh-20100621-manfix3.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-noexeccdfix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-fununset.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-memlik3.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-lexfix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-fd2lost.patch -gzip ./source/ap/ksh93/patches/ksh-20080202-manfix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-roundit.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-trapcom.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-heresub.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-nohupfork.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-sufix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-retfix.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-crash.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-alarmifs.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-cdfix3.patch -gzip ./source/ap/ksh93/patches/ksh-20140929-safefd.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-locking.patch -gzip ./source/ap/ksh93/patches/ksh-20100621-fdstatus.patch -gzip ./source/ap/ksh93/patches/ksh-20130628-longer.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-filecomsubst.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-emptyarrayinit.patch -gzip ./source/ap/ksh93/patches/ksh-20130214-fixkill.patch -gzip ./source/ap/ksh93/patches/ksh-20130613-cdfix4.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-assoc-unset-leak.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-macro.patch -gzip ./source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch -gzip ./source/ap/ksh93/patches/ksh-20100202-pathvar.patch -gzip ./source/ap/mc/mc.image.sh.geeqie.diff -gzip ./source/ap/mc/mc-3605-extfs.c-fix-buffer-overflow.patch -gzip ./source/ap/mc/mc-syntax-error.patch -gzip ./source/ap/mc/mc-3611-fish-fix-perl-ls-helper.patch -gzip ./source/ap/zsh/doinst.sh -gzip ./source/ap/cups/doinst.sh -gzip ./source/ap/flac/flac.man.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/d/autoconf/doinst.sh -gzip ./source/d/distcc/doinst.sh -gzip ./source/d/cvs/cvs.getline64.diff -gzip ./source/d/cvs/cvs.crypt-2.diff -gzip ./source/d/mercurial/doinst.sh -gzip ./source/d/intltool/intltool-0.51.0-perl-5.22.patch -gzip ./source/d/libtool/libtool.no.moved.warning.diff -gzip ./source/d/libtool/doinst.sh -gzip ./source/d/clisp/ffcall-arm.patch -gzip ./source/d/automake/automake-1.15-perl-escape-curly-bracket.patch -gzip ./source/d/automake/doinst.sh -gzip ./source/d/binutils/patches/binutils.no-config-h-check.diff -gzip ./source/d/binutils/patches/binutils-2.26-fix-compile-warnings.patch -gzip ./source/d/binutils/patches/binutils-2.20.51.0.2-libtool-lib64.patch -gzip ./source/d/binutils/patches/binutils-2.24-ldforcele.patch -gzip ./source/d/binutils/patches/binutils-2.20.51.0.10-ppc64-pie.patch -gzip ./source/d/binutils/patches/binutils.export.demangle.h.diff -gzip ./source/d/binutils/patches/binutils-2.20.51.0.10-copy-osabi.patch -gzip ./source/d/binutils/patches/binutils-2.20.51.0.10-sec-merge-emit.patch -gzip ./source/d/binutils/patches/binutils-2.26-formatting.patch -gzip ./source/d/binutils/patches/binutils-2.26-lto.patch -gzip ./source/d/binutils/patches/binutils-2.26-Bsymbolic_PIE.patch -gzip ./source/d/binutils/patches/binutils-2.25.1-cleansweep.patch -gzip ./source/d/binutils/patches/binutils-2.23.52.0.1-addr2line-dynsymtab.patch -gzip ./source/d/binutils/patches/binutils-2.26-fix-GOT-offset-calculation.patch -gzip ./source/d/binutils/patches/binutils-2.25-set-long-long.patch -gzip ./source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch -gzip ./source/d/binutils/patches/binutils-2.25-version.patch -gzip ./source/d/binutils/patches/binutils-rh1312151.patch -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/llvm/clang.toolchains.i586.triple.diff -gzip ./source/d/gcc/gcc.66782.diff -gzip ./source/d/gcc/gcc.69140.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.alsa.default.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-xft.patch -gzip ./source/xap/MPlayer/MPlayer.demux_lavf.flac.diff -gzip ./source/xap/MPlayer/include-samba-4.0.patch -gzip ./source/xap/imagemagick/policy.xml.diff -gzip ./source/xap/imagemagick/doinst.sh -gzip ./source/xap/fluxbox/xinitrc.fluxbox -gzip ./source/xap/fluxbox/fluxbox.startfluxbox.dbus.diff -gzip ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch -gzip ./source/xap/geeqie/doinst.sh -gzip ./source/xap/gkrellm/gkrellm.theme.defaults.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/wmmenugen.c.diff -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/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/xscreensaver.no.expiration.date.diff -gzip ./source/xap/xscreensaver/setuid.c -gzip ./source/xap/xscreensaver/xscreensaver.setuid.diff -gzip ./source/xap/xscreensaver/xscreensaver.electricsheep.diff -gzip ./source/xap/hexchat/doinst.sh -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/pan/pan.gcc47.diff -gzip ./source/xap/xsane/xsane-0.999-pdf-no-high-bpp.patch -gzip ./source/xap/xsane/xsane-0.995-xdg-open.patch -gzip ./source/xap/xsane/xsane-0.999-coverity.patch -gzip ./source/xap/xsane/xsane-0.999-man-page.patch -gzip ./source/xap/xsane/xsane-0.999-lcms2.patch -gzip ./source/xap/xsane/xsane-0.999-snprintf-update.patch -gzip ./source/xap/xsane/xsane-0.997-ipv6.patch -gzip ./source/xap/xsane/xsane-0.997-off-root-build.patch -gzip ./source/xap/xsane/xsane-0.998-wmclass.patch -gzip ./source/xap/xsane/xsane-0.999-signal-handling.patch -gzip ./source/xap/xsane/xsane-0.999-no-file-selected.patch -gzip ./source/xap/xsane/xsane-0.996-no-eula.patch -gzip ./source/xap/xsane/xsane-0.999-7-autoconf.patch -gzip ./source/xap/xsane/xsane-0.995-close-fds.patch -gzip ./source/xap/xsane/xsane-0.998-preview-selection.patch -gzip ./source/xap/xsane/xsane-0.998-desktop-file.patch -gzip ./source/xap/xsane/xsane-0.998-libpng.patch -gzip ./source/xap/pavucontrol/replace-gtk-stock-lock-icon.diff -gzip ./source/xap/pavucontrol/doinst.sh -gzip ./source/xap/seamonkey/doinst.sh -gzip ./source/xap/gnuchess/xboard.conf.diff -gzip ./source/xap/gnuchess/eboard.ldl.diff -gzip ./source/xap/gnuchess/eboard.assert.diff -gzip ./source/xap/gnuchess/eboard.png16.diff -gzip ./source/xap/gnuchess/doinst.sh -gzip ./source/xap/blueman/0001-Notification-Also-check-if-notification-daemon-suppo.patch -gzip ./source/xap/blueman/doinst.sh -gzip ./source/xap/blueman/0002-NetConf-Treat-UnicodeDecodeError-as-if-there-was-no-.patch -gzip ./source/xap/xpdf/patches/xpdfrc.diff -gzip ./source/xap/xpdf/doinst.sh -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-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-cyrillic.diff -gzip ./source/xap/xpdf/lang/xpdf-latin2.diff -gzip ./source/xap/ddd/machine_code_window_fix.diff -gzip ./source/xap/ddd/doinst.sh -gzip ./source/xap/ddd/strclass.C.diff -gzip ./source/xap/seyon/seyon_2.20c-16.diff -gzip ./source/xap/xaos/xaos.6 -gzip ./source/xap/xaos/xaos.x86.registers.diff -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/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-libpng-1.5.patch -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/mozilla-firefox/mimeTypes.rdf -gzip ./source/xap/gparted/doinst.sh -gzip ./source/x/xdg-user-dirs/doinst.sh -gzip ./source/x/x11-skel/doinst.sh +gzip ./source/x/liberation-fonts-ttf/doinst.sh gzip ./source/x/motif/motif-2.3.4-no_demos.patch gzip ./source/x/motif/motif-2.3.4-mwmrc_dir.patch gzip ./source/x/motif/motif-2.3.4-bindings.patch gzip ./source/x/motif/motif.rgbtxt.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/xf86-video-intel/0001-sna-Let-modestting-glamor-handle-gen9.patch -gzip ./source/x/x11/patch/luit/luit_use_system_extensions.diff -gzip ./source/x/x11/patch/xorg-server/x11.startwithblackscreen.diff +gzip ./source/x/ttf-indic-fonts/doinst.sh gzip ./source/x/x11/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch -gzip ./source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff -gzip ./source/x/x11/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff +gzip ./source/x/x11/patch/xorg-server/x11.startwithblackscreen.diff +gzip ./source/x/x11/patch/xf86-video-voodoo/0001-don-t-use-PCITAG-in-struct-anymore.patch +gzip ./source/x/x11/patch/xf86-video-intel/0001-sna-Let-modestting-glamor-handle-gen9.patch +gzip ./source/x/x11/patch/xf86-video-xgixp/0005-Update-for-new-damage-API.patch gzip ./source/x/x11/patch/xf86-video-xgixp/0004-Stop-using-deprecated-xf86PciInfo.h.patch gzip ./source/x/x11/patch/xf86-video-xgixp/0002-Remove-symbol-lists-as-they-are-not-used-any-more.patch -gzip ./source/x/x11/patch/xf86-video-xgixp/0001-Remove-mibstore.h.patch gzip ./source/x/x11/patch/xf86-video-xgixp/0003-shadow-shadowInit-shadowAdd-Remove.patch -gzip ./source/x/x11/patch/xf86-video-xgixp/0005-Update-for-new-damage-API.patch -gzip ./source/x/x11/patch/xdm/xdm-1.1.11-arc4random-include.patch -gzip ./source/x/x11/patch/xdm/xdm.glibc.crypt.diff -gzip ./source/x/x11/patch/xdm/xdm-1.1.11-setproctitle-include.patch -gzip ./source/x/x11/patch/xdm/xdm-consolekit.patch -gzip ./source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff +gzip ./source/x/x11/patch/xf86-video-xgixp/0001-Remove-mibstore.h.patch gzip ./source/x/x11/patch/xf86-video-v4l/xf86-video-v4l-0.2.0-build-fix.patch gzip ./source/x/x11/patch/xf86-video-v4l/xorg-x11-drv-v4l-support_v4l2_only_drivers.patch -gzip ./source/x/x11/patch/xf86-video-voodoo/0001-don-t-use-PCITAG-in-struct-anymore.patch -gzip ./source/x/ttf-indic-fonts/doinst.sh -gzip ./source/x/scim-hangul/scim-hangul-0.4.0+gtk.patch +gzip ./source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff +gzip ./source/x/x11/patch/xdm/xdm-1.1.11-arc4random-include.patch +gzip ./source/x/x11/patch/xdm/xdm.glibc.crypt.diff +gzip ./source/x/x11/patch/xdm/xdm-consolekit.patch +gzip ./source/x/x11/patch/xdm/xdm-1.1.11-setproctitle-include.patch +gzip ./source/x/x11/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff +gzip ./source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff +gzip ./source/x/x11/patch/luit/luit_use_system_extensions.diff +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/scim/scim-disable-subdir-objects.patch +gzip ./source/x/x11-skel/doinst.sh +gzip ./source/x/xdg-user-dirs/doinst.sh +gzip ./source/x/mesa/mesa.no.mako.diff +gzip ./source/x/dejavu-fonts-ttf/doinst.sh gzip ./source/x/scim-hangul/scim-hangul-0.3.2+gcc-4.3.patch gzip ./source/x/scim-hangul/scim-hangul-0.3.2+gcc-4.7.patch +gzip ./source/x/scim-hangul/scim-hangul-0.4.0+gtk.patch +gzip ./source/x/fontconfig/fontconfig.font.dir.list.diff +gzip ./source/x/fontconfig/doinst.sh +gzip ./source/x/fontconfig/fontconfig.dejavu.diff gzip ./source/x/xdg-utils/doinst.sh -gzip ./source/x/liberation-fonts-ttf/doinst.sh -gzip ./source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff -gzip ./source/x/mesa/mesa.no.mako.diff gzip ./source/x/xterm/doinst.sh gzip ./source/x/scim-anthy/scim-anthy.gcc43.diff -gzip ./source/x/scim/scim-disable-subdir-objects.patch -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/t/transfig/transfig.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.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/tetex/tetex.png16.diff -gzip ./source/t/xfig/xfig.no.pdf.ref.diff -gzip ./source/t/xfig/xfig-3.2.5c.paths.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-3.2.5c.skip.missing.html.manpage.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/kdeconnect-kde/kdeconnect-kde.openssh7.diff -gzip ./source/kde/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch -gzip ./source/kde/patch/kscreen/kscreen.broken.test.diff -gzip ./source/kde/patch/strigi-multimedia/strigi-multimedia_port.patch -gzip ./source/kde/patch/kdewebdev/include-tidy.patch -gzip ./source/kde/patch/kdepim/kdepim-install_kleopatra_headers.patch -gzip ./source/kde/patch/ktouch/ktouch.performance.diff -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/kde-workspace/kde-workspace.panel-layout.diff -gzip ./source/kde/patch/plasma-nm/plasma-nm.nm.diff -gzip ./source/kde/patch/libkscreen/libkscreen.broken.test.diff -gzip ./source/kde/patch/krdc/krdc_freerdp-1.1.0.patch -gzip ./source/kde/patch/kde-runtime/kde-runtime-4.14.3.nm.diff -gzip ./source/kde/patch/kdelibs/coding-style-fixes.patch -gzip ./source/kde/patch/kdelibs/return-application-icons-properly.patch -gzip ./source/kde/patch/kdelibs/kdelibs.upnp_conditional.patch -gzip ./source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch -gzip ./source/kde/patch/kdelibs/kdelibs.docbook.patch +gzip ./source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff gzip ./source/e/emacs/doinst.sh -gzip ./source/tcl/tix/tix.soname.patch -gzip ./source/tcl/tix/tix.tcl8.5.patch -gzip ./source/tcl/hfsutils/hfsutils.errno.diff -gzip ./source/l/ncurses/ncurses.mkhashsize.diff -gzip ./source/l/shared-mime-info/doinst.sh -gzip ./source/l/gst-plugins-good0/v4l.compile.fixes.diff -gzip ./source/l/gdbm/gdbm.zeroheaders.patch -gzip ./source/l/ebook-tools/epub3_fixed_layout.patch -gzip ./source/l/elfutils/elfutils-portability-0.163.patch -gzip ./source/l/elfutils/elfutils-0.163-unstrip-shf_info_link.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/hicolor-icon-theme/doinst.sh -gzip ./source/l/at-spi2-core/doinst.sh -gzip ./source/l/notify-python/notify-python-0.1.1-fix-GTK-symbols.patch -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-1.9.25-vga_getmodenumber.patch -gzip ./source/l/svgalib/svgalib-1.9.25-round_gtf_gtfcalc_c.patch -gzip ./source/l/svgalib/svgalib.prefix.diff -gzip ./source/l/cairo/cairo.c088ba1faab9579efdaed7a524124901a17801b0.diff -gzip ./source/l/libvisual/libvisual.glib.h.diff -gzip ./source/l/qt-gstreamer/doinst.sh +gzip ./source/n/ppp/radius.msdict +gzip ./source/n/ppp/doinst.sh +gzip ./source/n/ppp/ppp.CVE-2015-3310.diff +gzip ./source/n/ppp/realms +gzip ./source/n/ppp/options.new +gzip ./source/n/ppp/pppsetup-1.98.moredevs.diff +gzip ./source/n/ppp/pppsetup-1.98.pppoff.diff +gzip ./source/n/ppp/ppp.slack.diff +gzip ./source/n/ppp/pppsetup-1.98.slack.diff +gzip ./source/n/ppp/pppsetup-1.98.backupfiles.diff +gzip ./source/n/ntp/ntp.nano.diff +gzip ./source/n/ntp/doinst.sh +gzip ./source/n/openssh/doinst.sh +gzip ./source/n/openssh/openssh-7.2p1-libwrap.diff +gzip ./source/n/ulogd/doinst.sh +gzip ./source/n/yptools/yp-tools-2.14-glibc217-crypt.diff +gzip ./source/n/yptools/rc.yp +gzip ./source/n/yptools/nsswitch.conf-nis +gzip ./source/n/lynx/lynx.cfg.diff +gzip ./source/n/php/php-fpm.conf.diff +gzip ./source/n/php/doinst.sh +gzip ./source/n/php/php.ini-development.diff +gzip ./source/n/popa3d/doinst.sh +gzip ./source/n/popa3d/popa3d.diff +gzip ./source/n/lftp/doinst.sh +gzip ./source/n/gpa/doinst.sh +gzip ./source/n/nfs-utils/doinst.sh +gzip ./source/n/nfs-utils/ignore_unsupported_address_types_in_nfssvc_setfds.diff +gzip ./source/n/nfs-utils/nfs-utils.lwrap.needs.lnsl.diff +gzip ./source/n/nc/nc-110-21.diff +gzip ./source/n/nc/nc.diff +gzip ./source/n/irssi/doinst.sh +gzip ./source/n/rpcbind/0003-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch +gzip ./source/n/rpcbind/0002-Fix-memory-corruption-in-PMAP_CALLIT-code.patch +gzip ./source/n/rpcbind/doinst.sh +gzip ./source/n/rpcbind/rpcbind.lwrap.needs.lnsl.diff +gzip ./source/n/rpcbind/01.rpcbind-manpage-statefile-explanation.patch +gzip ./source/n/rpcbind/0004-Delete-the-unix-socket-only-if-we-have-created-it.patch +gzip ./source/n/rpcbind/0001-security.c-removed-warning.patch +gzip ./source/n/rpcbind/rc.rpc +gzip ./source/n/bluez/doinst.sh +gzip ./source/n/bluez/bluez-5.30-obexd_without_systemd-1.patch +gzip ./source/n/network-scripts/doinst.sh +gzip ./source/n/vsftpd/vsftpd.log +gzip ./source/n/vsftpd/doinst.sh +gzip ./source/n/vsftpd/vsftpd.builddefs.diff +gzip ./source/n/vsftpd/vsftpd.crypt.diff +gzip ./source/n/vsftpd/vsftpd.conf.diff +gzip ./source/n/uucp/policy.h.diff +gzip ./source/n/ca-certificates/doinst.sh +gzip ./source/n/ca-certificates/patches/fixup_update-ca-certificates.diff +gzip ./source/n/ca-certificates/patches/fixup_DESTDIR.diff +gzip ./source/n/netwrite/netwrite-0.17.diff +gzip ./source/n/dhcp/doinst.sh +gzip ./source/n/dhcp/dhclient-script.PATH.diff +gzip ./source/n/rp-pppoe/doinst.sh +gzip ./source/n/ebtables/doinst.sh +gzip ./source/n/dirmngr/dirmngr-pth-fix.patch +gzip ./source/n/ytalk/doinst.sh +gzip ./source/n/telnet/telnet-OpenBSD-014_telnet.diff +gzip ./source/n/telnet/netkit-telnet-0.17.diff +gzip ./source/n/telnet/telnet-OpenBSD-20020321.diff +gzip ./source/n/telnet/netkit-telnet-0.17-ayt.patch +gzip ./source/n/httpd/httpd.runasapache.diff +gzip ./source/n/httpd/doinst.sh +gzip ./source/n/netwatch/netwatch.phonemyself.diff +gzip ./source/n/netwatch/netwatch.makefile.diff +gzip ./source/n/inetd/inetd.loopingdos.diff +gzip ./source/n/inetd/fix-x86_64-daytime-segfault.diff +gzip ./source/n/inetd/inetd-OpenBSD-1.79.diff +gzip ./source/n/autofs/autofs.sasl.diff +gzip ./source/n/autofs/doinst.sh +gzip ./source/n/netkit-routed/routed.18.candidate.final.patch +gzip ./source/n/netkit-routed/netkit-routed-0.17.diff +gzip ./source/n/stunnel/doinst.sh +gzip ./source/n/netkit-ntalk/netkit-ntalk-0.17.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/samba/smb.conf.diff +gzip ./source/n/samba/doinst.sh +gzip ./source/n/samba/samba.install.talloc.tevent.tdb.diff +gzip ./source/n/net-snmp/doinst.sh +gzip ./source/n/net-snmp/net-snmp.net-snmp-create-v3-user.etc.snmpd.conf.diff +gzip ./source/n/net-snmp/snmpd.conf +gzip ./source/n/netkit-timed/netkit-timed-0.17.diff +gzip ./source/n/wpa_supplicant/doinst.sh +gzip ./source/n/biff+comsat/biff+comsat.badutmp.diff +gzip ./source/n/biff+comsat/biff+comsat.offset.diff +gzip ./source/n/biff+comsat/biff+comsat-0.17.diff +gzip ./source/n/wget/doinst.sh +gzip ./source/n/obexftp/patches/obexftp-pkgconfig_requires.patch +gzip ./source/n/obexftp/patches/obexftp-0.24-fix-absurd-install-path.patch +gzip ./source/n/obexftp/patches/obexftp-norpath.patch +gzip ./source/n/obexftp/patches/obexftp-0.24-fuse.patch +gzip ./source/n/icmpinfo/icmpinfo-1.11.diff +gzip ./source/n/icmpinfo/icmpinfo-1.11-time.diff +gzip ./source/n/bsd-finger/bsd-finger-0.17.diff +gzip ./source/n/wireless-tools/doinst.sh +gzip ./source/n/wireless-tools/wireless_tools.nowhine.diff +gzip ./source/n/wireless-tools/wireless_tools.static.diff +gzip ./source/n/netdate/netdate.diff2 +gzip ./source/n/netdate/netdate.diff +gzip ./source/n/openssl/certwatch +gzip ./source/n/openssl/doinst.sh-openssl +gzip ./source/n/openssl/doinst.sh-openssl-solibs +gzip ./source/n/dhcpcd/COPYRIGHT +gzip ./source/n/dhcpcd/doinst.sh +gzip ./source/n/netatalk/doinst.sh +gzip ./source/n/netatalk/netatalk.etc2ps.diff +gzip ./source/n/procmail/procmail.lfs.diff +gzip ./source/n/procmail/procmail_3.22-5.diff +gzip ./source/n/dnsmasq/doinst.sh +gzip ./source/n/dnsmasq/rc.dnsmasq +gzip ./source/n/dnsmasq/dnsmasq.leasedir.diff +gzip ./source/n/mailx/doinst.sh +gzip ./source/n/mailx/heirloom-mailx-12.5-fixes-1.patch +gzip ./source/n/metamail/metamail.uue.getline.diff +gzip ./source/n/alpine/pinepgp.pinegpgp.in.diff +gzip ./source/n/alpine/alpine.manpage.diff +gzip ./source/n/alpine/pinepgp-0.18.0-makefile-sed-fix.diff +gzip ./source/n/mobile-broadband-provider-info/mobile-broadband-provider-info.pc.diff +gzip ./source/n/mutt/doinst.sh +gzip ./source/n/slrn/doinst.sh +gzip ./source/n/cyrus-sasl/cyrus-sasl-2.1.26-size_t.patch +gzip ./source/n/cyrus-sasl/doinst.sh +gzip ./source/n/cyrus-sasl/rc.saslauthd +gzip ./source/n/cyrus-sasl/cyrus-sasl-2.1.26-null-crypt.patch +gzip ./source/n/proftpd/doinst.sh +gzip ./source/n/iproute2/doinst.sh +gzip ./source/n/pidentd/doinst.sh +gzip ./source/n/pidentd/pidentd.conf.diff +gzip ./source/n/openldap-client/doinst.sh +gzip ./source/n/sendmail/Build +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/netkit-rwho/rwhod_getloadavg.diff +gzip ./source/n/netkit-rwho/netkit-rwho-0.17.diff +gzip ./source/n/bind/doinst.sh +gzip ./source/n/bind/bind.so_bsdcompat.diff +gzip ./source/n/net-tools/net-tools.config.h +gzip ./source/n/trn/config.sh +gzip ./source/n/trn/config.x86_64.sh +gzip ./source/n/netkit-rusers/netkit-rusers-0.17.diff +gzip ./source/n/nn/doinst.sh +gzip ./source/n/nn/nn.badnntphost.diff +gzip ./source/n/nn/nntpserver +gzip ./source/n/nn/nn.diff +gzip ./source/n/nn/m-x86_64.h +gzip ./source/n/nn/NNTP +gzip ./source/n/nn/nn.destdir.diff +gzip ./source/n/ModemManager/WeDoNotHaveSystemD.patch +gzip ./source/n/libtirpc/doinst.sh +gzip ./source/n/bridge-utils/bridge-utils-1.5-linux_3.8.x.patch +gzip ./source/n/rdist/rdist-6.1.5-07.lfs.diff +gzip ./source/n/rdist/rdist-6.1.5-04.bison.diff +gzip ./source/n/rdist/rdist-6.1.5-12.stat64.diff +gzip ./source/n/rdist/rdist-6.1.5-03.hardlink.diff +gzip ./source/n/rdist/rdist-6.1.5-05.varargs.diff +gzip ./source/n/rdist/rdist-6.1.5-14.fix-msgsndnotify-loop.diff +gzip ./source/n/rdist/rdist-6.1.5-00.linux.diff +gzip ./source/n/rdist/rdist-6.1.5-08.cleanup.diff +gzip ./source/n/rdist/rdist-6.1.5-09.svr4.diff +gzip ./source/n/rdist/rdist-6.1.5-01.links.diff +gzip ./source/n/rdist/rdist-6.1.5-06.maxargs.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/bootp/bootptab +gzip ./source/n/bootp/bootp_2.4.3-15.diff +gzip ./source/l/netpbm/config.mk +gzip ./source/l/netpbm/netpbm-noppmtompeg.patch +gzip ./source/l/netpbm/netpbm-pnmtops.patch +gzip ./source/l/ilmbase/ilmbase-2.2.0-no_undefined.patch +gzip ./source/l/libiodbc/libiodbc.disable.rpath.diff gzip ./source/l/djvulibre/doinst.sh -gzip ./source/l/glib2/doinst.sh -gzip ./source/l/aalib/aalib-aclocal.patch -gzip ./source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch -gzip ./source/l/sdl/libsdl-1.2.15-resizing.patch -gzip ./source/l/sdl/SDL_mixer.usrlocal.diff -gzip ./source/l/sdl/SDL_ttf.shaded.text.diff -gzip ./source/l/libmsn/libmsn.gcc47.diff -gzip ./source/l/parted/parted.configure.diff gzip ./source/l/dconf-editor/doinst.sh -gzip ./source/l/adwaita-icon-theme/inherit-hicolor-theme.diff -gzip ./source/l/adwaita-icon-theme/doinst.sh -gzip ./source/l/clucene/clucene.install_contribs_lib.diff -gzip ./source/l/clucene/clucene.pkgconfig.diff -gzip ./source/l/gnome-keyring/doinst.sh -gzip ./source/l/libtiff/libtiff-make-check.patch -gzip ./source/l/libtiff/libtiff-am-version.patch -gzip ./source/l/glibc/glibc-2.10-dns-no-gethostbyname4.diff -gzip ./source/l/glibc/glibc.make-3.82.diff -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-c-utf8-locale.patch -gzip ./source/l/glibc/is_IS.diff -gzip ./source/l/glibc/glibc.locale.no-archive.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/qt.glib-honor-ExcludeSocketNotifiers-flag.diff -gzip ./source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff -gzip ./source/l/qt/qtwebkit/doinst.sh +gzip ./source/l/gnome-themes-standard/doinst.sh +gzip ./source/l/qca/0011-use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch +gzip ./source/l/qt/qt.webkit-no_Werror.patch +gzip ./source/l/qt/qt.qclipboard_delay.patch gzip ./source/l/qt/qt.mysql.h.diff gzip ./source/l/qt/qt.fix.broken.gif.crash.diff gzip ./source/l/qt/doinst.sh -gzip ./source/l/qt/qt.webkit-no_Werror.patch -gzip ./source/l/qt/qt.qclipboard_fix_recursive.patch +gzip ./source/l/qt/qtwebkit/doinst.sh +gzip ./source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff gzip ./source/l/qt/qt.qsystemtrayicon-plugin-system.diff -gzip ./source/l/qt/qt.qclipboard_delay.patch -gzip ./source/l/gamin/gaminrc +gzip ./source/l/qt/qt.qclipboard_fix_recursive.patch +gzip ./source/l/qt/qt.glib-honor-ExcludeSocketNotifiers-flag.diff +gzip ./source/l/libffi/libffi.includedir.diff +gzip ./source/l/gcr/doinst.sh +gzip ./source/l/sdl/libsdl-1.2.15-resizing.patch +gzip ./source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch +gzip ./source/l/sdl/SDL_ttf.shaded.text.diff +gzip ./source/l/sdl/SDL_mixer.usrlocal.diff +gzip ./source/l/notify-python/libnotify07.patch +gzip ./source/l/notify-python/notify-python-0.1.1-fix-GTK-symbols.patch +gzip ./source/l/esound/doinst.sh +gzip ./source/l/PyQt/PyQt.phonon.diff +gzip ./source/l/qt-gstreamer/doinst.sh +gzip ./source/l/libmsn/libmsn.gcc47.diff +gzip ./source/l/db44/patch.4.4.20.1 +gzip ./source/l/db44/patch.4.4.20.2 +gzip ./source/l/libexif/libexif.pc.diff +gzip ./source/l/dconf/doinst.sh +gzip ./source/l/gst-plugins-good0/v4l.compile.fixes.diff +gzip ./source/l/db42/patch.4.2.52.4 +gzip ./source/l/db42/patch.4.2.52.3 +gzip ./source/l/db42/patch.4.2.52.1 +gzip ./source/l/db42/patch.4.2.52.2 +gzip ./source/l/gtk+3/doinst.sh +gzip ./source/l/libgpod/doinst.sh +gzip ./source/l/libnl3/doinst.sh +gzip ./source/l/libxml2/libxml2.do-not-check-crc.diff +gzip ./source/l/libxml2/0001-Fix-attribute-decoding-during-XML-schema-validation.diff +gzip ./source/l/parted/parted.configure.diff +gzip ./source/l/clucene/clucene.install_contribs_lib.diff +gzip ./source/l/clucene/clucene.pkgconfig.diff +gzip ./source/l/ebook-tools/epub3_fixed_layout.patch +gzip ./source/l/akonadi/doinst.sh +gzip ./source/l/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch +gzip ./source/l/pulseaudio/doinst.sh +gzip ./source/l/pulseaudio/0003-no-root-warn.diff +gzip ./source/l/pulseaudio/030_posix-completion.diff +gzip ./source/l/pulseaudio/020_no-parallel-make.diff +gzip ./source/l/pulseaudio/pulseaudio-autostart.patch +gzip ./source/l/pulseaudio/0002-allow-autospawn-for-root-default.diff +gzip ./source/l/freetype/freetype.illadvisederror.diff +gzip ./source/l/freetype/freetype.subpixel.rendering.diff +gzip ./source/l/at-spi2-core/doinst.sh +gzip ./source/l/gc/refer_to_GC_setup_mark_lock_only_in_PARALLEL_MARK_code.patch +gzip ./source/l/gc/noelision.patch +gzip ./source/l/qtscriptgenerator/include-everything.patch +gzip ./source/l/hicolor-icon-theme/doinst.sh +gzip ./source/l/libwmf/libwmf.png14.diff 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/libstreamanalyzer-0003-Fix-Krazy-issues.patch -gzip ./source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch +gzip ./source/l/gamin/gaminrc +gzip ./source/l/gamin/fix-double-lock-in-inotify-helper-c.patch +gzip ./source/l/icu4c/icu4c.closenull.patch +gzip ./source/l/gvfs/doinst.sh +gzip ./source/l/adwaita-icon-theme/doinst.sh +gzip ./source/l/adwaita-icon-theme/inherit-hicolor-theme.diff +gzip ./source/l/vte/vte.escape.cpu.usage.diff +gzip ./source/l/vte/fix_meta_alt_keybinding.patch +gzip ./source/l/gdbm/gdbm.zeroheaders.patch +gzip ./source/l/gnome-keyring/doinst.sh +gzip ./source/l/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch +gzip ./source/l/jasper/patches/jasper-CVE-2014-8157.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch +gzip ./source/l/jasper/patches/jasper-CVE-2014-9029.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch +gzip ./source/l/jasper/patches/jasper-CVE-2014-8137.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch +gzip ./source/l/jasper/patches/jasper-CVE-2014-8158.patch +gzip ./source/l/jasper/patches/patch-libjasper-stepsizes-overflow.diff +gzip ./source/l/jasper/patches/jpc_dec.c.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch +gzip ./source/l/jasper/patches/jasper-CVE-2014-8138.patch +gzip ./source/l/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch +gzip ./source/l/json-c/unset-vars-build-fix.diff +gzip ./source/l/fribidi/fribidi.glib.h.diff +gzip ./source/l/libvisual-plugins/libvisual-plugins.gstreamer.diff +gzip ./source/l/glib2/doinst.sh +gzip ./source/l/virtuoso-ose/doinst.sh +gzip ./source/l/t1lib/t1lib_5.1.2-3.5.diff +gzip ./source/l/alsa-lib/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff +gzip ./source/l/alsa-lib/doinst.sh +gzip ./source/l/libvisual/libvisual.glib.h.diff +gzip ./source/l/ConsoleKit2/doinst.sh +gzip ./source/l/ConsoleKit2/patches/0002-Fix-some-libdir-scripts-stuff-missed-in-4d87a25ea0af.patch +gzip ./source/l/ConsoleKit2/patches/0001-Revert-Minor-code-refactoring.patch +gzip ./source/l/ConsoleKit2/patches/0004-Apply-overlooked-prefix-lib-libdir-substitution.patch +gzip ./source/l/ConsoleKit2/patches/0003-Filter-out-the-kdm-user.patch +gzip ./source/l/fuse/doinst.sh +gzip ./source/l/GConf/doinst.sh +gzip ./source/l/GConf/patches/0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch +gzip ./source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch +gzip ./source/l/GConf/patches/0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch +gzip ./source/l/system-config-printer/doinst.sh +gzip ./source/l/ncurses/ncurses.mkhashsize.diff +gzip ./source/l/gtk+2/fix_build_issues_on_tutorial_and_faq.diff +gzip ./source/l/gtk+2/doinst.sh +gzip ./source/l/gtk+2/gtk.gtk-faq.diff +gzip ./source/l/gtk+2/gtk.gtk-tut.diff +gzip ./source/l/gtk+2/gtk.xid.nowarningflood.diff +gzip ./source/l/gtk+2/gtk+-2.24.x.icon-compat.diff +gzip ./source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff +gzip ./source/l/shared-mime-info/doinst.sh +gzip ./source/l/glibc/glibc.locale.no-archive.diff +gzip ./source/l/glibc/glibc.revert.to.fix.build.breakages.diff +gzip ./source/l/glibc/glibc-c-utf8-locale.patch +gzip ./source/l/glibc/glibc.make-3.82.diff +gzip ./source/l/glibc/glibc.ru_RU.CP1251.diff +gzip ./source/l/glibc/is_IS.diff +gzip ./source/l/glibc/glibc.ldd.trace.through.dynamic.linker.diff +gzip ./source/l/glibc/glibc-2.10-dns-no-gethostbyname4.diff gzip ./source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch +gzip ./source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch +gzip ./source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch gzip ./source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch gzip ./source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch gzip ./source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch -gzip ./source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch -gzip ./source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch -gzip ./source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch +gzip ./source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch gzip ./source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch -gzip ./source/l/jasper/patches/jasper-CVE-2014-8138.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch -gzip ./source/l/jasper/patches/jasper-CVE-2014-9029.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch -gzip ./source/l/jasper/patches/jpc_dec.c.patch -gzip ./source/l/jasper/patches/jasper-CVE-2014-8137.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch -gzip ./source/l/jasper/patches/jasper-CVE-2014-8158.patch -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch -gzip ./source/l/jasper/patches/jasper-CVE-2014-8157.patch -gzip ./source/l/jasper/patches/patch-libjasper-stepsizes-overflow.diff -gzip ./source/l/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch -gzip ./source/l/system-config-printer/doinst.sh -gzip ./source/l/netpbm/netpbm-noppmtompeg.patch -gzip ./source/l/netpbm/config.mk -gzip ./source/l/netpbm/netpbm-pnmtops.patch -gzip ./source/l/libnl3/doinst.sh -gzip ./source/l/PyQt/PyQt.phonon.diff -gzip ./source/l/gc/refer_to_GC_setup_mark_lock_only_in_PARALLEL_MARK_code.patch -gzip ./source/l/gc/noelision.patch -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/icu4c/icu4c.closenull.patch -gzip ./source/l/dconf/doinst.sh -gzip ./source/l/polkit/dont-set-wheel-group-as-admin.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/alsa-lib/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff -gzip ./source/l/alsa-lib/doinst.sh -gzip ./source/l/glib-networking/doinst.sh -gzip ./source/l/libxml2/libxml2.do-not-check-crc.diff -gzip ./source/l/libxml2/0001-Fix-attribute-decoding-during-XML-schema-validation.diff -gzip ./source/l/gtk+3/doinst.sh -gzip ./source/l/gtk+2/gtk.gtk-tut.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/doinst.sh -gzip ./source/l/gtk+2/gtk.gtk-faq.diff -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/pilot-link/pilot-link-0.12.5-redefinePerlsymbols.patch -gzip ./source/l/pygobject/pygobject.flags.diff -gzip ./source/l/libgpod/doinst.sh -gzip ./source/l/libiodbc/libiodbc.disable.rpath.diff -gzip ./source/l/qca/0011-use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch -gzip ./source/l/json-c/unset-vars-build-fix.diff -gzip ./source/l/desktop-file-utils/desktop-file-utils.quiet.warnings.diff -gzip ./source/l/desktop-file-utils/doinst.sh -gzip ./source/l/at-spi2-atk/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-2.2.0-no_undefined.patch -gzip ./source/l/pulseaudio/020_no-parallel-make.diff -gzip ./source/l/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch -gzip ./source/l/pulseaudio/0003-no-root-warn.diff -gzip ./source/l/pulseaudio/0002-allow-autospawn-for-root-default.diff -gzip ./source/l/pulseaudio/030_posix-completion.diff -gzip ./source/l/pulseaudio/doinst.sh -gzip ./source/l/pulseaudio/pulseaudio-autostart.patch -gzip ./source/l/gcr/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/gnome-themes-standard/doinst.sh -gzip ./source/l/akonadi/doinst.sh -gzip ./source/l/GConf/patches/0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch -gzip ./source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch -gzip ./source/l/GConf/patches/0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch -gzip ./source/l/GConf/doinst.sh -gzip ./source/l/libffi/libffi.includedir.diff -gzip ./source/l/ConsoleKit2/patches/0003-Filter-out-the-kdm-user.patch -gzip ./source/l/ConsoleKit2/patches/0002-Fix-some-libdir-scripts-stuff-missed-in-4d87a25ea0af.patch -gzip ./source/l/ConsoleKit2/patches/0004-Apply-overlooked-prefix-lib-libdir-substitution.patch -gzip ./source/l/ConsoleKit2/patches/0001-Revert-Minor-code-refactoring.patch -gzip ./source/l/ConsoleKit2/doinst.sh +gzip ./source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch +gzip ./source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch +gzip ./source/l/libtiff/libtiff-am-version.patch +gzip ./source/l/libtiff/libtiff-make-check.patch +gzip ./source/l/svgalib/svgalib-1.9.25-round_gtf_gtfcalc_c.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-1.9.25-vga_getmodenumber.patch +gzip ./source/l/svgalib/svgalib.prefix.diff +gzip ./source/l/cairo/cairo.c088ba1faab9579efdaed7a524124901a17801b0.diff gzip ./source/l/icon-naming-utils/icon-naming-utils.pkgconfigdir.diff -gzip ./source/l/fuse/doinst.sh +gzip ./source/l/glib-networking/doinst.sh +gzip ./source/l/libcap/libcap.capability.h.fix.broken.includes.diff +gzip ./source/l/gdk-pixbuf2/doinst.sh +gzip ./source/l/gdk-pixbuf2/gdk-pixbuf.pnglz.diff +gzip ./source/l/pilot-link/pilot-link-0.12.5-redefinePerlsymbols.patch +gzip ./source/l/pilot-link/pilot-link.png14.diff +gzip ./source/l/desktop-file-utils/doinst.sh +gzip ./source/l/desktop-file-utils/desktop-file-utils.quiet.warnings.diff +gzip ./source/l/elfutils/elfutils-portability-0.163.patch +gzip ./source/l/elfutils/elfutils-0.163-unstrip-shf_info_link.patch +gzip ./source/l/libtermcap/termcap.bufsize.diff +gzip ./source/l/libtermcap/termcap-compat_1.2.3.diff +gzip ./source/l/libtermcap/termcap.h.diff gzip ./source/l/gsettings-desktop-schemas/doinst.sh -gzip ./source/l/virtuoso-ose/doinst.sh -gzip ./source/l/libexif/libexif.pc.diff +gzip ./source/l/polkit/doinst.sh +gzip ./source/l/polkit/dont-set-wheel-group-as-admin.diff +gzip ./source/l/at-spi2-atk/doinst.sh +gzip ./source/l/aalib/aalib-aclocal.patch +gzip ./source/l/pygobject/pygobject.flags.diff +gzip ./source/y/bsd-games/bsd-games.fortlen.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.ospeed.diff +gzip ./source/y/bsd-games/bsd-games.pom.diff +gzip ./source/y/bsd-games/hangman-words +gzip ./source/y/bsd-games/bsd-games.trek-gcc4.diff +gzip ./source/y/bsd-games/bsd-games.getline.diff +gzip ./source/y/bsd-games/bsd-games.fortunepath.diff +gzip ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff +gzip ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff +gzip ./source/xap/imagemagick/policy.xml.diff +gzip ./source/xap/imagemagick/doinst.sh +gzip ./source/xap/gparted/doinst.sh +gzip ./source/xap/xscreensaver/xscreensaver.setuid.diff +gzip ./source/xap/xscreensaver/xscreensaver.no.expiration.date.diff +gzip ./source/xap/xscreensaver/xscreensaver.electricsheep.diff +gzip ./source/xap/xscreensaver/setuid.c +gzip ./source/xap/blackbox/blackbox-0.70.1-gcc-4.3.patch +gzip ./source/xap/blackbox/xinitrc.blackbox +gzip ./source/xap/blackbox/textpropertytostring-unconditional.diff +gzip ./source/xap/blackbox/startblackbox +gzip ./source/xap/hexchat/doinst.sh +gzip ./source/xap/fluxbox/fluxbox.startfluxbox.dbus.diff +gzip ./source/xap/fluxbox/xinitrc.fluxbox +gzip ./source/xap/fvwm/doinst.sh +gzip ./source/xap/fvwm/xinitrc.fvwm2 +gzip ./source/xap/fvwm/startfvwm2 +gzip ./source/xap/x3270/doinst.sh +gzip ./source/xap/pidgin/doinst.sh +gzip ./source/xap/pidgin/fix-gmain_h-compile-error.diff +gzip ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff +gzip ./source/xap/windowmaker/wmaker.inst.diff +gzip ./source/xap/windowmaker/xinitrc.wmaker +gzip ./source/xap/windowmaker/wmmenugen.c.diff +gzip ./source/xap/network-manager-applet/doinst.sh +gzip ./source/xap/seamonkey/doinst.sh +gzip ./source/xap/xpdf/doinst.sh +gzip ./source/xap/xpdf/patches/xpdfrc.diff +gzip ./source/xap/xpdf/lang/xpdf-korean.diff +gzip ./source/xap/xpdf/lang/xpdf-turkish.diff +gzip ./source/xap/xpdf/lang/xpdf-chinese-traditional.diff +gzip ./source/xap/xpdf/lang/xpdf-cyrillic.diff +gzip ./source/xap/xpdf/lang/xpdf-thai.diff +gzip ./source/xap/xpdf/lang/xpdf-latin2.diff +gzip ./source/xap/xpdf/lang/xpdf-hebrew.diff +gzip ./source/xap/xpdf/lang/xpdf-chinese-simplified.diff +gzip ./source/xap/xpdf/lang/xpdf-greek.diff +gzip ./source/xap/xpdf/lang/xpdf-arabic.diff +gzip ./source/xap/xpdf/lang/xpdf-japanese.diff +gzip ./source/xap/MPlayer/MPlayer.demux_lavf.flac.diff +gzip ./source/xap/MPlayer/include-samba-4.0.patch +gzip ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch +gzip ./source/xap/ddd/doinst.sh +gzip ./source/xap/ddd/strclass.C.diff +gzip ./source/xap/ddd/machine_code_window_fix.diff +gzip ./source/xap/blueman/doinst.sh +gzip ./source/xap/blueman/0002-NetConf-Treat-UnicodeDecodeError-as-if-there-was-no-.patch +gzip ./source/xap/blueman/0001-Notification-Also-check-if-notification-daemon-suppo.patch +gzip ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff +gzip ./source/xap/mozilla-firefox/mimeTypes.rdf +gzip ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff +gzip ./source/xap/xaos/xaos.x86.registers.diff +gzip ./source/xap/xaos/xaos.6 +gzip ./source/xap/pan/pan.gcc47.diff +gzip ./source/xap/rxvt/rxvt.utempter.diff +gzip ./source/xap/geeqie/doinst.sh +gzip ./source/xap/xv/xv-3.10a.patch +gzip ./source/xap/xv/xv.prefix.diff +gzip ./source/xap/xv/xv-libpng-1.5.patch +gzip ./source/xap/xv/xv.prefix_x86_64.diff +gzip ./source/xap/xv/xv.jasper.diff +gzip ./source/xap/sane/doinst.sh +gzip ./source/xap/sane/dll.conf.additions +gzip ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff +gzip ./source/xap/audacious/doinst.sh +gzip ./source/xap/xmms/xmms.gtk.doublesize.diff +gzip ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff +gzip ./source/xap/xmms/xmms.alsa.default.diff +gzip ./source/xap/seyon/seyon_2.20c-16.diff +gzip ./source/xap/electricsheep/electricsheep.mplayer.diff +gzip ./source/xap/gnuchess/doinst.sh +gzip ./source/xap/gnuchess/eboard.png16.diff +gzip ./source/xap/gnuchess/xboard.conf.diff +gzip ./source/xap/gnuchess/eboard.ldl.diff +gzip ./source/xap/gnuchess/eboard.assert.diff +gzip ./source/xap/xsane/xsane-0.995-close-fds.patch +gzip ./source/xap/xsane/xsane-0.998-preview-selection.patch +gzip ./source/xap/xsane/xsane-0.999-lcms2.patch +gzip ./source/xap/xsane/xsane-0.995-xdg-open.patch +gzip ./source/xap/xsane/xsane-0.999-pdf-no-high-bpp.patch +gzip ./source/xap/xsane/xsane-0.997-ipv6.patch +gzip ./source/xap/xsane/xsane-0.999-7-autoconf.patch +gzip ./source/xap/xsane/xsane-0.999-coverity.patch +gzip ./source/xap/xsane/xsane-0.996-no-eula.patch +gzip ./source/xap/xsane/xsane-0.999-no-file-selected.patch +gzip ./source/xap/xsane/xsane-0.999-snprintf-update.patch +gzip ./source/xap/xsane/xsane-0.998-libpng.patch +gzip ./source/xap/xsane/xsane-0.999-man-page.patch +gzip ./source/xap/xsane/xsane-0.998-wmclass.patch +gzip ./source/xap/xsane/xsane-0.999-signal-handling.patch +gzip ./source/xap/xsane/xsane-0.997-off-root-build.patch +gzip ./source/xap/xsane/xsane-0.998-desktop-file.patch +gzip ./source/xap/pavucontrol/doinst.sh +gzip ./source/xap/pavucontrol/replace-gtk-stock-lock-icon.diff +gzip ./source/xap/gkrellm/gkrellm.theme.defaults.diff +gzip ./source/xap/xgames/xcolormap.diff +gzip ./source/xap/xgames/xlander-2009-07-18.diff +gzip ./source/xap/xgames/spider.diff +gzip ./source/xap/xgames/xlander.fixes.diff +gzip ./source/xap/xgames/maze.diff +gzip ./source/xap/xgames/xcuckoo.diff +gzip ./source/xap/xlockmore/xlockmore.bitmap.diff +gzip ./source/xap/gucharmap/doinst.sh +gzip ./source/xap/gftp/gftp.desktop +gzip ./source/xap/gv/gv-xft.patch +gzip ./source/xfce/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.2.4-gtk3_theme_clean.patch +gzip ./source/xfce/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.2.4-gtk3_theme.patch +gzip ./source/xfce/Thunar/0001-Deactivate-SEND_MOVED-code-paths.patch +gzip ./source/xfce/xfce4-settings/xfce.xfsettingsd.display.crtc.diff +gzip ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff +gzip ./source/xfce/xfce4-settings/xfce4-settings.theme.diff +gzip ./source/xfce/xfce4-panel/libxfce4panel.max_blinking_count.8.diff +gzip ./source/xfce/xfce4-notifyd/doinst.sh +gzip ./source/xfce/xfce4-taskmanager/doinst.sh +gzip ./source/xfce/xfce4-power-manager/doinst.sh +gzip ./source/xfce/xfce4-clipman-plugin/doinst.sh +gzip ./source/xfce/xfce4-screenshooter/doinst.sh +gzip ./source/d/binutils/patches/binutils-2.20.51.0.10-sec-merge-emit.patch +gzip ./source/d/binutils/patches/binutils-2.26-fix-compile-warnings.patch +gzip ./source/d/binutils/patches/binutils-2.25-version.patch +gzip ./source/d/binutils/patches/binutils-2.23.52.0.1-addr2line-dynsymtab.patch +gzip ./source/d/binutils/patches/binutils-rh1312151.patch +gzip ./source/d/binutils/patches/binutils-2.20.51.0.10-ppc64-pie.patch +gzip ./source/d/binutils/patches/binutils-2.24-ldforcele.patch +gzip ./source/d/binutils/patches/binutils-2.20.51.0.10-copy-osabi.patch +gzip ./source/d/binutils/patches/binutils-2.26-formatting.patch +gzip ./source/d/binutils/patches/binutils-2.20.51.0.2-libtool-lib64.patch +gzip ./source/d/binutils/patches/binutils.no-config-h-check.diff +gzip ./source/d/binutils/patches/binutils-2.25.1-cleansweep.patch +gzip ./source/d/binutils/patches/binutils-2.25-set-long-long.patch +gzip ./source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch +gzip ./source/d/binutils/patches/binutils-2.26-fix-GOT-offset-calculation.patch +gzip ./source/d/binutils/patches/binutils.export.demangle.h.diff +gzip ./source/d/binutils/patches/binutils-2.26-lto.patch +gzip ./source/d/binutils/patches/binutils-2.26-Bsymbolic_PIE.patch +gzip ./source/d/python/python.x86_64.diff +gzip ./source/d/python/python.no-static-library.diff +gzip ./source/d/python/python.readline.set_pre_input_hook.diff +gzip ./source/d/p2c/p2c_time.diff +gzip ./source/d/p2c/p2c.examples.diff +gzip ./source/d/p2c/p2c_1.21alpha2-2.1.diff +gzip ./source/d/automake/doinst.sh +gzip ./source/d/automake/automake-1.15-perl-escape-curly-bracket.patch +gzip ./source/d/libtool/doinst.sh +gzip ./source/d/libtool/libtool.no.moved.warning.diff +gzip ./source/d/llvm/clang.toolchains.i586.triple.diff +gzip ./source/d/intltool/intltool-0.51.0-perl-5.22.patch +gzip ./source/d/distcc/doinst.sh +gzip ./source/d/autoconf/doinst.sh +gzip ./source/d/clisp/ffcall-arm.patch +gzip ./source/d/perl/perl.configure.multilib.patch +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/pkg-config/doinst.sh +gzip ./source/d/mercurial/doinst.sh +gzip ./source/d/gcc/gcc-no_fixincludes.diff +gzip ./source/d/gcc/gcc.69140.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.66782.diff +gzip ./source/d/cvs/cvs.crypt-2.diff +gzip ./source/d/cvs/cvs.getline64.diff +gzip ./source/kde/patch/plasma-nm/plasma-nm.nm.diff +gzip ./source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch +gzip ./source/kde/patch/kdelibs/coding-style-fixes.patch +gzip ./source/kde/patch/kdelibs/return-application-icons-properly.patch +gzip ./source/kde/patch/kdelibs/kdelibs.docbook.patch +gzip ./source/kde/patch/kdelibs/kdelibs.upnp_conditional.patch +gzip ./source/kde/patch/krdc/krdc_freerdp-1.1.0.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/kde-workspace/kde-workspace.panel-layout.diff +gzip ./source/kde/patch/kde-runtime/kde-runtime-4.14.3.nm.diff +gzip ./source/kde/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch +gzip ./source/kde/patch/ktouch/ktouch.performance.diff +gzip ./source/kde/patch/kdewebdev/include-tidy.patch +gzip ./source/kde/patch/kdepim/kdepim-install_kleopatra_headers.patch +gzip ./source/kde/patch/libkscreen/libkscreen.broken.test.diff +gzip ./source/kde/patch/strigi-multimedia/strigi-multimedia_port.patch +gzip ./source/kde/patch/kdeconnect-kde/kdeconnect-kde.openssh7.diff +gzip ./source/kde/patch/kscreen/kscreen.broken.test.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/a/tar/tar.nolonezero.diff +gzip ./source/a/tar/tar-1.13.bzip2.diff +gzip ./source/a/less/lesspipe.sh +gzip ./source/a/file/file.etc.file.diff +gzip ./source/a/file/file.crdaregbin.magic +gzip ./source/a/file/doinst.sh +gzip ./source/a/file/file.short.diff +gzip ./source/a/file/file.quiet.diff +gzip ./source/a/file/file.xz.magic +gzip ./source/a/file/file.zisofs.magic +gzip ./source/a/file/recompile_magic.mgc.sh +gzip ./source/a/slocate/slocate.bigfile.diff +gzip ./source/a/slocate/slocate.CVE-2007-0277.diff +gzip ./source/a/mdadm/doinst.sh +gzip ./source/a/smartmontools/doinst.sh +gzip ./source/a/mcelog/mcelog.init.diff +gzip ./source/a/mcelog/doinst.sh +gzip ./source/a/gpm/mouseconfig +gzip ./source/a/gpm/gpm-1.20.1-select-1.patch +gzip ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch +gzip ./source/a/gpm/gpm-1.20.5-close-fds.patch +gzip ./source/a/gpm/gpm-1.20.1-lib-silent.patch +gzip ./source/a/gpm/inputattach.c +gzip ./source/a/gpm/setup.mouse +gzip ./source/a/udisks/udisks.no.pci-db.diff +gzip ./source/a/findutils/findutils.nolocate.diff +gzip ./source/a/findutils/findutils.no.default.options.warnings.diff +gzip ./source/a/dcron/doinst.sh +gzip ./source/a/dcron/defs.h._DEFAULT_SOURCE.diff +gzip ./source/a/dcron/defs.h.TMPDIR.diff +gzip ./source/a/dcron/run-parts.8 +gzip ./source/a/dcron/dcron.update.during.long.running.jobs.diff +gzip ./source/a/dcron/crontab.c.O_EXCL.diff +gzip ./source/a/dcron/crontab.root +gzip ./source/a/dcron/run-parts +gzip ./source/a/usb_modeswitch/doinst.sh +gzip ./source/a/usb_modeswitch/device_reference.txt +gzip ./source/a/floppy/fdutils-5.5-20081027.diff +gzip ./source/a/floppy/fdutils.mediaprm.diff +gzip ./source/a/rpm2tgz/patches/0008-Avoid-none-values-in-slack-desc.patch +gzip ./source/a/rpm2tgz/patches/0009-Add-c-option-just-as-makepkg-c-y.patch +gzip ./source/a/rpm2tgz/patches/0004-produce-more-compliant-slack-desc.patch +gzip ./source/a/rpm2tgz/patches/0005-gzip-man-info-pages.patch +gzip ./source/a/rpm2tgz/patches/0001-fix-d-handling.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/0003-allow-every-user-to-use-rpm2tgz.patch +gzip ./source/a/rpm2tgz/patches/0007-Add-support-for-.txz-packages-and-rpm2txz-symlink.patch +gzip ./source/a/coreutils/DIR_COLORS +gzip ./source/a/coreutils/doinst.sh +gzip ./source/a/coreutils/coreutils-dircolors.csh +gzip ./source/a/coreutils/coreutils.uname.diff +gzip ./source/a/coreutils/no_ls_quoting.patch +gzip ./source/a/coreutils/coreutils-dircolors.sh +gzip ./source/a/util-linux/ziptool-fix_build.patch +gzip ./source/a/util-linux/doinst.sh +gzip ./source/a/util-linux/net-tools.config.h +gzip ./source/a/util-linux/setserial-rc.serial.diff +gzip ./source/a/util-linux/adjtimex_1.29-2.2.diff +gzip ./source/a/util-linux/bsdstrings-util-linux_overflow.diff +gzip ./source/a/util-linux/util-linux.fdisk-no-solaris.diff +gzip ./source/a/util-linux/setserial-undef_TIOCGHAYESESP.diff +gzip ./source/a/getty-ps/getty.bugfixes.diff +gzip ./source/a/lilo/lilo.ignore.usable.memory.above.4G.diff +gzip ./source/a/infozip/unzip.process.c.diff +gzip ./source/a/infozip/unzip.use.system.libbz2.diff +gzip ./source/a/infozip/unzip.git.archive.fix.diff +gzip ./source/a/elvis/elvis.ref.c.getline.diff +gzip ./source/a/genpower/genpower.var.diff +gzip ./source/a/genpower/genpower.halt.diff +gzip ./source/a/lha/lha_1.14i-10.1.diff +gzip ./source/a/quota/quota.lwrap.needs.lnsl.diff +gzip ./source/a/acpid/default +gzip ./source/a/acpid/doinst.sh +gzip ./source/a/acpid/acpi_handler.sh +gzip ./source/a/acpid/rc.acpid +gzip ./source/a/efibootmgr/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch +gzip ./source/a/efibootmgr/efibootmgr-0.5.4-support-4k-sectors.patch +gzip ./source/a/efibootmgr/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch +gzip ./source/a/efibootmgr/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch +gzip ./source/a/e2fsprogs/doinst.sh +gzip ./source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff +gzip ./source/a/eject/eject.spaces.diff +gzip ./source/a/eject/eject.CDROM_DRIVE_STATUS.diff +gzip ./source/a/minicom/doinst.sh +gzip ./source/a/minicom/minicom.users +gzip ./source/a/minicom/config.sub-x86_64.diff +gzip ./source/a/minicom/lrzsz_0.12.21-5.diff +gzip ./source/a/bash/doinst.sh +gzip ./source/a/upower/doinst.sh +gzip ./source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch +gzip ./source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch +gzip ./source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch +gzip ./source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch +gzip ./source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch +gzip ./source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch +gzip ./source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch +gzip ./source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch +gzip ./source/a/sysvinit/doinst.sh +gzip ./source/a/sysvinit/sysvinit.paths.diff +gzip ./source/a/eudev/0001-Remove-obsolete-udev_root-references.patch +gzip ./source/a/eudev/doinst.sh +gzip ./source/a/eudev/60-cdrom_id.rules.diff +gzip ./source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch +gzip ./source/a/dosfstools/dosfstools.paths.diff +gzip ./source/a/mt-st/mt-st.sdlt.diff +gzip ./source/a/mt-st/mt-st.config.diff +gzip ./source/a/mt-st/mt-st.man.diff +gzip ./source/a/udisks2/doinst.sh +gzip ./source/a/sysklogd/sysklogd.allow.repeated.messages.diff +gzip ./source/a/sysklogd/doinst.sh +gzip ./source/a/sysklogd/use_memmove_not_strcpy.diff +gzip ./source/a/utempter/doinst.sh +gzip ./source/a/unarj/Makefile +gzip ./source/a/lrzip/doinst.sh +gzip ./source/a/pciutils/pciutils.dontcompress.diff +gzip ./source/a/etc/termcap-BSD +gzip ./source/a/etc/nsswitch.conf +gzip ./source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff +gzip ./source/a/bzip2/bzip2.saneso.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.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/kbd/sources/kbd-1.15-resizecon-x86_64.patch +gzip ./source/a/kbd/sources/nl.euro.diff +gzip ./source/a/devs/makedev_2.3.1.slack.diff +gzip ./source/a/devs/makedev.hd.diff +gzip ./source/a/devs/makedev_2.3.1-46.2.diff +gzip ./source/a/devs/makedev_2.3.1.hd.diff +gzip ./source/a/logrotate/doinst.sh +gzip ./source/a/logrotate/logrotate.cron +gzip ./source/a/logrotate/logrotate.slackware.diff +gzip ./source/a/logrotate/logrotate.conf +gzip ./source/a/sysvinit-scripts/doinst.sh +gzip ./source/a/dialog/dialog.smaller.min.height.diff +gzip ./source/a/glibc-zoneinfo/doinst.sh +gzip ./source/a/lvm2/doinst.sh +gzip ./source/a/lvm2/create-dm-run-dir.diff +gzip ./source/a/splitvt/splitvt_1.6.5-9.diff +gzip ./source/a/tcsh/doinst.sh +gzip ./source/a/tcsh/tcsh.nobuiltincolorls.diff +gzip ./source/a/shadow/shadow.CVE-2005-4890.relax.diff +gzip ./source/a/shadow/useradd +gzip ./source/a/shadow/doinst.sh +gzip ./source/a/shadow/login.defs +gzip ./source/a/pcmciautils/doinst.sh +gzip ./source/a/bin/scripts/xx +gzip ./source/a/bin/scripts/diskcopy +gzip ./source/a/sysvinit-functions/doinst.sh +gzip ./source/a/isapnptools/isapnptools_1.26-5.diff +gzip ./source/a/grub/initrd_naming.patch +gzip ./source/a/grub/doinst.sh +gzip ./source/a/grub/txtHRnXiHYUrM.txt +gzip ./source/a/grub/grub.dejavusansmono.gfxterm.font.diff +gzip ./source/a/grub/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff +gzip ./source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch +gzip ./source/a/dbus/dbus-1.10.x-allow_root_globally.diff +gzip ./source/a/dbus/doinst.sh +gzip ./source/a/dbus/rc.messagebus +gzip ./source/a/os-prober/os-prober.reiserfs.diff +gzip ./source/a/libcgroup/doinst.sh +gzip ./source/a/libcgroup/libcgroup.conf.diff +gzip ./source/a/libcgroup/libcgroup.init.diff +gzip ./source/installer/busybox.wget.P.diff +gzip ./source/installer/busybox.2.6.32.2.diff +gzip ./source/installer/dhcpcd/config.h.diff +gzip ./source/installer/dhcpcd/dhcpcd.sh.diff +gzip ./source/installer/busybox.glibc217.diff +gzip ./source/installer/busybox.fix.perms.64bit.platforms.diff +gzip ./source/ap/ghostscript-fonts-std/doinst.sh +gzip ./source/ap/jove/jove.makefile.diff +gzip ./source/ap/nano/doinst.sh +gzip ./source/ap/dmidecode/patches/0007-Let-read_file-return-the-actual-data-size.patch +gzip ./source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch +gzip ./source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch +gzip ./source/ap/dmidecode/patches/0006-dmidecode-Introduce-SYS_FIRMWARE_DIR.patch +gzip ./source/ap/dmidecode/patches/0002-Avoid-SIGBUS-on-mmap-failure.patch +gzip ./source/ap/dmidecode/patches/0001-Add-no-sysfs-option-description-to-h-output.patch +gzip ./source/ap/dmidecode/patches/0008-dmidecode-Use-read_file-to-read-the-DMI-table-from-s.patch +gzip ./source/ap/dmidecode/patches/0009-dmidecode-Check-sysfs-entry-point-length.patch +gzip ./source/ap/dmidecode/patches/0004-dmidecode-Handle-OEM-specific-types-in-group-associa.patch +gzip ./source/ap/cgmanager/doinst.sh +gzip ./source/ap/cgmanager/cgmanager-0.39-remove-pam-requirement.patch +gzip ./source/ap/dvd+rw-tools/dvd+rw-tools.limits.h.diff +gzip ./source/ap/sysstat/doinst.sh +gzip ./source/ap/soma/doinst.sh +gzip ./source/ap/slackpkg/doinst.sh +gzip ./source/ap/slackpkg/files/dialog-functions.sh +gzip ./source/ap/slackpkg/files/slackpkg +gzip ./source/ap/slackpkg/files/post-functions.sh +gzip ./source/ap/slackpkg/files/filelist.awk +gzip ./source/ap/slackpkg/files/mirrors-x86_64.sample +gzip ./source/ap/slackpkg/files/GPL +gzip ./source/ap/slackpkg/files/README +gzip ./source/ap/slackpkg/files/mirrors-x86.sample +gzip ./source/ap/slackpkg/files/mirrors-arm.sample +gzip ./source/ap/slackpkg/files/blacklist.new +gzip ./source/ap/slackpkg/files/ChangeLog +gzip ./source/ap/slackpkg/files/slackpkg.8 +gzip ./source/ap/slackpkg/files/install-new.awk +gzip ./source/ap/slackpkg/files/core-functions.sh +gzip ./source/ap/slackpkg/files/cutpkg.awk +gzip ./source/ap/slackpkg/files/mirrors-s390.sample +gzip ./source/ap/slackpkg/files/pkglist.awk +gzip ./source/ap/slackpkg/files/slackpkg.conf.5 +gzip ./source/ap/slackpkg/files/slackpkg.conf.new +gzip ./source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch +gzip ./source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch +gzip ./source/ap/pm-utils/patches/log-line-spacing-fix.patch +gzip ./source/ap/pm-utils/patches/init-logfile-append.patch +gzip ./source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch +gzip ./source/ap/pm-utils/patches/hook-exit-code-log.patch +gzip ./source/ap/a2ps/psutils.diff +gzip ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff +gzip ./source/ap/a2ps/a2ps.diff +gzip ./source/ap/a2ps/psutils.destdir.diff +gzip ./source/ap/hplip/doinst.sh +gzip ./source/ap/hplip/hplip.no.upgrade.diff +gzip ./source/ap/hplip/setup.py.lc_all.c.diff +gzip ./source/ap/cups-filters/doinst.sh +gzip ./source/ap/man-pages/doinst.sh +gzip ./source/ap/zsh/doinst.sh +gzip ./source/ap/sqlite/COPYRIGHT +gzip ./source/ap/usbmuxd/doinst.sh +gzip ./source/ap/usbmuxd/39-usbmuxd.rules +gzip ./source/ap/man/man-1.6f.nroff.mandoc.diff +gzip ./source/ap/man/doinst.sh +gzip ./source/ap/man/makewhatis.bzcat.bugfix.diff +gzip ./source/ap/ash/patches/ash-echo.patch +gzip ./source/ap/ash/patches/ash-jobs.patch +gzip ./source/ap/ash/patches/ash-test.patch +gzip ./source/ap/ash/patches/ash-sighup.patch +gzip ./source/ap/ash/patches/ash-getcwd.patch +gzip ./source/ap/ash/patches/ash-misc.patch +gzip ./source/ap/ash/patches/ash-manpage.patch +gzip ./source/ap/ash/patches/ash-freebsd.patch +gzip ./source/ap/ash/patches/ash-memout.patch +gzip ./source/ap/ash/patches/ash-ppid.patch +gzip ./source/ap/ash/patches/ash-syntax.patch +gzip ./source/ap/ash/patches/ash-setmode.patch +gzip ./source/ap/ash/patches/ash-debian.patch +gzip ./source/ap/ash/patches/ash-redir.patch +gzip ./source/ap/ash/patches/ash-times.patch +gzip ./source/ap/ash/patches/ash-builtin.patch +gzip ./source/ap/ash/patches/ash-kill.patch +gzip ./source/ap/ash/patches/ash-glob.patch +gzip ./source/ap/ash/patches/ash-hetio.patch +gzip ./source/ap/ash/patches/ash-getopt.patch +gzip ./source/ap/ash/patches/ash-makefile.patch +gzip ./source/ap/at/doinst.sh +gzip ./source/ap/groff/groff.man.mdoc.local +gzip ./source/ap/mc/mc-3605-extfs.c-fix-buffer-overflow.patch +gzip ./source/ap/mc/mc-3611-fish-fix-perl-ls-helper.patch +gzip ./source/ap/mc/mc-syntax-error.patch +gzip ./source/ap/mc/mc.image.sh.geeqie.diff +gzip ./source/ap/cdrdao/cdrdao-1.2.3-stat.patch +gzip ./source/ap/amp/amp-gcc34.diff +gzip ./source/ap/madplay/madplay-0.15.2b-fix-segfault.patch +gzip ./source/ap/screen/26source_encoding.patch +gzip ./source/ap/screen/screen.no_libelf.diff +gzip ./source/ap/screen/58-show-encoding-hardstatus.patch +gzip ./source/ap/screen/45suppress_remap.patch +gzip ./source/ap/screen/52fix_screen_utf8_nfd.patch +gzip ./source/ap/mariadb/rc.mysqld +gzip ./source/ap/mariadb/doinst.sh +gzip ./source/ap/workbone/workbone.1.diff +gzip ./source/ap/workbone/workbone_2.40-9.diff +gzip ./source/ap/vim/vim.vimrc.diff +gzip ./source/ap/vim/doinst.sh +gzip ./source/ap/sc/sc-7.16-3.diff +gzip ./source/ap/ksh93/patches/ksh-20120801-memlik.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-roundit.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-manfix4.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-forkbomb.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-heresub.patch +gzip ./source/ap/ksh93/patches/ksh-20100621-manfix3.patch +gzip ./source/ap/ksh93/patches/ksh-20080202-manfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-argvfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-mtty.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-oldenvinit.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-macro.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-cdfix2.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-covsfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-nohupfork.patch +gzip ./source/ap/ksh93/patches/ksh-20140929-safefd.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-retfix.patch +gzip ./source/ap/ksh93/patches/ksh-20140415-hokaido.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-rmdirfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-cdfix.patch +gzip ./source/ap/ksh93/patches/ksh-20100202-pathvar.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-crash.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-cdfork.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-nomulti.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-fd2lost.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-tpstl.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-emptyarrayinit.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-noexeccdfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-alarmifs.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-cdfix3.patch +gzip ./source/ap/ksh93/patches/ksh-20140301-fikspand.patch +gzip ./source/ap/ksh93/patches/ksh-20130628-longer.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-sufix.patch +gzip ./source/ap/ksh93/patches/ksh-20070328-builtins.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-lexfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-fununset.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-locking.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-kshmfix.patch +gzip ./source/ap/ksh93/patches/ksh-20130613-cdfix4.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-xufix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-trapcom.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-filecomsubst.patch +gzip ./source/ap/ksh93/patches/ksh-20130214-fixkill.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-diskfull.patch +gzip ./source/ap/ksh93/patches/ksh-20140801-arraylen.patch +gzip ./source/ap/ksh93/patches/ksh-20100826-fixregr.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-memlik3.patch +gzip ./source/ap/ksh93/patches/ksh-20100621-fdstatus.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-tabfix.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch +gzip ./source/ap/ksh93/patches/ksh-20120801-assoc-unset-leak.patch +gzip ./source/ap/flac/flac.man.diff +gzip ./source/ap/libx86/libx86-mmap-offset.patch +gzip ./source/ap/libx86/libx86-add-pkgconfig.patch +gzip ./source/ap/seejpeg/seejpeg-1.10.diff +gzip ./source/ap/ghostscript/cidfmap +gzip ./source/ap/acct/acct.logdir.fhs.diff +gzip ./source/ap/acct/581421-sa-hz-division.patch +gzip ./source/ap/alsa-utils/alsa-utils.alsaconf.diff +gzip ./source/ap/alsa-utils/doinst.sh +gzip ./source/ap/alsa-utils/rc.alsa-oss +gzip ./source/ap/alsa-utils/rc.alsa +gzip ./source/ap/texinfo/doinst.sh +gzip ./source/ap/texinfo/dir +gzip ./source/ap/terminus-font/doinst.sh +gzip ./source/ap/terminus-font/terminus-font.Makefile.paths.diff +gzip ./source/ap/diffutils/diffutils-sdiff-no-waitpid.patch +gzip ./source/ap/diffutils/doinst.sh +gzip ./source/ap/diffutils/diffutils.mkdir_p.diff +gzip ./source/ap/gutenprint/doinst.sh +gzip ./source/ap/sudo/doinst.sh +gzip ./source/ap/rpm/doinst.sh +gzip ./source/ap/rpm/Packages +gzip ./source/ap/cdrtools/doinst.sh +gzip ./source/ap/cdrtools/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch +gzip ./source/ap/ispell/ispell.diff +gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch +gzip ./source/ap/cups/doinst.sh +gzip ./source/t/xfig/xfig-3.2.5c.paths.diff +gzip ./source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff +gzip ./source/t/xfig/xfig.no.xfig_ref_en.pdf.diff +gzip ./source/t/xfig/xfig.fig.ad.diff +gzip ./source/t/xfig/xfig.no.pdf.ref.diff +gzip ./source/t/tetex/tetex.cpascal.getline.posix.2008.diff +gzip ./source/t/tetex/tetex.fontcachedirinhome.diff +gzip ./source/t/tetex/tetex.browsers.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.etex.diff +gzip ./source/t/tetex/tetex.tmp.cleanup.diff +gzip ./source/t/tetex/tetex.leet.diff +gzip ./source/t/tetex/tetex.png14.diff +gzip ./source/t/tetex/tetex.var.fonts.diff +gzip ./source/t/tetex/tetex.scripts.mktemp.diff +gzip ./source/t/tetex/tetex.CVE-2005-3193.diff +gzip ./source/t/tetex/tetex.png16.diff +gzip ./source/t/transfig/transfig.diff +gzip ./patches/source/ntp/ntp.nano.diff +gzip ./patches/source/ntp/doinst.sh +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/xscreensaver/xscreensaver.setuid.diff +gzip ./patches/source/xscreensaver/xscreensaver.no.expiration.date.diff +gzip ./patches/source/xscreensaver/xscreensaver.electricsheep.diff +gzip ./patches/source/xscreensaver/setuid.c +gzip ./patches/source/sdl/libsdl-1.2.15-resizing.patch +gzip ./patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch +gzip ./patches/source/sdl/SDL_ttf.shaded.text.diff +gzip ./patches/source/sdl/SDL_mixer.usrlocal.diff +gzip ./patches/source/lynx/doinst.sh +gzip ./patches/source/lynx/lynx.cfg.diff +gzip ./patches/source/php/php-fpm.conf.diff +gzip ./patches/source/php/doinst.sh +gzip ./patches/source/php/php.ini-development.diff +gzip ./patches/source/python/python.x86_64.diff +gzip ./patches/source/python/python.no-static-library.diff +gzip ./patches/source/python/python.readline.set_pre_input_hook.diff +gzip ./patches/source/pidgin/doinst.sh +gzip ./patches/source/pidgin/fix-gmain_h-compile-error.diff +gzip ./patches/source/irssi/doinst.sh +gzip ./patches/source/openvpn/doinst.sh +gzip ./patches/source/rpcbind/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch +gzip ./patches/source/rpcbind/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch +gzip ./patches/source/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch +gzip ./patches/source/rpcbind/doinst.sh +gzip ./patches/source/rpcbind/rpcbind.lwrap.needs.lnsl.diff +gzip ./patches/source/rpcbind/01.rpcbind-manpage-statefile-explanation.patch +gzip ./patches/source/rpcbind/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch +gzip ./patches/source/rpcbind/0004-rpcbind-fix-building-without-enable-debug.patch +gzip ./patches/source/rpcbind/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch +gzip ./patches/source/rpcbind/rc.rpc +gzip ./patches/source/bluez/doinst.sh +gzip ./patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch +gzip ./patches/source/ca-certificates/doinst.sh +gzip ./patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff +gzip ./patches/source/ca-certificates/patches/fixup_DESTDIR.diff +gzip ./patches/source/libtool/doinst.sh +gzip ./patches/source/libtool/libtool.no.moved.warning.diff +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/gegl/gegl-0.2.0-CVE-2012-4433.patch +gzip ./patches/source/gegl/gegl-0.2.0-lua-5.2.patch +gzip ./patches/source/gegl/gegl-0.2.0-libopenraw.patch +gzip ./patches/source/dhcp/doinst.sh +gzip ./patches/source/dhcp/dhclient-script.PATH.diff +gzip ./patches/source/network-manager-applet/doinst.sh +gzip ./patches/source/seamonkey/doinst.sh +gzip ./patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13721.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12184_12185_12186_12187.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch +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-12179_p2.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12177.diff +gzip ./patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.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-10971.diff +gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12178.diff +gzip ./patches/source/libsoup/libsoup.CVE-2017-2885.diff +gzip ./patches/source/libxml2/libxml2.do-not-check-crc.diff +gzip ./patches/source/emacs/doinst.sh +gzip ./patches/source/httpd/httpd.runasapache.diff +gzip ./patches/source/httpd/doinst.sh +gzip ./patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch +gzip ./patches/source/freetype/freetype.CVE-2017-8287.diff +gzip ./patches/source/freetype/freetype.illadvisederror.diff +gzip ./patches/source/freetype/freetype.subpixel.rendering.diff +gzip ./patches/source/kdelibs/patch/kdelibs/return-not-break.-copy-paste-error.patch +gzip ./patches/source/kdelibs/patch/kdelibs/coding-style-fixes.patch +gzip ./patches/source/kdelibs/patch/kdelibs/return-application-icons-properly.patch +gzip ./patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch +gzip ./patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch +gzip ./patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch +gzip ./patches/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch +gzip ./patches/source/mozilla-firefox/build-with-clang.diff +gzip ./patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff +gzip ./patches/source/mozilla-firefox/mimeTypes.rdf +gzip ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff +gzip ./patches/source/mozilla-firefox/autoconf/autoconf-2.13-consolidated_fixes-1.patch +gzip ./patches/source/stunnel/doinst.sh +gzip ./patches/source/libzip/libzip.CVE-2017-14107.diff +gzip ./patches/source/NetworkManager/doinst.sh +gzip ./patches/source/rxvt/rxvt-integer-overflow-fix.patch +gzip ./patches/source/rxvt/rxvt.utempter.diff +gzip ./patches/source/openexr/openexr.CVE-2017-9110-to-9116.patch +gzip ./patches/source/minicom/doinst.sh +gzip ./patches/source/minicom/minicom.users +gzip ./patches/source/minicom/config.sub-x86_64.diff +gzip ./patches/source/minicom/lrzsz_0.12.21-5.diff +gzip ./patches/source/samba/samba-4.4.16-CVE-2018-1057.patch +gzip ./patches/source/samba/smb.conf.diff +gzip ./patches/source/samba/doinst.sh +gzip ./patches/source/samba/samba.install.talloc.tevent.tdb.diff +gzip ./patches/source/samba/samba-4.5.14-security-2017-11-21.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch +gzip ./patches/source/libwmf/libwmf.png14.diff +gzip ./patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.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-10167.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch +gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch +gzip ./patches/source/bash/doinst.sh +gzip ./patches/source/screen/26source_encoding.patch +gzip ./patches/source/screen/screen.no_libelf.diff +gzip ./patches/source/screen/58-show-encoding-hardstatus.patch +gzip ./patches/source/screen/60-revert-screenrc-change.diff +gzip ./patches/source/screen/45suppress_remap.patch +gzip ./patches/source/screen/52fix_screen_utf8_nfd.patch +gzip ./patches/source/wpa_supplicant/doinst.sh +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-0004-Prevent-installation-of-an-all-zero-TK.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-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch +gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch +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-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.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/wget/doinst.sh +gzip ./patches/source/mariadb/rc.mysqld +gzip ./patches/source/mariadb/doinst.sh +gzip ./patches/source/openjpeg/openjpeg2_remove-thirdparty.patch +gzip ./patches/source/intltool/no-guess-builddir.diff +gzip ./patches/source/intltool/intltool-0.51.0-perl-5.22.patch +gzip ./patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch +gzip ./patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff +gzip ./patches/source/glib2/doinst.sh +gzip ./patches/source/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff +gzip ./patches/source/openssl/certwatch +gzip ./patches/source/openssl/doinst.sh-openssl +gzip ./patches/source/openssl/doinst.sh-openssl-solibs +gzip ./patches/source/squashfs-tools/0004-unsquashfs-add-support-for-LZMA-magics.patch +gzip ./patches/source/squashfs-tools/0006-uptream-fix-race.patch +gzip ./patches/source/squashfs-tools/0007-fix-2GB-limit-in-mksquashfs.patch +gzip ./patches/source/squashfs-tools/0001-kfreebsd.patch +gzip ./patches/source/squashfs-tools/0003-CVE-2015-4645_and_CVE-2015-4646.patch +gzip ./patches/source/squashfs-tools/0002-fix_phys_mem_calculation.patch +gzip ./patches/source/dnsmasq/doinst.sh +gzip ./patches/source/dnsmasq/rc.dnsmasq +gzip ./patches/source/dnsmasq/dnsmasq.leasedir.diff +gzip ./patches/source/gtk+2/fix_build_issues_on_tutorial_and_faq.diff +gzip ./patches/source/gtk+2/doinst.sh +gzip ./patches/source/gtk+2/gtk.gtk-faq.diff +gzip ./patches/source/gtk+2/gtk.gtk-tut.diff +gzip ./patches/source/gtk+2/gtk.xid.nowarningflood.diff +gzip ./patches/source/gtk+2/gtk+-2.24.x.icon-compat.diff +gzip ./patches/source/gtk+2/gtk+-2.24.x.icon-compat.am.diff +gzip ./patches/source/glibc/glibc.locale.no-archive.diff +gzip ./patches/source/glibc/glibc.revert.to.fix.build.breakages.diff +gzip ./patches/source/glibc/glibc.adc7e06f.diff +gzip ./patches/source/glibc/glibc.CVE-2017-1000366.3c7cd212.diff +gzip ./patches/source/glibc/glibc-c-utf8-locale.patch +gzip ./patches/source/glibc/glibc.6a824767.dont.assert.on.older.intel.cpus.diff +gzip ./patches/source/glibc/glibc.make-3.82.diff +gzip ./patches/source/glibc/glibc.c69d4a0f.diff +gzip ./patches/source/glibc/glibc.ru_RU.CP1251.diff +gzip ./patches/source/glibc/is_IS.diff +gzip ./patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff +gzip ./patches/source/glibc/glibc.46703a39.diff +gzip ./patches/source/glibc/glibc.3776f38f.diff +gzip ./patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff +gzip ./patches/source/gkrellm/gkrellm.theme.defaults.diff +gzip ./patches/source/glibc-zoneinfo/doinst.sh +gzip ./patches/source/proftpd/doinst.sh +gzip ./patches/source/libtiff/libtiff-am-version.patch +gzip ./patches/source/sudo/doinst.sh +gzip ./patches/source/bind/doinst.sh +gzip ./patches/source/bind/bind.libidn.patch +gzip ./patches/source/bind/bind.so_bsdcompat.diff +gzip ./patches/source/pkg-config/doinst.sh +gzip ./patches/source/mercurial/doinst.sh +gzip ./patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff +gzip ./patches/source/gcc/gcc-no_fixincludes.diff +gzip ./patches/source/gcc/0007-x86-Add-mindirect-branch-register-doc.diff +gzip ./patches/source/gcc/0005-x86-Add-mindirect-branch-doc.diff +gzip ./patches/source/gcc/0008-x86-Add-V-register-operand-modifier.diff +gzip ./patches/source/gcc/0006-x86-Add-mfunction-return-doc.diff +gzip ./patches/source/gcc/0007-x86-Add-mindirect-branch-register.diff +gzip ./patches/source/gcc/0006-x86-Add-mfunction-return.diff +gzip ./patches/source/gcc/0008-x86-Add-V-register-operand-modifier-doc.diff +gzip ./patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff +gzip ./patches/source/gcc/0005-x86-Add-mindirect-branch.diff +gzip ./patches/source/gcc/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff +gzip ./patches/source/gcc/0001-i386-Move-struct-ix86_frame-to-machine_function.diff +gzip ./patches/source/gcc/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff +gzip ./patches/source/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch +gzip ./patches/source/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch +gzip ./patches/source/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch +gzip ./patches/source/gcc/fastjar-patches/1004-fastjar-man.patch +gzip ./patches/source/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch +gzip ./patches/source/gcc/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff +gzip ./patches/source/libtirpc/doinst.sh +gzip ./patches/source/dbus/dbus-1.10.x-allow_root_globally.diff +gzip ./patches/source/dbus/doinst.sh +gzip ./patches/source/dbus/rc.messagebus +gzip ./patches/source/dbus/dbus.expat222fix.diff +gzip ./patches/source/libcgroup/doinst.sh +gzip ./patches/source/libcgroup/libcgroup.conf.diff +gzip ./patches/source/libcgroup/libcgroup.init.diff gzip ./pasture/source/xfce4-mixer/doinst.sh bzip2 ./source/n/curl/cacert.pem -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/l/gtk+/gtk+1.2_1.2.10-18.diff 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/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff +bzip2 ./source/xap/xv/xv-3.10a-jumbo-additions.diff +bzip2 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt +bzip2 ./patches/source/curl/cacert.pem 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 @@ - - - - - - - - - - - - - - -
-

Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux, -Inc.

- -

Linux is a registered trademark of Linus Torvalds.

- -

America Online and AOL are registered trademarks of America Online, Inc. in the United -States and/or other countries.

- -

Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of -Apple Computer, Inc., registered in the United States and other countries.

- -

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.

- -

IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and -Electronics Engineers, Inc. in the United States.

- -

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.

- -

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.

- -

Netscape and the Netscape Navigator are registered trademarks of Netscape -Communications Corporation in the U.S. and other countries.

- -

Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United -States and other countries.

- -

XFree86 is a trademark of The XFree86 Project, Inc.

- -

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 “™” or the “®” symbol.

-
- - - - - 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 @@ - - - - -bzip2 - - - - - - - - - - - -
-

15.2 bzip2

- -

bzip2(1) is an alternative compression program installed on -Slackware Linux. It uses a different compression algorithm from gzip, which results in some advantages and some disadvantages. The -main advantage for bzip2 is the compressed file size. bzip2 will almost always compress better than gzip. 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 .bz2 files instead of the .gz files, as this results in less overhead for the generous people -hosting the server.

- -

The disadvantage to bzip2 is that it is more CPU intensive -than gzip. 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.

- -

The usage of bzip2 is nearly identical to gzip, so not much time will be spent discussing it. Like gunzip, bunzip2 is identical to bzip2 -d. The primary difference in practical usage is that bzip2 uses the .bz2 extension.

- - - - - -
-
-% bzip2 filename
-% bunzip2 filename.bz2
-% bzip2 -9 filename
-
-
-
- - - - - 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 @@ - - - - -tar - - - - - - - - - - - -
-

15.3 tar

- -

tar(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 gzip or bzip2. tar has many command line options, -which are explained in its man page. This section will just cover the most common uses of -tar.

- -

The most common use for tar is to decompress and unarchive a -package that you've downloaded from a web site or ftp site. Most files will come with a -.tar.gz extension. This is commonly known as a -“tarball”. It means that several files were archived using tar and then compressed using gzip. You -might also see this listed as a .tar.Z file. It means the same -thing, but this is usually encountered on older Unix systems.

- -

Alternatively, you might find a .tar.bz2 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 tar and then -bzipped.

- -

You can get to all the files in this archive by making use of tar and some command line arguments. Unarchiving a tarball makes use -of the -z flag, which means to first run the file through gunzip and decompress it. The most common way to decompress a -tarball is like so:

- - - - - -
-
-% tar -xvzf filename.tar.gz
-
-
- -

That's quite a few options. So what do they all mean? The -x -means to extract. This is important, as it tells tar 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. -v 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 -vv to be -very verbose and list even more information about each file being unarchived. The -z option tells tar to run filename.tar.gz through gunzip first. And -finally, the -f option tells tar that -the next string on the command line is the file to operate on.

- -

There are a few other ways to write this same command. On older systems lacking a -decent copy of GNU tar, you might see it written like so:

- - - - - -
-
-% gunzip filename.tar.gz | tar -xvf -
-
-
- -

This command line will uncompress the file and send the output to tar. Since gzip 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 tar for unarchiving. The -“-” means to operate on standard input. It will unarchive the stream of data -that it gets from gzip and write that to the disk.

- -

Another way to write the first command line is to leave off the dash before the -options, like so:

- - - - - -
-
-% tar xvzf filename.tar.gz
-
-
- -

You might also encounter a bzipped archive. The version of tar that comes with Slackware Linux can handle these the same as -gzipped archives. Instead of the -z command line option, you'd -use -j:

- - - - - -
-
-% tar -xvjf filename.tar.bz2
-
-
- -

It is important to note that tar will place the unarchived -files in the current directory. So, if you had an archive in /tmp 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 tar. Second, you could specify the path to the -archive file on the command line. Third, you can use the -C -option to “explode” the tarball in a specified directory.

- - - - - -
-
-% cd $HOME
-% cp /tmp/filename.tar.gz .
-% tar -xvzf filename.tar.gz
-
-% cd $HOME
-% tar -xvzf /tmp/filename.tar.gz
-
-% cd /
-% tar -xvzf /tmp/filename.tar.gz -C $HOME
-
-
- -

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.

- -

So what good is being able to uncompress these archives if you can't make them? Well, -tar handles that too. In most cases it's as easy as removing the -“-x” option and replacing it with the “-c” option.

- - - - - -
-
-% tar -cvzf filename.tar.gz .
-
-
- -

In this command line, the -c option tells tar to create an archive, while the -z -option runs the resulting archive file through gzip to compress -it. filename.tar.gz is the file that you want to create.

- -

Specifying the “-f” option isn't always -necessary, but is typically good practice anyway. Without it, tar writes to standard output, which is usually desired for piping -tar's output to another program, like so.

- - - - - -
-
-% tar -cv filename.tar . | gpg --encrypt
-
-
- -

That command creates an non-compressed tar archive of the current directory, pipes the -tarball through gpg which encrypts and compresses the tarball, -making it realistically impossible to read by anyone other than the person knowing the -secret key.

-
- - - - - 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 @@ - - - - -zip - - - - - - - - - - - -
-

15.4 zip

- -

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 zip(1), and the decompression program is called unzip(1).

- - - - - -
-
-% zip foo *
-
-
- -

This will create the file foo.zip, which will contain all -the files in the current directory. zip will add the .zip 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:

- - - - - -
-
-% zip -r foo *
-
-
- -

Decompressing files is easy, as well.

- - - - - -
-
-% unzip foo.zip
-
-
- -

This will extract all the files in the file foo.zip, -including any directories in the archive.

- -

The zip 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 zip -and unzip to find out how to use these options.

-
- - - - - 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 @@ - - - - -Archive Files - - - - - - - - - - -
-

Chapter 15 Archive Files

- -
-
-
Table of Contents
- -
15.1 gzip
- -
15.2 bzip2
- -
15.3 tar
- -
15.4 zip
-
-
- -
-

15.1 gzip

- -

gzip(1) is the GNU compression program. It takes a single -file and compresses it. The basic usage is as follows:

- - - - - -
-
-% gzip filename
-
-
- -

The resulting file will be named filename.gz and will usually be smaller than the input -file. Note that filename.gz will replace filename. This means that filename 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:

- - - - - -
-
-% gzip -9 filename
-
-
- -

This will take a longer time to compress the file, but the result will be as small as -gzip 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.

- -

Decompressing gzipped files can be done using two commands, which are really just the -same program. gzip will decompress any file with a recognized -file extension. A recognized extension can be any of the following: .gz, -gz, .z, --z, .Z, or -Z. The first method is to call gunzip(1) -on a file, like so:

- - - - - -
-
-% gunzip filename.gz
-
-
- -

This will leave a decompressed version of infile in the current directory, and the .gz extension will be stripped from the filename. gunzip is really part of gzip and is -identical to gzip -d. As such, gzip is -often pronounced gunzip, as that name just sounds cooler. -:^)

-
-
- - - - - 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 @@ - - - - -DNS Tools - - - - - - - - - - - -
-

13.3 DNS Tools

- -

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 -64.57.102.34. 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?

- -
-

13.3.1 host

- -

host(1) can do this for us. host is -used to map names to IP addresses. It is a very quick and simple utility without a lot of -functions.

- - - - - -
-
-% host www.slackware.com
-www.slackware.com is an alias for slackware.com.
-slackware.com has address 64.57.102.34
-
-
- -

But let's say for some reason we want to map an IP address to a domain name; what -then?

-
- -
-

13.3.2 nslookup

- -

nslookup is a tried and true program that has weathered the -ages. nslookup has been deprecated and may be removed from -future releases. There is not even a man page for this program.

- - - - - -
-
-% nslookup 64.57.102.34
-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
-
-
-
- -
-

13.3.3 dig

- -

The meanest dog in the pound, the domain information groper, dig(1) for short, is the go-to program for finding DNS information. -dig can grab just about anything from a DNS server including -reverse lookups, A, CNAME, MX, SP, and TXT records. dig has many -command line options and if you're not familiar with it you should read through it's -extensive man page.

- - - - - -
-
-% dig @192.168.1.254 www.slackware.com mx
-
-; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx
-;; global options:  printcmd
-;; Got answer:
-;; ->>HEADER<<- 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
-
-
- -

This should give you an idea how dig works. -“@192.168.1.254” specifies the dns server to use. -“www.slackware.com” is the domain name I am performing a lookup on, and -“mx” is the type of lookup I am performing. The above query tells me that -e-mail to www.slackware.com will instead be sent to mail.slackware.com for delivery.

-
-
- - - - - 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 @@ - - - - -email - - - - - - - - - - - -
-

13.7 email

- -

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.

- -

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.

- -
-

13.7.1 pine

- -

pine(1) is not elm. 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. pine is -one of the most popular email clients in use today and is available for nearly every -flavor of Unix and even Windows.

- -
-

Figure 13-2. The Pine main menu

- -

-
- -

You will see a menu of commands and a row of command keys at the bottom. pine is indeed a complex program, so we will not discuss every -feature about it here.

- -

To see what's in your inbox, type i. Your messages are -listed with their date, author, and subject. Highlight the message you want and press -enter to view it. Pressing r -will start a reply to the message. Once you have written the response, type Ctrl+X to send it. You can press i to get back to the message listing.

- -

If you want to delete a message, press d. It will mark -the highlighted message for deletion. pine deletes the mail when -you exit the program. pine also lets you store your mail in -folders. You can get a listing of folders by pressing l. At -the message listing, press s to save it to another folder. -It will ask for the folder name to write the message to.

- -

pine 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.

-
- -
-

13.7.2 elm

- -

elm(1) is another popular text-based email client. Though not -quite as user friendly as pine, it's definitely been around a -lot longer.

- -
-

Figure 13-3. Elm main screen

- -

-
- -

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 Enter to read the message.

- -

To compose a new message, type m at the main screen. The -d key will flag a message for deletion. And the r 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.

- -

The man page discusses elm in more detail, so you will -probably want to consult that before using elm.

-
- -
-

13.7.3 mutt

- -

“All mail clients suck. This one just sucks less.” mutt's original interface was based on elm -with added features found in other popular mailclients, resulting in a hybrid mutt.

- -

Some of mutt's features include:

- -
    -
  • -

    color support

    -
  • - -
  • -

    message threading

    -
  • - -
  • -

    MIME and PGP/MIME support

    -
  • - -
  • -

    pop3 and imap support

    -
  • - -
  • -

    support for multiple mailbox formats (mbox, MMDF, MH, maildir)

    -
  • - -
  • -

    highly customizable

    -
  • -
- -
-

Figure 13-4. Mutt main screen

- -

-
- -

if you're looking for a mail client that will let you be in total control over -everything, then you will like mutt. all the default settings -can be customized, keybindings can be changed. if you like to add a macro, you can.

- -

you probably want to take a look at the muttrc manpage, -which will tell you how to configure everything. or take a look at the included example -muttrc file.

-
- -
-

13.7.4 nail

- -

nail(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 -nail at /usr/bin/mail and /usr/bin/mailx. Any of these three commands executes the same -program. In fact, you will most likely see nail referred to as -mail.

- -

The basic command line is:

- - - - - -
-
-% mailx <subject> <to-addr>
-
-
- -

mailx 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 Ctrl+D when finished with the message.

- -

Here is an example of mailing a program source file to another person.

- - - - - -
-
-% cat randomfunc.c | mail -s "Here's that function" asdf@example.net
-
-
- -

The man page explains more of what nail can do, so you will -probably want to have a look at that before using it.

-
-
- - - - - 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 @@ - - - - -finger - - - - - - - - - - - -
-

13.4 finger

- -

finger(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:

- - - - - -
-
-% finger johnc@idsoftware.com
-
-
- -

finger can return the username, mail status, phone numbers, -and files referred to as “dot plan” and “dot project”. Of course, -the information returned varies with each finger server. The one -included with Slackware returns the following information by default:

- -
    -
  • -

    Username

    -
  • - -
  • -

    Room number

    -
  • - -
  • -

    Home phone number

    -
  • - -
  • -

    Work phone number

    -
  • - -
  • -

    Login status

    -
  • - -
  • -

    Email status

    -
  • - -
  • -

    Contents of the .plan file in the user's home directory

    -
  • - -
  • -

    Contents of the .project file in the user's home -directory

    -
  • -
- -

The first four items can be set with the chfn command. It -stores those values in the /etc/passwd file. To change the -information in your .plan or .project -file, just edit them with your favorite text editor. They must reside in your home -directory and must be called .plan and .project.

- -

Many users finger 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.

- -

Like many commands, finger has options. Check the man page -for more information on what special options you can use.

-
- - - - - 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 @@ - - - - -FTP Clients - - - - - - - - - - - -
-

13.9 FTP Clients

- -

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.

- -

For the curious, the “client” is you. The “server” 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.

- -
-

13.9.1 ftp

- -

To connect to an FTP server, simply run the ftp(1) command -and specify the host:

- - - - - -
-
-% ftp <hostname> [port]
-
-
- -

If the host is running an FTP server, it will ask for a username and password. You can -log in as yourself or as “anonymous”. Anonymous FTP sites are very popular -for software archives. For example, to get Slackware Linux via FTP, you must use -anonymous FTP.

- -

Once connected, you will be at the ftp> 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:

- -
-

Table 13-1. ftp commands

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandPurpose
lsList files
cd <dirname>Change directory
binSet binary transfer mode
asciiSet ASCII transfer mode
get <filename>Download a file
put <filename>Upload a file
hashToggle hash mark stats indicator
tickToggle byte counter indicator
promToggle interactive mode for downloads
mget <mask>Download a file or group of files; wildcards are allowed
mput <mask>Upload a file or group of files; wildcards are allowed
quitLog off the FTP server
-
- -

You can also use some of the following commands which are quite self-explanatory: chmod, delete, rename, rmdir. For a complete list of all -commands and their meaning, just type help or ? and you'll see a complete listing on screen.

- -

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 ftp(1).

- - - - - -
-
-ftp> ls *.TXT
-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> tick
-Tick counter printing on (10240 bytes/tick increment).
-ftp> get README81.TXT
-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)
-
-
-
- -
-

13.9.2 ncftp

- -

ncftp(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 ftp, including:

- -
    -
  • -

    Tab completion

    -
  • - -
  • -

    Bookmarks file

    -
  • - -
  • -

    More liberal wildcard uses

    -
  • - -
  • -

    Command history

    -
  • -
- -

By default, ncftp will try to log in anonymously to the -server you specify. You can force ncftp to present a login -prompt with the “-u” option. Once logged in, you -can use the same commands as in ftp, only you'll notice a nicer -interface, one that works more like bash.

- - - - - -
-
-ncftp /pub/linux/slackware > cd slackware-current/
-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 > ls
-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 > get README81.TXT
-README81.TXT:                                           12.29 kB  307.07 kB/s
-
-
-
-
- - - - - 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 @@ - - - - -The Secure shell - - - - - - - - - - - -
-

13.6 The Secure shell

- -

Today, secure shell basks in the adoration that telnet once -enjoyed. ssh(1) allows one to make a connection to a remote -machine and execute programs as if one were physically present; however, ssh 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.

- - - - - -
-
-% ssh carrier.lizella.net -l alan
-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: password
-Last login: Sat Nov  6 16:32:19 2004 from 192.168.1.102
-Linux 2.4.26-smp.
-alan@carrier:~$ ls -l MANIFEST 
--rw-r--r--  1 alan users 23545276 2004-10-28 20:04 MANIFEST
-alan@carrier:~$ exit
-logout
-Connection to carrier.lizella.net closed.
-
-
- -

There you see me making an ssh connection to carrier.lizella.net, and checking the permissions on the MANIFEST file.

-
- - - - - 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 @@ - - - - -Talking to Other People - - - - - - - - - - - -
-

13.10 Talking to Other People

- -
-

13.10.1 wall

- -

wall(1) is a quick way to write a message to the users on a -system. The basic syntax is:

- - - - - -
-
-% wall [file]
-
-
- -

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 Ctrl+d.

- -

wall 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 :)

-
- -
-

13.10.2 talk

- -

talk(1) allows two users to chat. It splits the screen in -half, horizontally. To request a chat with another user, use this command:

- - - - - -
-
-% talk <person> [ttyname]
-
-
- -
-

Figure 13-7. Two users in a talk session

- -

-
- -

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 talk can be obtained from the w(1) -command.

- -

talk can also ring users on remote hosts. For the username -you simply specify an email address. talk will try to contact -that remote user on that host.

- -

talk is somewhat limited. It only supports two users and is -half-duplex.

-
- -
-

13.10.3 ytalk

- -

ytalk(1) is a backwards compatible replacement for talk. It comes with Slackware as the ytalk -command. The syntax is similar, but has a few differences:

- - - - - -
-
-% ytalk <username>[#ttyname]
-
-
- -
-

Figure 13-8. Two users in a ytalk session

- -

-
- -

The username and terminal are specified the same as under talk, except you must put -them together with the hash mark (#).

- -

ytalk offers several advantages:

- -
    -
  • -

    It supports more than two users.

    -
  • - -
  • -

    A menu of options that can be brought up anytime with Esc.

    -
  • - -
  • -

    You can shell out while still in the talk session.

    -
  • - -
  • -

    Plus more...

    -
  • -
- -

If you're a server administrator, you'll want to make sure that the ntalk port is enabled in /etc/inetd.conf. -ytalk needs that to work properly.

-
-
- - - - - 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 @@ - - - - -telnet - - - - - - - - - - - -
-

13.5 telnet

- -

Someone once stated that telnet(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.

- -

telnet 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 telnet to another machine, you can run X programs on the remote -computer and display them on yours.

- -

To login to a remote machine, use this syntax:

- - - - - -
-
-% telnet <hostname>
-
-
- -

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 -exit command or the logout command.

- -
- - - - - -
Warning -

telnet does not encrypt the information it sends. Everything -is sent in plain text, even passwords. It is not advisable to use telnet over the Internet. Instead, consider the Secure Shell. It encrypts all traffic and is available for free.

-
-
- -
-

13.5.1 The other use of telnet

- -

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 telnet.

- -

You can also use the telnet command to connect to a host on a -certain port.

- - - - - -
-
-% telnet <hostname> [port]
-
-
- -

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.

- -

In the next figure you'll see how you can telnet to a HTTP -server on port 80, and get some basic information from it.

- -
-

Figure 13-1. Telnetting to a webserver

- - - - - -
-
-% telnet store.slackware.com 80
-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.
-%
-
-
-
- -

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.

-
-
- - - - - 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 @@ - - - - -traceroute - - - - - - - - - - - -
-

13.2 traceroute

- -

Slackware's traceroute(8) command is a very useful network -diagnostic tool. traceroute displays each host that a packet -travels through as it tries to reach its destination. You can see how many -“hops” from the Slackware web site you are with this command:

- - - - - -
-
-% traceroute www.slackware.com
-
-
- -

Each host will be displayed, along with the response times at each host. Here is an -example output:

- - - - - -
-
-% traceroute www.slackware.com
-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
-
-
- -

traceroute is similar to ping in -that it uses ICMP packets. There are several options that you can specify with traceroute. These options are explained in detail in the man -page.

-
- - - - - 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 @@ - - - - -Browsers - - - - - - - - - - - -
-

13.8 Browsers

- -

The first thing that people think about when they hear the word Internet is -“surfing the net”. Or looking at websites using a web browser. This is -probably by far the most popular use of the Internet for the average user.

- -

Slackware provides popular graphical web browsers in the “XAP” series, as -well as text mode browsers in the “N” series. We'll take a quick look at some -of the most common options below.

- -
-

13.8.1 lynx

- -

lynx(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.

- -

To start lynx, just type lynx at the -prompt:

- - - - - -
-
-% lynx
-
-
- -
-

Figure 13-5. Lynx default start page

- -

-
- -

You may want to specify a site for lynx to open to:

- - - - - -
-
-% lynx http://www.slackware.com
-
-
- -

lynx prints the command keys and what they do at the bottom -of the screen. The up and down arrow keys move around the document, Enter selects the highlighted link, and the left arrow goes back to the previous page. Typing d will download the currently selected file. The g command brings up the Go prompt, where you can give lynx a URL to open.

- -

There are many other commands in lynx. You can either consult -the man page, or type h to get the help screen for more -information.

-
- -
-

13.8.2 links

- -

Just like lynx, links is a textmode -web browser, where you do all the navigation using the keyboard. However, when you press -the Esc 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.

- -

links seems to have better support for both frames and -tables, when compared to lynx.

- -
-

Figure 13-6. Links, with the file menu open

- -

-
-
- -
-

13.8.3 wget

- -

wget(1) is a command line utility that will download files -from a specified URL. While not an actual web-browser, wget 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:

- - - - - -
-
-% wget <url>
-
-
- -

You can also pass options. For example, this will download the Slackware web site:

- - - - - -
-
-% wget --recursive http://www.slackware.com
-
-
- -

wget will create a www.slackware.com directory and store the files in there, just as -the site does.

- -

wget can also download files from FTP sites; just specify an -FTP URL instead of an HTTP one.

- - - - - -
-
-% wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
---12:18:16--  ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
-           => `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!
-==> SYST ... done.   ==> PWD ... done.
-==> TYPE I ... done. ==> CWD /gnu/wget ... done.
-==> PORT ... done.   ==> RETR wget-1.8.2.tar.gz ... done.
-Length: 1,154,648 (unauthoritative)
-
-100%[==================================>] 1,154,648     209.55K/s    ETA 00:00
-
-12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
-
-
- -

wget 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.

-
-
- - - - - 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 @@ - - - - -Basic Network Commands - - - - - - - - - - -
-

Chapter 13 Basic -Network Commands

- -
-
-
Table of Contents
- -
13.1 ping
- -
13.2 traceroute
- -
13.3 DNS Tools
- -
13.4 finger
- -
13.5 telnet
- -
13.6 The Secure shell
- -
13.7 email
- -
13.8 Browsers
- -
13.9 FTP Clients
- -
13.10 Talking to Other People
-
-
- -

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.

- -

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.

- -
-

13.1 ping

- -

ping(8) sends an ICMP ECHO_REQUEST -packet to the specified host. If the host responds, you get an ICMP packet back. Sound -strange? Well, you can “ping” 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:

- - -
-

User -A: Loki's down again.
-User -B: Are you sure?
-User -A: Yeah, I tried pinging it, but there's no response.

-
- -

It's instances like these that make ping 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:

- - - - - -
-
-% ping www.slackware.com
-
-
- -

There are, of course, several options that can be specified. Check the ping(1) man page for more information.

-
-
- - - - - 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 Binary files a/slackbook/html/basic-network-commands/elm.png and /dev/null 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 Binary files a/slackbook/html/basic-network-commands/links.png and /dev/null 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 Binary files a/slackbook/html/basic-network-commands/lynx.png and /dev/null 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 Binary files a/slackbook/html/basic-network-commands/mutt.png and /dev/null 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 Binary files a/slackbook/html/basic-network-commands/pine.png and /dev/null 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 Binary files a/slackbook/html/basic-network-commands/talk.png and /dev/null 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 Binary files a/slackbook/html/basic-network-commands/ytalk.png and /dev/null 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 @@ - - - - -Preface - - - - - - - - - - -
-

Preface

- -

Intended -Audience

- -

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.

- -

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.

- -

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.

- -

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.

- -

And now, on with the show.

- -

Changes from -the First Edition

- -

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:

- -
    -
  • -

    Chapter 3, Installation, has been modified with new -screenshots of the installer, and reflects changes in disk-sets, and CD installation.

    -
  • - -
  • -

    Chapter 4, System Configuration, has been -updated with new information about Linux 2.6.x kernels.

    -
  • - -
  • -

    Chapter 5, 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.

    -
  • - -
  • -

    Chapter 6, X Window System, has been substantially -rewritten for Xorg based systems. This chapter now also covers the xdm graphical login -manager.

    -
  • - -
  • -

    Chapter 13, Basic Network Commands, has been -enhanced with information about additional network utilities.

    -
  • - -
  • -

    Chapter 14, Security, is a new chapter with this edition. -It explains how to keep a Slackware Linux system secure.

    -
  • - -
  • -

    Chapter 17, Emacs, is a new chapter with this edition. It -describes how to use Emacs, a powerful editor for Unix.

    -
  • - -
  • -

    Chapter 18, Package Management, has been updated -with information about SlackBuild scripts.

    -
  • - -
  • -

    There are many other changes, both minor and major, to reflect changes in Slackware as -it has matured.

    -
  • -
- -

Organization of this Book

- -
-
-
Chapter 1, Introduction
- -
-

Provides introductory material on Linux, Slackware, and the Open Source and Free -Software Movements.

-
- -
Chapter 2, Help
- -
-

Describes the help resources available on a Slackware Linux system and online.

-
- -
Chapter 3, Installation
- -
-

Describes the installation process step-by-step with screenshots to provide an -illustrative walk-through.

-
- -
Chapter 4, System Configuration
- -
-

Describes the important configuration files and covers kernel recompilation.

-
- -
Chapter 5, Network Configuration
- -
-

Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP, -PPP/dial-up, wireless networking, and more.

-
- -
Chapter 6, The X Window System
- -
-

Describes how to setup and use the graphical X Window System in Slackware.

-
- -
Chapter 7, Booting
- -
-

Describes the process by which a computer boots into Slackware Linux. Also covers -dual-booting with Microsoft Windows operating systems.

-
- -
Chapter 8, The Shell
- -
-

Describes the powerful command line interface for Linux.

-
- -
Chapter 9, Filesystem Structure
- -
-

Describes the filesystem structure, including file ownership, permission, and -linking.

-
- -
Chapter 10, Handling Files and Directories
- -
-

Describes the commands used to manipulate files and directories from the command line -interface.

-
- -
Chapter 11, Process Control
- -
-

Describes the powerful Linux process management commands used to manage multiple -running applications.

-
- -
Chapter 12, Essential System -Administration
- -
-

Describes basic system administration tasks such as adding and removing users, -shutting down the system properly, and more.

-
- -
Chapter 13, Basic Network Commands
- -
-

Describes the collection of network clients included with Slackware.

-
- -
Chapter 14, Security
- -
-

Describes many different tools available to help keep your Slackware system secure, -including iptables and tcpwrappers.

-
- -
Chapter 15, Archive Files
- -
-

Describes the different compression and archive utilities available for Linux.

-
- -
Chapter 16, vi
- -
-

Describes the powerful vi text editor.

-
- -
Chapter 17, Emacs
- -
-

Describes the powerful Emacs text editor.

-
- -
Chapter 18, Slackware Package Management
- -
-

Describes the Slackware package utilities and the process used to create custom -packages and tagfiles.

-
- -
Chapter 19, ZipSlack
- -
-

Describes the ZipSlack version of Linux that can be used from Windows without -requiring an installation.

-
- -
Appendix A, The GNU General Public License
- -
-

Describes the license terms under which Slackware Linux and this book can be copied -and distributed.

-
-
-
- -

Conventions used in -this book

- -

To provide a consistent and easy to read text, several conventions are followed -throughout the book.

- -

Typographic Conventions

- -
-
-
Italic
- -
-

An italic font is used for -commands, emphasized text, and the first usage of technical terms.

-
- -
Monospace
- -
-

A monospaced font is used for error messages, commands, -environment variables, names of ports, hostnames, user names, group names, device names, -variables, and code fragments.

-
- -
Bold
- -
-

A bold font is used for user input in examples.

-
-
-
- -

User Input

- -

Keys are shown in bold to stand out from other text. Key -combinations that are meant to be typed simultaneously are shown with `+' between the keys, such as:

- -

Ctrl+Alt+Del

- -

Meaning the user should type the Ctrl, Alt, and Del keys at the same time.

- -

Keys that are meant to be typed in sequence will be separated with commas, for -example:

- -

Ctrl+X, Ctrl+S

- -

Would mean that the user is expected to type the Ctrl and X keys simultaneously and then to type the Ctrl -and S keys simultaneously.

- -

Examples

- -

Examples starting with E:\> indicate a MS-DOS® command. Unless otherwise noted, these commands may -be executed from a “Command Prompt” window in a modern Microsoft® Windows® -environment.

- - - - - -
-
-D:\> rawrite a: bare.i
-
-
- -

Examples starting with # indicate a command that must be -invoked as the superuser in Slackware. You can login as root to -type the command, or login as your normal account and use su(1) to gain superuser -privileges.

- - - - - -
-
-# dd if=bare.i of=/dev/fd0
-
-
- -

Examples starting with % 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.

- - - - - -
-
-% top
-
-
- -

Acknowledgments

- -

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.

- -

Alan Hicks, May 2005

-
- - - - - 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 @@ - - - - -Slackware Linux Essentials - - - - - -
-
-

Slackware Linux Essentials

- -

- -

Alan Hicks

- -

Chris Lumens

- -

David Cantrell

- -

Logan Johnson

- - - -
-

Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux, -Inc.

- -

Linux is a registered trademark of Linus Torvalds.

- -

America Online and AOL are registered trademarks of America Online, Inc. in the United -States and/or other countries.

- -

Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of -Apple Computer, Inc., registered in the United States and other countries.

- -

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.

- -

IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and -Electronics Engineers, Inc. in the United States.

- -

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.

- -

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.

- -

Netscape and the Netscape Navigator are registered trademarks of Netscape -Communications Corporation in the U.S. and other countries.

- -

Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United -States and other countries.

- -

XFree86 is a trademark of The XFree86 Project, Inc.

- -

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 “™” or the “®” symbol.

-
- -1-57176-338-4
-
- - -
-
- -
-
-
Table of Contents
- -
Preface
- -
1 An Introduction to Slackware Linux
- -
-
-
1.1 What is Linux?
- -
-
-
1.1.1 A Word on GNU
-
-
- -
1.2 What is Slackware?
- -
1.3 Open Source and Free Software
-
-
- -
2 Help
- -
-
-
2.1 System Help
- -
-
-
2.1.1 man
- -
2.1.2 The /usr/doc -Directory
- -
2.1.3 HOWTOs and mini-HOWTOs
-
-
- -
2.2 Online Help
- -
-
-
2.2.1 The Official Website and Help Forums
- -
2.2.2 E-mail Support
- -
2.2.3 Non-Official Websites and Help -Forums
-
-
-
-
- -
3 Installation
- -
-
-
3.1 Getting Slackware
- -
-
-
3.1.1 The Official Disc and Box Sets
- -
3.1.2 Via the Internet
-
-
- -
3.2 System Requirements
- -
-
-
3.2.1 The Software Series
- -
3.2.2 Installation Methods
- -
3.2.3 Boot Disk
- -
3.2.4 Root Disk
- -
3.2.5 Supplemental Disk
- -
3.2.6 Making the Disks
-
-
- -
3.3 Partitioning
- -
3.4 The setup Program
- -
-
-
3.4.1 HELP
- -
3.4.2 KEYMAP
- -
3.4.3 ADDSWAP
- -
3.4.4 TARGET
- -
3.4.5 SOURCE
- -
3.4.6 SELECT
- -
3.4.7 INSTALL
- -
3.4.8 CONFIGURE
-
-
-
-
- -
4 System Configuration
- -
-
-
4.1 System Overview
- -
-
-
4.1.1 File System Layout
- -
4.1.2 Finding Files
- -
4.1.3 The /etc/rc.d -Directory
-
-
- -
4.2 Selecting a Kernel
- -
-
-
4.2.1 The /kernels Directory on the -Slackware CD-ROM
- -
4.2.2 Compiling a Kernel from -Source
- -
4.2.3 Using Kernel Modules
-
-
-
-
- -
5 Network Configuration
- -
-
-
5.1 Introduction: netconfig is your -friend.
- -
5.2 Network Hardware Configuration
- -
-
-
5.2.1 Loading Network -Modules
- -
5.2.2 LAN (10/100/1000Base-T and -Base-2) cards
- -
5.2.3 Modems
- -
5.2.4 PCMCIA
-
-
- -
5.3 TCP/IP Configuration
- -
-
-
5.3.1 DHCP
- -
5.3.2 Static IP
- -
5.3.3 /etc/rc.d/rc.inet1.conf
- -
5.3.4 /etc/resolv.conf
- -
5.3.5 /etc/hosts
-
-
- -
5.4 PPP
- -
-
-
5.4.1 pppsetup
- -
5.4.2 /etc/ppp
-
-
- -
5.5 Wireless
- -
-
-
5.5.1 Hardware Support
- -
5.5.2 Configure the Wireless Settings
- -
5.5.3 Configure the Network
-
-
- -
5.6 Network File Systems
- -
-
-
5.6.1 SMB/Samba/CIFS
- -
5.6.2 Network File System (NFS)
-
-
-
-
- -
6 X Configuration
- -
-
-
6.1 xorgconfig
- -
6.2 xorgsetup
- -
6.3 xinitrc
- -
6.4 xwmconfig
- -
6.5 xdm
-
-
- -
7 Booting
- -
-
-
7.1 LILO
- -
7.2 LOADLIN
- -
7.3 Dual Booting
- -
-
-
7.3.1 Windows
- -
7.3.2 Linux
-
-
-
-
- -
8 The Shell
- -
-
-
8.1 Users
- -
-
-
8.1.1 Logging In
- -
8.1.2 Root: The Superuser
-
-
- -
8.2 The Command Line
- -
-
-
8.2.1 Running Programs
- -
8.2.2 Wildcard Matching
- -
8.2.3 Input/Output Redirection and -Piping
-
-
- -
8.3 The Bourne Again Shell (bash)
- -
-
-
8.3.1 Environment Variables
- -
8.3.2 Tab Completion
-
-
- -
8.4 Virtual Terminals
- -
-
-
8.4.1 Screen
-
-
-
-
- -
9 Filesystem Structure
- -
-
-
9.1 Ownership
- -
9.2 Permissions
- -
9.3 Links
- -
9.4 Mounting Devices
- -
-
-
9.4.1 fstab
- -
9.4.2 mount and umount
-
-
- -
9.5 NFS Mounts
-
-
- -
10 Handling Files and Directories
- -
-
-
10.1 Navigation : ls, -cd, and pwd
- -
-
-
10.1.1 ls
- -
10.1.2 cd
- -
10.1.3 pwd
-
-
- -
10.2 Pagers: more, less, and most
- -
-
-
10.2.1 more
- -
10.2.2 less
- -
10.2.3 most
-
-
- -
10.3 Simple Output: cat and -echo
- -
-
-
10.3.1 cat
- -
10.3.2 echo
-
-
- -
10.4 Creation: touch and -mkdir
- -
-
-
10.4.1 touch
- -
10.4.2 mkdir
-
-
- -
10.5 Copy and Move
- -
-
-
10.5.1 cp
- -
10.5.2 mv
-
-
- -
10.6 Deletion: rm and rmdir
- -
-
-
10.6.1 rm
- -
10.6.2 rmdir
-
-
- -
10.7 Aliasing files with ln
-
-
- -
11 Process Control
- -
-
-
11.1 Backgrounding
- -
11.2 Foregrounding
- -
11.3 ps
- -
11.4 kill
- -
11.5 top
-
-
- -
12 Essential System Administration
- -
-
-
12.1 Users and Groups
- -
-
-
12.1.1 Supplied Scripts
- -
12.1.2 Changing Passwords
- -
12.1.3 Changing User -Information
-
-
- -
12.2 Users and Groups, the Hard Way
- -
12.3 Shutting Down Properly
-
-
- -
13 Basic Network Commands
- -
-
-
13.1 ping
- -
13.2 traceroute
- -
13.3 DNS Tools
- -
-
-
13.3.1 host
- -
13.3.2 nslookup
- -
13.3.3 dig
-
-
- -
13.4 finger
- -
13.5 telnet
- -
-
-
13.5.1 The other use of telnet
-
-
- -
13.6 The Secure shell
- -
13.7 email
- -
-
-
13.7.1 pine
- -
13.7.2 elm
- -
13.7.3 mutt
- -
13.7.4 nail
-
-
- -
13.8 Browsers
- -
-
-
13.8.1 lynx
- -
13.8.2 links
- -
13.8.3 wget
-
-
- -
13.9 FTP Clients
- -
-
-
13.9.1 ftp
- -
13.9.2 ncftp
-
-
- -
13.10 Talking to Other People
- -
-
-
13.10.1 wall
- -
13.10.2 talk
- -
13.10.3 ytalk
-
-
-
-
- -
14 Security
- -
-
-
14.1 Disabling Services
- -
-
-
14.1.1 Services started from inetd
- -
14.1.2 Services started from init scripts
-
-
- -
14.2 Host Access Control
- -
-
-
14.2.1 iptables
- -
14.2.2 tcpwrappers
-
-
- -
14.3 Keeping Current
- -
-
-
14.3.1 slackware-security -mailing list
- -
14.3.2 The /patches -directory
-
-
-
-
- -
15 Archive Files
- -
-
-
15.1 gzip
- -
15.2 bzip2
- -
15.3 tar
- -
15.4 zip
-
-
- -
16 Vi
- -
-
-
16.1 Starting vi
- -
16.2 Modes
- -
-
-
16.2.1 Command Mode
- -
16.2.2 Insert Mode
-
-
- -
16.3 Opening Files
- -
16.4 Saving Files
- -
16.5 Quitting vi
- -
16.6 vi Configuration
- -
16.7 Vi Keys
-
-
- -
17 Emacs
- -
-
-
17.1 Starting emacs
- -
-
-
17.1.1 Command Keys
-
-
- -
17.2 Buffers
- -
17.3 Modes
- -
-
-
17.3.1 Opening files
-
-
- -
17.4 Basic Editing
- -
17.5 Saving Files
- -
-
-
17.5.1 Quitting Emacs
-
-
-
-
- -
18 Slackware Package Management
- -
-
-
18.1 Overview of Package Format
- -
18.2 Package Utilities
- -
-
-
18.2.1 pkgtool
- -
18.2.2 installpkg
- -
18.2.3 removepkg
- -
18.2.4 upgradepkg
- -
18.2.5 rpm2tgz/rpm2targz
-
-
- -
18.3 Making Packages
- -
-
-
18.3.1 explodepkg
- -
18.3.2 makepkg
- -
18.3.3 SlackBuild Scripts
-
-
- -
18.4 Making Tags and Tagfiles -(for setup)
-
-
- -
19 ZipSlack
- -
-
-
19.1 What is ZipSlack?
- -
-
-
19.1.1 Advantages
- -
19.1.2 Disadvantages
-
-
- -
19.2 Getting ZipSlack
- -
-
-
19.2.1 Installation
-
-
- -
19.3 Booting ZipSlack
-
-
- -
Glossary
- -
A. The GNU General Public License
- -
-
-
A.1. Preamble
- -
A.2. TERMS AND CONDITIONS
- -
A.3. How to Apply These Terms to Your New Programs
-
-
-
-
- - - - - -
-
-
List of Examples
- -
8-1. Listing Environment Variables with set
-
-
- -
-
-

Preface

- -

Intended -Audience

- -

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.

- -

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.

- -

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.

- -

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.

- -

And now, on with the show.

- -

Changes from -the First Edition

- -

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:

- -
    -
  • -

    Chapter 3, Installation, has been modified with new -screenshots of the installer, and reflects changes in disk-sets, and CD installation.

    -
  • - -
  • -

    Chapter 4, System Configuration, has been updated -with new information about Linux 2.6.x kernels.

    -
  • - -
  • -

    Chapter 5, 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.

    -
  • - -
  • -

    Chapter 6, X Window System, has been substantially -rewritten for Xorg based systems. This chapter now also covers the xdm graphical login -manager.

    -
  • - -
  • -

    Chapter 13, Basic Network Commands, has been -enhanced with information about additional network utilities.

    -
  • - -
  • -

    Chapter 14, Security, is a new chapter with this edition. It -explains how to keep a Slackware Linux system secure.

    -
  • - -
  • -

    Chapter 17, Emacs, is a new chapter with this edition. It -describes how to use Emacs, a powerful editor for Unix.

    -
  • - -
  • -

    Chapter 18, Package Management, has been updated -with information about SlackBuild scripts.

    -
  • - -
  • -

    There are many other changes, both minor and major, to reflect changes in Slackware as -it has matured.

    -
  • -
- -

Organization of this Book

- -
-
-
Chapter 1, Introduction
- -
-

Provides introductory material on Linux, Slackware, and the Open Source and Free -Software Movements.

-
- -
Chapter 2, Help
- -
-

Describes the help resources available on a Slackware Linux system and online.

-
- -
Chapter 3, Installation
- -
-

Describes the installation process step-by-step with screenshots to provide an -illustrative walk-through.

-
- -
Chapter 4, System Configuration
- -
-

Describes the important configuration files and covers kernel recompilation.

-
- -
Chapter 5, Network Configuration
- -
-

Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP, -PPP/dial-up, wireless networking, and more.

-
- -
Chapter 6, The X Window System
- -
-

Describes how to setup and use the graphical X Window System in Slackware.

-
- -
Chapter 7, Booting
- -
-

Describes the process by which a computer boots into Slackware Linux. Also covers -dual-booting with Microsoft Windows operating systems.

-
- -
Chapter 8, The Shell
- -
-

Describes the powerful command line interface for Linux.

-
- -
Chapter 9, Filesystem Structure
- -
-

Describes the filesystem structure, including file ownership, permission, and -linking.

-
- -
Chapter 10, Handling Files and Directories
- -
-

Describes the commands used to manipulate files and directories from the command line -interface.

-
- -
Chapter 11, Process Control
- -
-

Describes the powerful Linux process management commands used to manage multiple -running applications.

-
- -
Chapter 12, Essential System Administration
- -
-

Describes basic system administration tasks such as adding and removing users, -shutting down the system properly, and more.

-
- -
Chapter 13, Basic Network Commands
- -
-

Describes the collection of network clients included with Slackware.

-
- -
Chapter 14, Security
- -
-

Describes many different tools available to help keep your Slackware system secure, -including iptables and tcpwrappers.

-
- -
Chapter 15, Archive Files
- -
-

Describes the different compression and archive utilities available for Linux.

-
- -
Chapter 16, vi
- -
-

Describes the powerful vi text editor.

-
- -
Chapter 17, Emacs
- -
-

Describes the powerful Emacs text editor.

-
- -
Chapter 18, Slackware Package Management
- -
-

Describes the Slackware package utilities and the process used to create custom -packages and tagfiles.

-
- -
Chapter 19, ZipSlack
- -
-

Describes the ZipSlack version of Linux that can be used from Windows without -requiring an installation.

-
- -
Appendix A, The GNU General Public License
- -
-

Describes the license terms under which Slackware Linux and this book can be copied -and distributed.

-
-
-
- -

Conventions used in -this book

- -

To provide a consistent and easy to read text, several conventions are followed -throughout the book.

- -

Typographic Conventions

- -
-
-
Italic
- -
-

An italic font is used for -commands, emphasized text, and the first usage of technical terms.

-
- -
Monospace
- -
-

A monospaced font is used for error messages, commands, -environment variables, names of ports, hostnames, user names, group names, device names, -variables, and code fragments.

-
- -
Bold
- -
-

A bold font is used for user input in examples.

-
-
-
- -

User Input

- -

Keys are shown in bold to stand out from other text. Key -combinations that are meant to be typed simultaneously are shown with `+' between the keys, such as:

- -

Ctrl+Alt+Del

- -

Meaning the user should type the Ctrl, Alt, and Del keys at the same time.

- -

Keys that are meant to be typed in sequence will be separated with commas, for -example:

- -

Ctrl+X, Ctrl+S

- -

Would mean that the user is expected to type the Ctrl and X keys simultaneously and then to type the Ctrl -and S keys simultaneously.

- -

Examples

- -

Examples starting with E:\> indicate a MS-DOS® command. Unless otherwise noted, these commands may -be executed from a “Command Prompt” window in a modern Microsoft® Windows® -environment.

- - - - - -
-
-D:\> rawrite a: bare.i
-
-
- -

Examples starting with # indicate a command that must be -invoked as the superuser in Slackware. You can login as root to -type the command, or login as your normal account and use su(1) to gain superuser -privileges.

- - - - - -
-
-# dd if=bare.i of=/dev/fd0
-
-
- -

Examples starting with % 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.

- - - - - -
-
-% top
-
-
- -

Acknowledgments

- -

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.

- -

Alan Hicks, May 2005

-
- -
-
-

Chapter 1 An Introduction to Slackware -Linux

- -
-

1.1 What is -Linux?

- -

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 Section 1.3 and Appendix 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 “Linux” 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.

- -
-
-

1.1.1 A -Word on GNU

- -

The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as -Isaac Newton once said, “If I have seen further, it is by standing on the shoulders -of giants.” 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 “GNU's Not Unix”. GNU software ran atop -the Linux kernel from day 1. Their compiler gcc was used to -compile the kernel. Today many GNU tools from gcc to gnutar 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.

- -

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.

-
-
- -
-
-

1.2 What -is Slackware?

- -

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.

- -

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.

- -

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. :^)

-
- -
-
-

1.3 Open -Source and Free Software

- -

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.

- -

At the other end of the spectrum are groups that wish to maintain tighter controls -over their software.

- -

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 “free as in speech, not free as in beer”. 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 “opened” to the community, it cannot be -“closed” except by consent of every author of every piece of code (even the -modifications) within it. Most Linux programs are licensed under the GPL.

- -

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 “free” 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.)

- -

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.

- -

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.

- -

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.

- -

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.

-
-
- -
-
-

Chapter 2 Help

- -

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 “F” -series which includes FAQs and HOWTOs. Programs also come with help about their options, -configuration files, and usage.

- -
-
-

2.1 System Help

- -
-

2.1.1 man

- -

The man command (short for “manual”) is the -traditional form of online documentation in Unix and Linux operating systems. Comprised -of specially formatted files, the “man pages”, are written for the vast -majority of commands and are distributed with the software itself. Executing man somecommand will display the man page for (naturally) the -command specified, in our example this would be the imaginary program somecommand.

- -

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.

- -

For example:

- -

You might see a reference to man(1). The numbering tells you -that “man” is documented in section 1 (user -commands); you can specify that you want the section 1 man page for “man” -with the command man 1 man. Specifying the section that man -should look in is useful in the case of multiple items with the same name.

- -
-

Table 2-1. Man Page Sections

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SectionContents
Section 1user commands (intro only)
Section 2system calls
Section 3C library calls
Section 4devices (e.g., hd, sd)
Section 5file formats and protocols (e.g., wtmp, /etc/passwd, -nfs)
Section 6games (intro only)
Section 7conventions, macro packages, etc. (e.g., nroff, ascii)
Section 8system administration (intro only)
-
- -

In addition to man(1), there are the commands whatis(1) and apropos(1) available to you, -whose shared purpose is to make it easier to find information in the man system.

- -

The command whatis gives a very brief description of system -commands, somewhat in the style of a pocket command reference.

- -

Example:

- - - - - -
-
-% whatis whatis
-whatis (1)  - search the whatis database for complete words
-
-
- -

The command apropos is used to search for a man page -containing a given keyword.

- -

Example:

- - - - - -
-
-% apropos wav
-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&T GIS WaveLAN ISA device driver
-wavelan_cs  (4)  - AT&T GIS WaveLAN PCMCIA device driver
-wvlan_cs    (4)  - Lucent WaveLAN/IEEE 802.11 device driver
-
-
- -

If you'd like further information on any of these commands, read their man pages for -the details. ;)

-
- -
-
-

2.1.2 The /usr/doc Directory

- -

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 /usr/doc directory. Each program will (usually) install its own -documentation in the order of:

- -

/usr/doc/$program-$version

- -

Where $program is the name of the program you are -wanting to read about, and $version is (obviously) the -appropriate version of software package installed on your system.

- -

For example, to read the documentation for the command man(1) -you would want to cd to:

- - - - - -
-
-% cd /usr/doc/man-$version
-
-
- -

If reading the appropriate man page(s) doesn't provide you with enough information, or -address what you're looking for in particular, the /usr/doc -directory should be your next stop.

-
- -
-
-

2.1.3 HOWTOs and -mini-HOWTOs

- -

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 /usr/doc/Linux-HOWTOs and the mini-HOWTOs to -/usr/doc/Linux-mini-HOWTOs.

- -

Also included in the same package series is a collection of FAQs, which is an acronym -which stands for

- -
- -- - - - - - - - - - - - - -
Frequently
Asked
Questions
-
- -

These documents are written in a “Question and answer” style for -(surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look -if you're just looking for a “Quick Fix” to something. If you decide to -install the FAQs during setup, you will find them installed to the /usr/doc/Linux-FAQs directory.

- -

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!

-
-
- -
-
-

2.2 Online Help

- -

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.

- -
-
-

2.2.1 The -Official Website and Help Forums

- -

The Official Slackware -Website

- -

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 http://www.userlocal.com/phorum/.

- -

After the forums were taken down on http://slackware.com, several other sites sprang up that offered forum -support for Slackware. After much thought, Pat chose to endorse www.linuxquestions.org as the official -forum for Slackware Linux.

-
- -
-
-

2.2.2 E-mail -Support

- -

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 “The Old -School”. 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.

- -

The e-mail address for technical support is: support@slackware.com. Other e-mail addresses and contact -information are listed on the website.

- -
-
-

2.2.2.1 Slackware Linux Project Mailing -Lists

- -

We have several mailing lists, available in digest and normal forms. Check the -instructions for how to subscribe.

- -

To subscribe to a mailing list, email:

- -

majordomo@slackware.com

- -

with the phrase “subscribe [name -of list]” in the body of the email. The list choices are described -below (use one the names below for the name of the list).

- -

Archives of the mailing list can be found on Slackware's website at:

- -

http://slackware.com/lists/archive/

- -
-
-
slackware-announce
- -
-

The slackware-announce mailing list is for announcements of -new versions, major updates and other general information.

-
- -
slackware-security
- -
-

The slackware-security 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.

-
-
-
- -

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 slackware-announce-digest or slackware-security-digest.

-
-
- -
-
-

2.2.3 -Non-Official Websites and Help Forums

- -
-

2.2.3.1 Websites

- -
-
-
Google
- -
-

The Kung-Fu Master of Search Engines. When you absolutely, positively gotta find every -last kernel of information on a subject: Accept no substitutes.

-
- -
Google:Linux
- -
-

Linux-Specific searches

-
- -
Google:BSD
- -
-

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.

-
- -
Google:Groups
- -
-

Search through decades of Usenet posts for your pearls of wisdom.

-
- -
http://userlocal.com
- -
-

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.

-
-
-
-
- -
-
-

2.2.3.2 Web-based Resources

- -
-
-
linuxquestions.org
- -
-

The officially sanctioned web-forum for Slackware users.

-
- -
LinuxISO.org -Slackware Forum
- -
-

“A place to download and get help with Linux.”

-
- -
alt.os.linux.slackware FAQ
- -
-

Another FAQ

-
-
-
-
- -
-
-

2.2.3.3 Usenet Groups (NNTP)

- -

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.

- -

alt.os.linux.slackware

- -

alt.os.linux.slackware, better known as aols (not to be -confused with AOL®!) is one of the most active places -to find technical help with Slackware problems. Like every Usenet newsgroup, a few -unhelpful participants (“trolls”) 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.

-
-
-
-
- -
-
-

Chapter 3 Installation

- -

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.

- -
-
-

3.1 Getting -Slackware

- -
-

3.1.1 The Official Disc and Box -Sets

- -

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 “live” 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 “extra” folder. The third and fourth -CDs contain the source code to all of Slackware, along with the original edition of this -book.

- -

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.

- -

The preferred method for shopping for Slackware merchandise is online at the Slackware -store.

- -

http://store.slackware.com

- -

You can also call or e-mail your order in.

- -
-

Table 3-1. Slackware Linux, Inc. Contact Information

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MethodContact Details
Telephone1-(925) 674-0783
Websitehttp://store.slackware.com
Emailorders@slackware.com
Postal1164 Claremont Drive, Brentwood, CA 94513
-
-
- -
-
-

3.1.2 Via the Internet

- -

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 Chapter 2 first.

- -

The official Slackware Linux Project website is located at:

- -

http://www.slackware.com/

- -

The primary FTP location for Slackware Linux is:

- -

ftp://ftp.slackware.com/pub/slackware/

- -

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 http://www.slackware.com/getslack.

-
-
- -
-
-

3.2 -System Requirements

- -

An easy Slackware installation requires, at minimum, the following:

- -
-

Table 3-2. System Requirements

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HardwareRequirement
Processor586
RAM32 MB
Disk Space1GB
Media Drive4x CD-ROM
-
- -

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.

- -

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.

- -

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 LOWMEM.TXT file in the distribution tree for -a few helpful hints.

- -
-
-

3.2.1 The Software Series

- -

For reasons of simplicity, Slackware has historically been divided into software -series. Once called “disk sets” 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.

- -

The following is a brief description of each software series.

- -
-

Table 3-3. Software Series

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SeriesContents
AThe base system. Contains enough software to get up and running and have a text -editor and basic communication program.
APVarious applications that do not require the X Window System.
DProgram development tools. Compilers, debuggers, interpreters, and man pages are all -here.
EGNU Emacs.
FFAQs, HOWTOs, and other miscellaneous documentation.
GNOMEThe GNOME desktop environment.
KThe source code for the Linux kernel.
KDEThe 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.
KDEIInternationalization packages for the KDE desktop.
LLibraries. Dynamically linked libraries required by many other programs.
NNetworking programs. Daemons, mail programs, telnet, news readers, and so on.
TteTeX document formatting system.
TCLThe Tool Command Language. Tk, TclX, and TkDesk.
XThe base X Window System.
XAPX Applications that are not part of a major desktop environment (for example, -Ghostscript and Netscape).
YBSD Console games
-
-
- -
-
-

3.2.2 -Installation Methods

- -
-

3.2.2.1 Floppy

- -

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.

- -

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.

-
- -
-
-

3.2.2.2 CD-ROM

- -

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.

- -

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.

- -

Section 3.2.3 and Section 3.2.5 provide information on choosing -and creating floppies from which to boot, should this be necessary.

-
- -
-
-

3.2.2.3 NFS

- -

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 Section 5.6.

- -

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.

-
-
- -
-
-

3.2.3 Boot Disk

- -

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 bootdisks/ directory in the distribution tree.

- -

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 bootdisks/README.TXT. -However, most people are able to use the bare.i (for IDE -devices) or scsi.s (for SCSI devices) boot disk image.

- -

See Section 3.2.6 for instructions on -making a disk from an image.

- -

After booting, you will be prompted to insert the root disk. We recommend that you -just humor the boot disk and play along.

-
- -
-
-

3.2.4 Root Disk

- -

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 install.1 and install.2 images. Here you -can also find the network.dsk, pcmcia.dsk, rescue.dsk, and sbootmgr.dsk disks.

-
- -
-
-

3.2.5 Supplemental Disk

- -

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 network.dsk and pcmcia.dsk. Recently other supplemental disks such as rescue.dsk and sbootmgr.dsk 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 sbootmgr.dsk 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.

- -

The root disk will instruct you on the use of supplemental disks when it is -loaded.

-
- -
-
-

3.2.6 Making the Disks

- -

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 dd(1) command. Assuming bare.i is your -disk image file and your floppy drive is /dev/fd0, the command -to make a bare.i floppy is:

- - - - - -
-
-% dd if=bare.i of=/dev/fd0
-
-
- -

If you're running a Microsoft OS, you'll need to use the RAWRITE.EXE program, which is included in the distribution tree in -the same directories as the floppy images. Again assuming that bare.i is your disk image file and your floppy drive is A:, open a DOS prompt and type the following:

- - - - - -
-
-C:\ rawrite a: bare.i
-
-
-
-
- -
-
-

3.3 -Partitioning

- -

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 (/) and one for swap space.

- -

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 cfdisk(8) or fdisk(8). The cfdisk program provides a more user-friendly interface than the -regular fdisk program, but does lack some features. We will -briefly explain the fdisk program below.

- -

Begin by running fdisk 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 /dev/hda, the primary slave is /dev/hdb, and so on. SCSI disks follow the same type system, but -are in the form of /dev/sdX. You -will need to start fdisk and pass it your hard disk:

- - - - - -
-
-# fdisk /dev/hda
-
-
- -

Like all good Unix programs, fdisk 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 p at the fdisk prompt:

- - - - - -
-
-Command (m for help): 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.

- -
- - - - - -
Warning -

IT IS VERY IMPORTANT THAT YOU BACK UP ANY INFORMATION YOU WANT TO SAVE BEFORE -DESTROYING THE PARTITION IT LIVES ON.

-
-
- -

There is no easy way to recover from deleting a partition, so always back up before -playing with them.

- -

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 d command to delete those:

- - - - - -
-
-Command (m for help): d
-Partition number (1-4): 1
-
-
- -

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 / and one for swap. Over time, you'll develop a method that works -well for you.

- -

I use two basic partition schemes. The first is for a desktop. I make 4 partitions, -/, /home, /usr/local, and swap. This lets me re-install or upgrade the entire -installation under / without wiping out my data files under -/home or my custom compiled applications under /usr/local. For -servers, I often replace the /usr/local partition with a /var partition. Many different servers store information on that -partition and having it kept separate from / has certain -performance benefits. For now, we're sticking with just two partitions: / and swap.

- -

Now we create the partitions with the n command:

- - - - - -
-
-Command (m for help): n
-Command action
-   e   extended
-   p   primary partition (1-4)
-p
-Partition number (1-4):1
-First cylinder (0-1060, default 0):0
- Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M
-
-
- -

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.

- - - - - -
-
-Command (m for help):n
-Command action
-   e   extended
-   p   primary partition (1-4)
-p
-Partition number (1-4):2
-First cylinder (124-1060, default 124):124
-Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060
-
-
- -

We are almost done. We need to change the type of the first partition to type 82 -(Linux swap). Type t to change the type, select the first -partition, and type 82. Before writing your changes to the -disk, you should look at the new partition table one last time. Use the p in fdisk to display the partition -table. If everything looks good, type w to write your -changes to the disk and quit fdisk.

-
- -
-
-

3.4 The setup Program

- -

Once you have created your partitions, you are ready to install Slackware. The next -step in the installation process is running the setup(8) -program. To do so, simply type setup at the shell prompt. setup is a menu-driven system for actually installing the Slackware -packages and configuring your system.

- -
-

-
- -

The setup process goes something like this: You step through each option in the setup 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 -“Okay” and “Cancel” 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 [X]) are toggled using the spacebar.

- -

Of course, all of that is described in the “help” section of setup, but we believe in giving our readers their money's worth.

- -
-
-

3.4.1 HELP

- -

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 setup -(much like the one we're writing now, but less involved) and instructions for navigating -the rest of the install.

- -
-

-
-
- -
-
-

3.4.2 KEYMAP

- -

If you require a keymap other than the United States “qwerty” layout, you -may want to take a look at this section. It offers a number of alternate layouts for your -keyboarding enjoyment.

- -
-

-
-
- -
-
-

3.4.3 ADDSWAP

- -
-

-
- -

If you created a swap partition (back in Section -3.3), 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.

-
- -
-
-

3.4.4 TARGET

- -
-

-
- -

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.

- -

The first option in the target section is the selection of a partition on which to -install your root (/) 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 /dev/hda3, to be your home filesystem. -This is just an example; map the partitions as you see fit.)

-
- -
-
-

3.4.5 SOURCE

- -

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.

- -
-

-
- -

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.

- -

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 network.dsk floppy to add support for your network controller.

- -

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.

-
- -
-
-

3.4.6 SELECT

- -

The select option allows you to select the software series that you wish to install. -These series are described in Section 3.2.1. -Please note that you must install the A series to have a working base system. All other -series are optional.

- -
-

-
-
- -
-
-

3.4.7 INSTALL

- -

Assuming that you have gone through the “target”, “source”, -and “select” options, the install 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: full, newbie, menu, expert, custom, and tag path.

- -
-

-
- -

The full option will install every package from all the -software series that you chose in the “select” 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.

- -

The next option is newbie. This option installs all of the -required packages in the selected series. For all other packages, it offers a prompt -where you can select “Yes”, “No”, or “Skip”. 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.

- -

Menu 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.

- -

For the more advanced user, install offers the expert -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.

- -

The custom and tag path 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 Section 18.4.

- -

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.

- -

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 Chapter 18.

-
- -
-
-

3.4.8 CONFIGURE

- -

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:

- -
-
-

3.4.8.1 Kernel selection

- -

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.

- -
-

-
-
- -
-
-

3.4.8.2 Make a boot disk

- -

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, simple, simply (go figure) writes a kernel to the floppy. A more -flexible (and highly recommended) option is lilo, which will of -course create a lilo boot disk. See LILO in Section 7.1 for -more information. Of course, you may also choose to simply continue, in which case no boot disk will be made.

- -
-

-
-
- -
-
-

3.4.8.3 Modem

- -

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.

- -
-

-
- -

These next configuration subsections may or may not appear, depending on whether or -not you installed their corresponding packages.

-
- -
-
-

3.4.8.4 Timezone

- -

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.

- -
-

-
-
- -
-
-

3.4.8.5 Mouse

- -

This subsection simply asks what kind of mouse you have, and whether you want gpm(8) console mouse support enabled on bootup.

- -
-

-
-
- -
-
-

3.4.8.6 Hardware clock

- -

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.

- -
-

-
-
- -
-
-

3.4.8.7 Font

- -

The font subsection allows you to choose from a list of custom console fonts.

- -
-

-
-
- -
-
-

3.4.8.8 LILO

- -

Here you are prompted for installation of LILO (the LInux LOader; see Section 7.1 for more information).

- -
-

-
- -

If Slackware is to be the only operating system on your computer, simple should work just fine for you. If you are dual-booting, the -expert option is a better choice. See Section 7.3 for more information on dual-booting. The third -option, do not install, 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.

-
- -
-
-

3.4.8.9 Network

- -

The network configuration subsection is actually netconfig. -See Section 5.1 for more information.

-
- -
-
-

3.4.8.10 X Window Manager

- -

This subsection will allow you to choose a default window manager for X. See Chapter 6 for more details on X and window managers.

- -
-

-
- -

No matter which packages you installed, the last thing configure will do is ask you -whether you want to go ahead and set a root password. For -security reasons, this is probably a good idea; however, like almost everything else in -Slackware, this is your call.

-
-
-
-
- -
-
-

Chapter 4 System -Configuration

- -

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.

- -
-
-

4.1 System Overview

- -

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.

- -
-
-

4.1.1 File System Layout

- -

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 C: 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.

- -

We call the main directory the root directory, and it's denoted with a single slash -(/). 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 /home 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 -/home. You've now grafted on some more space to your system. -And all without having to move many things around.

- -

Below, you will find descriptions of the major top level directories under -Slackware.

- -
-
-
bin
- -
-

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 (ls, cp, and so on) are stored -here. The /bin directory usually doesn't receive modification -after installation. If it does, it's usually in the form of package upgrades that we -provide.

-
- -
boot
- -
-

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 / , but common practice is to put the kernel and related files here -to facilitate dual-booting.

-
- -
dev
- -
-

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 /dev directory. You will find this to be true across many Unix-like -operating systems.

-
- -
etc
- -
-

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.

-
- -
home
- -
-

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 /home directory is provided as the default -location for user home directories.

-
- -
lib
- -
-

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.

-
- -
mnt
- -
-

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.

-
- -
opt
- -
-

Optional software packages. The idea behind /opt is that -each software package installs to /opt/software-package, which makes it easy to remove later. -Slackware distributes some things in /opt (such as KDE in /opt/kde), but you are free to add anything you want to /opt.

-
- -
proc
- -
-

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 /proc directory. You can also send information to the kernel -through some of these files. Try doing cat /proc/cpuinfo.

-
- -
root
- -
-

The system administrator is known as root on the system. root's home directory is kept in /root -instead of /home/root. The reason is simple. What if /home was a different partition from / -and it could not be mounted? root 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.

-
- -
sbin
- -
-

Essential programs that are run by root and during the -system bootup process are kept here. Normal users will not run programs in this -directory.

-
- -
tmp
- -
-

The temporary storage location. All users have read and write access to this -directory.

-
- -
usr
- -
-

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.

-
- -
var
- -
-

System log files, cache data, and program lock files are stored here. This is the -directory for frequently-changing data.

-
-
-
- -

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.

-
- -
-
-

4.1.2 Finding Files

- -

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.

- -
-
-

4.1.2.1 which

- -

The first is the which(1) command. which is usually used to locate a program quickly. It just searches -your PATH and returns the first instance it finds and the -directory path to it. Take this example:

- - - - - -
-
-%  which bash
-/bin/bash
-
-
- -

From that you see that bash is in the /bin directory. This is a very limited command for searching, since -it only searches your PATH.

-
- -
-
-

4.1.2.2 whereis

- -

The whereis(1) command works similar to which, but can also search for man pages and source files. A whereis search for bash should return -this:

- - - - - -
-
-%  whereis bash
-bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
-
-
- -

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 which or -whereis for that.

-
- -
-
-

4.1.2.3 find

- -

The find(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 xinitrc file on the system, -the following command could be used.

- - - - - -
-
-%  find / -name xinitrc
-/var/X11R6/lib/xinit/xinitrc
-
-
- -

find 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 root -can see. But find found our file, so that's good. If only it -could be a bit faster...

-
- -
-
-

4.1.2.4 slocate

- -

The slocate(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 updatedb(1) to update the slocate database (before running updatedb by hand, you must first su to the -root user). Here's an example of slocate in action:

- - - - - -
-
-%  slocate xinitrc   # 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
-
-
- -

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.

-
-
- -
-
-

4.1.3 -The /etc/rc.d Directory

- -

The system initialization files are stored in the /etc/rc.d -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.

- -

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.

- -
-
-

4.1.3.1 System Startup

- -

The first program to run under Slackware besides the Linux kernel is init(8). This program reads the /etc/inittab(5) file to see how to run the system. It runs the /etc/rc.d/rc.S script to prepare the system before going into your -desired runlevel. The rc.S 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 rc.S has a lot on -its plate, but here are some scripts in /etc/rc.d that rc.S will call on to complete its work:

- -
-
-
rc.S
- -
-

This is the actual system initialization script.

-
- -
rc.modules
- -
-

Loads kernel modules. Things like your network card, PPP support, and other things are -loaded here. If this script finds rc.netdevice, it will run -that as well.

-
- -
rc.pcmcia
- -
-

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.

-
- -
rc.serial
- -
-

Configures your serial ports by running the appropriate setserial commands.

-
- -
rc.sysvinit
- -
-

Looks for System V init scripts for the desired runlevel and runs them. This is -discussed in more detail below.

-
-
-
-
- -
-
-

4.1.3.2 Runlevel Initialization -Scripts

- -

After system initialization is complete, init moves on to -runlevel initialization. A runlevel describes the state that your machine will be running -in. Sound redundant? Well, the runlevel tells init 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 agetty(8) to handle logins. The files below define the different -runlevels in Slackware Linux.

- -
-
-
rc.0
- -
-

Halt the system (runlevel 0). By default, this is symlinked to rc.6.

-
- -
rc.4
- -
-

Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login -manager.

-
- -
rc.6
- -
-

Reboot the system (runlevel 6).

-
- -
rc.K
- -
-

Startup in single user mode (runlevel 1).

-
- -
rc.M
- -
-

Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is -the default runlevel in Slackware.

-
-
-
-
- -
-
-

4.1.3.3 Network Initialization

- -

Runlevels 2, 3, and 4 will start up the network services. The following files are -responsible for the network initialization:

- -
-
-
rc.inet1
- -
-

Created by netconfig, this file is responsible for -configuring the actual network interface.

-
- -
rc.inet2
- -
-

Runs after rc.inet1 and starts up basic network -services.

-
- -
rc.atalk
- -
-

Starts up AppleTalk services.

-
- -
rc.httpd
- -
-

Starts up the Apache web server. Like a few other rc scripts, this one can also be -used to stop and restart a service. rc.httpd takes arguments of -stop, start, or restart.

-
- -
rc.news
- -
-

Starts up the news server.

-
-
-
-
- -
-
-

4.1.3.4 System V Compatibility

- -

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.

- -

The rc.sysvinit script will search for any System V init -scripts you have in /etc/rc.d and run them, if the runlevel is -appropriate. This is useful for certain commercial software packages that install System -V init scripts

-
- -
-
-

4.1.3.5 Other Files

- -

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.

- -
-
-
rc.gpm
- -
-

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.

-
- -
rc.font
- -
-

Loads the custom screen font for the console.

-
- -
rc.local
- -
-

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.

-
-
-
- -

To enable a script, all you need to do is add the execute permissions to it with the -chmod command. To disable a script, remove the execute -permissions from it. For more information about chmod, see Section 9.2.

-
-
-
- -
-
-

4.2 Selecting a Kernel

- -

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.

- -

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.

- -
-
-

4.2.1 The /kernels Directory on the Slackware CD-ROM

- -

The precompiled Slackware kernels are available in the /kernels 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 /kernels 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:

- -
- --- - - - - - - - - - - - - - - - - - - - - - - -
FilePurpose
System.mapThe system map file for this kernel
bzImageThe actual kernel image
configThe source configuration file for this kernel
-
- -

To use a kernel, copy the System.map and config files to your /boot directory and -copy the kernel image to /boot/vmlinuz. Run /sbin/lilo(8) to install LILO for the new kernel, and then reboot -your system. That's all there is to installing a new kernel.

- -

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.

-
- -
-
-

4.2.2 Compiling a Kernel from Source

- -

The question “Should I compile a kernel for my system?” 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.

- -

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 http://www.kernel.org/mirrors.

- -
-
-

4.2.2.1 Linux Kernel version 2.4.x -Compilation

- - - - - -
-
-% su -
-Password:
-# cd /usr/src/linux
-
-
- -

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 .config -file as this command will delete it without warning):

- - - - - -
-
-# make mrproper
-
-
- -

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:

- - - - - -
-
-# make config           (text-based Q&A version)
-# make menuconfig       (menu driven, text-based version)
-# make xconfig          (X-based version, make sure you are in X first)
-
-
- -
-

Figure 4-1. Kernel Configuration Menu

- -

-
- -

New users will probably find menuconfig 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:

- - - - - -
-
-# make dep
-# make clean
-
-
- -

The next step is to compile the kernel. First try issuing the bzImage command below.

- - - - - -
-
-# make bzImage
-
-
- -

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.

- - - - - -
-
-# make modules
-
-
- -

We can now install the kernel and modules that you compiled. To install the kernel on -a Slackware system, these commands should be issued:

- - - - - -
-
-# mv /boot/vmlinuz /boot/vmlinuz.old
-# cat arch/i386/boot/bzImage > /vmlinuz
-# mv /boot/System.map /boot/System.map.old
-# cp System.map /boot/System.map
-# make modules_install
-
-
- -

You will want to edit /etc/lilo.conf and add a section to -boot your old kernel in case your new one does not work. After doing that, run /sbin/lilo to install the new boot block. You can now reboot with -your new kernel.

-
- -
-
-

4.2.2.2 Linux Kernel Version -2.6.x

- -

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 make dep and make -clean. 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 V=1 -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.

- - - - - -
-
-# make bzImage V=1
-
-
-
-
- -
-
-

4.2.3 Using Kernel Modules

- -

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.

- -

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.

- -

Modules are stored in the /lib/modules/kernel version directory on your system. They can be -loaded at boot time through the rc.modules 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 lsmod(1) command:

- - - - - -
-
-# lsmod
-Module                  Size  Used by
-parport_pc              7220   0 
-parport                 7844   0  [parport_pc]
-
-
- -

You can see here that I only have the parallel port module loaded. To remove a module, -you use the rmmod(1) command. Modules can be loaded by the modprobe(1) or insmod(1) command. modprobe is usually safer because it will load any modules that the -one you're trying to load depends on.

- -

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 kmod in its kernels. kmod is a kernel -option that enables the kernel to automatically load modules as they are requested. For -more information on kmod and how it is configured, see /usr/src/linux/Documentation/kmod.txt. You'll have needed to have -the kernel source package, or downloaded kernel source from http://kernel.org.

- -

More information can be found in the man pages for each of these commands, plus the -rc.modules file.

-
-
-
- -
-
-

Chapter 5 Network -Configuration

- -
-

5.1 Introduction: netconfig is your -friend.

- -

When you initially installed Slackware, the setup program invoked the netconfig program. netconfig attempted to -perform the following functions for you:

- -
    -
  • -

    It asked you for the name of your computer, and the domain name for your computer.

    -
  • - -
  • -

    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:

    - -
      -
    • -

      Static-IP

      -
    • - -
    • -

      DHCP

      -
    • - -
    • -

      Loopback

      -
    • -
    - -
    -
    -
  • - -
  • -

    It then offered to probe for a network card to configure.

    -
  • -
- -

netconfig 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:

- -
    -
  1. -

    You should never trust a setup program to properly configure your computer. If you use -a setup program, you should review the configuration yourself.

    -
  2. - -
  3. -

    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.

    -
  4. -
-
- -
-
-

5.2 Network Hardware Configuration

- -

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 The GNU/Linux -Beginners Group Hardware Compatibility Links and The Linux -Documentation Project Hardware HOWTO) 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.

- -

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.

- -
-
-

5.2.1 Loading Network Modules

- -

Kernel modules that are to be loaded on boot-up are loaded from the rc.modules file in /etc/rc.d or by the -kernel's auto module loading started by /etc/rc.d/rc.hotplug. -The default rc.modules file includes a Network device support -section. If you open rc.modules and look for that section, -you'll notice that it first checks for an executable rc.netdevice file in /etc/rc.d/. This -script is created if setup successfully autoprobes your network -device during installation.

- -

Below that “if” 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 rc.modules as root 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.

-
- -
-
-

5.2.2 LAN (10/100/1000Base-T and Base-2) -cards

- -

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. /sbin/netconfig should have probed for your card and -successfully set up your rc.netdevice 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.

-
- -
-
-

5.2.3 Modems

- -

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 VITALLY 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.

- -

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.

- -

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.

-
- -
-
-

5.2.4 PCMCIA

- -

As part of your Slackware install, you are given the opportunity to install the pcmcia -package (in the “A” 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 /lib/modules/`uname --r`/pcmcia directory. You may need to do some experimentation to find a module that -will work with your network card.

- -

You will need to edit /etc/pcmcia/network.opts (for an -Ethernet card) or /etc/pcmcia/wireless.opts (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.

-
-
- -
-
-

5.3 TCP/IP Configuration

- -

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 ifconfig -a.

- - - - - -
-
-# ifconfig -a
-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)
-
-
- -

If you just typed /sbin/ifconfig without the -a suffix, you would not see the eth0 -interface, as your network card does not yet have a valid IP address or route.

- -

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.

- -
-
-

5.3.1 DHCP

- -

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 client boots, it puts out a request on the Local Area Network -for a DHCP server to assign it an -IP address. The DHCP server has a pool (or scope) of IP addresses available. The server will respond to -this request with an IP address from the pool, along with a lease time. Once the lease time for a given IP address lease -has expired, the client must contact the server again and repeat the negotiation.

- -

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:

- -

    Client: Is there a DHCP server available on the LAN?
- -    Server: Yes, there is. Here I am.
- -    Client: I need an IP address.
-    Server: You may take 192.168.10.10 for 19200 seconds.
- -    Client: Thank you.

- -

    Client: Is there a DHCP server available on the LAN?
- -    Server:Yes, there is. Here I am.
- -    Client:I need an IP address. The last time we
- -    talked, I had 192.168.10.10;
-    May I have it again?
-    Server:Yes, you may (or No, you may not: take 192.168.10.12 instead).
- -    Client: Thank you.

- -

The DHCP client in Linux is /sbin/dhcpcd. If you load /etc/rc.d/rc.inet1 in your favorite text editor, you will notice -that /sbin/dhcpcd is called about midway through the script. -This will force the conversation shown above. dhcpcd 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.

- -

Setting up DHCP on Slackware is simple. Just run netconfig -and select DHCP when offered. If you have more than one NIC and do not wish eth0 to be configured by DHCP, just edit the /etc/rc.d/rc.inet1.conf file and change the related variable for -your NIC to “YES”.

-
- -
-
-

5.3.2 Static IP

- -

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.

-
- -
-
-

5.3.3 /etc/rc.d/rc.inet1.conf

- -

If you plan on assigning an IP address to your new Slackware box, you may do so either -through the netconfig script, or you may edit /etc/rc.d/rc.inet1.conf. In /etc/rc.d/rc.inet1.conf , you will notice:

- - - - - -
-
-    # Primary network interface card (eth0)
-    IPADDR[0]=""
-    NETMASK[0]=""
-    USE_DHCP[0]=""
-    DHCP_HOSTNAME[0]=""
-
-
- -

Then further at the bottom:

- - - - - -
-
-    GATEWAY=""
-
-
- -

In this case, our task is merely to place the correct information between the -double-quotes. These variables are called by /etc/rc.d/rc.inet1 -at boot time to setup the nics. For each NIC, just enter the correct IP information, or -put “YES” for USE_DHCP. -Slackware will startup the interfaces with the information placed here in the order they -are found.

- -

The DEFAULT_GW 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.

-
- -
-
-

5.3.4 /etc/resolv.conf

- -

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 72.9.234.112 into their web -browser to reach www.slackbook.org. After all, who other than the -authors would memorize that IP address? We need to setup DNS, but how? That's where /etc/resolv.conf comes into play.

- -

Chances are you already have the proper options in /etc/resolv.conf. If you setup your network connection using DHCP, -the DHCP server should handle updating this file for you. (Technically the DHCP server -just tells dhcpcd what to put here, and it obeys.) If you need -to manually update your DNS server list though, you'll need to hand edit /etc/resolv.conf. Below is an example:

- - - - - -
-
-# cat /etc/resolv.conf
-nameserver 192.168.1.254
-search lizella.net
-
-
- -

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.

- -

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 -“slackware.com” were in your search path, you could reach http://store.slackware.com by just pointing your web browser at http://store.

- - - - - -
-
-# ping -c 1 store
-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
-
-
- -
-
-
- -
-
-

5.3.5 /etc/hosts

- -

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 /etc/hosts file which contains a local list of DNS names and IP -addresses they should match to.

- - - - - -
-
-# cat /etc/hosts
-127.0.0.1           localhost  locahost.localdomain
-192.168.1.101       redtail
-172.14.66.32        foobar.slackware.com
-
-
- -

Here you can see that localhost has an IP address of 127.0.0.1 -(always reserved for localhost), redtail can be reached at 192.168.1.101, and foobar.slackware.com is -172.14.66.32.

-
-
- -
-
-

5.4 -PPP

- -

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.

- -
-
-

5.4.1 pppsetup

- -

Slackware includes a program called pppsetup to configure -your system to use your dialup account. It shares a look and feel similar to our netconfig program. To run the program, make sure you are logged in -as root. Then type pppsetup to run it. You should see a screen -like this:

- -

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.

- -

After the program runs, it will create a ppp-go program and a -ppp-off program. These are used to start and stop, respectively, -the PPP connection. The two programs are located in /usr/sbin -and need root privileges to run.

-
- -
-
-

5.4.2 /etc/ppp

- -

For most users, running pppsetup 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 /etc/ppp. Here is a list of what the different files are for:

- -
- --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ip-down -

This script is run by pppd after the PPP connection is -ended.

-
ip-up -

This script is run by pppd when there's a successful ppp -connection. Put any commands you want run after a successful connection in this file.

-
options -

General configuration options for pppd.

-
options.demand -

General configuration options for pppd when run in demand -dialing mode.

-
pppscript -

The commands sent to the modem.

-
pppsetup.txt -

A log of what you entered when you ran pppsetup.

-
-
- -
- - - - - -
Note -

Most of these files won't be there until after you run pppsetup.

-
-
-
-
- -
-
-

5.5 Wireless

- -

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.

- -

There are three basic steps to configuring an 802.11 wireless Ethernet card:

- -
    -
  1. -

    Hardware support for the wireless card

    -
  2. - -
  3. -

    Configure the card to connect to a wireless access point

    -
  4. - -
  5. -

    Configure the network

    -
  6. -
- -
-
-

5.5.1 Hardware Support

- -

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 /etc/rc.d/rc.modules. netconfig may not detect your wireless card, so you'll probably need -to determine the card yourself. See http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ for more -information on kernel drivers for various wireless cards.

-
- -
-
-

5.5.2 Configure the Wireless -Settings

- -

The vast majority of this work is done by iwconfig, so as -always read the man page for iwconfig if you need more -information.

- -

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:

- -
    -
  • -

    The domain ID, or name of the network (called the ESSID by iwconfig)

    -
  • - -
  • -

    The channel the WAP uses

    -
  • - -
  • -

    The encryption settings, including any keys used (preferably in hexadecimal)

    -
  • -
- -
- - - - - -
Warning -

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.

-
-
- -

Once you've gathered the above information, and assuming you've used modprobe to load the appropriate kernel driver, you can edit rc.wireless.conf and add your settings. The rc.wireless.conf 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 rc.wireless.conf -correspond to the iwconfig parameters, and are read by rc.wireless and used in the appropriate iwconfig commands.

- -

If you have your key in hexadecimal, that's ideal, since you can be fairly confident -that your WAP and iwconfig 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).

- -

Once you've modified rc.wireless.conf, run rc.wireless as root, then run rc.inet1, again as root. You can test -your wireless networking with standard testing tools such as ping, along with iwconfig. If you have a -wired interface you may wish to use ifconfig 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.

- -

Now that you've seen how to edit /etc/rc.d/rc.wireless 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.

- -

The first step is to tell your wireless NIC what network to join. Make sure you -replace “eth0” with whatever network interface your -wireless card uses and change “mynetwork” 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).

- - - - - -
-
-# iwconfig eth0 essid "mynetwork"
-# iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX
-# iwconfig eth0 channel n
-
-
- -

That should be all on the wireless end of things.

-
- -
-
-

5.5.3 Configure the Network

- -

This is done in the exact same way as wired networks. Simply refer to earlier sections -of this chapter.

-
-
- -
-
-

5.6 -Network File Systems

- -

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.

- -

Ideally, we'd like to be able to use a network file system 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.

- -
-
-

5.6.1 SMB/Samba/CIFS

- -

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.

- -

Samba's configuration file is /etc/samba/smb.conf; 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.

- -

smb.conf 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.

- -

You will most likely wish to edit your smb.conf file to -reflect the network settings in your LAN. I would suggest modifying the items listed -below:

- - - - - -
-
-[global]
-# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
-workgroup = MYGROUP
-
-
- -

Change the workgroup name to reflect the workgroup or domain name that you are using -locally.

- - - - - -
-
-# server string is the equivalent of the NT Description field
-server string = Samba Server
-
-
- -

This will be the name of your Slackware computer displayed in the Network Neighborhood -(or My Network Places) folder.

- - - - - -
-
-# 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
-
-
- -

You'll almost certainly wish to implement user level security on your Slackware -system.

- - - - - -
-
-# 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
-
-
- -

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.

- -

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 smbpasswd command. smbpasswd 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).

- - - - - -
-
-Adding a user to the /etc/samba/private/smbpasswd file.
-# smbpasswd -a user
-Adding a machine name to the /etc/samba/private/smbpasswd file.
-# smbpasswd -a -m machine
-
-
- -

It's important to note that a given username or machine name must already exist in the -/etc/passwd file. You can accomplish this simply with the adduser command. Note that when using the adduser command to add a machine name one must append a dollar sign -(“$”) to the machine name. This should not however, be done with smbpasswd. smbpasswd appends the dollar -sign on its own. Failing to mangle the machine name this way with adduser will result in an error when adding the machine name to -samba.

- - - - - -
-
-# adduser machine$
-
-
-
- -
-
-

5.6.2 Network File System (NFS)

- -

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.

- -

NFS configuration is governed by the /etc/exports file. When -you load the default /etc/exports 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 -/home/foo to workstation Bar, we would simply add the line:

- - - - - -
-
-/home/foo Bar(rw)
-
-
- -

to our /etc/exports. Below, you'll find the example from the -man page for the exports file:

- - - - - -
-
-# 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)
-
-
- -

As you can see, there are various options available, but most should be fairly clear -from this example.

- -

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 root_squash -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. root_squash seems to be enabled by default as a security measure, -but the authors recommend specifying it anyway in your /etc/exports file.

- -

You can also export a directory directly from the command line on the server by using -the exportfs command as follows:

- - - - - -
-
-# exportfs -o rw,no_root_squash Bar:/home/foo
-
-
- -

This line exports the /home/foo directory to the computer -“Bar” and grants Bar -read/write access. Additionally, the NFS server will not invoke root_squash, which means any user on Bar with a UID of -“0” (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 computer:/directory/file syntax, you are referring to a file in a -directory on a given computer).

- -

You'll find more information on the man page for the exports file.

-
-
-
- -
-
-

Chapter 6 X Configuration

- -

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.

- -

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.

- -

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 startx command right out of the box.

- -

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.

- -

To configure X, you'll need to make an /etc/X11/xorg.conf -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.

- -
-
-

6.1 xorgconfig

- -

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 /etc/X11/xorg.conf file should be a good starting -point for most systems (and should work without modification).

- -

This is a text-based X configuration program that's designed for the advanced system -administrator. Here's a sample walkthrough using xorgconfig. -First, start the program:

- - - - - -
-
-# xorgconfig
-
-
- -

This will present a screenful of information about xorgconfig. To continue, press ENTER. -xorgconfig will ask you to verify you have set your PATH correctly. It should be fine, so go ahead and hit ENTER.

- -
-

Figure 6-1. xorgconfig Mouse Configuration

- -

-
- -

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 xorgconfig will ask you about using ChordMiddle and Emulate3Buttons. 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 (Emulate3Buttons lets you simulate the middle button by pressing both -buttons simultaneously). Then, enter the name of your mouse device. The default choice, -/dev/mouse, 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 /dev/gpmdata to have X get information -about the mouse through gpm. In some cases (with busmice -especially) this can work better, but most users shouldn't do this.

- -

xorgconfig will ask you about enabling special key bindings. -If you need this say “y”. Most users can say -“n” -- enter this if you're not sure.

- -
-

Figure 6-2. xorgconfig Horizontal Sync

- -

-
- -

In the next section you enter the sync range for your monitor. To start configuring -your monitor, press ENTER. 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.

- -
-

Figure 6-3. xorgconfig Vertical Sync

- -

-
- -

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 xorg.conf file. Enter anything you like on these 3 lines -(including nothing at all).

- -
-

Figure 6-4. xorgconfig Video Card

- -

-
- -

Now you have the opportunity to look at the database of video card types. You'll want -to do this, so say “y”, 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.

- -

Next, tell xorgconfig how much RAM you have on your video -card. xorgconfig will want you to enter some more descriptive -text about your video card. If you like, you can enter descriptions on these three -lines.

- -

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 /etc/X11/xorg.conf file and rearrange the modes so 1024x768 (or -whatever mode you like) is the default.

- -

At this point, the xorgconfig 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 startx command.

-
- -
-
-

6.2 -xorgsetup

- -

The second way to configure X is to use xorgsetup, an -automagical configuration program that comes with Slackware.

- -

To run xorgsetup, log in as root and type:

- - - - - -
-
-# xorgsetup
-
-
- -

If you've already got an /etc/X11/xorg.conf 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 /etc/X11/xorg.conf.backup.

-
- -
-
-

6.3 -xinitrc

- -

xinit(1) is the program that actually starts X; it is called -by startx(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. xinit first checks your home directory for a .xinitrc file. If the file is found, it gets run; otherwise, /var/X11R6/lib/xinit/xinitrc (the systemwide default) is used. -Here's a simple xinitrc file:

- - - - - -
-
-#!/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 &
-xclock -geometry 50x50-1+1 &
-xterm -geometry 80x50+494+51 &
-xterm -geometry 80x20+494-0 &
-exec xterm -geometry 80x66+0+0 -name login
-
-
- -

All of those “if” 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 twm(1) window manager, a clock, and three terminals. Note the exec before the last xterm. What that does -is replace the currently running shell (the one that's executing this xinitrc script) with that xterm(1) -command. When the user quits that xterm, the X session will -end.

- -

To customize your X startup, copy the default /var/X11R6/lib/xinit/xinitrc to ~/.xinitrc and edit it, replacing those program lines with whatever -you like. The end of mine is simply:

- - - - - -
-
-# Start the window manager:
-exec startkde
-
-
- -

Note that there are several xinitrc.* files in /var/X11R6/lib/xinit that correspond to various window managers and -GUIs. You can use any of those, if you like.

-
- -
-
-

6.4 -xwmconfig

- -

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 “look and -feel”, 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.

- -

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.

- -

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.

- -

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.

- -

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.

- -

To make desktop selection easy, Slackware also includes a program called xwmconfig that can be used to select a desktop or window manager. It -is run like so:

- - - - - -
-
-% xwmconfig
-
-
- -
-

Figure 6-5. Desktop Configuration with xorgconfig

- -

-
- -

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.

- -

Then just start up X, and you're good to go.

-
- -
-
-

6.5 xdm

- -

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, xdm(1), kdm, and gdm(1).

- -

xdm is the graphical login manager shipped with the X.org -system. It's ubiquitous, but not as fully features as alternatives. kdm is the graphical login manager shipped with KDE, The K Desktop -Environment. Finally, gdm 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.

- -

Unfortunately, Slackware doesn't include a nice program like xwmconfig 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.

- -

In order to start X at boot, you need to boot into run-level 4. Run-levels are just a -way of telling init(8) to do something different when it starts -the OS. We do this by editing the config file for init, /etc/inittab.

- - - - - -
-
-# 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:
-
-
- -

In order to make Slackware boot to a graphical environment, we just change the 3 to a -4.

- - - - - -
-
-  # Default runlevel. (Do not set to 0 or 6)
-  id:4:initdefault:
-
-
- -

Now Slackware will boot into runlevel 4 and execute /etc/rc.d/rc.4. 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 rc.4.

- - - - - -
-
-  # 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
-
-
- -

As you can see here, rc.4 first checks to see if gdm is executable, and if so runs it. Second on the list is kdm, and finally xdm. One way of choosing a -login manager is to simply remove the ones you don't wish to use using removepkg. You can find out more about removepkg in Chapter 18.

- -

Optionally, you can remove the executable permission from those files that you don't -want to use. We discuss chmod in Chapter 9.

- - - - - -
-
-# chmod -x /usr/bin/gdm
-
-
- -

Finally, you can just comment out the lines for the login manager you don't want to -use.

- - - - - -
-
-  # 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
-
-
- -

Any lines preceded by the hash mark (#) are considered -comments and the shell silently passes them. Thus, even if gdm -is installed and executable, the shell (in this case bash) won't -bother checking for it.

-
-
- -
-
-

Chapter 7 Booting

- -

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.

- -

Another popular utility for booting Linux is GRUB. GRUB is not included or officially -supported by Slackware. Slackware holds to the “tried and true” 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.

- -

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.

- -
-
-

7.1 LILO

- -

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.

- -

Slackware Linux comes with a menu-driven configuration utility called liloconfig. This program is first run during the setup process, but -you can invoke it later by typing liloconfig at the prompt.

- -

LILO reads its settings from the /etc/lilo.conf(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 lilo.conf file, but -failing to re-run lilo to install these changes. liloconfig will -help you build the configuration file so that you can install LILO for your system. If -you prefer to edit /etc/lilo.conf by hand, then reinstalling -LILO just involves typing /sbin/lilo (as root) at the prompt.

- -

When you first invoke liloconfig, it will look like this:

- -
-

Figure 7-1. liloconfig

- -

-
- -

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.

- -

If kernel frame buffer support is compiled into your kernel, liloconfig 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.

- -

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:

- -
-
-
Root
- -
-

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 /boot 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 “1024 cylinder limit”. LILO was unable to boot kernels on partitions past -the 1024th cylinder. Recent editions of LILO have eliminated this problem.

-
- -
Floppy
- -
-

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.

-
- -
MBR
- -
-

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.

- -
- - - - - -
Warning -

This option will overwrite any other booter you have in the MBR.

-
-
-
-
-
- -

After selecting the installation location, liloconfig 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 /etc/lilo.conf 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:

- -
-

Figure 7-2. liloconfig Expert Menu

- -

-
- -

Whatever your system configuration is, setting up a working boot loader is easy. liloconfig makes setting it up a cinch.

-
- -
-
-

7.2 LOADLIN

- -

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.

- -

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 /boot/vmlinuz) and the LOADLIN file -from root's home directory to the DOS partition.

- -

LOADLIN is useful if you would like to make a boot menu on your DOS partition. A menu -could be added to your AUTOEXEC.BAT file that would allow you -to pick between Linux or DOS. A choice of Linux would run LOADLIN, thus booting your -Slackware system. This AUTOEXEC.BAT file under Windows 95 will -provide a sufficient boot menu:

- - - - - -
-
-   @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? -> "
-   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=<root partition device> RO
-   GOTO END
-   :END
-
-
- -

You will want to specify your root partition as a Linux device name, like /dev/hda2 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.

-
- -
-
-

7.3 Dual Booting

- -

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.

- -
-
-

7.3.1 -Windows

- -

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.

- -

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.

- -
-
-

7.3.1.1 Using LILO

- -

Most people will want to use LILO to chose between Linux and Windows. As stated above, -you should install Windows first, then Linux.

- -

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.

- - - - - -
-
-   20GB   Windows boot (C:)
-   1GB   Linux root (/)
-   19GB  Linux /usr (/usr)
-
-
- -

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 “right” way to do it, but -sticking with the rule above should be sufficient.

- -

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.

- -

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.

- -

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).

- -

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 lilo(8) -and lilo.conf(5) provide more detailed information.

- -

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.

-
- -
-
-

7.3.1.2 Using LOADLIN

- -

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.

- -

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.

- -

After installing the operating systems, copy the loadlinX.zip (where X is a version -number, such as 16a) 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:

- - - - - -
-
-# mkdir /win
-# mount -t vfat /dev/hda1 /win
-# mkdir /win/linux
-# cd /root
-# cp loadlin* /win/linux
-# cp /boot/vmlinuz /win/linux
-# cd /win/linuz
-# unzip loadlin16a.zip
-
-
- -

That will create a C:\LINUX directory on your Windows -partition (assuming it's /dev/hda1) and copy over the necessary -stuff for LOADLIN. After doing this, you will need to reboot into Windows to setup a boot -menu.

- -

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.

- - - - - -
-
-C:\> cd \
-C:\> attrib -r -a -s -h MSDOS.SYS
-C:\> edit MSDOS.SYS
-
-
- -

Add this line to the file:

- - - - - -
-
-BootGUI=0
-
-
- -

Now save the file and exit the editor. Now edit C:\AUTOEXEC.BAT so we can add a boot menu. The following provides -an example of what a boot menu block in AUTOEXEC.BAT would look -like:

- - - - - -
-
-cls
-echo System Boot Menu
-echo.
-echo 1 - Linux
-echo 2 - Windows
-echo.
-choice /c:12 "Selection? -> "
-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
-
-
- -

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.

- -

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.

-
- -
-
-

7.3.1.3 Deprecated Windows NT -Hack

- -

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.

- -
    -
  1. -

    Install Windows NT

    -
  2. - -
  3. -

    Install Linux, making sure LILO is installed to the superblock of the Linux -partition

    -
  4. - -
  5. -

    Get the first 512 bytes of the Linux root partition and store it on the Windows NT -partition

    -
  6. - -
  7. -

    Edit C:\BOOT.INI under Windows NT to add a Linux option

    -
  8. -
- -

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 /dev/hda2, issue this -command:

- - - - - -
-
-# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512
-
-
- -

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 /tmp/bootsect.lnx -from the Linux drive to C:\BOOTSECT.LNX on the Windows NT -drive.

- -

The last step is adding a menu option to the Windows NT boot menu. Under Windows NT -open a command prompt.

- - - - - -
-
-C:\WINNT> cd \
-C:\> attrib -r -a -s -h boot.ini
-C:\> edit boot.ini
-
-
- -

Add this line to the end of the file:

- - - - - -
-
-C:\bootsect.lnx="Slackware Linux"
-
-
- -

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.

-
-
- -
-
-

7.3.2 -Linux

- -

Yes, people really do this. This is definitely the easiest dual boot scenario. You can -simply use LILO and add more entries to the /etc/lilo.conf -file. That's all there is to it.

-
-
-
- -
-
-

Chapter 8 The Shell

- -

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 bash(1) man page.

- -
-
-

8.1 Users

- -
-

8.1.1 Logging In

- -

So you've booted, and you're looking at something that looks like this:

- - - - - -
-
-Welcome to Linux 2.4.18
-Last login: Wed Jan   1 15:59:14 -0500 2005 on tty6.
-darkstar login:
-
-
- -

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.

- -

As for the login... If this is your first time, you'll want to log in as root. 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!

-
- -
-
-

8.1.2 Root: The Superuser

- -

Okay, who or what is root? And what's it doing with an account on your system?

- -

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 root is the user above all users; root is all-powerful and all-knowing, and nobody disobeys root. It just isn't -allowed. root is what we call a “superuser”, and -rightly so. And best of all, root is you.

- -

Cool, huh?

- -

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 Section 12.1.1 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.

- -

By the way, if you decide you want to be root while you're logged in as someone else, -no problem. Just use the su(1) command. You'll be asked for root's password and then it will make you root until you exit or logout. You can also become any other user using su, provided you know that user's password: su -logan, for instance, would make you me.

- -
- - - - - -
Note -

root is allowed to su to any user, without requiring their -password.

-
-
-
-
- -
-
-

8.2 The Command -Line

- -
-

8.2.1 Running Programs

- -

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.

- -

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.

- -

For instance, remember that su command from the last section? -Well, it's actually in the /bin directory: /bin/su would run it nicely.

- -

So why, then, does just typing su work? After all, you didn't -say it was in /bin. It could just as easily have been in /usr/local/share, right? How did it know? The answer to that lies in the PATH environment variable; most shells have either PATH or something very much like PATH. It -basically contains a list of directories to look in for programs you try to run. So when -you ran su, your shell ran through its list of directories, -checking each one for an executable file called su 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 ““Command -not found”” error, that only means that the program you tried to run -isn't in your PATH. (Of course, this would be true if the program -doesn't exist at all...) We'll discuss environment variables in more depth in Section 8.3.1.

- -

Remember also that “.” is shorthand for the -current directory, so if you happened to be in /bin, ./su would have worked as an explicit full path.

-
- -
-
-

8.2.2 Wildcard Matching

- -

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 * and ?. By convention, ? usually matches any single character. For instance, suppose -you're in a directory with three files: ex1.txt, ex2.txt, and ex3.txt. You want to copy -all of those files (using the cp command we cover in Section 10.5.1) to another directory, say /tmp. Well, typing cp ex1.txt ex2.txt ex3.txt -/tmp is entirely too much work. It's much easier to type cp -ex?.txt /tmp; the ? will match each of the characters -“1”, “2”, and “3”, and each in turn will be -substituted in.

- -

What's that you say? That's still 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 *. As was already mentioned, * matches -“any number of characters”, including 0. So if those three files were the -only ones in the directory, we could have simply said cp * /tmp -and gotten them all in one fell swoop. Suppose, though, that there is also a file called -ex.txt and one called hejaz.txt. We -want to copy ex.txt but not hejaz.txt; cp ex* /tmp will do that for -us.

- -

cp ex?.txt /tmp, would, of course, only get our original -three files; there's no character in ex.txt to match that ?, so it would be left out.

- -

Another common wildcard is the bracket pair [ ]. Any -characters inside the brackets will be substituted in place of the [ -] to find matches. Sound confusing? It's not too bad. Suppose for instance, we have -a directory containing the following 8 files: a1, a2, a3, a4, aA, aB, aC, and -aD . We want to only find the files ending in numbers; [ ] will do this for us.

- - - - - -
-
-% ls a[1-4]
-a1 a2 a3 a4
-
-
- -

But what we really want is just a1, a2, and a4? In the previous example we -used - to mean all values between 1 and 4. We can also separate individual entries with -commas.

- - - - - -
-
-% ls a[1,2,4]
-a1 a2 a4
-
-
- -

I know what you're thinking now, “Well what about letters?” Linux is -case-sensitive, meaning that a and A are different characters and are only related in your mind. -Capitals always come before lowercase letters, so A and B come before a and b. Continuing with our earlier example, if we wanted files a1, and A1, we can find these quickly -with [ ].

- - - - - -
-
-% ls [A,a]1
-A1 a1
-
-
- -

Note, that if we had included a hyphen instead of a comma, we would have gotten -incorrect results.

- - - - - -
-
-% ls [A-a]1
-A1 B1 C1 D1 a1
-
-
- -

You can also combine hyphen and comma strings.

- - - - - -
-
-% ls [A,a-d]
-A1 a1 b1 c1 d1
-
-
-
- -
-
-

8.2.3 Input/Output Redirection and Piping

- -

(Here comes something cool.)

- - - - - -
-
-% ps > blargh
-
-
- -

Y'know what that is? That's me running ps to see which -processes are running; ps is covered in Section 11.3. That's not the cool part. The cool part is -> blargh, which means, roughly, take the output from ps and write it to a file called blargh. -But wait, it gets cooler.

- - - - - -
-
-% ps | less
-
-
- -

That one takes the output from ps and pipes it through less, so I can scroll through it at my leisure.

- - - - - -
-
-% ps >> blargh
-
-
- -

This is the third most commonly used redirector; it does the same thing as -“>”, except that “>>” will append output from ps to the file blargh, if said file -exists. If not, just like “>”, it will be created. (“>” -will obliterate the current contents of blargh.)

- -

There is also a “<” operator, which means take your input from the -following, but it's not used nearly so often.

- - - - - -
-
-% fromdos < dosfile.txt > unixfile.txt
-
-
- -

Redirection gets really fun when you start piling it up:

- - - - - -
-
-% ps | tac >> blargh
-
-
- -

That will run ps, reverse the lines of its output, and append -those to the file blargh. You can stack as many of these up as -you want; just be careful to remember that they get interpreted from left to right.

- -

See the bash(1) man page for more detailed information on -redirection.

-
-
- -
-
-

8.3 The Bourne Again Shell -(bash)

- -
-

8.3.1 -Environment Variables

- -

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...

- -

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.

- -

set by itself will show you all of the environment variables -that are currently defined, as well as their values. Like most bash built-ins, it can also do several other things (with -parameters); we'll leave it to the bash(1) man page to cover -that, though. Example 8-1 shows an excerpt from -a set command run on one of the author's computers. Notice in -this example the PATH variable that was discussed earlier. -Programs in any of those directories can be run simply by typing the base filename.

- -
-

Example 8-1. Listing Environment Variables with set

- - - - - -
-
-% set
-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='> '
-PS4='+ '
-PWD=/home/logan
-QTDIR=/usr/local/lib/qt
-REMOTEHOST=ninja.tdn
-SHELL=/bin/bash
-
-
-
- - - - - -
-
-% unset VARIABLE
-
-
- -

unset will remove any variables that you give it, wiping out -both the variable and its value; bash 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.)

- - - - - -
-
-% export VARIABLE=some_value
-
-
- -

Now, export is truly handy. Using it, you give the -environment variable VARIABLE the value “some_value”; if VARIABLE didn't exist, -it does now. If VARIABLE already had a value, well, it's gone. -That's not so good, if you're just trying to add a directory to your PATH. In that case, you probably want to do something like this:

- - - - - -
-
-% export PATH=$PATH:/some/new/directory
-
-
- -

Note the use of $PATH there: when you want bash to interpret a variable (replace it with its value), tack a -$ onto the beginning of the variable's name. For instance, echo $PATH will echo the value of PATH, in my -case:

- - - - - -
-
-% echo $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
-
-
-
- -
-
-

8.3.2 Tab -Completion

- -

(Here comes something cool again.)

- -
    -
  1. -

    A commandline interface means lots of typing.

    -
  2. - -
  3. -

    Typing is work.

    -
  4. - -
  5. -

    Nobody likes work.

    -
  6. -
- -

From 3 and 2, we can determine that (4) nobody likes typing. Fortunately, bash saves us from (5) (nobody likes a commandline interface).

- -

How does bash accomplish this wonderful feat, you ask? In -addition to the wildcard expansion we discussed before, bash -features tab completion.

- -

Tab completion works something like this: You're typing the name of a file. Maybe it's -in your PATH, 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. bash will figure out what you want and finish typing it for you!

- -

Example time. /usr/src contains two subdirectories: /usr/src/linux and /usr/src/sendmail. I -want to see what's in /usr/src/linux. So I just type ls /usr/src/l, hit the TAB key, and bash gives me ls /usr/src/linux.

- -

Now, suppose there are two directories /usr/src/linux and -/usr/src/linux-old; If I type /usr/src/l and hit TAB, bash will fill in as much as it can, and I'll get /usr/src/linux. I can stop there, or I can hit TAB again, and bash will show a list of -directories that match what I've typed so far.

- -

Hence, less typing (and hence, people can like commandline interfaces). I told you it -was cool.

-
-
- -
-
-

8.4 Virtual Terminals

- -

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?

- -

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 “virtual terminals”, or -“VTs”.

- -

By pressing Alt and a function key, you can switch -between virtual terminals; each function key corresponds to one. Slackware has logins on -6 VTs by default. Alt+F2 will take you to the -second one, Alt+F3 to the third, etc.

- -

The rest of the function keys are reserved for X sessions. Each X session uses its own -VT, beginning with the seventh (Alt+F7) and -going up. When in X, the Alt+Function key -combination is replaced with Ctrl+Alt+Function; so if you are in X and want to get back to a text login -(without exiting your X session), Ctrl+Alt+F3 will take you to the third. (Alt+F7 will take you back, assuming you're using the first X session.)

- -
-
-

8.4.1 Screen

- -

But what about situations where there are no virtual terminals? What then? -Fortunately, slackware includes a beautiful screen manager aptly named screen. screen is a terminal emulator that -has virtual terminal like capabilities. Executing screen flashes -a brief introduction, then dumps to a terminal. Unlike the standard virtual terminals, -screen has its own commands. All screen -commands are prefixed with a Crtl+A -keystroke. For example, Ctrl+A+C will create a new terminal session. Ctrl+A+N will switch to the next terminal. Ctrl+A+P switches to the -previous terminal.

- -

screen also supports detaching and re-attaching to screen sessions which is particularly useful for remote sessions via -ssh and telnet, (more on those later). -Ctrl+A+D will detach -from the currently running screen. Executing screen -r will list -all currently running screen sessions you may reattach to.

- - - - - -
-
-% screen -r
-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. 
-
-
- -

Running screen -r 1212 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 ssh, 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 -screen 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.

-
-
-
- -
-
-

Chapter 9 Filesystem -Structure

- -

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.

- -

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.

- -
-
-

9.1 Ownership

- -

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 ls command:

- - - - - -
-
-% ls -l /usr/bin/wc
--rwxr-xr-x   1 root     bin    7368 Jul 30  1999 /usr/bin/wc
-
-
- -

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 “root” and the group “bin” own this file.

- -

We can easily change the file owners with the chown(1) (which -means “change owner”) and chgrp(1) (which means -“change group”) commands. To change the file owner to daemon, we would use chown:

- - - - - -
-
-# chown daemon /usr/bin/wc
-
-
- -

To change the group owner to “root”, we would -use chgrp:

- - - - - -
-
-# chgrp root /usr/bin/wc
-
-
- -

We can also use chown to specify the user and group owners -for a file:

- - - - - -
-
-# chown daemon:root /usr/bin/wc
-
-
- -

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 chown -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: -mr.jones@example.com. 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, chmod -would interpret mr.jones as user “mr” and group -“jones”.

- -

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.

-
- -
-
-

9.2 Permissions

- -

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.

- -

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 -ls and can be used by chmod):

- -
-

Table 9-1. Octal Permission Values

- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Permission TypeOctal ValueLetter Value
“sticky” bit1t
set user ID4s
set group ID2s
read4r
write2w
execute1x
-
- -

You add the octal values for each permission group. For example, if you want the group -permissions to be “read” and “write”, you would use -“6” in the group portion of the permission information.

- -

bash's default permissions are:

- - - - - -
-
-% ls -l /bin/bash
--rwxr-xr-x   1 root     bin  477692 Mar 21 19:57 /bin/bash
-
-
- -

The first dash would be replaced with a “d” 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 (rwx). The -group has only read and execute (r-x). And everyone else has -only read and execute (r-x).

- -

How would we set permissions on another file to resemble bash's? First, let's make an example file:

- - - - - -
-
-% touch /tmp/example
-% ls -l /tmp/example
--rw-rw-r---  1 david    users    0 Apr 19 11:21 /tmp/example
-
-
- -

We will use chmod(1) (which means “change mode”) -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 7. Read and execute would have 5. Run -those together and pass them to chmod like this:

- - - - - -
-
-% chmod 755 /tmp/example
-% ls -l /tmp/example
--rwxr-xr-x   1 david    users    0 Apr 19 11:21 /tmp/example
-
-
- -

Now you may be thinking, “Why didn't it just create a file with those -permissions in the first place?” Well the answer is simple. bash includes a nice little built-in called umask. This is included with most Unix shells as well, and controls -what file permissions are assigned to newly created files. We discussed bash built-ins to some degree in Section 8.3.1. umask takes a -little getting used to. It works very similar to chmod, only in -reverse. You specify the octal values you do not wish to have present in newly created -files. The default umask value is 0022.

- - - - - -
-
-% umask
-0022
-% umask 0077
-% touch tempfile
-% ls -l tempfile
--rw--------  1 david    users    0 Apr 19 11:21 tempfile
-
-
- -

See the man page for bash for more information.

- -

To set special permissions with chmod, 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:

- - - - - -
-
-% chmod 6755 /tmp/example
-% ls -l /tmp/example
--rwsr-sr-x   1 david    users    0 Apr 19 11:21 /tmp/example
-
-
- -

If the octal values confuse you, you can use letters with chmod. The permission groups are represented as:

- -
- --- - - - - - - - - - - - - - - - - - - - - -
Owneru
Groupg
Worldo
All of the abovea
-
- -

To do the above, we would have to use several command lines:

- - - - - -
-
-% chmod a+rx /tmp/example
-% chmod u+w /tmp/example
-% chmod ug+s /tmp/example
-
-
- -

Some people prefer the letters over the numbers. Either way will result in the same -set of permissions.

- -

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.

- - - - - -
-
-% ls -l /tmp/
--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
-% chmod g-rwx /tmp/example?
--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
-
-
- -

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 “root”). Set group ID is the same, but for the group.

- -

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 root, you are allowing anyone to run that program and run it as root. Since root 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.

-
- -
-
-

9.3 Links

- -

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.

- -

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.

- -

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 /var/tmp actually be a symbolic link -to /tmp for example.

- -

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:

- - - - - -
-
-% ls -l /bin/sh
-lrwxrwxrwx   1 root     root     4 Apr  6 12:34 /bin/sh -> bash
-
-
- -

The sh shell under Slackware is actually bash. Removing links is done using rm. The -ln command is used to create links. These commands will be -discussed in more depth in Chapter 10.

- -

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.

-
- -
-
-

9.4 Mounting Devices

- -

As was previously discussed in Section -4.1.1, 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 -mount(1) and umount(1) commands.

- -

Some devices are automatically mounted when you boot up your computer. These are -listed in the /etc/fstab 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.

- -
-
-

9.4.1 fstab

- -

Let's look at an example of the /etc/fstab file:

- - - - - -
-
-% cat /etc/fstab
-/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
-
-
- -

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 ext2 (second extended filesystem). CD-ROM drives are iso9660, and Windows-based devices will either be msdos or vfat.

- -

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 ro flag. There are a lot of options that can be used. -Check the fstab(5) man page for more information. The last two -columns are used by fsck and other commands that need to -manipulate the devices. Check the man page for that information as well.

- -

When you install Slackware Linux, the setup program will build much of the fstab file.

-
- -
-
-

9.4.2 mount and -umount

- -

Attaching another device to your filesystem is easy. All you have to do is use the mount command, along with a few options. Using mount can simplified if the device has an entry in the /etc/fstab file. For example, let's say that I wanted to mount my -CD-ROM drive and that my fstab file looked like the example from -the previous section. I would call mount like so:

- - - - - -
-
-% mount /cdrom
-
-
- -

Since there is an entry in fstab for that mount point, mount knows what options to use. If there wasn't an entry for that -device, I would have to use several options for mount:

- - - - - -
-
-% mount -t iso9660 -o ro /dev/cdrom /cdrom
-
-
- -

That command line includes the same information as the example fstab did, but we'll go over all the parts anyways. The -t iso9660 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 -o ro tells mount to mount the device read-only. The /dev/cdrom is the name of the device to mount, and /cdrom is the location on the filesystem to mount the drive.

- -

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 umount command. Don't ask where the “n” went because we -couldn't tell you. You can use either the mounted device or the mount point as the -argument to umount. For example, if you wanted to unmount the -CD-ROM from the previous example, either of these commands would work:

- - - - - -
-
-# umount /dev/cdrom
-# umount /cdrom
-
-
-
-
- -
-
-

9.5 -NFS Mounts

- -

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.

- -

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.

- -

See Section 5.6.2 and the man pages for -exports(5), nfsd(8), and mountd(8) for more information.

-
-
- -
-
-

Chapter 10 Handling Files and -Directories

- -

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.

- -

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.

- -
-
-

10.1 -Navigation : ls, cd, and pwd

- -
-

10.1.1 ls

- -

This command lists files in a directory. Windows and DOS users will notice its -similarity to the dir command. By itself, ls(1) will list the files in the current directory. To see what's in -your root directory, you could issue these commands:

- - - - - -
-
-% cd /
-% ls
-bin   cdr    dev  home  lost+found  proc  sbin   tmp  var
-boot  cdrom  etc  lib   mnt         root  suncd  usr  vmlinuz
-
-
- -

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 ls add -a type identifier to each listing, like this:

- - - - - -
-
-% ls -FC
-bin/   cdr/    dev/  home/  lost+found/  proc/  sbin/   tmp/  var/
-boot/  cdrom/  etc/  lib/   mnt/         root/  suncd/  usr/  vmlinuz
-
-
- -

Directories get a slash at the end of the name, executable files get an asterisk at -the end of the name, and so on.

- -

ls 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:

- - - - - -
-
-% ls -l
-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/
-
-
- -

Suppose you want to get a listing of the hidden files in the current directory. This -command will do just that:

- - - - - -
-
-% ls -a
-.              bin   cdrom  home        mnt   sbin   usr
-..             boot  dev    lib         proc  suncd  var
-.pwrchute_tmp  cdr   etc    lost+found  root  tmp    vmlinuz
-
-
- -

Files beginning with a period (called dot files) are hidden when you run ls. You will only see them if you pass the -a option.

- -

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 ls.

-
- -
-
-

10.1.2 cd

- -

The cd command is used to change working directories. You -simply type cd followed by the path name to change to. Here are -some examples:

- - - - - -
-
-darkstar:~$ cd /bin
-darkstar:/bin$ cd usr
-bash: cd: usr: No such file or directory
-darkstar:/bin$ cd /usr
-darkstar:/usr$ ls
-bin
-darkstar:/usr$ cd bin
-darkstar:/usr/bin$
-
-
- -

Notice that without the preceding slash, it tries to change to a directory in the -current directory. Also executing cd with no options will move -you to your home directory.

- -

The cd command is not like the other commands. It is a -builtin shell command. Shell builtins are discussed in Section 8.3.1. 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:

- - - - - -
-
-% help cd
-
-
- -

It will display the options for cd and how to use them.

-
- -
-
-

10.1.3 pwd

- -

The pwd command is used to show your current location. To use -the pwd command just type pwd. For -example:

- - - - - -
-
-% cd /bin
-% pwd
-/bin
-% cd /usr
-% cd bin
-% pwd
-/usr/bin
-
-
-
-
- -
-
-

10.2 Pagers: -more, less, and most

- -
-

10.2.1 more

- -

more(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.

- -

The more 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:

- - - - - -
-
-% cd /usr/bin
-% ls -l
-
-
- -

That should scroll for a while. To break up the output screen by screen, just pipe it -through more:

- - - - - -
-
-% ls -l | more
-
-
- -

That is the pipe character (shift backslash). The pipe is short for saying take the -output of ls and feed it into more. You -can pipe just about anything through the more command, not just -ls. Piping is also covered in Section 8.2.3.

-
- -
-
-

10.2.2 less

- -

The more 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 -less(1) command provides this functionality. It is used in the -same way as the more command, so the previous examples apply -here too. So, less is more than more. -Joost Kremers puts it this way:

- - -
-

less is more, but more more than more is, so more is less less, so use more less if you want less more.

-
-
- -
-
-

10.2.3 most

- -

Where more and less leave off, most(1) picks back up. If less is more than -more, most is more than less. Whereas the other pagers can only display one file at a time, -most is capable of viewing any number of files, as long as each -file's window is at least 2 lines long. most has a lot of -options, check the man page for full details.

-
-
- -
-
-

10.3 Simple -Output: cat and echo

- -
-

10.3.1 cat

- -

cat(1) is short for “concatenate”. It was -originally designed to merge text files into one, but can be used for many other -purposes.

- -

To merge two or more files into one, you simply list the files after the cat command and then redirect the new output to a file. cat works with standard input and standard output, so you have to -use the shell redirection characters. For example:

- - - - - -
-
-% cat file1 file2 file3 > bigfile
-
-
- -

This command takes the contents of file1, file2, and file3 and merges it all -together. The new output is sent to standard out.

- -

One can also use cat to display files. Many people cat text files through the more or less commands, like this:

- - - - - -
-
-% cat file1 | more
-
-
- -

That will display the file1 file and pipe it through the more command so that you only get one screen at a time.

- -

Another common use for cat is copying files. You can copy any -file around with cat, like this:

- - - - - -
-
-% cat /bin/bash > ~/mybash
-
-
- -

The /bin/bash program is copied to your home directory and -named mybash.

- -

cat has many uses and the ones discussed here are just a few. -Since cat makes extensive use of standard input and standard -output, it is ideal for use in shell scripts or part of other complex commands.

-
- -
-
-

10.3.2 echo

- -

The echo(1) command displays the specified text on the -screen. You specify the string to display after the echo -command. By default echo will display the string and print a -newline character after it. You can pass the -n option to -suppress the printing of the newline. The -e option will cause -echo to search for escape characters in the string and execute -them.

-
-
- -
-
-

10.4 -Creation: touch and mkdir

- -
-

10.4.1 touch

- -

touch(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, touch will create a zero length file -with the name specified. To mark a file with the current system time, you would issue -this command:

- - - - - -
-
-% ls -al file1
--rw-r--r--    1 root     root        9779 Feb  7 21:41 file1
-% touch file1
-% ls -al file1
--rw-r--r--    1 root     root        9779 Feb  8 09:17 file1
-
-
- -

There are several options for touch, including options to -specify which timestamp to modify, the time to use, and many more. The online manual page -discusses these in detail.

-
- -
-
-

10.4.2 mkdir

- -

mkdir(1) will create a new directory. You simply specify the -directory to create when you run mkdir. This example creates the hejaz directory in the current directory:

- - - - - -
-
-% mkdir hejaz
-
-
- -

You can also specify a path, like this:

- - - - - -
-
-% mkdir /usr/local/hejaz
-
-
- -

The -p option will tell mkdir to -make any parent directories. The above example will fail if /usr/local does not exist. The -p option -will create /usr/local and /usr/local/hejaz:

- - - - - -
-
-% mkdir -p /usr/local/hejaz
-
-
-
-
- -
-
-

10.5 Copy -and Move

- -
-

10.5.1 cp

- -

cp(1) copies files. DOS users will notice its similarity to -the copy command. There are many options for cp , so you should have a look at the man page before using it.

- -

A common use is to use cp to copy a file from one location to -another. For example:

- - - - - -
-
-% cp hejaz /tmp
-
-
- -

This copies the hejaz file from the current directory to the -/tmp directory.

- -

Many users prefer to keep the timestamps preserved, as in this example:

- - - - - -
-
-% cp -a hejaz /tmp
-
-
- -

This ensures that the timestamps are not modified in the copy.

- -

To recursively copy the contents of a directory to another directory, you would issue -this command:

- - - - - -
-
-% cp -R mydir /tmp
-
-
- -

That will copy the mydir directory to the /tmp directory.

- -

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 cp -p.

- - - - - -
-
-% ls -l file
--rw-r--r--    1 root     vlad            4 Jan  1 15:27 file
-% cp -p file /tmp
-% ls -l /tmp/file
--rw-r--r--    1 root     vlad            4 Jan  1 15:27 file
-
-
- -

cp has many more options that are discussed in detail in the -online manual page.

-
- -
-
-

10.5.2 mv

- -

mv(1) moves files from one place to another. Sounds simple -enough doesn't it?

- - - - - -
-
-% mv oldfile /tmp/newfile
-
-
- -

mv has a few useful command line options that are detailed in -the man page. In practice, mv is almost never used with -commandline options.

-
-
- -
-
-

10.6 -Deletion: rm and rmdir

- -
-

10.6.1 rm

- -

rm(1) removes files and directory trees. DOS users will -notice the similarity to both the del and deltree commands. rm 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.

- -

To remove a single file, specify its name when you run rm:

- - - - - -
-
-% rm file1
-
-
- -

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 -f option, like this:

- - - - - -
-
-% rm -f file1
-
-
- -

To remove an entire directory, you use the -r and -f 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:

- - - - - -
-
-# rm -rf /
-
-
- -

Be very careful with rm; you can shoot yourself in the foot. -There are several command line options, which are discussed in detail in the online -manual page.

-
- -
-
-

10.6.2 rmdir

- -

rmdir(1) removes directories from the filesystem. The -directory must be empty before it can be removed. The syntax is simply:

- - - - - -
-
-% rmdir <directory>
-
-
- -

This example will remove the hejaz subdirectory in the -current working directory:

- - - - - -
-
-% rmdir hejaz
-
-
- -

If that directory does not exist, rmdir will tell you. You -can also specify a full path to a directory to remove, as this example shows:

- - - - - -
-
-% rmdir /tmp/hejaz
-
-
- -

That example will try to remove the hejaz directory inside -the /tmp directory.

- -

You can also remove a directory and all of its parent directories by passing the -p option.

- - - - - -
-
-% rmdir -p /tmp/hejaz
-
-
- -

This will first try to remove the hejaz directory inside /tmp. If that is successful, it will try to remove /tmp. rmdir will continue this until an -error is encountered or the entire tree specified is removed.

-
-
- -
-
-

10.7 Aliasing -files with ln

- -

ln(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 Section 9.3. If you -wanted to make a symbolic link to the directory /var/media/mp3 -and place the link in your home directory, you would do this:

- - - - - -
-
-% ln -s /var/media/mp3 ~/mp3
-
-
- -

The -s option tells ln 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 mp3 in your home directory that points to /var/media/mp3. You can call the link itself whatever you want by -just changing the last option.

- -

Making a hard link is just as simple. All you have to do is leave off the -s option. Hard links may not normally refer to directories or span -file systems, however. To create a hard link /usr/bin/email to -/usr/bin/mutt, simply type the following:

- - - - - -
-
-# ln /usr/bin/mutt /usr/bin/email
-
-
-
-
- -
-
-

Chapter 11 Process Control

- -

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 root or nobody. -Processes that you start will run as you. Processes started as other users will run as -those users.

- -

You have control over all the processes that you start. Additionally, root 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.

- -
-
-

11.1 Backgrounding

- -

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.

- -

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 amp 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:

- - - - - -
-
-% amp *.mp3 &
-
-
- -

The program will run as normal, and you are returned to a prompt.

- -

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 Control+z. 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:

- - - - - -
-
-% bg
-
-
- -

Now the suspended process is running in the background.

-
- -
-
-

11.2 Foregrounding

- -

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:

- - - - - -
-
-% fg
-
-
- -

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:

- - - - - -
-
-[1]+  Done              /bin/ls $LS_OPTIONS
-
-
- -

That tells you that the backgrounded process (in this case ls -- not terribly interesting) has completed.

- -

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 -fg 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 jobs and gives output -like so:

- - - - - -
-
-% jobs
-[1]   Stopped                 vim
-[2]-  Stopped                 amp
-[3]+  Stopped                 man ps
-
-
- -

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 (man ps) is the process that will be foregrounded if you just type -fg.

- -

If you wanted to foreground vim, you would type:

- - - - - -
-
-% fg 1
-
-
- -

and vim 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.

-
- -
-
-

11.3 ps

- -

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 ps(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 Section 2.1.1.

- -

Simply typing ps 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, ps itself). Also listed are -backgrounded processes you may have running. Many times, that will be a very short -listing:

- -
-

Figure 11-1. Basic ps output

- - - - - -
-
-% ps
-   PID TTY          TIME CMD
-  7923 ttyp0    00:00:00 bash
-  8059 ttyp0    00:00:00 ps
-
-
-
- -

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?

- -

Well, the PID is the process ID. 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.

- -

The TTY column indicates which terminal the process is -running on. Doing a plain ps 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 ttyp0. This indicates that they are either running remotely or from -an X terminal of some variety.

- -

The TIME 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.

- -

Finally, the CMD 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 ps. We'll discuss that shortly.

- -

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:

- - - - - -
-
-% ps -ax
- 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]
-
-
- -

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 ptrace 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.

- -

First, you'll notice that most of these processes are listed as running on tty -“?”. 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.

- -

Second, there is a new column: STAT. It shows the status of -the process. S stands for sleeping: the process is waiting for -something to happen. Z 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. D 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 kill . W stands for paging. A dead process is marked with an X. A process marked T is traced, or -stopped. R means that the process is runable.

- -

If you want to see even more information about the running processes, try this -out:

- - - - - -
-
-% ps -aux
- 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]
-
-
- -

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 -w option will force ps to wrap long lines.

- -

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 ps. However, the -options shown above are the most popular ones and will be the ones you need to use the -most often.

-
- -
-
-

11.4 kill

- -

On occasion, programs misbehave and you'll need to put them back in line. The program -for this kind of administration is called kill(1), and it can be -used for manipulating processes in several ways. The most obvious use of kill 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.

- -

In order to kill off a process, you'll need to know its PID or its name. To get the -PID, use the ps command as was discussed in the last section. -For example, to kill off process 4747, you'd issue the following:

- - - - - -
-
-% kill 4747
-
-
- -

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, root can kill off any process on the system.

- -

There's another variety of the kill command called killall(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 vim processes, you could type the following command:

- - - - - -
-
-% killall vim
-
-
- -

Any and all vim processes you have running will die off. -Doing this as root would kill off all the vim processes running for all users. This brings up an interesting -way to kick everyone (including yourself) off the system:

- - - - - -
-
-# killall bash
-
-
- -

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:

- - - - - -
-
-% kill -9 4747
-
-
- -

That will almost certainly cause process 4747 to die. You can do the same thing with -killall. What this is doing is sending a different signal to the -process. A regular kill sends a SIGTERM (terminate) signal to the process, which tells it to finish -what it's doing, clean up, and exit. kill -9 sends a SIGKILL (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 SIGKILL. There's a -whole list of signals at your disposal. You can get a listing of signals by typing the -following:

- - - - - -
-
-% kill -l
-  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
-
-
- -

The number must be used for kill, while the name minus the -leading “SIG” can be used with killall. Here's -another example:

- - - - - -
-
-% killall -KILL vim
-
-
- -

A final use of kill is to restart a process. Sending a SIGHUP 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.

-
- -
-
-

11.5 top

- -

Finally, there's a command you can use to display updating information about the -processes running on the system. This command is called top(1), -and is started like so:

- - - - - -
-
-% top
-
-
- -

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.

- - - - - -
-
- 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
-
-PID USER    PRI  NI  SIZE  RSS  SHARE  STAT  LIB %CPU %MEM  TIME COMMAND
- 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
-
-
- -

It's called top 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, top is quite useful for determining what program is misbehaving and -needs to be killed off.

- -

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 -u option allows you to specify a -username or UID and monitor only those processes owned by that UID.

- - - - - -
-
-% top -u alan
- 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
-
-
- -

As you can see, I'm currently running X, top, a gnome-terminal (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.

- -

top 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 top.

-
-
- -
-
-

Chapter 12 Essential System -Administration

- -

Whoa whoa whoa whoa whoa.... I know what you're thinking. “I'm not a system -administrator! I don't even want to be a system administrator!”

- -

Fact is, you are the administrator of any computers for which you have the root 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.

- -
-
-

12.1 -Users and Groups

- -

As mentioned in Chapter 8, you shouldn't normally use your system -logged in as root. 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.

- -
-
-

12.1.1 Supplied Scripts

- -

The easiest way to manage users and groups is with the supplied scripts and programs. -Slackware includes the programs adduser, userdel(8), chfn(1), chsh(1), and passwd(1) for dealing with -users. The commands groupadd(8), groupdel(8), and groupmod(8) are for -dealing with groups. With the exception of chfn, chsh, and passwd, these programs are -generally only run as root, and are therefore located in /usr/sbin. chfn, chsh, and passwd can be run by anyone, and -are located in /usr/bin.

- -

Users can be added with the adduser 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.

- - - - - -
-
-# adduser
-Login name for new user []: jellyd
-
-
- -

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.)

- -

You can also provide the login name as an argument on the command line:

- - - - - -
-
-# adduser jellyd
-
-
- -

In either case, after providing the login name, adduser will prompt for the user -ID:

- - - - - -
-
-User ID ('UID') [ defaults to next available ]:
-
-
- -

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.

- - - - - -
-
-Initial group [users]:
-
-
- -

All users are placed into the users 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.

- - - - - -
-
-Additional groups (comma separated) []:
-
-
- -

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 wheel as the only group -that can use the su command. Or, a default Slackware -installation uses the sys group for users authorized to play -sounds through the internal sound card.

- - - - - -
-
-Home directory [/home/jellyd]
-
-
- -

Home directories default to being placed under /home. 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.

- - - - - -
-
-Shell [ /bin/bash ]
-
-
- -

bash 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 chsh command.

- - - - - -
-
-Expiry date (YYYY-MM-DD) []:
-
-
- -

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.

- - - - - -
-
-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 ]
-
-
- -

This is it... if you want to bail out, hit Control+C. Otherwise, press ENTER to go ahead and -make the account.

- -

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 Control+C and -start over. Otherwise, you can hit enter and the account -will be made.

- - - - - -
-
-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 []:
-
-
- -

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 chfn. -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.

- - - - - -
-
-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.
-
-
- -

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.

- -
- - - - - -
Note -

Choosing a Password: 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.

- -

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 “secure1” or any other password you see in print or -online is also bad.

-
-
- -

Removing users is not difficult at all. Just run userdel 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.

- - - - - -
-
-# userdel jellyd
-
-
- -

This command removes that annoying jellyd user from your -system. Good riddance! :) The user is removed from the /etc/passwd, /etc/shadow, and /etc/group files, but doesn't remove the user's home directory.

- -

If you'd wanted to remove the home directory as well, you would instead use this -command:

- - - - - -
-
-# userdel -r jellyd
-
-
- -

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 Section -12.1.3.

- -

The programs to add and remove groups are very simple. groupadd will just add another entry to the /etc/group file with a unique group ID, while groupdel will remove the specified group. It is up to you to edit -/etc/group to add users to a specific group. For example, to -add a group called cvs:

- - - - - -
-
-# groupadd cvs
-
-
- -

And to remove it:

- - - - - -
-
-# groupdel cvs
-
-
-
- -
-
-

12.1.2 Changing Passwords

- -

The passwd program changes passwords by modifying the /etc/shadow file. This file holds all the passwords for the system -in an encrypted format. In order to change your own password, you would type:

- - - - - -
-
-% passwd
-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:
-
-
- -

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. passwd 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.

- -

If you are root, you can also change another user's -password:

- - - - - -
-
-# passwd ted
-
-
- -

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 root...)

- -

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 passwd. To disable an account, do the following as root:

- - - - - -
-
-# passwd -l david
-
-
- -

This will change david's password to something that can never match any encrypted -value. You would reenable the account by using:

- - - - - -
-
-# passwd -u david
-
-
- -

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 xeyes(1) to your X desktop.

-
- -
-
-

12.1.3 Changing User Information

- -

There are two pieces of information that users can change at any time: their shell and -their finger information. Slackware Linux uses chsh (change -shell) and chfn (change finger) to modify these values.

- -

A user can pick any shell that is listed in the /etc/shells -file. For most people, /bin/bash 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 chsh:

- - - - - -
-
-% chsh
-Password:
-Changing the login shell for chris
-Enter the new value, or press return for the default
-        Login Shell [/bin/bash]:
-
-
- -

After entering your password, enter the full path to the new shell. Make sure that -it's listed in the /etc/shells(5) file first. The root user can also change any user's shell by running chsh with a username as the argument.

- -

The finger information is the optional information such as your full name, phone -numbers, and room number. This can be changed using chfn, and -follows the same procedure as it did during account creation. As usual, root can change anyone's finger information.

-
-
- -
-
-

12.2 Users and Groups, the Hard Way

- -

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.

- -

First, we'll add a new user to the /etc/passwd(5), /etc/shadow(5), and /etc/group(5) files. -The passwd 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 passwd file simply as -“x”. The group file -lists all the groups and who is in each.

- -

You can use the vipw command to edit the /etc/passwd file safely, and the vigr -command to edit the /etc/group file safely. Use vipw -s to edit the /etc/shadow file -safely. (“Safely” 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.)

- -

Let's examine the /etc/passwd file and look at how to add a -new user. A typical entry in passwd looks like this:

- - - - - -
-
-chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
-
-
- -

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 (“x” 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.

- -

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 x, and that both the user name and user ID is unique. Assign the -user a group, either 100 (the “users” 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 /etc/shells).

- -

Next, we'll need to add an entry in the /etc/shadow file, which holds the encrypted -passwords. A typical entry looks like this:

- - - - - -
-
-chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
-
-
- -

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.

- -

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 -“days since password was changed” field blank as well. Fill in 0, 99999, and 7 just as you see in the example entry, and leave the other fields -blank.

- -

(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 :) )

- -

All normal users are members of the “users” -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 /etc/group file. Here is a typical entry:

- - - - - -
-
-cvs::102:chris,logan,david,root
-
-
- -

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.

- -

At this point, it might be a good idea to use the pwck and -grpck commands to verify that the changes you've made are -consistent. First, use pwck -r and grpck --r: the -r 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 pwck or grpck without the -r switch, or to simply leave your changes as they are.

- -

At this point, you should use the passwd command to create a -proper password for the user. Then, use mkdir to create the new -user's home directory in the location you entered into the /etc/passwd file, and use chown to change -the owner of the new directory to the new user.

- -

Removing a user is a simple matter of deleting all of the entries that exist for that -user. Remove the user's entry from /etc/passwd and /etc/shadow, and remove the login name from any groups in the /etc/group file. If you wish, delete the user's home directory, the -mail spool file, and his crontab entry (if they exist).

- -

Removing groups is similar: remove the group's entry from /etc/group.

-
- -
-
-

12.3 Shutting Down Properly

- -

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.

- -
- - - - - -
Note -

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.

-
-
- -

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.

- -

The first method is through the shutdown(8) program, and it -is probably the most popular. shutdown 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.

- -

The most basic use of shutdown to power down the computer is:

- - - - - -
-
-# shutdown -h now
-
-
- -

In this case, we are not going to send a custom message to the users; they will see -shutdown's default message. “now” is the time that we want to shutdown, and the “-h” 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:

- - - - - -
-
-# shutdown -h +60
-
-
- -

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, /etc/motd, whatever).

- -

Rebooting the system uses the same command, but substitutes “-r” for “-h”:

- - - - - -
-
-# shutdown -r now
-
-
- -

You can use same time notation with shutdown -r that you -could with shutdown -h. There are a lot of other things that you -can do with shutdown to control when to halt or reboot the -machine; see the man page for more details.

- -

The second way of shutting down or powering off the computer is to use the halt(8) and reboot(8) commands. As the -names indicate, halt will immediately halt the operating system, -and reboot will reboot the system. (reboot is actually just a symbolic link to halt.) They are invoked like so:

- - - - - -
-
-# halt
-# reboot
-
-
- -

A lower-level way to reboot or shutdown the system is to talk directly to init. All the other methods are simply convenient ways to talk to -init, but you can directly tell it what to do using telinit(8) (note that it only has one “l”). Using telinit will tell init 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.

- - - - - -
-
-# telinit 0
-
-
- -

Runlevel 0 is halt mode. Telling init 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.

- - - - - -
-
-# telinit 6
-
-
- -

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.

- -

For the curious, when switching to runlevel 0 or 6, whether by using shutdown, halt, or reboot, the script /etc/rc.d/rc.6 is run. -(The script /etc/rc.d/rc.0 is another symbolic link, to /etc/rc.d/rc.6.) You can customize this file to your tastes--but be -sure to test your changes carefully!

- -

There is one last method of rebooting the system. All the other methods require you to -be logged in as root. However, it is possible to reboot the -machine even if you aren't root, provided that you have physical access to the keyboard. -Using Control+Alt+Delete (the "three-fingered salute") will cause the machine to -immediately reboot. (Behind the scenes, the shutdown command is -called for you when you use Control+Alt+Delete.) The salute doesn't always work when using X Windows--you may -need to use Control+Alt+F1 (or another Function key) to switch to a non-X Windows terminal -before using it.

- -

Finally, the file that ultimately controls every aspect of startup and shutdown is the -/etc/inittab(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.

-
-
- -
-
-

Chapter 13 Basic -Network Commands

- -

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.

- -

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.

- -
-
-

13.1 ping

- -

ping(8) sends an ICMP ECHO_REQUEST -packet to the specified host. If the host responds, you get an ICMP packet back. Sound -strange? Well, you can “ping” 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:

- - -
-

User -A: Loki's down again.
-User -B: Are you sure?
-User -A: Yeah, I tried pinging it, but there's no response.

-
- -

It's instances like these that make ping 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:

- - - - - -
-
-% ping www.slackware.com
-
-
- -

There are, of course, several options that can be specified. Check the ping(1) man page for more information.

-
- -
-
-

13.2 traceroute

- -

Slackware's traceroute(8) command is a very useful network -diagnostic tool. traceroute displays each host that a packet -travels through as it tries to reach its destination. You can see how many -“hops” from the Slackware web site you are with this command:

- - - - - -
-
-% traceroute www.slackware.com
-
-
- -

Each host will be displayed, along with the response times at each host. Here is an -example output:

- - - - - -
-
-% traceroute www.slackware.com
-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
-
-
- -

traceroute is similar to ping in -that it uses ICMP packets. There are several options that you can specify with traceroute. These options are explained in detail in the man -page.

-
- -
-
-

13.3 DNS Tools

- -

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 -64.57.102.34. 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?

- -
-
-

13.3.1 host

- -

host(1) can do this for us. host is -used to map names to IP addresses. It is a very quick and simple utility without a lot of -functions.

- - - - - -
-
-% host www.slackware.com
-www.slackware.com is an alias for slackware.com.
-slackware.com has address 64.57.102.34
-
-
- -

But let's say for some reason we want to map an IP address to a domain name; what -then?

-
- -
-
-

13.3.2 nslookup

- -

nslookup is a tried and true program that has weathered the -ages. nslookup has been deprecated and may be removed from -future releases. There is not even a man page for this program.

- - - - - -
-
-% nslookup 64.57.102.34
-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
-
-
-
- -
-
-

13.3.3 dig

- -

The meanest dog in the pound, the domain information groper, dig(1) for short, is the go-to program for finding DNS information. -dig can grab just about anything from a DNS server including -reverse lookups, A, CNAME, MX, SP, and TXT records. dig has many -command line options and if you're not familiar with it you should read through it's -extensive man page.

- - - - - -
-
-% dig @192.168.1.254 www.slackware.com mx
-
-; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx
-;; global options:  printcmd
-;; Got answer:
-;; ->>HEADER<<- 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
-
-
- -

This should give you an idea how dig works. -“@192.168.1.254” specifies the dns server to use. -“www.slackware.com” is the domain name I am performing a lookup on, and -“mx” is the type of lookup I am performing. The above query tells me that -e-mail to www.slackware.com will instead be sent to mail.slackware.com for delivery.

-
-
- -
-
-

13.4 finger

- -

finger(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:

- - - - - -
-
-% finger johnc@idsoftware.com
-
-
- -

finger can return the username, mail status, phone numbers, -and files referred to as “dot plan” and “dot project”. Of course, -the information returned varies with each finger server. The one -included with Slackware returns the following information by default:

- -
    -
  • -

    Username

    -
  • - -
  • -

    Room number

    -
  • - -
  • -

    Home phone number

    -
  • - -
  • -

    Work phone number

    -
  • - -
  • -

    Login status

    -
  • - -
  • -

    Email status

    -
  • - -
  • -

    Contents of the .plan file in the user's home directory

    -
  • - -
  • -

    Contents of the .project file in the user's home -directory

    -
  • -
- -

The first four items can be set with the chfn command. It -stores those values in the /etc/passwd file. To change the -information in your .plan or .project -file, just edit them with your favorite text editor. They must reside in your home -directory and must be called .plan and .project.

- -

Many users finger 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.

- -

Like many commands, finger has options. Check the man page -for more information on what special options you can use.

-
- -
-
-

13.5 telnet

- -

Someone once stated that telnet(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.

- -

telnet 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 telnet to another machine, you can run X programs on the remote -computer and display them on yours.

- -

To login to a remote machine, use this syntax:

- - - - - -
-
-% telnet <hostname>
-
-
- -

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 -exit command or the logout command.

- -
- - - - - -
Warning -

telnet does not encrypt the information it sends. Everything -is sent in plain text, even passwords. It is not advisable to use telnet over the Internet. Instead, consider the Secure Shell. It encrypts all traffic and is available for free.

-
-
- -
-
-

13.5.1 The other use of telnet

- -

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 telnet.

- -

You can also use the telnet command to connect to a host on a -certain port.

- - - - - -
-
-% telnet <hostname> [port]
-
-
- -

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.

- -

In the next figure you'll see how you can telnet to a HTTP -server on port 80, and get some basic information from it.

- -
-

Figure 13-1. Telnetting to a webserver

- - - - - -
-
-% telnet store.slackware.com 80
-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.
-%
-
-
-
- -

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.

-
-
- -
-
-

13.6 The Secure shell

- -

Today, secure shell basks in the adoration that telnet once -enjoyed. ssh(1) allows one to make a connection to a remote -machine and execute programs as if one were physically present; however, ssh 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.

- - - - - -
-
-% ssh carrier.lizella.net -l alan
-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: password
-Last login: Sat Nov  6 16:32:19 2004 from 192.168.1.102
-Linux 2.4.26-smp.
-alan@carrier:~$ ls -l MANIFEST 
--rw-r--r--  1 alan users 23545276 2004-10-28 20:04 MANIFEST
-alan@carrier:~$ exit
-logout
-Connection to carrier.lizella.net closed.
-
-
- -

There you see me making an ssh connection to carrier.lizella.net, and checking the permissions on the MANIFEST file.

-
- -
-
-

13.7 email

- -

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.

- -

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.

- -
-
-

13.7.1 pine

- -

pine(1) is not elm. 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. pine is -one of the most popular email clients in use today and is available for nearly every -flavor of Unix and even Windows.

- -
-

Figure 13-2. The Pine main menu

- -

-
- -

You will see a menu of commands and a row of command keys at the bottom. pine is indeed a complex program, so we will not discuss every -feature about it here.

- -

To see what's in your inbox, type i. Your messages are -listed with their date, author, and subject. Highlight the message you want and press -enter to view it. Pressing r -will start a reply to the message. Once you have written the response, type Ctrl+X to send it. You can press i to get back to the message listing.

- -

If you want to delete a message, press d. It will mark -the highlighted message for deletion. pine deletes the mail when -you exit the program. pine also lets you store your mail in -folders. You can get a listing of folders by pressing l. At -the message listing, press s to save it to another folder. -It will ask for the folder name to write the message to.

- -

pine 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.

-
- -
-
-

13.7.2 elm

- -

elm(1) is another popular text-based email client. Though not -quite as user friendly as pine, it's definitely been around a -lot longer.

- -
-

Figure 13-3. Elm main screen

- -

-
- -

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 Enter to read the message.

- -

To compose a new message, type m at the main screen. The -d key will flag a message for deletion. And the r 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.

- -

The man page discusses elm in more detail, so you will -probably want to consult that before using elm.

-
- -
-
-

13.7.3 mutt

- -

“All mail clients suck. This one just sucks less.” mutt's original interface was based on elm -with added features found in other popular mailclients, resulting in a hybrid mutt.

- -

Some of mutt's features include:

- -
    -
  • -

    color support

    -
  • - -
  • -

    message threading

    -
  • - -
  • -

    MIME and PGP/MIME support

    -
  • - -
  • -

    pop3 and imap support

    -
  • - -
  • -

    support for multiple mailbox formats (mbox, MMDF, MH, maildir)

    -
  • - -
  • -

    highly customizable

    -
  • -
- -
-

Figure 13-4. Mutt main screen

- -

-
- -

if you're looking for a mail client that will let you be in total control over -everything, then you will like mutt. all the default settings -can be customized, keybindings can be changed. if you like to add a macro, you can.

- -

you probably want to take a look at the muttrc manpage, -which will tell you how to configure everything. or take a look at the included example -muttrc file.

-
- -
-
-

13.7.4 nail

- -

nail(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 -nail at /usr/bin/mail and /usr/bin/mailx. Any of these three commands executes the same -program. In fact, you will most likely see nail referred to as -mail.

- -

The basic command line is:

- - - - - -
-
-% mailx <subject> <to-addr>
-
-
- -

mailx 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 Ctrl+D when finished with the message.

- -

Here is an example of mailing a program source file to another person.

- - - - - -
-
-% cat randomfunc.c | mail -s "Here's that function" asdf@example.net
-
-
- -

The man page explains more of what nail can do, so you will -probably want to have a look at that before using it.

-
-
- -
-
-

13.8 Browsers

- -

The first thing that people think about when they hear the word Internet is -“surfing the net”. Or looking at websites using a web browser. This is -probably by far the most popular use of the Internet for the average user.

- -

Slackware provides popular graphical web browsers in the “XAP” series, as -well as text mode browsers in the “N” series. We'll take a quick look at some -of the most common options below.

- -
-
-

13.8.1 lynx

- -

lynx(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.

- -

To start lynx, just type lynx at the -prompt:

- - - - - -
-
-% lynx
-
-
- -
-

Figure 13-5. Lynx default start page

- -

-
- -

You may want to specify a site for lynx to open to:

- - - - - -
-
-% lynx http://www.slackware.com
-
-
- -

lynx prints the command keys and what they do at the bottom -of the screen. The up and down arrow keys move around the document, Enter selects the highlighted link, and the left arrow goes back to the previous page. Typing d will download the currently selected file. The g command brings up the Go prompt, where you can give lynx a URL to open.

- -

There are many other commands in lynx. You can either consult -the man page, or type h to get the help screen for more -information.

-
- -
-
-

13.8.2 links

- -

Just like lynx, links is a textmode -web browser, where you do all the navigation using the keyboard. However, when you press -the Esc 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.

- -

links seems to have better support for both frames and -tables, when compared to lynx.

- -
-

Figure 13-6. Links, with the file menu open

- -

-
-
- -
-
-

13.8.3 wget

- -

wget(1) is a command line utility that will download files -from a specified URL. While not an actual web-browser, wget 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:

- - - - - -
-
-% wget <url>
-
-
- -

You can also pass options. For example, this will download the Slackware web site:

- - - - - -
-
-% wget --recursive http://www.slackware.com
-
-
- -

wget will create a www.slackware.com directory and store the files in there, just as -the site does.

- -

wget can also download files from FTP sites; just specify an -FTP URL instead of an HTTP one.

- - - - - -
-
-% wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
---12:18:16--  ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
-           => `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!
-==> SYST ... done.   ==> PWD ... done.
-==> TYPE I ... done. ==> CWD /gnu/wget ... done.
-==> PORT ... done.   ==> RETR wget-1.8.2.tar.gz ... done.
-Length: 1,154,648 (unauthoritative)
-
-100%[==================================>] 1,154,648     209.55K/s    ETA 00:00
-
-12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
-
-
- -

wget 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.

-
-
- -
-
-

13.9 FTP Clients

- -

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.

- -

For the curious, the “client” is you. The “server” 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.

- -
-
-

13.9.1 ftp

- -

To connect to an FTP server, simply run the ftp(1) command -and specify the host:

- - - - - -
-
-% ftp <hostname> [port]
-
-
- -

If the host is running an FTP server, it will ask for a username and password. You can -log in as yourself or as “anonymous”. Anonymous FTP sites are very popular -for software archives. For example, to get Slackware Linux via FTP, you must use -anonymous FTP.

- -

Once connected, you will be at the ftp> 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:

- -
-

Table 13-1. ftp commands

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandPurpose
lsList files
cd <dirname>Change directory
binSet binary transfer mode
asciiSet ASCII transfer mode
get <filename>Download a file
put <filename>Upload a file
hashToggle hash mark stats indicator
tickToggle byte counter indicator
promToggle interactive mode for downloads
mget <mask>Download a file or group of files; wildcards are allowed
mput <mask>Upload a file or group of files; wildcards are allowed
quitLog off the FTP server
-
- -

You can also use some of the following commands which are quite self-explanatory: chmod, delete, rename, rmdir. For a complete list of all -commands and their meaning, just type help or ? and you'll see a complete listing on screen.

- -

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 ftp(1).

- - - - - -
-
-ftp> ls *.TXT
-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> tick
-Tick counter printing on (10240 bytes/tick increment).
-ftp> get README81.TXT
-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)
-
-
-
- -
-
-

13.9.2 ncftp

- -

ncftp(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 ftp, including:

- -
    -
  • -

    Tab completion

    -
  • - -
  • -

    Bookmarks file

    -
  • - -
  • -

    More liberal wildcard uses

    -
  • - -
  • -

    Command history

    -
  • -
- -

By default, ncftp will try to log in anonymously to the -server you specify. You can force ncftp to present a login -prompt with the “-u” option. Once logged in, you -can use the same commands as in ftp, only you'll notice a nicer -interface, one that works more like bash.

- - - - - -
-
-ncftp /pub/linux/slackware > cd slackware-current/
-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 > ls
-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 > get README81.TXT
-README81.TXT:                                           12.29 kB  307.07 kB/s
-
-
-
-
- -
-
-

13.10 Talking to Other People

- -
-

13.10.1 wall

- -

wall(1) is a quick way to write a message to the users on a -system. The basic syntax is:

- - - - - -
-
-% wall [file]
-
-
- -

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 Ctrl+d.

- -

wall 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 :)

-
- -
-
-

13.10.2 talk

- -

talk(1) allows two users to chat. It splits the screen in -half, horizontally. To request a chat with another user, use this command:

- - - - - -
-
-% talk <person> [ttyname]
-
-
- -
-

Figure 13-7. Two users in a talk session

- -

-
- -

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 talk can be obtained from the w(1) -command.

- -

talk can also ring users on remote hosts. For the username -you simply specify an email address. talk will try to contact -that remote user on that host.

- -

talk is somewhat limited. It only supports two users and is -half-duplex.

-
- -
-
-

13.10.3 ytalk

- -

ytalk(1) is a backwards compatible replacement for talk. It comes with Slackware as the ytalk -command. The syntax is similar, but has a few differences:

- - - - - -
-
-% ytalk <username>[#ttyname]
-
-
- -
-

Figure 13-8. Two users in a ytalk session

- -

-
- -

The username and terminal are specified the same as under talk, except you must put -them together with the hash mark (#).

- -

ytalk offers several advantages:

- -
    -
  • -

    It supports more than two users.

    -
  • - -
  • -

    A menu of options that can be brought up anytime with Esc.

    -
  • - -
  • -

    You can shell out while still in the talk session.

    -
  • - -
  • -

    Plus more...

    -
  • -
- -

If you're a server administrator, you'll want to make sure that the ntalk port is enabled in /etc/inetd.conf. -ytalk needs that to work properly.

-
-
-
- -
-
-

Chapter 14 Security

- -

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.

- -
-
-

14.1 Disabling -Services

- -

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 - inetd and init scripts.

- -
-
-

14.1.1 Services started from inetd

- -

A lot of the daemons that come with Slackware are run from inetd(8). inetd 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 inetd can be disabled by commenting out the relevant lines in /etc/inetd.conf. To do this, open this file in your favorite editor -(e.g. vi) and you should see lines similar to this:

- - - - - -
-
-telnet stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
-
-
- -

You can disable this service, and any others you don't need, by commenting them out -(i.e. adding a # (hash) symbol to the beginning of the line). -The above line would then become:

- - - - - -
-
-#telnet stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
-
-
- -

After inetd has been restarted, this service will be -disabled. You can restart inetd with the command:

- - - - - -
-
-# kill -HUP $(cat /var/run/inetd.pid)
-
-
-
- -
-
-

14.1.2 Services started from init -scripts

- -

The rest of the services started when the machine starts are started from the init -scripts in /etc/rc.d/. 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.

- -

For example, SSH is started by its own init script at /etc/rc.d/rc.sshd. You can disable this using:

- - - - - -
-
-# chmod -x /etc/rc.d/rc.sshd
-
-
- -

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 /etc/rc.d/rc.inet2:

- - - - - -
-
-# 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.
-
-
- -

This can be disabled by adding # symbols to the beginnings -of the lines that don't already start with them, like so:

- - - - - -
-
-# 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.
-
-
- -

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):

- - - - - -
-
-# telinit 1
-# telinit 3
-
-
-
-
- -
-
-

14.2 Host Access -Control

- -
-

14.2.1 iptables

- -

iptables 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 http://www.netfilter.org/ for more -details. These commands can be entered into /etc/rc.d/rc.firewall, which has to be set as executable for these -rules to take effect at startup. Note that incorrect iptables -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.

- -

The first thing most people should do is set the default policy for each inbound chain -to DROP:

- - - - - -
-
-# iptables -P INPUT DROP
-# iptables -P FORWARD DROP
-
-
- -

When everything is denied, you can start allowing things. The first thing to allow is -any traffic for sessions which are already established:

- - - - - -
-
-# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-
-
- -

So as not to break any applications that communicate using the loopback address, it is -usually wise to add a rule like this:

- - - - - -
-
-# iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
-
-
- -

This rules allows any traffic to and from 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) on -the loopback (lo) 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.

- -

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:

- - - - - -
-
-# iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT
-
-
- -

This will allow access from any machine to port 80 on your machine via the ppp0 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 64.57.102.34:

- - - - - -
-
-# iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT
-
-
- -

Allowing ICMP traffic can be useful for diagnostic purposes. To do this, you would use -a rule like this:

- - - - - -
-
-# iptables -A INPUT -p icmp -j ACCEPT
-
-
- -

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:

- - - - - -
-
-# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
-
-
- -

You will also need to enable IP forwarding. You can do this temporarily, using the -following command:

- - - - - -
-
-# echo 1 > /proc/sys/net/ipv4/ip_forward
-
-
- -

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 /etc/rc.d/rc.inet2 in your favorite editor and change the following -line:

- - - - - -
-
-IPV4_FORWARD=0
-
-
- -

...to this:

- - - - - -
-
-IPV4_FORWARD=1
-
-
- -

For more information on NAT, see the NAT -HOWTO.

-
- -
-
-

14.2.2 tcpwrappers

- -

tcpwrappers 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.

- -

Access to services protected by tcpwrappers can be controlled using /etc/hosts.allow and /etc/hosts.deny.

- -

The majority of people would have a single line in their /etc/hosts.deny file to deny access to all daemons by default. This -line would be:

- - - - - -
-
-ALL : ALL
-
-
- -

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 /etc/hosts.allow file, which follows the same format.

- -

A lot of people would start by accepting all connections from localhost. This can be achieved using:

- - - - - -
-
-ALL : 127.0.0.1
-
-
- -

To allow access to SSHd from 192.168.0.0/24, you could use -either of the following rules:

- - - - - -
-
-sshd : 192.168.0.0/24
-sshd : 192.168.0.
-
-
- -

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):

- - - - - -
-
-sshd : .slackware.com
-
-
-
-
- -
-
-

14.3 Keeping -Current

- -
-

14.3.1 slackware-security mailing list

- -

Whenever a security problem affects Slackware, an email is sent to all subscribers to -the slackware-security@slackware.com mailing list. Reports are -sent out for vulnerabilities of any part of Slackware, apart from the software in /extra or /pasture. These security -announcement emails include details on obtaining updated versions of Slackware packages -or work-arounds, if any.

- -

Subscribing to Slackware mailing lists is covered in Section 2.2.2.

-
- -
-
-

14.3.2 -The /patches directory

- -

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 /patches directory. The full path to these patches will -depend on the mirror you are using, but will take the form /path/to/slackware-x.x/patches/.

- -

Before installing these packages, it is a good idea to verify the md5sum of the package. md5sum(1) is a -commandline utility that creates a “unique” mathematical hash of the file. If -a single bit of the file has been changed, it will generate a different md5sum value.

- - - - - -
-
-% md5sum package-<ver>-<arch>-<rev>.tgz
-6341417aa1c025448b53073a1f1d287d  package-<ver>-<arch>-<rev>.tgz
-
-
- -

You should then check this against the line for the new package in the CHECKSUMS.md5 file in the root of the slackware-$VERSION directory (also -in the /patches directory for patches) or in the email to the -slackware-security mailing list.

- -

If you have a file with the md5sum values in it, you can source it instead with the --c option to md5sum.

- - - - - -
-
-# md5sum -c CHECKSUMS.md5
-./ANNOUNCE.10_0: OK
-./BOOTING.TXT: OK
-./COPYING: OK
-./COPYRIGHT.TXT: OK
-./CRYPTO_NOTICE.TXT: OK
-./ChangeLog.txt: OK
-./FAQ.TXT: FAILED
-
-
- -

As you can see, any files that md5sum evaluates as correct -are listed “OK” while files that fail are labelled -“FAILED”. (Yes, this was an insult to your -intelligence. Why do you put up with me?)

-
-
-
- -
-
-

Chapter 15 Archive Files

- -
-

15.1 gzip

- -

gzip(1) is the GNU compression program. It takes a single -file and compresses it. The basic usage is as follows:

- - - - - -
-
-% gzip filename
-
-
- -

The resulting file will be named filename.gz and will usually be smaller than the input -file. Note that filename.gz will replace filename. This means that filename 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:

- - - - - -
-
-% gzip -9 filename
-
-
- -

This will take a longer time to compress the file, but the result will be as small as -gzip 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.

- -

Decompressing gzipped files can be done using two commands, which are really just the -same program. gzip will decompress any file with a recognized -file extension. A recognized extension can be any of the following: .gz, -gz, .z, --z, .Z, or -Z. The first method is to call gunzip(1) -on a file, like so:

- - - - - -
-
-% gunzip filename.gz
-
-
- -

This will leave a decompressed version of infile in the current directory, and the .gz extension will be stripped from the filename. gunzip is really part of gzip and is -identical to gzip -d. As such, gzip is -often pronounced gunzip, as that name just sounds cooler. -:^)

-
- -
-
-

15.2 bzip2

- -

bzip2(1) is an alternative compression program installed on -Slackware Linux. It uses a different compression algorithm from gzip, which results in some advantages and some disadvantages. The -main advantage for bzip2 is the compressed file size. bzip2 will almost always compress better than gzip. 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 .bz2 files instead of the .gz files, as this results in less overhead for the generous people -hosting the server.

- -

The disadvantage to bzip2 is that it is more CPU intensive -than gzip. 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.

- -

The usage of bzip2 is nearly identical to gzip, so not much time will be spent discussing it. Like gunzip, bunzip2 is identical to bzip2 -d. The primary difference in practical usage is that bzip2 uses the .bz2 extension.

- - - - - -
-
-% bzip2 filename
-% bunzip2 filename.bz2
-% bzip2 -9 filename
-
-
-
- -
-
-

15.3 tar

- -

tar(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 gzip or bzip2. tar has many command line options, -which are explained in its man page. This section will just cover the most common uses of -tar.

- -

The most common use for tar is to decompress and unarchive a -package that you've downloaded from a web site or ftp site. Most files will come with a -.tar.gz extension. This is commonly known as a -“tarball”. It means that several files were archived using tar and then compressed using gzip. You -might also see this listed as a .tar.Z file. It means the same -thing, but this is usually encountered on older Unix systems.

- -

Alternatively, you might find a .tar.bz2 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 tar and then -bzipped.

- -

You can get to all the files in this archive by making use of tar and some command line arguments. Unarchiving a tarball makes use -of the -z flag, which means to first run the file through gunzip and decompress it. The most common way to decompress a -tarball is like so:

- - - - - -
-
-% tar -xvzf filename.tar.gz
-
-
- -

That's quite a few options. So what do they all mean? The -x -means to extract. This is important, as it tells tar 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. -v 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 -vv to be -very verbose and list even more information about each file being unarchived. The -z option tells tar to run filename.tar.gz through gunzip first. And -finally, the -f option tells tar that -the next string on the command line is the file to operate on.

- -

There are a few other ways to write this same command. On older systems lacking a -decent copy of GNU tar, you might see it written like so:

- - - - - -
-
-% gunzip filename.tar.gz | tar -xvf -
-
-
- -

This command line will uncompress the file and send the output to tar. Since gzip 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 tar for unarchiving. The -“-” means to operate on standard input. It will unarchive the stream of data -that it gets from gzip and write that to the disk.

- -

Another way to write the first command line is to leave off the dash before the -options, like so:

- - - - - -
-
-% tar xvzf filename.tar.gz
-
-
- -

You might also encounter a bzipped archive. The version of tar that comes with Slackware Linux can handle these the same as -gzipped archives. Instead of the -z command line option, you'd -use -j:

- - - - - -
-
-% tar -xvjf filename.tar.bz2
-
-
- -

It is important to note that tar will place the unarchived -files in the current directory. So, if you had an archive in /tmp 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 tar. Second, you could specify the path to the -archive file on the command line. Third, you can use the -C -option to “explode” the tarball in a specified directory.

- - - - - -
-
-% cd $HOME
-% cp /tmp/filename.tar.gz .
-% tar -xvzf filename.tar.gz
-
-% cd $HOME
-% tar -xvzf /tmp/filename.tar.gz
-
-% cd /
-% tar -xvzf /tmp/filename.tar.gz -C $HOME
-
-
- -

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.

- -

So what good is being able to uncompress these archives if you can't make them? Well, -tar handles that too. In most cases it's as easy as removing the -“-x” option and replacing it with the “-c” option.

- - - - - -
-
-% tar -cvzf filename.tar.gz .
-
-
- -

In this command line, the -c option tells tar to create an archive, while the -z -option runs the resulting archive file through gzip to compress -it. filename.tar.gz is the file that you want to create.

- -

Specifying the “-f” option isn't always -necessary, but is typically good practice anyway. Without it, tar writes to standard output, which is usually desired for piping -tar's output to another program, like so.

- - - - - -
-
-% tar -cv filename.tar . | gpg --encrypt
-
-
- -

That command creates an non-compressed tar archive of the current directory, pipes the -tarball through gpg which encrypts and compresses the tarball, -making it realistically impossible to read by anyone other than the person knowing the -secret key.

-
- -
-
-

15.4 zip

- -

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 zip(1), and the decompression program is called unzip(1).

- - - - - -
-
-% zip foo *
-
-
- -

This will create the file foo.zip, which will contain all -the files in the current directory. zip will add the .zip 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:

- - - - - -
-
-% zip -r foo *
-
-
- -

Decompressing files is easy, as well.

- - - - - -
-
-% unzip foo.zip
-
-
- -

This will extract all the files in the file foo.zip, -including any directories in the archive.

- -

The zip 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 zip -and unzip to find out how to use these options.

-
-
- -
-
-

Chapter 16 Vi

- -

vi(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 vi available, including vi, elvis, vile, -and vim. 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 vi. Still, it remains the most universal text -editor across Unix and Unix work-alikes. Mastering vi means you -should never be sitting at a Unix machine and not be comfortable with at least one -powerful text editor.

- -

vi 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.

- -

On Slackware Linux, the default version of vi available is -elvis. Other versions - including vim -and gvim - are available if you've installed the proper -packages. gvim is an X Window version of vim that includes toolbars, detachable menus, and dialog boxes.

- -
-
-

16.1 Starting vi

- -

vi can be started from the command line in a variety of ways. -The simplest form is just:

- - - - - -
-
-% vi
-
-
- -
-

Figure 16-1. A vi session.

- -

-
- -

This will start up vi with an empty buffer. At this point, -you'll see a mostly blank screen. It is now in “command mode”, waiting for -you to do something. For a discussion of the various vi modes, -see the Section 16.2. In order to quit out of vi, type the following:

- - - - - -
-
-:q
-
-
- -

Assuming that there have been no changes to the file, this will cause vi 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 “q” like -so:

- - - - - -
-
-:q!
-
-
- -

The exclamation point usually means to force some action. We'll discuss it and other -key combinations in further details later.

- -

You can also start vi with a pre-existing file. For example, -the file /etc/resolv.conf would be opened like so:

- - - - - -
-
-% vi /etc/resolv.conf
-
-
- -

Finally, vi 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 vi on line 47 -of /usr/src/linux/init/main.c like so:

- - - - - -
-
-% vi +47 /usr/src/linux/init/main.c
-
-
- -

vi 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, vi 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.

-
- -
-
-

16.2 Modes

- -

vi operates in various modes, which are used to accomplish -various tasks. When you first start vi, 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.

- -
-
-

16.2.1 -Command Mode

- -

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 Section -16.7.

- -

Probably the most often used command in command mode is changing to insert mode. This -is accomplished by hitting the i key. The cursor changes shapes, -and -- INSERT -- is displayed at -the bottom of the screen (note that this does not happen in all clones of vi). 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 ESCAPE key.

- -

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 “hjkl”. Here is a simple listing of how these -keys are used to move around:

- -
- --- - - - - - - - - - - - - - - - - - - - - -
hmove left one character
jmove down one character
kmove up one character
lmove right one character
-
- -

Simply press a key to move. As you will see later, these keys can be combined with a -number to move much more efficiently.

- -

Many of the commands that you will use in command mode begin with a colon. For -example, quitting is :q, as discussed earlier. The colon simply -indicates that it is a command, while the “q” tells vi 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.

- -

For example, deleting one line from a file is accomplished by hitting dd. This will remove the line that the cursor is on. Issuing the -command 4dd would tell vi to remove the -line that the cursor is on and the three after that. In general, the number tells vi how many times to perform the command.

- -

You can combine a number with the movement keys to move around several characters at a -time. For example, 10k would move up ten lines on the screen.

- -

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 y key (y stands for yank). Copying the current line is done by typing yy, and this can be prefixed with a number to yank more lines. Then, -move to the location for the copy and hit p. The text is pasted on -the line after the current one.

- -

Cutting text is done by typing dd, and p -can be used to paste the cut text back into the file. Reading in text from another file -is a simple procedure. Just type :r, 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 vi clones even contain filename completion similar to the -shell's.

- -

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.

- -

A simple search is accomplished by hitting the / key, followed -by the text that you are searching for. vi 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 vi to stop as well. For example, a -search for “the” will -cause vi to stop on “then”, “therefore”, and so on. This is because all of those -words do match “the”.

- -

After vi has found the first match, you can continue on to -the next match simply by hitting the / key followed by enter. You -can also search backwards through the file by replacing the slash with the ? key. For example, searching backwards through the file for -“the” would be -accomplished by typing ?the.

-
- -
-
-

16.2.2 Insert -Mode

- -

Inserting and replacing text is accomplished in insert mode. As previously discussed, -you can get into insert mode by hitting i from command mode. Then, -all text that you type is entered into the current buffer. Hitting the ESCAPE key takes you back into command mode.

- -

Replacing text is accomplished in several ways. From command mode, hitting r 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 R allows you -to replace as many characters as you'd like. To get out of this replacement mode, just -hit ESCAPE to go back into command mode.

- -

There is yet another way to toggle between insertion and replacement. Hitting the INSERT key from command mode will take you into insert mode. Once you -are in insert mode, the keyboard's INSERT 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.

-
-
- -
-
-

16.3 Opening -Files

- -

vi allows you to open files from command mode as well as -specifying a file on the command line to open. To open the file /etc/lilo.conf:

- - - - - -
-
-:e /etc/lilo.conf
-
-
- -

If you have made changes to the current buffer without saving, vi will complain. You can still open the file without saving the -current buffer by typing :e!, followed by a space and the filename. -In general, vi's warnings can be suppressed by following the -command with an exclamation mark.

- -

If you want to reopen the current file, you can do so simply by typing e!. This is particularly useful if you have somehow messed up the file -and want to reopen it.

- -

Some vi clones (for example, vim) -allow for multiple buffers to be open at the same time. For example, to open up the file -09-vi.sgml in my home directory while another file was open, I -would type:

- - - - - -
-
-:split ~/09-vi.sgml
-
-
- -

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 Emacs 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.

-
- -
-
-

16.4 Saving -Files

- -

There are several ways to save files in vi. If you want to -save the current buffer to the file randomness, you would -type:

- - - - - -
-
-:w randomness
-
-
- -

Once you've saved the file once, saving it again is as simple as typing :w. 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 -vi (a very common operation), you would type :wq. That tells vi to save the current file -and quit back to the shell.

- -

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:

- - - - - -
-
-:w!
-
-
- -

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, vi 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 root or -(preferably) the owner of that file.

-
- -
-
-

16.5 Quitting vi

- -

One way to quit vi is through :wq, -which will save the current buffer before quitting. You can also quit without saving with -:q or (more commonly) :q!. The latter is used -when you've modified the file but do not wish to save any changes to it.

- -

On occasion, your machine might crash or vi might crash. -However, both elvis and vim 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.

- -

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. elvis will -also send you a mail (from Graceland, oddly enough :) telling you that a backup copy -exists.

-
- -
-
-

16.6 vi -Configuration

- -

Your vi clone of choice can be configured in several -ways.

- -

A variety of commands can be entered while in command mode to set up vi 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.

- -

Almost all of these commands can be put into a configuration file in your home -directory. elvis expects a .exrc file, -while vim expects a .vimrc 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.

- -

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 vi editor. Some editors (like vim) have extensive help within the editor that can be accessed with -the :help command, or something similar. You can also check out the -O'Reilly book Learning the vi Editor by -Lamb and Robbins.

- -

Many common programs in Linux will load up a text file in vi -by default. For example, editing your crontabs will start up vi -by default. If you do not like vi and would like another editor -to be started instead, all you need to do is set the VISUAL -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 .bash_profile or .bashrc -files.

-
- -
-
-

16.7 Vi Keys

- -

This section is a quick reference of many common vi commands. -Some of these were discussed earlier in the chapter, while many will be new.

- -
-

Table 16-1. Movement

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
left, down, up, righth, j, k, l
To the end of the line$
To the beginning of the line^
To the end of the fileG
To the beginning of the file:1
To line 47:47
-
- -
-

Table 16-2. Editing

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
Removing a linedd
Removing five lines5dd
Replacing a characterr
Removing a characterx
Removing ten characters10x
Undo last actionu
Join current and next linesJ
Replace old with new, globally%s'old'new'g
-
- -
-

Table 16-3. Searching

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
Search for “asdf”/asdf
Search backwards for “asdf”?asdf
Repeat last search forwards/
Repeat last search backwards?
Repeat last search, same directionn
Repeat last search, opposite directionN
-
- -
-

Table 16-4. Saving and Quitting

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
Quit:q
Quit without saving:q!
Write and quit:wq
Write, without quitting:w
Reload currently open file:e!
Write buffer to file asdf:w asdf
Open file hejaz:e hejaz
Read file asdf into buffer:r asdf
Read output of ls into buffer:r !ls
-
-
-
- -
-
-

Chapter 17 Emacs

- -

While vi (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 “modes”, like vi does, it uses Control and Alt key combinations to enter -commands, in much the same way that you can use Control and Alt 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 Ctrl-C/ X/ V for copying, -cutting and pasting, Emacs uses different keys and actually a somewhat different -mechanism for this.)

- -

Also unlike vi, 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 -“in Emacs”.

- -

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.

- -

There are two main versions of Emacs: GNU Emacs (which is the version that comes with -Slackware) and XEmacs. The latter is not 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.

- -
-
-

17.1 Starting -emacs

- -

Emacs can be started from the shell by simply typing emacs. -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 Section 17.2.)

- -
-

-
- -

You can also start Emacs on an existing file by typing

- - - - - -
-
-% emacs /etc/resolv.conf
-
-
- -

This will cause Emacs to load the specified file when it starts up, skipping the -welcome message.

- -
-
-

17.1.1 Command -Keys

- -

As mentioned above, Emacs uses Control and Alt combinations for commands. The usual convention is to write these -with C-letter and M-letter, respectively. So C-x means Control+x, and M-x means Alt+x. (The letter M is used instead of A because -originally the key was not the Alt key but the Meta key. The Meta key has all but disappeared -from computer keyboards, and in Emacs the Alt key has taken over -its function.)

- -

Many Emacs commands consist of sequences of keys and key combinations. For example, C-x C-c (that is Control-x -followed by Control-c ) quits Emacs, C-x C-s saves the current file. Keep in mind that C-x C-b is not the same as C-x b. The former means Control-x followed by Control-b, while the latter means Control-x followed by just 'b'.

-
-
- -
-
-

17.2 Buffers

- -

In Emacs, the concept of “buffers” 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.

- -

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.

- -

Switching from one buffer to another can be done with the command C-x 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 Enter will switch to that default -buffer.

- -

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 Tab-completion here: type -the first few letters of the buffer's name and hit Tab; Emacs will -then complete the name of the buffer. Tab completion works -everywhere in Emacs where it makes sense.

- -

You can get a list of open buffers by hitting C-x C-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 -C-x 1.

- -
- - - - - -
Note -

Under X, the list of buffers is also available in the Buffer menu in the menu bar.

-
-
-
- -
-
-

17.3 Modes

- -

Every buffer in Emacs has an associated mode. This mode is very different from the -idea of modes in vi: 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 LaTeX 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 Tab key indents the -current line according to the depth of the block that line is in.

- -

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 INSERT 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 M-q 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.)

- -
-
-

17.3.1 Opening -files

- -

To open a file in Emacs, type

- - - - - -
-
-C-x C-f
-
-
- -

Emacs will ask you for the name of the file, filling in some default path for you -(which is usually ~/ ). After you type the filename (you can -use Tab completion) and hit ENTER , Emacs -will open the file in a new buffer and display that buffer on the screen.

- -
- - - - - -
Note -

Emacs will automatically create a new buffer, it will not load the file into the -current buffer.

-
-
- -

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 -C-x C-f 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 “(New file)” in the minibuffer.

- -

When you type C-x C-f 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.)

- -

When you have typed C-x C-f and suddenly change your mind, you can type -C-g to cancel the action. C-g works almost everywhere where you want to -cancel an action or command that you've started but don't want to finish.

-
-
- -
-
-

17.4 Basic -Editing

- -

When you have opened a file, you can of course move around in it with the cursor. The -cursor keys and PgUp, PgDn do what you'd expect. Home and End 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 -Control and Meta (Alt) -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 Table -17-1.

- -
-

Table 17-1. Basic Emacs Editing Commands

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandResult
C-b go one character back
C-f go one character forward
C-n go one line down
C-p go one line up
C-a go to the beginning of the line
C-e go to the end of the line
M-b go one word back
M-f go one word forward
M-} go one paragraph forward
M-{ go one paragraph backward
M-a go one sentence backward
M-e go one sentence forward
C-d delete the character under the cursor
M-d delete until the end of the current word
C-v go down one screen (i.e., PgDn)
M-v go up one screen (i.e., PgUp)
M-< go to the beginning of the buffer
M-> go to the end of the buffer
C-_ undo the last change (can be repeated); note that you actually have to type Shift+Control+hyphen for -this.
C-k delete to end of line
C-s forward search
C-r backward search
-
- -

Note that many Meta commands are parallel to the Control commands except that they operate on larger units: while C-f goes forward one character, M-f goes forward an entire word, etc.

- -

Also note that M-< and M-> require you to type Shift+Alt+comma and Shift+Alt+dot -respectively, since < and > are on Shift+comma and Shift+dot. (Unless of course you have a different keyboard layout from the -standard US layout.)

- -

Note that C-k 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 C-k twice: once to delete the text on the line, -once to delete the line itself.

-
- -
-
-

17.5 Saving -Files

- -

In order to save a file, you type

- - - - - -
-
-C-x C-s
-
-
- -

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

- - - - - -
-
-C-x C-w
-
-
- -

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 “cars.txt”, -Emacs will create a backup “cars.txt~”.

- -

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: #cars.txt#. This backup is deleted when you -save the file with C-x C-s.

- -

When you are done editing a file, you can kill the buffer that holds it by typing

- - - - - -
-
-C-x k
-
-
- -

Emacs will then ask you which buffer you want to kill, with the current buffer as -default, which you can select by hitting ENTER. If you haven't -saved your file yet, Emacs will ask you if you really want to kill the buffer.

- -
-
-

17.5.1 Quitting -Emacs

- -

When you are done with Emacs altogether, you can type

- - - - - -
-
-C-x C-c
-
-
- -

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.

-
-
-
- -
-
-

Chapter 18 Slackware Package -Management

- -

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.

- -

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), pkgtool and its associated programs are every bit as good at -installing packages as rpm. The truth about pkgtool is not that -it doesn't exist, but that it doesn't do any dependency checking.

- -

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.

- -
-
-

18.1 Overview of Package Format

- -

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 gzip. Packages are built to be extracted in the -root directory.

- -

Here is a fictitious program and its example package:

- - - - - -
-
-./
-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
-
-
- -

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.

- -

Notice the install/ subdirectory. This is a special -directory that can contain a postinstallation script called doinst.sh. If the package system finds this file, it will execute -it after installing the package.

- -

Other scripts can be embedded in the package, but those are discussed more in detail -in Section 18.3.2 below.

-
- -
-
-

18.2 Package Utilities

- -

There are four main utilities for package management. They perform installation, -removal, and upgrades of packages.

- -
-
-

18.2.1 pkgtool

- -

pkgtool(8) is a menu-driven program that allows installation -and removal of packages. The main menu is shown in Figure -18-1.

- -
-

Figure 18-1. Pkgtool's main menu.

- -

-
- -

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.

- -

You may also view a list of installed packages, as shown in Figure 18-2.

- -
-

Figure 18-2. Pkgtool view mode

- -

-
- -

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. pkgtool will remove them.

- -

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.

-
- -
-
-

18.2.2 installpkg

- -

installpkg(8) handles installation of new packages on the -system. The syntax is as follows:

- - - - - -
-
-# installpkg option package_name
-
-
- -

Three options are provided for installpkg. Only one option -can be used at a time.

- -
-

Table 18-1. installpkg Options

- - --- - - - - - - - - - - - - - - - - - - - - - - -
OptionEffects
-mPerforms a makepkg operation on the current directory.
-warnShows 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.
-rRecursively 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.
-
- -

If you pass the ROOT environment variable before installpkg, 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 /mnt or something other than /.

- -

The installed package database entry is stored in /var/log/packages. The entry is really just a plain text file, one -for each package. If the package has a postinstallation script, it is written to /var/log/scripts/.

- -

You may specify several packages or use wildcards for the package name. Be advised -that installpkg 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 upgradepkg.

-
- -
-
-

18.2.3 removepkg

- -

removepkg(8) handles removing installed packages from the -system. The syntax is as follows:

- - - - - -
-
-# removepkg option package_name
-
-
- -

Four options are provided for removepkg. Only one option may -be used at a time.

- -
-

Table 18-2. removepkg Options

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionEffects
-copyThe package is copied to the preserved packages directory. This creates a tree of the -original package without removing it.
-keepSaves temporary files created during the removal. Really only useful for debugging -purposes.
-preserveThe package is removed, but copied to the preserved packages directory at the same -time.
-warnShows what would happen if you removed the package.
-
- -

If you pass the ROOT environment variable before removepkg, 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 /mnt or something other than /.

- -

removepkg 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.

- -

During the removal process, a status report is displayed. After the removal, the -package database entry is moved to /var/log/removed_packages -and the postinstallation script is moved to /var/log/removed_scripts.

- -

Just as with installpkg, you can specify several packages or -use wildcards for the package name.

-
- -
-
-

18.2.4 upgradepkg

- -

upgradepkg(8) will upgrade an installed Slackware package. -The syntax is as follows:

- - - - - -
-
-# upgradepkg package_name
-
-
- -

or

- - - - - -
-
-# upgradepkg old_package_name%new_package_name
-
-
- -

upgradepkg 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).

- -

If you pass the ROOT environment variable before upgradepkg, 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 /mnt or something other than /.

- -

upgradepkg 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.

- -

Just as with installpkg and removepkg, you can specify several packages or use wildcards for the -package name.

-
- -
-
-

18.2.5 rpm2tgz/rpm2targz

- -

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).

- -

We provide a program that will convert RPM packages to our native .tgz format. This will allow you to extract the package (perhaps -with explodepkg) to a temporary directory and examine its -contents.

- -

The rpm2tgz program will create a Slackware package with a -.tgz extension, while rpm2targz -creates an archive with a .tar.gz extension.

-
-
- -
-
-

18.3 Making Packages

- -

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 /install/doinst.sh.

- -

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.

- -
-
-

18.3.1 explodepkg

- -

explodepkg(8) will do the same thing that installpkg 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.

- -

If you look at the Slackware source tree, you will see how we use this command for -“framework” 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.

-
- -
-
-

18.3.2 makepkg

- -

makepkg(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.

- -

This command is typically run after you have created your package tree.

-
- -
-
-

18.3.3 SlackBuild Scripts

- -

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.

- -

So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that -you run as root 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.

-
-
- -
-
-

18.4 Making Tags and Tagfiles (for -setup)

- -

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.

- -

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:

- -
-

Table 18-3. Tagfile Status Options

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionMeaning
ADDThe package is required for proper system operation
SKPThe package will be automatically skipped
RECThe package is not required, but recommended
OPTThe package is optional
-
- -

The format is simply:

- - - - - -
-
-package_name: status
-
-
- -

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.

- -

Many administrators prefer writing their own tagfiles and starting the installer and -selecting “full”. 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.

- -

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.

-
-
- -
-
-

Chapter 19 ZipSlack

- -
-

19.1 What is -ZipSlack?

- -

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.

- -

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.

- -

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.

- -

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.

- -
-
-

19.1.1 -Advantages

- -
    -
  • -

    Does not require repartitioning of your hard disk.

    -
  • - -
  • -

    Great way to learn Slackware Linux without stumbling through the installation -process.

    -
  • -
-
- -
-
-

19.1.2 -Disadvantages

- -
    -
  • -

    Uses the DOS filesystem, which is slower than a native Linux filesystem.

    -
  • - -
  • -

    Will not work with Windows NT.

    -
  • -
-
-
- -
-
-

19.2 Getting -ZipSlack

- -

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 zipslack 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.

- -

If you want to download ZipSlack, you should first visit our “Get Slack” -web page for the latest download information:

- -

http://www.slackware.com/getslack/

- -

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:

- -

ftp://ftp.slackware.com/pub/slackware/slackware/

- -

You'll find ZipSlack in the /zipslack subdirectory. ZipSlack -is offered as one big .ZIP file or floppy-sized chunks. The -chunks are in the /zipslack/split directory.

- -

Don't stop at just the .ZIP files. You should also download -the documentation files and any boot images that appear in the directory.

- -
-
-

19.2.1 -Installation

- -

Once you've downloaded the necessary components, you'll need to extract the .ZIP 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.

- -

ZipSlack is designed to be extracted directly to the root directory of a drive (such -as C: or D:). A \LINUX 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.

- -

After you've extracted the files, you should have a \LINUX -directory on the drive of your choosing (we'll use C: from -here on).

-
-
- -
-
-

19.3 Booting -ZipSlack

- -

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.

- -

Start by opening the C:\LINUX\LINUX.BAT 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 root= 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.

- -

After you uncomment the line you want by removing the “rem” at the -beginning of the line, save the file and exit the editor. Bring your machine into DOS -mode.

- -

A DOS prompt window in Windows 9x will NOT work.

- -

Type C:\LINUX\LINUX.BAT to boot the system. If all goes well, -you should be presented with a login prompt.

- -

Log in as root, 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.

- -

If using the LINUX.BAT file to boot the system didn't work -for you, you should refer to the included C:\LINUX\README.1ST -file for other ways to boot.

-
-
- -
-

Glossary

- -
-
Account
- -
-

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.

-
- -
Background
- -
-

Any process that is running without accepting or controlling the input of a terminal -is said to be running in the background.

-
- -
Boot disk
- -
-

A floppy disk containing an operating system (in our case, the Linux kernel) from -which a computer can be started.

-
- -
Compile
- -
-

To convert source code to machine-readable “binary” code.

-
- -
Daemon
- -
-

A program designed to run in the background and, without user intervention, perform a -specific task (usually providing a service).

-
- -
Darkstar
- -
-

The default hostname in Slackware; your computer will be called darkstar if you do not -specify some other name.

- -

One of Patrick Volkerding's development machines, named after “Dark Star”, -a song by the Grateful Dead.

-
- -
Desktop Environment
- -
-

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.

-
- -
Device driver
- -
-

A chunk of code in the kernel that directly controls a piece of hardware.

-
- -
Device node
- -
-

A special type of file in the /dev filesystem that -represents a hardware component to the operating system.

-
- -
DNS
- -
-

Domain Name Service. A system in which networked computers are given names which -translate to numerical addresses.

-
- -
Domain name
- -
-

A computer's DNS name, excluding its host name.

-
- -
Dot file
- -
-

In Linux, files which are to be hidden have filenames beginning with a dot ('.').

-
- -
Dotted quad
- -
-

The format of IP addresses, so called because it consists of four numbers (range 0-255 -decimal) separated by periods.

-
- -
Dynamic loader
- -
-

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.

-
- -
Environment variable
- -
-

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.

-
- -
Epoch
- -
-

A period of history; in Unix, “The Epoch” begins at 00:00:00 UTC January -1, 1970. This is considered the “dawn of time” by Unix and Unix-like -operating systems, and all other time is calculated relative to this date.

-
- -
Filesystem
- -
-

A representation of stored data in which “files” of data are kept -organized in “directories”. The filesystem is the nearly universal form of -representation for data stored to disks (both fixed and removable).

-
- -
Foreground
- -
-

A program that is accepting or controlling a terminal's input is said to be running in -the foreground.

-
- -
Framebuffer
- -
-

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.

-
- -
FTP
- -
-

The File Transfer Protocol. FTP is a very popular method of transferring data between -computers.

-
- -
Gateway
- -
-

A computer through which data on a network is transferred to another network.

-
- -
GID
- -
-

Group Identifier. The GID is a unique number attributed to a group of users.

-
- -
Group
- -
-

Users in Unix belong to “groups”, which can contain many other users and -are used for more general access control than the existence of users alone can easily -allow.

-
- -
GUI
- -
-

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

-
- -
Home directory
- -
-

A user's “home directory” 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.

-
- -
HOWTO
- -
-

A document describing “how to” 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.

-
- -
HTTP
- -
-

The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide -Web operates.

-
- -
ICMP
- -
-

Internet Control Message Protocol. A very basic networking protocol, used mostly for -pings.

-
- -
Kernel
- -
-

The heart of an operating system. The kernel is the part that provides basic process -control and interfaces with the computer's hardware.

-
- -
Kernel module
- -
-

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.

-
- -
Library
- -
-

A collection of functions which can be shared between programs.

-
- -
LILO
- -
-

The LInux LOader. LILO is the most widely-used Linux boot manager.

-
- -
LOADLIN
- -
-

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).

-
- -
Man section
- -
-

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.

-
- -
MBR
- -
-

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.

-
- -
Motif
- -
-

A popular programming toolkit used in many older X programs.

-
- -
MOTD
- -
-

Message of the Day. The motd (stored in Linux in /etc/motd -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 “bulletin board” for communicating -with users.

-
- -
Mount point
- -
-

An empty directory in a filesystem where another filesystem is to be -“mounted”, or grafted on.

-
- -
Nameserver
- -
-

A DNS information server. Nameservers translate DNS names to numerical IP -addresses.

-
- -
Network interface
- -
-

A virtual representation of a network device provided by the kernel. Network -interfaces allow users and programs to talk to network devices.

-
- -
NFS
- -
-

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.

-
- -
Octal
- -
-

Base-8 number system, with digits 0-7.

-
- -
Pager
- -
-

An X program that allows the user to see and switch between multiple -“desktops”.

-
- -
Partition
- -
-

A division of a hard drive. Filesystems exist on top of partitions.

-
- -
PPP
- -
-

Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet -Service Provider.

-
- -
Process
- -
-

A running program.

-
- -
Root directory
- -
-

Represented as “/”, the root directory exists at the top of the -filesystem, with all other directories branching out beneath it in a “file -tree”.

-
- -
Root disk
- -
-

The disk (usually fixed) on which the root directory is stored.

-
- -
Routing table
- -
-

The set of information the kernel uses in “routing” network data around. -It contains such tidbits as where your default gateway is, which network interface is -connected to which network, etc.

-
- -
Runlevel
- -
-

The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is -“single user mode”, runlevel 4 is an X login, etc. There are 6 available -runlevels on a Slackware system.

-
- -
Secure shell
- -
-

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.

-
- -
Service
- -
-

The sharing of information and/or data between programs and computers from a single -“server” to multiple “clients”. HTTP, FTP, NFS, etc. are -services.

-
- -
Shadow password suite
- -
-

The shadow password suite allows encrypted passwords to be hidden from users, while -the rest of the information in the /etc/passwd file remains -visible to all. This helps prevent brute-force attempts at cracking passwords.

-
- -
Shell
- -
-

Shells provide a commandline interface to the user. When you're looking at a text -prompt, you're in a shell.

-
- -
Shell builtin
- -
-

A command built into the shell, as opposed to being provided by an external program. -For instance, bash has a cd -builtin.

-
- -
Signal
- -
-

Unix programs can communicate between each other using simple “signals”, -which are enumerated and usually have specific meanings. kill -l -will list the available signals.

-
- -
SLIP
- -
-

Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used -for connecting two machines via a serial interface.

-
- -
Software package
- -
-

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.

-
- -
Software series
- -
-

A collection of related software packages in Slackware. All KDE packages are in the -“kde” series, networking packages in the “n” series, etc.

-
- -
Source code
- -
-

The (more or less) human-readable code in which most programs are written. Source code -is compiled into “binary” code.

-
- -
Standard Error (stderr)
- -
-

The Unix-standard output stream for errors. Programs write any error messages on -stderr, so that they can be separated from normal output.

-
- -
Standard Input (stdin)
- -
-

The Unix-standard input stream. Data can be redirected or piped into a program's stdin -from any source.

-
- -
Standard Output (stdout)
- -
-

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.

-
- -
Subnet
- -
-

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 “undefined”); it is, in -fact, the “.1” subnet.

-
- -
Superblock
- -
-

In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The -superblock is the first 512 bytes of a partition.

-
- -
Supplemental disk
- -
-

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.

-
- -
Suspended process
- -
-

A process which has been frozen until killed or resumed.

-
- -
Swap space
- -
-

Disk space used by the kernel as “virtual” 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.

-
- -
Symbolic link
- -
-

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.

-
- -
Tagfile
- -
-

A file used by the Slackware setup program during -installation, which describes a set of packages to be installed.

-
- -
Terminal
- -
-

A human-computer interface consisting of at least a screen (or virtual screen) and -some method of input (almost always at least a keyboard).

-
- -
Toolkit, GUI
- -
-

A GUI toolkit is a collection of libraries that provide a programmer with code to draw -“widgets” such as scrollbars, checkboxes, etc. and construct a graphical -interface. The GUI toolkit used by a program often defines its “look and -feel”.

-
- -
UID
- -
-

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.

-
- -
VESA
- -
-

Video Electronics Standards Association. The term “VESA” is often used to -denote a standard specified by said Association. Nearly all modern video adapters are -VESA-compliant.

-
- -
Virtual terminal
- -
-

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.

-
- -
Window manager
- -
-

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.

-
- -
Working directory
- -
-

The directory in which a program considers itself to be while running.

-
- -
Wrapper program
- -
-

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.

-
- -
X server
- -
-

The program in the X Window System which interfaces with graphics hardware and handles -the actual running of X programs.

-
- -
X Window System
- -
-

Network-oriented graphical interface system used on most Unix-like operating systems, -including Linux.

-
-
-
- -
-
-

Appendix A. The GNU General Public License

- -

GNU GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- -59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- -Everyone is permitted to copy and distribute verbatim copies of this
- -license document, but changing it is not allowed.

- -
-
-

A.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 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.

- -

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.

-
- -
-
-

A.2. TERMS AND CONDITIONS

- -

TERMS AND CONDITIONS FOR COPYING, -DISTRIBUTION AND MODIFICATION

- -
    -
  1. -

    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.

    -
  2. - -
  3. -

    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.

    -
  4. - -
  5. -

    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:

    - -
      -
    1. -

      You must cause the modified files to carry prominent notices stating that you changed -the files and the date of any change.

      -
    2. - -
    3. -

      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.

      -
    4. - -
    5. -

      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.)

      -
    6. -
    - -

    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.

    -
  6. - -
  7. -

    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:

    - -
      -
    1. -

      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,

      -
    2. - -
    3. -

      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,

      -
    4. - -
    5. -

      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.)

      -
    6. -
    - -

    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.

    -
  8. - -
  9. -

    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.

    -
  10. - -
  11. -

    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.

    -
  12. - -
  13. -

    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.

    -
  14. - -
  15. -

    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.

    -
  16. - -
  17. -

    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.

    -
  18. - -
  19. -

    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.

    -
  20. - -
  21. -

    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.

    -
  22. - -
  23. -

    NO WARRANTY

    - -

    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.

    -
  24. - -
  25. -

    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.

    -
  26. -
- -

END OF TERMS AND CONDITIONS

-
- -
-
-

A.3. 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., 59 Temple Place, Suite 330, Boston, MA   02111-1307 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 Library General Public License instead of this License.

-
-
-
- -
- - - 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 @@ - - - - -Dual Booting - - - - - - - - - - - -
-

7.3 Dual Booting

- -

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.

- -
-

7.3.1 -Windows

- -

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.

- -

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.

- -
-

7.3.1.1 Using LILO

- -

Most people will want to use LILO to chose between Linux and Windows. As stated above, -you should install Windows first, then Linux.

- -

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.

- - - - - -
-
-   20GB   Windows boot (C:)
-   1GB   Linux root (/)
-   19GB  Linux /usr (/usr)
-
-
- -

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 “right” way to do it, but -sticking with the rule above should be sufficient.

- -

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.

- -

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.

- -

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).

- -

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 lilo(8) -and lilo.conf(5) provide more detailed information.

- -

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.

-
- -
-

7.3.1.2 Using LOADLIN

- -

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.

- -

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.

- -

After installing the operating systems, copy the loadlinX.zip (where X is a version -number, such as 16a) 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:

- - - - - -
-
-# mkdir /win
-# mount -t vfat /dev/hda1 /win
-# mkdir /win/linux
-# cd /root
-# cp loadlin* /win/linux
-# cp /boot/vmlinuz /win/linux
-# cd /win/linuz
-# unzip loadlin16a.zip
-
-
- -

That will create a C:\LINUX directory on your Windows -partition (assuming it's /dev/hda1) and copy over the necessary -stuff for LOADLIN. After doing this, you will need to reboot into Windows to setup a boot -menu.

- -

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.

- - - - - -
-
-C:\> cd \
-C:\> attrib -r -a -s -h MSDOS.SYS
-C:\> edit MSDOS.SYS
-
-
- -

Add this line to the file:

- - - - - -
-
-BootGUI=0
-
-
- -

Now save the file and exit the editor. Now edit C:\AUTOEXEC.BAT so we can add a boot menu. The following provides -an example of what a boot menu block in AUTOEXEC.BAT would look -like:

- - - - - -
-
-cls
-echo System Boot Menu
-echo.
-echo 1 - Linux
-echo 2 - Windows
-echo.
-choice /c:12 "Selection? -> "
-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
-
-
- -

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.

- -

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.

-
- -
-

7.3.1.3 Deprecated Windows NT -Hack

- -

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.

- -
    -
  1. -

    Install Windows NT

    -
  2. - -
  3. -

    Install Linux, making sure LILO is installed to the superblock of the Linux -partition

    -
  4. - -
  5. -

    Get the first 512 bytes of the Linux root partition and store it on the Windows NT -partition

    -
  6. - -
  7. -

    Edit C:\BOOT.INI under Windows NT to add a Linux option

    -
  8. -
- -

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 /dev/hda2, issue this -command:

- - - - - -
-
-# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512
-
-
- -

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 /tmp/bootsect.lnx -from the Linux drive to C:\BOOTSECT.LNX on the Windows NT -drive.

- -

The last step is adding a menu option to the Windows NT boot menu. Under Windows NT -open a command prompt.

- - - - - -
-
-C:\WINNT> cd \
-C:\> attrib -r -a -s -h boot.ini
-C:\> edit boot.ini
-
-
- -

Add this line to the end of the file:

- - - - - -
-
-C:\bootsect.lnx="Slackware Linux"
-
-
- -

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.

-
-
- -
-

7.3.2 -Linux

- -

Yes, people really do this. This is definitely the easiest dual boot scenario. You can -simply use LILO and add more entries to the /etc/lilo.conf -file. That's all there is to it.

-
-
- - - - - 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 @@ - - - - -LOADLIN - - - - - - - - - - - -
-

7.2 LOADLIN

- -

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.

- -

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 /boot/vmlinuz) and the LOADLIN file -from root's home directory to the DOS partition.

- -

LOADLIN is useful if you would like to make a boot menu on your DOS partition. A menu -could be added to your AUTOEXEC.BAT file that would allow you -to pick between Linux or DOS. A choice of Linux would run LOADLIN, thus booting your -Slackware system. This AUTOEXEC.BAT file under Windows 95 will -provide a sufficient boot menu:

- - - - - -
-
-   @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? -> "
-   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=<root partition device> RO
-   GOTO END
-   :END
-
-
- -

You will want to specify your root partition as a Linux device name, like /dev/hda2 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.

-
- - - - - 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 @@ - - - - -Booting - - - - - - - - - - -
-

Chapter 7 Booting

- -
-
-
Table of Contents
- -
7.1 LILO
- -
7.2 LOADLIN
- -
7.3 Dual Booting
-
-
- -

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.

- -

Another popular utility for booting Linux is GRUB. GRUB is not included or officially -supported by Slackware. Slackware holds to the “tried and true” 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.

- -

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.

- -
-

7.1 LILO

- -

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.

- -

Slackware Linux comes with a menu-driven configuration utility called liloconfig. This program is first run during the setup process, but -you can invoke it later by typing liloconfig at the prompt.

- -

LILO reads its settings from the /etc/lilo.conf(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 lilo.conf file, but -failing to re-run lilo to install these changes. liloconfig will -help you build the configuration file so that you can install LILO for your system. If -you prefer to edit /etc/lilo.conf by hand, then reinstalling -LILO just involves typing /sbin/lilo (as root) at the prompt.

- -

When you first invoke liloconfig, it will look like this:

- -
-

Figure 7-1. liloconfig

- -

-
- -

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.

- -

If kernel frame buffer support is compiled into your kernel, liloconfig 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.

- -

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:

- -
-
-
Root
- -
-

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 /boot 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 “1024 cylinder limit”. LILO was unable to boot kernels on partitions past -the 1024th cylinder. Recent editions of LILO have eliminated this problem.

-
- -
Floppy
- -
-

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.

-
- -
MBR
- -
-

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.

- -
- - - - - -
Warning -

This option will overwrite any other booter you have in the MBR.

-
-
-
-
-
- -

After selecting the installation location, liloconfig 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 /etc/lilo.conf 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:

- -
-

Figure 7-2. liloconfig Expert Menu

- -

-
- -

Whatever your system configuration is, setting up a working boot loader is easy. liloconfig makes setting it up a cinch.

-
-
- - - - - 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 Binary files a/slackbook/html/booting/setup-lilo-expert-w.png and /dev/null 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 Binary files a/slackbook/html/booting/setup-lilo-w.png and /dev/null 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 @@ - - - - -Basic Editing - - - - - - - - - - - -
-

17.4 Basic -Editing

- -

When you have opened a file, you can of course move around in it with the cursor. The -cursor keys and PgUp, PgDn do what you'd expect. Home and End 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 -Control and Meta (Alt) -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 Table 17-1.

- -
-

Table 17-1. Basic Emacs Editing Commands

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandResult
C-b go one character back
C-f go one character forward
C-n go one line down
C-p go one line up
C-a go to the beginning of the line
C-e go to the end of the line
M-b go one word back
M-f go one word forward
M-} go one paragraph forward
M-{ go one paragraph backward
M-a go one sentence backward
M-e go one sentence forward
C-d delete the character under the cursor
M-d delete until the end of the current word
C-v go down one screen (i.e., PgDn)
M-v go up one screen (i.e., PgUp)
M-< go to the beginning of the buffer
M-> go to the end of the buffer
C-_ undo the last change (can be repeated); note that you actually have to type Shift+Control+hyphen for -this.
C-k delete to end of line
C-s forward search
C-r backward search
-
- -

Note that many Meta commands are parallel to the Control commands except that they operate on larger units: while C-f goes forward one character, M-f goes forward an entire word, etc.

- -

Also note that M-< and M-> require you to type Shift+Alt+comma and Shift+Alt+dot -respectively, since < and > are on Shift+comma and Shift+dot. (Unless of course you have a different keyboard layout from the -standard US layout.)

- -

Note that C-k 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 C-k twice: once to delete the text on the line, -once to delete the line itself.

-
- - - - - 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 @@ - - - - -Buffers - - - - - - - - - - - -
-

17.2 Buffers

- -

In Emacs, the concept of “buffers” 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.

- -

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.

- -

Switching from one buffer to another can be done with the command C-x 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 Enter will switch to that default -buffer.

- -

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 Tab-completion here: type -the first few letters of the buffer's name and hit Tab; Emacs will -then complete the name of the buffer. Tab completion works -everywhere in Emacs where it makes sense.

- -

You can get a list of open buffers by hitting C-x C-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 -C-x 1.

- -
- - - - - -
Note -

Under X, the list of buffers is also available in the Buffer menu in the menu bar.

-
-
-
- - - - - 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 @@ - - - - -Modes - - - - - - - - - - - -
-

17.3 Modes

- -

Every buffer in Emacs has an associated mode. This mode is very different from the -idea of modes in vi: 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 LaTeX 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 Tab key indents the -current line according to the depth of the block that line is in.

- -

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 INSERT 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 M-q 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.)

- -
-

17.3.1 Opening -files

- -

To open a file in Emacs, type

- - - - - -
-
-C-x C-f
-
-
- -

Emacs will ask you for the name of the file, filling in some default path for you -(which is usually ~/ ). After you type the filename (you can -use Tab completion) and hit ENTER , Emacs -will open the file in a new buffer and display that buffer on the screen.

- -
- - - - - -
Note -

Emacs will automatically create a new buffer, it will not load the file into the -current buffer.

-
-
- -

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 -C-x C-f 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 “(New file)” in the minibuffer.

- -

When you type C-x C-f 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.)

- -

When you have typed C-x C-f and suddenly change your mind, you can type -C-g to cancel the action. C-g works almost everywhere where you want to -cancel an action or command that you've started but don't want to finish.

-
-
- - - - - 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 @@ - - - - -Saving Files - - - - - - - - - - - -
-

17.5 Saving -Files

- -

In order to save a file, you type

- - - - - -
-
-C-x C-s
-
-
- -

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

- - - - - -
-
-C-x C-w
-
-
- -

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 “cars.txt”, -Emacs will create a backup “cars.txt~”.

- -

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: #cars.txt#. This backup is deleted when you -save the file with C-x C-s.

- -

When you are done editing a file, you can kill the buffer that holds it by typing

- - - - - -
-
-C-x k
-
-
- -

Emacs will then ask you which buffer you want to kill, with the current buffer as -default, which you can select by hitting ENTER. If you haven't -saved your file yet, Emacs will ask you if you really want to kill the buffer.

- -
-

17.5.1 Quitting -Emacs

- -

When you are done with Emacs altogether, you can type

- - - - - -
-
-C-x C-c
-
-
- -

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.

-
-
- - - - - 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 @@ - - - - -Emacs - - - - - - - - - - -
-

Chapter 17 Emacs

- -
-
-
Table of Contents
- -
17.1 Starting emacs
- -
17.2 Buffers
- -
17.3 Modes
- -
17.4 Basic Editing
- -
17.5 Saving Files
-
-
- -

While vi (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 “modes”, like vi does, it uses Control and Alt key combinations to enter -commands, in much the same way that you can use Control and Alt 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 Ctrl-C/ X/ V for copying, -cutting and pasting, Emacs uses different keys and actually a somewhat different -mechanism for this.)

- -

Also unlike vi, 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 -“in Emacs”.

- -

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.

- -

There are two main versions of Emacs: GNU Emacs (which is the version that comes with -Slackware) and XEmacs. The latter is not 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.

- -
-

17.1 Starting -emacs

- -

Emacs can be started from the shell by simply typing emacs. -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 Section 17.2.)

- -
-

-
- -

You can also start Emacs on an existing file by typing

- - - - - -
-
-% emacs /etc/resolv.conf
-
-
- -

This will cause Emacs to load the specified file when it starts up, skipping the -welcome message.

- -
-

17.1.1 Command -Keys

- -

As mentioned above, Emacs uses Control and Alt combinations for commands. The usual convention is to write these -with C-letter and M-letter, respectively. So C-x means Control+x, and M-x means Alt+x. (The letter M is used instead of A because -originally the key was not the Alt key but the Meta key. The Meta key has all but disappeared -from computer keyboards, and in Emacs the Alt key has taken over -its function.)

- -

Many Emacs commands consist of sequences of keys and key combinations. For example, C-x C-c (that is Control-x -followed by Control-c ) quits Emacs, C-x C-s saves the current file. Keep in mind that C-x C-b is not the same as C-x b. The former means Control-x followed by Control-b, while the latter means Control-x followed by just 'b'.

-
-
-
- - - - - diff --git a/slackbook/html/emacs/emacs.png b/slackbook/html/emacs/emacs.png deleted file mode 100644 index 7571dec42..000000000 Binary files a/slackbook/html/emacs/emacs.png and /dev/null 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 @@ - - - - -Users and Groups, the Hard Way - - - - - - - - - - - -
-

12.2 Users and Groups, the Hard Way

- -

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.

- -

First, we'll add a new user to the /etc/passwd(5), /etc/shadow(5), and /etc/group(5) files. -The passwd 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 passwd file simply as -“x”. The group file -lists all the groups and who is in each.

- -

You can use the vipw command to edit the /etc/passwd file safely, and the vigr -command to edit the /etc/group file safely. Use vipw -s to edit the /etc/shadow file -safely. (“Safely” 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.)

- -

Let's examine the /etc/passwd file and look at how to add a -new user. A typical entry in passwd looks like this:

- - - - - -
-
-chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
-
-
- -

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 (“x” 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.

- -

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 x, and that both the user name and user ID is unique. Assign the -user a group, either 100 (the “users” 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 /etc/shells).

- -

Next, we'll need to add an entry in the /etc/shadow file, which holds the encrypted -passwords. A typical entry looks like this:

- - - - - -
-
-chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
-
-
- -

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.

- -

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 -“days since password was changed” field blank as well. Fill in 0, 99999, and 7 just as you see in the example entry, and leave the other fields -blank.

- -

(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 :) )

- -

All normal users are members of the “users” -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 /etc/group file. Here is a typical entry:

- - - - - -
-
-cvs::102:chris,logan,david,root
-
-
- -

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.

- -

At this point, it might be a good idea to use the pwck and -grpck commands to verify that the changes you've made are -consistent. First, use pwck -r and grpck --r: the -r 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 pwck or grpck without the -r switch, or to simply leave your changes as they are.

- -

At this point, you should use the passwd command to create a -proper password for the user. Then, use mkdir to create the new -user's home directory in the location you entered into the /etc/passwd file, and use chown to change -the owner of the new directory to the new user.

- -

Removing a user is a simple matter of deleting all of the entries that exist for that -user. Remove the user's entry from /etc/passwd and /etc/shadow, and remove the login name from any groups in the /etc/group file. If you wish, delete the user's home directory, the -mail spool file, and his crontab entry (if they exist).

- -

Removing groups is similar: remove the group's entry from /etc/group.

-
- - - - - 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 @@ - - - - -Shutting Down Properly - - - - - - - - - - - -
-

12.3 Shutting Down Properly

- -

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.

- -
- - - - - -
Note -

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.

-
-
- -

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.

- -

The first method is through the shutdown(8) program, and it -is probably the most popular. shutdown 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.

- -

The most basic use of shutdown to power down the computer is:

- - - - - -
-
-# shutdown -h now
-
-
- -

In this case, we are not going to send a custom message to the users; they will see -shutdown's default message. “now” is the time that we want to shutdown, and the “-h” 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:

- - - - - -
-
-# shutdown -h +60
-
-
- -

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, /etc/motd, whatever).

- -

Rebooting the system uses the same command, but substitutes “-r” for “-h”:

- - - - - -
-
-# shutdown -r now
-
-
- -

You can use same time notation with shutdown -r that you -could with shutdown -h. There are a lot of other things that you -can do with shutdown to control when to halt or reboot the -machine; see the man page for more details.

- -

The second way of shutting down or powering off the computer is to use the halt(8) and reboot(8) commands. As the -names indicate, halt will immediately halt the operating system, -and reboot will reboot the system. (reboot is actually just a symbolic link to halt.) They are invoked like so:

- - - - - -
-
-# halt
-# reboot
-
-
- -

A lower-level way to reboot or shutdown the system is to talk directly to init. All the other methods are simply convenient ways to talk to -init, but you can directly tell it what to do using telinit(8) (note that it only has one “l”). Using telinit will tell init 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.

- - - - - -
-
-# telinit 0
-
-
- -

Runlevel 0 is halt mode. Telling init 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.

- - - - - -
-
-# telinit 6
-
-
- -

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.

- -

For the curious, when switching to runlevel 0 or 6, whether by using shutdown, halt, or reboot, the script /etc/rc.d/rc.6 is run. -(The script /etc/rc.d/rc.0 is another symbolic link, to /etc/rc.d/rc.6.) You can customize this file to your tastes--but be -sure to test your changes carefully!

- -

There is one last method of rebooting the system. All the other methods require you to -be logged in as root. However, it is possible to reboot the -machine even if you aren't root, provided that you have physical access to the keyboard. -Using Control+Alt+Delete (the "three-fingered salute") will cause the machine to -immediately reboot. (Behind the scenes, the shutdown command is -called for you when you use Control+Alt+Delete.) The salute doesn't always work when using X Windows--you may -need to use Control+Alt+F1 (or another Function key) to switch to a non-X Windows terminal -before using it.

- -

Finally, the file that ultimately controls every aspect of startup and shutdown is the -/etc/inittab(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.

-
- - - - - 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 @@ - - - - -Essential System Administration - - - - - - - - - - -
-

Chapter 12 Essential System -Administration

- -
-
-
Table of Contents
- -
12.1 Users and -Groups
- -
12.2 Users and Groups, the Hard -Way
- -
12.3 Shutting Down Properly
-
-
- -

Whoa whoa whoa whoa whoa.... I know what you're thinking. “I'm not a system -administrator! I don't even want to be a system administrator!”

- -

Fact is, you are the administrator of any computers for which you have the root 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.

- -
-

12.1 -Users and Groups

- -

As mentioned in Chapter 8, you shouldn't normally use your -system logged in as root. 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.

- -
-

12.1.1 Supplied Scripts

- -

The easiest way to manage users and groups is with the supplied scripts and programs. -Slackware includes the programs adduser, userdel(8), chfn(1), chsh(1), and passwd(1) for dealing with -users. The commands groupadd(8), groupdel(8), and groupmod(8) are for -dealing with groups. With the exception of chfn, chsh, and passwd, these programs are -generally only run as root, and are therefore located in /usr/sbin. chfn, chsh, and passwd can be run by anyone, and -are located in /usr/bin.

- -

Users can be added with the adduser 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.

- - - - - -
-
-# adduser
-Login name for new user []: jellyd
-
-
- -

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.)

- -

You can also provide the login name as an argument on the command line:

- - - - - -
-
-# adduser jellyd
-
-
- -

In either case, after providing the login name, adduser will prompt for the user -ID:

- - - - - -
-
-User ID ('UID') [ defaults to next available ]:
-
-
- -

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.

- - - - - -
-
-Initial group [users]:
-
-
- -

All users are placed into the users 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.

- - - - - -
-
-Additional groups (comma separated) []:
-
-
- -

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 wheel as the only group -that can use the su command. Or, a default Slackware -installation uses the sys group for users authorized to play -sounds through the internal sound card.

- - - - - -
-
-Home directory [/home/jellyd]
-
-
- -

Home directories default to being placed under /home. 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.

- - - - - -
-
-Shell [ /bin/bash ]
-
-
- -

bash 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 chsh command.

- - - - - -
-
-Expiry date (YYYY-MM-DD) []:
-
-
- -

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.

- - - - - -
-
-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 ]
-
-
- -

This is it... if you want to bail out, hit Control+C. Otherwise, press ENTER to go ahead and -make the account.

- -

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 Control+C and -start over. Otherwise, you can hit enter and the account -will be made.

- - - - - -
-
-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 []:
-
-
- -

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 chfn. -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.

- - - - - -
-
-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.
-
-
- -

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.

- -
- - - - - -
Note -

Choosing a Password: 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.

- -

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 “secure1” or any other password you see in print or -online is also bad.

-
-
- -

Removing users is not difficult at all. Just run userdel 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.

- - - - - -
-
-# userdel jellyd
-
-
- -

This command removes that annoying jellyd user from your -system. Good riddance! :) The user is removed from the /etc/passwd, /etc/shadow, and /etc/group files, but doesn't remove the user's home directory.

- -

If you'd wanted to remove the home directory as well, you would instead use this -command:

- - - - - -
-
-# userdel -r jellyd
-
-
- -

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 Section 12.1.3.

- -

The programs to add and remove groups are very simple. groupadd will just add another entry to the /etc/group file with a unique group ID, while groupdel will remove the specified group. It is up to you to edit -/etc/group to add users to a specific group. For example, to -add a group called cvs:

- - - - - -
-
-# groupadd cvs
-
-
- -

And to remove it:

- - - - - -
-
-# groupdel cvs
-
-
-
- -
-

12.1.2 Changing Passwords

- -

The passwd program changes passwords by modifying the /etc/shadow file. This file holds all the passwords for the system -in an encrypted format. In order to change your own password, you would type:

- - - - - -
-
-% passwd
-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:
-
-
- -

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. passwd 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.

- -

If you are root, you can also change another user's -password:

- - - - - -
-
-# passwd ted
-
-
- -

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 root...)

- -

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 passwd. To disable an account, do the following as root:

- - - - - -
-
-# passwd -l david
-
-
- -

This will change david's password to something that can never match any encrypted -value. You would reenable the account by using:

- - - - - -
-
-# passwd -u david
-
-
- -

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 xeyes(1) to your X desktop.

-
- -
-

12.1.3 Changing User Information

- -

There are two pieces of information that users can change at any time: their shell and -their finger information. Slackware Linux uses chsh (change -shell) and chfn (change finger) to modify these values.

- -

A user can pick any shell that is listed in the /etc/shells -file. For most people, /bin/bash 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 chsh:

- - - - - -
-
-% chsh
-Password:
-Changing the login shell for chris
-Enter the new value, or press return for the default
-        Login Shell [/bin/bash]:
-
-
- -

After entering your password, enter the full path to the new shell. Make sure that -it's listed in the /etc/shells(5) file first. The root user can also change any user's shell by running chsh with a username as the argument.

- -

The finger information is the optional information such as your full name, phone -numbers, and room number. This can be changed using chfn, and -follows the same procedure as it did during account creation. As usual, root can change anyone's finger information.

-
-
-
- - - - - 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 @@ - - - - -Copy and Move - - - - - - - - - - - -
-

10.5 Copy -and Move

- -
-

10.5.1 cp

- -

cp(1) copies files. DOS users will notice its similarity to -the copy command. There are many options for cp , so you should have a look at the man page before using it.

- -

A common use is to use cp to copy a file from one location to -another. For example:

- - - - - -
-
-% cp hejaz /tmp
-
-
- -

This copies the hejaz file from the current directory to the -/tmp directory.

- -

Many users prefer to keep the timestamps preserved, as in this example:

- - - - - -
-
-% cp -a hejaz /tmp
-
-
- -

This ensures that the timestamps are not modified in the copy.

- -

To recursively copy the contents of a directory to another directory, you would issue -this command:

- - - - - -
-
-% cp -R mydir /tmp
-
-
- -

That will copy the mydir directory to the /tmp directory.

- -

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 cp -p.

- - - - - -
-
-% ls -l file
--rw-r--r--    1 root     vlad            4 Jan  1 15:27 file
-% cp -p file /tmp
-% ls -l /tmp/file
--rw-r--r--    1 root     vlad            4 Jan  1 15:27 file
-
-
- -

cp has many more options that are discussed in detail in the -online manual page.

-
- -
-

10.5.2 mv

- -

mv(1) moves files from one place to another. Sounds simple -enough doesn't it?

- - - - - -
-
-% mv oldfile /tmp/newfile
-
-
- -

mv has a few useful command line options that are detailed in -the man page. In practice, mv is almost never used with -commandline options.

-
-
- - - - - 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 @@ - - - - -Creation: touch and mkdir - - - - - - - - - - - -
-

10.4 -Creation: touch and mkdir

- -
-

10.4.1 touch

- -

touch(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, touch will create a zero length file -with the name specified. To mark a file with the current system time, you would issue -this command:

- - - - - -
-
-% ls -al file1
--rw-r--r--    1 root     root        9779 Feb  7 21:41 file1
-% touch file1
-% ls -al file1
--rw-r--r--    1 root     root        9779 Feb  8 09:17 file1
-
-
- -

There are several options for touch, including options to -specify which timestamp to modify, the time to use, and many more. The online manual page -discusses these in detail.

-
- -
-

10.4.2 mkdir

- -

mkdir(1) will create a new directory. You simply specify the -directory to create when you run mkdir. This example creates the hejaz directory in the current directory:

- - - - - -
-
-% mkdir hejaz
-
-
- -

You can also specify a path, like this:

- - - - - -
-
-% mkdir /usr/local/hejaz
-
-
- -

The -p option will tell mkdir to -make any parent directories. The above example will fail if /usr/local does not exist. The -p option -will create /usr/local and /usr/local/hejaz:

- - - - - -
-
-% mkdir -p /usr/local/hejaz
-
-
-
-
- - - - - 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 @@ - - - - -Deletion: rm and rmdir - - - - - - - - - - - -
-

10.6 -Deletion: rm and rmdir

- -
-

10.6.1 rm

- -

rm(1) removes files and directory trees. DOS users will -notice the similarity to both the del and deltree commands. rm 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.

- -

To remove a single file, specify its name when you run rm:

- - - - - -
-
-% rm file1
-
-
- -

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 -f option, like this:

- - - - - -
-
-% rm -f file1
-
-
- -

To remove an entire directory, you use the -r and -f 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:

- - - - - -
-
-# rm -rf /
-
-
- -

Be very careful with rm; you can shoot yourself in the foot. -There are several command line options, which are discussed in detail in the online -manual page.

-
- -
-

10.6.2 rmdir

- -

rmdir(1) removes directories from the filesystem. The -directory must be empty before it can be removed. The syntax is simply:

- - - - - -
-
-% rmdir <directory>
-
-
- -

This example will remove the hejaz subdirectory in the -current working directory:

- - - - - -
-
-% rmdir hejaz
-
-
- -

If that directory does not exist, rmdir will tell you. You -can also specify a full path to a directory to remove, as this example shows:

- - - - - -
-
-% rmdir /tmp/hejaz
-
-
- -

That example will try to remove the hejaz directory inside -the /tmp directory.

- -

You can also remove a directory and all of its parent directories by passing the -p option.

- - - - - -
-
-% rmdir -p /tmp/hejaz
-
-
- -

This will first try to remove the hejaz directory inside /tmp. If that is successful, it will try to remove /tmp. rmdir will continue this until an -error is encountered or the entire tree specified is removed.

-
-
- - - - - 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 @@ - - - - -Aliasing files with ln - - - - - - - - - - - -
-

10.7 Aliasing -files with ln

- -

ln(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 Section 9.3. If you -wanted to make a symbolic link to the directory /var/media/mp3 -and place the link in your home directory, you would do this:

- - - - - -
-
-% ln -s /var/media/mp3 ~/mp3
-
-
- -

The -s option tells ln 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 mp3 in your home directory that points to /var/media/mp3. You can call the link itself whatever you want by -just changing the last option.

- -

Making a hard link is just as simple. All you have to do is leave off the -s option. Hard links may not normally refer to directories or span -file systems, however. To create a hard link /usr/bin/email to -/usr/bin/mutt, simply type the following:

- - - - - -
-
-# ln /usr/bin/mutt /usr/bin/email
-
-
-
- - - - - 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 @@ - - - - -Simple Output: cat and echo - - - - - - - - - - - -
-

10.3 Simple -Output: cat and echo

- -
-

10.3.1 cat

- -

cat(1) is short for “concatenate”. It was -originally designed to merge text files into one, but can be used for many other -purposes.

- -

To merge two or more files into one, you simply list the files after the cat command and then redirect the new output to a file. cat works with standard input and standard output, so you have to -use the shell redirection characters. For example:

- - - - - -
-
-% cat file1 file2 file3 > bigfile
-
-
- -

This command takes the contents of file1, file2, and file3 and merges it all -together. The new output is sent to standard out.

- -

One can also use cat to display files. Many people cat text files through the more or less commands, like this:

- - - - - -
-
-% cat file1 | more
-
-
- -

That will display the file1 file and pipe it through the more command so that you only get one screen at a time.

- -

Another common use for cat is copying files. You can copy any -file around with cat, like this:

- - - - - -
-
-% cat /bin/bash > ~/mybash
-
-
- -

The /bin/bash program is copied to your home directory and -named mybash.

- -

cat has many uses and the ones discussed here are just a few. -Since cat makes extensive use of standard input and standard -output, it is ideal for use in shell scripts or part of other complex commands.

-
- -
-

10.3.2 echo

- -

The echo(1) command displays the specified text on the -screen. You specify the string to display after the echo -command. By default echo will display the string and print a -newline character after it. You can pass the -n option to -suppress the printing of the newline. The -e option will cause -echo to search for escape characters in the string and execute -them.

-
-
- - - - - 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 @@ - - - - -Pagers: more, less, and most - - - - - - - - - - - -
-

10.2 Pagers: -more, less, and most

- -
-

10.2.1 more

- -

more(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.

- -

The more 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:

- - - - - -
-
-% cd /usr/bin
-% ls -l
-
-
- -

That should scroll for a while. To break up the output screen by screen, just pipe it -through more:

- - - - - -
-
-% ls -l | more
-
-
- -

That is the pipe character (shift backslash). The pipe is short for saying take the -output of ls and feed it into more. You -can pipe just about anything through the more command, not just -ls. Piping is also covered in Section 8.2.3.

-
- -
-

10.2.2 less

- -

The more 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 -less(1) command provides this functionality. It is used in the -same way as the more command, so the previous examples apply -here too. So, less is more than more. -Joost Kremers puts it this way:

- - -
-

less is more, but more more than more is, so more is less less, so use more less if you want less more.

-
-
- -
-

10.2.3 most

- -

Where more and less leave off, most(1) picks back up. If less is more than -more, most is more than less. Whereas the other pagers can only display one file at a time, -most is capable of viewing any number of files, as long as each -file's window is at least 2 lines long. most has a lot of -options, check the man page for full details.

-
-
- - - - - 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 @@ - - - - -Handling Files and Directories - - - - - - - - - - -
-

Chapter 10 Handling Files and -Directories

- - - -

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.

- -

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.

- -
-

10.1 -Navigation : ls, cd, and pwd

- -
-

10.1.1 ls

- -

This command lists files in a directory. Windows and DOS users will notice its -similarity to the dir command. By itself, ls(1) will list the files in the current directory. To see what's in -your root directory, you could issue these commands:

- - - - - -
-
-% cd /
-% ls
-bin   cdr    dev  home  lost+found  proc  sbin   tmp  var
-boot  cdrom  etc  lib   mnt         root  suncd  usr  vmlinuz
-
-
- -

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 ls add -a type identifier to each listing, like this:

- - - - - -
-
-% ls -FC
-bin/   cdr/    dev/  home/  lost+found/  proc/  sbin/   tmp/  var/
-boot/  cdrom/  etc/  lib/   mnt/         root/  suncd/  usr/  vmlinuz
-
-
- -

Directories get a slash at the end of the name, executable files get an asterisk at -the end of the name, and so on.

- -

ls 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:

- - - - - -
-
-% ls -l
-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/
-
-
- -

Suppose you want to get a listing of the hidden files in the current directory. This -command will do just that:

- - - - - -
-
-% ls -a
-.              bin   cdrom  home        mnt   sbin   usr
-..             boot  dev    lib         proc  suncd  var
-.pwrchute_tmp  cdr   etc    lost+found  root  tmp    vmlinuz
-
-
- -

Files beginning with a period (called dot files) are hidden when you run ls. You will only see them if you pass the -a option.

- -

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 ls.

-
- -
-

10.1.2 cd

- -

The cd command is used to change working directories. You -simply type cd followed by the path name to change to. Here are -some examples:

- - - - - -
-
-darkstar:~$ cd /bin
-darkstar:/bin$ cd usr
-bash: cd: usr: No such file or directory
-darkstar:/bin$ cd /usr
-darkstar:/usr$ ls
-bin
-darkstar:/usr$ cd bin
-darkstar:/usr/bin$
-
-
- -

Notice that without the preceding slash, it tries to change to a directory in the -current directory. Also executing cd with no options will move -you to your home directory.

- -

The cd command is not like the other commands. It is a -builtin shell command. Shell builtins are discussed in Section 8.3.1. 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:

- - - - - -
-
-% help cd
-
-
- -

It will display the options for cd and how to use them.

-
- -
-

10.1.3 pwd

- -

The pwd command is used to show your current location. To use -the pwd command just type pwd. For -example:

- - - - - -
-
-% cd /bin
-% pwd
-/bin
-% cd /usr
-% cd bin
-% pwd
-/usr/bin
-
-
-
-
-
- - - - - 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 @@ - - - - -Links - - - - - - - - - - - -
-

9.3 Links

- -

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.

- -

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.

- -

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 /var/tmp actually be a symbolic link -to /tmp for example.

- -

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:

- - - - - -
-
-% ls -l /bin/sh
-lrwxrwxrwx   1 root     root     4 Apr  6 12:34 /bin/sh -> bash
-
-
- -

The sh shell under Slackware is actually bash. Removing links is done using rm. The -ln command is used to create links. These commands will be -discussed in more depth in Chapter 10.

- -

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.

-
- - - - - 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 @@ - - - - -Mounting Devices - - - - - - - - - - - -
-

9.4 Mounting Devices

- -

As was previously discussed in Section 4.1.1, 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 mount(1) and umount(1) commands.

- -

Some devices are automatically mounted when you boot up your computer. These are -listed in the /etc/fstab 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.

- -
-

9.4.1 fstab

- -

Let's look at an example of the /etc/fstab file:

- - - - - -
-
-% cat /etc/fstab
-/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
-
-
- -

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 ext2 (second extended filesystem). CD-ROM drives are iso9660, and Windows-based devices will either be msdos or vfat.

- -

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 ro flag. There are a lot of options that can be used. -Check the fstab(5) man page for more information. The last two -columns are used by fsck and other commands that need to -manipulate the devices. Check the man page for that information as well.

- -

When you install Slackware Linux, the setup program will build much of the fstab file.

-
- -
-

9.4.2 mount and -umount

- -

Attaching another device to your filesystem is easy. All you have to do is use the mount command, along with a few options. Using mount can simplified if the device has an entry in the /etc/fstab file. For example, let's say that I wanted to mount my -CD-ROM drive and that my fstab file looked like the example from -the previous section. I would call mount like so:

- - - - - -
-
-% mount /cdrom
-
-
- -

Since there is an entry in fstab for that mount point, mount knows what options to use. If there wasn't an entry for that -device, I would have to use several options for mount:

- - - - - -
-
-% mount -t iso9660 -o ro /dev/cdrom /cdrom
-
-
- -

That command line includes the same information as the example fstab did, but we'll go over all the parts anyways. The -t iso9660 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 -o ro tells mount to mount the device read-only. The /dev/cdrom is the name of the device to mount, and /cdrom is the location on the filesystem to mount the drive.

- -

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 umount command. Don't ask where the “n” went because we -couldn't tell you. You can use either the mounted device or the mount point as the -argument to umount. For example, if you wanted to unmount the -CD-ROM from the previous example, either of these commands would work:

- - - - - -
-
-# umount /dev/cdrom
-# umount /cdrom
-
-
-
-
- - - - - 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 @@ - - - - -NFS Mounts - - - - - - - - - - - -
-

9.5 -NFS Mounts

- -

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.

- -

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.

- -

See Section -5.6.2 and the man pages for exports(5), nfsd(8), and mountd(8) for more -information.

-
- - - - - 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 @@ - - - - -Permissions - - - - - - - - - - - -
-

9.2 Permissions

- -

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.

- -

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 -ls and can be used by chmod):

- -
-

Table 9-1. Octal Permission Values

- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Permission TypeOctal ValueLetter Value
“sticky” bit1t
set user ID4s
set group ID2s
read4r
write2w
execute1x
-
- -

You add the octal values for each permission group. For example, if you want the group -permissions to be “read” and “write”, you would use -“6” in the group portion of the permission information.

- -

bash's default permissions are:

- - - - - -
-
-% ls -l /bin/bash
--rwxr-xr-x   1 root     bin  477692 Mar 21 19:57 /bin/bash
-
-
- -

The first dash would be replaced with a “d” 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 (rwx). The -group has only read and execute (r-x). And everyone else has -only read and execute (r-x).

- -

How would we set permissions on another file to resemble bash's? First, let's make an example file:

- - - - - -
-
-% touch /tmp/example
-% ls -l /tmp/example
--rw-rw-r---  1 david    users    0 Apr 19 11:21 /tmp/example
-
-
- -

We will use chmod(1) (which means “change mode”) -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 7. Read and execute would have 5. Run -those together and pass them to chmod like this:

- - - - - -
-
-% chmod 755 /tmp/example
-% ls -l /tmp/example
--rwxr-xr-x   1 david    users    0 Apr 19 11:21 /tmp/example
-
-
- -

Now you may be thinking, “Why didn't it just create a file with those -permissions in the first place?” Well the answer is simple. bash includes a nice little built-in called umask. This is included with most Unix shells as well, and controls -what file permissions are assigned to newly created files. We discussed bash built-ins to some degree in Section 8.3.1. umask takes a little getting used to. It works very similar to chmod, only in reverse. You specify the octal values you do not wish -to have present in newly created files. The default umask value is 0022.

- - - - - -
-
-% umask
-0022
-% umask 0077
-% touch tempfile
-% ls -l tempfile
--rw--------  1 david    users    0 Apr 19 11:21 tempfile
-
-
- -

See the man page for bash for more information.

- -

To set special permissions with chmod, 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:

- - - - - -
-
-% chmod 6755 /tmp/example
-% ls -l /tmp/example
--rwsr-sr-x   1 david    users    0 Apr 19 11:21 /tmp/example
-
-
- -

If the octal values confuse you, you can use letters with chmod. The permission groups are represented as:

- -
- --- - - - - - - - - - - - - - - - - - - - - -
Owneru
Groupg
Worldo
All of the abovea
-
- -

To do the above, we would have to use several command lines:

- - - - - -
-
-% chmod a+rx /tmp/example
-% chmod u+w /tmp/example
-% chmod ug+s /tmp/example
-
-
- -

Some people prefer the letters over the numbers. Either way will result in the same -set of permissions.

- -

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.

- - - - - -
-
-% ls -l /tmp/
--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
-% chmod g-rwx /tmp/example?
--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
-
-
- -

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 “root”). Set group ID is the same, but for the group.

- -

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 root, you are allowing anyone to run that program and run it as root. Since root 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.

-
- - - - - 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 @@ - - - - -Filesystem Structure - - - - - - - - - - -
-

Chapter 9 Filesystem -Structure

- -
-
-
Table of Contents
- -
9.1 Ownership
- -
9.2 Permissions
- -
9.3 Links
- -
9.4 Mounting Devices
- -
9.5 NFS Mounts
-
-
- -

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.

- -

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.

- -
-

9.1 Ownership

- -

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 ls command:

- - - - - -
-
-% ls -l /usr/bin/wc
--rwxr-xr-x   1 root     bin    7368 Jul 30  1999 /usr/bin/wc
-
-
- -

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 “root” and the group “bin” own this file.

- -

We can easily change the file owners with the chown(1) (which -means “change owner”) and chgrp(1) (which means -“change group”) commands. To change the file owner to daemon, we would use chown:

- - - - - -
-
-# chown daemon /usr/bin/wc
-
-
- -

To change the group owner to “root”, we would -use chgrp:

- - - - - -
-
-# chgrp root /usr/bin/wc
-
-
- -

We can also use chown to specify the user and group owners -for a file:

- - - - - -
-
-# chown daemon:root /usr/bin/wc
-
-
- -

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 chown -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: -mr.jones@example.com. 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, chmod -would interpret mr.jones as user “mr” and group -“jones”.

- -

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.

-
-
- - - - - 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 @@ - - - - -Glossary - - - - - - - - - - -
-

Glossary

- -
-
Account
- -
-

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.

-
- -
Background
- -
-

Any process that is running without accepting or controlling the input of a terminal -is said to be running in the background.

-
- -
Boot disk
- -
-

A floppy disk containing an operating system (in our case, the Linux kernel) from -which a computer can be started.

-
- -
Compile
- -
-

To convert source code to machine-readable “binary” code.

-
- -
Daemon
- -
-

A program designed to run in the background and, without user intervention, perform a -specific task (usually providing a service).

-
- -
Darkstar
- -
-

The default hostname in Slackware; your computer will be called darkstar if you do not -specify some other name.

- -

One of Patrick Volkerding's development machines, named after “Dark Star”, -a song by the Grateful Dead.

-
- -
Desktop Environment
- -
-

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.

-
- -
Device driver
- -
-

A chunk of code in the kernel that directly controls a piece of hardware.

-
- -
Device node
- -
-

A special type of file in the /dev filesystem that -represents a hardware component to the operating system.

-
- -
DNS
- -
-

Domain Name Service. A system in which networked computers are given names which -translate to numerical addresses.

-
- -
Domain name
- -
-

A computer's DNS name, excluding its host name.

-
- -
Dot file
- -
-

In Linux, files which are to be hidden have filenames beginning with a dot ('.').

-
- -
Dotted quad
- -
-

The format of IP addresses, so called because it consists of four numbers (range 0-255 -decimal) separated by periods.

-
- -
Dynamic loader
- -
-

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.

-
- -
Environment variable
- -
-

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.

-
- -
Epoch
- -
-

A period of history; in Unix, “The Epoch” begins at 00:00:00 UTC January -1, 1970. This is considered the “dawn of time” by Unix and Unix-like -operating systems, and all other time is calculated relative to this date.

-
- -
Filesystem
- -
-

A representation of stored data in which “files” of data are kept -organized in “directories”. The filesystem is the nearly universal form of -representation for data stored to disks (both fixed and removable).

-
- -
Foreground
- -
-

A program that is accepting or controlling a terminal's input is said to be running in -the foreground.

-
- -
Framebuffer
- -
-

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.

-
- -
FTP
- -
-

The File Transfer Protocol. FTP is a very popular method of transferring data between -computers.

-
- -
Gateway
- -
-

A computer through which data on a network is transferred to another network.

-
- -
GID
- -
-

Group Identifier. The GID is a unique number attributed to a group of users.

-
- -
Group
- -
-

Users in Unix belong to “groups”, which can contain many other users and -are used for more general access control than the existence of users alone can easily -allow.

-
- -
GUI
- -
-

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

-
- -
Home directory
- -
-

A user's “home directory” 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.

-
- -
HOWTO
- -
-

A document describing “how to” 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.

-
- -
HTTP
- -
-

The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide -Web operates.

-
- -
ICMP
- -
-

Internet Control Message Protocol. A very basic networking protocol, used mostly for -pings.

-
- -
Kernel
- -
-

The heart of an operating system. The kernel is the part that provides basic process -control and interfaces with the computer's hardware.

-
- -
Kernel module
- -
-

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.

-
- -
Library
- -
-

A collection of functions which can be shared between programs.

-
- -
LILO
- -
-

The LInux LOader. LILO is the most widely-used Linux boot manager.

-
- -
LOADLIN
- -
-

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).

-
- -
Man section
- -
-

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.

-
- -
MBR
- -
-

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.

-
- -
Motif
- -
-

A popular programming toolkit used in many older X programs.

-
- -
MOTD
- -
-

Message of the Day. The motd (stored in Linux in /etc/motd -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 “bulletin board” for communicating -with users.

-
- -
Mount point
- -
-

An empty directory in a filesystem where another filesystem is to be -“mounted”, or grafted on.

-
- -
Nameserver
- -
-

A DNS information server. Nameservers translate DNS names to numerical IP -addresses.

-
- -
Network interface
- -
-

A virtual representation of a network device provided by the kernel. Network -interfaces allow users and programs to talk to network devices.

-
- -
NFS
- -
-

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.

-
- -
Octal
- -
-

Base-8 number system, with digits 0-7.

-
- -
Pager
- -
-

An X program that allows the user to see and switch between multiple -“desktops”.

-
- -
Partition
- -
-

A division of a hard drive. Filesystems exist on top of partitions.

-
- -
PPP
- -
-

Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet -Service Provider.

-
- -
Process
- -
-

A running program.

-
- -
Root directory
- -
-

Represented as “/”, the root directory exists at the top of the -filesystem, with all other directories branching out beneath it in a “file -tree”.

-
- -
Root disk
- -
-

The disk (usually fixed) on which the root directory is stored.

-
- -
Routing table
- -
-

The set of information the kernel uses in “routing” network data around. -It contains such tidbits as where your default gateway is, which network interface is -connected to which network, etc.

-
- -
Runlevel
- -
-

The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is -“single user mode”, runlevel 4 is an X login, etc. There are 6 available -runlevels on a Slackware system.

-
- -
Secure shell
- -
-

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.

-
- -
Service
- -
-

The sharing of information and/or data between programs and computers from a single -“server” to multiple “clients”. HTTP, FTP, NFS, etc. are -services.

-
- -
Shadow password suite
- -
-

The shadow password suite allows encrypted passwords to be hidden from users, while -the rest of the information in the /etc/passwd file remains -visible to all. This helps prevent brute-force attempts at cracking passwords.

-
- -
Shell
- -
-

Shells provide a commandline interface to the user. When you're looking at a text -prompt, you're in a shell.

-
- -
Shell builtin
- -
-

A command built into the shell, as opposed to being provided by an external program. -For instance, bash has a cd -builtin.

-
- -
Signal
- -
-

Unix programs can communicate between each other using simple “signals”, -which are enumerated and usually have specific meanings. kill -l -will list the available signals.

-
- -
SLIP
- -
-

Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used -for connecting two machines via a serial interface.

-
- -
Software package
- -
-

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.

-
- -
Software series
- -
-

A collection of related software packages in Slackware. All KDE packages are in the -“kde” series, networking packages in the “n” series, etc.

-
- -
Source code
- -
-

The (more or less) human-readable code in which most programs are written. Source code -is compiled into “binary” code.

-
- -
Standard Error (stderr)
- -
-

The Unix-standard output stream for errors. Programs write any error messages on -stderr, so that they can be separated from normal output.

-
- -
Standard Input (stdin)
- -
-

The Unix-standard input stream. Data can be redirected or piped into a program's stdin -from any source.

-
- -
Standard Output (stdout)
- -
-

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.

-
- -
Subnet
- -
-

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 “undefined”); it is, in -fact, the “.1” subnet.

-
- -
Superblock
- -
-

In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The -superblock is the first 512 bytes of a partition.

-
- -
Supplemental disk
- -
-

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.

-
- -
Suspended process
- -
-

A process which has been frozen until killed or resumed.

-
- -
Swap space
- -
-

Disk space used by the kernel as “virtual” 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.

-
- -
Symbolic link
- -
-

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.

-
- -
Tagfile
- -
-

A file used by the Slackware setup program during -installation, which describes a set of packages to be installed.

-
- -
Terminal
- -
-

A human-computer interface consisting of at least a screen (or virtual screen) and -some method of input (almost always at least a keyboard).

-
- -
Toolkit, GUI
- -
-

A GUI toolkit is a collection of libraries that provide a programmer with code to draw -“widgets” such as scrollbars, checkboxes, etc. and construct a graphical -interface. The GUI toolkit used by a program often defines its “look and -feel”.

-
- -
UID
- -
-

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.

-
- -
VESA
- -
-

Video Electronics Standards Association. The term “VESA” is often used to -denote a standard specified by said Association. Nearly all modern video adapters are -VESA-compliant.

-
- -
Virtual terminal
- -
-

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.

-
- -
Window manager
- -
-

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.

-
- -
Working directory
- -
-

The directory in which a program considers itself to be while running.

-
- -
Wrapper program
- -
-

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.

-
- -
X server
- -
-

The program in the X Window System which interfaces with graphics hardware and handles -the actual running of X programs.

-
- -
X Window System
- -
-

Network-oriented graphical interface system used on most Unix-like operating systems, -including Linux.

-
-
-
- - - - - 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 @@ - - - - -The GNU General Public License - - - - - - - - - -
-

Appendix A. The GNU General Public License

- -
-
-
Table of Contents
- -
A.1. Preamble
- -
A.2. TERMS AND CONDITIONS
- -
A.3. How to Apply These Terms to Your New -Programs
-
-
- -

GNU GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- -59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- -Everyone is permitted to copy and distribute verbatim copies of this
- -license document, but changing it is not allowed.

- -
-

A.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 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.

- -

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.

-
- -
-

A.2. TERMS AND CONDITIONS

- -

TERMS AND CONDITIONS FOR COPYING, -DISTRIBUTION AND MODIFICATION

- -
    -
  1. -

    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.

    -
  2. - -
  3. -

    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.

    -
  4. - -
  5. -

    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:

    - -
      -
    1. -

      You must cause the modified files to carry prominent notices stating that you changed -the files and the date of any change.

      -
    2. - -
    3. -

      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.

      -
    4. - -
    5. -

      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.)

      -
    6. -
    - -

    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.

    -
  6. - -
  7. -

    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:

    - -
      -
    1. -

      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,

      -
    2. - -
    3. -

      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,

      -
    4. - -
    5. -

      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.)

      -
    6. -
    - -

    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.

    -
  8. - -
  9. -

    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.

    -
  10. - -
  11. -

    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.

    -
  12. - -
  13. -

    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.

    -
  14. - -
  15. -

    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.

    -
  16. - -
  17. -

    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.

    -
  18. - -
  19. -

    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.

    -
  20. - -
  21. -

    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.

    -
  22. - -
  23. -

    NO WARRANTY

    - -

    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.

    -
  24. - -
  25. -

    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.

    -
  26. -
- -

END OF TERMS AND CONDITIONS

-
- -
-

A.3. 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., 59 Temple Place, Suite 330, Boston, MA   02111-1307 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 Library General Public License instead of this License.

-
-
- - - - - 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 @@ - - - - -Online Help - - - - - - - - - - - -
-

2.2 Online Help

- -

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.

- -
-

2.2.1 The -Official Website and Help Forums

- -

The Official Slackware -Website

- -

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 http://www.userlocal.com/phorum/.

- -

After the forums were taken down on http://slackware.com, several other sites sprang up that offered forum -support for Slackware. After much thought, Pat chose to endorse www.linuxquestions.org as the official -forum for Slackware Linux.

-
- -
-

2.2.2 E-mail -Support

- -

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 “The Old -School”. 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.

- -

The e-mail address for technical support is: support@slackware.com. Other e-mail addresses and contact -information are listed on the website.

- -
-

2.2.2.1 Slackware Linux Project Mailing -Lists

- -

We have several mailing lists, available in digest and normal forms. Check the -instructions for how to subscribe.

- -

To subscribe to a mailing list, email:

- -

majordomo@slackware.com

- -

with the phrase “subscribe [name -of list]” in the body of the email. The list choices are described -below (use one the names below for the name of the list).

- -

Archives of the mailing list can be found on Slackware's website at:

- -

http://slackware.com/lists/archive/

- -
-
-
slackware-announce
- -
-

The slackware-announce mailing list is for announcements of -new versions, major updates and other general information.

-
- -
slackware-security
- -
-

The slackware-security 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.

-
-
-
- -

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 slackware-announce-digest or slackware-security-digest.

-
-
- -
-

2.2.3 -Non-Official Websites and Help Forums

- -
-

2.2.3.1 Websites

- -
-
-
Google
- -
-

The Kung-Fu Master of Search Engines. When you absolutely, positively gotta find every -last kernel of information on a subject: Accept no substitutes.

-
- -
Google:Linux
- -
-

Linux-Specific searches

-
- -
Google:BSD
- -
-

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.

-
- -
Google:Groups
- -
-

Search through decades of Usenet posts for your pearls of wisdom.

-
- -
http://userlocal.com
- -
-

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.

-
-
-
-
- -
-

2.2.3.2 Web-based Resources

- -
-
-
linuxquestions.org
- -
-

The officially sanctioned web-forum for Slackware users.

-
- -
LinuxISO.org -Slackware Forum
- -
-

“A place to download and get help with Linux.”

-
- -
alt.os.linux.slackware FAQ
- -
-

Another FAQ

-
-
-
-
- -
-

2.2.3.3 Usenet Groups (NNTP)

- -

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.

- -

alt.os.linux.slackware

- -

alt.os.linux.slackware, better known as aols (not to be -confused with AOL®!) is one of the most active places -to find technical help with Slackware problems. Like every Usenet newsgroup, a few -unhelpful participants (“trolls”) 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.

-
-
-
- - - - - 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 @@ - - - - -Help - - - - - - - - - - -
-

Chapter 2 Help

- -
-
-
Table of Contents
- -
2.1 System Help
- -
2.2 Online Help
-
-
- -

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 “F” -series which includes FAQs and HOWTOs. Programs also come with help about their options, -configuration files, and usage.

- -
-

2.1 System Help

- -
-

2.1.1 man

- -

The man command (short for “manual”) is the -traditional form of online documentation in Unix and Linux operating systems. Comprised -of specially formatted files, the “man pages”, are written for the vast -majority of commands and are distributed with the software itself. Executing man somecommand will display the man page for (naturally) the -command specified, in our example this would be the imaginary program somecommand.

- -

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.

- -

For example:

- -

You might see a reference to man(1). The numbering tells you -that “man” is documented in section 1 (user -commands); you can specify that you want the section 1 man page for “man” -with the command man 1 man. Specifying the section that man -should look in is useful in the case of multiple items with the same name.

- -
-

Table 2-1. Man Page Sections

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SectionContents
Section 1user commands (intro only)
Section 2system calls
Section 3C library calls
Section 4devices (e.g., hd, sd)
Section 5file formats and protocols (e.g., wtmp, /etc/passwd, -nfs)
Section 6games (intro only)
Section 7conventions, macro packages, etc. (e.g., nroff, ascii)
Section 8system administration (intro only)
-
- -

In addition to man(1), there are the commands whatis(1) and apropos(1) available to you, -whose shared purpose is to make it easier to find information in the man system.

- -

The command whatis gives a very brief description of system -commands, somewhat in the style of a pocket command reference.

- -

Example:

- - - - - -
-
-% whatis whatis
-whatis (1)  - search the whatis database for complete words
-
-
- -

The command apropos is used to search for a man page -containing a given keyword.

- -

Example:

- - - - - -
-
-% apropos wav
-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&T GIS WaveLAN ISA device driver
-wavelan_cs  (4)  - AT&T GIS WaveLAN PCMCIA device driver
-wvlan_cs    (4)  - Lucent WaveLAN/IEEE 802.11 device driver
-
-
- -

If you'd like further information on any of these commands, read their man pages for -the details. ;)

-
- -
-

2.1.2 The /usr/doc Directory

- -

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 /usr/doc directory. Each program will (usually) install its own -documentation in the order of:

- -

/usr/doc/$program-$version

- -

Where $program is the name of the program you are -wanting to read about, and $version is (obviously) the -appropriate version of software package installed on your system.

- -

For example, to read the documentation for the command man(1) -you would want to cd to:

- - - - - -
-
-% cd /usr/doc/man-$version
-
-
- -

If reading the appropriate man page(s) doesn't provide you with enough information, or -address what you're looking for in particular, the /usr/doc -directory should be your next stop.

-
- -
-

2.1.3 HOWTOs and -mini-HOWTOs

- -

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 /usr/doc/Linux-HOWTOs and the mini-HOWTOs to -/usr/doc/Linux-mini-HOWTOs.

- -

Also included in the same package series is a collection of FAQs, which is an acronym -which stands for

- -
- -- - - - - - - - - - - - - -
Frequently
Asked
Questions
-
- -

These documents are written in a “Question and answer” style for -(surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look -if you're just looking for a “Quick Fix” to something. If you decide to -install the FAQs during setup, you will find them installed to the /usr/doc/Linux-FAQs directory.

- -

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!

-
-
-
- - - - - diff --git a/slackbook/html/imagelib/admon/note.png b/slackbook/html/imagelib/admon/note.png deleted file mode 100644 index b0ee5555b..000000000 Binary files a/slackbook/html/imagelib/admon/note.png and /dev/null differ diff --git a/slackbook/html/imagelib/admon/warning.png b/slackbook/html/imagelib/admon/warning.png deleted file mode 100644 index bc0adf33f..000000000 Binary files a/slackbook/html/imagelib/admon/warning.png and /dev/null 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 @@ - - - - -Slackware Linux Essentials - - - - - - -
-
-

Slackware Linux Essentials

- -

- -

Alan Hicks

- -

Chris Lumens

- -

David Cantrell

- -

Logan Johnson

- - - -1-57176-338-4
-
- - -
-
- -
-
-
Table of Contents
- -
Preface
- -
1 An Introduction to Slackware Linux
- -
-
-
1.1 What is Linux?
- -
-
-
1.1.1 A Word on GNU
-
-
- -
1.2 What is Slackware?
- -
1.3 Open Source and Free Software
-
-
- -
2 Help
- -
-
-
2.1 System Help
- -
-
-
2.1.1 man
- -
2.1.2 The /usr/doc -Directory
- -
2.1.3 HOWTOs and mini-HOWTOs
-
-
- -
2.2 Online Help
- -
-
-
2.2.1 The Official Website and Help -Forums
- -
2.2.2 E-mail Support
- -
2.2.3 Non-Official Websites and -Help Forums
-
-
-
-
- -
3 Installation
- -
-
-
3.1 Getting Slackware
- -
-
-
3.1.1 The Official Disc and Box Sets
- -
3.1.2 Via the Internet
-
-
- -
3.2 System Requirements
- -
-
-
3.2.1 The -Software Series
- -
3.2.2 Installation -Methods
- -
3.2.3 Boot -Disk
- -
3.2.4 Root -Disk
- -
3.2.5 Supplemental -Disk
- -
3.2.6 Making -the Disks
-
-
- -
3.3 Partitioning
- -
3.4 The setup -Program
- -
-
-
3.4.1 HELP
- -
3.4.2 KEYMAP
- -
3.4.3 ADDSWAP
- -
3.4.4 TARGET
- -
3.4.5 SOURCE
- -
3.4.6 SELECT
- -
3.4.7 INSTALL
- -
3.4.8 CONFIGURE
-
-
-
-
- -
4 System Configuration
- -
-
-
4.1 System -Overview
- -
-
-
4.1.1 File System -Layout
- -
4.1.2 Finding -Files
- -
4.1.3 The /etc/rc.d Directory
-
-
- -
4.2 Selecting a Kernel
- -
-
-
4.2.1 The /kernels Directory on the Slackware CD-ROM
- -
4.2.2 Compiling a -Kernel from Source
- -
4.2.3 Using Kernel -Modules
-
-
-
-
- -
5 Network Configuration
- -
-
-
5.1 Introduction: netconfig -is your friend.
- -
5.2 Network Hardware -Configuration
- -
-
-
5.2.1 Loading -Network Modules
- -
5.2.2 LAN -(10/100/1000Base-T and Base-2) cards
- -
5.2.3 Modems
- -
5.2.4 PCMCIA
-
-
- -
5.3 TCP/IP Configuration
- -
-
-
5.3.1 DHCP
- -
5.3.2 Static -IP
- -
5.3.3 /etc/rc.d/rc.inet1.conf
- -
5.3.4 /etc/resolv.conf
- -
5.3.5 /etc/hosts
-
-
- -
5.4 PPP
- -
-
-
5.4.1 pppsetup
- -
5.4.2 /etc/ppp
-
-
- -
5.5 Wireless
- -
-
-
5.5.1 Hardware Support
- -
5.5.2 Configure the Wireless -Settings
- -
5.5.3 Configure the -Network
-
-
- -
5.6 Network File Systems
- -
-
-
5.6.1 SMB/Samba/CIFS
- -
5.6.2 Network -File System (NFS)
-
-
-
-
- -
6 X Configuration
- -
-
-
6.1 xorgconfig
- -
6.2 xorgsetup
- -
6.3 xinitrc
- -
6.4 xwmconfig
- -
6.5 xdm
-
-
- -
7 Booting
- -
-
-
7.1 LILO
- -
7.2 LOADLIN
- -
7.3 Dual Booting
- -
-
-
7.3.1 Windows
- -
7.3.2 Linux
-
-
-
-
- -
8 The Shell
- -
-
-
8.1 Users
- -
-
-
8.1.1 Logging In
- -
8.1.2 Root: The Superuser
-
-
- -
8.2 The Command Line
- -
-
-
8.2.1 Running -Programs
- -
8.2.2 Wildcard -Matching
- -
8.2.3 Input/Output -Redirection and Piping
-
-
- -
8.3 The Bourne Again Shell (bash)
- -
-
-
8.3.1 Environment Variables
- -
8.3.2 Tab Completion
-
-
- -
8.4 Virtual Terminals
- -
-
-
8.4.1 Screen
-
-
-
-
- -
9 Filesystem Structure
- -
-
-
9.1 Ownership
- -
9.2 Permissions
- -
9.3 Links
- -
9.4 Mounting Devices
- -
-
-
9.4.1 fstab
- -
9.4.2 mount and umount
-
-
- -
9.5 NFS Mounts
-
-
- -
10 Handling Files and Directories
- -
-
-
10.1 Navigation : ls, cd, and pwd
- -
-
-
10.1.1 ls
- -
10.1.2 cd
- -
10.1.3 pwd
-
-
- -
10.2 Pagers: more, less, and most
- -
-
-
10.2.1 more
- -
10.2.2 less
- -
10.2.3 most
-
-
- -
10.3 Simple Output: cat -and echo
- -
-
-
10.3.1 cat
- -
10.3.2 echo
-
-
- -
10.4 Creation: touch -and mkdir
- -
-
-
10.4.1 touch
- -
10.4.2 mkdir
-
-
- -
10.5 Copy and Move
- -
-
-
10.5.1 cp
- -
10.5.2 mv
-
-
- -
10.6 Deletion: rm and -rmdir
- -
-
-
10.6.1 rm
- -
10.6.2 rmdir
-
-
- -
10.7 Aliasing files with ln
-
-
- -
11 Process Control
- -
-
-
11.1 Backgrounding
- -
11.2 Foregrounding
- -
11.3 ps
- -
11.4 kill
- -
11.5 top
-
-
- -
12 Essential System Administration
- -
-
-
12.1 Users and -Groups
- -
-
-
12.1.1 Supplied -Scripts
- -
12.1.2 Changing -Passwords
- -
12.1.3 Changing -User Information
-
-
- -
12.2 Users and Groups, the Hard -Way
- -
12.3 Shutting Down Properly
-
-
- -
13 Basic Network Commands
- -
-
-
13.1 ping
- -
13.2 traceroute
- -
13.3 DNS Tools
- -
-
-
13.3.1 host
- -
13.3.2 nslookup
- -
13.3.3 dig
-
-
- -
13.4 finger
- -
13.5 telnet
- -
-
-
13.5.1 The other use of -telnet
-
-
- -
13.6 The Secure shell
- -
13.7 email
- -
-
-
13.7.1 pine
- -
13.7.2 elm
- -
13.7.3 mutt
- -
13.7.4 nail
-
-
- -
13.8 Browsers
- -
-
-
13.8.1 lynx
- -
13.8.2 links
- -
13.8.3 wget
-
-
- -
13.9 FTP Clients
- -
-
-
13.9.1 ftp
- -
13.9.2 ncftp
-
-
- -
13.10 Talking to Other People
- -
-
-
13.10.1 wall
- -
13.10.2 talk
- -
13.10.3 ytalk
-
-
-
-
- -
14 Security
- -
-
-
14.1 Disabling Services
- -
-
-
14.1.1 Services started from inetd
- -
14.1.2 Services started from init scripts
-
-
- -
14.2 Host Access Control
- -
-
-
14.2.1 iptables
- -
14.2.2 tcpwrappers
-
-
- -
14.3 Keeping Current
- -
-
-
14.3.1 slackware-security mailing list
- -
14.3.2 The /patches directory
-
-
-
-
- -
15 Archive Files
- -
-
-
15.1 gzip
- -
15.2 bzip2
- -
15.3 tar
- -
15.4 zip
-
-
- -
16 Vi
- -
-
-
16.1 Starting vi
- -
16.2 Modes
- -
-
-
16.2.1 Command Mode
- -
16.2.2 Insert Mode
-
-
- -
16.3 Opening Files
- -
16.4 Saving Files
- -
16.5 Quitting vi
- -
16.6 vi Configuration
- -
16.7 Vi Keys
-
-
- -
17 Emacs
- -
-
-
17.1 Starting emacs
- -
-
-
17.1.1 Command Keys
-
-
- -
17.2 Buffers
- -
17.3 Modes
- -
-
-
17.3.1 Opening files
-
-
- -
17.4 Basic Editing
- -
17.5 Saving Files
- -
-
-
17.5.1 Quitting Emacs
-
-
-
-
- -
18 Slackware Package Management
- -
-
-
18.1 Overview of -Package Format
- -
18.2 Package Utilities
- -
-
-
18.2.1 -pkgtool
- -
18.2.2 -installpkg
- -
18.2.3 -removepkg
- -
18.2.4 -upgradepkg
- -
18.2.5 -rpm2tgz/rpm2targz
-
-
- -
18.3 Making Packages
- -
-
-
18.3.1 explodepkg
- -
18.3.2 makepkg
- -
18.3.3 SlackBuild -Scripts
-
-
- -
18.4 Making Tags and -Tagfiles (for setup)
-
-
- -
19 ZipSlack
- -
-
-
19.1 What is ZipSlack?
- -
-
-
19.1.1 Advantages
- -
19.1.2 Disadvantages
-
-
- -
19.2 Getting ZipSlack
- -
-
-
19.2.1 Installation
-
-
- -
19.3 Booting ZipSlack
-
-
- -
Glossary
- -
A. The GNU General Public License
- -
-
-
A.1. Preamble
- -
A.2. TERMS AND CONDITIONS
- -
A.3. How to Apply These Terms to Your New -Programs
-
-
-
-
- - - - - -
-
-
List of Examples
- -
8-1. Listing Environment -Variables with set
-
-
-
- - - - - 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 @@ - - - - -Partitioning - - - - - - - - - - - -
-

3.3 -Partitioning

- -

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 (/) and one for swap space.

- -

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 cfdisk(8) or fdisk(8). The cfdisk program provides a more user-friendly interface than the -regular fdisk program, but does lack some features. We will -briefly explain the fdisk program below.

- -

Begin by running fdisk 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 /dev/hda, the primary slave is /dev/hdb, and so on. SCSI disks follow the same type system, but -are in the form of /dev/sdX. You -will need to start fdisk and pass it your hard disk:

- - - - - -
-
-# fdisk /dev/hda
-
-
- -

Like all good Unix programs, fdisk 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 p at the fdisk prompt:

- - - - - -
-
-Command (m for help): 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.

- -
- - - - - -
Warning -

IT IS VERY IMPORTANT THAT YOU BACK UP ANY INFORMATION YOU WANT TO SAVE BEFORE -DESTROYING THE PARTITION IT LIVES ON.

-
-
- -

There is no easy way to recover from deleting a partition, so always back up before -playing with them.

- -

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 d command to delete those:

- - - - - -
-
-Command (m for help): d
-Partition number (1-4): 1
-
-
- -

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 / and one for swap. Over time, you'll develop a method that works -well for you.

- -

I use two basic partition schemes. The first is for a desktop. I make 4 partitions, -/, /home, /usr/local, and swap. This lets me re-install or upgrade the entire -installation under / without wiping out my data files under -/home or my custom compiled applications under /usr/local. For -servers, I often replace the /usr/local partition with a /var partition. Many different servers store information on that -partition and having it kept separate from / has certain -performance benefits. For now, we're sticking with just two partitions: / and swap.

- -

Now we create the partitions with the n command:

- - - - - -
-
-Command (m for help): n
-Command action
-   e   extended
-   p   primary partition (1-4)
-p
-Partition number (1-4):1
-First cylinder (0-1060, default 0):0
- Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M
-
-
- -

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.

- - - - - -
-
-Command (m for help):n
-Command action
-   e   extended
-   p   primary partition (1-4)
-p
-Partition number (1-4):2
-First cylinder (124-1060, default 124):124
-Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060
-
-
- -

We are almost done. We need to change the type of the first partition to type 82 -(Linux swap). Type t to change the type, select the first -partition, and type 82. Before writing your changes to the -disk, you should look at the new partition table one last time. Use the p in fdisk to display the partition -table. If everything looks good, type w to write your -changes to the disk and quit fdisk.

-
- - - - - 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 @@ - - - - -System Requirements - - - - - - - - - - - -
-

3.2 -System Requirements

- -

An easy Slackware installation requires, at minimum, the following:

- -
-

Table 3-2. System Requirements

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HardwareRequirement
Processor586
RAM32 MB
Disk Space1GB
Media Drive4x CD-ROM
-
- -

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.

- -

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.

- -

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 LOWMEM.TXT file in the distribution tree for -a few helpful hints.

- -
-

3.2.1 The Software Series

- -

For reasons of simplicity, Slackware has historically been divided into software -series. Once called “disk sets” 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.

- -

The following is a brief description of each software series.

- -
-

Table 3-3. Software Series

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SeriesContents
AThe base system. Contains enough software to get up and running and have a text -editor and basic communication program.
APVarious applications that do not require the X Window System.
DProgram development tools. Compilers, debuggers, interpreters, and man pages are all -here.
EGNU Emacs.
FFAQs, HOWTOs, and other miscellaneous documentation.
GNOMEThe GNOME desktop environment.
KThe source code for the Linux kernel.
KDEThe 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.
KDEIInternationalization packages for the KDE desktop.
LLibraries. Dynamically linked libraries required by many other programs.
NNetworking programs. Daemons, mail programs, telnet, news readers, and so on.
TteTeX document formatting system.
TCLThe Tool Command Language. Tk, TclX, and TkDesk.
XThe base X Window System.
XAPX Applications that are not part of a major desktop environment (for example, -Ghostscript and Netscape).
YBSD Console games
-
-
- -
-

3.2.2 -Installation Methods

- -
-

3.2.2.1 Floppy

- -

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.

- -

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.

-
- -
-

3.2.2.2 CD-ROM

- -

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.

- -

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.

- -

Section -3.2.3 and Section 3.2.5 -provide information on choosing and creating floppies from which to boot, should this be -necessary.

-
- -
-

3.2.2.3 NFS

- -

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 Section 5.6.

- -

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.

-
-
- -
-

3.2.3 Boot Disk

- -

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 bootdisks/ directory in the distribution tree.

- -

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 bootdisks/README.TXT. -However, most people are able to use the bare.i (for IDE -devices) or scsi.s (for SCSI devices) boot disk image.

- -

See Section -3.2.6 for instructions on making a disk from an image.

- -

After booting, you will be prompted to insert the root disk. We recommend that you -just humor the boot disk and play along.

-
- -
-

3.2.4 Root Disk

- -

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 install.1 and install.2 images. Here you -can also find the network.dsk, pcmcia.dsk, rescue.dsk, and sbootmgr.dsk disks.

-
- -
-

3.2.5 Supplemental Disk

- -

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 network.dsk and pcmcia.dsk. Recently other supplemental disks such as rescue.dsk and sbootmgr.dsk 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 sbootmgr.dsk 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.

- -

The root disk will instruct you on the use of supplemental disks when it is -loaded.

-
- -
-

3.2.6 Making the Disks

- -

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 dd(1) command. Assuming bare.i is your -disk image file and your floppy drive is /dev/fd0, the command -to make a bare.i floppy is:

- - - - - -
-
-% dd if=bare.i of=/dev/fd0
-
-
- -

If you're running a Microsoft OS, you'll need to use the RAWRITE.EXE program, which is included in the distribution tree in -the same directories as the floppy images. Again assuming that bare.i is your disk image file and your floppy drive is A:, open a DOS prompt and type the following:

- - - - - -
-
-C:\ rawrite a: bare.i
-
-
-
-
- - - - - 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 @@ - - - - -The setup Program - - - - - - - - - - - -
-

3.4 The setup Program

- -

Once you have created your partitions, you are ready to install Slackware. The next -step in the installation process is running the setup(8) -program. To do so, simply type setup at the shell prompt. setup is a menu-driven system for actually installing the Slackware -packages and configuring your system.

- -
-

-
- -

The setup process goes something like this: You step through each option in the setup 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 -“Okay” and “Cancel” 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 [X]) are toggled using the spacebar.

- -

Of course, all of that is described in the “help” section of setup, but we believe in giving our readers their money's worth.

- -
-

3.4.1 HELP

- -

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 setup -(much like the one we're writing now, but less involved) and instructions for navigating -the rest of the install.

- -
-

-
-
- -
-

3.4.2 KEYMAP

- -

If you require a keymap other than the United States “qwerty” layout, you -may want to take a look at this section. It offers a number of alternate layouts for your -keyboarding enjoyment.

- -
-

-
-
- -
-

3.4.3 ADDSWAP

- -
-

-
- -

If you created a swap partition (back in Section 3.3), 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.

-
- -
-

3.4.4 TARGET

- -
-

-
- -

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.

- -

The first option in the target section is the selection of a partition on which to -install your root (/) 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 /dev/hda3, to be your home filesystem. -This is just an example; map the partitions as you see fit.)

-
- -
-

3.4.5 SOURCE

- -

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.

- -
-

-
- -

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.

- -

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 network.dsk floppy to add support for your network controller.

- -

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.

-
- -
-

3.4.6 SELECT

- -

The select option allows you to select the software series that you wish to install. -These series are described in Section 3.2.1. -Please note that you must install the A series to have a working base system. All other -series are optional.

- -
-

-
-
- -
-

3.4.7 INSTALL

- -

Assuming that you have gone through the “target”, “source”, -and “select” options, the install 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: full, newbie, menu, expert, custom, and tag path.

- -
-

-
- -

The full option will install every package from all the -software series that you chose in the “select” 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.

- -

The next option is newbie. This option installs all of the -required packages in the selected series. For all other packages, it offers a prompt -where you can select “Yes”, “No”, or “Skip”. 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.

- -

Menu 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.

- -

For the more advanced user, install offers the expert -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.

- -

The custom and tag path 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 Section 18.4.

- -

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.

- -

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 Chapter 18.

-
- -
-

3.4.8 CONFIGURE

- -

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:

- -
-

3.4.8.1 Kernel selection

- -

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.

- -
-

-
-
- -
-

3.4.8.2 Make a boot disk

- -

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, simple, simply (go figure) writes a kernel to the floppy. A more -flexible (and highly recommended) option is lilo, which will of -course create a lilo boot disk. See LILO in Section -7.1 for more information. Of course, you may also choose to simply continue, in which case no boot disk will be made.

- -
-

-
-
- -
-

3.4.8.3 Modem

- -

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.

- -
-

-
- -

These next configuration subsections may or may not appear, depending on whether or -not you installed their corresponding packages.

-
- -
-

3.4.8.4 Timezone

- -

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.

- -
-

-
-
- -
-

3.4.8.5 Mouse

- -

This subsection simply asks what kind of mouse you have, and whether you want gpm(8) console mouse support enabled on bootup.

- -
-

-
-
- -
-

3.4.8.6 Hardware clock

- -

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.

- -
-

-
-
- -
-

3.4.8.7 Font

- -

The font subsection allows you to choose from a list of custom console fonts.

- -
-

-
-
- -
-

3.4.8.8 LILO

- -

Here you are prompted for installation of LILO (the LInux LOader; see Section 7.1 for more information).

- -
-

-
- -

If Slackware is to be the only operating system on your computer, simple should work just fine for you. If you are dual-booting, the -expert option is a better choice. See Section 7.3 for more information on dual-booting. The third -option, do not install, 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.

-
- -
-

3.4.8.9 Network

- -

The network configuration subsection is actually netconfig. -See Section 5.1 -for more information.

-
- -
-

3.4.8.10 X Window Manager

- -

This subsection will allow you to choose a default window manager for X. See Chapter 6 for more details on X and window managers.

- -
-

-
- -

No matter which packages you installed, the last thing configure will do is ask you -whether you want to go ahead and set a root password. For -security reasons, this is probably a good idea; however, like almost everything else in -Slackware, this is your call.

-
-
-
- - - - - 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 @@ - - - - -Installation - - - - - - - - - - -
-

Chapter 3 Installation

- -
-
-
Table of Contents
- -
3.1 Getting Slackware
- -
3.2 System Requirements
- -
3.3 Partitioning
- -
3.4 The setup -Program
-
-
- -

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.

- -
-

3.1 Getting -Slackware

- -
-

3.1.1 The Official Disc and Box -Sets

- -

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 “live” 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 “extra” folder. The third and fourth -CDs contain the source code to all of Slackware, along with the original edition of this -book.

- -

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.

- -

The preferred method for shopping for Slackware merchandise is online at the Slackware -store.

- -

http://store.slackware.com

- -

You can also call or e-mail your order in.

- -
-

Table 3-1. Slackware Linux, Inc. Contact Information

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MethodContact Details
Telephone1-(925) 674-0783
Websitehttp://store.slackware.com
Emailorders@slackware.com
Postal1164 Claremont Drive, Brentwood, CA 94513
-
-
- -
-

3.1.2 Via the Internet

- -

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 Chapter 2 -first.

- -

The official Slackware Linux Project website is located at:

- -

http://www.slackware.com/

- -

The primary FTP location for Slackware Linux is:

- -

ftp://ftp.slackware.com/pub/slackware/

- -

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 http://www.slackware.com/getslack.

-
-
-
- - - - - 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 Binary files a/slackbook/html/installation/setup-bootdisk-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-font-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-hardware-clock-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-help-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-install-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-kernel-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-keymap-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-lilo-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-modem-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-mouse-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-program-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-select-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-source-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-swap-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-target-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-timezone-w.png and /dev/null 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 Binary files a/slackbook/html/installation/setup-xwmconfig-w.png and /dev/null 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 @@ - - - - -Open Source and Free Software - - - - - - - - - - - -
-

1.3 Open -Source and Free Software

- -

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.

- -

At the other end of the spectrum are groups that wish to maintain tighter controls -over their software.

- -

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 “free as in speech, not free as in beer”. 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 “opened” to the community, it cannot be -“closed” except by consent of every author of every piece of code (even the -modifications) within it. Most Linux programs are licensed under the GPL.

- -

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 “free” 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.)

- -

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.

- -

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.

- -

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.

- -

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.

-
- - - - - 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 @@ - - - - -What is Slackware? - - - - - - - - - - - -
-

1.2 What -is Slackware?

- -

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.

- -

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.

- -

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. :^)

-
- - - - - 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 @@ - - - - -An Introduction to Slackware Linux - - - - - - - - - - -
-

Chapter 1 An Introduction to Slackware -Linux

- -
-
-
Table of Contents
- -
1.1 What is Linux?
- -
1.2 What is Slackware?
- -
1.3 Open Source and Free Software
-
-
- -
-

1.1 What is -Linux?

- -

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 Section 1.3 and Appendix 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 “Linux” 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.

- -
-

1.1.1 A -Word on GNU

- -

The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as -Isaac Newton once said, “If I have seen further, it is by standing on the shoulders -of giants.” 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 “GNU's Not Unix”. GNU software ran atop -the Linux kernel from day 1. Their compiler gcc was used to -compile the kernel. Today many GNU tools from gcc to gnutar 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.

- -

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.

-
-
-
- - - - - 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 @@ - - - - -Network Hardware Configuration - - - - - - - - - - - -
-

5.2 Network Hardware Configuration

- -

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 The GNU/Linux -Beginners Group Hardware Compatibility Links and The Linux -Documentation Project Hardware HOWTO) 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.

- -

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.

- -
-

5.2.1 Loading Network Modules

- -

Kernel modules that are to be loaded on boot-up are loaded from the rc.modules file in /etc/rc.d or by the -kernel's auto module loading started by /etc/rc.d/rc.hotplug. -The default rc.modules file includes a Network device support -section. If you open rc.modules and look for that section, -you'll notice that it first checks for an executable rc.netdevice file in /etc/rc.d/. This -script is created if setup successfully autoprobes your network -device during installation.

- -

Below that “if” 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 rc.modules as root 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.

-
- -
-

5.2.2 LAN (10/100/1000Base-T and Base-2) -cards

- -

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. /sbin/netconfig should have probed for your card and -successfully set up your rc.netdevice 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.

-
- -
-

5.2.3 Modems

- -

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 VITALLY 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.

- -

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.

- -

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.

-
- -
-

5.2.4 PCMCIA

- -

As part of your Slackware install, you are given the opportunity to install the pcmcia -package (in the “A” 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 /lib/modules/`uname --r`/pcmcia directory. You may need to do some experimentation to find a module that -will work with your network card.

- -

You will need to edit /etc/pcmcia/network.opts (for an -Ethernet card) or /etc/pcmcia/wireless.opts (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.

-
-
- - - - - 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 @@ - - - - -Network File Systems - - - - - - - - - - - -
-

5.6 -Network File Systems

- -

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.

- -

Ideally, we'd like to be able to use a network file system 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.

- -
-

5.6.1 SMB/Samba/CIFS

- -

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.

- -

Samba's configuration file is /etc/samba/smb.conf; 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.

- -

smb.conf 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.

- -

You will most likely wish to edit your smb.conf file to -reflect the network settings in your LAN. I would suggest modifying the items listed -below:

- - - - - -
-
-[global]
-# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
-workgroup = MYGROUP
-
-
- -

Change the workgroup name to reflect the workgroup or domain name that you are using -locally.

- - - - - -
-
-# server string is the equivalent of the NT Description field
-server string = Samba Server
-
-
- -

This will be the name of your Slackware computer displayed in the Network Neighborhood -(or My Network Places) folder.

- - - - - -
-
-# 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
-
-
- -

You'll almost certainly wish to implement user level security on your Slackware -system.

- - - - - -
-
-# 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
-
-
- -

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.

- -

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 smbpasswd command. smbpasswd 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).

- - - - - -
-
-Adding a user to the /etc/samba/private/smbpasswd file.
-# smbpasswd -a user
-Adding a machine name to the /etc/samba/private/smbpasswd file.
-# smbpasswd -a -m machine
-
-
- -

It's important to note that a given username or machine name must already exist in the -/etc/passwd file. You can accomplish this simply with the adduser command. Note that when using the adduser command to add a machine name one must append a dollar sign -(“$”) to the machine name. This should not however, be done with smbpasswd. smbpasswd appends the dollar -sign on its own. Failing to mangle the machine name this way with adduser will result in an error when adding the machine name to -samba.

- - - - - -
-
-# adduser machine$
-
-
-
- -
-

5.6.2 Network File System (NFS)

- -

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.

- -

NFS configuration is governed by the /etc/exports file. When -you load the default /etc/exports 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 -/home/foo to workstation Bar, we would simply add the line:

- - - - - -
-
-/home/foo Bar(rw)
-
-
- -

to our /etc/exports. Below, you'll find the example from the -man page for the exports file:

- - - - - -
-
-# 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)
-
-
- -

As you can see, there are various options available, but most should be fairly clear -from this example.

- -

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 root_squash -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. root_squash seems to be enabled by default as a security measure, -but the authors recommend specifying it anyway in your /etc/exports file.

- -

You can also export a directory directly from the command line on the server by using -the exportfs command as follows:

- - - - - -
-
-# exportfs -o rw,no_root_squash Bar:/home/foo
-
-
- -

This line exports the /home/foo directory to the computer -“Bar” and grants Bar -read/write access. Additionally, the NFS server will not invoke root_squash, which means any user on Bar with a UID of -“0” (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 computer:/directory/file syntax, you are referring to a file in a -directory on a given computer).

- -

You'll find more information on the man page for the exports file.

-
-
- - - - - 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 @@ - - - - -PPP - - - - - - - - - - - -
-

5.4 -PPP

- -

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.

- -
-

5.4.1 pppsetup

- -

Slackware includes a program called pppsetup to configure -your system to use your dialup account. It shares a look and feel similar to our netconfig program. To run the program, make sure you are logged in -as root. Then type pppsetup to run it. You should see a screen -like this:

- -

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.

- -

After the program runs, it will create a ppp-go program and a -ppp-off program. These are used to start and stop, respectively, -the PPP connection. The two programs are located in /usr/sbin -and need root privileges to run.

-
- -
-

5.4.2 /etc/ppp

- -

For most users, running pppsetup 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 /etc/ppp. Here is a list of what the different files are for:

- -
- --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ip-down -

This script is run by pppd after the PPP connection is -ended.

-
ip-up -

This script is run by pppd when there's a successful ppp -connection. Put any commands you want run after a successful connection in this file.

-
options -

General configuration options for pppd.

-
options.demand -

General configuration options for pppd when run in demand -dialing mode.

-
pppscript -

The commands sent to the modem.

-
pppsetup.txt -

A log of what you entered when you ran pppsetup.

-
-
- -
- - - - - -
Note -

Most of these files won't be there until after you run pppsetup.

-
-
-
-
- - - - - 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 @@ - - - - -TCP/IP Configuration - - - - - - - - - - - -
-

5.3 TCP/IP Configuration

- -

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 ifconfig -a.

- - - - - -
-
-# ifconfig -a
-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)
-
-
- -

If you just typed /sbin/ifconfig without the -a suffix, you would not see the eth0 -interface, as your network card does not yet have a valid IP address or route.

- -

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.

- -
-

5.3.1 DHCP

- -

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 client boots, it puts out a request on the Local Area Network -for a DHCP server to assign it an -IP address. The DHCP server has a pool (or scope) of IP addresses available. The server will respond to -this request with an IP address from the pool, along with a lease time. Once the lease time for a given IP address lease -has expired, the client must contact the server again and repeat the negotiation.

- -

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:

- -

    Client: Is there a DHCP server available on the LAN?
- -    Server: Yes, there is. Here I am.
- -    Client: I need an IP address.
-    Server: You may take 192.168.10.10 for 19200 seconds.
- -    Client: Thank you.

- -

    Client: Is there a DHCP server available on the LAN?
- -    Server:Yes, there is. Here I am.
- -    Client:I need an IP address. The last time we
- -    talked, I had 192.168.10.10;
-    May I have it again?
-    Server:Yes, you may (or No, you may not: take 192.168.10.12 instead).
- -    Client: Thank you.

- -

The DHCP client in Linux is /sbin/dhcpcd. If you load /etc/rc.d/rc.inet1 in your favorite text editor, you will notice -that /sbin/dhcpcd is called about midway through the script. -This will force the conversation shown above. dhcpcd 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.

- -

Setting up DHCP on Slackware is simple. Just run netconfig -and select DHCP when offered. If you have more than one NIC and do not wish eth0 to be configured by DHCP, just edit the /etc/rc.d/rc.inet1.conf file and change the related variable for -your NIC to “YES”.

-
- -
-

5.3.2 Static IP

- -

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.

-
- -
-

5.3.3 /etc/rc.d/rc.inet1.conf

- -

If you plan on assigning an IP address to your new Slackware box, you may do so either -through the netconfig script, or you may edit /etc/rc.d/rc.inet1.conf. In /etc/rc.d/rc.inet1.conf , you will notice:

- - - - - -
-
-    # Primary network interface card (eth0)
-    IPADDR[0]=""
-    NETMASK[0]=""
-    USE_DHCP[0]=""
-    DHCP_HOSTNAME[0]=""
-
-
- -

Then further at the bottom:

- - - - - -
-
-    GATEWAY=""
-
-
- -

In this case, our task is merely to place the correct information between the -double-quotes. These variables are called by /etc/rc.d/rc.inet1 -at boot time to setup the nics. For each NIC, just enter the correct IP information, or -put “YES” for USE_DHCP. -Slackware will startup the interfaces with the information placed here in the order they -are found.

- -

The DEFAULT_GW 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.

-
- -
-

5.3.4 /etc/resolv.conf

- -

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 72.9.234.112 into their web -browser to reach www.slackbook.org. After all, who other than the -authors would memorize that IP address? We need to setup DNS, but how? That's where /etc/resolv.conf comes into play.

- -

Chances are you already have the proper options in /etc/resolv.conf. If you setup your network connection using DHCP, -the DHCP server should handle updating this file for you. (Technically the DHCP server -just tells dhcpcd what to put here, and it obeys.) If you need -to manually update your DNS server list though, you'll need to hand edit /etc/resolv.conf. Below is an example:

- - - - - -
-
-# cat /etc/resolv.conf
-nameserver 192.168.1.254
-search lizella.net
-
-
- -

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.

- -

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 -“slackware.com” were in your search path, you could reach http://store.slackware.com by just pointing your web browser at http://store.

- - - - - -
-
-# ping -c 1 store
-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
-
-
- -
-
-
- -
-

5.3.5 /etc/hosts

- -

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 /etc/hosts file which contains a local list of DNS names and IP -addresses they should match to.

- - - - - -
-
-# cat /etc/hosts
-127.0.0.1           localhost  locahost.localdomain
-192.168.1.101       redtail
-172.14.66.32        foobar.slackware.com
-
-
- -

Here you can see that localhost has an IP address of 127.0.0.1 -(always reserved for localhost), redtail can be reached at 192.168.1.101, and foobar.slackware.com is -172.14.66.32.

-
-
- - - - - 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 @@ - - - - -Wireless - - - - - - - - - - - -
-

5.5 Wireless

- -

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.

- -

There are three basic steps to configuring an 802.11 wireless Ethernet card:

- -
    -
  1. -

    Hardware support for the wireless card

    -
  2. - -
  3. -

    Configure the card to connect to a wireless access point

    -
  4. - -
  5. -

    Configure the network

    -
  6. -
- -
-

5.5.1 Hardware Support

- -

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 /etc/rc.d/rc.modules. netconfig may not detect your wireless card, so you'll probably need -to determine the card yourself. See http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ for more -information on kernel drivers for various wireless cards.

-
- -
-

5.5.2 Configure the Wireless -Settings

- -

The vast majority of this work is done by iwconfig, so as -always read the man page for iwconfig if you need more -information.

- -

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:

- -
    -
  • -

    The domain ID, or name of the network (called the ESSID by iwconfig)

    -
  • - -
  • -

    The channel the WAP uses

    -
  • - -
  • -

    The encryption settings, including any keys used (preferably in hexadecimal)

    -
  • -
- -
- - - - - -
Warning -

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.

-
-
- -

Once you've gathered the above information, and assuming you've used modprobe to load the appropriate kernel driver, you can edit rc.wireless.conf and add your settings. The rc.wireless.conf 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 rc.wireless.conf -correspond to the iwconfig parameters, and are read by rc.wireless and used in the appropriate iwconfig commands.

- -

If you have your key in hexadecimal, that's ideal, since you can be fairly confident -that your WAP and iwconfig 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).

- -

Once you've modified rc.wireless.conf, run rc.wireless as root, then run rc.inet1, again as root. You can test -your wireless networking with standard testing tools such as ping, along with iwconfig. If you have a -wired interface you may wish to use ifconfig 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.

- -

Now that you've seen how to edit /etc/rc.d/rc.wireless 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.

- -

The first step is to tell your wireless NIC what network to join. Make sure you -replace “eth0” with whatever network interface your -wireless card uses and change “mynetwork” 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).

- - - - - -
-
-# iwconfig eth0 essid "mynetwork"
-# iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX
-# iwconfig eth0 channel n
-
-
- -

That should be all on the wireless end of things.

-
- -
-

5.5.3 Configure the Network

- -

This is done in the exact same way as wired networks. Simply refer to earlier sections -of this chapter.

-
-
- - - - - 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 @@ - - - - -Network Configuration - - - - - - - - - - -
-

Chapter 5 Network -Configuration

- - - -
-

5.1 Introduction: netconfig is your -friend.

- -

When you initially installed Slackware, the setup program invoked the netconfig program. netconfig attempted to -perform the following functions for you:

- -
    -
  • -

    It asked you for the name of your computer, and the domain name for your computer.

    -
  • - -
  • -

    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:

    - -
      -
    • -

      Static-IP

      -
    • - -
    • -

      DHCP

      -
    • - -
    • -

      Loopback

      -
    • -
    - -
    -
    -
  • - -
  • -

    It then offered to probe for a network card to configure.

    -
  • -
- -

netconfig 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:

- -
    -
  1. -

    You should never trust a setup program to properly configure your computer. If you use -a setup program, you should review the configuration yourself.

    -
  2. - -
  3. -

    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.

    -
  4. -
-
-
- - - - - 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 @@ - - - - -Making Packages - - - - - - - - - - - -
-

18.3 Making Packages

- -

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 /install/doinst.sh.

- -

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.

- -
-

18.3.1 explodepkg

- -

explodepkg(8) will do the same thing that installpkg 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.

- -

If you look at the Slackware source tree, you will see how we use this command for -“framework” 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.

-
- -
-

18.3.2 makepkg

- -

makepkg(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.

- -

This command is typically run after you have created your package tree.

-
- -
-

18.3.3 SlackBuild Scripts

- -

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.

- -

So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that -you run as root 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.

-
-
- - - - - 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 @@ - - - - -Making Tags and Tagfiles (for setup) - - - - - - - - - - - -
-

18.4 Making Tags and Tagfiles (for -setup)

- -

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.

- -

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:

- -
-

Table 18-3. Tagfile Status Options

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionMeaning
ADDThe package is required for proper system operation
SKPThe package will be automatically skipped
RECThe package is not required, but recommended
OPTThe package is optional
-
- -

The format is simply:

- - - - - -
-
-package_name: status
-
-
- -

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.

- -

Many administrators prefer writing their own tagfiles and starting the installer and -selecting “full”. 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.

- -

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.

-
- - - - - 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 @@ - - - - -Package Utilities - - - - - - - - - - - -
-

18.2 Package Utilities

- -

There are four main utilities for package management. They perform installation, -removal, and upgrades of packages.

- -
-

18.2.1 pkgtool

- -

pkgtool(8) is a menu-driven program that allows installation -and removal of packages. The main menu is shown in Figure 18-1.

- -
-

Figure 18-1. Pkgtool's main menu.

- -

-
- -

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.

- -

You may also view a list of installed packages, as shown in Figure 18-2.

- -
-

Figure 18-2. Pkgtool view mode

- -

-
- -

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. pkgtool will remove them.

- -

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.

-
- -
-

18.2.2 installpkg

- -

installpkg(8) handles installation of new packages on the -system. The syntax is as follows:

- - - - - -
-
-# installpkg option package_name
-
-
- -

Three options are provided for installpkg. Only one option -can be used at a time.

- -
-

Table 18-1. installpkg Options

- - --- - - - - - - - - - - - - - - - - - - - - - - -
OptionEffects
-mPerforms a makepkg operation on the current directory.
-warnShows 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.
-rRecursively 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.
-
- -

If you pass the ROOT environment variable before installpkg, 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 /mnt or something other than /.

- -

The installed package database entry is stored in /var/log/packages. The entry is really just a plain text file, one -for each package. If the package has a postinstallation script, it is written to /var/log/scripts/.

- -

You may specify several packages or use wildcards for the package name. Be advised -that installpkg 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 upgradepkg.

-
- -
-

18.2.3 removepkg

- -

removepkg(8) handles removing installed packages from the -system. The syntax is as follows:

- - - - - -
-
-# removepkg option package_name
-
-
- -

Four options are provided for removepkg. Only one option may -be used at a time.

- -
-

Table 18-2. removepkg Options

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionEffects
-copyThe package is copied to the preserved packages directory. This creates a tree of the -original package without removing it.
-keepSaves temporary files created during the removal. Really only useful for debugging -purposes.
-preserveThe package is removed, but copied to the preserved packages directory at the same -time.
-warnShows what would happen if you removed the package.
-
- -

If you pass the ROOT environment variable before removepkg, 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 /mnt or something other than /.

- -

removepkg 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.

- -

During the removal process, a status report is displayed. After the removal, the -package database entry is moved to /var/log/removed_packages -and the postinstallation script is moved to /var/log/removed_scripts.

- -

Just as with installpkg, you can specify several packages or -use wildcards for the package name.

-
- -
-

18.2.4 upgradepkg

- -

upgradepkg(8) will upgrade an installed Slackware package. -The syntax is as follows:

- - - - - -
-
-# upgradepkg package_name
-
-
- -

or

- - - - - -
-
-# upgradepkg old_package_name%new_package_name
-
-
- -

upgradepkg 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).

- -

If you pass the ROOT environment variable before upgradepkg, 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 /mnt or something other than /.

- -

upgradepkg 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.

- -

Just as with installpkg and removepkg, you can specify several packages or use wildcards for the -package name.

-
- -
-

18.2.5 rpm2tgz/rpm2targz

- -

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).

- -

We provide a program that will convert RPM packages to our native .tgz format. This will allow you to extract the package (perhaps -with explodepkg) to a temporary directory and examine its -contents.

- -

The rpm2tgz program will create a Slackware package with a -.tgz extension, while rpm2targz -creates an archive with a .tar.gz extension.

-
-
- - - - - 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 @@ - - - - -Slackware Package Management - - - - - - - - - - -
-

Chapter 18 Slackware Package -Management

- - - -

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.

- -

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), pkgtool and its associated programs are every bit as good at -installing packages as rpm. The truth about pkgtool is not that -it doesn't exist, but that it doesn't do any dependency checking.

- -

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.

- -
-

18.1 Overview of Package Format

- -

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 gzip. Packages are built to be extracted in the -root directory.

- -

Here is a fictitious program and its example package:

- - - - - -
-
-./
-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
-
-
- -

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.

- -

Notice the install/ subdirectory. This is a special -directory that can contain a postinstallation script called doinst.sh. If the package system finds this file, it will execute -it after installing the package.

- -

Other scripts can be embedded in the package, but those are discussed more in detail -in Section -18.3.2 below.

-
-
- - - - - 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 Binary files a/slackbook/html/package-management/pkgtool-view-w.png and /dev/null 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 Binary files a/slackbook/html/package-management/pkgtool-w.png and /dev/null 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 @@ - - - - -Foregrounding - - - - - - - - - - - -
-

11.2 Foregrounding

- -

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:

- - - - - -
-
-% fg
-
-
- -

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:

- - - - - -
-
-[1]+  Done              /bin/ls $LS_OPTIONS
-
-
- -

That tells you that the backgrounded process (in this case ls -- not terribly interesting) has completed.

- -

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 -fg 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 jobs and gives output -like so:

- - - - - -
-
-% jobs
-[1]   Stopped                 vim
-[2]-  Stopped                 amp
-[3]+  Stopped                 man ps
-
-
- -

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 (man ps) is the process that will be foregrounded if you just type -fg.

- -

If you wanted to foreground vim, you would type:

- - - - - -
-
-% fg 1
-
-
- -

and vim 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.

-
- - - - - 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 @@ - - - - -kill - - - - - - - - - - - -
-

11.4 kill

- -

On occasion, programs misbehave and you'll need to put them back in line. The program -for this kind of administration is called kill(1), and it can be -used for manipulating processes in several ways. The most obvious use of kill 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.

- -

In order to kill off a process, you'll need to know its PID or its name. To get the -PID, use the ps command as was discussed in the last section. -For example, to kill off process 4747, you'd issue the following:

- - - - - -
-
-% kill 4747
-
-
- -

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, root can kill off any process on the system.

- -

There's another variety of the kill command called killall(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 vim processes, you could type the following command:

- - - - - -
-
-% killall vim
-
-
- -

Any and all vim processes you have running will die off. -Doing this as root would kill off all the vim processes running for all users. This brings up an interesting -way to kick everyone (including yourself) off the system:

- - - - - -
-
-# killall bash
-
-
- -

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:

- - - - - -
-
-% kill -9 4747
-
-
- -

That will almost certainly cause process 4747 to die. You can do the same thing with -killall. What this is doing is sending a different signal to the -process. A regular kill sends a SIGTERM (terminate) signal to the process, which tells it to finish -what it's doing, clean up, and exit. kill -9 sends a SIGKILL (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 SIGKILL. There's a -whole list of signals at your disposal. You can get a listing of signals by typing the -following:

- - - - - -
-
-% kill -l
-  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
-
-
- -

The number must be used for kill, while the name minus the -leading “SIG” can be used with killall. Here's -another example:

- - - - - -
-
-% killall -KILL vim
-
-
- -

A final use of kill is to restart a process. Sending a SIGHUP 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.

-
- - - - - 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 @@ - - - - -ps - - - - - - - - - - - -
-

11.3 ps

- -

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 ps(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 Section 2.1.1.

- -

Simply typing ps 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, ps itself). Also listed are -backgrounded processes you may have running. Many times, that will be a very short -listing:

- -
-

Figure 11-1. Basic ps output

- - - - - -
-
-% ps
-   PID TTY          TIME CMD
-  7923 ttyp0    00:00:00 bash
-  8059 ttyp0    00:00:00 ps
-
-
-
- -

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?

- -

Well, the PID is the process ID. 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.

- -

The TTY column indicates which terminal the process is -running on. Doing a plain ps 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 ttyp0. This indicates that they are either running remotely or from -an X terminal of some variety.

- -

The TIME 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.

- -

Finally, the CMD 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 ps. We'll discuss that shortly.

- -

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:

- - - - - -
-
-% ps -ax
- 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]
-
-
- -

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 ptrace 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.

- -

First, you'll notice that most of these processes are listed as running on tty -“?”. 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.

- -

Second, there is a new column: STAT. It shows the status of -the process. S stands for sleeping: the process is waiting for -something to happen. Z 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. D 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 kill . W stands for paging. A dead process is marked with an X. A process marked T is traced, or -stopped. R means that the process is runable.

- -

If you want to see even more information about the running processes, try this -out:

- - - - - -
-
-% ps -aux
- 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]
-
-
- -

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 -w option will force ps to wrap long lines.

- -

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 ps. However, the -options shown above are the most popular ones and will be the ones you need to use the -most often.

-
- - - - - 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 @@ - - - - -top - - - - - - - - - - - -
-

11.5 top

- -

Finally, there's a command you can use to display updating information about the -processes running on the system. This command is called top(1), -and is started like so:

- - - - - -
-
-% top
-
-
- -

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.

- - - - - -
-
- 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
-
-PID USER    PRI  NI  SIZE  RSS  SHARE  STAT  LIB %CPU %MEM  TIME COMMAND
- 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
-
-
- -

It's called top 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, top is quite useful for determining what program is misbehaving and -needs to be killed off.

- -

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 -u option allows you to specify a -username or UID and monitor only those processes owned by that UID.

- - - - - -
-
-% top -u alan
- 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
-
-
- -

As you can see, I'm currently running X, top, a gnome-terminal (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.

- -

top 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 top.

-
- - - - - 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 @@ - - - - -Process Control - - - - - - - - - - -
-

Chapter 11 Process Control

- -
-
-
Table of Contents
- -
11.1 Backgrounding
- -
11.2 Foregrounding
- -
11.3 ps
- -
11.4 kill
- -
11.5 top
-
-
- -

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 root or nobody. -Processes that you start will run as you. Processes started as other users will run as -those users.

- -

You have control over all the processes that you start. Additionally, root 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.

- -
-

11.1 Backgrounding

- -

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.

- -

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 amp 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:

- - - - - -
-
-% amp *.mp3 &
-
-
- -

The program will run as normal, and you are returned to a prompt.

- -

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 Control+z. 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:

- - - - - -
-
-% bg
-
-
- -

Now the suspended process is running in the background.

-
-
- - - - - 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 @@ - - - - -Keeping Current - - - - - - - - - - - -
-

14.3 Keeping -Current

- -
-

14.3.1 slackware-security mailing list

- -

Whenever a security problem affects Slackware, an email is sent to all subscribers to -the slackware-security@slackware.com mailing list. Reports are -sent out for vulnerabilities of any part of Slackware, apart from the software in /extra or /pasture. These security -announcement emails include details on obtaining updated versions of Slackware packages -or work-arounds, if any.

- -

Subscribing to Slackware mailing lists is covered in Section 2.2.2.

-
- -
-

14.3.2 -The /patches directory

- -

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 /patches directory. The full path to these patches will -depend on the mirror you are using, but will take the form /path/to/slackware-x.x/patches/.

- -

Before installing these packages, it is a good idea to verify the md5sum of the package. md5sum(1) is a -commandline utility that creates a “unique” mathematical hash of the file. If -a single bit of the file has been changed, it will generate a different md5sum value.

- - - - - -
-
-% md5sum package-<ver>-<arch>-<rev>.tgz
-6341417aa1c025448b53073a1f1d287d  package-<ver>-<arch>-<rev>.tgz
-
-
- -

You should then check this against the line for the new package in the CHECKSUMS.md5 file in the root of the slackware-$VERSION directory (also -in the /patches directory for patches) or in the email to the -slackware-security mailing list.

- -

If you have a file with the md5sum values in it, you can source it instead with the --c option to md5sum.

- - - - - -
-
-# md5sum -c CHECKSUMS.md5
-./ANNOUNCE.10_0: OK
-./BOOTING.TXT: OK
-./COPYING: OK
-./COPYRIGHT.TXT: OK
-./CRYPTO_NOTICE.TXT: OK
-./ChangeLog.txt: OK
-./FAQ.TXT: FAILED
-
-
- -

As you can see, any files that md5sum evaluates as correct -are listed “OK” while files that fail are labelled -“FAILED”. (Yes, this was an insult to your -intelligence. Why do you put up with me?)

-
-
- - - - - 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 @@ - - - - -Host Access Control - - - - - - - - - - - -
-

14.2 Host Access -Control

- -
-

14.2.1 iptables

- -

iptables 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 http://www.netfilter.org/ for more -details. These commands can be entered into /etc/rc.d/rc.firewall, which has to be set as executable for these -rules to take effect at startup. Note that incorrect iptables -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.

- -

The first thing most people should do is set the default policy for each inbound chain -to DROP:

- - - - - -
-
-# iptables -P INPUT DROP
-# iptables -P FORWARD DROP
-
-
- -

When everything is denied, you can start allowing things. The first thing to allow is -any traffic for sessions which are already established:

- - - - - -
-
-# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-
-
- -

So as not to break any applications that communicate using the loopback address, it is -usually wise to add a rule like this:

- - - - - -
-
-# iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
-
-
- -

This rules allows any traffic to and from 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) on -the loopback (lo) 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.

- -

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:

- - - - - -
-
-# iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT
-
-
- -

This will allow access from any machine to port 80 on your machine via the ppp0 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 64.57.102.34:

- - - - - -
-
-# iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT
-
-
- -

Allowing ICMP traffic can be useful for diagnostic purposes. To do this, you would use -a rule like this:

- - - - - -
-
-# iptables -A INPUT -p icmp -j ACCEPT
-
-
- -

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:

- - - - - -
-
-# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
-
-
- -

You will also need to enable IP forwarding. You can do this temporarily, using the -following command:

- - - - - -
-
-# echo 1 > /proc/sys/net/ipv4/ip_forward
-
-
- -

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 /etc/rc.d/rc.inet2 in your favorite editor and change the following -line:

- - - - - -
-
-IPV4_FORWARD=0
-
-
- -

...to this:

- - - - - -
-
-IPV4_FORWARD=1
-
-
- -

For more information on NAT, see the NAT -HOWTO.

-
- -
-

14.2.2 tcpwrappers

- -

tcpwrappers 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.

- -

Access to services protected by tcpwrappers can be controlled using /etc/hosts.allow and /etc/hosts.deny.

- -

The majority of people would have a single line in their /etc/hosts.deny file to deny access to all daemons by default. This -line would be:

- - - - - -
-
-ALL : ALL
-
-
- -

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 /etc/hosts.allow file, which follows the same format.

- -

A lot of people would start by accepting all connections from localhost. This can be achieved using:

- - - - - -
-
-ALL : 127.0.0.1
-
-
- -

To allow access to SSHd from 192.168.0.0/24, you could use -either of the following rules:

- - - - - -
-
-sshd : 192.168.0.0/24
-sshd : 192.168.0.
-
-
- -

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):

- - - - - -
-
-sshd : .slackware.com
-
-
-
-
- - - - - 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 @@ - - - - -Security - - - - - - - - - - -
-

Chapter 14 Security

- -
-
-
Table of Contents
- -
14.1 Disabling Services
- -
14.2 Host Access Control
- -
14.3 Keeping Current
-
-
- -

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.

- -
-

14.1 Disabling -Services

- -

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 - inetd and init scripts.

- -
-

14.1.1 Services started from inetd

- -

A lot of the daemons that come with Slackware are run from inetd(8). inetd 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 inetd can be disabled by commenting out the relevant lines in /etc/inetd.conf. To do this, open this file in your favorite editor -(e.g. vi) and you should see lines similar to this:

- - - - - -
-
-telnet stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
-
-
- -

You can disable this service, and any others you don't need, by commenting them out -(i.e. adding a # (hash) symbol to the beginning of the line). -The above line would then become:

- - - - - -
-
-#telnet stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
-
-
- -

After inetd has been restarted, this service will be -disabled. You can restart inetd with the command:

- - - - - -
-
-# kill -HUP $(cat /var/run/inetd.pid)
-
-
-
- -
-

14.1.2 Services started from init -scripts

- -

The rest of the services started when the machine starts are started from the init -scripts in /etc/rc.d/. 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.

- -

For example, SSH is started by its own init script at /etc/rc.d/rc.sshd. You can disable this using:

- - - - - -
-
-# chmod -x /etc/rc.d/rc.sshd
-
-
- -

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 /etc/rc.d/rc.inet2:

- - - - - -
-
-# 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.
-
-
- -

This can be disabled by adding # symbols to the beginnings -of the lines that don't already start with them, like so:

- - - - - -
-
-# 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.
-
-
- -

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):

- - - - - -
-
-# telinit 1
-# telinit 3
-
-
-
-
-
- - - - - 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 @@ - - - - -The Bourne Again Shell (bash) - - - - - - - - - - - -
-

8.3 The Bourne Again Shell -(bash)

- -
-

8.3.1 -Environment Variables

- -

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...

- -

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.

- -

set by itself will show you all of the environment variables -that are currently defined, as well as their values. Like most bash built-ins, it can also do several other things (with -parameters); we'll leave it to the bash(1) man page to cover -that, though. Example 8-1 shows -an excerpt from a set command run on one of the author's -computers. Notice in this example the PATH variable that was -discussed earlier. Programs in any of those directories can be run simply by typing the -base filename.

- -
-

Example 8-1. Listing Environment Variables with set

- - - - - -
-
-% set
-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='> '
-PS4='+ '
-PWD=/home/logan
-QTDIR=/usr/local/lib/qt
-REMOTEHOST=ninja.tdn
-SHELL=/bin/bash
-
-
-
- - - - - -
-
-% unset VARIABLE
-
-
- -

unset will remove any variables that you give it, wiping out -both the variable and its value; bash 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.)

- - - - - -
-
-% export VARIABLE=some_value
-
-
- -

Now, export is truly handy. Using it, you give the -environment variable VARIABLE the value “some_value”; if VARIABLE didn't exist, -it does now. If VARIABLE already had a value, well, it's gone. -That's not so good, if you're just trying to add a directory to your PATH. In that case, you probably want to do something like this:

- - - - - -
-
-% export PATH=$PATH:/some/new/directory
-
-
- -

Note the use of $PATH there: when you want bash to interpret a variable (replace it with its value), tack a -$ onto the beginning of the variable's name. For instance, echo $PATH will echo the value of PATH, in my -case:

- - - - - -
-
-% echo $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
-
-
-
- -
-

8.3.2 Tab -Completion

- -

(Here comes something cool again.)

- -
    -
  1. -

    A commandline interface means lots of typing.

    -
  2. - -
  3. -

    Typing is work.

    -
  4. - -
  5. -

    Nobody likes work.

    -
  6. -
- -

From 3 and 2, we can determine that (4) nobody likes typing. Fortunately, bash saves us from (5) (nobody likes a commandline interface).

- -

How does bash accomplish this wonderful feat, you ask? In -addition to the wildcard expansion we discussed before, bash -features tab completion.

- -

Tab completion works something like this: You're typing the name of a file. Maybe it's -in your PATH, 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. bash will figure out what you want and finish typing it for you!

- -

Example time. /usr/src contains two subdirectories: /usr/src/linux and /usr/src/sendmail. I -want to see what's in /usr/src/linux. So I just type ls /usr/src/l, hit the TAB key, and bash gives me ls /usr/src/linux.

- -

Now, suppose there are two directories /usr/src/linux and -/usr/src/linux-old; If I type /usr/src/l and hit TAB, bash will fill in as much as it can, and I'll get /usr/src/linux. I can stop there, or I can hit TAB again, and bash will show a list of -directories that match what I've typed so far.

- -

Hence, less typing (and hence, people can like commandline interfaces). I told you it -was cool.

-
-
- - - - - 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 @@ - - - - -The Command Line - - - - - - - - - - - -
-

8.2 The Command -Line

- -
-

8.2.1 Running Programs

- -

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.

- -

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.

- -

For instance, remember that su command from the last section? -Well, it's actually in the /bin directory: /bin/su would run it nicely.

- -

So why, then, does just typing su work? After all, you didn't -say it was in /bin. It could just as easily have been in /usr/local/share, right? How did it know? The answer to that lies in the PATH environment variable; most shells have either PATH or something very much like PATH. It -basically contains a list of directories to look in for programs you try to run. So when -you ran su, your shell ran through its list of directories, -checking each one for an executable file called su 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 ““Command -not found”” error, that only means that the program you tried to run -isn't in your PATH. (Of course, this would be true if the program -doesn't exist at all...) We'll discuss environment variables in more depth in Section 8.3.1.

- -

Remember also that “.” is shorthand for the -current directory, so if you happened to be in /bin, ./su would have worked as an explicit full path.

-
- -
-

8.2.2 Wildcard Matching

- -

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 * and ?. By convention, ? usually matches any single character. For instance, suppose -you're in a directory with three files: ex1.txt, ex2.txt, and ex3.txt. You want to copy -all of those files (using the cp command we cover in Section 10.5.1) to -another directory, say /tmp. Well, typing cp ex1.txt ex2.txt ex3.txt /tmp is entirely too much work. It's much -easier to type cp ex?.txt /tmp; the ? -will match each of the characters “1”, “2”, and “3”, -and each in turn will be substituted in.

- -

What's that you say? That's still 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 *. As was already mentioned, * matches -“any number of characters”, including 0. So if those three files were the -only ones in the directory, we could have simply said cp * /tmp -and gotten them all in one fell swoop. Suppose, though, that there is also a file called -ex.txt and one called hejaz.txt. We -want to copy ex.txt but not hejaz.txt; cp ex* /tmp will do that for -us.

- -

cp ex?.txt /tmp, would, of course, only get our original -three files; there's no character in ex.txt to match that ?, so it would be left out.

- -

Another common wildcard is the bracket pair [ ]. Any -characters inside the brackets will be substituted in place of the [ -] to find matches. Sound confusing? It's not too bad. Suppose for instance, we have -a directory containing the following 8 files: a1, a2, a3, a4, aA, aB, aC, and -aD . We want to only find the files ending in numbers; [ ] will do this for us.

- - - - - -
-
-% ls a[1-4]
-a1 a2 a3 a4
-
-
- -

But what we really want is just a1, a2, and a4? In the previous example we -used - to mean all values between 1 and 4. We can also separate individual entries with -commas.

- - - - - -
-
-% ls a[1,2,4]
-a1 a2 a4
-
-
- -

I know what you're thinking now, “Well what about letters?” Linux is -case-sensitive, meaning that a and A are different characters and are only related in your mind. -Capitals always come before lowercase letters, so A and B come before a and b. Continuing with our earlier example, if we wanted files a1, and A1, we can find these quickly -with [ ].

- - - - - -
-
-% ls [A,a]1
-A1 a1
-
-
- -

Note, that if we had included a hyphen instead of a comma, we would have gotten -incorrect results.

- - - - - -
-
-% ls [A-a]1
-A1 B1 C1 D1 a1
-
-
- -

You can also combine hyphen and comma strings.

- - - - - -
-
-% ls [A,a-d]
-A1 a1 b1 c1 d1
-
-
-
- -
-

8.2.3 Input/Output Redirection and Piping

- -

(Here comes something cool.)

- - - - - -
-
-% ps > blargh
-
-
- -

Y'know what that is? That's me running ps to see which -processes are running; ps is covered in Section 11.3. That's not the cool part. The cool part -is > blargh, which means, roughly, take the output from ps and write it to a file called blargh. -But wait, it gets cooler.

- - - - - -
-
-% ps | less
-
-
- -

That one takes the output from ps and pipes it through less, so I can scroll through it at my leisure.

- - - - - -
-
-% ps >> blargh
-
-
- -

This is the third most commonly used redirector; it does the same thing as -“>”, except that “>>” will append output from ps to the file blargh, if said file -exists. If not, just like “>”, it will be created. (“>” -will obliterate the current contents of blargh.)

- -

There is also a “<” operator, which means take your input from the -following, but it's not used nearly so often.

- - - - - -
-
-% fromdos < dosfile.txt > unixfile.txt
-
-
- -

Redirection gets really fun when you start piling it up:

- - - - - -
-
-% ps | tac >> blargh
-
-
- -

That will run ps, reverse the lines of its output, and append -those to the file blargh. You can stack as many of these up as -you want; just be careful to remember that they get interpreted from left to right.

- -

See the bash(1) man page for more detailed information on -redirection.

-
-
- - - - - 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 @@ - - - - -Virtual Terminals - - - - - - - - - - - -
-

8.4 Virtual Terminals

- -

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?

- -

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 “virtual terminals”, or -“VTs”.

- -

By pressing Alt and a function key, you can switch -between virtual terminals; each function key corresponds to one. Slackware has logins on -6 VTs by default. Alt+F2 will take you to the -second one, Alt+F3 to the third, etc.

- -

The rest of the function keys are reserved for X sessions. Each X session uses its own -VT, beginning with the seventh (Alt+F7) and -going up. When in X, the Alt+Function key -combination is replaced with Ctrl+Alt+Function; so if you are in X and want to get back to a text login -(without exiting your X session), Ctrl+Alt+F3 will take you to the third. (Alt+F7 will take you back, assuming you're using the first X session.)

- -
-

8.4.1 Screen

- -

But what about situations where there are no virtual terminals? What then? -Fortunately, slackware includes a beautiful screen manager aptly named screen. screen is a terminal emulator that -has virtual terminal like capabilities. Executing screen flashes -a brief introduction, then dumps to a terminal. Unlike the standard virtual terminals, -screen has its own commands. All screen -commands are prefixed with a Crtl+A -keystroke. For example, Ctrl+A+C will create a new terminal session. Ctrl+A+N will switch to the next terminal. Ctrl+A+P switches to the -previous terminal.

- -

screen also supports detaching and re-attaching to screen sessions which is particularly useful for remote sessions via -ssh and telnet, (more on those later). -Ctrl+A+D will detach -from the currently running screen. Executing screen -r will list -all currently running screen sessions you may reattach to.

- - - - - -
-
-% screen -r
-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. 
-
-
- -

Running screen -r 1212 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 ssh, 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 -screen 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.

-
-
- - - - - 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 @@ - - - - -The Shell - - - - - - - - - - -
-

Chapter 8 The Shell

- -
-
-
Table of Contents
- -
8.1 Users
- -
8.2 The Command Line
- -
8.3 The Bourne Again Shell (bash)
- -
8.4 Virtual Terminals
-
-
- -

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 bash(1) man page.

- -
-

8.1 Users

- -
-

8.1.1 Logging In

- -

So you've booted, and you're looking at something that looks like this:

- - - - - -
-
-Welcome to Linux 2.4.18
-Last login: Wed Jan   1 15:59:14 -0500 2005 on tty6.
-darkstar login:
-
-
- -

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.

- -

As for the login... If this is your first time, you'll want to log in as root. 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!

-
- -
-

8.1.2 Root: The Superuser

- -

Okay, who or what is root? And what's it doing with an account on your system?

- -

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 root is the user above all users; root is all-powerful and all-knowing, and nobody disobeys root. It just isn't -allowed. root is what we call a “superuser”, and -rightly so. And best of all, root is you.

- -

Cool, huh?

- -

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 Section 12.1.1 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.

- -

By the way, if you decide you want to be root while you're logged in as someone else, -no problem. Just use the su(1) command. You'll be asked for root's password and then it will make you root until you exit or logout. You can also become any other user using su, provided you know that user's password: su -logan, for instance, would make you me.

- -
- - - - - -
Note -

root is allowed to su to any user, without requiring their -password.

-
-
-
-
-
- - - - - diff --git a/slackbook/html/slackware_logo.png b/slackbook/html/slackware_logo.png deleted file mode 100644 index 3f2955e37..000000000 Binary files a/slackbook/html/slackware_logo.png and /dev/null 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 @@ - - - - -Selecting a Kernel - - - - - - - - - - - -
-

4.2 Selecting a Kernel

- -

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.

- -

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.

- -
-

4.2.1 The /kernels Directory on the Slackware CD-ROM

- -

The precompiled Slackware kernels are available in the /kernels 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 /kernels 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:

- -
- --- - - - - - - - - - - - - - - - - - - - - - - -
FilePurpose
System.mapThe system map file for this kernel
bzImageThe actual kernel image
configThe source configuration file for this kernel
-
- -

To use a kernel, copy the System.map and config files to your /boot directory and -copy the kernel image to /boot/vmlinuz. Run /sbin/lilo(8) to install LILO for the new kernel, and then reboot -your system. That's all there is to installing a new kernel.

- -

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.

-
- -
-

4.2.2 Compiling a Kernel from Source

- -

The question “Should I compile a kernel for my system?” 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.

- -

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 http://www.kernel.org/mirrors.

- -
-

4.2.2.1 Linux Kernel version 2.4.x -Compilation

- - - - - -
-
-% su -
-Password:
-# cd /usr/src/linux
-
-
- -

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 .config -file as this command will delete it without warning):

- - - - - -
-
-# make mrproper
-
-
- -

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:

- - - - - -
-
-# make config           (text-based Q&A version)
-# make menuconfig       (menu driven, text-based version)
-# make xconfig          (X-based version, make sure you are in X first)
-
-
- -
-

Figure 4-1. Kernel Configuration Menu

- -

-
- -

New users will probably find menuconfig 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:

- - - - - -
-
-# make dep
-# make clean
-
-
- -

The next step is to compile the kernel. First try issuing the bzImage command below.

- - - - - -
-
-# make bzImage
-
-
- -

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.

- - - - - -
-
-# make modules
-
-
- -

We can now install the kernel and modules that you compiled. To install the kernel on -a Slackware system, these commands should be issued:

- - - - - -
-
-# mv /boot/vmlinuz /boot/vmlinuz.old
-# cat arch/i386/boot/bzImage > /vmlinuz
-# mv /boot/System.map /boot/System.map.old
-# cp System.map /boot/System.map
-# make modules_install
-
-
- -

You will want to edit /etc/lilo.conf and add a section to -boot your old kernel in case your new one does not work. After doing that, run /sbin/lilo to install the new boot block. You can now reboot with -your new kernel.

-
- -
-

4.2.2.2 Linux Kernel Version -2.6.x

- -

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 make dep and make -clean. 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 V=1 -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.

- - - - - -
-
-# make bzImage V=1
-
-
-
-
- -
-

4.2.3 Using Kernel Modules

- -

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.

- -

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.

- -

Modules are stored in the /lib/modules/kernel version directory on your system. They can be -loaded at boot time through the rc.modules 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 lsmod(1) command:

- - - - - -
-
-# lsmod
-Module                  Size  Used by
-parport_pc              7220   0 
-parport                 7844   0  [parport_pc]
-
-
- -

You can see here that I only have the parallel port module loaded. To remove a module, -you use the rmmod(1) command. Modules can be loaded by the modprobe(1) or insmod(1) command. modprobe is usually safer because it will load any modules that the -one you're trying to load depends on.

- -

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 kmod in its kernels. kmod is a kernel -option that enables the kernel to automatically load modules as they are requested. For -more information on kmod and how it is configured, see /usr/src/linux/Documentation/kmod.txt. You'll have needed to have -the kernel source package, or downloaded kernel source from http://kernel.org.

- -

More information can be found in the man pages for each of these commands, plus the -rc.modules file.

-
-
- - - - - 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 @@ - - - - -System Configuration - - - - - - - - - - -
-

Chapter 4 System -Configuration

- -
-
-
Table of Contents
- -
4.1 System -Overview
- -
4.2 Selecting a Kernel
-
-
- -

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.

- -
-

4.1 System Overview

- -

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.

- -
-

4.1.1 File System Layout

- -

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 C: 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.

- -

We call the main directory the root directory, and it's denoted with a single slash -(/). 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 /home 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 -/home. You've now grafted on some more space to your system. -And all without having to move many things around.

- -

Below, you will find descriptions of the major top level directories under -Slackware.

- -
-
-
bin
- -
-

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 (ls, cp, and so on) are stored -here. The /bin directory usually doesn't receive modification -after installation. If it does, it's usually in the form of package upgrades that we -provide.

-
- -
boot
- -
-

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 / , but common practice is to put the kernel and related files here -to facilitate dual-booting.

-
- -
dev
- -
-

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 /dev directory. You will find this to be true across many Unix-like -operating systems.

-
- -
etc
- -
-

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.

-
- -
home
- -
-

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 /home directory is provided as the default -location for user home directories.

-
- -
lib
- -
-

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.

-
- -
mnt
- -
-

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.

-
- -
opt
- -
-

Optional software packages. The idea behind /opt is that -each software package installs to /opt/software-package, which makes it easy to remove later. -Slackware distributes some things in /opt (such as KDE in /opt/kde), but you are free to add anything you want to /opt.

-
- -
proc
- -
-

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 /proc directory. You can also send information to the kernel -through some of these files. Try doing cat /proc/cpuinfo.

-
- -
root
- -
-

The system administrator is known as root on the system. root's home directory is kept in /root -instead of /home/root. The reason is simple. What if /home was a different partition from / -and it could not be mounted? root 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.

-
- -
sbin
- -
-

Essential programs that are run by root and during the -system bootup process are kept here. Normal users will not run programs in this -directory.

-
- -
tmp
- -
-

The temporary storage location. All users have read and write access to this -directory.

-
- -
usr
- -
-

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.

-
- -
var
- -
-

System log files, cache data, and program lock files are stored here. This is the -directory for frequently-changing data.

-
-
-
- -

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.

-
- -
-

4.1.2 Finding Files

- -

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.

- -
-

4.1.2.1 which

- -

The first is the which(1) command. which is usually used to locate a program quickly. It just searches -your PATH and returns the first instance it finds and the -directory path to it. Take this example:

- - - - - -
-
-%  which bash
-/bin/bash
-
-
- -

From that you see that bash is in the /bin directory. This is a very limited command for searching, since -it only searches your PATH.

-
- -
-

4.1.2.2 whereis

- -

The whereis(1) command works similar to which, but can also search for man pages and source files. A whereis search for bash should return -this:

- - - - - -
-
-%  whereis bash
-bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
-
-
- -

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 which or -whereis for that.

-
- -
-

4.1.2.3 find

- -

The find(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 xinitrc file on the system, -the following command could be used.

- - - - - -
-
-%  find / -name xinitrc
-/var/X11R6/lib/xinit/xinitrc
-
-
- -

find 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 root -can see. But find found our file, so that's good. If only it -could be a bit faster...

-
- -
-

4.1.2.4 slocate

- -

The slocate(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 updatedb(1) to update the slocate database (before running updatedb by hand, you must first su to the -root user). Here's an example of slocate in action:

- - - - - -
-
-%  slocate xinitrc   # 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
-
-
- -

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.

-
-
- -
-

4.1.3 -The /etc/rc.d Directory

- -

The system initialization files are stored in the /etc/rc.d -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.

- -

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.

- -
-

4.1.3.1 System Startup

- -

The first program to run under Slackware besides the Linux kernel is init(8). This program reads the /etc/inittab(5) file to see how to run the system. It runs the /etc/rc.d/rc.S script to prepare the system before going into your -desired runlevel. The rc.S 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 rc.S has a lot on -its plate, but here are some scripts in /etc/rc.d that rc.S will call on to complete its work:

- -
-
-
rc.S
- -
-

This is the actual system initialization script.

-
- -
rc.modules
- -
-

Loads kernel modules. Things like your network card, PPP support, and other things are -loaded here. If this script finds rc.netdevice, it will run -that as well.

-
- -
rc.pcmcia
- -
-

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.

-
- -
rc.serial
- -
-

Configures your serial ports by running the appropriate setserial commands.

-
- -
rc.sysvinit
- -
-

Looks for System V init scripts for the desired runlevel and runs them. This is -discussed in more detail below.

-
-
-
-
- -
-

4.1.3.2 Runlevel Initialization -Scripts

- -

After system initialization is complete, init moves on to -runlevel initialization. A runlevel describes the state that your machine will be running -in. Sound redundant? Well, the runlevel tells init 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 agetty(8) to handle logins. The files below define the different -runlevels in Slackware Linux.

- -
-
-
rc.0
- -
-

Halt the system (runlevel 0). By default, this is symlinked to rc.6.

-
- -
rc.4
- -
-

Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login -manager.

-
- -
rc.6
- -
-

Reboot the system (runlevel 6).

-
- -
rc.K
- -
-

Startup in single user mode (runlevel 1).

-
- -
rc.M
- -
-

Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is -the default runlevel in Slackware.

-
-
-
-
- -
-

4.1.3.3 Network Initialization

- -

Runlevels 2, 3, and 4 will start up the network services. The following files are -responsible for the network initialization:

- -
-
-
rc.inet1
- -
-

Created by netconfig, this file is responsible for -configuring the actual network interface.

-
- -
rc.inet2
- -
-

Runs after rc.inet1 and starts up basic network -services.

-
- -
rc.atalk
- -
-

Starts up AppleTalk services.

-
- -
rc.httpd
- -
-

Starts up the Apache web server. Like a few other rc scripts, this one can also be -used to stop and restart a service. rc.httpd takes arguments of -stop, start, or restart.

-
- -
rc.news
- -
-

Starts up the news server.

-
-
-
-
- -
-

4.1.3.4 System V Compatibility

- -

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.

- -

The rc.sysvinit script will search for any System V init -scripts you have in /etc/rc.d and run them, if the runlevel is -appropriate. This is useful for certain commercial software packages that install System -V init scripts

-
- -
-

4.1.3.5 Other Files

- -

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.

- -
-
-
rc.gpm
- -
-

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.

-
- -
rc.font
- -
-

Loads the custom screen font for the console.

-
- -
rc.local
- -
-

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.

-
-
-
- -

To enable a script, all you need to do is add the execute permissions to it with the -chmod command. To disable a script, remove the execute -permissions from it. For more information about chmod, see Section 9.2.

-
-
-
-
- - - - - 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 Binary files a/slackbook/html/system-configuration/make-menuconfig-w.png and /dev/null 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 @@ - - - - -vi Configuration - - - - - - - - - - - -
-

16.6 vi -Configuration

- -

Your vi clone of choice can be configured in several -ways.

- -

A variety of commands can be entered while in command mode to set up vi 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.

- -

Almost all of these commands can be put into a configuration file in your home -directory. elvis expects a .exrc file, -while vim expects a .vimrc 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.

- -

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 vi editor. Some editors (like vim) have extensive help within the editor that can be accessed with -the :help command, or something similar. You can also check out the -O'Reilly book Learning the vi Editor by -Lamb and Robbins.

- -

Many common programs in Linux will load up a text file in vi -by default. For example, editing your crontabs will start up vi -by default. If you do not like vi and would like another editor -to be started instead, all you need to do is set the VISUAL -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 .bash_profile or .bashrc -files.

-
- - - - - 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 @@ - - - - -Vi Keys - - - - - - - - - - - -
-

16.7 Vi Keys

- -

This section is a quick reference of many common vi commands. -Some of these were discussed earlier in the chapter, while many will be new.

- -
-

Table 16-1. Movement

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
left, down, up, righth, j, k, l
To the end of the line$
To the beginning of the line^
To the end of the fileG
To the beginning of the file:1
To line 47:47
-
- -
-

Table 16-2. Editing

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
Removing a linedd
Removing five lines5dd
Replacing a characterr
Removing a characterx
Removing ten characters10x
Undo last actionu
Join current and next linesJ
Replace old with new, globally%s'old'new'g
-
- -
-

Table 16-3. Searching

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
Search for “asdf”/asdf
Search backwards for “asdf”?asdf
Repeat last search forwards/
Repeat last search backwards?
Repeat last search, same directionn
Repeat last search, opposite directionN
-
- -
-

Table 16-4. Saving and Quitting

- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperationKey
Quit:q
Quit without saving:q!
Write and quit:wq
Write, without quitting:w
Reload currently open file:e!
Write buffer to file asdf:w asdf
Open file hejaz:e hejaz
Read file asdf into buffer:r asdf
Read output of ls into buffer:r !ls
-
-
- - - - - 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 @@ - - - - -Modes - - - - - - - - - - - -
-

16.2 Modes

- -

vi operates in various modes, which are used to accomplish -various tasks. When you first start vi, 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.

- -
-

16.2.1 -Command Mode

- -

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 Section -16.7.

- -

Probably the most often used command in command mode is changing to insert mode. This -is accomplished by hitting the i key. The cursor changes shapes, -and -- INSERT -- is displayed at -the bottom of the screen (note that this does not happen in all clones of vi). 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 ESCAPE key.

- -

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 “hjkl”. Here is a simple listing of how these -keys are used to move around:

- -
- --- - - - - - - - - - - - - - - - - - - - - -
hmove left one character
jmove down one character
kmove up one character
lmove right one character
-
- -

Simply press a key to move. As you will see later, these keys can be combined with a -number to move much more efficiently.

- -

Many of the commands that you will use in command mode begin with a colon. For -example, quitting is :q, as discussed earlier. The colon simply -indicates that it is a command, while the “q” tells vi 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.

- -

For example, deleting one line from a file is accomplished by hitting dd. This will remove the line that the cursor is on. Issuing the -command 4dd would tell vi to remove the -line that the cursor is on and the three after that. In general, the number tells vi how many times to perform the command.

- -

You can combine a number with the movement keys to move around several characters at a -time. For example, 10k would move up ten lines on the screen.

- -

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 y key (y stands for yank). Copying the current line is done by typing yy, and this can be prefixed with a number to yank more lines. Then, -move to the location for the copy and hit p. The text is pasted on -the line after the current one.

- -

Cutting text is done by typing dd, and p -can be used to paste the cut text back into the file. Reading in text from another file -is a simple procedure. Just type :r, 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 vi clones even contain filename completion similar to the -shell's.

- -

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.

- -

A simple search is accomplished by hitting the / key, followed -by the text that you are searching for. vi 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 vi to stop as well. For example, a -search for “the” will -cause vi to stop on “then”, “therefore”, and so on. This is because all of those -words do match “the”.

- -

After vi has found the first match, you can continue on to -the next match simply by hitting the / key followed by enter. You -can also search backwards through the file by replacing the slash with the ? key. For example, searching backwards through the file for -“the” would be -accomplished by typing ?the.

-
- -
-

16.2.2 Insert -Mode

- -

Inserting and replacing text is accomplished in insert mode. As previously discussed, -you can get into insert mode by hitting i from command mode. Then, -all text that you type is entered into the current buffer. Hitting the ESCAPE key takes you back into command mode.

- -

Replacing text is accomplished in several ways. From command mode, hitting r 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 R allows you -to replace as many characters as you'd like. To get out of this replacement mode, just -hit ESCAPE to go back into command mode.

- -

There is yet another way to toggle between insertion and replacement. Hitting the INSERT key from command mode will take you into insert mode. Once you -are in insert mode, the keyboard's INSERT 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.

-
-
- - - - - 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 @@ - - - - -Opening Files - - - - - - - - - - - -
-

16.3 Opening -Files

- -

vi allows you to open files from command mode as well as -specifying a file on the command line to open. To open the file /etc/lilo.conf:

- - - - - -
-
-:e /etc/lilo.conf
-
-
- -

If you have made changes to the current buffer without saving, vi will complain. You can still open the file without saving the -current buffer by typing :e!, followed by a space and the filename. -In general, vi's warnings can be suppressed by following the -command with an exclamation mark.

- -

If you want to reopen the current file, you can do so simply by typing e!. This is particularly useful if you have somehow messed up the file -and want to reopen it.

- -

Some vi clones (for example, vim) -allow for multiple buffers to be open at the same time. For example, to open up the file -09-vi.sgml in my home directory while another file was open, I -would type:

- - - - - -
-
-:split ~/09-vi.sgml
-
-
- -

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 Emacs 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.

-
- - - - - 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 @@ - - - - -Quitting vi - - - - - - - - - - - -
-

16.5 Quitting vi

- -

One way to quit vi is through :wq, -which will save the current buffer before quitting. You can also quit without saving with -:q or (more commonly) :q!. The latter is used -when you've modified the file but do not wish to save any changes to it.

- -

On occasion, your machine might crash or vi might crash. -However, both elvis and vim 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.

- -

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. elvis will -also send you a mail (from Graceland, oddly enough :) telling you that a backup copy -exists.

-
- - - - - 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 @@ - - - - -Saving Files - - - - - - - - - - - -
-

16.4 Saving -Files

- -

There are several ways to save files in vi. If you want to -save the current buffer to the file randomness, you would -type:

- - - - - -
-
-:w randomness
-
-
- -

Once you've saved the file once, saving it again is as simple as typing :w. 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 -vi (a very common operation), you would type :wq. That tells vi to save the current file -and quit back to the shell.

- -

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:

- - - - - -
-
-:w!
-
-
- -

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, vi 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 root or -(preferably) the owner of that file.

-
- - - - - 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 @@ - - - - -Vi - - - - - - - - - - -
-

Chapter 16 Vi

- -
-
-
Table of Contents
- -
16.1 Starting vi
- -
16.2 Modes
- -
16.3 Opening Files
- -
16.4 Saving Files
- -
16.5 Quitting vi
- -
16.6 vi Configuration
- -
16.7 Vi Keys
-
-
- -

vi(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 vi available, including vi, elvis, vile, -and vim. 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 vi. Still, it remains the most universal text -editor across Unix and Unix work-alikes. Mastering vi means you -should never be sitting at a Unix machine and not be comfortable with at least one -powerful text editor.

- -

vi 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.

- -

On Slackware Linux, the default version of vi available is -elvis. Other versions - including vim -and gvim - are available if you've installed the proper -packages. gvim is an X Window version of vim that includes toolbars, detachable menus, and dialog boxes.

- -
-

16.1 Starting vi

- -

vi can be started from the command line in a variety of ways. -The simplest form is just:

- - - - - -
-
-% vi
-
-
- -
-

Figure 16-1. A vi session.

- -

-
- -

This will start up vi with an empty buffer. At this point, -you'll see a mostly blank screen. It is now in “command mode”, waiting for -you to do something. For a discussion of the various vi modes, -see the Section 16.2. In order to quit out of vi, type the following:

- - - - - -
-
-:q
-
-
- -

Assuming that there have been no changes to the file, this will cause vi 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 “q” like -so:

- - - - - -
-
-:q!
-
-
- -

The exclamation point usually means to force some action. We'll discuss it and other -key combinations in further details later.

- -

You can also start vi with a pre-existing file. For example, -the file /etc/resolv.conf would be opened like so:

- - - - - -
-
-% vi /etc/resolv.conf
-
-
- -

Finally, vi 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 vi on line 47 -of /usr/src/linux/init/main.c like so:

- - - - - -
-
-% vi +47 /usr/src/linux/init/main.c
-
-
- -

vi 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, vi 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.

-
-
- - - - - diff --git a/slackbook/html/vi/vim-splitedit.png b/slackbook/html/vi/vim-splitedit.png deleted file mode 100644 index f1ce5ceb0..000000000 Binary files a/slackbook/html/vi/vim-splitedit.png and /dev/null 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 @@ - - - - -xdm - - - - - - - - - - - -
-

6.5 xdm

- -

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, xdm(1), kdm, and gdm(1).

- -

xdm is the graphical login manager shipped with the X.org -system. It's ubiquitous, but not as fully features as alternatives. kdm is the graphical login manager shipped with KDE, The K Desktop -Environment. Finally, gdm 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.

- -

Unfortunately, Slackware doesn't include a nice program like xwmconfig 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.

- -

In order to start X at boot, you need to boot into run-level 4. Run-levels are just a -way of telling init(8) to do something different when it starts -the OS. We do this by editing the config file for init, /etc/inittab.

- - - - - -
-
-# 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:
-
-
- -

In order to make Slackware boot to a graphical environment, we just change the 3 to a -4.

- - - - - -
-
-  # Default runlevel. (Do not set to 0 or 6)
-  id:4:initdefault:
-
-
- -

Now Slackware will boot into runlevel 4 and execute /etc/rc.d/rc.4. 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 rc.4.

- - - - - -
-
-  # 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
-
-
- -

As you can see here, rc.4 first checks to see if gdm is executable, and if so runs it. Second on the list is kdm, and finally xdm. One way of choosing a -login manager is to simply remove the ones you don't wish to use using removepkg. You can find out more about removepkg in Chapter 18.

- -

Optionally, you can remove the executable permission from those files that you don't -want to use. We discuss chmod in Chapter 9.

- - - - - -
-
-# chmod -x /usr/bin/gdm
-
-
- -

Finally, you can just comment out the lines for the login manager you don't want to -use.

- - - - - -
-
-  # 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
-
-
- -

Any lines preceded by the hash mark (#) are considered -comments and the shell silently passes them. Thus, even if gdm -is installed and executable, the shell (in this case bash) won't -bother checking for it.

-
- - - - - 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 @@ - - - - -xinitrc - - - - - - - - - - - -
-

6.3 -xinitrc

- -

xinit(1) is the program that actually starts X; it is called -by startx(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. xinit first checks your home directory for a .xinitrc file. If the file is found, it gets run; otherwise, /var/X11R6/lib/xinit/xinitrc (the systemwide default) is used. -Here's a simple xinitrc file:

- - - - - -
-
-#!/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 &
-xclock -geometry 50x50-1+1 &
-xterm -geometry 80x50+494+51 &
-xterm -geometry 80x20+494-0 &
-exec xterm -geometry 80x66+0+0 -name login
-
-
- -

All of those “if” 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 twm(1) window manager, a clock, and three terminals. Note the exec before the last xterm. What that does -is replace the currently running shell (the one that's executing this xinitrc script) with that xterm(1) -command. When the user quits that xterm, the X session will -end.

- -

To customize your X startup, copy the default /var/X11R6/lib/xinit/xinitrc to ~/.xinitrc and edit it, replacing those program lines with whatever -you like. The end of mine is simply:

- - - - - -
-
-# Start the window manager:
-exec startkde
-
-
- -

Note that there are several xinitrc.* files in /var/X11R6/lib/xinit that correspond to various window managers and -GUIs. You can use any of those, if you like.

-
- - - - - 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 @@ - - - - -xorgsetup - - - - - - - - - - - -
-

6.2 -xorgsetup

- -

The second way to configure X is to use xorgsetup, an -automagical configuration program that comes with Slackware.

- -

To run xorgsetup, log in as root and type:

- - - - - -
-
-# xorgsetup
-
-
- -

If you've already got an /etc/X11/xorg.conf 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 /etc/X11/xorg.conf.backup.

-
- - - - - 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 @@ - - - - -xwmconfig - - - - - - - - - - - -
-

6.4 -xwmconfig

- -

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 “look and -feel”, 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.

- -

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.

- -

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.

- -

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.

- -

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.

- -

To make desktop selection easy, Slackware also includes a program called xwmconfig that can be used to select a desktop or window manager. It -is run like so:

- - - - - -
-
-% xwmconfig
-
-
- -
-

Figure 6-5. Desktop Configuration with xorgconfig

- -

-
- -

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.

- -

Then just start up X, and you're good to go.

-
- - - - - 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 @@ - - - - -X Configuration - - - - - - - - - - -
-

Chapter 6 X Configuration

- -
-
-
Table of Contents
- -
6.1 xorgconfig
- -
6.2 xorgsetup
- -
6.3 xinitrc
- -
6.4 xwmconfig
- -
6.5 xdm
-
-
- -

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.

- -

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.

- -

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 startx command right out of the box.

- -

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.

- -

To configure X, you'll need to make an /etc/X11/xorg.conf -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.

- -
-

6.1 xorgconfig

- -

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 /etc/X11/xorg.conf file should be a good starting -point for most systems (and should work without modification).

- -

This is a text-based X configuration program that's designed for the advanced system -administrator. Here's a sample walkthrough using xorgconfig. -First, start the program:

- - - - - -
-
-# xorgconfig
-
-
- -

This will present a screenful of information about xorgconfig. To continue, press ENTER. -xorgconfig will ask you to verify you have set your PATH correctly. It should be fine, so go ahead and hit ENTER.

- -
-

Figure 6-1. xorgconfig Mouse Configuration

- -

-
- -

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 xorgconfig will ask you about using ChordMiddle and Emulate3Buttons. 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 (Emulate3Buttons lets you simulate the middle button by pressing both -buttons simultaneously). Then, enter the name of your mouse device. The default choice, -/dev/mouse, 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 /dev/gpmdata to have X get information -about the mouse through gpm. In some cases (with busmice -especially) this can work better, but most users shouldn't do this.

- -

xorgconfig will ask you about enabling special key bindings. -If you need this say “y”. Most users can say -“n” -- enter this if you're not sure.

- -
-

Figure 6-2. xorgconfig Horizontal Sync

- -

-
- -

In the next section you enter the sync range for your monitor. To start configuring -your monitor, press ENTER. 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.

- -
-

Figure 6-3. xorgconfig Vertical Sync

- -

-
- -

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 xorg.conf file. Enter anything you like on these 3 lines -(including nothing at all).

- -
-

Figure 6-4. xorgconfig Video Card

- -

-
- -

Now you have the opportunity to look at the database of video card types. You'll want -to do this, so say “y”, 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.

- -

Next, tell xorgconfig how much RAM you have on your video -card. xorgconfig will want you to enter some more descriptive -text about your video card. If you like, you can enter descriptions on these three -lines.

- -

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 /etc/X11/xorg.conf file and rearrange the modes so 1024x768 (or -whatever mode you like) is the default.

- -

At this point, the xorgconfig 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 startx command.

-
-
- - - - - 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 Binary files a/slackbook/html/x-window-system/xorgconfig1-w.png and /dev/null 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 Binary files a/slackbook/html/x-window-system/xorgconfig2-w.png and /dev/null 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 Binary files a/slackbook/html/x-window-system/xorgconfig3-w.png and /dev/null 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 Binary files a/slackbook/html/x-window-system/xorgconfig4-w.png and /dev/null 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 Binary files a/slackbook/html/x-window-system/xwmconfig-w.png and /dev/null 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 @@ - - - - -Booting ZipSlack - - - - - - - - - - - -
-

19.3 Booting -ZipSlack

- -

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.

- -

Start by opening the C:\LINUX\LINUX.BAT 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 root= 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.

- -

After you uncomment the line you want by removing the “rem” at the -beginning of the line, save the file and exit the editor. Bring your machine into DOS -mode.

- -

A DOS prompt window in Windows 9x will NOT work.

- -

Type C:\LINUX\LINUX.BAT to boot the system. If all goes well, -you should be presented with a login prompt.

- -

Log in as root, 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.

- -

If using the LINUX.BAT file to boot the system didn't work -for you, you should refer to the included C:\LINUX\README.1ST -file for other ways to boot.

-
- - - - - 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 @@ - - - - -Getting ZipSlack - - - - - - - - - - - -
-

19.2 Getting -ZipSlack

- -

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 zipslack 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.

- -

If you want to download ZipSlack, you should first visit our “Get Slack” -web page for the latest download information:

- -

http://www.slackware.com/getslack/

- -

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:

- -

ftp://ftp.slackware.com/pub/slackware/slackware/

- -

You'll find ZipSlack in the /zipslack subdirectory. ZipSlack -is offered as one big .ZIP file or floppy-sized chunks. The -chunks are in the /zipslack/split directory.

- -

Don't stop at just the .ZIP files. You should also download -the documentation files and any boot images that appear in the directory.

- -
-

19.2.1 -Installation

- -

Once you've downloaded the necessary components, you'll need to extract the .ZIP 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.

- -

ZipSlack is designed to be extracted directly to the root directory of a drive (such -as C: or D:). A \LINUX 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.

- -

After you've extracted the files, you should have a \LINUX -directory on the drive of your choosing (we'll use C: from -here on).

-
-
- - - - - 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 @@ - - - - -ZipSlack - - - - - - - - - - -
-

Chapter 19 ZipSlack

- -
-
-
Table of Contents
- -
19.1 What is ZipSlack?
- -
19.2 Getting ZipSlack
- -
19.3 Booting ZipSlack
-
-
- -
-

19.1 What is -ZipSlack?

- -

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.

- -

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.

- -

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.

- -

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.

- -
-

19.1.1 -Advantages

- -
    -
  • -

    Does not require repartitioning of your hard disk.

    -
  • - -
  • -

    Great way to learn Slackware Linux without stumbling through the installation -process.

    -
  • -
-
- -
-

19.1.2 -Disadvantages

- -
    -
  • -

    Uses the DOS filesystem, which is slower than a native Linux filesystem.

    -
  • - -
  • -

    Will not work with Windows NT.

    -
  • -
-
-
-
- - - - - diff --git a/slackbook/slackbook-2.0.pdf b/slackbook/slackbook-2.0.pdf deleted file mode 100644 index 8961f55f4..000000000 Binary files a/slackbook/slackbook-2.0.pdf and /dev/null 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[36 -46 128 173 520 I[29 32 123 159 -520 I[36 46 126 -173 520 I[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[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[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[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[47 54 121 180 813 I[47 -74 124 201 813 I[55 81 -125 179 813 I[54 73 125 200 813 -I[<143C147E14FF497FA46D90C8FC147E143C91C9FCAD001FB5FC48805AA37E7EC7123F -B3B3003FB612FE4881B81280A36C16006C5D>41 74 118 201 813 -I[55 73 125 200 813 107 D[<003FB57E4880B6FCA37E7EC7121FB3B3 -B3A5003FB712E04816F0B812F8A36C16F06C16E0>45 73 120 200 -813 I[60 -52 128 179 813 I[54 52 125 179 813 I[46 54 121 180 813 I[52 79 125 -179 813 I[56 -79 123 179 813 I[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[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[ -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[38 -58 124 184 627 I[30 57 119 -184 627 I[36 57 123 184 627 I[38 58 124 184 627 I[40 57 125 184 627 I[<000FB6FC481580A416000180C8FCAEEB83FE90389FFFC0 -90B512F08181819038FE03FFD9F000138049133F0180EB1FC0150F6CC713E0C81207A216 -F01503A4123C127EB4FC150716E0150F5A007EEC1FC0007F143F6DEB7F803A3FC001FF00 -391FF80FFE90B55A6C5C00035C6C14C06C6C90C7FCEB0FF8>36 57 -123 183 627 I[36 58 123 184 627 I[<1278B712F816FCA416F800FCC7EA07F0ED0FE0ED1FC000 -78EC3F80C8FCED7F0015FE4A5A5D14034A5A5D140F5D141F5D143F92C7FC5C147E14FE5C -A213015CA2495AA313075CA3130F5CA5131F5CAA6DC8FC>38 58 -124 184 627 I[38 -58 124 184 627 I[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[40 56 125 183 627 75 D[<387FFFF080B5FCA27E5CD801F8C8 -FCB3B0161E163FA9007FB7FCA2B8FCA27E16FE>40 56 125 183 -627 I[44 56 127 183 627 I[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[42 57 126 183 627 I[44 57 127 -183 627 I[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[41 42 123 168 627 I[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[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[42 56 126 183 627 I[33 57 -121 184 627 I[28 78 124 184 627 I[43 56 126 183 627 I[<387FFFF080B5FCA27EA2EA -0001B3B3A8007FB612E0A2B712F0A26C15E0A2>36 56 123 183 -627 I[<903901F801F83A7F8FFC0FFC3AFFDFFE1FFE90B5487E92B51280A23A7FFE1FFE -1F3B07FC0FFC0FC001F813F89039F007F00701E013E0A301C013C0B3A33B7FFC3FFC3FFC -D8FFFE01FE13FE027F137FA2023F133FD87FFC01FC13FC>47 40 -128 167 627 I[42 -40 126 167 627 I[36 42 123 168 -627 I[41 60 126 167 627 I[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[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[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. selects submenus --->.) show -34 280 PanelFont (Highlighted letters and hotkeys. Pressing includes, excludes,) show -34 266 PanelFont ( modularizes features. Press to exit, for help) show -34 252 PanelFont (Legend: [ * ] built-in [ ] excluded 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