diff --git a/ChangeLog.txt b/ChangeLog.txt index 3aeaae102..06244c947 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,4493 @@ +Fri May 25 23:29:36 UTC 2018 +patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz: Rebuilt. + Handle removal of US/Pacific-New timezone. If we see that the machine is + using this, it will be automatically switched to US/Pacific. ++--------------------------+ +Thu May 17 04:13:16 UTC 2018 +patches/packages/curl-7.60.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes: + FTP: shutdown response buffer overflow + RTSP: bad headers buffer over-read + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000300 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000301 + (* Security fix *) +patches/packages/php-5.6.36-x86_64-1_slack14.0.txz: Upgraded. + This fixes many bugs, including some security issues: + Heap Buffer Overflow (READ: 1786) in exif_iif_add_value + stream filter convert.iconv leads to infinite loop on invalid sequence + Malicious LDAP-Server Response causes crash + fix for CVE-2018-5712 may not be complete + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10549 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10546 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10548 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10547 + (* Security fix *) ++--------------------------+ +Thu May 10 01:24:19 UTC 2018 +patches/packages/glibc-zoneinfo-2018e-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/wget-1.19.5-x86_64-1_slack14.0.txz: Upgraded. + Fixed a security issue where a malicious web server could inject arbitrary + cookies into the cookie jar file. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0494 + (* Security fix *) ++--------------------------+ +Fri May 4 19:40:52 UTC 2018 +patches/packages/python-2.7.15-x86_64-1_slack14.0.txz: Upgraded. + Updated to the latest 2.7.x release. + This fixes some security issues in difflib and poplib (regexes vulnerable + to denial of service attacks), as well as security issues with the bundled + expat library. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0876 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5300 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9063 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1060 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1061 + (* Security fix *) ++--------------------------+ +Mon Apr 30 22:35:43 UTC 2018 +patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txz: Rebuilt. + Patched denial of service and possible execution of arbitrary code + security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0941 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-3376 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0455 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2756 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3472 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3473 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3477 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3546 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0848 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4588 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4695 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4696 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10167 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10168 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9011 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9317 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6362 + (* Security fix *) ++--------------------------+ +Fri Apr 27 03:58:48 UTC 2018 +patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txz: Upgraded. + This is a security update fixing a potential double-free() in Interactive + Service. This usually only leads to a process crash (DoS by an unprivileged + local account) but since it could possibly lead to memory corruption if + happening while multiple other threads are active at the same time, + CVE-2018-9336 has been assigned to acknowledge this risk. + For more information, see: + https://github.com/OpenVPN/openvpn/commit/1394192b210cb3c6624a7419bcf3ff966742e79b + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9336 + (* Security fix *) ++--------------------------+ +Fri Apr 6 20:47:43 UTC 2018 +patches/packages/patch-2.7.6-x86_64-1_slack14.0.txz: Upgraded. + Fix arbitrary shell execution possible with obsolete ed format patches. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000156 + (* Security fix *) ++--------------------------+ +Sun Apr 1 19:45:12 UTC 2018 +patches/packages/libidn-1.34-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues: + Fix integer overflow in combine_hangul() + Fix integer overflow in punycode decoder + Fix NULL pointer dereference in g_utf8_normalize() + Fix NULL pointer dereference in stringprep_ucs4_nfkc_normalize() + (* Security fix *) ++--------------------------+ +Sun Apr 1 02:53:26 UTC 2018 +patches/packages/php-5.6.35-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where sensitive data belonging to other + accounts might be accessed by a local user. + For more information, see: + http://bugs.php.net/75605 + (* Security fix *) ++--------------------------+ +Fri Mar 23 22:28:20 UTC 2018 +patches/packages/glibc-zoneinfo-2018d-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Sun Mar 18 00:55:39 UTC 2018 +patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txz: Upgraded. + This release fixes security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14632 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14633 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5146 + (* Security fix *) ++--------------------------+ +Fri Mar 16 02:29:29 UTC 2018 +patches/packages/curl-7.59.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues: + FTP path trickery leads to NIL byte out of bounds write + LDAP NULL pointer dereference + RTSP RTP buffer over-read + For more information, see: + https://curl.haxx.se/docs/adv_2018-9cd6.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000120 + https://curl.haxx.se/docs/adv_2018-97a2.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000121 + https://curl.haxx.se/docs/adv_2018-b047.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000122 + (* Security fix *) ++--------------------------+ +Tue Mar 13 21:12:51 UTC 2018 +patches/packages/samba-4.4.16-x86_64-3_slack14.0.txz: Rebuilt. + This is a security update in order to patch the following defect: + On a Samba 4 AD DC the LDAP server in all versions of Samba from + 4.0.0 onwards incorrectly validates permissions to modify passwords + over LDAP allowing authenticated users to change any other users` + passwords, including administrative users. + For more information, see: + https://www.samba.org/samba/security/CVE-2018-1057.html + https://wiki.samba.org/index.php/CVE-2018-1057 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1057 + (* Security fix *) ++--------------------------+ +Thu Mar 8 07:07:45 UTC 2018 +patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txz: Rebuilt. + sftp-server: in read-only mode, sftp-server was incorrectly permitting + creation of zero-length files. Reported by Michal Zalewski. + Thanks to arny (of Bluewhite64 fame) for the heads-up. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15906 + (* Security fix *) +patches/packages/php-5.6.34-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a stack buffer overflow vulnerability. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7584 + (* Security fix *) ++--------------------------+ +Thu Mar 1 23:24:54 UTC 2018 +patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two security issues: + Corrected an issue where large sized 'X/x' format options were causing + option handling logic to overwrite memory when expanding them to human + readable form. Reported by Felix Wilhelm, Google Security Team. + Option reference count was not correctly decremented in error path + when parsing buffer for options. Reported by Felix Wilhelm, Google + Security Team. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5732 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5733 + (* Security fix *) +patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txz: Upgraded. + This release addresses five security issues in ntpd: + * LOW/MEDIUM: Sec 3012 / CVE-2016-1549 / VU#961909: Sybil vulnerability: + ephemeral association attack. While fixed in ntp-4.2.8p7, there are + significant additional protections for this issue in 4.2.8p11. + Reported by Matt Van Gundy of Cisco. + * INFO/MEDIUM: Sec 3412 / CVE-2018-7182 / VU#961909: ctl_getitem(): buffer + read overrun leads to undefined behavior and information leak. + Reported by Yihan Lian of Qihoo 360. + * LOW: Sec 3415 / CVE-2018-7170 / VU#961909: Multiple authenticated + ephemeral associations. Reported on the questions@ list. + * LOW: Sec 3453 / CVE-2018-7184 / VU#961909: Interleaved symmetric mode + cannot recover from bad state. Reported by Miroslav Lichvar of Red Hat. + * LOW/MEDIUM: Sec 3454 / CVE-2018-7185 / VU#961909: Unauthenticated packet + can reset authenticated interleaved association. + Reported by Miroslav Lichvar of Red Hat. + For more information, see: + http://support.ntp.org/bin/view/Main/SecurityNotice#February_2018_ntp_4_2_8p11_NTP_S + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1549 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7182 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7170 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7184 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7185 + (* Security fix *) ++--------------------------+ +Sat Feb 24 07:41:40 UTC 2018 +patches/packages/wget-1.19.4-x86_64-2_slack14.0.txz: Rebuilt. + Applied upstream patch to fix logging in background mode. + Thanks to Willy Sudiarto Raharjo. ++--------------------------+ +Fri Feb 16 03:19:36 UTC 2018 +patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + https://irssi.org/security/html/irssi_sa_2018_02 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7054 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7053 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7050 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7052 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7051 + (* Security fix *) ++--------------------------+ +Sun Feb 4 05:13:27 UTC 2018 +patches/packages/php-5.6.33-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues, including: + Potential infinite loop in gdImageCreateFromGifCtx. + Reflected XSS in .phar 404 page. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5711 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5712 + (* Security fix *) ++--------------------------+ +Thu Feb 1 18:24:15 UTC 2018 +patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two security issues: + Fixed a buffer overrun in the protocol's handling of xattr names and + ensure that the received name is null terminated. + Fix an issue with --protect-args where the user could specify the arg in + the protected-arg list and short-circuit some of the arg-sanitizing code. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16548 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5764 + (* Security fix *) ++--------------------------+ +Thu Jan 25 02:24:04 UTC 2018 +patches/packages/curl-7.58.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues: + HTTP authentication leak in redirects + HTTP/2 trailer out-of-bounds read + For more information, see: + https://curl.haxx.se/docs/adv_2018-b3bf.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000007 + https://curl.haxx.se/docs/adv_2018-824a.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000005 + (* Security fix *) ++--------------------------+ +Wed Jan 24 04:21:44 UTC 2018 +patches/packages/glibc-zoneinfo-2018c-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Mon Jan 22 22:47:47 UTC 2018 +patches/packages/wget-1.19.4-x86_64-1_slack14.0.txz: Upgraded. + More bug fixes: + A major bug that caused GZip'ed pages to never be decompressed has been fixed + Support for Content-Encoding and Transfer-Encoding have been marked as + experimental and disabled by default ++--------------------------+ +Sat Jan 20 16:00:51 UTC 2018 +patches/packages/wget-1.19.3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes various non-security bugs, including this one: + Prevent erroneous decompression of .gz and .tgz files with broken servers. ++--------------------------+ +Wed Jan 17 21:36:23 UTC 2018 +patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a high severity security issue: + Improper sequencing during cleanup can lead to a use-after-free error, + triggering an assertion failure and crash in named. + For more information, see: + https://kb.isc.org/article/AA-01542 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3145 + (* Security fix *) ++--------------------------+ +Mon Jan 15 23:13:01 UTC 2018 +patches/packages/linux-3.2.98/*: Upgraded. + This kernel includes mitigations for the Spectre (variant 2) and Meltdown + speculative side channel attacks. + Be sure to upgrade your initrd after upgrading the kernel packages. + If you use lilo to boot your machine, be sure lilo.conf points to the correct + kernel and initrd and run lilo as root to update the bootloader. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5715 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5754 + (* Security fix *) ++--------------------------+ +Tue Jan 9 00:54:19 UTC 2018 +patches/packages/irssi-1.0.6-x86_64-1_slack14.0.txz: Upgraded. + This update fixes multiple security vulnerabilities. + For more information, see: + https://irssi.org/security/irssi_sa_2018_01.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5205 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5206 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5207 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5208 + (* Security fix *) ++--------------------------+ +Mon Dec 25 00:00:16 UTC 2017 +patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Wed Nov 29 21:48:33 UTC 2017 +patches/packages/curl-7.57.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues: + SSL out of buffer access + FTP wildcard out of bounds read + NTLM buffer overflow via integer overflow + For more information, see: + https://curl.haxx.se/docs/adv_2017-af0a.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8818 + https://curl.haxx.se/docs/adv_2017-ae72.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8817 + https://curl.haxx.se/docs/adv_2017-12e7.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8816 + (* Security fix *) ++--------------------------+ +Wed Nov 29 08:15:09 UTC 2017 +patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txz: Upgraded. + Fix heap overflows when parsing malicious files. (CVE-2017-16612) + It is possible to trigger heap overflows due to an integer overflow + while parsing images and a signedness issue while parsing comments. + The integer overflow occurs because the chosen limit 0x10000 for + dimensions is too large for 32 bit systems, because each pixel takes + 4 bytes. Properly chosen values allow an overflow which in turn will + lead to less allocated memory than needed for subsequent reads. + The signedness bug is triggered by reading the length of a comment + as unsigned int, but casting it to int when calling the function + XcursorCommentCreate. Turning length into a negative value allows the + check against XCURSOR_COMMENT_MAX_LEN to pass, and the following + addition of sizeof (XcursorComment) + 1 makes it possible to allocate + less memory than needed for subsequent reads. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16612 + (* Security fix *) +patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txz: Rebuilt. + Open files with O_NOFOLLOW. (CVE-2017-16611) + A non-privileged X client can instruct X server running under root + to open any file by creating own directory with "fonts.dir", + "fonts.alias" or any font file being a symbolic link to any other + file in the system. X server will then open it. This can be issue + with special files such as /dev/watchdog (which could then reboot + the system). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16611 + (* Security fix *) ++--------------------------+ +Tue Nov 28 06:20:03 UTC 2017 +patches/packages/samba-4.4.16-x86_64-2_slack14.0.txz: Rebuilt. + This is a security update in order to patch the following defects: + CVE-2017-14746 (Use-after-free vulnerability.) + All versions of Samba from 4.0.0 onwards are vulnerable to a use after + free vulnerability, where a malicious SMB1 request can be used to + control the contents of heap memory via a deallocated heap pointer. It + is possible this may be used to compromise the SMB server. + CVE-2017-15275 (Server heap memory information leak.) + All versions of Samba from 3.6.0 onwards are vulnerable to a heap + memory information leak, where server allocated heap memory may be + returned to the client without being cleared. + For more information, see: + https://www.samba.org/samba/security/CVE-2017-14746.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14746 + https://www.samba.org/samba/security/CVE-2017-15275.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15275 + (* Security fix *) ++--------------------------+ +Fri Oct 27 20:34:35 UTC 2017 +patches/packages/php-5.6.32-x86_64-1_slack14.0.txz: Upgraded. + Several security bugs were fixed in this release: + Out of bounds read in timelib_meridian(). + The arcfour encryption stream filter crashes PHP. + Applied upstream patch for PCRE (CVE-2016-1283). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1283 + (* Security fix *) +patches/packages/wget-1.19.2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes stack and heap overflows in in HTTP protocol handling. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13089 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13090 + (* Security fix *) ++--------------------------+ +Wed Oct 25 19:09:26 UTC 2017 +patches/packages/glibc-zoneinfo-2017c-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/irssi-1.0.5-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some remote denial of service issues. + For more information, see: + https://irssi.org/security/irssi_sa_2017_10.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15228 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15227 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15721 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15723 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15722 + (* Security fix *) +patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txz: Upgraded. + This has a bugfix related to setting the location: + https://bugzilla.xfce.org/show_bug.cgi?id=13877 ++--------------------------+ +Tue Oct 24 05:31:18 UTC 2017 +patches/packages/curl-7.56.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue: + IMAP FETCH response out of bounds read may cause a crash or information leak. + For more information, see: + https://curl.haxx.se/docs/adv_20171023.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000257 + (* Security fix *) ++--------------------------+ +Wed Oct 18 18:21:18 UTC 2017 +patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txz: Upgraded. + This update includes patches to mitigate the WPA2 protocol issues known + as "KRACK" (Key Reinstallation AttaCK), which may be used to decrypt data, + hijack TCP connections, and to forge and inject packets. This is the + list of vulnerabilities that are addressed here: + CVE-2017-13077: Reinstallation of the pairwise encryption key (PTK-TK) in the + 4-way handshake. + CVE-2017-13078: Reinstallation of the group key (GTK) in the 4-way handshake. + CVE-2017-13079: Reinstallation of the integrity group key (IGTK) in the 4-way + handshake. + CVE-2017-13080: Reinstallation of the group key (GTK) in the group key + handshake. + CVE-2017-13081: Reinstallation of the integrity group key (IGTK) in the group + key handshake. + CVE-2017-13082: Accepting a retransmitted Fast BSS Transition (FT) + Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) + while processing it. + CVE-2017-13084: Reinstallation of the STK key in the PeerKey handshake. + CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS) + PeerKey (TPK) key in the TDLS handshake. + CVE-2017-13087: reinstallation of the group key (GTK) when processing a + Wireless Network Management (WNM) Sleep Mode Response frame. + CVE-2017-13088: reinstallation of the integrity group key (IGTK) when + processing a Wireless Network Management (WNM) Sleep Mode Response frame. + For more information, see: + https://www.krackattacks.com/ + https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13077 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13078 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13079 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13080 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13081 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13082 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13084 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13086 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13087 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13088 + (* Security fix *) +patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txz: Rebuilt. + This update fixes integer overflows and other possible security issues. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12176 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12183 + (* Security fix *) +patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txz: Rebuilt. ++--------------------------+ +Fri Oct 6 06:32:32 UTC 2017 +patches/packages/curl-7.56.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue: + libcurl may read outside of a heap allocated buffer when doing FTP. + For more information, see: + https://curl.haxx.se/docs/adv_20171004.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000254 + (* Security fix *) +patches/packages/xorg-server-1.12.4-x86_64-4_slack14.0.txz: Rebuilt. + This update fixes a security issue: + Generating strings for XKB data used a single shared static buffer, + which offered several opportunities for errors. Use a ring of + resizable buffers instead, to avoid problems when strings end up + longer than anticipated. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13723 + (* Security fix *) +patches/packages/xorg-server-xephyr-1.12.4-x86_64-4_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.12.4-x86_64-4_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.12.4-x86_64-4_slack14.0.txz: Rebuilt. ++--------------------------+ +Mon Oct 2 17:16:06 UTC 2017 +patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and remotely exploitable security issues that may + have impacts including denial of service, information leak, and execution + of arbitrary code. Thanks to Felix Wilhelm, Fermin J. Serna, Gabriel Campana, + Kevin Hamacher, Ron Bowes, and Gynvael Coldwind of the Google Security Team. + For more information, see: + https://security.googleblog.com/2017/10/behind-masq-yet-more-dns-and-dhcp.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13704 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14491 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14492 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14493 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14494 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14495 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14496 + (* Security fix *) ++--------------------------+ +Thu Sep 28 05:31:20 UTC 2017 +patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txz: Rebuilt. + Patched integer overflows in operations/external/ppm-load.c that could allow + a denial of service (application crash) or possibly the execution of + arbitrary code via a large width or height value in a ppm image. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4433 + (* Security fix *) ++--------------------------+ +Sat Sep 23 01:02:32 UTC 2017 +patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txz: Upgraded. + This release fixes some security issues: + Detect infinite recursion in parameter entities (Nick Wellnhofer), + Fix handling of parameter-entity references (Nick Wellnhofer), + Disallow namespace nodes in XPointer ranges (Nick Wellnhofer), + Fix XPointer paths beginning with range-to (Nick Wellnhofer). + (* Security fix *) +patches/packages/python-2.7.14-x86_64-1_slack14.0.txz: Upgraded. + Updated to the latest 2.7.x release. + This fixes some security issues related to the bundled expat library. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9063 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233 + (* Security fix *) ++--------------------------+ +Thu Sep 21 01:23:24 UTC 2017 +patches/packages/samba-4.4.16-x86_64-1_slack14.0.txz: Upgraded. + This is a security release in order to address the following defects: + SMB1/2/3 connections may not require signing where they should. A man in the + middle attack may hijack client connections. + SMB3 connections don't keep encryption across DFS redirects. A man in the + middle attack can read and may alter confidential documents transferred via + a client connection, which are reached via DFS redirect when the original + connection used SMB3. + Server memory information leak over SMB1. Client with write access to a share + can cause server memory contents to be written into a file or printer. + For more information, see: + https://www.samba.org/samba/security/CVE-2017-12150.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12150 + https://www.samba.org/samba/security/CVE-2017-12151.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12151 + https://www.samba.org/samba/security/CVE-2017-12163.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12163 + (* Security fix *) ++--------------------------+ +Mon Sep 18 19:15:03 UTC 2017 +patches/packages/httpd-2.4.27-x86_64-2_slack14.0.txz: Rebuilt. + This update patches a security issue ("Optionsbleed") with the OPTIONS http + method which may leak arbitrary pieces of memory to a potential attacker. + Thanks to Hanno Bo:ck. + For more information, see: + http://seclists.org/oss-sec/2017/q3/477 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9798 + (* Security fix *) ++--------------------------+ +Fri Sep 15 17:31:57 UTC 2017 +patches/packages/bluez-4.99-x86_64-3_slack14.0.txz: Rebuilt. + Fixed an information disclosure vulnerability which allows remote attackers + to obtain sensitive information from the bluetoothd process memory. This + vulnerability lies in the processing of SDP search attribute requests. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000250 + (* Security fix *) ++--------------------------+ +Tue Sep 12 22:18:51 UTC 2017 +patches/packages/emacs-25.3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security vulnerability in Emacs. Gnus no longer + supports "richtext" and "enriched" inline MIME objects. This support + was disabled to avoid evaluation of arbitrary Lisp code contained in + email messages and news articles. + For more information, see: + http://seclists.org/oss-sec/2017/q3/422 + https://bugs.gnu.org/28350 + (* Security fix *) ++--------------------------+ +Fri Sep 8 17:56:01 UTC 2017 +patches/packages/bash-4.2.053-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes two security issues found in bash before 4.4: + The expansion of '\h' in the prompt string allows remote authenticated users + to execute arbitrary code via shell metacharacters placed in 'hostname' of a + machine. The theoretical attack vector is a hostile DHCP server providing a + crafted hostname, but this is unlikely to occur in a normal Slackware + configuration as we ignore the hostname provided by DHCP. + Specially crafted SHELLOPTS+PS4 environment variables used against bogus + setuid binaries using system()/popen() allowed local attackers to execute + arbitrary code as root. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0634 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7543 + (* Security fix *) +patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and many security issues (see the included + CHANGES file). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11541 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11541 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11542 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11542 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11543 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11543 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12893 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12894 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12895 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12896 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12897 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12898 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12899 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12900 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12901 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12902 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12985 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12986 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12987 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12988 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12989 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12990 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12991 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12992 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12993 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12994 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12995 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12996 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12997 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12998 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12999 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13000 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13001 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13002 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13003 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13004 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13005 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13006 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13007 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13008 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13009 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13010 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13011 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13012 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13013 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13014 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13015 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13016 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13017 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13018 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13019 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13020 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13021 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13022 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13023 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13024 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13025 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13026 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13027 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13028 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13029 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13030 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13031 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13032 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13033 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13034 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13035 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13036 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13037 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13038 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13039 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13040 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13041 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13042 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13043 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13044 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13045 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13046 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13047 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13048 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13049 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13050 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13051 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13052 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13053 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13054 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13055 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13687 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13688 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13689 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13690 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13725 + (* Security fix *) ++--------------------------+ +Tue Aug 15 22:16:12 UTC 2017 +patches/packages/xorg-server-1.12.4-x86_64-3_slack14.0.txz: Rebuilt. + This update fixes two security issues: + A user authenticated to an X Session could crash or execute code in the + context of the X Server by exploiting a stack overflow in the endianness + conversion of X Events. + Uninitialized data in endianness conversion in the XEvent handling of the + X.Org X Server allowed authenticated malicious users to access potentially + privileged data from the X server. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10971 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10972 + (* Security fix *) +patches/packages/xorg-server-xephyr-1.12.4-x86_64-3_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.12.4-x86_64-3_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.12.4-x86_64-3_slack14.0.txz: Rebuilt. ++--------------------------+ +Fri Aug 11 23:02:43 UTC 2017 +patches/packages/git-2.14.1-x86_64-1_slack14.0.txz: Upgraded. + Fixes security issues: + A "ssh://..." URL can result in a "ssh" command line with a hostname that + begins with a dash "-", which would cause the "ssh" command to instead + (mis)treat it as an option. This is now prevented by forbidding such a + hostname (which should not impact any real-world usage). + Similarly, when GIT_PROXY_COMMAND is configured, the command is run with + host and port that are parsed out from "ssh://..." URL; a poorly written + GIT_PROXY_COMMAND could be tricked into treating a string that begins with a + dash "-" as an option. This is now prevented by forbidding such a hostname + and port number (again, which should not impact any real-world usage). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000117 + (* Security fix *) +patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txz: Upgraded. + Fixes security issues: + Mercurial's symlink auditing was incomplete prior to 4.3, and could + be abused to write to files outside the repository. + Mercurial was not sanitizing hostnames passed to ssh, allowing + shell injection attacks on clients by specifying a hostname starting + with -oProxyCommand. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000115 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000116 + (* Security fix *) +patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txz: Rebuilt. + Fixed client side arbitrary code execution vulnerability. + For more information, see: + https://subversion.apache.org/security/CVE-2017-9800-advisory.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9800 + (* Security fix *) ++--------------------------+ +Wed Aug 9 20:23:16 UTC 2017 +patches/packages/curl-7.55.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes three security issues: + URL globbing out of bounds read + TFTP sends more than buffer size + FILE buffer read out of bounds + For more information, see: + https://curl.haxx.se/docs/adv_20170809A.html + https://curl.haxx.se/docs/adv_20170809B.html + https://curl.haxx.se/docs/adv_20170809C.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000101 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000100 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000099 + (* Security fix *) ++--------------------------+ +Wed Aug 2 03:43:51 UTC 2017 +patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txz: Upgraded. + Mitigate a flush+reload side-channel attack on RSA secret keys dubbed + "Sliding right into disaster". + For more information, see: + https://eprint.iacr.org/2017/627 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7526 + (* Security fix *) ++--------------------------+ +Tue Jul 25 21:09:42 UTC 2017 +patches/packages/bind-9.9.10_P3-x86_64-1_slack14.0.txz: Upgraded. + Fix a regression in the previous BIND release that broke verification + of TSIG signed TCP message sequences where not all the messages contain + TSIG records. ++--------------------------+ +Mon Jul 24 19:59:34 UTC 2017 +patches/packages/tcpdump-4.9.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes an issue where tcpdump 4.9.0 allows remote attackers + to cause a denial of service (heap-based buffer over-read and application + crash) via crafted packet data. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11108 + (* Security fix *) ++--------------------------+ +Tue Jul 18 23:10:25 UTC 2017 +patches/packages/expat-2.2.2-x86_64-1_slack14.0.txz: Upgraded. + Fixes security issues including: + External entity infinite loop DoS + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233 + https://libexpat.github.io/doc/cve-2017-9233/ + (* Security fix *) ++--------------------------+ +Fri Jul 14 22:11:58 UTC 2017 +patches/packages/samba-4.4.15-x86_64-1_slack14.0.txz: Upgraded. + This update fixes an authentication validation bypass security issue: + "Orpheus' Lyre mutual authentication validation bypass" + All versions of Samba from 4.0.0 onwards using embedded Heimdal + Kerberos are vulnerable to a man-in-the-middle attack impersonating + a trusted server, who may gain elevated access to the domain by + returning malicious replication or authorization data. + Samba binaries built against MIT Kerberos are not vulnerable. + For more information, see: + https://www.samba.org/samba/security/CVE-2017-11103.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11103 + (* Security fix *) ++--------------------------+ +Thu Jul 13 18:19:01 UTC 2017 +patches/packages/httpd-2.4.27-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two security issues: + Read after free in mod_http2 (CVE-2017-9789) + Uninitialized memory reflection in mod_auth_digest (CVE-2017-9788) + Thanks to Robert Swiecki for reporting these issues. + For more information, see: + https://httpd.apache.org/security/vulnerabilities_24.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9789 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9788 + (* Security fix *) ++--------------------------+ +Sun Jul 9 20:38:08 UTC 2017 +patches/packages/irssi-1.0.4-x86_64-1_slack14.0.txz: Upgraded. + This release fixes two remote crash issues as well as a few bugs. + For more information, see: + https://irssi.org/security/irssi_sa_2017_07.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10965 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10966 + (* Security fix *) ++--------------------------+ +Sat Jul 8 00:11:34 UTC 2017 +patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txz: Upgraded. + This update provides the latest CA certificates to check for the + authenticity of SSL connections. +patches/packages/php-5.6.31-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + https://php.net/ChangeLog-5.php#5.6.31 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9224 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9226 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9227 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9228 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9229 + (* Security fix *) ++--------------------------+ +Thu Jul 6 00:57:41 UTC 2017 +patches/packages/xscreensaver-5.37-x86_64-1_slack14.0.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Mon Jul 3 23:09:19 UTC 2017 +patches/packages/linux-3.2.90/*: Upgraded. + This kernel fixes security issues (including "Stack Clash"). The issues + may result in denial-of-service conditions or may allow attackers to + execute arbitrary code with elevated privileges. + Be sure to upgrade your initrd after upgrading the kernel packages. + If you use lilo to boot your machine, be sure lilo.conf points to the correct + kernel and initrd and run lilo as root to update the bootloader. + For more information, see: + https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000364 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7482 + (* Security fix *) ++--------------------------+ +Thu Jun 29 20:55:09 UTC 2017 +patches/packages/bind-9.9.10_P2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a high severity security issue: + An error in TSIG handling could permit unauthorized zone transfers + or zone updates. + For more information, see: + https://kb.isc.org/article/AA-01503/0 + https://kb.isc.org/article/AA-01504/0 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3142 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3143 + (* Security fix *) +patches/packages/httpd-2.4.26-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues which may lead to an authentication bypass + or a denial of service: + important: ap_get_basic_auth_pw() Authentication Bypass CVE-2017-3167 + important: mod_ssl Null Pointer Dereference CVE-2017-3169 + important: mod_http2 Null Pointer Dereference CVE-2017-7659 + important: ap_find_token() Buffer Overread CVE-2017-7668 + important: mod_mime Buffer Overread CVE-2017-7679 + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3167 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3169 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7659 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7668 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7679 + (* Security fix *) +patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txz: Upgraded. + Added support for -P option and MICROCODE_ARCH in mkinitrd.conf to specify + a microcode archive to be prepended to the initrd for early CPU microcode + patching by the kernel. Thanks to SeB. ++--------------------------+ +Wed Jun 21 18:38:46 UTC 2017 +patches/packages/openvpn-2.3.17-x86_64-1_slack14.0.txz: Upgraded. + This update fixes several denial of service issues discovered + by Guido Vranken. + For more information, see: + https://community.openvpn.net/openvpn/wiki/VulnerabilitiesFixedInOpenVPN243 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7508 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7520 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7521 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7512 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7522 + (* Security fix *) ++--------------------------+ +Wed Jun 14 22:04:45 UTC 2017 +patches/packages/bind-9.9.10_P1-x86_64-1_slack14.0.txz: Upgraded. + Fixed denial of service security issue: + Some RPZ configurations could go into an infinite query loop when + encountering responses with TTL=0. + For more information, see: + https://kb.isc.org/article/AA-01495 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3140 + (* Security fix *) ++--------------------------+ +Wed Jun 7 22:42:04 UTC 2017 +patches/packages/irssi-1.0.3-x86_64-1_slack14.0.txz: Upgraded. + Fixed security issues that may result in a denial of service. + For more information, see: + https://irssi.org/security/irssi_sa_2017_06.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9468 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9469 + (* Security fix *) ++--------------------------+ +Wed May 31 23:07:23 UTC 2017 +patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release: + Fixed a bug parsing /proc/pid/stat when the process name contains + a newline. This is not exploitable due to the /dev traversal changes + made in sudo 1.8.20p1. ++--------------------------+ +Tue May 30 17:39:17 UTC 2017 +patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txz: Upgraded. + Fixed lynx startup without a URL by correcting STARTFILE in lynx.cfg to use + the new URL for the Lynx homepage. Thanks to John David Yost. +patches/packages/sudo-1.8.20p1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a potential overwrite of arbitrary system files. + This bug was discovered and analyzed by Qualys, Inc. + For more information, see: + https://www.sudo.ws/alerts/linux_tty.html + http://www.openwall.com/lists/oss-security/2017/05/30/16 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000367 + (* Security fix *) ++--------------------------+ +Wed May 24 19:38:59 UTC 2017 +patches/packages/samba-4.4.14-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a remote code execution vulnerability, allowing a + malicious client to upload a shared library to a writable share, and + then cause the server to load and execute it. + For more information, see: + https://www.samba.org/samba/security/CVE-2017-7494.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7494 + (* Security fix *) ++--------------------------+ +Tue May 16 20:11:03 UTC 2017 +patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes an out-of-bounds write caused by a heap-based buffer + overflow related to the t1_builder_close_contour function in psaux/psobjs.c. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8287 + (* Security fix *) +patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a security issue with KAuth that can lead to gaining + root from an unprivileged account. + For more information, see: + http://www.openwall.com/lists/oss-security/2017/05/10/3 + https://www.kde.org/info/security/advisory-20170510-1.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8422 + (* Security fix *) ++--------------------------+ +Mon May 1 23:31:02 UTC 2017 +patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txz: Rebuilt. + Patched an integer overflow that can crash rxvt with an escape sequence, + or possibly have unspecified other impact. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7483 + (* Security fix *) ++--------------------------+ +Wed Apr 26 23:09:45 UTC 2017 +patches/packages/xfce4-weather-plugin-0.8.9-x86_64-1_slack14.0.txz: Upgraded. + Package upgraded to fix the API used to fetch weather data. + Thanks to Robby Workman. ++--------------------------+ +Fri Apr 21 22:40:12 UTC 2017 +patches/packages/ntp-4.2.8p10-x86_64-1_slack14.0.txz: Upgraded. + In addition to bug fixes and enhancements, this release fixes security + issues of medium and low severity: + Denial of Service via Malformed Config (Medium) + Authenticated DoS via Malicious Config Option (Medium) + Potential Overflows in ctl_put() functions (Medium) + Buffer Overflow in ntpq when fetching reslist from a malicious ntpd (Medium) + 0rigin DoS (Medium) + Buffer Overflow in DPTS Clock (Low) + Improper use of snprintf() in mx4200_send() (Low) + The following issues do not apply to Linux systems: + Privileged execution of User Library code (WINDOWS PPSAPI ONLY) (Low) + Stack Buffer Overflow from Command Line (WINDOWS installer ONLY) (Low) + Data Structure terminated insufficiently (WINDOWS installer ONLY) (Low) + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6464 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6463 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6458 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6460 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9042 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6462 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6451 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6455 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6452 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6459 + (* Security fix *) +patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txz: Upgraded. + This release fixes a security issue: + AllowChrootSymlinks off does not check entire DefaultRoot path for symlinks. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7418 + (* Security fix *) ++--------------------------+ +Wed Apr 19 04:46:45 UTC 2017 +patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txz: Upgraded. + Fix an out of bounds data access that can lead to remote code execution. + This issue was found by Solar Designer of Openwall during a security audit + of the Virtuozzo 7 product, which contains derived downstream code in its + prl-vzvncserver component. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7467 + (* Security fix *) ++--------------------------+ +Thu Apr 13 21:19:45 UTC 2017 +patches/packages/bind-9.9.9_P8-x86_64-1_slack14.0.txz: Upgraded. + Fixed denial of service security issues. + For more information, see: + https://kb.isc.org/article/AA-01465 + https://kb.isc.org/article/AA-01466 + https://kb.isc.org/article/AA-01471 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3136 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3137 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3138 + (* Security fix *) ++--------------------------+ +Mon Apr 10 18:08:13 UTC 2017 +patches/packages/vim-7.4.399-x86_64-1_slack14.0.txz: Upgraded. + In Vim 7.3+ but prior to 7.4.399, blowfish encryption is weak. + Upgrade to Vim 7.4.399 to address this issue. + For more information, see: + https://dgl.cx/2014/10/vim-blowfish + (* Security fix *) +patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sat Apr 1 05:16:59 UTC 2017 +patches/packages/samba-4.4.13-x86_64-1_slack14.0.txz: Upgraded. + This is a bug fix release to address a regression introduced by the security + fixes for CVE-2017-2619 (Symlink race allows access outside share definition). + Please see https://bugzilla.samba.org/show_bug.cgi?id=12721 for details. ++--------------------------+ +Thu Mar 23 21:38:23 UTC 2017 +patches/packages/glibc-zoneinfo-2017b-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue: + An incorrect implementation of XEP-0280: Message Carbons in multiple XMPP + clients allows a remote attacker to impersonate any user, including + contacts, in the vulnerable application's display. This allows for various + kinds of social engineering attacks. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5604 + (* Security fix *) +patches/packages/samba-4.4.12-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue: + All versions of Samba prior to 4.6.1, 4.5.7, 4.4.12 are vulnerable to + a malicious client using a symlink race to allow access to areas of + the server file system not exported under the share definition. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2619 + (* Security fix *) ++--------------------------+ +Thu Mar 16 01:37:05 UTC 2017 +patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a minor security issue (out of bounds memory read in + purple_markup_unescape_entity). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2640 + (* Security fix *) ++--------------------------+ +Tue Feb 28 23:51:55 UTC 2017 +patches/packages/glibc-zoneinfo-2017a-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Fri Feb 10 21:07:35 UTC 2017 +patches/packages/bind-9.9.9_P6-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a denial-of-service vulnerability. Under some conditions + when using both DNS64 and RPZ to rewrite query responses, query processing + can resume in an inconsistent state leading to either an INSIST assertion + failure or an attempt to read through a NULL pointer. + For more information, see: + https://kb.isc.org/article/AA-01453 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3135 + (* Security fix *) +patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txz: Upgraded. + This update is required for the new version of tcpdump. +patches/packages/php-5.6.30-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + https://php.net/ChangeLog-5.php#5.6.30 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10158 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10167 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10168 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10159 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10160 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10161 + (* Security fix *) +patches/packages/tcpdump-4.9.0-x86_64-1_slack14.0.txz: Upgraded. + Fixed bugs which allow an attacker to crash tcpdump (denial of service). + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7922 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7923 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7924 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7925 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7926 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7927 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7928 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7929 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7930 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7931 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7932 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7933 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7934 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7935 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7936 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7937 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7938 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7939 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7940 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7973 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7974 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7975 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7983 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7984 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7985 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7986 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7992 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7993 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8574 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8575 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5202 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5203 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5204 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5205 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5341 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5342 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5482 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5483 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5484 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5485 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5486 + (* Security fix *) ++--------------------------+ +Thu Jan 12 01:15:52 UTC 2017 +patches/packages/bind-9.9.9_P5-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a denial-of-service vulnerability. An error in handling + certain queries can cause an assertion failure when a server is using the + nxdomain-redirect feature to cover a zone for which it is also providing + authoritative service. A vulnerable server could be intentionally stopped + by an attacker if it was using a configuration that met the criteria for + the vulnerability and if the attacker could cause it to accept a query + that possessed the required attributes. + Please note: This vulnerability affects the "nxdomain-redirect" feature, + which is one of two methods of handling NXDOMAIN redirection, and is only + available in certain versions of BIND. Redirection using zones of type + "redirect" is not affected by this vulnerability. + For more information, see: + https://kb.isc.org/article/AA-01442 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9778 + (* Security fix *) +patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some bugs and security issues. + For more information, see: + https://gnutls.org/security.html#GNUTLS-SA-2017-1 + https://gnutls.org/security.html#GNUTLS-SA-2017-2 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5334 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5335 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5336 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5337 + (* Security fix *) +patches/packages/irssi-0.8.21-x86_64-1_slack14.0.txz: Upgraded. + Fixed security issues that may result in a denial of service. + For more information, see: + https://irssi.org/security/irssi_sa_2017_01.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5193 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5194 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5195 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5196 + (* Security fix *) +patches/packages/python-2.7.13-x86_64-2_slack14.0.txz: Rebuilt. + This is a rebuilt package to fix a build-time regression with the + multiprocessing.synchronize module. + Thanks to Damien Goutte-Gattat for the bug report. ++--------------------------+ +Fri Dec 30 19:29:13 UTC 2016 +patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txz: Upgraded. + This release fixes an old NULL pointer dereference bug in png_set_text_2() + discovered and patched by Patrick Keshishian. The potential "NULL + dereference" bug has existed in libpng since version 0.71 of June 26, 1995. + To be vulnerable, an application has to load a text chunk into the png + structure, then delete all text, then add another text chunk to the same + png structure, which seems to be an unlikely sequence, but it has happened. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10087 + (* Security fix *) ++--------------------------+ +Wed Dec 28 21:05:19 UTC 2016 +patches/packages/python-2.7.13-x86_64-1_slack14.0.txz: Upgraded. + This release fixes security issues: + Issue #27850: Remove 3DES from ssl module's default cipher list to counter + measure sweet32 attack (CVE-2016-2183). + Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the + HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates + that the script is in CGI mode. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2183 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1000110 + (* Security fix *) ++--------------------------+ +Sat Dec 24 18:14:51 UTC 2016 +patches/packages/expat-2.2.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues: + Multiple integer overflows in XML_GetBuffer. + Fix crash on malformed input. + Improve insufficient fix to CVE-2015-1283 / CVE-2015-2716. + Use more entropy for hash initialization. + Resolve troublesome internal call to srand. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1283 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5300 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6702 + (* Security fix *) ++--------------------------+ +Sat Dec 24 02:36:05 UTC 2016 +patches/packages/httpd-2.4.25-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + * CVE-2016-8740: mod_http2: Mitigate DoS memory exhaustion via endless + CONTINUATION frames. + * CVE-2016-5387: core: Mitigate [f]cgi "httpoxy" issues. + * CVE-2016-2161: mod_auth_digest: Prevent segfaults during client entry + allocation when the shared memory space is exhausted. + * CVE-2016-0736: mod_session_crypto: Authenticate the session data/cookie + with a MAC (SipHash) to prevent deciphering or tampering with a padding + oracle attack. + * CVE-2016-8743: Enforce HTTP request grammar corresponding to RFC7230 for + request lines and request headers, to prevent response splitting and + cache pollution by malicious clients or downstream proxies. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8740 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5387 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2161 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0736 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8743 + (* Security fix *) +patches/packages/openssh-7.4p1-x86_64-1_slack14.0.txz: Upgraded. + This is primarily a bugfix release, and also addresses security issues. + ssh-agent(1): Will now refuse to load PKCS#11 modules from paths outside + a trusted whitelist. + sshd(8): When privilege separation is disabled, forwarded Unix-domain + sockets would be created by sshd(8) with the privileges of 'root'. + sshd(8): Avoid theoretical leak of host private key material to + privilege-separated child processes via realloc(). + sshd(8): The shared memory manager used by pre-authentication compression + support had a bounds checks that could be elided by some optimising + compilers to potentially allow attacks against the privileged monitor. + process from the sandboxed privilege-separation process. + sshd(8): Validate address ranges for AllowUser and DenyUsers directives at + configuration load time and refuse to accept invalid ones. It was + previously possible to specify invalid CIDR address ranges + (e.g. user@127.1.2.3/55) and these would always match, possibly resulting + in granting access where it was not intended. + For more information, see: + https://www.openssh.com/txt/release-7.4 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10009 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10010 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10011 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10012 + (* Security fix *) +patches/packages/xfce4-weather-plugin-0.8.8-x86_64-1_slack14.0.txz: Upgraded. + Package upgraded to fix the API used to fetch weather data. + Thanks to Robby Workman. ++--------------------------+ +Sun Dec 18 05:20:25 UTC 2016 +patches/packages/glibc-zoneinfo-2016j-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Mon Dec 12 21:25:50 UTC 2016 +patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txz: Upgraded. + This update is needed for the mcabber security update. +patches/packages/mcabber-1.0.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue which can lead to a malicious actor + MITMing a conversation, or adding themselves as an entity on a third + parties roster (thereby granting themselves the associated priviledges + such as observing when the user is online). + For more information, see: + https://gultsch.de/gajim_roster_push_and_message_interception.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9928 + (* Security fix *) +patches/packages/php-5.6.29-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + https://php.net/ChangeLog-5.php#5.6.29 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9933 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9934 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9935 + (* Security fix *) ++--------------------------+ +Mon Nov 21 19:21:22 UTC 2016 +patches/packages/ntp-4.2.8p9-x86_64-1_slack14.0.txz: Upgraded. + In addition to bug fixes and enhancements, this release fixes the + following 1 high- (Windows only :-), 2 medium-, 2 medium-/low, and + 5 low-severity vulnerabilities, and provides 28 other non-security + fixes and improvements. + CVE-2016-9311: Trap crash + CVE-2016-9310: Mode 6 unauthenticated trap info disclosure and DDoS vector + CVE-2016-7427: Broadcast Mode Replay Prevention DoS + CVE-2016-7428: Broadcast Mode Poll Interval Enforcement DoS + CVE-2016-9312: Windows: ntpd DoS by oversized UDP packet + CVE-2016-7431: Regression: 010-origin: Zero Origin Timestamp Bypass + CVE-2016-7434: Null pointer dereference in _IO_str_init_static_internal() + CVE-2016-7429: Interface selection attack + CVE-2016-7426: Client rate limiting and server responses + CVE-2016-7433: Reboot sync calculation problem + For more information, see: + https://www.kb.cert.org/vuls/id/633847 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9311 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9310 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7427 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7428 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9312 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7431 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7434 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7429 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7426 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7433 + (* Security fix *) ++--------------------------+ +Fri Nov 18 22:49:40 UTC 2016 +patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a regression where previously compiled binaries could be + broken due to a changed shared library soname. This package adds + compatibility symlinks to the old names where needed. ++--------------------------+ +Fri Nov 4 03:31:38 UTC 2016 +patches/packages/bind-9.9.9_P4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a denial-of-service vulnerability. A defect in BIND's + handling of responses containing a DNAME answer can cause a resolver to exit + after encountering an assertion failure in db.c or resolver.c. A server + encountering either of these error conditions will stop, resulting in denial + of service to clients. The risk to authoritative servers is minimal; + recursive servers are chiefly at risk. + For more information, see: + https://kb.isc.org/article/AA-01434 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8864 + (* Security fix *) +patches/packages/curl-7.51.0-x86_64-1_slack14.0.txz: Upgraded. + This release fixes security issues: + CVE-2016-8615: cookie injection for other servers + CVE-2016-8616: case insensitive password comparison + CVE-2016-8617: OOB write via unchecked multiplication + CVE-2016-8618: double-free in curl_maprintf + CVE-2016-8619: double-free in krb5 code + CVE-2016-8620: glob parser write/read out of bounds + CVE-2016-8621: curl_getdate read out of bounds + CVE-2016-8622: URL unescape heap overflow via integer truncation + CVE-2016-8623: Use-after-free via shared cookies + CVE-2016-8624: invalid URL parsing with '#' + CVE-2016-8625: IDNA 2003 makes curl use wrong host + For more information, see: + https://curl.haxx.se/docs/adv_20161102A.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8615 + https://curl.haxx.se/docs/adv_20161102B.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8616 + https://curl.haxx.se/docs/adv_20161102C.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8617 + https://curl.haxx.se/docs/adv_20161102D.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8618 + https://curl.haxx.se/docs/adv_20161102E.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8619 + https://curl.haxx.se/docs/adv_20161102F.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8620 + https://curl.haxx.se/docs/adv_20161102G.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8621 + https://curl.haxx.se/docs/adv_20161102H.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8622 + https://curl.haxx.se/docs/adv_20161102I.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8623 + https://curl.haxx.se/docs/adv_20161102J.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8624 + https://curl.haxx.se/docs/adv_20161102K.html + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8625 + (* Security fix *) +patches/packages/glibc-zoneinfo-2016i-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Mon Oct 31 23:38:24 UTC 2016 +patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txz: Upgraded. + This update is a prerequisite for other security updates. +patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause out of boundary + memory read in XGetImage() or write in XListFonts(). + Affected versions libX11 <= 1.6.3. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7942 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7943 + (* Security fix *) +patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause an integer + overflow on 32 bit architectures. + Affected versions : libXfixes <= 5.0.2. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7944 + (* Security fix *) +patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause out of boundary + memory access or endless loops (Denial of Service). + Affected versions libXi <= 1.7.6. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7945 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7946 + (* Security fix *) +patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause out of boundary + memory writes. + Affected versions: libXrandr <= 1.5.0. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7947 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7948 + (* Security fix *) +patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause out of boundary + memory writes. + Affected version: libXrender <= 0.9.9. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7949 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7950 + (* Security fix *) +patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause out of boundary + memory access or endless loops (Denial of Service). + Affected version libXtst <= 1.2.2. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7951 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7952 + (* Security fix *) +patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause out of boundary + memory and memory corruption. + Affected version libXv <= 1.0.10. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5407 + (* Security fix *) +patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txz: Upgraded. + Insufficient validation of data from the X server can cause a one byte buffer + read underrun. + Affected version: libXvMC <= 1.0.9. + For more information, see: + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7953 + (* Security fix *) +patches/packages/libxcb-1.11.1-x86_64-1_slack14.0.txz: Upgraded. + This update is a prerequisite for other security updates. +patches/packages/linux-3.2.83/*: Upgraded. + This kernel fixes a security issue known as "Dirty COW". A race + condition was found in the way the Linux kernel's memory subsystem + handled the copy-on-write (COW) breakage of private read-only + memory mappings. An unprivileged local user could use this flaw to + gain write access to otherwise read-only memory mappings and thus + increase their privileges on the system. + Be sure to upgrade your initrd and reinstall LILO after upgrading + the kernel packages. + For more information, see: + https://dirtycow.ninja/ + https://www.kb.cert.org/vuls/id/243144 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5195 + (* Security fix *) +patches/packages/php-5.6.27-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + https://php.net/ChangeLog-5.php#5.6.27 + (* Security fix *) +patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txz: Upgraded. + This update is a prerequisite for other security updates. +patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txz: Upgraded. + This update is a prerequisite for other security updates. +patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txz: Upgraded. + This update is a prerequisite for other security updates. +patches/packages/xproto-7.0.29-noarch-1_slack14.0.txz: Upgraded. + This update is a prerequisite for other security updates. +patches/packages/xscreensaver-5.36-x86_64-1_slack14.0.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Wed Sep 28 23:24:37 UTC 2016 +patches/packages/glibc-zoneinfo-2016g-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Tue Sep 27 19:16:56 UTC 2016 +patches/packages/bind-9.9.9_P3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a denial-of-service vulnerability. Testing by ISC has + uncovered a critical error condition which can occur when a nameserver is + constructing a response. A defect in the rendering of messages into + packets can cause named to exit with an assertion failure in buffer.c while + constructing a response to a query that meets certain criteria. + For more information, see: + https://kb.isc.org/article/AA-01419/0 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2776 + (* Security fix *) ++--------------------------+ +Fri Sep 23 23:30:53 UTC 2016 +patches/packages/php-5.6.26-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + https://php.net/ChangeLog-5.php#5.6.26 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7416 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7412 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7414 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7417 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7411 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7413 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7418 + (* Security fix *) ++--------------------------+ +Thu Sep 22 18:38:07 UTC 2016 +patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txz: Upgraded. + This update fixes denial-of-service and other security issues. + For more information, see: + https://www.openssl.org/news/secadv/20160922.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6304 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6305 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2183 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6303 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6302 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2182 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2180 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2177 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2178 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2179 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2181 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6306 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6307 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6308 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/pidgin-2.11.0-x86_64-1_slack14.0.txz: Upgraded. + NOTE: These packages provide updates to pidgin-2.11.0, since the previous + version was mistakenly reissued for Slackware 13.0 - 14.1. Sorry! + This release fixes bugs and security issues. + For more information, see: + https://www.pidgin.im/news/security/ + (* Security fix *) ++--------------------------+ +Wed Sep 21 21:10:52 UTC 2016 +patches/packages/irssi-0.8.20-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two remote crash and heap corruption vulnerabilites + in Irssi's format parsing code. Impact: Remote crash and heap + corruption. Remote code execution seems difficult since only Nuls are + written. Bugs discovered by, and patches provided by Gabriel Campana + and Adrien Guinet from Quarkslab. + For more information, see: + https://irssi.org/security/irssi_sa_2016.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7044 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7045 + (* Security fix *) ++--------------------------+ +Wed Sep 21 15:54:06 UTC 2016 +patches/packages/pidgin-2.10.11-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + https://www.pidgin.im/news/security/ + (* Security fix *) ++--------------------------+ +Thu Sep 15 22:54:52 UTC 2016 +patches/packages/curl-7.50.3-x86_64-1_slack14.0.txz: Upgraded. + Fixed heap overflows in four libcurl functions: curl_escape(), + curl_easy_escape(), curl_unescape() and curl_easy_unescape(). + For more information, see: + https://curl.haxx.se/docs/adv_20160914.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7167 + (* Security fix *) ++--------------------------+ +Tue Sep 13 19:10:48 UTC 2016 +patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a critical vulnerability which can allow local and + remote attackers to inject malicious settings into MySQL configuration + files (my.cnf). A successful exploitation could allow attackers to + execute arbitrary code with root privileges which would then allow them + to fully compromise the server. + This issue was discovered and reported by Dawid Golunski. + For more information, see: + http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6662 + (* Security fix *) ++--------------------------+ +Sat Sep 10 18:04:42 UTC 2016 +patches/packages/gnutls-3.3.24-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some bugs and security issues. + For more information, see: + http://www.gnutls.org/security.html#GNUTLS-SA-2015-2 + http://www.gnutls.org/security.html#GNUTLS-SA-2015-3 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6251 + (* Security fix *) ++--------------------------+ +Thu Sep 8 21:35:02 UTC 2016 +patches/packages/php-5.6.25-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.25 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7125 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7126 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7127 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7128 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7129 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7130 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7131 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7132 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7133 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7134 + (* Security fix *) ++--------------------------+ +Tue Aug 23 19:45:33 UTC 2016 +patches/packages/gnupg-1.4.21-x86_64-1_slack14.0.txz: Upgraded. + Fix critical security bug in the RNG [CVE-2016-6313]. An attacker who + obtains 580 bytes from the standard RNG can trivially predict the next + 20 bytes of output. (This is according to the NEWS file included in the + source. According to the annoucement linked below, an attacker who obtains + 4640 bits from the RNG can trivially predict the next 160 bits of output.) + Problem detected by Felix Doerre and Vladimir Klebanov, KIT. + For more information, see: + https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6313 + (* Security fix *) +patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txz: Upgraded. + Fix critical security bug in the RNG [CVE-2016-6313]. An attacker who + obtains 580 bytes from the standard RNG can trivially predict the next + 20 bytes of output. (This is according to the NEWS file included in the + source. According to the annoucement linked below, an attacker who obtains + 4640 bits from the RNG can trivially predict the next 160 bits of output.) + Problem detected by Felix Doerre and Vladimir Klebanov, KIT. + For more information, see: + https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6313 + (* Security fix *) +patches/packages/stunnel-5.35-x86_64-2_slack14.0.txz: Rebuilt. + Fixed incorrect config file name in generate-stunnel-key.sh. + Thanks to Ebben Aries. ++--------------------------+ +Thu Aug 11 18:55:48 UTC 2016 +patches/packages/glibc-zoneinfo-2016f-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Sat Aug 6 19:29:16 UTC 2016 +patches/packages/curl-7.50.1-x86_64-1_slack14.0.txz: Upgraded. + This release fixes security issues: + TLS: switch off SSL session id when client cert is used + TLS: only reuse connections with the same client cert + curl_multi_cleanup: clear connection pointer for easy handles + For more information, see: + https://curl.haxx.se/docs/adv_20160803A.html + https://curl.haxx.se/docs/adv_20160803B.html + https://curl.haxx.se/docs/adv_20160803C.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5419 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5420 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5421 + (* Security fix *) +patches/packages/openssh-7.3p1-x86_64-1_slack14.0.txz: Upgraded. + This is primarily a bugfix release, and also addresses security issues. + sshd(8): Mitigate a potential denial-of-service attack against the system's + crypt(3) function via sshd(8). + sshd(8): Mitigate timing differences in password authentication that could + be used to discern valid from invalid account names when long passwords were + sent and particular password hashing algorithms are in use on the server. + ssh(1), sshd(8): Fix observable timing weakness in the CBC padding oracle + countermeasures. + ssh(1), sshd(8): Improve operation ordering of MAC verification for + Encrypt-then-MAC (EtM) mode transport MAC algorithms to verify the MAC + before decrypting any ciphertext. + sshd(8): (portable only) Ignore PAM environment vars when UseLogin=yes. + For more information, see: + http://www.openssh.com/txt/release-7.3 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6210 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8325 + (* Security fix *) +patches/packages/stunnel-5.35-x86_64-1_slack14.0.txz: Upgraded. + Fixes security issues: + Fixed malfunctioning "verify = 4". + Fixed incorrectly enforced client certificate requests. + (* Security fix *) ++--------------------------+ +Thu Jul 28 18:17:17 UTC 2016 +patches/packages/libidn-1.33-x86_64-1_slack14.0.txz: Upgraded. + Fixed out-of-bounds read bugs. Fixed crashes on invalid UTF-8. + Thanks to Hanno Böck. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8948 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6261 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6262 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6263 + (* Security fix *) ++--------------------------+ +Fri Jul 22 20:51:23 UTC 2016 +patches/packages/bind-9.9.9_P2-x86_64-1_slack14.0.txz: Upgraded. + Fixed a security issue: + getrrsetbyname with a non absolute name could trigger an infinite + recursion bug in lwresd and named with lwres configured if when + combined with a search list entry the resulting name is too long. + (CVE-2016-2775) [RT #42694] + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2775 + (* Security fix *) ++--------------------------+ +Thu Jul 21 23:25:54 UTC 2016 +patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txz: Upgraded. + This release fixes a security issue: + Use-after-free vulnerability in the xcf_load_image function in + app/xcf/xcf-load.c in GIMP allows remote attackers to cause a denial of + service (program crash) or possibly execute arbitrary code via a crafted + XCF file. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4994 + (* Security fix *) +patches/packages/php-5.6.24-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.24 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5385 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6207 + (* Security fix *) ++--------------------------+ +Thu Jul 7 19:52:36 UTC 2016 +patches/packages/samba-4.2.14-x86_64-1_slack14.0.txz: Upgraded. + This release fixes a security issue: + Client side SMB2/3 required signing can be downgraded. + It's possible for an attacker to downgrade the required signing for an + SMB2/3 client connection, by injecting the SMB2_SESSION_FLAG_IS_GUEST or + SMB2_SESSION_FLAG_IS_NULL flags. This means that the attacker can + impersonate a server being connected to by Samba, and return malicious + results. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2119 + (* Security fix *) ++--------------------------+ +Fri Jun 24 23:37:19 UTC 2016 +patches/packages/php-5.6.23-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.23 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5766 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5767 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5768 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5769 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5770 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5771 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5772 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5773 + (* Security fix *) ++--------------------------+ +Wed Jun 15 01:57:05 UTC 2016 +patches/packages/glibc-zoneinfo-2016e-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Mon Jun 13 07:07:39 UTC 2016 +patches/packages/wget-1.18-x86_64-1_slack14.0.txz: Upgraded. + This version fixes a security vulnerability present in all old versions + of wget. On a server redirect from HTTP to a FTP resource, wget would + trust the HTTP server and use the name in the redirected URL as the + destination filename. This behaviour was changed and now it works + similarly as a redirect from HTTP to another HTTP resource so the original + name is used as the destination file. To keep the previous behaviour the + user must provide --trust-server-names. + The vulnerability was discovered by Dawid Golunski and was reported by + Beyond Security's SecuriTeam. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4971 + (* Security fix *) ++--------------------------+ +Fri Jun 3 23:36:07 UTC 2016 +patches/packages/libxml2-2.9.4-x86_64-2_slack14.0.txz: Rebuilt. + Fix attribute decoding during XML schema validation. + Thanks to Andreas Vögele. +patches/packages/ntp-4.2.8p8-x86_64-1_slack14.0.txz: Upgraded. + This release patches one high and four low severity security issues: + CVE-2016-4957: Crypto-NAK crash + CVE-2016-4953: Bad authentication demobilizes ephemeral associations + CVE-2016-4954: Processing spoofed server packets + CVE-2016-4955: Autokey association reset + CVE-2016-4956: Broadcast interleave + For more information, see: + http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4957 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4953 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4954 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4955 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4956 + (* Security fix *) ++--------------------------+ +Thu Jun 2 19:08:13 UTC 2016 +patches/packages/xscreensaver-5.35-x86_64-2_slack14.0.txz: Rebuilt. + Fixed missing '\' in the build script which caused a few configure options + to be skipped. Thanks to Stuart Winter. ++--------------------------+ +Tue May 31 05:42:04 UTC 2016 +patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txz: Rebuilt. + Removed popen() support to prevent another shell vulnerability. This + issue was discovered by Bob Friesenhahn, of the GraphicsMagick project. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5118 + (* Security fix *) +patches/packages/xscreensaver-5.35-x86_64-1_slack14.0.txz: Upgraded. + Here's an upgrade to the latest xscreensaver. ++--------------------------+ +Fri May 27 23:08:17 UTC 2016 +patches/packages/libxml2-2.9.4-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues: + Heap-based buffer underreads due to xmlParseName (CVE-2016-4447). + Format string vulnerability (CVE-2016-4448). + Inappropriate fetch of entities content (CVE-2016-4449). + For more information, see: + http://xmlsoft.org/news.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4447 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4448 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4449 + (* Security fix *) +patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and a security issue: + Fix for type confusion in preprocessing attributes (Daniel Veillard). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7995 + (* Security fix *) +patches/packages/php-5.6.22-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.22 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7456 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5093 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5094 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5096 + (* Security fix *) ++--------------------------+ +Fri May 20 21:20:29 UTC 2016 +patches/packages/curl-7.49.0-x86_64-1_slack14.0.txz: Upgraded. + Fixed a TLS certificate check bypass with mbedTLS/PolarSSL. + For more information, see: + https://curl.haxx.se/docs/adv_20160518.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3739 + (* Security fix *) ++--------------------------+ +Wed May 11 05:20:01 UTC 2016 +patches/packages/git-2.8.2-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix package update to change color "lime" to "00FF00" in + gitk. Otherwise it might not start if "lime" is not defined. + Thanks to AlvaroG. +patches/packages/imagemagick-6.7.7_10-x86_64-2_slack14.0.txz: Rebuilt. + This update addresses several security issues in ImageMagick, including: + Insufficient shell characters filtering allows code execution (CVE-2016-3714) + Server Side Request Forgery (CVE-2016-3718) + File deletion (CVE-2016-3715) + File moving (CVE-2016-3716) + Local file read (CVE-2016-3717) + To mitigate these issues, the default policy.xml config file has been + modified to disable all of the vulnerable coders. + For more information, see: + https://imagetragick.com + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3714 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3718 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3715 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3716 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3717 + (* Security fix *) ++--------------------------+ +Tue May 3 19:35:56 UTC 2016 +patches/packages/openssl-1.0.1t-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + Memory corruption in the ASN.1 encoder (CVE-2016-2108) + Padding oracle in AES-NI CBC MAC check (CVE-2016-2107) + EVP_EncodeUpdate overflow (CVE-2016-2105) + EVP_EncryptUpdate overflow (CVE-2016-2106) + ASN.1 BIO excessive memory allocation (CVE-2016-2109) + EBCDIC overread (CVE-2016-2176) + For more information, see: + https://www.openssl.org/news/secadv/20160503.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2108 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2107 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2105 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2106 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2109 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2176 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1t-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon May 2 19:42:54 UTC 2016 +patches/packages/mercurial-3.8.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes possible arbitrary code execution when converting Git + repos. Mercurial prior to 3.8 allowed arbitrary code execution when using + the convert extension on Git repos with hostile names. This could affect + automated code conversion services that allow arbitrary repository names. + This is a further side-effect of Git CVE-2015-7545. + Reported and fixed by Blake Burkhart. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3105 + (* Security fix *) +patches/packages/samba-4.2.12-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Sat Apr 30 20:28:33 UTC 2016 +patches/packages/subversion-1.7.22-x86_64-2_slack14.0.txz: Rebuilt. + This update patches two security issues: + CVE-2016-2167: svnserve/sasl may authenticate users using the wrong realm. + CVE-2016-2168: Remotely triggerable DoS vulnerability in mod_authz_svn + during COPY/MOVE authorization check. + For more information, see: + http://subversion.apache.org/security/CVE-2016-2167-advisory.txt + http://subversion.apache.org/security/CVE-2016-2168-advisory.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2167 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2168 + (* Security fix *) ++--------------------------+ +Fri Apr 29 20:54:01 UTC 2016 +patches/packages/ntp-4.2.8p7-x86_64-1_slack14.0.txz: Upgraded. + This release patches several low and medium severity security issues: + CVE-2016-1551: Refclock impersonation vulnerability, AKA: refclock-peering + CVE-2016-1549: Sybil vulnerability: ephemeral association attack, + AKA: ntp-sybil - MITIGATION ONLY + CVE-2016-2516: Duplicate IPs on unconfig directives will cause an assertion + botch + CVE-2016-2517: Remote configuration trustedkey/requestkey values are not + properly validated + CVE-2016-2518: Crafted addpeer with hmode > 7 causes array wraparound with + MATCH_ASSOC + CVE-2016-2519: ctl_getitem() return value not always checked + CVE-2016-1547: Validate crypto-NAKs, AKA: nak-dos + CVE-2016-1548: Interleave-pivot - MITIGATION ONLY + CVE-2015-7704: KoD fix: peer associations were broken by the fix for + NtpBug2901, AKA: Symmetric active/passive mode is broken + CVE-2015-8138: Zero Origin Timestamp Bypass, AKA: Additional KoD Checks + CVE-2016-1550: Improve NTP security against buffer comparison timing attacks, + authdecrypt-timing, AKA: authdecrypt-timing + For more information, see: + http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7704 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8138 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1547 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1548 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1549 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1550 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1551 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2516 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2517 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2518 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2519 + (* Security fix *) +patches/packages/php-5.6.21-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.21 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3074 + (* Security fix *) ++--------------------------+ +Sun Apr 24 00:53:14 UTC 2016 +patches/packages/ca-certificates-20160104-noarch-1_slack14.0.txz: Upgraded. + This update provides the latest CA certificates to check for the + authenticity of SSL connections. ++--------------------------+ +Mon Apr 18 22:21:58 UTC 2016 +patches/packages/glibc-zoneinfo-2016d-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Fri Apr 15 20:37:37 UTC 2016 +patches/packages/samba-4.2.11-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the security issues known as "badlock" (or "sadlock"), + which may allow man-in-the-middle or denial-of-service attacks: + CVE-2015-5370 (Multiple errors in DCE-RPC code) + CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP) + CVE-2016-2111 (NETLOGON Spoofing Vulnerability) + CVE-2016-2112 (LDAP client and server don't enforce integrity) + CVE-2016-2113 (Missing TLS certificate validation) + CVE-2016-2114 ("server signing = mandatory" not enforced) + CVE-2016-2115 (SMB IPC traffic is not integrity protected) + CVE-2016-2118 (SAMR and LSA man in the middle attacks possible) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5370 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2110 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2111 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2112 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2113 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2114 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2115 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2118 + (* Security fix *) ++--------------------------+ +Wed Apr 6 05:07:44 UTC 2016 +patches/packages/subversion-1.7.22-x86_64-1_slack14.0.txz: Upgraded. + Subversion servers and clients are vulnerable to a remotely triggerable + heap-based buffer overflow and out-of-bounds read that may allow remote + attackers to cause a denial of service or possibly execute arbitrary code + under the context of the targeted process. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5343 + (* Security fix *) ++--------------------------+ +Fri Apr 1 21:17:37 UTC 2016 +patches/packages/dhcp-4.3.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and (previously patched) security issues. +patches/packages/mercurial-3.7.3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues and bugs, including remote code execution + in binary delta decoding, arbitrary code execution with Git subrepos, and + arbitrary code execution when converting Git repos. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3630 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3068 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3069 + (* Security fix *) +patches/packages/php-5.6.20-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.20 + (* Security fix *) ++--------------------------+ +Fri Mar 25 20:43:59 UTC 2016 +patches/packages/glibc-zoneinfo-2016c-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Fri Mar 18 20:02:40 UTC 2016 +patches/packages/git-2.7.4-x86_64-1_slack14.0.txz: Upgraded. + NOTE: Issuing this patch again since the bug reporter listed the + wrong git version (2.7.1) as fixed. The vulnerability was actually + patched in git-2.7.4. + Fixed buffer overflows allowing server and client side remote code + execution in all git versions before 2.7.4. + For more information, see: + http://seclists.org/oss-sec/2016/q1/645 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324 + (* Security fix *) ++--------------------------+ +Tue Mar 15 21:31:49 UTC 2016 +patches/packages/git-2.7.3-x86_64-1_slack14.0.txz: Upgraded. + Fixed buffer overflows allowing server and client side remote code + execution in all git versions before 2.7.1. + For more information, see: + http://seclists.org/oss-sec/2016/q1/645 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324 + (* Security fix *) +patches/packages/glibc-zoneinfo-2016b-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Thu Mar 10 23:43:47 UTC 2016 +patches/packages/openssh-7.2p2-x86_64-1_slack14.0.txz: Upgraded. + This release fixes a security bug: + sshd(8): sanitise X11 authentication credentials to avoid xauth + command injection when X11Forwarding is enabled. + For more information, see: + http://www.openssh.com/txt/x11fwd.adv + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3115 + (* Security fix *) ++--------------------------+ +Thu Mar 10 02:46:49 UTC 2016 +patches/packages/bind-9.9.8_P4-x86_64-1_slack14.0.txz: Upgraded. + Fixed security issues: + Fix resolver assertion failure due to improper DNAME handling when + parsing fetch reply messages. (CVE-2016-1286) [RT #41753] + Malformed control messages can trigger assertions in named and rndc. + (CVE-2016-1285) [RT #41666] + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1286 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1285 + (* Security fix *) +patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txz: Upgraded. + Upgraded to nss-3.23 and nspr-4.12. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/nss.html + (* Security fix *) ++--------------------------+ +Tue Mar 8 01:54:33 UTC 2016 +patches/packages/php-5.6.19-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.19 + (* Security fix *) ++--------------------------+ +Thu Mar 3 05:41:26 UTC 2016 +patches/packages/mailx-12.5-x86_64-2_slack14.0.txz: Rebuilt. + Drop SSLv2 support (no longer supported by OpenSSL), and fix security issues + that could allow a local attacker to cause mailx to execute arbitrary + shell commands through the use of a specially-crafted email address. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2771 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7844 + (* Security fix *) +patches/packages/openssl-1.0.1s-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + Cross-protocol attack on TLS using SSLv2 (DROWN) (CVE-2016-0800) + Double-free in DSA code (CVE-2016-0705) + Memory leak in SRP database lookups (CVE-2016-0798) + BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption (CVE-2016-0797) + Fix memory issues in BIO_*printf functions (CVE-2016-0799) + Side channel attack on modular exponentiation (CVE-2016-0702) + To avoid breaking the ABI, "enable-ssl2" is used, but all the vulnerable or + weak ciphers have been removed. + For more information, see: + https://www.openssl.org/news/secadv/20160301.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0800 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0705 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0798 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0797 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0799 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0702 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1s-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/php-5.6.18-x86_64-1_slack14.1.txz: Upgraded. + This release fixes bugs and security issues. + For more information, see: + http://php.net/ChangeLog-5.php#5.6.18 + (* Security fix *) ++--------------------------+ +Fri Feb 26 22:54:05 UTC 2016 +patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txz: Upgraded. + Fixed weak key generation. Due to a bug in the ephemeral secret key + generation for the diffie-hellman-group1 and diffie-hellman-group14 + methods, ephemeral secret keys of size 128 bits are generated, instead + of the recommended sizes of 1024 and 2048 bits, giving a practical + security of 63 bits. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0739 + (* Security fix *) ++--------------------------+ +Tue Feb 23 19:31:59 UTC 2016 +patches/packages/bind-9.9.8_P3-x86_64-1_slack14.0.txz: Upgraded. + This release fixes two possible denial-of-service issues: + render_ecs errors were mishandled when printing out a OPT record resulting + in a assertion failure. (CVE-2015-8705) [RT #41397] + Specific APL data could trigger a INSIST. (CVE-2015-8704) [RT #41396] + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8704 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8705 + (* Security fix *) +patches/packages/libgcrypt-1.5.5-x86_64-1_slack14.0.txz: Upgraded. + Mitigate chosen cipher text attacks on ECDH with Weierstrass curves. + Use ciphertext blinding for Elgamal decryption. + For more information, see: + http://www.cs.tau.ac.IL/~tromer/ecdh/ + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7511 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3591 + (* Security fix *) +patches/packages/ntp-4.2.8p6-x86_64-1_slack14.0.txz: Upgraded. + In addition to bug fixes and enhancements, this release fixes + several low and medium severity vulnerabilities. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5300 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7973 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7974 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7975 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7976 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7977 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7978 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7979 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8138 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8158 + (* Security fix *) ++--------------------------+ +Mon Feb 8 22:08:35 UTC 2016 +patches/packages/curl-7.47.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where NTLM credentials are not checked + for proxy connection reuse. The effects of this flaw is that the application + could be reusing a proxy connection using the previously used credentials + and thus it could be given to or prevented access from resources that it + wasn't intended to. Thanks to Isaac Boukris. + For more information, see: + https://curl.haxx.se/docs/adv_20160127A.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0755 + (* Security fix *) +patches/packages/flac-1.3.1-x86_64-1_slack14.0.txz: Upgraded. + This update is needed by the latest version of libsndfile. +patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txz: Upgraded. + This release fixes security issues which may allow attackers to cause + a denial of service, or possibly execute arbitrary code. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9496 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9756 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7805 + (* Security fix *) ++--------------------------+ +Wed Feb 3 22:39:25 UTC 2016 +patches/packages/glibc-zoneinfo-2016a-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txz: Upgraded. + This is the latest MPlayer-1.2 branch, identical to the 1.2.1 stable release. + The bundled ffmpeg has been upgraded to 2.8.5, which fixes two security + issues by which a remote attacker may conduct a cross-origin attack and read + arbitrary files on the system. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1897 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1898 + (* Security fix *) +patches/packages/openssl-1.0.1r-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issue: + SSLv2 doesn't block disabled ciphers (CVE-2015-3197). + For more information, see: + https://openssl.org/news/secadv/20160128.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3197 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1r-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/php-5.6.17-x86_64-1_slack14.0.txz: Upgraded. + This release fixes bugs and security issues. + ***************************************************************** + * IMPORTANT: READ BELOW ABOUT POTENTIALLY INCOMPATIBLE CHANGES * + ***************************************************************** + PHP 5.4.x has been declared EOL (end of life) and is no longer receiving + upstream support. PHP 5.5.x is also no longer on active support status and + security fixes will continue only until 5 months from now. For this reason + we have provided PHP 5.6 packages as security updates. Be aware that PHP + 5.6 is not 100% compatible with PHP 5.4, and some changes may be required + to existing web pages written for PHP 5.4. + For information on how to migrate from PHP 5.4, please see: + http://php.net/manual/en/migration55.php + http://php.net/manual/en/migration56.php + The final PHP 5.4 packages may be found in /pasture in case there is a need + to revert this update. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7803 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7804 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1903 + (* Security fix *) ++--------------------------+ +Fri Jan 15 02:29:54 UTC 2016 +patches/packages/openssh-7.1p2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes an information leak and a buffer overflow. In particular, + the information leak allows a malicious SSH server to steal the client's + private keys. Thanks to Qualys for reporting this issue. + For more information, see: + https://www.qualys.com/2016/01/14/cve-2016-0777-cve-2016-0778/openssh-cve-2016-0777-cve-2016-0778.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0777 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0778 + ***************************************************************** + * IMPORTANT: READ BELOW ABOUT POTENTIALLY INCOMPATIBLE CHANGES * + ***************************************************************** + Rather than backport the fix for the information leak (which is the only + hazardous flaw), we have upgraded to the latest OpenSSH. As of version + 7.0, OpenSSH has deprecated some older (and presumably less secure) + algorithms, and also (by default) only allows root login by public-key, + hostbased and GSSAPI authentication. Make sure that your keys and + authentication method will allow you to continue accessing your system + after the upgrade. + The release notes for OpenSSH 7.0 list the following incompatible changes + to be aware of: + * Support for the legacy SSH version 1 protocol is disabled by + default at compile time. + * Support for the 1024-bit diffie-hellman-group1-sha1 key exchange + is disabled by default at run-time. It may be re-enabled using + the instructions at http://www.openssh.com/legacy.html + * Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled + by default at run-time. These may be re-enabled using the + instructions at http://www.openssh.com/legacy.html + * Support for the legacy v00 cert format has been removed. + * The default for the sshd_config(5) PermitRootLogin option has + changed from "yes" to "prohibit-password". + * PermitRootLogin=without-password/prohibit-password now bans all + interactive authentication methods, allowing only public-key, + hostbased and GSSAPI authentication (previously it permitted + keyboard-interactive and password-less authentication if those + were enabled). + (* Security fix *) ++--------------------------+ +Wed Jan 13 00:01:23 UTC 2016 +patches/packages/dhcp-4.3.3_P1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a denial-of-service vulnerability. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8605 + (* Security fix *) +patches/packages/xscreensaver-5.34-x86_64-1_slack14.0.txz: Upgraded. + I promised jwz that I'd keep this updated in -stable when I removed (against + his wishes) the nag screen that complains if a year has passed since that + version was released. So, here's the latest one. ++--------------------------+ +Wed Dec 23 05:20:09 UTC 2015 +patches/packages/blueman-r708-x86_64-3_slack14.0.txz: Rebuilt. + This update fixes a local privilege escalation vulnerability. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8612 + (* Security fix *) ++--------------------------+ +Fri Dec 18 05:28:25 UTC 2015 +patches/packages/libpng-1.4.19-x86_64-1_slack14.0.txz: Upgraded. + Fixed an out-of-range read in png_check_keyword(). Thanks to Qixue Xiao. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8540 + (* Security fix *) ++--------------------------+ +Wed Dec 16 04:21:07 UTC 2015 +patches/packages/bind-9.9.8_P2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes three security issues: + Update allowed OpenSSL versions as named is potentially vulnerable + to CVE-2015-3193. + Insufficient testing when parsing a message allowed records with an + incorrect class to be be accepted, triggering a REQUIRE failure when + those records were subsequently cached. (CVE-2015-8000) + Address fetch context reference count handling error on socket error. + (CVE-2015-8461) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8000 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8461 + (* Security fix *) +patches/packages/libpng-1.4.18-x86_64-1_slack14.0.txz: Upgraded. + Fixed incorrect implementation of png_set_PLTE() that uses png_ptr + not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126 + vulnerability. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8472 + (* Security fix *) +patches/packages/openssl-1.0.1q-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + BN_mod_exp may produce incorrect results on x86_64 (CVE-2015-3193). + Certificate verify crash with missing PSS parameter (CVE-2015-3194). + X509_ATTRIBUTE memory leak (CVE-2015-3195). + Race condition handling PSK identify hint (CVE-2015-3196). + Anon DH ServerKeyExchange with 0 p parameter (CVE-2015-1794). + For more information, see: + https://openssl.org/news/secadv_20151203.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1794 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3194 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3195 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3196 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1q-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Thu Dec 3 07:28:30 UTC 2015 +patches/packages/libpng-1.4.17-x86_64-1_slack14.0.txz: Upgraded. + Fixed buffer overflows in the png_set_PLTE(), png_get_PLTE(), + png_set_tIME(), and png_convert_to_rfc1123() functions that allow + attackers to cause a denial of service (application crash) or + possibly have unspecified other impact via a small bit-depth value + in an IHDR (aka image header) chunk in a PNG image. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7981 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8126. + (* Security fix *) ++--------------------------+ +Fri Nov 6 01:15:43 UTC 2015 +patches/packages/mozilla-nss-3.20.1-x86_64-1_slack14.0.txz: Upgraded. + Upgraded to nss-3.20.1 and nspr-4.10.10. + This release contains security fixes and improvements. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7181 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7182 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7183 + (* Security fix *) ++--------------------------+ +Thu Oct 29 20:12:14 UTC 2015 +patches/packages/curl-7.45.0-x86_64-1_slack14.0.txz: Upgraded. + Fixes some security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3143 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3144 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3145 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3148 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3236 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3237 + (* Security fix *) +patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txz: Rebuilt. + Applied many security and bug fixes. + Thanks to Heinz Wiesinger. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3520 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3522 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4516 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4517 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8137 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8138 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8157 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8158 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9029 + (* Security fix *) +patches/packages/ntp-4.2.8p4-x86_64-1_slack14.0.txz: Upgraded. + In addition to bug fixes and enhancements, this release fixes + several low and medium severity vulnerabilities. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9750 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5196 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7691 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7692 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7701 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7702 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7704 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7705 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7848 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7849 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7850 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7851 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7852 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7853 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7854 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7855 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7871 + (* Security fix *) ++--------------------------+ +Mon Oct 5 17:24:30 UTC 2015 +patches/packages/glibc-zoneinfo-2015g-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Thu Oct 1 21:21:36 UTC 2015 +patches/packages/php-5.4.45-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some bugs and security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6834 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6835 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6836 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6837 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6838 + (* Security fix *) +patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Tue Sep 15 22:36:17 UTC 2015 +patches/packages/ca-certificates-20150426-noarch-2_slack14.0.txz: Rebuilt. + Patched update-ca-certificates to remove incompatible command operators + used to call 'run-parts'. Thanks to Stuart Winter. ++--------------------------+ +Thu Sep 3 22:02:39 UTC 2015 +patches/packages/seamonkey-2.35-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.35-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Wed Sep 2 19:36:31 UTC 2015 +patches/packages/bind-9.9.7_P3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two denial-of-service vulnerabilities: + + CVE-2015-5722 is a denial-of-service vector which can be + exploited remotely against a BIND server that is performing + validation on DNSSEC-signed records. Validating recursive + resolvers are at the greatest risk from this defect, but it has not + been ruled out that it could be exploited against an + authoritative-only nameserver under limited conditions. Servers + that are not performing validation are not vulnerable. However, + ISC does not recommend disabling validation as a workaround to + this issue as it exposes the server to other types of attacks. + Upgrading to the patched versions is the recommended solution. + All versions of BIND since 9.0.0 are vulnerable to CVE-2015-5722. + + CVE-2015-5986 is a denial-of-service vector which can be used + against a BIND server that is performing recursion. Validation + is not required. Recursive resolvers are at the greatest risk + from this defect, but it has not been ruled out that it could + be exploited against an authoritative-only nameserver under + limited conditions. + Only versions of BIND since 9.9.7 and 9.10.2 are vulnerable to + CVE-2015-5986. + For more information, see: + https://kb.isc.org/article/AA-01287/0 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5722 + https://kb.isc.org/article/AA-01291/0 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5986 + (* Security fix *) ++--------------------------+ +Tue Sep 1 23:29:22 UTC 2015 +patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txz: Rebuilt. + Gustavo Grieco discovered a heap overflow in the processing of BMP images + which may result in the execution of arbitrary code if a malformed image + is opened. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4491 + (* Security fix *) ++--------------------------+ +Fri Aug 21 21:17:48 UTC 2015 +patches/packages/gnutls-3.3.17.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some bugs and security issues. + For more information, see: + http://www.gnutls.org/security.html#GNUTLS-SA-2015-2 + http://www.gnutls.org/security.html#GNUTLS-SA-2015-3 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6251 + (* Security fix *) +patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txz: Upgraded. + This update is required for the new version of gnutls. ++--------------------------+ +Fri Aug 7 22:55:40 UTC 2015 +patches/packages/ca-certificates-20150426-noarch-1_slack14.0.txz: Upgraded. + This package updates to the latest CA certificates. +patches/packages/mozilla-nss-3.19.2-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/nss.html + (* Security fix *) ++--------------------------+ +Tue Jul 28 19:36:39 UTC 2015 +patches/packages/bind-9.9.7_P2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where an error in the handling of TKEY + queries can be exploited by an attacker for use as a denial-of-service + vector, as a constructed packet can use the defect to trigger a REQUIRE + assertion failure, causing BIND to exit. + Impact: + Both recursive and authoritative servers are vulnerable to this defect. + Additionally, exposure is not prevented by either ACLs or configuration + options limiting or denying service because the exploitable code occurs + early in the packet handling, before checks enforcing those boundaries. + Operators should take steps to upgrade to a patched version as soon as + possible. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5477 + https://kb.isc.org/article/AA-01272 + (* Security fix *) ++--------------------------+ +Fri Jul 17 19:38:52 UTC 2015 +patches/packages/httpd-2.4.16-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + * CVE-2015-0253: Fix a crash with ErrorDocument 400 pointing to a local + URL-path with the INCLUDES filter active, introduced in 2.4.11. + * CVE-2015-0228: mod_lua: A maliciously crafted websockets PING after a + script calls r:wsupgrade() can cause a child process crash. + * CVE-2015-3183: core: Fix chunk header parsing defect. Remove + apr_brigade_flatten(), buffering and duplicated code from the HTTP_IN + filter, parse chunks in a single pass with zero copy. Limit accepted + chunk-size to 2^63-1 and be strict about chunk-ext authorized characters. + * CVE-2015-3185: Replacement of ap_some_auth_required (unusable in Apache + httpd 2.4) with new ap_some_authn_required and ap_force_authn hook. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0228 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0253 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3183 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3185 + (* Security fix *) +patches/packages/php-5.4.43-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some bugs and security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2325 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2326 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3152 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3414 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3415 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3416 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4642 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4643 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4644 + (* Security fix *) ++--------------------------+ +Thu Jul 9 18:29:23 UTC 2015 +patches/packages/openssl-1.0.1p-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issue: + Alternative chains certificate forgery (CVE-2015-1793). + During certificate verification, OpenSSL (starting from version 1.0.1n and + 1.0.2b) will attempt to find an alternative certificate chain if the first + attempt to build such a chain fails. An error in the implementation of this + logic can mean that an attacker could cause certain checks on untrusted + certificates to be bypassed, such as the CA flag, enabling them to use a + valid leaf certificate to act as a CA and "issue" an invalid certificate. + This issue will impact any application that verifies certificates including + SSL/TLS/DTLS clients and SSL/TLS/DTLS servers using client authentication. + This issue affects OpenSSL versions 1.0.2c, 1.0.2b, 1.0.1n and 1.0.1o. + This issue was reported to OpenSSL on 24th June 2015 by Adam Langley/David + Benjamin (Google/BoringSSL). The fix was developed by the BoringSSL project. + For more information, see: + https://openssl.org/news/secadv_20150709.txt + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1793 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1p-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Tue Jul 7 22:59:17 UTC 2015 +patches/packages/bind-9.9.7_P1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where an attacker who can cause + a validating resolver to query a zone containing specifically constructed + contents can cause that resolver to fail an assertion and terminate due + to a defect in validation code. This means that a recursive resolver that + is performing DNSSEC validation can be deliberately stopped by an attacker + who can cause the resolver to perform a query against a + maliciously-constructed zone. This will result in a denial of service to + clients who rely on that resolver. + For more information, see: + https://kb.isc.org/article/AA-01267/ + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4620 + (* Security fix *) +patches/packages/cups-1.5.4-x86_64-3_slack14.0.txz: Rebuilt. + This release fixes a security issue: + CWE-911: Improper Update of Reference Count - CVE-2015-1158 + This bug could allow an attacker to upload a replacement CUPS + configuration file and mount further attacks. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1158 + (* Security fix *) +patches/packages/ntp-4.2.8p3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where under specific circumstances an + attacker can send a crafted packet to cause a vulnerable ntpd instance to + crash. Since this requires 1) ntpd set up to allow remote configuration + (not allowed by default), and 2) knowledge of the configuration password, + and 3) access to a computer entrusted to perform remote configuration, + the vulnerability is considered low-risk. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5146 + (* Security fix *) ++--------------------------+ +Fri Jun 12 17:58:45 UTC 2015 +patches/packages/openssl-1.0.1o-x86_64-1_slack14.0.txz: Upgraded. + New release to resolve 1.0.1n HMAC ABI incompatibility. +patches/packages/openssl-solibs-1.0.1o-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Thu Jun 11 21:31:47 UTC 2015 +patches/packages/openssl-1.0.1n-x86_64-1_slack14.0.txz: Upgraded. + Fixes several bugs and security issues: + o Malformed ECParameters causes infinite loop (CVE-2015-1788) + o Exploitable out-of-bounds read in X509_cmp_time (CVE-2015-1789) + o PKCS7 crash with missing EnvelopedContent (CVE-2015-1790) + o CMS verify infinite loop with unknown hash function (CVE-2015-1792) + o Race condition handling NewSessionTicket (CVE-2015-1791) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1788 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1789 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1790 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1792 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1791 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1n-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/php-5.4.41-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some bugs and security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-7243 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2325 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2326 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4021 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4022 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4024 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4025 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4026 + (* Security fix *) ++--------------------------+ +Tue May 12 07:17:33 UTC 2015 +patches/packages/mysql-5.5.43-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2568 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2573 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0433 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0441 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0501 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2571 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0505 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0499 + (* Security fix *) +patches/packages/wpa_supplicant-2.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes potential denial of service issues. + For more information, see: + http://w1.fi/security/2015-1/wpa_supplicant-p2p-ssid-overflow.txt + http://w1.fi/security/2015-2/wps-upnp-http-chunked-transfer-encoding.txt + http://w1.fi/security/2015-3/integer-underflow-in-ap-mode-wmm-action-frame.txt + http://w1.fi/security/2015-4/eap-pwd-missing-payload-length-validation.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1863 + (* Security fix *) ++--------------------------+ +Wed Apr 29 05:10:52 UTC 2015 +patches/packages/gnupg-1.4.19-x86_64-2_slack14.0.txz: Rebuilt. + Patched to fix spurious debug messages that may break sbopkg and slackpkg. + Thanks to Willy Sudiarto Raharjo. ++--------------------------+ +Tue Apr 21 23:44:00 UTC 2015 +patches/packages/bind-9.9.6_P2-x86_64-1_slack14.0.txz: Upgraded. + Fix some denial-of-service and other security issues. + For more information, see: + https://kb.isc.org/article/AA-01166/ + https://kb.isc.org/article/AA-01161/ + https://kb.isc.org/article/AA-01167/ + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1349 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8680 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3214 + (* Security fix *) +patches/packages/gnupg-1.4.19-x86_64-1_slack14.0.txz: Upgraded. + * Use ciphertext blinding for Elgamal decryption [CVE-2014-3591]. + See http://www.cs.tau.ac.il/~tromer/radioexp/ for details. + * Fixed data-dependent timing variations in modular exponentiation + [related to CVE-2015-0837, Last-Level Cache Side-Channel Attacks + are Practical]. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3591 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0837 + (* Security fix *) +patches/packages/httpd-2.4.12-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + * CVE-2014-3583 mod_proxy_fcgi: Fix a potential crash due to buffer + over-read, with response headers' size above 8K. + * CVE-2014-3581 mod_cache: Avoid a crash when Content-Type has an + empty value. PR 56924. + * CVE-2014-8109 mod_lua: Fix handling of the Require line when a + LuaAuthzProvider is used in multiple Require directives with + different arguments. PR57204. + * CVE-2013-5704 core: HTTP trailers could be used to replace HTTP + headers late during request processing, potentially undoing or + otherwise confusing modules that examined or modified request + headers earlier. Adds "MergeTrailers" directive to restore legacy + behavior. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3583 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3581 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8109 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5704 + (* Security fix *) +patches/packages/libssh-0.6.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0017 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8132 + (* Security fix *) +patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txz: Rebuilt. + Patched a vulnerability where malformed headers can cause mutt to crash. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9116 + (* Security fix *) +patches/packages/ntp-4.2.8p2-x86_64-1_slack14.0.txz: Upgraded. + In addition to bug fixes and enhancements, this release fixes the + following medium-severity vulnerabilities involving private key + authentication: + * ntpd accepts unauthenticated packets with symmetric key crypto. + * Authentication doesn't protect symmetric associations against DoS attacks. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1798 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1799 + (* Security fix *) +patches/packages/openssl-1.0.1m-x86_64-1_slack14.0.txz: Upgraded. + Fixes several bugs and security issues: + o Segmentation fault in ASN1_TYPE_cmp fix (CVE-2015-0286) + o ASN.1 structure reuse memory corruption fix (CVE-2015-0287) + o PKCS7 NULL pointer dereferences fix (CVE-2015-0289) + o DoS via reachable assert in SSLv2 servers fix (CVE-2015-0293) + o Use After Free following d2i_ECPrivatekey error fix (CVE-2015-0209) + o X509_to_X509_REQ NULL pointer deref fix (CVE-2015-0288) + o Removed the export ciphers from the DEFAULT ciphers + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0287 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0289 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0293 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0209 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0288 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1m-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/php-5.4.40-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some security issues. + Please note that this package build also moves the configuration files + from /etc/httpd to /etc, /etc/php.d, and /etc/php-fpm.d. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9709 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0231 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1351 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1352 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2301 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2305 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2331 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2783 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3330 + (* Security fix *) +patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txz: Rebuilt. + Fixed a potential security issue in parsing option files. + Fixed remotely triggerable PID overflow that causes pppd to crash. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3158 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3310 + (* Security fix *) +patches/packages/proftpd-1.3.4e-x86_64-1_slack14.0.txz: Upgraded. + Patched an issue where mod_copy allowed unauthenticated copying + of files via SITE CPFR/CPTO. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3306 + (* Security fix *) +patches/packages/seamonkey-2.33.1-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.33.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon Feb 16 19:33:36 UTC 2015 +patches/packages/patch-2.7.4-x86_64-1_slack14.0.txz: Upgraded. + Patch no longer follows symbolic links to input and output files. This + ensures that symbolic links created by git-style patches cannot cause + patch to write outside the working directory. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1196 + (* Security fix *) +patches/packages/seamonkey-2.32.1-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.32.1-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/sudo-1.8.12-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a potential security issue by only passing the TZ + environment variable it is considered safe. This prevents exploiting bugs + in glibc's TZ parser that could be used to read files that the user does + not have access to, or to cause a denial of service. + For more information, see: + http://www.sudo.ws/sudo/alerts/tz.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9680 + (* Security fix *) ++--------------------------+ +Wed Jan 28 19:23:00 UTC 2015 +patches/packages/glibc-2.15-x86_64-9_slack14.0.txz: Rebuilt. + This update patches a security issue __nss_hostname_digits_dots() function + of glibc which may be triggered through the gethostbyname*() set of + functions. This flaw could allow local or remote attackers to take control + of a machine running a vulnerable version of glibc. Thanks to Qualys for + discovering this issue (also known as the GHOST vulnerability.) + For more information, see: + https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235 + (* Security fix *) +patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txz: Rebuilt. +patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txz: Rebuilt. +patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txz: Rebuilt. +patches/packages/glibc-zoneinfo-2014j-noarch-1.txz: Upgraded. + Upgraded to tzcode2014j and tzdata2014j. ++--------------------------+ +Sat Jan 17 04:26:41 UTC 2015 +patches/packages/freetype-2.5.5-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/seamonkey-2.32-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.32-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Fri Jan 9 17:47:53 UTC 2015 +patches/packages/openssl-1.0.1k-x86_64-1_slack14.0.txz: Upgraded. + This update fixes several security issues: + DTLS segmentation fault in dtls1_get_record (CVE-2014-3571) + DTLS memory leak in dtls1_buffer_record (CVE-2015-0206) + no-ssl3 configuration sets method to NULL (CVE-2014-3569) + ECDHE silently downgrades to ECDH [Client] (CVE-2014-3572) + RSA silently downgrades to EXPORT_RSA [Client] (CVE-2015-0204) + DH client certificates accepted without verification [Server] (CVE-2015-0205) + Certificate fingerprints can be modified (CVE-2014-8275) + Bignum squaring may produce incorrect results (CVE-2014-3570) + For more information, see: + https://www.openssl.org/news/secadv_20150108.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3571 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0206 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3569 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3572 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0204 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0205 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8275 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3570 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1k-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Tue Dec 23 00:05:23 UTC 2014 +patches/packages/ntp-4.2.8-x86_64-1_slack14.0.txz: Upgraded. + In addition to bug fixes and enhancements, this release fixes + several high-severity vulnerabilities discovered by Neel Mehta + and Stephen Roettger of the Google Security Team. + For more information, see: + https://www.kb.cert.org/vuls/id/852879 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9293 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9294 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9295 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9296 + (* Security fix *) +patches/packages/php-5.4.36-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues. + #68545 (NULL pointer dereference in unserialize.c). + #68594 (Use after free vulnerability in unserialize()). (CVE-2014-8142) + #68283 (fileinfo: out-of-bounds read in elf note headers). (CVE-2014-3710) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3710 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8142 + (* Security fix *) ++--------------------------+ +Thu Dec 11 01:18:35 UTC 2014 +patches/packages/bind-9.9.6_P1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where a failure to place limits on + delegation chaining can allow an attacker to crash BIND or cause memory + exhaustion. + For more information, see: + https://kb.isc.org/article/AA-01216 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500 + (* Security fix *) +patches/packages/openssh-6.7p1-x86_64-2_slack14.0.txz: Rebuilt. + Restored support for tcpwrappers that was dropped by upstream. + Thanks to mancha. +patches/packages/openvpn-2.3.6-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue that allows remote authenticated + users to cause a denial of service (server crash) via a small control + channel packet. + For more information, see: + https://community.openvpn.net/openvpn/wiki/SecurityAnnouncement-97597e732b + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8104 + (* Security fix *) +patches/packages/pidgin-2.10.11-x86_64-1_slack14.0.txz: Upgraded. + This update contains login fixes for MSN and some XMPP servers. +patches/packages/seamonkey-2.31-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.31-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/wpa_supplicant-1.0-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a remote command-execution vulnerability caused by a + failure to adequately sanitize user-supplied input. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3686 + (* Security fix *) ++--------------------------+ +Thu Nov 13 20:45:54 UTC 2014 +patches/packages/pidgin-2.10.10-x86_64-2_slack14.0.txz: Rebuilt. + Fix Gadu-Gadu protocol when GnuTLS is not used. Thanks to mancha. ++--------------------------+ +Fri Nov 7 21:02:55 UTC 2014 +patches/packages/bash-4.2.053-x86_64-1_slack14.0.txz: Upgraded. + Applied all upstream patches. The previously applied patch requiring + a specific prefix/suffix in order to parse variables for functions + closed all of the known vulnerabilities anyway, but it's clear that + until all the patches were applied that the "is this still vulnerable" + questions were not going to end... ++--------------------------+ +Tue Nov 4 00:05:23 UTC 2014 +patches/packages/php-5.4.34-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues. + #68044 (Integer overflow in unserialize() (32-bits only)). (CVE-2014-3669) + #68113 (Heap corruption in exif_thumbnail()). (CVE-2014-3670) + #68027 (Global buffer overflow in mkgmtime() function). (CVE-2014-3668) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3669 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3670 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3668 + (* Security fix *) +patches/packages/seamonkey-2.30-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.30-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Wed Oct 29 18:21:12 UTC 2014 +patches/packages/wget-1.14-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a symlink vulnerability that could allow an attacker + to write outside of the expected directory. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4877 + (* Security fix *) ++--------------------------+ +Fri Oct 24 04:55:44 UTC 2014 +patches/packages/glibc-zoneinfo-2014i-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. +patches/packages/pidgin-2.10.10-x86_64-1_slack14.0.txz: Upgraded. + This update fixes several security issues: + Insufficient SSL certificate validation (CVE-2014-3694) + Remote crash parsing malformed MXit emoticon (CVE-2014-3695) + Remote crash parsing malformed Groupwise message (CVE-2014-3696) + Malicious smiley themes could alter arbitrary files (CVE-2014-3697) + Potential information leak from XMPP (CVE-2014-3698) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3694 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3695 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3696 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3697 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3698 + (* Security fix *) ++--------------------------+ +Mon Oct 20 22:21:45 UTC 2014 +patches/packages/openssh-6.7p1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue that allows remote servers to trigger + the skipping of SSHFP DNS RR checking by presenting an unacceptable + HostCertificate. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2653 + (* Security fix *) ++--------------------------+ +Wed Oct 15 17:28:59 UTC 2014 +patches/packages/openssl-solibs-1.0.1j-x86_64-1_slack14.0.txz: Upgraded. + (* Security fix *) +patches/packages/openssl-1.0.1j-x86_64-1_slack14.0.txz: Upgraded. + This update fixes several security issues: + SRTP Memory Leak (CVE-2014-3513): + A flaw in the DTLS SRTP extension parsing code allows an attacker, who + sends a carefully crafted handshake message, to cause OpenSSL to fail + to free up to 64k of memory causing a memory leak. This could be + exploited in a Denial Of Service attack. + Session Ticket Memory Leak (CVE-2014-3567): + When an OpenSSL SSL/TLS/DTLS server receives a session ticket the + integrity of that ticket is first verified. In the event of a session + ticket integrity check failing, OpenSSL will fail to free memory + causing a memory leak. By sending a large number of invalid session + tickets an attacker could exploit this issue in a Denial Of Service + attack. + SSL 3.0 Fallback protection: + OpenSSL has added support for TLS_FALLBACK_SCSV to allow applications + to block the ability for a MITM attacker to force a protocol + downgrade. + Some client applications (such as browsers) will reconnect using a + downgraded protocol to work around interoperability bugs in older + servers. This could be exploited by an active man-in-the-middle to + downgrade connections to SSL 3.0 even if both sides of the connection + support higher protocols. SSL 3.0 contains a number of weaknesses + including POODLE (CVE-2014-3566). + Build option no-ssl3 is incomplete (CVE-2014-3568): + When OpenSSL is configured with "no-ssl3" as a build option, servers + could accept and complete a SSL 3.0 handshake, and clients could be + configured to send them. + For more information, see: + https://www.openssl.org/news/secadv_20141015.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3513 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3567 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3568 + (* Security fix *) ++--------------------------+ +Mon Sep 29 18:41:23 UTC 2014 +patches/packages/bash-4.2.050-x86_64-1_slack14.0.txz: Upgraded. + Another bash update. Here's some information included with the patch: + "This patch changes the encoding bash uses for exported functions to avoid + clashes with shell variables and to avoid depending only on an environment + variable's contents to determine whether or not to interpret it as a shell + function." + After this update, an environment variable will not go through the parser + unless it follows this naming structure: BASH_FUNC_*%% + Most scripts never expected to import functions from environment variables, + so this change (although not backwards compatible) is not likely to break + many existing scripts. It will, however, close off access to the parser as + an attack surface in the vast majority of cases. There's already another + vulnerability similar to CVE-2014-6271 for which there is not yet a fix, + but this hardening patch prevents it (and likely many more similar ones). + Thanks to Florian Weimer and Chet Ramey. + (* Security fix *) ++--------------------------+ +Sun Sep 28 23:07:39 UTC 2014 +patches/packages/seamonkey-2.29.1-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.29.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Fri Sep 26 22:23:32 UTC 2014 +patches/packages/bash-4.2.049-x86_64-2_slack14.0.txz: Upgraded. + This is essentially a rebuild as the preliminary patch for CVE-2014-7169 + has been accepted by upstream and is now signed. This also bumps the + patchlevel, making it easy to tell this is the fixed version. + Possibly more changes to come, given the ongoing discussions on oss-sec. ++--------------------------+ +Thu Sep 25 19:55:13 UTC 2014 +patches/packages/bash-4.2.048-x86_64-2_slack14.0.txz: Rebuilt. + Patched an additional trailing string processing vulnerability discovered + by Tavis Ormandy. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169 + (* Security fix *) ++--------------------------+ +Wed Sep 24 22:52:53 UTC 2014 +patches/packages/bash-4.2.048-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a vulnerability in bash related to how environment + variables are processed: trailing code in function definitions was + executed, independent of the variable name. In many common configurations + (such as the use of CGI scripts), this vulnerability is exploitable over + the network. Thanks to Stephane Chazelas for discovering this issue. + For more information, see: + http://seclists.org/oss-sec/2014/q3/650 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271 + (* Security fix *) +patches/packages/mozilla-nss-3.16.5-x86_64-1_slack14.0.txz: Upgraded. + Fixed an RSA Signature Forgery vulnerability. + For more information, see: + https://www.mozilla.org/security/announce/2014/mfsa2014-73.html + (* Security fix *) ++--------------------------+ +Tue Sep 9 18:01:05 UTC 2014 +patches/packages/seamonkey-2.29-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + (* Security fix *) +patches/packages/seamonkey-solibs-2.29-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Thu Sep 4 19:43:25 UTC 2014 +patches/packages/php-5.4.32-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2497 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3538 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3587 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3597 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4670 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4698 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5120 + (* Security fix *) ++--------------------------+ +Thu Aug 28 23:17:47 UTC 2014 +patches/packages/mozilla-nss-3.16.4-x86_64-1.txz: Upgraded. + Upgraded to nss-3.16.4 and nspr-4.10.7. ++--------------------------+ +Fri Aug 8 19:02:50 UTC 2014 +patches/packages/openssl-1.0.1i-x86_64-1_slack14.0.txz: Upgraded. + This update fixes several security issues: + Double Free when processing DTLS packets (CVE-2014-3505) + DTLS memory exhaustion (CVE-2014-3506) + DTLS memory leak from zero-length fragments (CVE-2014-3507) + Information leak in pretty printing functions (CVE-2014-3508) + Race condition in ssl_parse_serverhello_tlsext (CVE-2014-3509) + OpenSSL DTLS anonymous EC(DH) denial of service (CVE-2014-3510) + OpenSSL TLS protocol downgrade attack (CVE-2014-3511) + SRP buffer overrun (CVE-2014-3512) + Crash with SRP ciphersuite in Server Hello message (CVE-2014-5139) + For more information, see: + https://www.openssl.org/news/secadv_20140806.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3505 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3506 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3507 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3508 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3509 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3510 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3511 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3512 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5139 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1i-x86_64-1_slack14.0.txz: Upgraded. + (* Security fix *) ++--------------------------+ +Fri Aug 1 21:13:18 UTC 2014 +patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a security issue where a specially crafted packet + received from a malicious DHCP server causes dhcpcd to enter an infinite + loop causing a denial of service. + Thanks to Tobias Stoeckmann for the bug report. + (* Security fix *) ++--------------------------+ +Wed Jul 23 23:00:34 UTC 2014 +patches/packages/httpd-2.4.10-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + *) SECURITY: CVE-2014-0117 (cve.mitre.org) + mod_proxy: Fix crash in Connection header handling which + allowed a denial of service attack against a reverse proxy + with a threaded MPM. [Ben Reser] + *) SECURITY: CVE-2014-0118 (cve.mitre.org) + mod_deflate: The DEFLATE input filter (inflates request bodies) now + limits the length and compression ratio of inflated request bodies to + avoid denial of sevice via highly compressed bodies. See directives + DeflateInflateLimitRequestBody, DeflateInflateRatioLimit, + and DeflateInflateRatioBurst. [Yann Ylavic, Eric Covener] + *) SECURITY: CVE-2014-0226 (cve.mitre.org) + Fix a race condition in scoreboard handling, which could lead to + a heap buffer overflow. [Joe Orton, Eric Covener] + *) SECURITY: CVE-2014-0231 (cve.mitre.org) + mod_cgid: Fix a denial of service against CGI scripts that do + not consume stdin that could lead to lingering HTTPD child processes + filling up the scoreboard and eventually hanging the server. By + default, the client I/O timeout (Timeout directive) now applies to + communication with scripts. The CGIDScriptTimeout directive can be + used to set a different timeout for communication with scripts. + [Rainer Jung, Eric Covener, Yann Ylavic] + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0117 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0118 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0226 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0231 + (* Security fix *) ++--------------------------+ +Sat Jul 12 02:24:10 UTC 2014 +patches/packages/php-5.4.30-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0207 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3478 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3479 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3480 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3487 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3515 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3981 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4049 + (* Security fix *) ++--------------------------+ +Tue Jun 24 22:35:07 UTC 2014 +patches/packages/bind-9.9.5_P1-x86_64-1_slack14.0.txz: Upgraded. + This fixes security issues and other bugs. Please note that the first + CVE only affects Windows, and the second one was claimed to be fixed by + an earlier version of BIND. But we'll update anyway just in case. :-) + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6230 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591 + (* Security fix *) +patches/packages/gnupg-1.4.17-x86_64-1_slack14.0.txz: Upgraded. + This release includes a security fix to stop a denial of service using + garbled compressed data packets which can be used to put gpg into an + infinite loop. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4617 + (* Security fix *) +patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txz: Upgraded. + This release includes a security fix to stop a denial of service using + garbled compressed data packets which can be used to put gpg into an + infinite loop. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4617 + (* Security fix *) +patches/packages/samba-3.6.24-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues, including a flaw in Samba's + internal DNS server which can be exploited to cause a denial of service, + a flaw in SRV_SNAPSHOT_ARRAY that permits attackers to leverage + configurations that use shadow_copy* for vfs objects to reveal potentially + private server information, a denial of service on the nmbd NetBIOS name + services daemon, and a denial of service crash involving overwriting + memory on an authenticated connection to the smbd file server. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0178 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0239 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0244 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3493 + (* Security fix *) +patches/packages/seamonkey-2.26.1-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.26.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon Jun 9 20:16:02 UTC 2014 +patches/packages/php-5.4.29-x86_64-1_slack14.0.txz: Upgraded. + This update fixes bugs and security issues, including a possible denial + of service, and an issue where insecure default permissions on the FPM + socket may allow local users to run arbitrary code as the apache user. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0185 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0237 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0238 + (* Security fix *) ++--------------------------+ +Fri Jun 6 04:27:01 UTC 2014 +patches/packages/gnutls-3.0.32-x86_64-1_slack14.0.txz: Upgraded. + A security issue has been corrected in gnutls. This vulnerability + affects the client side of the gnutls library. A server that sends + a specially crafted ServerHello could corrupt the memory of a requesting + client. This may allow a remote attacker to execute arbitrary code. + Additional vulnerabilities in the embedded libtasn1 library have also + been patched. + Thanks to mancha for the backported patches. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3465 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3466 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3467 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3468 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3469 + (* Security fix *) +patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txz: Upgraded. + Multiple security issues have been corrected in the libtasn1 library. + These errors allow a remote attacker to cause a denial of service, or + possibly to execute arbitrary code. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3467 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3468 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3469 + (* Security fix *) +patches/packages/openssl-1.0.1h-x86_64-1_slack14.0.txz: Upgraded. + Multiple security issues have been corrected, including a possible + man-in-the-middle attack where weak keying material is forced, denial + of service, and the execution of arbitrary code. + For more information, see: + http://www.openssl.org/news/secadv_20140605.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-5298 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0195 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0198 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0221 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3470 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1h-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txz: Upgraded. + This release fixes one security related bug by properly closing file + descriptors (except stdin, stdout, and stderr) before executing programs. + This bug could enable local users to interfere with an open SMTP + connection if they can execute their own program for mail delivery + (e.g., via procmail or the prog mailer). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3956 + (* Security fix *) +patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon May 12 02:24:36 UTC 2014 +patches/packages/seamonkey-2.26-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.26-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Tue Apr 22 17:31:48 UTC 2014 +patches/packages/openssh-6.6p1-x86_64-2_slack14.0.txz: Rebuilt. + Fixed a bug with curve25519-sha256 that caused a key exchange failure in + about 1 in 512 connection attempts. ++--------------------------+ +Mon Apr 21 20:09:48 UTC 2014 +patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a heap overflow in URI escape parsing of YAML in Ruby, + where a specially crafted string could cause a heap overflow leading to + arbitrary code execution. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2525 + https://www.ruby-lang.org/en/news/2014/03/29/heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525/ + (* Security fix *) +patches/packages/php-5.4.27-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue in the in the awk script detector + which allows context-dependent attackers to cause a denial of service + (CPU consumption) via a crafted ASCII file that triggers a large amount + of backtracking. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7345 + (* Security fix *) ++--------------------------+ +Tue Apr 8 14:19:51 UTC 2014 +patches/packages/openssl-1.0.1g-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two security issues: + A missing bounds check in the handling of the TLS heartbeat extension + can be used to reveal up to 64k of memory to a connected client or server. + Thanks for Neel Mehta of Google Security for discovering this bug and to + Adam Langley and Bodo Moeller for + preparing the fix. + Fix for the attack described in the paper "Recovering OpenSSL + ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack" + by Yuval Yarom and Naomi Benger. Details can be obtained from: + http://eprint.iacr.org/2014/140 + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0076 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1g-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon Mar 31 20:30:28 UTC 2014 +patches/packages/apr-1.5.0-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/httpd-2.4.9-x86_64-2_slack14.0.txz: Rebuilt. + Recompiled against new apr/apr-util to restore missing mod_mpm_event.so. ++--------------------------+ +Fri Mar 28 03:43:11 UTC 2014 +patches/packages/curl-7.36.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes four security issues. + For more information, see: + http://curl.haxx.se/docs/adv_20140326A.html + http://curl.haxx.se/docs/adv_20140326B.html + http://curl.haxx.se/docs/adv_20140326C.html + http://curl.haxx.se/docs/adv_20140326D.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0138 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0139 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1263 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2522 + (* Security fix *) +patches/packages/httpd-2.4.9-x86_64-1_slack14.0.txz: Upgraded. + This update addresses two security issues. + Segfaults with truncated cookie logging. mod_log_config: Prevent segfaults + when logging truncated cookies. Clean up the cookie logging parser to + recognize only the cookie=value pairs, not valueless cookies. + mod_dav: Keep track of length of cdata properly when removing leading + spaces. Eliminates a potential denial of service from specifically crafted + DAV WRITE requests. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0098 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6438 + (* Security fix *) +patches/packages/mozilla-nss-3.16-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue: + The cert_TestHostName function in lib/certdb/certdb.c in the + certificate-checking implementation in Mozilla Network Security Services + (NSS) before 3.16 accepts a wildcard character that is embedded in an + internationalized domain name's U-label, which might allow man-in-the-middle + attackers to spoof SSL servers via a crafted certificate. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1492 + (* Security fix *) +patches/packages/openssh-6.6p1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue when using environment passing with + a sshd_config(5) AcceptEnv pattern with a wildcard. OpenSSH could be + tricked into accepting any environment variable that contains the + characters before the wildcard character. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2532 + (* Security fix *) +patches/packages/seamonkey-2.25-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.25-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sun Mar 16 02:52:28 UTC 2014 +patches/packages/php-5.4.26-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a flaw where a specially crafted data file may cause a + segfault or 100% CPU consumption when a web page uses fileinfo() on it. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1943 + (* Security fix *) ++--------------------------+ +Fri Mar 14 00:44:48 UTC 2014 +patches/packages/samba-3.6.23-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two security issues: + CVE-2013-4496: + Samba versions 3.4.0 and above allow the administrator to implement + locking out Samba accounts after a number of bad password attempts. + However, all released versions of Samba did not implement this check for + password changes, such as are available over multiple SAMR and RAP + interfaces, allowing password guessing attacks. + CVE-2013-6442: + Samba versions 4.0.0 and above have a flaw in the smbcacls command. If + smbcacls is used with the "-C|--chown name" or "-G|--chgrp name" + command options it will remove the existing ACL on the object being + modified, leaving the file or directory unprotected. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4496 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6442 + (* Security fix *) ++--------------------------+ +Thu Mar 13 03:32:38 UTC 2014 +patches/packages/mutt-1.5.23-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a buffer overflow where malformed RFC2047 header + lines could result in denial of service or potentially the execution + of arbitrary code as the user running mutt. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0467 + (* Security fix *) ++--------------------------+ +Tue Mar 11 07:06:18 UTC 2014 +patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a stack-based buffer overflow when handling long path + names. A malicious, local user could use this flaw to create a + specially-crafted directory structure that could lead to arbitrary code + execution with the privileges of the udisks daemon (root). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0004 + (* Security fix *) +patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a stack-based buffer overflow when handling long path + names. A malicious, local user could use this flaw to create a + specially-crafted directory structure that could lead to arbitrary code + execution with the privileges of the udisks daemon (root). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0004 + (* Security fix *) ++--------------------------+ +Mon Mar 3 23:32:18 UTC 2014 +patches/packages/gnutls-3.0.31-x86_64-3_slack14.0.txz: Rebuilt. + Fixed a security issue where a specially crafted certificate could + bypass certificate validation checks. + Thanks to mancha for the backported patch. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0092 + (* Security fix *) ++--------------------------+ +Thu Feb 27 20:43:28 UTC 2014 +patches/packages/subversion-1.7.16-x86_64-1_slack14.0.txz: Upgraded. + Fix denial of service bugs. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4505 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4558 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0032 + (* Security fix *) ++--------------------------+ +Thu Feb 20 00:30:49 UTC 2014 +patches/packages/gnutls-3.0.31-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a flaw where a version 1 intermediate certificate would be + considered as a CA certificate by GnuTLS by default. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1959 + (* Security fix *) +patches/packages/mysql-5.5.36-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a buffer overflow in the mysql command line client which + may allow malicious or compromised database servers to cause a denial of + service (crash) and possibly execute arbitrary code via a long server + version string. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0001 + (* Security fix *) ++--------------------------+ +Thu Feb 13 23:45:53 UTC 2014 +patches/packages/curl-7.35.0-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a flaw where libcurl could, in some circumstances, reuse + the wrong connection when asked to do an NTLM-authenticated HTTP or HTTPS + request. + For more information, see: + http://curl.haxx.se/docs/adv_20140129.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0015 + (* Security fix *) +patches/packages/ntp-4.2.6p5-x86_64-3_slack14.0.txz: Rebuilt. + All stable versions of NTP remain vulnerable to a remote attack where the + "ntpdc -c monlist" command can be used to amplify network traffic as part + of a denial of service attack. By default, Slackware is not vulnerable + since it includes "noquery" as a default restriction. However, it is + vulnerable if this restriction is removed. To help mitigate this flaw, + "disable monitor" has been added to the default ntp.conf (which will disable + the monlist command even if other queries are allowed), and the default + restrictions have been extended to IPv6 as well. + All users of the NTP daemon should make sure that their ntp.conf contains + "disable monitor" to prevent misuse of the NTP service. The new ntp.conf + file will be installed as /etc/ntp.conf.new with a package upgrade, but the + changes will need to be merged into any existing ntp.conf file by the admin. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5211 + http://www.kb.cert.org/vuls/id/348126 + (* Security fix *) ++--------------------------+ +Sat Feb 8 18:41:15 UTC 2014 +patches/packages/seamonkey-2.24-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.24-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon Feb 3 20:58:32 UTC 2014 +patches/packages/pidgin-2.10.9-x86_64-1_slack14.0.txz: Upgraded. + This update fixes various security issues and other bugs. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6152 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6477 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6478 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6479 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6481 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6482 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6483 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6484 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6485 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6486 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6487 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6489 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6490 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0020 + (* Security fix *) ++--------------------------+ +Tue Jan 28 21:07:13 UTC 2014 +patches/packages/bind-9.9.4_P2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a defect in the handling of NSEC3-signed zones that can + cause BIND to be crashed by a specific set of queries. + NOTE: According to the second link below, Slackware is probably not + vulnerable since we aren't using glibc-2.18 yet. Might as well fix it + anyway, though. + For more information, see: + https://kb.isc.org/article/AA-01078 + https://kb.isc.org/article/AA-01085 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591 + (* Security fix *) +patches/packages/mozilla-nss-3.15.4-x86_64-1_slack14.0.txz: Upgraded. + Upgraded to nss-3.15.4 and nspr-4.10.3. + Fixes a possible man-in-the-middle issue. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1740 + (* Security fix *) ++--------------------------+ +Tue Jan 14 03:54:48 UTC 2014 +patches/packages/libXfont-1.4.7-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a stack overflow when reading a BDF font file containing + a longer than expected string, which could lead to crashes or privilege + escalation. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6462 + (* Security fix *) +patches/packages/openssl-1.0.1f-x86_64-1_slack14.0.txz: Upgraded. + This update fixes the following security issues: + Fix for TLS record tampering bug CVE-2013-4353 + Fix for TLS version checking bug CVE-2013-6449 + Fix for DTLS retransmission bug CVE-2013-6450 + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4353 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6449 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6450 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1f-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/php-5.4.24-x86_64-1_slack14.0.txz: Upgraded. + The asn1_time_to_time_t function in ext/openssl/openssl.c in PHP before + 5.3.28, 5.4.x before 5.4.23, and 5.5.x before 5.5.7 does not properly + parse (1) notBefore and (2) notAfter timestamps in X.509 certificates, + which allows remote attackers to execute arbitrary code or cause a denial + of service (memory corruption) via a crafted certificate that is not + properly handled by the openssl_x509_parse function. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6420 + (* Security fix *) ++--------------------------+ +Fri Dec 20 22:46:09 UTC 2013 +patches/packages/gnupg-1.4.16-x86_64-1_slack14.0.txz: Upgraded. + Fixed the RSA Key Extraction via Low-Bandwidth Acoustic + Cryptanalysis attack as described by Genkin, Shamir, and Tromer. + For more information, see: + http://www.cs.tau.ac.il/~tromer/acoustic/ + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4576 + (* Security fix *) ++--------------------------+ +Mon Dec 16 20:51:01 UTC 2013 +patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txz: Upgraded. + This update fixes an rpath pointing to a location in /tmp that was found in + two test programs (iodbctest and iodbctestw). This could have allowed a + local attacker with write access to /tmp to add modified libraries (and + execute arbitrary code) as any user running the test programs. + Thanks to Christopher Oliver for the bug report. + (* Security fix *) +patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txz: Rebuilt. + Fix use of uninitialized memory when decoding images with missing SOS data + for the luminance component (Y) in presence of valid chroma data (Cr, Cb). + This could allow remote attackers to obtain sensitive information from + uninitialized memory locations via a crafted JPEG image. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6629 + (* Security fix *) +patches/packages/llvm-3.0-x86_64-3_slack14.0.txz: Rebuilt. + The LLVM package included binaries with an rpath pointing to the build + location in /tmp. This allows an attacker with write access to /tmp to + add modified libraries (and execute arbitrary code) as any user running + the LLVM binaries. This updated package rebuilds LLVM to exclude the + build directories from the rpath information. + Thanks to Christopher Oliver for the bug report. + (* Security fix *) +patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a heap overflow in floating point parsing. A specially + crafted string could cause a heap overflow leading to a denial of service + attack via segmentation faults and possibly arbitrary code execution. + For more information, see: + https://www.ruby-lang.org/en/news/2013/11/22/heap-overflow-in-floating-point-parsing-cve-2013-4164/ + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4164 + (* Security fix *) +patches/packages/seamonkey-2.23-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.23-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Thu Dec 5 22:20:36 UTC 2013 +patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txz: Rebuilt. + This update disables the automatic upgrade feature which can be easily + fooled into downloading an arbitrary binary and executing it. This + issue affects only Slackware 14.0 (earlier versions do not have the + feature, and newer ones had already disabled it). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6427 + (* Security fix *) +patches/packages/mozilla-nss-3.15.3-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/announce/2013/mfsa2013-103.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbirdESR.html + (* Security fix *) +patches/packages/seamonkey-2.22.1-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.22.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Mon Nov 18 20:52:16 UTC 2013 +patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/php-5.4.22-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/samba-3.6.20-x86_64-1_slack14.0.txz: Upgraded. + This update fixes two security issues: + * Samba versions 3.2.0 and above do not check the underlying file or + directory ACL when opening an alternate data stream. + * In setups which provide ldap(s) and/or https services, the private key + for SSL/TLS encryption might be world readable. This typically happens + in active directory domain controller setups. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4475 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4476 + (* Security fix *) +patches/packages/seamonkey-2.22-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.22-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sun Nov 3 06:07:52 UTC 2013 +patches/packages/mozilla-thunderbird-17.0.10esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbirdESR.html + (* Security fix *) ++--------------------------+ +Sat Oct 19 03:42:15 UTC 2013 +patches/packages/hplip-3.12.9-x86_64-3_slack14.0.txz: Rebuilt. + This fixes a polkit race condition that could allow local users to bypass + intended access restrictions. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4325 + (* Security fix *) ++--------------------------+ +Fri Oct 18 02:41:09 UTC 2013 +patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txz: Upgraded. + Patched overflows, crashes, and out of bounds writes. + Thanks to mancha for the backported patches. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2088 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2113 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4447 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4564 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1960 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1961 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4231 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4232 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4244 + (* Security fix *) ++--------------------------+ +Mon Oct 14 22:09:17 UTC 2013 +patches/packages/gnupg-1.4.15-x86_64-1_slack14.0.txz: Upgraded. + Fixed possible infinite recursion in the compressed packet + parser. [CVE-2013-4402] + Protect against rogue keyservers sending secret keys. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4402 + (* Security fix *) +patches/packages/gnupg2-2.0.22-x86_64-1_slack14.0.txz: Upgraded. + Fixed possible infinite recursion in the compressed packet + parser. [CVE-2013-4402] + Protect against rogue keyservers sending secret keys. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4402 + (* Security fix *) +patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txz: Upgraded. + This package upgrade was needed by the new version of gnupg2. +patches/packages/xorg-server-1.12.4-x86_64-2_slack14.0.txz: Rebuilt. + Patched a use-after-free bug that can cause an X server crash or + memory corruption. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4396 + (* Security fix *) +patches/packages/xorg-server-xephyr-1.12.4-x86_64-2_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xnest-1.12.4-x86_64-2_slack14.0.txz: Rebuilt. +patches/packages/xorg-server-xvfb-1.12.4-x86_64-2_slack14.0.txz: Rebuilt. ++--------------------------+ +Thu Oct 3 02:57:44 UTC 2013 +patches/packages/mozilla-nss-3.15.2-x86_64-1_slack14.0.txz: Upgraded. + Upgraded to nss-3.15.2 and nspr-4.10.1. + This should help keep Google Chrome updates working for a while. + Also, adding /lib and /usr/lib (or /lib64 and /usr/lib64) to the + top of /etc/ld.so.conf will help Chrome use the correct libraries + instead of the ones from Seamonkey. ++--------------------------+ +Wed Oct 2 03:25:01 UTC 2013 +patches/packages/ca-certificates-20130906-noarch-1_slack14.0.txz: Upgraded. + This package updates to the latest CA certificates. ++--------------------------+ +Sun Sep 29 02:39:29 UTC 2013 +patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes issues with sensors-detect that may cause serious trouble + on recent hardware (most notably laptops.) The symptoms are that the + display starts misbehaving (wrong resolution or wrong gamma factor.) + The risk is mitigated in this package by changing the default behavior of + sensors-detect to no longer touch EDID EEPROMs and then to no longer probe + graphics adapters at all unless the user asks for it. +patches/packages/seamonkey-2.21-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.21-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Wed Sep 18 02:56:19 UTC 2013 +patches/packages/glibc-2.15-x86_64-8_slack14.0.txz: Rebuilt. + Patched to fix integer overflows in pvalloc, valloc, and + posix_memalign/memalign/aligned_alloc. + Thanks to mancha for the backported patch. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4332 + (* Security fix *) + Also, as long as these packages were being respun anyway, I added a patch + to fix the check for AVX opcodes. This was causing crashes on Xen. + Thanks to Dale Gallagher. +patches/packages/glibc-i18n-2.15-x86_64-8_slack14.0.txz: Rebuilt. +patches/packages/glibc-profile-2.15-x86_64-8_slack14.0.txz: Rebuilt. +patches/packages/glibc-solibs-2.15-x86_64-8_slack14.0.txz: Rebuilt. +patches/packages/glibc-zoneinfo-2013d_2013d-noarch-8_slack14.0.txz: Rebuilt. +patches/packages/mozilla-firefox-17.0.9esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.9esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbirdESR.html + (* Security fix *) ++--------------------------+ +Mon Sep 9 03:34:59 UTC 2013 +patches/packages/subversion-1.7.13-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a local privilege escalation vulnerability via + symlink attack. + For more information, see: + http://subversion.apache.org/security/CVE-2013-4277-advisory.txt + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4277 + (* Security fix *) ++--------------------------+ +Fri Aug 30 19:39:38 UTC 2013 +patches/packages/gnutls-3.0.31-x86_64-1_slack14.0.txz: Upgraded. + [Updated to the correct version to fix fetching the "latest" from gnu.org] + This update prevents a side-channel attack which may allow remote attackers + to conduct distinguishing attacks and plaintext recovery attacks using + statistical analysis of timing data for crafted packets. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1619 + (* Security fix *) +patches/packages/samba-3.6.18-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Fri Aug 30 06:26:06 UTC 2013 +patches/packages/gnutls-3.0.26-x86_64-1_slack14.0.txz: Upgraded. + This update prevents a side-channel attack which may allow remote attackers + to conduct distinguishing attacks and plaintext recovery attacks using + statistical analysis of timing data for crafted packets. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1619 + (* Security fix *) +patches/packages/php-5.4.19-x86_64-1_slack14.0.txz: Upgraded. + Fixed handling null bytes in subjectAltName (CVE-2013-4248). + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4248 + (* Security fix *) ++--------------------------+ +Wed Aug 21 18:27:33 UTC 2013 +patches/packages/hplip-3.12.9-x86_64-2_slack14.0.txz: Rebuilt. + This update fixes a stack-based buffer overflow in the hpmud_get_pml + function that can allow remote attackers to cause a denial of service + (crash) and possibly execute arbitrary code via a crafted SNMP response + with a large length value. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4267 + (* Security fix *) +patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txz: Rebuilt. + Sanitize error messages to remove escape sequences that could be used to + exploit vulnerable terminal emulators. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2142 + (* Security fix *) +patches/packages/xpdf-3.03-x86_64-1_slack14.0.txz: Upgraded. + Sanitize error messages to remove escape sequences that could be used to + exploit vulnerable terminal emulators. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2142 + Thanks to mancha. + (* Security fix *) ++--------------------------+ +Thu Aug 15 03:46:12 UTC 2013 +patches/packages/seamonkey-2.20-x86_64-2_slack14.0.txz: Rebuilt. + Recompiled without the --enable-shared-js option to fix the Mozilla + Lightning plugin. This removes libmozjs.so, but there's a standalone js + package now anyway. + Thanks to ljb643. +patches/packages/seamonkey-solibs-2.20-x86_64-2_slack14.0.txz: Rebuilt. + Recompiled without the --enable-shared-js option to fix the Mozilla + Lightning plugin. This removes libmozjs.so, but there's a standalone js + package now anyway. + Thanks to ljb643. ++--------------------------+ +Thu Aug 8 02:22:40 UTC 2013 +patches/packages/mozilla-firefox-17.0.8esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.8-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) +patches/packages/seamonkey-2.20-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.20-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Tue Aug 6 05:23:34 UTC 2013 +patches/packages/bind-9.9.3_P2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where a specially crafted query can cause + BIND to terminate abnormally, resulting in a denial of service. + For more information, see: + https://kb.isc.org/article/AA-01015 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4854 + (* Security fix *) +patches/packages/httpd-2.4.6-x86_64-1_slack14.0.txz: Upgraded. + This update addresses two security issues: + * SECURITY: CVE-2013-1896 (cve.mitre.org) Sending a MERGE request against + a URI handled by mod_dav_svn with the source href (sent as part of the + request body as XML) pointing to a URI that is not configured for DAV + will trigger a segfault. + * SECURITY: CVE-2013-2249 (cve.mitre.org) mod_session_dbd: Make sure that + dirty flag is respected when saving sessions, and ensure the session ID + is changed each time the session changes. This changes the format of the + updatesession SQL statement. Existing configurations must be changed. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1896 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2249 + (* Security fix *) +patches/packages/samba-3.6.17-x86_64-1_slack14.0.txz: Upgraded. + This update fixes missing integer wrap protection in an EA list reading + that can allow authenticated or guest connections to cause the server to + loop, resulting in a denial of service. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4124 + (* Security fix *) ++--------------------------+ +Sat Aug 3 20:36:53 UTC 2013 +patches/packages/gnupg-1.4.14-x86_64-1_slack14.0.txz: Upgraded. + Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA + secret keys. + For more information, see: + http://eprint.iacr.org/2013/448 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4242 + (* Security fix *) +patches/packages/libgcrypt-1.5.3-x86_64-1_slack14.0.txz: Upgraded. + Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA + secret keys. + For more information, see: + http://eprint.iacr.org/2013/448 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4242 + (* Security fix *) ++--------------------------+ +Tue Jul 16 21:18:56 UTC 2013 +patches/packages/php-5.4.17-x86_64-1_slack14.0.txz: Upgraded. + This update fixes an issue where XML in PHP does not properly consider + parsing depth, which allows remote attackers to cause a denial of service + (heap memory corruption) or possibly have unspecified other impact via a + crafted document that is processed by the xml_parse_into_struct function. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4113 + (* Security fix *) ++--------------------------+ +Wed Jul 10 07:15:30 UTC 2013 +patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txz: Rebuilt. + This update fixes a security issue where misuse of va_list could be used to + cause a denial of service for system services. + Vulnerability reported by Alexandru Cornea. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2168 + (* Security fix *) ++--------------------------+ +Sun Jul 7 01:31:24 UTC 2013 +patches/packages/httpd-2.4.4-x86_64-2_slack14.0.txz: Rebuilt. + Patched htpasswd hash generation bug. + Thanks to MadMaverick9. ++--------------------------+ +Sat Jun 29 22:08:25 UTC 2013 +patches/packages/mozilla-firefox-17.0.7esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html + (* Security fix *) + We had to switch to ESR here as well, as there's a problem running Firefox + 22.0 on Slackware 14.0 under KDE (crash when oxygen-gtk2 is installed). + Forcing people to uninstall oxygen-gtk2 isn't really an option for a + security fix, and upgrading to the latest oxygen-gtk2 did not help. + It's possible that future Firefox/Thunderbird security updates will always + come from the ESR branch. +patches/packages/mozilla-thunderbird-17.0.7-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Thu Jun 27 23:56:34 UTC 2013 +patches/packages/ruby-1.9.3_p448-x86_64-1_slack14.0.txz: Upgraded. + This update patches a vulnerability in Ruby's SSL client that could allow + man-in-the-middle attackers to spoof SSL servers via a valid certificate + issued by a trusted certification authority. + For more information, see: + http://www.ruby-lang.org/en/news/2013/06/27/hostname-check-bypassing-vulnerability-in-openssl-client-cve-2013-4073/ + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4073 + (* Security fix *) ++--------------------------+ +Sun Jun 23 21:00:00 UTC 2013 +patches/packages/curl-7.29.0-x86_64-3_slack14.0.txz: Rebuilt. + This fixes a minor security issue where a decode buffer boundary flaw in + libcurl could lead to heap corruption. + For more information, see: + http://curl.haxx.se/docs/adv_20130622.html + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2174 + (* Security fix *) ++--------------------------+ +Mon Jun 10 21:51:54 UTC 2013 +patches/packages/php-5.4.16-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. It also fixes a security issue -- a heap-based + overflow in the quoted_printable_encode() function, which could be used by + a remote attacker to crash PHP or execute code as the 'apache' user. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2110 + (* Security fix *) ++--------------------------+ +Mon Jun 3 22:10:16 UTC 2013 +patches/packages/linux-3.2.45/*: Rebuilt. + One more reverted commit. This one was leading to hangs on systems with + Intel graphics. The previous revert was also reverted in 3.2.46, but it + seems safer to just get this one manually than to take the newer kernel and + still have to do another patch to it anyway. Hopefully the third time is + the charm. :) ++--------------------------+ +Wed May 22 14:11:13 UTC 2013 +patches/packages/linux-3.2.45/*: Rebuilt. + It appears a bad commit slipped into 3.2.45 and it's causing problems on + systems that use Intel graphics. The commit has been reverted in the kernel + source packages and the kernels and modules have been rebuilt. If you ran + into the black screen problem before, this should fix it up. ++--------------------------+ +Mon May 20 21:01:33 UTC 2013 +patches/packages/linux-3.2.45/*: Upgraded. + Upgraded to new kernels that fix CVE-2013-2094, a bug that can allow local + users to gain a root shell. Be sure to upgrade your initrd and reinstall + LILO after upgrading the kernel packages. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2094 + (* Security fix *) ++--------------------------+ +Thu May 16 21:42:08 UTC 2013 +patches/packages/ruby-1.9.3_p429-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue in DL and Fiddle included in Ruby where + tainted strings can be used by system calls regardless of the $SAFE level + setting. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2065 + http://www.ruby-lang.org/en/news/2013/05/14/taint-bypass-dl-fiddle-cve-2013-2065/ + (* Security fix *) ++--------------------------+ +Thu May 16 18:28:01 UTC 2013 +patches/packages/mozilla-thunderbird-17.0.6-x86_64-1_slack14.0.txz: Upgraded. + Here's the package that was missing from the last batch. The wrong entry in + the ChangeLog was removed to prevent slackpkg from having trouble with it. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Wed May 15 23:38:49 UTC 2013 +patches/packages/mozilla-firefox-21.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) ++--------------------------+ +Fri Apr 19 21:24:48 UTC 2013 +patches/packages/xorg-server-1.12.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes an input flush bug with evdev. Under exceptional + conditions (keyboard input during device hotplugging), this could leak + a small amount of information intended for the X server. + This issue was evaluated to be of low impact. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1940 + http://lists.x.org/archives/xorg-devel/2013-April/036014.html + (* Security fix *) +patches/packages/xorg-server-xephyr-1.12.4-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/xorg-server-xnest-1.12.4-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/xorg-server-xvfb-1.12.4-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Wed Apr 17 02:09:43 UTC 2013 +patches/packages/seamonkey-2.17.1-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.17.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sun Apr 7 23:23:38 UTC 2013 +patches/packages/seamonkey-2.17-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.17-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Fri Apr 5 05:21:45 UTC 2013 +patches/packages/subversion-1.7.9-x86_64-1_slack14.0.txz: Upgraded. + This update fixes some denial of service bugs: + mod_dav_svn excessive memory usage from property changes + mod_dav_svn crashes on LOCK requests against activity URLs + mod_dav_svn crashes on LOCK requests against non-existant URLs + mod_dav_svn crashes on PROPFIND requests against activity URLs + mod_dav_svn crashes on out of range limit in log REPORT request + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1845 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1846 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1847 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1849 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1884 + (* Security fix *) ++--------------------------+ +Wed Apr 3 06:58:59 UTC 2013 +patches/packages/mozilla-firefox-20.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.5-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Fri Mar 29 00:27:36 UTC 2013 +patches/packages/libssh-0.5.4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a possible denial of service issue. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0176 + (* Security fix *) ++--------------------------+ +Thu Mar 28 06:59:52 UTC 2013 +patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txz: Rebuilt. + Patched a bug that caused tumbler to hold files open preventing volumes from + being ejected. ++--------------------------+ +Wed Mar 27 06:09:29 UTC 2013 +patches/packages/bind-9.9.2_P2-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a critical defect in BIND 9 that allows an attacker + to cause excessive memory consumption in named or other programs linked + to libdns. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2266 + https://kb.isc.org/article/AA-00871 + (* Security fix *) +patches/packages/dhcp-4.2.5_P1-x86_64-1_slack14.0.txz: Upgraded. + This update replaces the included BIND 9 code that the DHCP programs + link against. Those contained a defect that could possibly lead to + excessive memory consumption and a denial of service. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2266 + (* Security fix *) ++--------------------------+ +Sat Mar 23 20:22:12 UTC 2013 +patches/packages/php-5.4.13-x86_64-1_slack14.0.txz: Upgraded. + This release fixes two security issues in SOAP: + Added check that soap.wsdl_cache_dir conforms to open_basedir. + Disabled external entities loading. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1635 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1643 + (* Security fix *) ++--------------------------+ +Sat Mar 16 19:35:45 UTC 2013 +patches/packages/seamonkey-2.16.2-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.16.2-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sat Mar 16 07:10:09 UTC 2013 +patches/packages/ruby-1.9.3_p392-x86_64-1_slack14.0.txz: Upgraded. + This release includes security fixes about bundled JSON and REXML. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0269 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1821 + (* Security fix *) ++--------------------------+ +Thu Mar 14 03:55:33 UTC 2013 +patches/packages/perl-5.16.3-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a flaw in the rehashing code that can be exploited + to carry out a denial of service attack against code that uses arbitrary + user input as hash keys. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1667 + (* Security fix *) +patches/packages/seamonkey-2.16.1-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.16.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Tue Mar 12 06:59:27 UTC 2013 +patches/packages/glibc-zoneinfo-2013b-noarch-1_slack14.0.txz: Upgraded. + This package provides the latest timezone updates. ++--------------------------+ +Sat Mar 9 06:19:05 UTC 2013 +patches/packages/mozilla-firefox-19.0.2-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.4esr-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Thu Mar 7 00:16:35 UTC 2013 +patches/packages/sudo-1.8.6p7-x86_64-1_slack14.0.txz: Upgraded. + This update fixes security issues that could allow a user to run commands + without authenticating after the password timeout has already expired. + Note that the vulnerability did not permit a user to run commands other + than those allowed by the sudoers policy. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1775 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1776 + (* Security fix *) ++--------------------------+ +Sun Mar 3 22:10:56 UTC 2013 +patches/packages/httpd-2.4.4-x86_64-1_slack14.0.txz: Upgraded. + This update provides bugfixes and enhancements. + Two security issues are fixed: + * Various XSS flaws due to unescaped hostnames and URIs HTML output in + mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp. + [Jim Jagielski, Stefan Fritsch, Niels Heinen ] + * XSS in mod_proxy_balancer manager interface. [Jim Jagielski, + Niels Heinen ] + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3499 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4558 + (* Security fix *) ++--------------------------+ +Mon Feb 25 19:45:33 UTC 2013 +patches/packages/seamonkey-2.16-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.16-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Wed Feb 20 05:24:23 UTC 2013 +patches/packages/mozilla-firefox-19.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.3-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Fri Feb 15 22:46:52 UTC 2013 +patches/packages/pidgin-2.10.7-x86_64-3_slack14.0.txz: Rebuilt. + Fixed linking libirc.so with libsasl2. + Added Makefile.in and Makefile to the patch, and applied it after + running ./configure. Using autoreconf is not an option since most + versions of Slackware aren't using the same libtools versions as the + Pidgin developers are. Third times the charm? + Thanks to Willy Sudiarto Raharjo. +patches/packages/polkit-0.105-x86_64-4_slack14.0.txz: Rebuilt. + Reverted a patch that set the members of the wheel group as the + authorized administrators. On Slackware, root is the administrator + and the wheel group is mostly unused. Thanks to Gérard Monpontet. ++--------------------------+ +Fri Feb 15 07:26:45 UTC 2013 +patches/packages/make-3.82-x86_64-4_slack14.0.txz: Rebuilt. + Applied patch containing upstream bugfixes. +patches/packages/pidgin-2.10.7-x86_64-2_slack14.0.txz: Rebuilt. + Fixed IRC support. When building with SASL support (new in 2.10.7), the + IRC plugin needs to link against libsasl2, otherwise it will fail to load. ++--------------------------+ +Thu Feb 14 05:35:22 UTC 2013 +patches/packages/pidgin-2.10.7-x86_64-1_slack14.0.txz: Upgraded. + This update fixes several security issues: + Remote MXit user could specify local file path. + MXit buffer overflow reading data from network. + Sametime crash with long user IDs. + Crash when receiving a UPnP response with abnormally long values. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0271 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0272 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0273 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0274 + (* Security fix *) ++--------------------------+ +Tue Feb 12 21:33:16 UTC 2013 +patches/packages/curl-7.29.0-x86_64-2_slack14.0.txz: Rebuilt. + Patched to fix a segfault when closing an unused multi. + Thanks to Willy Sudiarto Raharjo. ++--------------------------+ +Tue Feb 12 02:34:07 UTC 2013 +patches/packages/openssl-1.0.1e-x86_64-1_slack14.0.txz: Upgraded. + This release fixes a regression in openssl-1.0.1d, where the fix for + CVE-2013-0169 caused data corruption on CPUs with AES-NI support. +patches/packages/openssl-solibs-1.0.1e-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sat Feb 9 21:45:56 UTC 2013 +patches/packages/openssl-1.0.1d-x86_64-1_slack14.0.txz: Upgraded. + Make the decoding of SSLv3, TLS and DTLS CBC records constant time. + This addresses the flaw in CBC record processing discovered by + Nadhem Alfardan and Kenny Paterson. Details of this attack can be found + at: http://www.isg.rhul.ac.uk/tls/ + Thanks go to Nadhem Alfardan and Kenny Paterson of the Information + Security Group at Royal Holloway, University of London + (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and + Emilia Käsper for the initial patch. + (CVE-2013-0169) + [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson] + Fix flaw in AESNI handling of TLS 1.2 and 1.1 records for CBC mode + ciphersuites which can be exploited in a denial of service attack. + Thanks go to and to Adam Langley for discovering + and detecting this bug and to Wolfgang Ettlinger + for independently discovering this issue. + (CVE-2012-2686) + [Adam Langley] + Return an error when checking OCSP signatures when key is NULL. + This fixes a DoS attack. (CVE-2013-0166) + [Steve Henson] + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2686 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0166 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0169 + (* Security fix *) +patches/packages/openssl-solibs-1.0.1d-x86_64-1_slack14.0.txz: Upgraded. + (* Security fix *) ++--------------------------+ +Fri Feb 8 03:57:05 UTC 2013 +patches/packages/curl-7.29.0-x86_64-1_slack14.0.txz: Upgraded. + When negotiating SASL DIGEST-MD5 authentication, the function + Curl_sasl_create_digest_md5_message() uses the data provided from the + server without doing the proper length checks and that data is then + appended to a local fixed-size buffer on the stack. This vulnerability + can be exploited by someone who is in control of a server that a libcurl + based program is accessing with POP3, SMTP or IMAP. For applications + that accept user provided URLs, it is also thinkable that a malicious + user would feed an application with a URL to a server hosting code + targeting this flaw. + Affected versions: curl 7.26.0 to and including 7.28.1 + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0249 + (* Security fix *) +patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txz: Rebuilt. + Patched mouse clicking bug. ++--------------------------+ +Wed Feb 6 07:14:25 UTC 2013 +patches/packages/seamonkey-2.15.2-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.15.2-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/mozilla-firefox-18.0.2-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Tue Jan 22 23:40:16 UTC 2013 +patches/packages/mysql-5.5.29-x86_64-1_slack14.0.txz: Upgraded. + Upgraded to the latest upstream version to fix security issues and provide + other bug fixes and improvements. Note that some of the changes may + possibly introduce incompatibilities with the previous package. + (* Security fix *) ++--------------------------+ +Mon Jan 21 22:46:22 UTC 2013 +patches/packages/seamonkey-2.15.1-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.15.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Sun Jan 20 07:50:53 UTC 2013 +patches/packages/mozilla-firefox-18.0.1-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Wed Jan 16 02:54:52 UTC 2013 +patches/packages/freetype-2.4.11-x86_64-1_slack14.0.txz: Upgraded. + This release fixes several security bugs that could cause freetype to + crash or run programs upon opening a specially crafted file. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5668 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5669 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5670 + (* Security fix *) ++--------------------------+ +Thu Jan 10 08:17:57 UTC 2013 +patches/packages/mozilla-firefox-18.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0.2-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) +patches/packages/seamonkey-2.15-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.15-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Fri Dec 7 01:41:59 UTC 2012 +patches/packages/bind-9.9.2_P1-x86_64-1_slack14.0.txz: Upgraded. + IMPORTANT NOTE: This package updates BIND from 9.7.6_P4 to + 9.8.4_P1 since the 9.7 series is no longer supported. It is + possible that some changes may be required to your local + configuration. + This release addresses some denial-of-service and other bugs. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5688 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5166 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3817 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1667 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3868 + (* Security fix *) +patches/packages/libssh-0.5.3-x86_64-1_slack14.0.txz: Upgraded. + This release fixes several security bugs. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4559 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4560 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4561 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4562 + (* Security fix *) +patches/packages/libxml2-2.8.0-x86_64-2_slack14.0.txz: Rebuilt. + Patched a heap-based buffer underflow in the xmlParseAttValueComplex + function in parser.c in libxml2 2.9.0 and earlier that could allow a + remote attacker to cause a denial of service or possibly execute + arbitrary code via crafted entities in an XML document. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5134 + (* Security fix *) +patches/packages/ruby-1.9.3_p327-x86_64-1_slack14.0.txz: Upgraded. + This release fixes a hash-flooding DoS vulnerability and many other bugs. + For more information, see: + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5371 + (* Security fix *) +patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. ++--------------------------+ +Tue Dec 4 05:52:37 UTC 2012 +patches/packages/mozilla-firefox-17.0.1-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-2.14.1-x86_64-1_slack14.0.txz: Upgraded. + This is a bugfix release. +patches/packages/seamonkey-solibs-2.14.1-x86_64-1_slack14.0.txz: Upgraded. ++--------------------------+ +Thu Nov 22 01:57:50 UTC 2012 +patches/packages/mozilla-firefox-17.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) +patches/packages/mozilla-thunderbird-17.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.14-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/seamonkey-2.14-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) ++--------------------------+ +Wed Oct 31 00:32:25 UTC 2012 +patches/packages/mozilla-thunderbird-16.0.2-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.13.2-x86_64-1_slack14.0.txz: Upgraded. +patches/packages/seamonkey-2.13.2-x86_64-1_slack14.0.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) ++--------------------------+ +Sat Oct 27 01:13:00 UTC 2012 +patches/packages/mozilla-firefox-16.0.2-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) ++--------------------------+ +Mon Oct 15 01:59:59 UTC 2012 +patches/packages/seamonkey-2.13.1-x86_64-1.txz: Upgraded. + This update contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html + (* Security fix *) +patches/packages/seamonkey-solibs-2.13.1-x86_64-1.txz: Upgraded. ++--------------------------+ +Thu Oct 11 21:25:20 UTC 2012 +patches/packages/mozilla-firefox-16.0.1-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security vulnerability that could allow a malicious + site to potentially determine which websites users have visited and have + access to the URL or URL parameters. + (* Security fix *) +patches/packages/mozilla-thunderbird-16.0.1-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html + (* Security fix *) ++--------------------------+ +Thu Oct 11 01:14:57 UTC 2012 +patches/packages/bind-9.9.1_P4-x86_64-1_slack14.0.txz: Upgraded. + This update fixes a security issue where a certain combination of records + in the RBT could cause named to hang while populating the additional + section of a response. [RT #31090] + (* Security fix *) +patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txz: Rebuilt. + Patched to fix a compiler related bug in iptables-restore. + Thanks to linuxxer for the report and David Somero for a link to the patch. ++--------------------------+ +Wed Oct 10 03:06:03 UTC 2012 +patches/packages/mozilla-firefox-16.0-x86_64-1_slack14.0.txz: Upgraded. + This release contains security fixes and improvements. + For more information, see: + http://www.mozilla.org/security/known-vulnerabilities/firefox.html + (* Security fix *) ++--------------------------+ Wed Sep 26 01:10:42 UTC 2012 Slackware 14.0 x86_64 stable is released! diff --git a/FILELIST.TXT b/FILELIST.TXT index 75e1dc307..62892be16 100644 --- a/FILELIST.TXT +++ b/FILELIST.TXT @@ -1,20 +1,6277 @@ -Wed Sep 26 03:38:46 UTC 2012 +Fri May 25 23:50:48 UTC 2018 Here is the file list for this directory. If you are using a mirror site and find missing or extra files in the disk subdirectories, please have the archive administrator refresh the mirror. -drwxr-xr-x 3 root root 4096 2012-09-26 03:38 . --rw-r--r-- 1 root root 423531 2012-09-26 03:38 ./CHECKSUMS.md5 --rw-r--r-- 1 root root 198 2012-09-26 03:38 ./CHECKSUMS.md5.asc --rw-r--r-- 1 root root 590029 2012-09-26 03:38 ./FILELIST.TXT --rw-r--r-- 1 root root 229153 2012-09-26 03:38 ./READ_DVD.TXT -drwxr-xr-x 19 root root 4096 2012-09-26 03:38 ./source --rw-r--r-- 1 root root 383911 2012-09-26 03:38 ./source/CHECKSUMS.md5 --rw-r--r-- 1 root root 198 2012-09-26 03:38 ./source/CHECKSUMS.md5.asc --rw-r--r-- 1 root root 542117 2012-09-26 03:38 ./source/FILE_LIST --rw-r--r-- 1 root root 8380089 2012-09-26 03:38 ./source/MANIFEST.bz2 +drwxr-xr-x 11 root root 4096 2018-05-25 23:29 . +-rw-r--r-- 1 root root 9963 2012-09-19 22:53 ./ANNOUNCE.14_0 +-rw-r--r-- 1 root root 20933 2006-10-02 04:36 ./BOOTING.TXT +-rw-r--r-- 1 root root 15941 2012-09-19 23:00 ./CHANGES_AND_HINTS.TXT +-rw-r--r-- 1 root root 906451 2018-05-17 04:27 ./CHECKSUMS.md5 +-rw-r--r-- 1 root root 163 2018-05-17 04:27 ./CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING +-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3 +-rw-r--r-- 1 root root 19531 2009-08-26 02:07 ./COPYRIGHT.TXT +-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT +-rw-r--r-- 1 root root 416550 2018-05-25 23:29 ./ChangeLog.txt +-rw-r--r-- 1 root root 1208394 2018-05-17 04:26 ./FILELIST.TXT +-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY +-rw-r--r-- 1 root root 613454 2012-09-25 17:59 ./PACKAGES.TXT +-rw-r--r-- 1 root root 9074 2012-09-24 19:27 ./README.TXT +-rw-r--r-- 1 root root 3629 2012-09-17 18:39 ./README.initrd +-rw-r--r-- 1 root root 34046 2012-09-18 22:03 ./README_CRYPT.TXT +-rw-r--r-- 1 root root 8970 2012-09-18 22:03 ./README_LVM.TXT +-rw-r--r-- 1 root root 17957 2011-03-15 18:32 ./README_RAID.TXT +-rw-r--r-- 1 root root 4580 2012-09-19 23:37 ./RELEASE_NOTES +-rw-r--r-- 1 root root 13855 2008-12-08 18:13 ./SPEAKUP_DOCS.TXT +-rw-r--r-- 1 root root 17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT +-rw-r--r-- 1 root root 58732 2010-05-18 21:47 ./Slackware-HOWTO +-rw-r--r-- 1 root root 7040 2012-09-17 22:51 ./UPGRADE.TXT +drwxr-xr-x 17 root root 4096 2012-08-30 23:54 ./extra +-rw-r--r-- 1 root root 31390 2012-08-30 23:54 ./extra/CHECKSUMS.md5 +-rw-r--r-- 1 root root 198 2012-08-30 23:54 ./extra/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 39730 2012-08-30 23:54 ./extra/FILE_LIST +-rw-r--r-- 1 root root 86290 2012-08-30 23:54 ./extra/MANIFEST.bz2 +-rw-r--r-- 1 root root 32603 2012-08-30 23:54 ./extra/PACKAGES.TXT +-rw-r--r-- 1 root root 149 2002-02-09 00:18 ./extra/README.TXT +drwxr-xr-x 2 root root 20480 2009-08-14 20:40 ./extra/aspell-word-lists +-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 868976 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 190 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-am-0.03_1-noarch-4.txt +-rw-r--r-- 1 root root 106700 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-am-0.03_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-am-0.03_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 195 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-az-0.02_0-noarch-4.txt +-rw-r--r-- 1 root root 126472 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-az-0.02_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-az-0.02_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 199 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-be-0.01-noarch-4.txt +-rw-r--r-- 1 root root 9455764 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-be-0.01-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-be-0.01-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-bg-4.0_0-noarch-4.txt +-rw-r--r-- 1 root root 5413300 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-bg-4.0_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-bg-4.0_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 193 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-noarch-4.txt +-rw-r--r-- 1 root root 582408 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 168 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-br-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 308936 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-br-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-br-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 185 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ca-20040130_1-noarch-4.txt +-rw-r--r-- 1 root root 1052772 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ca-20040130_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ca-20040130_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 185 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-cs-20040614_1-noarch-4.txt +-rw-r--r-- 1 root root 2049648 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-cs-20040614_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-cs-20040614_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 203 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-csb-0.02_0-noarch-4.txt +-rw-r--r-- 1 root root 42324 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-csb-0.02_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-csb-0.02_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 167 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-cy-0.50_3-noarch-4.txt +-rw-r--r-- 1 root root 1745716 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-cy-0.50_3-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-cy-0.50_3-noarch-4.txz.asc +-rw-r--r-- 1 root root 182 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-da-1.4.42_1-noarch-4.txt +-rw-r--r-- 1 root root 3045652 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-da-1.4.42_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-da-1.4.42_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 186 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-de-20030222_1-noarch-4.txt +-rw-r--r-- 1 root root 2872868 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-de-20030222_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-de-20030222_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 167 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-el-0.50_3-noarch-4.txt +-rw-r--r-- 1 root root 3216592 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-el-0.50_3-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-el-0.50_3-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-eo-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 3797376 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-eo-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-eo-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 169 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-es-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 2958592 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-es-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-es-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-et-0.1.21_1-noarch-4.txt +-rw-r--r-- 1 root root 877160 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-et-0.1.21_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-et-0.1.21_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 188 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fa-0.02_0-noarch-4.txt +-rw-r--r-- 1 root root 1488308 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fa-0.02_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fa-0.02_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fi-0.7_0-noarch-4.txt +-rw-r--r-- 1 root root 606924 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fi-0.7_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fi-0.7_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 186 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-noarch-4.txt +-rw-r--r-- 1 root root 997552 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 168 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-fr-0.50_3-noarch-4.txt +-rw-r--r-- 1 root root 4365324 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-fr-0.50_3-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-fr-0.50_3-noarch-4.txz.asc +-rw-r--r-- 1 root root 183 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ga-3.6_0-noarch-4.txt +-rw-r--r-- 1 root root 2144676 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ga-3.6_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ga-3.6_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 194 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-noarch-4.txt +-rw-r--r-- 1 root root 131084 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 170 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gl-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 2981948 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gl-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gl-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 200 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gu-0.02_0-noarch-4.txt +-rw-r--r-- 1 root root 59216 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gu-0.02_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gu-0.02_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 173 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gv-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 218880 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gv-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gv-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 187 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-he-1.0_0-noarch-4.txt +-rw-r--r-- 1 root root 1991800 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-he-1.0_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-he-1.0_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 191 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hi-0.01_0-noarch-4.txt +-rw-r--r-- 1 root root 116448 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hi-0.01_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hi-0.01_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 190 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hil-0.11_0-noarch-4.txt +-rw-r--r-- 1 root root 114780 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hil-0.11_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hil-0.11_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 170 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-hr-0.51_0-noarch-4.txt +-rw-r--r-- 1 root root 1945240 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-hr-0.51_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-hr-0.51_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 209 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hsb-0.01_1-noarch-4.txt +-rw-r--r-- 1 root root 318392 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hsb-0.01_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hsb-0.01_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 177 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-noarch-4.txt +-rw-r--r-- 1 root root 1586716 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 173 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-ia-0.50_1-noarch-4.txt +-rw-r--r-- 1 root root 549808 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-ia-0.50_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-ia-0.50_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-id-1.2_0-noarch-4.txt +-rw-r--r-- 1 root root 213320 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-id-1.2_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-id-1.2_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-is-0.51.1_0-noarch-4.txt +-rw-r--r-- 1 root root 1505496 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-is-0.51.1_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-is-0.51.1_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 186 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-noarch-4.txt +-rw-r--r-- 1 root root 643296 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 182 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ku-0.12_0-noarch-4.txt +-rw-r--r-- 1 root root 55296 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ku-0.12_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ku-0.12_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 173 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-la-20020503_0-noarch-4.txt +-rw-r--r-- 1 root root 122204 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-la-20020503_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-la-20020503_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 190 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lt-1.1+cvs20060103_0-noarch-4.txt +-rw-r--r-- 1 root root 567968 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lt-1.1+cvs20060103_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lt-1.1+cvs20060103_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-noarch-4.txt +-rw-r--r-- 1 root root 186808 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mg-0.03_0-noarch-4.txt +-rw-r--r-- 1 root root 116888 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mg-0.03_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mg-0.03_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 167 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mi-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 144836 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mi-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mi-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 172 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mk-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 1250820 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mk-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mk-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 192 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mn-0.01_0-noarch-4.txt +-rw-r--r-- 1 root root 68124 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mn-0.01_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mn-0.01_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 193 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mr-0.10_0-noarch-4.txt +-rw-r--r-- 1 root root 474624 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mr-0.10_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mr-0.10_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 167 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ms-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 116524 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ms-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ms-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 169 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mt-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 5060516 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mt-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mt-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 178 2009-08-13 02:40 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-noarch-4.txt +-rw-r--r-- 1 root root 3039436 2009-08-13 02:40 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2009-08-13 02:40 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 206 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-nds-0.01_0-noarch-4.txt +-rw-r--r-- 1 root root 39836 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-nds-0.01_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-nds-0.01_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 167 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nl-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 1495132 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nl-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nl-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 179 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-noarch-4.txt +-rw-r--r-- 1 root root 1907332 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-no-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 1250336 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-no-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-no-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ny-0.01_0-noarch-4.txt +-rw-r--r-- 1 root root 40792 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ny-0.01_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ny-0.01_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 191 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-or-0.03_1-noarch-4.txt +-rw-r--r-- 1 root root 14948 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-or-0.03_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-or-0.03_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 196 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-pa-0.01_1-noarch-4.txt +-rw-r--r-- 1 root root 21904 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-pa-0.01_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-pa-0.01_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 168 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pl-0.51_0-noarch-4.txt +-rw-r--r-- 1 root root 13943900 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pl-0.51_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pl-0.51_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 172 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pt-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 2279084 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pt-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pt-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 246 2009-06-22 22:05 ./extra/aspell-word-lists/aspell-pt_BR-20080707_0-noarch-4.txt +-rw-r--r-- 1 root root 2450800 2009-06-22 22:05 ./extra/aspell-word-lists/aspell-pt_BR-20080707_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2009-06-22 22:05 ./extra/aspell-word-lists/aspell-pt_BR-20080707_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 196 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-qu-0.02_0-noarch-4.txt +-rw-r--r-- 1 root root 303040 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-qu-0.02_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-qu-0.02_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 170 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ro-0.50_2-noarch-4.txt +-rw-r--r-- 1 root root 281784 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ro-0.50_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ro-0.50_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 192 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-noarch-4.txt +-rw-r--r-- 1 root root 1425980 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 173 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-rw-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 37644 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-rw-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-rw-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-sc-1.0-noarch-4.txt +-rw-r--r-- 1 root root 4911444 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-sc-1.0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-sc-1.0-noarch-4.txz.asc +-rw-r--r-- 1 root root 168 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-sk-0.52_0-noarch-4.txt +-rw-r--r-- 1 root root 4641936 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-sk-0.52_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-sk-0.52_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sl-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 5272152 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sl-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sl-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 190 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-sr-0.02-noarch-4.txt +-rw-r--r-- 1 root root 3705620 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-sr-0.02-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-sr-0.02-noarch-4.txz.asc +-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sv-0.51_0-noarch-4.txt +-rw-r--r-- 1 root root 985180 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sv-0.51_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sv-0.51_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sw-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 301120 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sw-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sw-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 191 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ta-20040424_1-noarch-4.txt +-rw-r--r-- 1 root root 99988 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ta-20040424_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ta-20040424_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 195 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-te-0.01_2-noarch-4.txt +-rw-r--r-- 1 root root 906648 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-te-0.01_2-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-te-0.01_2-noarch-4.txz.asc +-rw-r--r-- 1 root root 179 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tet-0.1.1-noarch-4.txt +-rw-r--r-- 1 root root 65792 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tet-0.1.1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tet-0.1.1-noarch-4.txz.asc +-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tl-0.02_1-noarch-4.txt +-rw-r--r-- 1 root root 97512 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tl-0.02_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tl-0.02_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-noarch-4.txt +-rw-r--r-- 1 root root 42928 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-tr-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 494344 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-tr-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-tr-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 171 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-uk-0.51_0-noarch-4.txt +-rw-r--r-- 1 root root 4719068 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-uk-0.51_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-uk-0.51_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 200 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uk-1.1_0-noarch-4.txt +-rw-r--r-- 1 root root 527632 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uk-1.1_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uk-1.1_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 190 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uz-0.5_0-noarch-4.txt +-rw-r--r-- 1 root root 235116 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uz-0.5_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uz-0.5_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 193 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-noarch-4.txt +-rw-r--r-- 1 root root 42408 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-wa-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 647916 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-wa-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-wa-0.50_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 190 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-noarch-4.txt +-rw-r--r-- 1 root root 396496 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-noarch-4.txz.asc +-rw-r--r-- 1 root root 166 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-zu-0.50_0-noarch-4.txt +-rw-r--r-- 1 root root 489764 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-zu-0.50_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-zu-0.50_0-noarch-4.txz.asc +drwxr-xr-x 2 root root 4096 2012-07-25 02:27 ./extra/bash-completion +-rw-r--r-- 1 root root 669 2012-07-25 01:11 ./extra/bash-completion/bash-completion-2.0-noarch-2.txt +-rw-r--r-- 1 root root 139396 2012-07-25 01:11 ./extra/bash-completion/bash-completion-2.0-noarch-2.txz +-rw-r--r-- 1 root root 198 2012-07-25 01:11 ./extra/bash-completion/bash-completion-2.0-noarch-2.txz.asc +drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/bittornado +-rw-r--r-- 1 root root 444 2012-06-23 18:20 ./extra/bittornado/bittornado-0.3.18-noarch-3.txt +-rw-r--r-- 1 root root 236800 2012-06-23 18:20 ./extra/bittornado/bittornado-0.3.18-noarch-3.txz +-rw-r--r-- 1 root root 198 2012-06-23 18:20 ./extra/bittornado/bittornado-0.3.18-noarch-3.txz.asc +drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/bittorrent +-rw-r--r-- 1 root root 1279 2006-02-08 01:38 ./extra/bittorrent/README +-rw-r--r-- 1 root root 613 2012-06-23 18:21 ./extra/bittorrent/bittorrent-4.4.0-noarch-4.txt +-rw-r--r-- 1 root root 337716 2012-06-23 18:21 ./extra/bittorrent/bittorrent-4.4.0-noarch-4.txz +-rw-r--r-- 1 root root 198 2012-06-23 18:21 ./extra/bittorrent/bittorrent-4.4.0-noarch-4.txz.asc +drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/brltty +-rw-r--r-- 1 root root 326 2012-06-23 18:17 ./extra/brltty/brltty-4.4-x86_64-1.txt +-rw-r--r-- 1 root root 1672248 2012-06-23 18:17 ./extra/brltty/brltty-4.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-23 18:17 ./extra/brltty/brltty-4.4-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/emacspeak +-rw-r--r-- 1 root root 6992 2012-06-23 21:23 ./extra/emacspeak/HOWTO_emacspeak-on-slack.txt +-rw-r--r-- 1 root root 665 2012-06-23 20:51 ./extra/emacspeak/emacspeak-36.0-x86_64-1.txt +-rw-r--r-- 1 root root 4238764 2012-06-23 20:51 ./extra/emacspeak/emacspeak-36.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-23 20:51 ./extra/emacspeak/emacspeak-36.0-x86_64-1.txz.asc +lrwxrwxrwx 1 root root 25 2009-08-23 23:37 ./extra/flashplayer-plugin -> source/flashplayer-plugin +drwxr-xr-x 2 root root 4096 2012-07-29 16:35 ./extra/google-chrome +-rw-r--r-- 1 root root 1448 2012-07-29 16:35 ./extra/google-chrome/README +-rw-r--r-- 1 root root 714 2011-04-03 05:15 ./extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 20068 2011-04-03 05:15 ./extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-04-03 05:15 ./extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 4059 2012-08-01 18:48 ./extra/google-chrome/google-chrome.SlackBuild +-rw-r--r-- 1 root root 844 2011-03-22 05:07 ./extra/google-chrome/slack-desc +lrwxrwxrwx 1 root root 11 2012-07-30 20:41 ./extra/java -> source/java +drwxr-xr-x 2 root root 4096 2009-05-19 20:54 ./extra/mplayerplug-in +-rw-r--r-- 1 root root 534 2009-05-19 19:32 ./extra/mplayerplug-in/mplayerplug-in-3.55-x86_64-1.txt +-rw-r--r-- 1 root root 176148 2009-05-19 19:32 ./extra/mplayerplug-in/mplayerplug-in-3.55-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-05-19 19:32 ./extra/mplayerplug-in/mplayerplug-in-3.55-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2010-05-03 08:59 ./extra/partitionmanager +-rw-r--r-- 1 root root 391 2010-05-03 08:42 ./extra/partitionmanager/partitionmanager-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 423800 2010-05-03 08:42 ./extra/partitionmanager/partitionmanager-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-03 08:42 ./extra/partitionmanager/partitionmanager-1.0.2-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/recordmydesktop +-rw-r--r-- 1 root root 674 2012-06-23 18:23 ./extra/recordmydesktop/recordmydesktop-0.3.8.1-x86_64-3.txt +-rw-r--r-- 1 root root 130060 2012-06-23 18:23 ./extra/recordmydesktop/recordmydesktop-0.3.8.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-23 18:23 ./extra/recordmydesktop/recordmydesktop-0.3.8.1-x86_64-3.txz.asc +drwxr-xr-x 17 root root 4096 2012-08-27 17:16 ./extra/source +drwxr-xr-x 2 root root 4096 2012-07-25 00:01 ./extra/source/bash-completion +-rw-r--r-- 1 root root 250560 2012-06-19 06:06 ./extra/source/bash-completion/bash-completion-2.0.tar.bz2 +-rwxr-xr-x 1 root root 2996 2012-07-25 00:01 ./extra/source/bash-completion/bash-completion.SlackBuild +-rw-r--r-- 1 root root 458 2011-03-22 03:01 ./extra/source/bash-completion/fixup-sh-script-completions.diff.gz +-rw-r--r-- 1 root root 1135 2009-07-15 06:04 ./extra/source/bash-completion/slack-desc +-rw-r--r-- 1 root root 701 2012-07-25 00:00 ./extra/source/bash-completion/slackpkg-slapt-get-Update-the-list-of-package-sets.patch.gz +drwxr-xr-x 2 root root 4096 2007-02-10 02:08 ./extra/source/bittornado +-rw-r--r-- 1 root root 159270 2006-12-23 20:52 ./extra/source/bittornado/BitTornado-0.3.18.tar.bz2 +-rwxr-xr-x 1 root root 1026 2012-06-23 18:20 ./extra/source/bittornado/bittornado.SlackBuild +-rw-r--r-- 1 root root 913 2005-07-14 22:53 ./extra/source/bittornado/btdownloadxterm.sh.gz +-rw-r--r-- 1 root root 283 2006-02-08 01:28 ./extra/source/bittornado/doinst.sh.gz +-rw-r--r-- 1 root root 905 2005-01-04 06:25 ./extra/source/bittornado/slack-desc +drwxr-xr-x 2 root root 4096 2009-05-19 19:16 ./extra/source/bittorrent +-rw-r--r-- 1 root root 678768 2006-01-31 20:24 ./extra/source/bittorrent/BitTorrent-4.4.0.tar.bz2 +-rw-r--r-- 1 root root 940 2006-02-08 01:07 ./extra/source/bittorrent/bittorrent-xterm.sh.gz +-rwxr-xr-x 1 root root 2473 2012-06-23 18:21 ./extra/source/bittorrent/bittorrent.SlackBuild +-rw-r--r-- 1 root root 270 2006-02-08 01:08 ./extra/source/bittorrent/doinst.sh.gz +-rw-r--r-- 1 root root 1074 2003-09-21 04:50 ./extra/source/bittorrent/slack-desc +drwxr-xr-x 2 root root 4096 2012-06-23 18:16 ./extra/source/brltty +-rw-r--r-- 1 root root 2018008 2012-06-07 12:21 ./extra/source/brltty/brltty-4.4.tar.xz +-rwxr-xr-x 1 root root 4016 2012-06-23 18:16 ./extra/source/brltty/brltty.SlackBuild +-rw-r--r-- 1 root root 783 2002-06-07 04:09 ./extra/source/brltty/slack-desc +drwxr-xr-x 2 root root 4096 2012-06-23 18:28 ./extra/source/emacspeak +-rw-r--r-- 1 root root 4103616 2012-05-03 23:31 ./extra/source/emacspeak/emacspeak-36.0.tar.xz +-rwxr-xr-x 1 root root 4438 2011-03-12 20:44 ./extra/source/emacspeak/emacspeak.SlackBuild +-rw-r--r-- 1 root root 513 2011-03-12 20:43 ./extra/source/emacspeak/emacspeak.tcl8.5.diff.gz +-rw-r--r-- 1 root root 1125 2002-06-07 01:43 ./extra/source/emacspeak/slack-desc +drwxr-xr-x 2 root root 4096 2011-03-08 23:06 ./extra/source/flashplayer-plugin +-rwxr-xr-- 1 root root 8964 2012-06-19 07:12 ./extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild +-rw-r--r-- 1 root root 1017 2008-12-16 13:11 ./extra/source/flashplayer-plugin/slack-desc +drwxr-xr-x 2 root root 4096 2009-05-19 21:29 ./extra/source/grub +-rw-r--r-- 1 root root 7697 2009-03-14 03:58 ./extra/source/grub/grub-0.97-x86_64.patch.gz +-rw-r--r-- 1 root root 971783 2005-07-31 00:45 ./extra/source/grub/grub-0.97.tar.gz +-rw-r--r-- 1 root root 65 2005-05-08 03:16 ./extra/source/grub/grub-0.97.tar.gz.sig +-rwxr-xr-x 1 root root 3549 2009-05-19 20:11 ./extra/source/grub/grub.SlackBuild +-rw-r--r-- 1 root root 1746 2008-03-05 06:43 ./extra/source/grub/grub_support_256byte_inode.patch.gz +-rw-r--r-- 1 root root 11715 2006-03-25 17:05 ./extra/source/grub/grubconfig-1.28.tar.gz +-rw-r--r-- 1 root root 466 2007-06-06 03:32 ./extra/source/grub/grubconfig_localefix.patch.gz +-rw-r--r-- 1 root root 959 2005-09-01 15:26 ./extra/source/grub/slack-desc +drwxr-xr-x 3 root root 4096 2012-07-30 19:20 ./extra/source/java +-rw-r--r-- 1 root root 654 2012-07-30 19:32 ./extra/source/java/README +-rwxr-xr-x 1 root root 5687 2012-08-02 15:50 ./extra/source/java/java.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-30 18:44 ./extra/source/java/profile.d +-rwxr-xr-x 1 root root 143 2007-08-29 00:32 ./extra/source/java/profile.d/jdk.csh +-rwxr-xr-x 1 root root 146 2007-08-29 00:33 ./extra/source/java/profile.d/jdk.sh +-rwxr-xr-x 1 root root 122 2009-04-29 17:28 ./extra/source/java/profile.d/jre.csh +-rwxr-xr-x 1 root root 125 2009-04-29 17:29 ./extra/source/java/profile.d/jre.sh +-rw-r--r-- 1 root root 822 2010-12-18 23:16 ./extra/source/java/slack-desc.jdk +-rw-r--r-- 1 root root 864 2012-07-10 20:02 ./extra/source/java/slack-desc.jre +drwxr-xr-x 2 root root 4096 2009-05-19 19:29 ./extra/source/mplayerplug-in +-rw-r--r-- 1 root root 281845 2008-06-24 13:19 ./extra/source/mplayerplug-in/mplayerplug-in-3.55.tar.gz +-rwxr-xr-- 1 root root 8298 2009-05-19 20:12 ./extra/source/mplayerplug-in/mplayerplug-in.SlackBuild +-rw-r--r-- 1 root root 999 2006-11-06 21:20 ./extra/source/mplayerplug-in/slack-desc +drwxr-xr-x 3 root root 4096 2011-04-03 05:16 ./extra/source/pam +-rw-r--r-- 1 root root 863472 2010-10-28 14:19 ./extra/source/pam/Linux-PAM-1.1.3.tar.xz +-rwxr-xr-x 1 root root 3514 2011-04-03 05:15 ./extra/source/pam/make-pam-solibs-for-chrome.sh +-rw-r--r-- 1 root root 36304 2008-12-16 15:14 ./extra/source/pam/pam-redhat-0.99.10-1.tar.bz2 +-rwxr-xr-x 1 root root 5966 2011-04-03 04:43 ./extra/source/pam/pam.SlackBuild +drwxr-xr-x 2 root root 4096 2011-04-03 04:29 ./extra/source/pam/patches +-rw-r--r-- 1 root root 508 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.0.90-redhat-modules.patch.gz +-rw-r--r-- 1 root root 947 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.0.91-std-noclose.patch.gz +-rw-r--r-- 1 root root 354 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.0-notally.patch.gz +-rw-r--r-- 1 root root 11569 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.1-faillock.patch.gz +-rw-r--r-- 1 root root 443 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.2-noflex.patch.gz +-rw-r--r-- 1 root root 1893 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-faillock-screensaver.patch.gz +-rw-r--r-- 1 root root 976 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-limits-nosetreuid.patch.gz +-rw-r--r-- 1 root root 3174 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-limits-range.patch.gz +-rw-r--r-- 1 root root 487 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-nouserenv.patch.gz +-rw-r--r-- 1 root root 667 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-pwhistory-incomplete.patch.gz +-rw-r--r-- 1 root root 1590 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-securetty-console.patch.gz +-rw-r--r-- 1 root root 896 2011-04-03 03:08 ./extra/source/pam/slack-desc +drwxr-xr-x 2 root root 4096 2010-05-03 07:40 ./extra/source/partitionmanager +-rw-r--r-- 1 root root 118 2007-12-24 16:27 ./extra/source/partitionmanager/doinst.sh.gz +-rw-r--r-- 1 root root 292808 2010-04-24 10:00 ./extra/source/partitionmanager/partitionmanager-1.0.2.tar.xz +-rwxr-xr-x 1 root root 3258 2010-05-03 07:41 ./extra/source/partitionmanager/partitionmanager.SlackBuild +-rw-r--r-- 1 root root 852 2009-01-13 16:02 ./extra/source/partitionmanager/slack-desc +drwxr-xr-x 2 root root 4096 2009-05-19 20:26 ./extra/source/recordmydesktop +-rw-r--r-- 1 root root 185528 2008-11-23 15:35 ./extra/source/recordmydesktop/qt-recordmydesktop-0.3.8.tar.gz +-rw-r--r-- 1 root root 198732 2008-12-13 17:56 ./extra/source/recordmydesktop/recordmydesktop-0.3.8.1.tar.gz +-rwxr-xr-- 1 root root 8651 2012-06-28 21:07 ./extra/source/recordmydesktop/recordmydesktop.SlackBuild +-rw-r--r-- 1 root root 1140 2010-02-19 15:58 ./extra/source/recordmydesktop/slack-desc +drwxr-xr-x 2 root root 4096 2009-06-03 00:11 ./extra/source/tightvnc +-rw-r--r-- 1 root root 8109 2009-06-02 21:35 ./extra/source/tightvnc/_tightvnc.tar.gz +-rw-r--r-- 1 root root 387 2009-06-02 22:04 ./extra/source/tightvnc/doinst.sh.gz +-rw-r--r-- 1 root root 989 2008-12-04 21:29 ./extra/source/tightvnc/slack-desc +-rw-r--r-- 1 root root 1549080 2009-03-06 05:15 ./extra/source/tightvnc/tightvnc-1.3.10_unixsrc.tar.xz +-rwxr-xr-- 1 root root 4093 2009-06-14 18:18 ./extra/source/tightvnc/tightvnc.SlackBuild +-rw-r--r-- 1 root root 728 2009-06-02 21:57 ./extra/source/tightvnc/tightvnc.paths-and-perms.diff.gz +drwxr-xr-x 2 root root 4096 2012-05-09 19:10 ./extra/source/wicd +-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/source/wicd/README.SLACKWARE +-rw-r--r-- 1 root root 512 2012-03-12 01:39 ./extra/source/wicd/doinst.sh.gz +-rw-r--r-- 1 root root 863 2009-06-05 15:22 ./extra/source/wicd/slack-desc +-rw-r--r-- 1 root root 309 2012-05-09 19:09 ./extra/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff.gz +-rw-r--r-- 1 root root 336140 2012-04-30 19:38 ./extra/source/wicd/wicd-1.7.2.4.tar.xz +-rwxr-xr-x 1 root root 3516 2012-08-09 17:57 ./extra/source/wicd/wicd.SlackBuild +drwxr-xr-x 2 root root 4096 2012-08-27 17:15 ./extra/source/xf86-video-fbdev +-rw-r--r-- 1 root root 878 2012-05-08 16:28 ./extra/source/xf86-video-fbdev/slack-desc +-rw-r--r-- 1 root root 236328 2012-07-02 12:04 ./extra/source/xf86-video-fbdev/xf86-video-fbdev-0.4.3.tar.xz +-rwxr-xr-x 1 root root 3996 2012-08-27 17:16 ./extra/source/xf86-video-fbdev/xf86-video-fbdev.SlackBuild +drwxr-xr-x 2 root root 4096 2009-06-03 23:48 ./extra/tightvnc +-rw-r--r-- 1 root root 530 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txt +-rw-r--r-- 1 root root 777368 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2012-08-09 22:46 ./extra/wicd +-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/wicd/README.SLACKWARE +-rw-r--r-- 1 root root 407 2012-08-09 17:57 ./extra/wicd/wicd-1.7.2.4-x86_64-4.txt +-rw-r--r-- 1 root root 349952 2012-08-09 17:57 ./extra/wicd/wicd-1.7.2.4-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-08-09 17:57 ./extra/wicd/wicd-1.7.2.4-x86_64-4.txz.asc +drwxr-xr-x 2 root root 4096 2012-08-30 23:54 ./extra/xf86-video-fbdev +-rw-r--r-- 1 root root 411 2012-08-27 17:16 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.3-x86_64-1.txt +-rw-r--r-- 1 root root 10756 2012-08-27 17:16 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-27 17:16 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.3-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2011-01-31 03:46 ./extra/xf86-video-nouveau-blacklist +-rw-r--r-- 1 root root 645 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txt +-rw-r--r-- 1 root root 880 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz.asc +drwxr-xr-x 3 root root 4096 2012-09-24 18:48 ./isolinux +-rw-r--r-- 1 root root 5052 2012-09-20 20:42 ./isolinux/README.TXT +-rw-r--r-- 1 root root 788 2007-03-17 19:50 ./isolinux/README_SPLIT.TXT +-rw-r--r-- 1 root root 467 2012-09-04 19:09 ./isolinux/f2.txt +-rw-r--r-- 1 root root 25691891 2012-09-24 18:43 ./isolinux/initrd.img +-rw-r--r-- 1 root root 50 2003-01-18 00:02 ./isolinux/iso.sort +-rw-r--r-- 1 root root 24576 2012-06-25 16:21 ./isolinux/isolinux.bin +-rw-r--r-- 1 root root 417 2011-03-25 03:15 ./isolinux/isolinux.cfg +-rw-r--r-- 1 root root 642 2012-09-17 21:11 ./isolinux/message.txt +drwxr-xr-x 2 root root 4096 2003-03-17 07:31 ./isolinux/sbootmgr +-rwxr-xr-x 1 root root 36064 1995-05-12 01:23 ./isolinux/sbootmgr/RAWRITE.EXE +-rw-r--r-- 1 root root 2138 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.DOC +-rwxr-xr-x 1 root root 13052 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.EXE +lrwxrwxrwx 1 root root 11 2009-08-23 23:37 ./isolinux/sbootmgr/RAWRITE13.EXE -> RAWRITE.EXE +-rw-r--r-- 1 root root 6170 2000-08-29 08:23 ./isolinux/sbootmgr/RAWRITENT.DOC +-rwxr-xr-x 1 root root 24576 2000-08-29 08:26 ./isolinux/sbootmgr/RAWRITENT.EXE +-rw-r--r-- 1 root root 1291 2003-03-17 07:31 ./isolinux/sbootmgr/README.TXT +-rw-r--r-- 1 root root 110592 2003-03-16 08:38 ./isolinux/sbootmgr/sbootmgr.dsk +-rw-r--r-- 1 root root 2943 2012-07-22 21:24 ./isolinux/setpkg +drwxr-xr-x 5 root root 4096 2012-09-17 21:11 ./kernels +-rw-r--r-- 1 root root 39 2012-09-17 21:11 ./kernels/VERSIONS.TXT +drwxr-xr-x 2 root root 4096 2012-09-17 19:19 ./kernels/huge.s +-rw-r--r-- 1 root root 659081 2012-09-17 19:19 ./kernels/huge.s/System.map.gz +-rw-r--r-- 1 root root 6192448 2012-09-17 19:19 ./kernels/huge.s/bzImage +-rw-r--r-- 1 root root 121324 2012-09-17 19:16 ./kernels/huge.s/config +drwxr-xr-x 2 root root 4096 2011-03-25 03:15 ./kernels/memtest +-rw-r--r-- 1 root root 60 2011-03-24 00:19 ./kernels/memtest/README +-rw-r--r-- 1 root root 164504 2011-03-23 23:53 ./kernels/memtest/memtest +drwxr-xr-x 2 root root 4096 2011-03-02 22:16 ./kernels/speakup.s +-rw-r--r-- 1 root root 240 2011-03-02 22:16 ./kernels/speakup.s/README.TXT +drwxr-xr-x 3 root root 4096 2016-02-03 23:02 ./pasture +-rw-r--r-- 1 root root 1282 2016-02-03 23:02 ./pasture/CHECKSUMS.md5 +-rw-r--r-- 1 root root 181 2016-02-03 23:02 ./pasture/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 1358 2016-02-03 23:02 ./pasture/FILE_LIST +-rw-r--r-- 1 root root 109353 2016-02-03 23:02 ./pasture/MANIFEST.bz2 +-rw-r--r-- 1 root root 774 2016-02-03 23:02 ./pasture/PACKAGES.TXT +-rw-r--r-- 1 root root 376 2015-09-30 01:55 ./pasture/php-5.4.45-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 8357380 2015-09-30 01:55 ./pasture/php-5.4.45-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-09-30 01:55 ./pasture/php-5.4.45-x86_64-1_slack14.0.txz.asc +drwxr-xr-x 3 root root 4096 2016-02-03 21:50 ./pasture/source +drwxr-xr-x 3 root root 4096 2015-09-30 01:49 ./pasture/source/php +-rw-r--r-- 1 root root 428 2012-08-09 01:10 ./pasture/source/php/doinst.sh.gz +-rwxr-xr-x 1 root root 59 2015-09-30 01:46 ./pasture/source/php/fetch-php.sh +-rw-r--r-- 1 root root 1022 2009-10-02 23:56 ./pasture/source/php/mod_php.conf.example +drwxr-xr-x 2 root root 4096 2008-05-07 05:21 ./pasture/source/php/pear +-rw-r--r-- 1 root root 10613136 2015-09-04 19:00 ./pasture/source/php/php-5.4.45.tar.xz +-rw-r--r-- 1 root root 531 2012-05-21 15:34 ./pasture/source/php/php-fpm.conf.diff.gz +-rwxr-xr-x 1 root root 9358 2015-04-15 18:30 ./pasture/source/php/php.SlackBuild +-rw-r--r-- 1 root root 724 2012-08-09 01:06 ./pasture/source/php/php.ini-development.diff.gz +-rw-r--r-- 1 root root 830 2005-12-09 05:18 ./pasture/source/php/slack-desc +drwxr-xr-x 4 root root 4096 2018-05-25 23:50 ./patches +-rw-r--r-- 1 root root 142356 2018-05-25 23:50 ./patches/CHECKSUMS.md5 +-rw-r--r-- 1 root root 163 2018-05-25 23:50 ./patches/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 201923 2018-05-25 23:50 ./patches/FILE_LIST +-rw-r--r-- 1 root root 4660909 2018-05-25 23:50 ./patches/MANIFEST.bz2 +-rw-r--r-- 1 root root 83106 2018-05-25 23:50 ./patches/PACKAGES.TXT +drwxr-xr-x 3 root root 28672 2018-05-25 23:50 ./patches/packages +-rw-r--r-- 1 root root 625 2016-01-25 21:05 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 13381656 2016-01-25 21:05 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-01-25 21:05 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 275 2014-03-31 19:50 ./patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 231124 2014-03-31 19:50 ./patches/packages/apr-1.5.0-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-03-31 19:50 ./patches/packages/apr-1.5.0-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 483 2014-03-31 19:47 ./patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 124508 2014-03-31 19:47 ./patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-03-31 19:47 ./patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 510 2017-09-07 20:28 ./patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 1046016 2017-09-07 20:28 ./patches/packages/bash-4.2.053-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-09-07 20:28 ./patches/packages/bash-4.2.053-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 336 2018-01-17 03:09 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 2218040 2018-01-17 03:09 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-01-17 03:09 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 424 2015-12-19 22:31 ./patches/packages/blueman-r708-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 539804 2015-12-19 22:31 ./patches/packages/blueman-r708-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-12-19 22:31 ./patches/packages/blueman-r708-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 347 2017-09-14 17:21 ./patches/packages/bluez-4.99-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 664752 2017-09-14 17:21 ./patches/packages/bluez-4.99-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-09-14 17:21 ./patches/packages/bluez-4.99-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 430 2017-07-07 20:47 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt +-rw-r--r-- 1 root root 156092 2017-07-07 20:47 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-07-07 20:47 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 644 2015-07-07 19:26 ./patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 1931780 2015-07-07 19:26 ./patches/packages/cups-1.5.4-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-07-07 19:26 ./patches/packages/cups-1.5.4-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 555 2018-05-16 20:30 ./patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1207548 2018-05-16 20:30 ./patches/packages/curl-7.60.0-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-05-16 20:30 ./patches/packages/curl-7.60.0-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 491 2013-07-09 23:44 ./patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt +-rw-r--r-- 1 root root 455264 2013-07-09 23:44 ./patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-07-09 23:44 ./patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txz.asc +-rw-r--r-- 1 root root 644 2018-02-28 21:58 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1796464 2018-02-28 21:58 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-02-28 21:58 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 443 2014-08-01 20:47 ./patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 68204 2014-08-01 20:47 ./patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-08-01 20:47 ./patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 444 2017-10-02 17:02 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 327024 2017-10-02 17:02 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-02 17:02 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 471 2017-09-12 19:03 ./patches/packages/emacs-25.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 41420156 2017-09-12 19:03 ./patches/packages/emacs-25.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-09-12 19:03 ./patches/packages/emacs-25.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 264 2017-07-18 05:25 ./patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 105092 2017-07-18 05:25 ./patches/packages/expat-2.2.2-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-07-18 05:25 ./patches/packages/expat-2.2.2-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 603 2016-02-08 21:52 ./patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 483992 2016-02-08 21:52 ./patches/packages/flac-1.3.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-02-08 21:52 ./patches/packages/flac-1.3.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 344 2017-05-16 06:07 ./patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 460688 2017-05-16 06:07 ./patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-05-16 06:07 ./patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 538 2015-09-01 19:45 ./patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 612832 2015-09-01 19:45 ./patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-09-01 19:45 ./patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 406 2017-09-27 19:10 ./patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 477472 2017-09-27 19:10 ./patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-09-27 19:10 ./patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 473 2016-07-14 20:20 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 12667256 2016-07-14 20:20 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-07-14 20:20 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 397 2017-08-11 20:36 ./patches/packages/git-2.14.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 5309376 2017-08-11 20:36 ./patches/packages/git-2.14.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-08-11 20:36 ./patches/packages/git-2.14.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 389 2015-01-28 06:27 ./patches/packages/glibc-2.15-x86_64-9_slack14.0.txt +-rw-r--r-- 1 root root 12424880 2015-01-28 06:27 ./patches/packages/glibc-2.15-x86_64-9_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-01-28 06:27 ./patches/packages/glibc-2.15-x86_64-9_slack14.0.txz.asc +-rw-r--r-- 1 root root 333 2015-01-28 06:26 ./patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt +-rw-r--r-- 1 root root 6850264 2015-01-28 06:26 ./patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-01-28 06:26 ./patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txz.asc +-rw-r--r-- 1 root root 508 2015-01-28 06:25 ./patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt +-rw-r--r-- 1 root root 1211824 2015-01-28 06:25 ./patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-01-28 06:25 ./patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txz.asc +-rw-r--r-- 1 root root 323 2015-01-28 06:26 ./patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt +-rw-r--r-- 1 root root 2544476 2015-01-28 06:26 ./patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-01-28 06:26 ./patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txz.asc +-rw-r--r-- 1 root root 504 2018-05-24 18:06 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt +-rw-r--r-- 1 root root 193864 2018-05-24 18:06 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-05-24 18:06 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 371 2017-08-02 03:21 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1166920 2017-08-02 03:21 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-08-02 03:21 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 601 2014-06-24 20:07 ./patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1695056 2014-06-24 20:07 ./patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-06-24 20:07 ./patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 493 2017-01-11 01:25 ./patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 2056060 2017-01-11 01:25 ./patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-01-11 01:25 ./patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 477 2013-12-05 22:00 ./patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt +-rw-r--r-- 1 root root 12482048 2013-12-05 22:00 ./patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-12-05 22:00 ./patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txz.asc +-rw-r--r-- 1 root root 514 2017-10-25 16:47 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 3603852 2017-10-25 16:47 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-25 16:47 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 540 2016-05-30 19:59 ./patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 6175968 2016-05-30 19:59 ./patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-05-30 19:59 ./patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 359 2016-10-27 05:49 ./patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt +-rw-r--r-- 1 root root 92016 2016-10-27 05:49 ./patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:49 ./patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 670 2012-10-10 23:26 ./patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 296428 2012-10-10 23:26 ./patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 198 2012-10-10 23:26 ./patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 333 2018-02-15 21:21 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 606484 2018-02-15 21:21 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-02-15 21:21 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 390 2015-10-15 22:12 ./patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt +-rw-r--r-- 1 root root 160732 2015-10-15 22:12 ./patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-10-15 22:12 ./patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txz.asc +-rw-r--r-- 1 root root 191 2017-05-16 18:02 ./patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 12458532 2017-05-16 18:02 ./patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-05-16 18:02 ./patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 305 2016-10-27 05:42 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 2643992 2016-10-27 05:42 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:42 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 366 2017-11-29 07:10 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 42160 2017-11-29 07:10 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-11-29 07:10 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 335 2016-10-27 05:51 ./patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 137588 2016-10-27 05:51 ./patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:51 ./patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 351 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 24040 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 575 2017-11-29 06:42 ./patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 136132 2017-11-29 06:42 ./patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-11-29 06:42 ./patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 293 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 187820 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 361 2016-10-27 05:57 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 38160 2016-10-27 05:57 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:57 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 377 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 34788 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 334 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 55480 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 321 2016-10-27 06:02 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 47448 2016-10-27 06:02 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 06:02 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 319 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 32936 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 245 2016-08-23 18:26 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 343372 2016-08-23 18:26 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-08-23 18:26 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 393 2013-10-05 20:55 ./patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 83228 2013-10-05 20:55 ./patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-10-05 20:55 ./patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 336 2018-04-01 19:18 ./patches/packages/libidn-1.34-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 296192 2018-04-01 19:18 ./patches/packages/libidn-1.34-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-04-01 19:18 ./patches/packages/libidn-1.34-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 438 2013-12-13 00:34 ./patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 264020 2013-12-13 00:34 ./patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-12-13 00:34 ./patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 662 2013-12-14 06:10 ./patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 182804 2013-12-14 06:10 ./patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-12-14 06:10 ./patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 432 2017-02-10 20:50 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 274672 2017-02-10 20:50 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-02-10 20:50 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 492 2016-12-30 17:05 ./patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 602152 2016-12-30 17:05 ./patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-12-30 17:05 ./patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 370 2016-02-08 21:54 ./patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 279096 2016-02-08 21:54 ./patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-02-08 21:54 ./patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 406 2016-02-26 18:22 ./patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 191312 2016-02-26 18:22 ./patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-02-26 18:22 ./patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 426 2014-06-05 21:53 ./patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 115720 2014-06-05 21:53 ./patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-06-05 21:53 ./patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 394 2013-10-17 23:25 ./patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 473736 2013-10-17 23:25 ./patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-10-17 23:25 ./patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 558 2018-03-17 19:47 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 283268 2018-03-17 19:47 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-03-17 19:47 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 288 2018-04-30 22:08 ./patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt +-rw-r--r-- 1 root root 969676 2018-04-30 22:08 ./patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-04-30 22:08 ./patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txz.asc +-rw-r--r-- 1 root root 446 2016-11-15 19:56 ./patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 884776 2016-11-15 19:56 ./patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-11-15 19:56 ./patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 522 2017-09-21 22:00 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1221496 2017-09-21 22:00 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-09-21 22:00 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 220 2016-05-27 20:30 ./patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 361988 2016-05-27 20:30 ./patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-05-27 20:30 ./patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 287 2014-04-21 18:49 ./patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 108964 2014-04-21 18:49 ./patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-04-21 18:49 ./patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txz.asc +drwxr-xr-x 2 root root 4096 2018-01-15 23:34 ./patches/packages/linux-3.2.98 +-rw-r--r-- 1 root root 423 2018-01-05 21:50 ./patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt +-rw-r--r-- 1 root root 68340016 2018-01-05 21:50 ./patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txz +-rw-r--r-- 1 root root 163 2018-01-05 21:50 ./patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txz.asc +-rw-r--r-- 1 root root 626 2018-01-11 22:04 ./patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt +-rw-r--r-- 1 root root 3510924 2018-01-11 22:04 ./patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txz +-rw-r--r-- 1 root root 163 2018-01-11 22:04 ./patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txz.asc +-rw-r--r-- 1 root root 332 2018-01-11 21:52 ./patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt +-rw-r--r-- 1 root root 605228 2018-01-11 21:52 ./patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txz +-rw-r--r-- 1 root root 163 2018-01-11 21:52 ./patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txz.asc +-rw-r--r-- 1 root root 638 2018-01-11 22:19 ./patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt +-rw-r--r-- 1 root root 6734232 2018-01-11 22:19 ./patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txz +-rw-r--r-- 1 root root 163 2018-01-11 22:19 ./patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txz.asc +-rw-r--r-- 1 root root 569 2018-01-11 22:08 ./patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt +-rw-r--r-- 1 root root 22267816 2018-01-11 22:08 ./patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txz +-rw-r--r-- 1 root root 163 2018-01-11 22:08 ./patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txz.asc +-rw-r--r-- 1 root root 317 2018-01-11 21:50 ./patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt +-rw-r--r-- 1 root root 68448976 2018-01-11 21:50 ./patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txz +-rw-r--r-- 1 root root 163 2018-01-11 21:50 ./patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txz.asc +-rw-r--r-- 1 root root 368 2013-12-11 22:09 ./patches/packages/llvm-3.0-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 43349072 2013-12-11 22:09 ./patches/packages/llvm-3.0-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-12-11 22:09 ./patches/packages/llvm-3.0-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 644 2013-09-28 02:30 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 134520 2013-09-28 02:30 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-09-28 02:30 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 444 2016-12-10 21:21 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 78772 2016-12-10 21:21 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-12-10 21:21 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 498 2017-05-29 19:52 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1561864 2017-05-29 19:52 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-05-29 19:52 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 567 2016-02-29 19:46 ./patches/packages/mailx-12.5-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 238764 2016-02-29 19:46 ./patches/packages/mailx-12.5-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-02-29 19:46 ./patches/packages/mailx-12.5-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 468 2013-02-15 06:40 ./patches/packages/make-3.82-x86_64-4_slack14.0.txt +-rw-r--r-- 1 root root 407312 2013-02-15 06:40 ./patches/packages/make-3.82-x86_64-4_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-02-15 06:40 ./patches/packages/make-3.82-x86_64-4_slack14.0.txz.asc +-rw-r--r-- 1 root root 418 2017-03-23 19:53 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 239088 2017-03-23 19:53 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-03-23 19:53 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 664 2017-08-11 19:49 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 3220916 2017-08-11 19:49 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-08-11 19:49 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 376 2017-04-18 21:43 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 297016 2017-04-18 21:43 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-04-18 21:43 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 529 2017-06-29 17:15 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 586252 2017-06-29 17:15 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-06-29 17:15 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 527 2013-11-16 00:32 ./patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 19226656 2013-11-16 00:32 ./patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-11-16 00:32 ./patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 564 2016-03-09 18:03 ./patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1719168 2016-03-09 18:03 ./patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2016-03-09 18:03 ./patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 702 2013-12-05 01:01 ./patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 32842144 2013-12-05 01:01 ./patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-12-05 01:01 ./patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 411 2015-03-10 18:25 ./patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 1001488 2015-03-10 18:25 ./patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-03-10 18:25 ./patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 360 2016-09-13 18:34 ./patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 5228076 2016-09-13 18:34 ./patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-09-13 18:34 ./patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 408 2015-08-21 19:52 ./patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 305244 2015-08-21 19:52 ./patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-08-21 19:52 ./patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 532 2018-02-28 23:44 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 2035932 2018-02-28 23:44 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-02-28 23:44 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 676 2018-03-08 03:29 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 760708 2018-03-08 03:29 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-03-08 03:29 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 561 2016-09-22 18:20 ./patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 3008236 2016-09-22 18:20 ./patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-09-22 18:20 ./patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 625 2016-09-22 18:20 ./patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1292708 2016-09-22 18:20 ./patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-09-22 18:20 ./patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 430 2018-04-26 19:07 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 445956 2018-04-26 19:07 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-04-26 19:07 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 563 2018-04-06 19:33 ./patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 119040 2018-04-06 19:33 ./patches/packages/patch-2.7.6-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-04-06 19:33 ./patches/packages/patch-2.7.6-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 516 2013-03-14 02:16 ./patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 14243436 2013-03-14 02:16 ./patches/packages/perl-5.16.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-03-14 02:16 ./patches/packages/perl-5.16.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 376 2018-05-16 21:08 ./patches/packages/php-5.6.36-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 12524944 2018-05-16 21:08 ./patches/packages/php-5.6.36-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-05-16 21:08 ./patches/packages/php-5.6.36-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 469 2017-03-16 01:35 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 6426732 2017-03-16 01:35 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-03-16 01:35 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 450 2013-02-15 22:01 ./patches/packages/polkit-0.105-x86_64-4_slack14.0.txt +-rw-r--r-- 1 root root 387036 2013-02-15 22:01 ./patches/packages/polkit-0.105-x86_64-4_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-02-15 22:01 ./patches/packages/polkit-0.105-x86_64-4_slack14.0.txz.asc +-rw-r--r-- 1 root root 494 2013-08-21 06:27 ./patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 1205636 2013-08-21 06:27 ./patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-08-21 06:27 ./patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 451 2015-04-17 16:52 ./patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 367736 2015-04-17 16:52 ./patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-04-17 16:52 ./patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 339 2017-04-20 21:55 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 973872 2017-04-20 21:55 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-04-20 21:55 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 438 2018-05-04 19:08 ./patches/packages/python-2.7.15-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 14496680 2018-05-04 19:08 ./patches/packages/python-2.7.15-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-05-04 19:08 ./patches/packages/python-2.7.15-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 213 2016-10-27 05:56 ./patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt +-rw-r--r-- 1 root root 42344 2016-10-27 05:56 ./patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:56 ./patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 528 2018-01-30 19:37 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 329444 2018-01-30 19:37 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-01-30 19:37 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 410 2013-12-09 23:36 ./patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 4661112 2013-12-09 23:36 ./patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-12-09 23:36 ./patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 425 2017-05-01 23:19 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt +-rw-r--r-- 1 root root 163288 2017-05-01 23:19 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-05-01 23:19 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txz.asc +-rw-r--r-- 1 root root 509 2018-03-13 18:44 ./patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 10825280 2018-03-13 18:44 ./patches/packages/samba-4.4.16-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-03-13 18:44 ./patches/packages/samba-4.4.16-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 487 2013-02-06 23:03 ./patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt +-rw-r--r-- 1 root root 669464 2013-02-06 23:03 ./patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-02-06 23:03 ./patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txz.asc +-rw-r--r-- 1 root root 434 2015-09-29 04:43 ./patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 48670320 2015-09-29 04:43 ./patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-09-29 04:43 ./patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 673 2015-09-29 04:43 ./patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1340080 2015-09-29 04:43 ./patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2015-09-29 04:43 ./patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 503 2014-06-05 20:50 ./patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 990780 2014-06-05 20:50 ./patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-06-05 20:50 ./patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 588 2014-06-05 20:50 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt +-rw-r--r-- 1 root root 113656 2014-06-05 20:50 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-06-05 20:50 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 484 2012-12-06 22:15 ./patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 423384 2012-12-06 22:15 ./patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2012-12-06 22:15 ./patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 510 2016-08-22 18:34 ./patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 167128 2016-08-22 18:34 ./patches/packages/stunnel-5.35-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-08-22 18:34 ./patches/packages/stunnel-5.35-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 597 2017-08-10 20:09 ./patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 3403744 2017-08-10 20:09 ./patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-08-10 20:09 ./patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 414 2017-05-31 22:51 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 624552 2017-05-31 22:51 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-05-31 22:51 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 424 2017-09-07 20:56 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 366460 2017-09-07 20:56 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-09-07 20:56 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 510 2013-03-28 06:59 ./patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt +-rw-r--r-- 1 root root 143628 2013-03-28 06:59 ./patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-03-28 06:59 ./patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txz.asc +-rw-r--r-- 1 root root 413 2014-03-11 06:38 ./patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 176600 2014-03-11 06:38 ./patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-03-11 06:38 ./patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 428 2014-03-11 06:53 ./patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt +-rw-r--r-- 1 root root 379048 2014-03-11 06:53 ./patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txz +-rw-r--r-- 1 root root 181 2014-03-11 06:53 ./patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txz.asc +-rw-r--r-- 1 root root 385 2017-04-10 12:28 ./patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 6109360 2017-04-10 12:28 ./patches/packages/vim-7.4.399-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-04-10 12:28 ./patches/packages/vim-7.4.399-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 505 2017-04-10 12:29 ./patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1094584 2017-04-10 12:29 ./patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-04-10 12:29 ./patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 398 2018-05-08 01:28 ./patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 656432 2018-05-08 01:28 ./patches/packages/wget-1.19.5-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2018-05-08 01:28 ./patches/packages/wget-1.19.5-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 603 2017-10-17 04:42 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1044808 2017-10-17 04:42 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-17 04:42 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 462 2016-10-27 05:31 ./patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 92764 2016-10-27 05:31 ./patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:31 ./patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 350 2016-10-27 05:50 ./patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 182136 2016-10-27 05:50 ./patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:50 ./patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 369 2017-10-25 05:11 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 2369420 2017-10-25 05:11 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-25 05:11 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 698 2017-10-18 17:42 ./patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt +-rw-r--r-- 1 root root 1902000 2017-10-18 17:42 ./patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txz.asc +-rw-r--r-- 1 root root 370 2017-10-18 17:42 ./patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt +-rw-r--r-- 1 root root 744848 2017-10-18 17:42 ./patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txz.asc +-rw-r--r-- 1 root root 595 2017-10-18 17:42 ./patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt +-rw-r--r-- 1 root root 588944 2017-10-18 17:42 ./patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txz.asc +-rw-r--r-- 1 root root 693 2017-10-18 17:42 ./patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt +-rw-r--r-- 1 root root 668636 2017-10-18 17:42 ./patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txz.asc +-rw-r--r-- 1 root root 188 2013-08-20 19:19 ./patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 1802460 2013-08-20 19:19 ./patches/packages/xpdf-3.03-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 198 2013-08-20 19:19 ./patches/packages/xpdf-3.03-x86_64-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 319 2016-10-27 05:29 ./patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt +-rw-r--r-- 1 root root 250408 2016-10-27 05:29 ./patches/packages/xproto-7.0.29-noarch-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2016-10-27 05:29 ./patches/packages/xproto-7.0.29-noarch-1_slack14.0.txz.asc +-rw-r--r-- 1 root root 467 2017-12-24 18:01 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt +-rw-r--r-- 1 root root 5004040 2017-12-24 18:01 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txz +-rw-r--r-- 1 root root 163 2017-12-24 18:01 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txz.asc +drwxr-xr-x 120 root root 4096 2018-05-25 20:11 ./patches/source +drwxr-xr-x 2 root root 4096 2016-01-25 19:30 ./patches/source/MPlayer +-rw-r--r-- 1 root root 222529 2015-09-12 17:47 ./patches/source/MPlayer/Blue-1.11.tar.bz2 +-rw-r--r-- 1 root root 5234232 2016-01-25 01:47 ./patches/source/MPlayer/MPlayer-20160125.tar.xz +-rwxr-xr-- 1 root root 18414 2016-01-25 20:57 ./patches/source/MPlayer/MPlayer.SlackBuild +-rw-r--r-- 1 root root 7201100 2016-01-15 17:09 ./patches/source/MPlayer/ffmpeg-2.8.5.tar.xz +-rw-r--r-- 1 root root 1084 2015-04-05 05:08 ./patches/source/MPlayer/slack-desc +drwxr-xr-x 2 root root 4096 2014-03-31 18:22 ./patches/source/apr +drwxr-xr-x 2 root root 4096 2014-03-31 19:02 ./patches/source/apr-util +-rw-r--r-- 1 root root 695303 2013-11-16 17:52 ./patches/source/apr-util/apr-util-1.5.3.tar.bz2 +-rw-r--r-- 1 root root 836 2013-11-16 17:52 ./patches/source/apr-util/apr-util-1.5.3.tar.bz2.asc +-rwxr-xr-x 1 root root 3904 2014-03-31 19:46 ./patches/source/apr-util/apr-util.SlackBuild +-rw-r--r-- 1 root root 112 2014-03-31 19:02 ./patches/source/apr-util/apr-util.url +-rw-r--r-- 1 root root 942 2006-07-29 21:51 ./patches/source/apr-util/slack-desc +-rw-r--r-- 1 root root 813976 2013-11-16 17:50 ./patches/source/apr/apr-1.5.0.tar.bz2 +-rw-r--r-- 1 root root 836 2013-11-16 17:50 ./patches/source/apr/apr-1.5.0.tar.bz2.asc +-rwxr-xr-x 1 root root 3373 2014-03-31 19:40 ./patches/source/apr/apr.SlackBuild +-rw-r--r-- 1 root root 102 2014-03-31 18:22 ./patches/source/apr/apr.url +-rw-r--r-- 1 root root 729 2006-07-29 07:49 ./patches/source/apr/slack-desc +drwxr-xr-x 3 root root 4096 2017-09-07 20:17 ./patches/source/bash +drwxr-xr-x 2 root root 4096 2014-11-07 19:31 ./patches/source/bash/bash-4.2-patches +-rw-r--r-- 1 root root 2944 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-001 +-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-001.sig +-rw-r--r-- 1 root root 1780 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-002 +-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-002.sig +-rw-r--r-- 1 root root 6896 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-003 +-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-003.sig +-rw-r--r-- 1 root root 1686 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-004 +-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-004.sig +-rw-r--r-- 1 root root 3424 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-005 +-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-005.sig +-rw-r--r-- 1 root root 1187 2011-03-02 01:01 ./patches/source/bash/bash-4.2-patches/bash42-006 +-rw-r--r-- 1 root root 65 2011-03-02 01:01 ./patches/source/bash/bash-4.2-patches/bash42-006.sig +-rw-r--r-- 1 root root 1394 2011-03-06 19:59 ./patches/source/bash/bash-4.2-patches/bash42-007 +-rw-r--r-- 1 root root 65 2011-03-06 19:59 ./patches/source/bash/bash-4.2-patches/bash42-007.sig +-rw-r--r-- 1 root root 2164 2011-03-14 19:35 ./patches/source/bash/bash-4.2-patches/bash42-008 +-rw-r--r-- 1 root root 65 2011-03-14 19:35 ./patches/source/bash/bash-4.2-patches/bash42-008.sig +-rw-r--r-- 1 root root 2384 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-009 +-rw-r--r-- 1 root root 72 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-009.sig +-rw-r--r-- 1 root root 1818 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-010 +-rw-r--r-- 1 root root 72 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-010.sig +-rw-r--r-- 1 root root 1426 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-011 +-rw-r--r-- 1 root root 72 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-011.sig +-rw-r--r-- 1 root root 4247 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-012 +-rw-r--r-- 1 root root 72 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-012.sig +-rw-r--r-- 1 root root 1340 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-013 +-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-013.sig +-rw-r--r-- 1 root root 1434 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-014 +-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-014.sig +-rw-r--r-- 1 root root 1991 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-015 +-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-015.sig +-rw-r--r-- 1 root root 1410 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-016 +-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-016.sig +-rw-r--r-- 1 root root 1399 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-017 +-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-017.sig +-rw-r--r-- 1 root root 1929 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-018 +-rw-r--r-- 1 root root 72 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-018.sig +-rw-r--r-- 1 root root 1415 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-019 +-rw-r--r-- 1 root root 72 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-019.sig +-rw-r--r-- 1 root root 1825 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-020 +-rw-r--r-- 1 root root 72 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-020.sig +-rw-r--r-- 1 root root 1532 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-021 +-rw-r--r-- 1 root root 72 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-021.sig +-rw-r--r-- 1 root root 1395 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-022 +-rw-r--r-- 1 root root 71 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-022.sig +-rw-r--r-- 1 root root 1699 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-023 +-rw-r--r-- 1 root root 72 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-023.sig +-rw-r--r-- 1 root root 1363 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-024 +-rw-r--r-- 1 root root 72 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-024.sig +-rw-r--r-- 1 root root 3969 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-025 +-rw-r--r-- 1 root root 72 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-025.sig +-rw-r--r-- 1 root root 1577 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-026 +-rw-r--r-- 1 root root 72 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-026.sig +-rw-r--r-- 1 root root 1461 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-027 +-rw-r--r-- 1 root root 72 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-027.sig +-rw-r--r-- 1 root root 1834 2012-05-02 21:02 ./patches/source/bash/bash-4.2-patches/bash42-028 +-rw-r--r-- 1 root root 72 2012-05-02 21:02 ./patches/source/bash/bash-4.2-patches/bash42-028.sig +-rw-r--r-- 1 root root 16812 2012-05-30 00:45 ./patches/source/bash/bash-4.2-patches/bash42-029 +-rw-r--r-- 1 root root 72 2012-05-30 00:45 ./patches/source/bash/bash-4.2-patches/bash42-029.sig +-rw-r--r-- 1 root root 5046 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-030 +-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-030.sig +-rw-r--r-- 1 root root 2047 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-031 +-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-031.sig +-rw-r--r-- 1 root root 2416 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-032 +-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-032.sig +-rw-r--r-- 1 root root 1634 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-033 +-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-033.sig +-rw-r--r-- 1 root root 1345 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-034 +-rw-r--r-- 1 root root 72 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-034.sig +-rw-r--r-- 1 root root 1920 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-035 +-rw-r--r-- 1 root root 72 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-035.sig +-rw-r--r-- 1 root root 3123 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-036 +-rw-r--r-- 1 root root 72 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-036.sig +-rw-r--r-- 1 root root 3483 2012-07-16 21:20 ./patches/source/bash/bash-4.2-patches/bash42-037 +-rw-r--r-- 1 root root 72 2012-07-16 21:20 ./patches/source/bash/bash-4.2-patches/bash42-037.sig +-rw-r--r-- 1 root root 1290 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-038 +-rw-r--r-- 1 root root 72 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-038.sig +-rw-r--r-- 1 root root 1603 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-039 +-rw-r--r-- 1 root root 72 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-039.sig +-rw-r--r-- 1 root root 1710 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-040 +-rw-r--r-- 1 root root 72 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-040.sig +-rw-r--r-- 1 root root 1463 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-041 +-rw-r--r-- 1 root root 72 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-041.sig +-rw-r--r-- 1 root root 1571 2012-12-31 16:59 ./patches/source/bash/bash-4.2-patches/bash42-042 +-rw-r--r-- 1 root root 71 2012-12-31 16:59 ./patches/source/bash/bash-4.2-patches/bash42-042.sig +-rw-r--r-- 1 root root 2110 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-043 +-rw-r--r-- 1 root root 72 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-043.sig +-rw-r--r-- 1 root root 1871 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-044 +-rw-r--r-- 1 root root 72 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-044.sig +-rw-r--r-- 1 root root 1572 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-045 +-rw-r--r-- 1 root root 72 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-045.sig +-rw-r--r-- 1 root root 1988 2014-03-31 20:50 ./patches/source/bash/bash-4.2-patches/bash42-046 +-rw-r--r-- 1 root root 72 2014-03-31 20:50 ./patches/source/bash/bash-4.2-patches/bash42-046.sig +-rw-r--r-- 1 root root 1353 2014-04-14 14:17 ./patches/source/bash/bash-4.2-patches/bash42-047 +-rw-r--r-- 1 root root 72 2014-04-14 14:17 ./patches/source/bash/bash-4.2-patches/bash42-047.sig +-rw-r--r-- 1 root root 3258 2014-09-24 14:25 ./patches/source/bash/bash-4.2-patches/bash42-048 +-rw-r--r-- 1 root root 72 2014-09-24 14:25 ./patches/source/bash/bash-4.2-patches/bash42-048.sig +-rw-r--r-- 1 root root 1159 2014-09-28 17:54 ./patches/source/bash/bash-4.2-patches/bash42-049 +-rw-r--r-- 1 root root 72 2014-09-28 17:54 ./patches/source/bash/bash-4.2-patches/bash42-049.sig +-rw-r--r-- 1 root root 6650 2014-09-28 02:38 ./patches/source/bash/bash-4.2-patches/bash42-050 +-rw-r--r-- 1 root root 72 2014-09-28 02:38 ./patches/source/bash/bash-4.2-patches/bash42-050.sig +-rw-r--r-- 1 root root 5063 2014-10-01 14:39 ./patches/source/bash/bash-4.2-patches/bash42-051 +-rw-r--r-- 1 root root 72 2014-10-01 14:39 ./patches/source/bash/bash-4.2-patches/bash42-051.sig +-rw-r--r-- 1 root root 1810 2014-10-03 02:14 ./patches/source/bash/bash-4.2-patches/bash42-052 +-rw-r--r-- 1 root root 72 2014-10-03 02:14 ./patches/source/bash/bash-4.2-patches/bash42-052.sig +-rw-r--r-- 1 root root 3859 2014-10-05 23:01 ./patches/source/bash/bash-4.2-patches/bash42-053 +-rw-r--r-- 1 root root 72 2014-10-05 23:01 ./patches/source/bash/bash-4.2-patches/bash42-053.sig +-rw-r--r-- 1 root root 4196384 2011-02-13 20:50 ./patches/source/bash/bash-4.2.tar.xz +-rw-r--r-- 1 root root 1238 2017-09-07 20:11 ./patches/source/bash/bash.CVE-2016-0634.bash43-047.gz +-rw-r--r-- 1 root root 802 2017-09-07 20:11 ./patches/source/bash/bash.CVE-2016-7543.bash43-048.gz +-rwxr-xr-x 1 root root 5187 2017-09-07 20:19 ./patches/source/bash/bash.SlackBuild +-rw-r--r-- 1 root root 189 2009-02-23 21:59 ./patches/source/bash/doinst.sh.gz +-rw-r--r-- 1 root root 965 2002-03-23 21:47 ./patches/source/bash/slack-desc +drwxr-xr-x 3 root root 4096 2018-01-17 02:59 ./patches/source/bind +-rw-r--r-- 1 root root 5120 2007-06-08 04:48 ./patches/source/bind/3link.sh +-rw-r--r-- 1 root root 8868987 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz +-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.asc +-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha1.asc +-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha256.asc +-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha512.asc +-rwxr-xr-x 1 root root 5213 2018-01-17 02:59 ./patches/source/bind/bind.SlackBuild +-rw-r--r-- 1 root root 280 2006-02-18 19:10 ./patches/source/bind/bind.so_bsdcompat.diff.gz +drwxr-xr-x 2 root root 4096 2014-12-09 19:28 ./patches/source/bind/caching-example +-rw-r--r-- 1 root root 195 2001-05-18 02:03 ./patches/source/bind/caching-example/localhost.zone +-rw-r--r-- 1 root root 681 2008-04-13 21:47 ./patches/source/bind/caching-example/named.conf +-rw-r--r-- 1 root root 433 2011-03-26 06:54 ./patches/source/bind/caching-example/named.local +-rw-r--r-- 1 root root 3175 2014-11-05 17:56 ./patches/source/bind/caching-example/named.root +-rw-r--r-- 1 root root 514 2009-05-23 08:11 ./patches/source/bind/doinst.sh.gz +-rw-r--r-- 1 root root 3378 2010-06-24 17:32 ./patches/source/bind/rc.bind +-rw-r--r-- 1 root root 791 2002-02-27 02:45 ./patches/source/bind/slack-desc +drwxr-xr-x 2 root root 4096 2015-12-19 22:30 ./patches/source/blueman +-rw-r--r-- 1 root root 3648 2011-02-01 00:16 ./patches/source/blueman/blueman-open +-rw-r--r-- 1 root root 664092 2015-12-19 22:29 ./patches/source/blueman/blueman-r708.tar.xz +-rw-r--r-- 1 root root 330 2010-04-11 04:24 ./patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff.gz +-rw-r--r-- 1 root root 466 2015-12-19 22:08 ./patches/source/blueman/blueman.CVE-2015-8612.diff.gz +-rwxr-xr-x 1 root root 4389 2015-12-19 22:30 ./patches/source/blueman/blueman.SlackBuild +-rw-r--r-- 1 root root 361 2009-10-31 03:20 ./patches/source/blueman/doinst.sh.gz +-rw-r--r-- 1 root root 882 2010-05-02 07:44 ./patches/source/blueman/slack-desc +drwxr-xr-x 3 root root 4096 2017-09-14 17:16 ./patches/source/bluez +-rw-r--r-- 1 root root 836 2012-03-06 17:23 ./patches/source/bluez/bluez-4.99.tar.sign +-rw-r--r-- 1 root root 859756 2012-03-06 17:23 ./patches/source/bluez/bluez-4.99.tar.xz +-rw-r--r-- 1 root root 615 2017-09-14 00:06 ./patches/source/bluez/bluez.CVE-2017-1000251.diff.gz +-rwxr-xr-x 1 root root 5636 2017-09-14 17:15 ./patches/source/bluez/bluez.SlackBuild +-rw-r--r-- 1 root root 234 2012-09-09 17:36 ./patches/source/bluez/bluez.enable.audio.socket.diff.gz +drwxr-xr-x 2 root root 4096 2012-07-06 18:43 ./patches/source/bluez/config +-rw-r--r-- 1 root root 128 2009-12-30 18:25 ./patches/source/bluez/config/bluetooth.modprobe +-rw-r--r-- 1 root root 393 2012-07-08 04:09 ./patches/source/bluez/config/rc.bluetooth +-rw-r--r-- 1 root root 381 2012-07-08 03:12 ./patches/source/bluez/doinst.sh.gz +-rw-r--r-- 1 root root 803 2010-05-02 05:59 ./patches/source/bluez/slack-desc +drwxr-xr-x 3 root root 4096 2017-07-07 20:40 ./patches/source/ca-certificates +-rwxr-xr-x 1 root root 3148 2017-07-07 20:47 ./patches/source/ca-certificates/ca-certificates.SlackBuild +-rw-r--r-- 1 root root 298648 2017-05-19 15:18 ./patches/source/ca-certificates/ca-certificates_20161130+nmu1.tar.xz +-rw-r--r-- 1 root root 315 2012-09-11 21:13 ./patches/source/ca-certificates/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2013-06-28 04:48 ./patches/source/ca-certificates/patches +-rw-r--r-- 1 root root 356 2013-07-25 18:11 ./patches/source/ca-certificates/patches/fixup_DESTDIR.diff.gz +-rw-r--r-- 1 root root 374 2015-09-14 21:52 ./patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff.gz +-rw-r--r-- 1 root root 128 2012-09-11 21:12 ./patches/source/ca-certificates/setup.11.cacerts +-rw-r--r-- 1 root root 895 2009-07-02 03:53 ./patches/source/ca-certificates/slack-desc +drwxr-xr-x 2 root root 4096 2015-07-07 19:16 ./patches/source/cups +-rw-r--r-- 1 root root 8740184 2012-07-25 20:45 ./patches/source/cups/cups-1.5.4-source.tar.xz +-rw-r--r-- 1 root root 199167 2004-01-03 18:49 ./patches/source/cups/cups-samba-5.0rc3.tar.gz +-rw-r--r-- 1 root root 38284 2006-04-19 23:55 ./patches/source/cups/cups-windows-6.0-source.tar.bz2 +-rwxr-xr-x 1 root root 6429 2015-07-07 19:21 ./patches/source/cups/cups.SlackBuild +-rw-r--r-- 1 root root 63 2012-08-02 18:50 ./patches/source/cups/cups.url +-rw-r--r-- 1 root root 565 2010-05-17 07:39 ./patches/source/cups/doinst.sh.gz +-rw-r--r-- 1 root root 1099 2002-02-01 20:47 ./patches/source/cups/slack-desc +-rw-r--r-- 1 root root 2593 2015-07-07 19:11 ./patches/source/cups/str4609-1.5.patch.gz +-rw-r--r-- 1 root root 1198 2012-08-06 10:15 ./patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch.gz +drwxr-xr-x 2 root root 4096 2018-05-16 20:28 ./patches/source/curl +-rwxr-xr-x 1 root root 86 2012-04-08 00:28 ./patches/source/curl/cacert-fetch.sh +-rw-r--r-- 1 root root 122017 2018-03-07 04:12 ./patches/source/curl/cacert.pem.bz2 +-rw-r--r-- 1 root root 2338104 2018-05-16 06:19 ./patches/source/curl/curl-7.60.0.tar.xz +-rw-r--r-- 1 root root 488 2018-05-16 06:19 ./patches/source/curl/curl-7.60.0.tar.xz.asc +-rwxr-xr-x 1 root root 4552 2017-08-09 19:40 ./patches/source/curl/curl.SlackBuild +-rw-r--r-- 1 root root 1010 2008-02-11 03:44 ./patches/source/curl/slack-desc +drwxr-xr-x 2 root root 4096 2013-07-09 23:37 ./patches/source/dbus +-rw-r--r-- 1 root root 1255584 2012-03-27 13:27 ./patches/source/dbus/dbus-1.4.20.tar.xz +-rw-r--r-- 1 root root 486 2010-09-14 14:18 ./patches/source/dbus/dbus-1.4.x-allow_root_globally.diff.gz +-rw-r--r-- 1 root root 1193 2013-07-09 23:30 ./patches/source/dbus/dbus.CVE-2013-2168.diff.gz +-rwxr-xr-x 1 root root 4631 2013-07-09 23:43 ./patches/source/dbus/dbus.SlackBuild +-rw-r--r-- 1 root root 374 2012-08-29 17:41 ./patches/source/dbus/dbus.set.home.diff.gz +-rw-r--r-- 1 root root 333 2010-09-14 14:28 ./patches/source/dbus/doinst.sh.gz +-rw-r--r-- 1 root root 824 2012-08-01 19:16 ./patches/source/dbus/rc.messagebus.gz +-rw-r--r-- 1 root root 945 2007-10-21 22:41 ./patches/source/dbus/slack-desc +drwxr-xr-x 2 root root 4096 2018-02-28 21:46 ./patches/source/dhcp +-rw-r--r-- 1 root root 414 2017-08-03 20:32 ./patches/source/dhcp/dhclient-script.PATH.diff.gz +-rw-r--r-- 1 root root 11164378 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz +-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.asc +-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha1.asc +-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha256.asc +-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha512.asc +-rwxr-xr-x 1 root root 1667 2011-04-06 19:13 ./patches/source/dhcp/dhcp-remove-bind-tarball.sh +-rwxr-xr-x 1 root root 5322 2013-03-26 22:00 ./patches/source/dhcp/dhcp.SlackBuild +-rw-r--r-- 1 root root 309 2011-03-24 13:39 ./patches/source/dhcp/doinst.sh.gz +-rw-r--r-- 1 root root 1099 2002-02-27 02:14 ./patches/source/dhcp/slack-desc +drwxr-xr-x 2 root root 4096 2014-08-01 20:39 ./patches/source/dhcpcd +-rw-r--r-- 1 root root 763 2012-07-08 23:28 ./patches/source/dhcpcd/COPYRIGHT.gz +-rw-r--r-- 1 root root 622 2012-05-24 02:37 ./patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch.gz +-rw-r--r-- 1 root root 78185 2012-03-28 10:26 ./patches/source/dhcpcd/dhcpcd-5.5.6.tar.bz2 +-rwxr-xr-x 1 root root 4343 2014-08-01 20:40 ./patches/source/dhcpcd/dhcpcd.SlackBuild +-rw-r--r-- 1 root root 274 2014-08-01 20:36 ./patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch.gz +-rw-r--r-- 1 root root 265 2009-07-24 16:30 ./patches/source/dhcpcd/doinst.sh.gz +-rw-r--r-- 1 root root 900 2008-04-10 21:01 ./patches/source/dhcpcd/slack-desc +drwxr-xr-x 2 root root 4096 2017-10-02 17:00 ./patches/source/dnsmasq +-rw-r--r-- 1 root root 489172 2017-10-02 13:42 ./patches/source/dnsmasq/dnsmasq-2.78.tar.xz +-rw-r--r-- 1 root root 819 2017-10-02 13:42 ./patches/source/dnsmasq/dnsmasq-2.78.tar.xz.asc +-rwxr-xr-x 1 root root 3536 2017-10-02 17:00 ./patches/source/dnsmasq/dnsmasq.SlackBuild +-rw-r--r-- 1 root root 543 2010-01-22 21:33 ./patches/source/dnsmasq/dnsmasq.leasedir.diff.gz +-rw-r--r-- 1 root root 376 2010-01-22 21:37 ./patches/source/dnsmasq/doinst.sh.gz +-rw-r--r-- 1 root root 265 2005-10-16 20:02 ./patches/source/dnsmasq/rc.dnsmasq.gz +-rw-r--r-- 1 root root 902 2017-10-02 16:51 ./patches/source/dnsmasq/slack-desc +drwxr-xr-x 2 root root 4096 2017-09-12 18:42 ./patches/source/emacs +-rw-r--r-- 1 root root 312 2008-04-06 03:10 ./patches/source/emacs/doinst.sh.gz +-rw-r--r-- 1 root root 42854740 2017-09-11 20:45 ./patches/source/emacs/emacs-25.3.tar.xz +-rw-r--r-- 1 root root 488 2017-09-11 20:45 ./patches/source/emacs/emacs-25.3.tar.xz.sig +-rwxr-xr-x 1 root root 6007 2017-09-12 18:42 ./patches/source/emacs/emacs.SlackBuild +-rw-r--r-- 1 root root 549 2008-04-06 03:11 ./patches/source/emacs/slack-desc +drwxr-xr-x 2 root root 4096 2017-07-18 03:29 ./patches/source/expat +-rw-r--r-- 1 root root 341768 2017-07-13 20:20 ./patches/source/expat/expat-2.2.2.tar.xz +-rwxr-xr-x 1 root root 3147 2017-07-18 05:24 ./patches/source/expat/expat.SlackBuild +-rw-r--r-- 1 root root 720 2008-02-11 03:44 ./patches/source/expat/slack-desc +drwxr-xr-x 2 root root 4096 2014-11-29 12:34 ./patches/source/flac +-rw-r--r-- 1 root root 941848 2014-11-27 03:38 ./patches/source/flac/flac-1.3.1.tar.xz +-rwxr-xr-x 1 root root 3956 2016-02-08 20:30 ./patches/source/flac/flac.SlackBuild +-rw-r--r-- 1 root root 433 2014-11-29 12:34 ./patches/source/flac/flac.man.diff.gz +-rw-r--r-- 1 root root 1058 2002-08-26 19:03 ./patches/source/flac/slack-desc +drwxr-xr-x 2 root root 4096 2017-05-16 03:44 ./patches/source/freetype +-rw-r--r-- 1 root root 1472888 2014-12-30 20:43 ./patches/source/freetype/freetype-2.5.5.tar.xz +-rw-r--r-- 1 root root 580 2017-05-16 03:40 ./patches/source/freetype/freetype.CVE-2017-8287.diff.gz +-rwxr-xr-x 1 root root 4107 2017-05-16 03:46 ./patches/source/freetype/freetype.SlackBuild +-rw-r--r-- 1 root root 504 2014-05-12 06:42 ./patches/source/freetype/freetype.illadvisederror.diff.gz +-rw-r--r-- 1 root root 302 2014-08-27 18:43 ./patches/source/freetype/freetype.subpixel.rendering.diff.gz +-rw-r--r-- 1 root root 803 2006-07-22 01:26 ./patches/source/freetype/slack-desc +drwxr-xr-x 2 root root 4096 2015-09-01 19:42 ./patches/source/gdk-pixbuf2 +-rw-r--r-- 1 root root 91 2010-11-16 21:31 ./patches/source/gdk-pixbuf2/doinst.sh.gz +-rw-r--r-- 1 root root 1167608 2012-04-14 20:37 ./patches/source/gdk-pixbuf2/gdk-pixbuf-2.26.1.tar.xz +-rw-r--r-- 1 root root 729 2015-09-01 19:38 ./patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff.gz +-rw-r--r-- 1 root root 242 2010-10-09 15:25 ./patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff.gz +-rwxr-xr-x 1 root root 4849 2015-09-01 19:43 ./patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild +-rw-r--r-- 1 root root 1000 2010-11-14 18:49 ./patches/source/gdk-pixbuf2/slack-desc +-rw-r--r-- 1 root root 1848 2012-09-10 18:59 ./patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders +drwxr-xr-x 2 root root 4096 2017-07-02 02:22 ./patches/source/gegl +-rw-r--r-- 1 root root 1117 2017-07-02 02:20 ./patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch.gz +-rw-r--r-- 1 root root 2075 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch.gz +-rw-r--r-- 1 root root 1005 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-libopenraw.patch.gz +-rw-r--r-- 1 root root 559 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-linker-flags.patch.gz +-rw-r--r-- 1 root root 869 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-lua-5.2.patch.gz +-rw-r--r-- 1 root root 2386 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch.gz +-rw-r--r-- 1 root root 7078700 2012-05-03 14:01 ./patches/source/gegl/gegl-0.2.0.tar.xz +-rwxr-xr-x 1 root root 3908 2017-09-27 19:08 ./patches/source/gegl/gegl.SlackBuild +-rw-r--r-- 1 root root 863 2012-07-22 17:01 ./patches/source/gegl/slack-desc +drwxr-xr-x 2 root root 4096 2016-07-14 18:17 ./patches/source/gimp +-rw-r--r-- 1 root root 15758204 2016-07-13 20:44 ./patches/source/gimp/gimp-2.8.18.tar.xz +-rwxr-xr-x 1 root root 4131 2016-07-14 20:14 ./patches/source/gimp/gimp.SlackBuild +-rw-r--r-- 1 root root 928 2003-01-29 03:18 ./patches/source/gimp/slack-desc +drwxr-xr-x 2 root root 4096 2017-08-11 20:23 ./patches/source/git +-rw-r--r-- 1 root root 543 2017-08-10 17:57 ./patches/source/git/git-2.14.1.tar.sign +-rw-r--r-- 1 root root 4791876 2017-08-10 17:57 ./patches/source/git/git-2.14.1.tar.xz +-rwxr-xr-x 1 root root 4909 2017-08-11 20:23 ./patches/source/git/git.SlackBuild +-rw-r--r-- 1 root root 45 2015-09-01 20:04 ./patches/source/git/git.url +-rw-r--r-- 1 root root 851 2009-05-30 01:25 ./patches/source/git/slack-desc +drwxr-xr-x 4 root root 4096 2015-01-28 00:38 ./patches/source/glibc +drwxr-xr-x 3 root root 4096 2018-05-08 04:43 ./patches/source/glibc-zoneinfo +-rw-r--r-- 1 root root 1137 2018-05-24 17:58 ./patches/source/glibc-zoneinfo/doinst.sh.gz +-rwxr-xr-x 1 root root 5017 2018-05-24 18:03 ./patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild +-rw-r--r-- 1 root root 969 2011-11-11 18:09 ./patches/source/glibc-zoneinfo/slack-desc +drwxr-xr-x 3 root root 4096 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts +-rwxr-xr-x 1 root root 2579 2015-12-11 17:32 ./patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh +drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./patches/source/glibc-zoneinfo/timezone-scripts/parts +-rw-r--r-- 1 root root 4548 2015-12-11 02:36 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/00 +-rw-r--r-- 1 root root 13593 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/01 +-rw-r--r-- 1 root root 443 2006-12-03 22:53 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/02 +-rw-r--r-- 1 root root 8913 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/03 +-rw-r--r-- 1 root root 888 2015-12-11 02:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/04 +-rw-r--r-- 1 root root 87 2006-12-03 23:10 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/README +-rw-r--r-- 1 root root 66 2003-02-16 21:17 ./patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig +-rw-r--r-- 1 root root 28385 2015-12-17 21:29 ./patches/source/glibc-zoneinfo/timezone-scripts/timeconfig +-rw-r--r-- 1 root root 231732 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzcode2018e.tar.gz +-rw-r--r-- 1 root root 819 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzcode2018e.tar.gz.asc +-rw-r--r-- 1 root root 353953 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzdata2018e.tar.gz +-rw-r--r-- 1 root root 819 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzdata2018e.tar.gz.asc +-rw-r--r-- 1 root root 7252 2012-03-25 21:24 ./patches/source/glibc/doinst.sh-glibc +-rw-r--r-- 1 root root 4512 2012-03-25 21:25 ./patches/source/glibc/doinst.sh-glibc-solibs +-rw-r--r-- 1 root root 736 2010-10-12 19:33 ./patches/source/glibc/doinst.sh-glibc-zoneinfo +-rw-r--r-- 1 root root 652 2009-01-09 04:49 ./patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff.gz +-rw-r--r-- 1 root root 541 2012-01-04 02:57 ./patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch.gz +-rw-r--r-- 1 root root 545 2012-01-04 02:58 ./patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch.gz +-rw-r--r-- 1 root root 2097 2011-11-12 08:02 ./patches/source/glibc/glibc-2.14.1-fixes-1.patch.gz +-rw-r--r-- 1 root root 1520 2012-06-24 19:03 ./patches/source/glibc/glibc-2.15-revert-c5a0802a.diff.gz +-rw-r--r-- 1 root root 714 2012-05-25 18:52 ./patches/source/glibc/glibc-2.15.nscd-race-fix.diff.gz +-rw-r--r-- 1 root root 10280176 2012-03-21 17:48 ./patches/source/glibc/glibc-2.15.tar.xz +-rw-r--r-- 1 root root 490 2012-03-21 17:48 ./patches/source/glibc/glibc-2.15.tar.xz.sig +-rw-r--r-- 1 root root 929 2013-09-16 19:10 ./patches/source/glibc/glibc-2.15_avx1.diff.gz +-rw-r--r-- 1 root root 1836 2013-09-16 19:10 ./patches/source/glibc/glibc-2.15_avx2.diff.gz +-rw-r--r-- 1 root root 373 2013-09-16 19:10 ./patches/source/glibc/glibc-2.15_avx3.diff.gz +-rwxr-xr-x 1 root root 174 2004-08-09 06:21 ./patches/source/glibc/glibc-cvs-checkout.sh +-rw-r--r-- 1 root root 857 2013-09-12 21:03 ./patches/source/glibc/glibc.CVE-2013-4332.diff.gz +-rw-r--r-- 1 root root 1996 2015-01-27 23:45 ./patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff.gz +-rwxr-xr-x 1 root root 18367 2015-01-28 00:39 ./patches/source/glibc/glibc.SlackBuild +-rw-r--r-- 1 root root 333 2011-02-09 01:36 ./patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff.gz +-rw-r--r-- 1 root root 183 2006-10-11 03:11 ./patches/source/glibc/glibc.getcwd.max.macro.diff.gz +-rw-r--r-- 1 root root 11654 2011-01-06 17:20 ./patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch.gz +-rw-r--r-- 1 root root 3510 2012-03-27 22:28 ./patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz +-rw-r--r-- 1 root root 558 2011-01-06 02:45 ./patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch.gz +-rw-r--r-- 1 root root 722 2011-03-24 07:29 ./patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff.gz +-rw-r--r-- 1 root root 304 2004-08-04 00:21 ./patches/source/glibc/glibc.locale.no-archive.diff.gz +-rw-r--r-- 1 root root 558 2010-10-19 07:02 ./patches/source/glibc/glibc.make-3.82.diff.gz +-rw-r--r-- 1 root root 325 2006-10-11 01:49 ./patches/source/glibc/glibc.nis-netgroups.diff.gz +-rw-r--r-- 1 root root 246 2009-02-24 23:39 ./patches/source/glibc/glibc.revert.to.fix.build.breakages.diff.gz +-rw-r--r-- 1 root root 213 2006-08-22 06:33 ./patches/source/glibc/glibc.ru_RU.CP1251.diff.gz +-rw-r--r-- 1 root root 4441 2012-08-29 20:03 ./patches/source/glibc/glibc.strtod.CVE-2012-3480.diff.gz +-rw-r--r-- 1 root root 254 2007-10-31 01:17 ./patches/source/glibc/is_IS.diff.gz +drwxr-xr-x 2 root root 4096 2006-09-14 06:32 ./patches/source/glibc/profile.d +-rwxr-xr-x 1 root root 328 2011-03-27 21:19 ./patches/source/glibc/profile.d/glibc.csh.new +-rwxr-xr-x 1 root root 325 2006-09-14 08:26 ./patches/source/glibc/profile.d/glibc.sh.new +-rw-r--r-- 1 root root 845 2002-10-11 19:15 ./patches/source/glibc/slack-desc.glibc +-rw-r--r-- 1 root root 1139 2002-10-12 04:15 ./patches/source/glibc/slack-desc.glibc-debug +-rw-r--r-- 1 root root 794 2002-05-01 00:01 ./patches/source/glibc/slack-desc.glibc-i18n +-rw-r--r-- 1 root root 972 2005-11-18 17:02 ./patches/source/glibc/slack-desc.glibc-profile +-rw-r--r-- 1 root root 786 2002-03-23 23:26 ./patches/source/glibc/slack-desc.glibc-solibs +-rw-r--r-- 1 root root 1227 2006-11-23 03:35 ./patches/source/glibc/slack-desc.glibc-solibs-linuxthreads +-rw-r--r-- 1 root root 969 2011-11-11 18:09 ./patches/source/glibc/slack-desc.glibc-zoneinfo +-rw-r--r-- 1 root root 965 2007-04-30 20:52 ./patches/source/glibc/slack-desc.glibc-zoneinfo.olson +drwxr-xr-x 3 root root 4096 2011-11-11 18:10 ./patches/source/glibc/timezone-scripts +-rwxr-xr-x 1 root root 2136 2012-12-13 06:31 ./patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh +drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./patches/source/glibc/timezone-scripts/parts +-rw-r--r-- 1 root root 4514 2014-10-23 06:33 ./patches/source/glibc/timezone-scripts/parts/00 +-rw-r--r-- 1 root root 44881 2014-10-23 06:32 ./patches/source/glibc/timezone-scripts/parts/01 +-rw-r--r-- 1 root root 443 2006-12-03 22:53 ./patches/source/glibc/timezone-scripts/parts/02 +-rw-r--r-- 1 root root 31616 2014-10-23 06:35 ./patches/source/glibc/timezone-scripts/parts/03 +-rw-r--r-- 1 root root 857 2006-12-03 22:54 ./patches/source/glibc/timezone-scripts/parts/04 +-rw-r--r-- 1 root root 87 2006-12-03 23:10 ./patches/source/glibc/timezone-scripts/parts/README +-rw-r--r-- 1 root root 66 2003-02-16 21:17 ./patches/source/glibc/timezone-scripts/setup.timeconfig +-rw-r--r-- 1 root root 87202 2015-01-28 00:12 ./patches/source/glibc/timezone-scripts/timeconfig +-rw-r--r-- 1 root root 182416 2014-11-11 05:25 ./patches/source/glibc/tzcode2014j.tar.gz +-rw-r--r-- 1 root root 290688 2014-11-11 05:25 ./patches/source/glibc/tzdata2014j.tar.gz +drwxr-xr-x 2 root root 4096 2017-08-02 03:16 ./patches/source/gnupg +-rw-r--r-- 1 root root 2660120 2017-07-19 09:24 ./patches/source/gnupg/gnupg-1.4.22.tar.xz +-rwxr-xr-x 1 root root 3508 2016-08-23 18:35 ./patches/source/gnupg/gnupg.SlackBuild +-rw-r--r-- 1 root root 827 2003-02-25 23:37 ./patches/source/gnupg/slack-desc.gnupg +drwxr-xr-x 2 root root 4096 2014-06-24 20:05 ./patches/source/gnupg2 +-rw-r--r-- 1 root root 2930528 2014-06-24 13:50 ./patches/source/gnupg2/gnupg-2.0.24.tar.xz +-rwxr-xr-x 1 root root 5533 2013-10-06 01:45 ./patches/source/gnupg2/gnupg2.SlackBuild +-rw-r--r-- 1 root root 1058 2008-02-11 03:44 ./patches/source/gnupg2/slack-desc +drwxr-xr-x 2 root root 4096 2017-01-11 00:09 ./patches/source/gnutls +-rw-r--r-- 1 root root 6361068 2017-01-09 07:56 ./patches/source/gnutls/gnutls-3.3.26.tar.xz +-rw-r--r-- 1 root root 287 2017-01-09 07:56 ./patches/source/gnutls/gnutls-3.3.26.tar.xz.sig +-rwxr-xr-x 1 root root 4361 2017-01-11 01:10 ./patches/source/gnutls/gnutls.SlackBuild +-rw-r--r-- 1 root root 950 2007-03-16 01:33 ./patches/source/gnutls/slack-desc +drwxr-xr-x 2 root root 4096 2013-12-05 21:53 ./patches/source/hplip +-rw-r--r-- 1 root root 118 2009-03-05 16:38 ./patches/source/hplip/doinst.sh.gz +-rw-r--r-- 1 root root 15715072 2012-09-07 06:58 ./patches/source/hplip/hplip-3.12.9.tar.xz +-rw-r--r-- 1 root root 286 2013-08-20 20:35 ./patches/source/hplip/hplip.CVE-2010-4267.diff.gz +-rw-r--r-- 1 root root 784 2013-10-19 02:35 ./patches/source/hplip/hplip.CVE-2013-4325.diff.gz +-rwxr-xr-x 1 root root 4177 2013-12-05 21:54 ./patches/source/hplip/hplip.SlackBuild +-rw-r--r-- 1 root root 398 2013-12-05 21:53 ./patches/source/hplip/hplip.no.upgrade.diff.gz +-rw-r--r-- 1 root root 935 2009-03-05 17:13 ./patches/source/hplip/slack-desc +drwxr-xr-x 2 root root 4096 2017-10-25 16:44 ./patches/source/httpd +-rw-r--r-- 1 root root 437 2017-09-18 17:30 ./patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch.gz +-rw-r--r-- 1 root root 991 2017-06-27 18:38 ./patches/source/httpd/doinst.sh.gz +-rw-r--r-- 1 root root 6567926 2017-10-20 19:39 ./patches/source/httpd/httpd-2.4.29.tar.bz2 +-rw-r--r-- 1 root root 793 2017-10-20 19:39 ./patches/source/httpd/httpd-2.4.29.tar.bz2.asc +-rwxr-xr-x 1 root root 8410 2017-10-25 16:44 ./patches/source/httpd/httpd.SlackBuild +-rw-r--r-- 1 root root 260 2012-04-13 02:17 ./patches/source/httpd/httpd.runasapache.diff.gz +-rw-r--r-- 1 root root 112 2017-10-25 16:40 ./patches/source/httpd/httpd.url +-rw-r--r-- 1 root root 171 2010-11-09 20:22 ./patches/source/httpd/logrotate.httpd +-rw-r--r-- 1 root root 1061 2012-05-16 20:56 ./patches/source/httpd/rc.httpd +-rw-r--r-- 1 root root 970 2007-05-18 04:13 ./patches/source/httpd/slack-desc +drwxr-xr-x 2 root root 4096 2016-05-30 18:47 ./patches/source/imagemagick +-rw-r--r-- 1 root root 7812544 2012-06-28 11:24 ./patches/source/imagemagick/ImageMagick-6.7.7-10.tar.xz +-rw-r--r-- 1 root root 239 2016-05-30 19:48 ./patches/source/imagemagick/blob.c.undef.have_popen.diff.gz +-rwxr-xr-x 1 root root 6087 2016-05-30 18:48 ./patches/source/imagemagick/imagemagick.SlackBuild +-rw-r--r-- 1 root root 386 2016-05-10 20:59 ./patches/source/imagemagick/policy.xml.diff.gz +-rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./patches/source/imagemagick/slack-desc +drwxr-xr-x 10 root root 4096 2016-10-26 20:32 ./patches/source/inputproto +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/inputproto/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/build +-rw-r--r-- 1 root root 12 2016-10-27 03:40 ./patches/source/inputproto/build/inputproto +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/inputproto/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/doinst.sh +-rwxr-xr-x 1 root root 92 2016-10-26 20:32 ./patches/source/inputproto/inputproto.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/inputproto/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/inputproto/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/inputproto/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/slack-desc +-rw-r--r-- 1 root root 820 2012-04-08 02:27 ./patches/source/inputproto/slack-desc/inputproto +drwxr-xr-x 3 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/src/proto +-rw-r--r-- 1 root root 185524 2016-04-04 02:32 ./patches/source/inputproto/src/proto/inputproto-2.3.2.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/inputproto/x11.SlackBuild +drwxr-xr-x 2 root root 4096 2012-10-10 23:14 ./patches/source/iptables +-rw-r--r-- 1 root root 431792 2012-05-26 16:47 ./patches/source/iptables/iptables-1.4.14.tar.xz +-rwxr-xr-x 1 root root 3725 2012-10-10 23:25 ./patches/source/iptables/iptables.SlackBuild +-rw-r--r-- 1 root root 303 2012-10-10 23:14 ./patches/source/iptables/iptables.fixrestore.diff.gz +-rw-r--r-- 1 root root 1129 2006-09-03 06:14 ./patches/source/iptables/slack-desc +drwxr-xr-x 2 root root 4096 2018-02-15 21:20 ./patches/source/irssi +-rw-r--r-- 1 root root 264 2009-07-29 00:34 ./patches/source/irssi/doinst.sh.gz +-rw-r--r-- 1 root root 1034188 2018-02-15 18:38 ./patches/source/irssi/irssi-1.0.7.tar.xz +-rw-r--r-- 1 root root 195 2018-02-15 18:38 ./patches/source/irssi/irssi-1.0.7.tar.xz.asc +-rwxr-xr-x 1 root root 4452 2017-10-24 16:57 ./patches/source/irssi/irssi.SlackBuild +-rw-r--r-- 1 root root 789 2003-12-13 20:28 ./patches/source/irssi/slack-desc +drwxr-xr-x 3 root root 4096 2015-09-03 19:30 ./patches/source/jasper +-rw-r--r-- 1 root root 958519 2009-04-03 00:58 ./patches/source/jasper/jasper-1.900.1.tar.bz2 +-rwxr-xr-x 1 root root 5353 2015-10-15 22:07 ./patches/source/jasper/jasper.SlackBuild +drwxr-xr-x 2 root root 4096 2015-09-03 19:27 ./patches/source/jasper/patches +-rw-r--r-- 1 root root 7790 2015-09-03 19:22 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch.gz +-rw-r--r-- 1 root root 324 2015-09-03 19:00 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch.gz +-rw-r--r-- 1 root root 507 2015-09-03 19:26 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz +-rw-r--r-- 1 root root 508 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz +-rw-r--r-- 1 root root 1395 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz +-rw-r--r-- 1 root root 732 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz +-rw-r--r-- 1 root root 1013 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz +-rw-r--r-- 1 root root 2022 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch.gz +-rw-r--r-- 1 root root 414 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz +-rw-r--r-- 1 root root 714 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz +-rw-r--r-- 1 root root 618 2015-09-03 18:54 ./patches/source/jasper/patches/jasper-CVE-2014-8137.patch.gz +-rw-r--r-- 1 root root 404 2015-09-03 18:55 ./patches/source/jasper/patches/jasper-CVE-2014-8138.patch.gz +-rw-r--r-- 1 root root 333 2015-09-03 18:55 ./patches/source/jasper/patches/jasper-CVE-2014-8157.patch.gz +-rw-r--r-- 1 root root 1130 2015-09-03 18:56 ./patches/source/jasper/patches/jasper-CVE-2014-8158.patch.gz +-rw-r--r-- 1 root root 397 2015-09-03 18:57 ./patches/source/jasper/patches/jasper-CVE-2014-9029.patch.gz +-rw-r--r-- 1 root root 335 2015-09-03 18:58 ./patches/source/jasper/patches/jpc_dec.c.patch.gz +-rw-r--r-- 1 root root 359 2015-09-03 19:26 ./patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff.gz +-rw-r--r-- 1 root root 847 2012-07-22 17:04 ./patches/source/jasper/slack-desc +drwxr-xr-x 10 root root 4096 2017-05-12 19:42 ./patches/source/kdelibs +-rwxr-xr-x 1 root root 18317 2017-02-14 19:52 ./patches/source/kdelibs/KDE.SlackBuild +-rw-r--r-- 1 root root 1862 2012-08-07 06:33 ./patches/source/kdelibs/KDE.options +drwxr-xr-x 2 root root 4096 2017-05-12 19:40 ./patches/source/kdelibs/build +-rw-r--r-- 1 root root 12 2017-05-16 17:50 ./patches/source/kdelibs/build/kdelibs +drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/cmake +-rw-r--r-- 1 root root 498 2011-07-31 10:27 ./patches/source/kdelibs/cmake/kdelibs +drwxr-xr-x 2 root root 4096 2017-05-12 19:40 ./patches/source/kdelibs/doinst.sh +-rw-r--r-- 1 root root 242 2011-07-28 15:02 ./patches/source/kdelibs/doinst.sh/kdelibs +-rwxr-xr-x 1 root root 68 2017-05-12 19:42 ./patches/source/kdelibs/kdelibs.SlackBuild +-rw-r--r-- 1 root root 3322 2015-10-24 22:56 ./patches/source/kdelibs/modularize +drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/modules +-rw-r--r-- 1 root root 8 2011-07-28 11:21 ./patches/source/kdelibs/modules/kdelibs +-rw-r--r-- 1 root root 108 2011-07-31 15:51 ./patches/source/kdelibs/noarch +-rw-r--r-- 1 root root 191 2012-10-13 20:59 ./patches/source/kdelibs/package-blacklist +drwxr-xr-x 3 root root 4096 2017-05-16 17:52 ./patches/source/kdelibs/patch +drwxr-xr-x 2 root root 4096 2017-05-16 17:52 ./patches/source/kdelibs/patch/kdelibs +-rw-r--r-- 1 root root 685 2017-05-16 17:53 ./patches/source/kdelibs/patch/kdelibs.patch +-rw-r--r-- 1 root root 2032 2017-05-16 17:24 ./patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff.gz +-rw-r--r-- 1 root root 361 2010-06-07 15:19 ./patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch.gz +-rw-r--r-- 1 root root 587 2012-01-26 08:18 ./patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch +drwxr-xr-x 2 root root 4096 2017-05-12 19:38 ./patches/source/kdelibs/post-install +-rw-r--r-- 1 root root 97 2011-06-12 23:40 ./patches/source/kdelibs/post-install/kdelibs.post-install +drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/slack-desc +-rw-r--r-- 1 root root 649 2009-12-16 21:15 ./patches/source/kdelibs/slack-desc/kdelibs +drwxr-xr-x 2 root root 4096 2017-05-16 17:52 ./patches/source/kdelibs/src +-rw-r--r-- 1 root root 12205348 2012-08-02 08:59 ./patches/source/kdelibs/src/kdelibs-4.8.5.tar.xz +drwxr-xr-x 10 root root 4096 2016-10-26 20:10 ./patches/source/libX11 +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libX11/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/build +-rw-r--r-- 1 root root 12 2016-10-26 23:07 ./patches/source/libX11/build/libX11 +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/configure +-rw-r--r-- 1 root root 317 2010-12-04 23:25 ./patches/source/libX11/configure/libX11 +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/doinst.sh +-rwxr-xr-x 1 root root 82 2016-10-26 20:10 ./patches/source/libX11/libX11.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libX11/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libX11/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libX11/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/post-install +-rw-r--r-- 1 root root 102 2011-04-16 03:30 ./patches/source/libX11/post-install/libX11.post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/slack-desc +-rw-r--r-- 1 root root 762 2012-04-08 02:42 ./patches/source/libX11/slack-desc/libX11 +drwxr-xr-x 3 root root 4096 2016-10-26 20:10 ./patches/source/libX11/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/src/lib +-rw-r--r-- 1 root root 1762644 2016-10-04 20:21 ./patches/source/libX11/src/lib/libX11-1.6.4.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:29 ./patches/source/libX11/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2017-11-29 07:02 ./patches/source/libXcursor +-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/libXcursor/arch.use.flags +drwxr-xr-x 2 root root 4096 2017-11-29 07:03 ./patches/source/libXcursor/build +-rwxr-xr-x 1 root root 507 2013-03-07 23:41 ./patches/source/libXcursor/build/increment.sh +-rw-r--r-- 1 root root 12 2017-11-29 07:06 ./patches/source/libXcursor/build/libXcursor +drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/configure +-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/libXcursor/configure/configure +drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/doinst.sh +-rwxr-xr-x 1 root root 1208 2017-11-29 07:02 ./patches/source/libXcursor/libXcursor.SlackBuild +drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/makepkg +-rw-r--r-- 1 root root 3374 2013-09-07 20:34 ./patches/source/libXcursor/modularize +-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/libXcursor/noarch +-rw-r--r-- 1 root root 833 2013-02-21 22:10 ./patches/source/libXcursor/package-blacklist +drwxr-xr-x 2 root root 4096 2017-11-29 07:03 ./patches/source/libXcursor/patch +drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXcursor/post-install +drwxr-xr-x 2 root root 4096 2017-11-29 07:04 ./patches/source/libXcursor/slack-desc +-rw-r--r-- 1 root root 827 2012-04-08 03:06 ./patches/source/libXcursor/slack-desc/libXcursor +drwxr-xr-x 12 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/app +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/data +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/doc +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/driver +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/font +drwxr-xr-x 2 root root 4096 2017-11-29 07:04 ./patches/source/libXcursor/src/lib +-rw-r--r-- 1 root root 273708 2017-11-28 14:26 ./patches/source/libXcursor/src/lib/libXcursor-1.1.15.tar.xz +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/proto +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/util +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/xcb +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/xserver +-rwxr-xr-x 1 root root 12673 2013-02-21 20:09 ./patches/source/libXcursor/x11-build-script.sh +drwxr-xr-x 10 root root 4096 2016-10-26 20:34 ./patches/source/libXext +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXext/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/build +-rw-r--r-- 1 root root 12 2016-10-27 03:56 ./patches/source/libXext/build/libXext +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXext/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/doinst.sh +-rwxr-xr-x 1 root root 84 2016-10-26 20:34 ./patches/source/libXext/libXext.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXext/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXext/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXext/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/slack-desc +-rw-r--r-- 1 root root 793 2012-04-08 03:08 ./patches/source/libXext/slack-desc/libXext +drwxr-xr-x 3 root root 4096 2016-10-26 20:34 ./patches/source/libXext/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/src/lib +-rw-r--r-- 1 root root 314576 2014-07-24 01:41 ./patches/source/libXext/src/lib/libXext-1.3.3.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:35 ./patches/source/libXext/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXfixes/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/build +-rw-r--r-- 1 root root 12 2016-10-27 04:07 ./patches/source/libXfixes/build/libXfixes +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXfixes/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/doinst.sh +-rwxr-xr-x 1 root root 88 2016-10-26 20:40 ./patches/source/libXfixes/libXfixes.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXfixes/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXfixes/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXfixes/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/slack-desc +-rw-r--r-- 1 root root 811 2012-04-08 03:08 ./patches/source/libXfixes/slack-desc/libXfixes +drwxr-xr-x 3 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/src/lib +-rw-r--r-- 1 root root 243620 2016-10-04 20:22 ./patches/source/libXfixes/src/lib/libXfixes-5.0.3.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:40 ./patches/source/libXfixes/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2014-01-13 21:55 ./patches/source/libXfont +-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/libXfont/arch.use.flags +drwxr-xr-x 2 root root 4096 2014-01-13 21:47 ./patches/source/libXfont/build +-rwxr-xr-x 1 root root 507 2013-03-07 23:41 ./patches/source/libXfont/build/increment.sh +-rw-r--r-- 1 root root 12 2017-11-29 06:33 ./patches/source/libXfont/build/libXfont +drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/configure +-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/libXfont/configure/configure +drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/doinst.sh +-rwxr-xr-x 1 root root 1206 2014-01-13 21:53 ./patches/source/libXfont/libXfont.SlackBuild +drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/makepkg +-rw-r--r-- 1 root root 3374 2013-09-07 20:34 ./patches/source/libXfont/modularize +-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/libXfont/noarch +-rw-r--r-- 1 root root 833 2013-02-21 22:10 ./patches/source/libXfont/package-blacklist +drwxr-xr-x 3 root root 4096 2017-11-29 06:33 ./patches/source/libXfont/patch +drwxr-xr-x 2 root root 4096 2017-11-29 06:32 ./patches/source/libXfont/patch/libXfont +-rw-r--r-- 1 root root 134 2017-11-29 06:32 ./patches/source/libXfont/patch/libXfont.patch +-rw-r--r-- 1 root root 880 2017-11-29 06:37 ./patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff.gz +drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXfont/post-install +drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXfont/slack-desc +-rw-r--r-- 1 root root 1034 2012-04-08 03:18 ./patches/source/libXfont/slack-desc/libXfont +drwxr-xr-x 12 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/app +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/data +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/doc +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/driver +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/font +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/lib +-rw-r--r-- 1 root root 408060 2014-01-07 16:29 ./patches/source/libXfont/src/lib/libXfont-1.4.7.tar.xz +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/proto +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/util +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/xcb +drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/xserver +-rwxr-xr-x 1 root root 12673 2013-02-21 20:09 ./patches/source/libXfont/x11-build-script.sh +drwxr-xr-x 10 root root 4096 2016-10-26 20:31 ./patches/source/libXi +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXi/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/build +-rw-r--r-- 1 root root 12 2016-10-27 04:15 ./patches/source/libXi/build/libXi +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXi/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/doinst.sh +-rwxr-xr-x 1 root root 80 2016-10-26 20:31 ./patches/source/libXi/libXi.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXi/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXi/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXi/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/slack-desc +-rw-r--r-- 1 root root 749 2012-04-08 03:18 ./patches/source/libXi/slack-desc/libXi +-rw-r--r-- 1 root root 846 2012-04-08 03:19 ./patches/source/libXi/slack-desc/libXinerama +drwxr-xr-x 3 root root 4096 2016-10-26 20:31 ./patches/source/libXi/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/src/lib +-rw-r--r-- 1 root root 396928 2016-10-25 02:45 ./patches/source/libXi/src/lib/libXi-1.7.8.tar.xz +-rw-r--r-- 1 root root 236468 2013-05-31 00:36 ./patches/source/libXi/src/lib/libXinerama-1.1.3.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:31 ./patches/source/libXi/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXrandr/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/build +-rw-r--r-- 1 root root 12 2016-10-27 04:50 ./patches/source/libXrandr/build/libXrandr +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXrandr/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/doinst.sh +-rwxr-xr-x 1 root root 88 2016-10-26 20:42 ./patches/source/libXrandr/libXrandr.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXrandr/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXrandr/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXrandr/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/slack-desc +-rw-r--r-- 1 root root 821 2012-04-08 03:24 ./patches/source/libXrandr/slack-desc/libXrandr +drwxr-xr-x 3 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/src/lib +-rw-r--r-- 1 root root 262536 2016-10-04 20:23 ./patches/source/libXrandr/src/lib/libXrandr-1.5.1.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:42 ./patches/source/libXrandr/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:45 ./patches/source/libXrender +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXrender/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/build +-rw-r--r-- 1 root root 12 2016-10-27 04:58 ./patches/source/libXrender/build/libXrender +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXrender/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/doinst.sh +-rwxr-xr-x 1 root root 90 2016-10-26 20:45 ./patches/source/libXrender/libXrender.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXrender/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXrender/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXrender/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/slack-desc +-rw-r--r-- 1 root root 838 2012-04-08 03:24 ./patches/source/libXrender/slack-desc/libXrender +drwxr-xr-x 3 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/src/lib +-rw-r--r-- 1 root root 255432 2016-10-04 20:24 ./patches/source/libXrender/src/lib/libXrender-0.9.10.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:45 ./patches/source/libXrender/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:46 ./patches/source/libXtst +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXtst/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/build +-rw-r--r-- 1 root root 12 2016-10-27 05:06 ./patches/source/libXtst/build/libXtst +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXtst/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/doinst.sh +-rwxr-xr-x 1 root root 84 2016-10-26 20:46 ./patches/source/libXtst/libXtst.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXtst/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXtst/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXtst/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/slack-desc +-rw-r--r-- 1 root root 792 2012-04-08 03:26 ./patches/source/libXtst/slack-desc/libXtst +drwxr-xr-x 3 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/src/lib +-rw-r--r-- 1 root root 267468 2016-10-04 20:25 ./patches/source/libXtst/src/lib/libXtst-1.2.3.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:46 ./patches/source/libXtst/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:49 ./patches/source/libXv +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXv/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/build +-rw-r--r-- 1 root root 12 2016-10-27 05:20 ./patches/source/libXv/build/libXv +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXv/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/doinst.sh +-rwxr-xr-x 1 root root 80 2016-10-26 20:49 ./patches/source/libXv/libXv.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXv/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXv/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXv/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/slack-desc +-rw-r--r-- 1 root root 777 2012-04-08 03:26 ./patches/source/libXv/slack-desc/libXv +-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./patches/source/libXv/slack-desc/libXvMC +drwxr-xr-x 3 root root 4096 2016-10-26 20:49 ./patches/source/libXv/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/src/lib +-rw-r--r-- 1 root root 257292 2016-10-04 20:25 ./patches/source/libXv/src/lib/libXv-1.0.11.tar.xz +-rw-r--r-- 1 root root 254256 2016-10-04 20:26 ./patches/source/libXv/src/lib/libXvMC-1.0.10.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:49 ./patches/source/libXv/x11.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXvMC/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/build +-rw-r--r-- 1 root root 12 2016-10-27 05:23 ./patches/source/libXvMC/build/libXvMC +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXvMC/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/doinst.sh +-rwxr-xr-x 1 root root 84 2016-10-26 20:50 ./patches/source/libXvMC/libXvMC.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXvMC/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXvMC/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXvMC/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/slack-desc +-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./patches/source/libXvMC/slack-desc/libXvMC +drwxr-xr-x 3 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/src/lib +-rw-r--r-- 1 root root 254256 2016-10-04 20:26 ./patches/source/libXvMC/src/lib/libXvMC-1.0.10.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:50 ./patches/source/libXvMC/x11.SlackBuild +drwxr-xr-x 2 root root 4096 2016-08-23 18:23 ./patches/source/libgcrypt +-rw-r--r-- 1 root root 1548918 2016-08-17 12:18 ./patches/source/libgcrypt/libgcrypt-1.5.6.tar.bz2 +-rw-r--r-- 1 root root 287 2016-08-17 12:18 ./patches/source/libgcrypt/libgcrypt-1.5.6.tar.bz2.sig +-rwxr-xr-x 1 root root 3815 2013-08-02 04:07 ./patches/source/libgcrypt/libgcrypt.SlackBuild +-rw-r--r-- 1 root root 705 2007-03-15 20:47 ./patches/source/libgcrypt/slack-desc +drwxr-xr-x 2 root root 4096 2013-05-19 07:31 ./patches/source/libgpg-error +-rw-r--r-- 1 root root 489057 2013-02-25 12:17 ./patches/source/libgpg-error/libgpg-error-1.11.tar.bz2 +-rw-r--r-- 1 root root 287 2013-02-25 12:17 ./patches/source/libgpg-error/libgpg-error-1.11.tar.bz2.sig +-rwxr-xr-x 1 root root 3701 2013-08-02 04:15 ./patches/source/libgpg-error/libgpg-error.SlackBuild +-rw-r--r-- 1 root root 856 2007-03-15 20:47 ./patches/source/libgpg-error/slack-desc +drwxr-xr-x 2 root root 4096 2018-04-01 19:02 ./patches/source/libidn +-rw-r--r-- 1 root root 2176452 2018-03-31 15:03 ./patches/source/libidn/libidn-1.34.tar.xz +-rwxr-xr-x 1 root root 4151 2018-04-01 19:13 ./patches/source/libidn/libidn.SlackBuild +-rw-r--r-- 1 root root 790 2018-02-27 06:12 ./patches/source/libidn/slack-desc +drwxr-xr-x 2 root root 4096 2013-12-12 20:49 ./patches/source/libiodbc +-rw-r--r-- 1 root root 682864 2012-03-27 13:09 ./patches/source/libiodbc/libiodbc-3.52.8.tar.xz +-rwxr-xr-x 1 root root 3848 2013-12-13 00:31 ./patches/source/libiodbc/libiodbc.SlackBuild +-rw-r--r-- 1 root root 261 2013-12-12 20:49 ./patches/source/libiodbc/libiodbc.disable.rpath.diff.gz +-rw-r--r-- 1 root root 896 2009-12-24 21:39 ./patches/source/libiodbc/slack-desc +drwxr-xr-x 2 root root 4096 2013-12-14 05:10 ./patches/source/libjpeg +-rw-r--r-- 1 root root 694 2013-12-10 23:00 ./patches/source/libjpeg/jpeg.CVE-2013-6629.diff.gz +-rw-r--r-- 1 root root 648772 2010-02-28 10:24 ./patches/source/libjpeg/jpegsrc.v8a.tar.xz +-rwxr-xr-x 1 root root 3355 2013-12-14 06:08 ./patches/source/libjpeg/libjpeg.SlackBuild +-rw-r--r-- 1 root root 1120 2002-03-23 23:37 ./patches/source/libjpeg/slack-desc +drwxr-xr-x 2 root root 4096 2017-02-08 23:57 ./patches/source/libpcap +-rw-r--r-- 1 root root 739163 2016-10-26 01:19 ./patches/source/libpcap/libpcap-1.8.1.tar.gz +-rw-r--r-- 1 root root 419 2016-10-26 01:19 ./patches/source/libpcap/libpcap-1.8.1.tar.gz.sig +-rwxr-xr-x 1 root root 4139 2017-02-09 00:01 ./patches/source/libpcap/libpcap.SlackBuild +-rw-r--r-- 1 root root 890 2013-10-15 22:41 ./patches/source/libpcap/slack-desc +drwxr-xr-x 2 root root 4096 2016-12-30 17:00 ./patches/source/libpng +-rw-r--r-- 1 root root 656784 2016-12-29 14:13 ./patches/source/libpng/libpng-1.2.57.tar.xz +-rw-r--r-- 1 root root 579512 2016-12-29 14:13 ./patches/source/libpng/libpng-1.4.20.tar.xz +-rwxr-xr-x 1 root root 4400 2016-12-30 17:00 ./patches/source/libpng/libpng.SlackBuild +-rw-r--r-- 1 root root 48 2012-07-23 21:59 ./patches/source/libpng/libpng.url +-rw-r--r-- 1 root root 949 2002-03-23 23:42 ./patches/source/libpng/slack-desc +drwxr-xr-x 2 root root 4096 2016-02-07 17:30 ./patches/source/libsndfile +-rw-r--r-- 1 root root 686004 2015-11-22 10:15 ./patches/source/libsndfile/libsndfile-1.0.26.tar.xz +-rwxr-xr-x 1 root root 3291 2016-02-07 17:36 ./patches/source/libsndfile/libsndfile.SlackBuild +-rw-r--r-- 1 root root 828 2011-01-23 00:47 ./patches/source/libsndfile/slack-desc +drwxr-xr-x 2 root root 4096 2016-02-26 18:21 ./patches/source/libssh +-rw-r--r-- 1 root root 819 2016-02-26 18:08 ./patches/source/libssh/libssh-0.7.3.tar.asc +-rw-r--r-- 1 root root 350464 2016-02-26 18:08 ./patches/source/libssh/libssh-0.7.3.tar.xz +-rwxr-xr-x 1 root root 3456 2016-02-26 18:21 ./patches/source/libssh/libssh.SlackBuild +-rw-r--r-- 1 root root 863 2012-04-08 20:47 ./patches/source/libssh/slack-desc +drwxr-xr-x 2 root root 4096 2014-06-05 21:52 ./patches/source/libtasn1 +-rw-r--r-- 1 root root 1353024 2012-09-24 12:51 ./patches/source/libtasn1/libtasn1-2.14.tar.xz +-rw-r--r-- 1 root root 1376 2014-06-05 21:51 ./patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff.gz +-rwxr-xr-x 1 root root 3732 2014-06-05 21:52 ./patches/source/libtasn1/libtasn1.SlackBuild +-rw-r--r-- 1 root root 884 2012-07-18 19:02 ./patches/source/libtasn1/slack-desc +drwxr-xr-x 2 root root 4096 2013-10-17 22:41 ./patches/source/libtiff +-rwxr-xr-x 1 root root 4080 2013-10-17 23:21 ./patches/source/libtiff/libtiff.SlackBuild +-rw-r--r-- 1 root root 852 2004-10-28 01:28 ./patches/source/libtiff/slack-desc +-rw-r--r-- 1 root root 953828 2012-09-22 17:17 ./patches/source/libtiff/tiff-3.9.7.tar.xz +-rw-r--r-- 1 root root 33516 2013-10-17 21:51 ./patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz +-rw-r--r-- 1 root root 406 2013-10-17 21:51 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff.gz +-rw-r--r-- 1 root root 472 2013-10-17 21:52 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff.gz +-rw-r--r-- 1 root root 454 2013-10-17 21:52 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff.gz +drwxr-xr-x 2 root root 4096 2018-03-17 19:41 ./patches/source/libvorbis +-rw-r--r-- 1 root root 1195388 2018-03-16 16:28 ./patches/source/libvorbis/libvorbis-1.3.6.tar.xz +-rwxr-xr-x 1 root root 3194 2018-03-17 19:45 ./patches/source/libvorbis/libvorbis.SlackBuild +-rw-r--r-- 1 root root 1015 2018-02-27 06:12 ./patches/source/libvorbis/slack-desc +drwxr-xr-x 2 root root 4096 2018-04-30 21:27 ./patches/source/libwmf +-rw-r--r-- 1 root root 354 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch.gz +-rw-r--r-- 1 root root 480 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch.gz +-rw-r--r-- 1 root root 221 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch.gz +-rw-r--r-- 1 root root 337 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch.gz +-rw-r--r-- 1 root root 720 2018-04-30 21:59 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch.gz +-rw-r--r-- 1 root root 269 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch.gz +-rw-r--r-- 1 root root 302 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch.gz +-rw-r--r-- 1 root root 282 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch.gz +-rw-r--r-- 1 root root 1120 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch.gz +-rw-r--r-- 1 root root 372 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch.gz +-rw-r--r-- 1 root root 277 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch.gz +-rw-r--r-- 1 root root 345 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch.gz +-rw-r--r-- 1 root root 337 2018-04-30 21:59 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch.gz +-rw-r--r-- 1 root root 580 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch.gz +-rw-r--r-- 1 root root 280 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch.gz +-rw-r--r-- 1 root root 510 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch.gz +-rw-r--r-- 1 root root 348 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch.gz +-rw-r--r-- 1 root root 404 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch.gz +-rw-r--r-- 1 root root 3498 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch.gz +-rw-r--r-- 1 root root 320 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch.gz +-rw-r--r-- 1 root root 1271924 2006-06-14 06:20 ./patches/source/libwmf/libwmf-0.2.8.4.tar.xz +-rwxr-xr-x 1 root root 5372 2018-04-30 22:05 ./patches/source/libwmf/libwmf.SlackBuild +-rw-r--r-- 1 root root 340 2010-02-15 00:24 ./patches/source/libwmf/libwmf.png14.diff.gz +-rw-r--r-- 1 root root 742 2018-02-27 06:12 ./patches/source/libwmf/slack-desc +drwxr-xr-x 10 root root 4096 2016-10-26 20:17 ./patches/source/libxcb +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libxcb/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/build +-rw-r--r-- 1 root root 12 2016-11-15 19:49 ./patches/source/libxcb/build/libxcb +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/configure +-rw-r--r-- 1 root root 354 2014-05-31 08:54 ./patches/source/libxcb/configure/libxcb +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/doinst.sh +-rwxr-xr-x 1 root root 82 2016-10-26 20:17 ./patches/source/libxcb/libxcb.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libxcb/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libxcb/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libxcb/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/post-install +-rw-r--r-- 1 root root 3096 2016-11-15 19:46 ./patches/source/libxcb/post-install/libxcb.post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/slack-desc +-rw-r--r-- 1 root root 903 2007-02-14 06:52 ./patches/source/libxcb/slack-desc/libxcb +drwxr-xr-x 3 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/src/xcb +-rw-r--r-- 1 root root 357048 2015-09-06 10:48 ./patches/source/libxcb/src/xcb/libxcb-1.11.1.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:23 ./patches/source/libxcb/x11.SlackBuild +drwxr-xr-x 2 root root 4096 2017-09-21 21:58 ./patches/source/libxml2 +-rw-r--r-- 1 root root 3024720 2017-09-04 13:01 ./patches/source/libxml2/libxml2-2.9.5.tar.xz +-rwxr-xr-x 1 root root 3628 2017-09-21 21:59 ./patches/source/libxml2/libxml2.SlackBuild +-rw-r--r-- 1 root root 495 2013-04-19 07:57 ./patches/source/libxml2/libxml2.do-not-check-crc.diff.gz +-rw-r--r-- 1 root root 980 2008-01-08 23:42 ./patches/source/libxml2/slack-desc +drwxr-xr-x 2 root root 4096 2016-05-27 19:19 ./patches/source/libxslt +-rw-r--r-- 1 root root 1698796 2016-05-24 01:57 ./patches/source/libxslt/libxslt-1.1.29.tar.xz +-rwxr-xr-x 1 root root 3217 2016-05-27 20:29 ./patches/source/libxslt/libxslt.SlackBuild +-rw-r--r-- 1 root root 678 2005-03-26 23:49 ./patches/source/libxslt/slack-desc +drwxr-xr-x 2 root root 4096 2014-04-17 17:46 ./patches/source/libyaml +-rwxr-xr-x 1 root root 3462 2014-04-21 18:46 ./patches/source/libyaml/libyaml.SlackBuild +-rw-r--r-- 1 root root 31 2011-07-31 18:46 ./patches/source/libyaml/libyaml.url +-rw-r--r-- 1 root root 745 2012-07-04 03:31 ./patches/source/libyaml/slack-desc +-rw-r--r-- 1 root root 316832 2014-03-26 19:13 ./patches/source/libyaml/yaml-0.1.6.tar.xz +drwxr-xr-x 2 root root 4096 2013-12-11 21:57 ./patches/source/llvm +-rw-r--r-- 1 root root 5400152 2011-12-01 17:04 ./patches/source/llvm/clang-3.0.tar.xz +-rw-r--r-- 1 root root 6856072 2011-12-01 17:05 ./patches/source/llvm/llvm-3.0.tar.xz +-rwxr-xr-x 1 root root 5055 2013-12-11 21:57 ./patches/source/llvm/llvm.SlackBuild +-rw-r--r-- 1 root root 241 2013-12-11 21:57 ./patches/source/llvm/llvm.rpath.fix.diff.gz +-rw-r--r-- 1 root root 91 2012-05-01 22:20 ./patches/source/llvm/llvm.url +-rw-r--r-- 1 root root 855 2012-05-02 01:38 ./patches/source/llvm/slack-desc +drwxr-xr-x 2 root root 4096 2013-09-27 23:59 ./patches/source/lm_sensors +-rw-r--r-- 1 root root 172226 2013-05-27 12:49 ./patches/source/lm_sensors/lm_sensors-3.3.4.tar.bz2 +-rw-r--r-- 1 root root 65 2013-05-27 12:49 ./patches/source/lm_sensors/lm_sensors-3.3.4.tar.bz2.sig +-rwxr-xr-x 1 root root 3815 2013-09-28 00:00 ./patches/source/lm_sensors/lm_sensors.SlackBuild +-rw-r--r-- 1 root root 312 2008-10-26 01:06 ./patches/source/lm_sensors/lm_sensors.makefile.diff.gz +-rw-r--r-- 1 root root 1105 2006-09-20 03:52 ./patches/source/lm_sensors/slack-desc +drwxr-xr-x 2 root root 4096 2016-12-10 19:21 ./patches/source/loudmouth +-rw-r--r-- 1 root root 327488 2016-02-14 17:25 ./patches/source/loudmouth/loudmouth-1.5.3.tar.xz +-rwxr-xr-x 1 root root 4102 2016-12-10 21:18 ./patches/source/loudmouth/loudmouth.SlackBuild +-rw-r--r-- 1 root root 904 2015-12-22 22:52 ./patches/source/loudmouth/slack-desc +drwxr-xr-x 2 root root 4096 2017-05-29 19:39 ./patches/source/lynx +-rw-r--r-- 1 root root 264 2017-05-29 19:39 ./patches/source/lynx/doinst.sh.gz +-rwxr-xr-x 1 root root 4546 2017-05-29 19:46 ./patches/source/lynx/lynx.SlackBuild +-rw-r--r-- 1 root root 539 2017-05-29 19:36 ./patches/source/lynx/lynx.cfg.diff.gz +-rw-r--r-- 1 root root 2189048 2014-03-09 21:43 ./patches/source/lynx/lynx2.8.8rel.2.tar.xz +-rw-r--r-- 1 root root 953 2002-02-27 06:50 ./patches/source/lynx/slack-desc +drwxr-xr-x 2 root root 4096 2016-02-29 19:35 ./patches/source/mailx +-rw-r--r-- 1 root root 281 2006-09-20 05:36 ./patches/source/mailx/doinst.sh.gz +-rw-r--r-- 1 root root 2618 2016-02-28 17:47 ./patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch.gz +-rw-r--r-- 1 root root 249292 2010-10-26 12:55 ./patches/source/mailx/mailx-12.5.tar.xz +-rwxr-xr-x 1 root root 4141 2016-02-29 19:42 ./patches/source/mailx/mailx.SlackBuild +-rw-r--r-- 1 root root 1023 2008-04-11 02:52 ./patches/source/mailx/slack-desc +drwxr-xr-x 2 root root 4096 2013-01-31 14:16 ./patches/source/make +-rw-r--r-- 1 root root 273 2011-11-22 14:48 ./patches/source/make/make-3.82-android-build-fix.diff.gz +-rw-r--r-- 1 root root 3628 2012-09-10 18:39 ./patches/source/make/make-3.82-bugfixes.patch.gz +-rw-r--r-- 1 root root 1242186 2010-07-28 05:59 ./patches/source/make/make-3.82.tar.bz2 +-rw-r--r-- 1 root root 72 2010-07-28 05:59 ./patches/source/make/make-3.82.tar.bz2.sig +-rwxr-xr-x 1 root root 3524 2013-02-15 06:24 ./patches/source/make/make.SlackBuild +-rw-r--r-- 1 root root 923 2002-03-23 22:51 ./patches/source/make/slack-desc +drwxr-xr-x 2 root root 4096 2017-03-23 19:46 ./patches/source/mcabber +-rw-r--r-- 1 root root 512988 2017-01-29 20:44 ./patches/source/mcabber/mcabber-1.0.5.tar.xz +-rwxr-xr-x 1 root root 3938 2016-12-10 21:30 ./patches/source/mcabber/mcabber.SlackBuild +-rw-r--r-- 1 root root 876 2007-06-14 00:35 ./patches/source/mcabber/slack-desc +drwxr-xr-x 2 root root 4096 2017-08-11 19:48 ./patches/source/mercurial +-rw-r--r-- 1 root root 279 2010-05-18 06:20 ./patches/source/mercurial/doinst.sh.gz +-rw-r--r-- 1 root root 3169060 2017-08-10 22:52 ./patches/source/mercurial/mercurial-4.3.1.tar.xz +-rwxr-xr-x 1 root root 3773 2016-04-01 19:03 ./patches/source/mercurial/mercurial.SlackBuild +-rw-r--r-- 1 root root 1253 2006-05-14 00:35 ./patches/source/mercurial/slack-desc +drwxr-xr-x 2 root root 4096 2017-04-19 03:21 ./patches/source/minicom +-rw-r--r-- 1 root root 503 2008-09-30 10:20 ./patches/source/minicom/config.sub-x86_64.diff.gz +-rw-r--r-- 1 root root 290 2011-02-01 21:44 ./patches/source/minicom/doinst.sh.gz +-rw-r--r-- 1 root root 30271 2009-11-23 17:02 ./patches/source/minicom/lrzsz_0.12.21-5.diff.gz +-rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./patches/source/minicom/lrzsz_0.12.21.orig.tar.gz +-rw-r--r-- 1 root root 476912 2017-04-18 09:57 ./patches/source/minicom/minicom-2.7.1.tar.xz +-rwxr-xr-x 1 root root 4974 2017-04-19 03:21 ./patches/source/minicom/minicom.SlackBuild +-rw-r--r-- 1 root root 570 2004-09-04 21:17 ./patches/source/minicom/minicom.users.gz +-rw-r--r-- 1 root root 834 2017-01-05 00:32 ./patches/source/minicom/slack-desc +drwxr-xr-x 3 root root 4096 2017-06-29 17:09 ./patches/source/mkinitrd +-rw-r--r-- 1 root root 3752 2012-06-12 13:27 ./patches/source/mkinitrd/README.initrd +-rw-r--r-- 1 root root 2699 2012-07-06 04:14 ./patches/source/mkinitrd/_initrd-tree.tar.gz +-rw-r--r-- 1 root root 1943148 2012-07-02 14:26 ./patches/source/mkinitrd/busybox-1.20.2.tar.xz +lrwxrwxrwx 1 root root 25 2012-06-12 14:38 ./patches/source/mkinitrd/busybox-dot-config -> busybox-dot-config.1.20.x +-rw-r--r-- 1 root root 25350 2016-06-08 19:48 ./patches/source/mkinitrd/busybox-dot-config.1.20.x +drwxr-xr-x 2 root root 4096 2013-01-17 08:53 ./patches/source/mkinitrd/fixes-1.20.2 +-rw-r--r-- 1 root root 540 2013-01-17 08:53 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch +-rw-r--r-- 1 root root 493 2013-01-17 08:53 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch +-rw-r--r-- 1 root root 2009 2012-10-20 19:44 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch +-rw-r--r-- 1 root root 3561 2012-10-20 19:44 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch +-rwxr-xr-x 1 root root 12219 2017-05-07 23:45 ./patches/source/mkinitrd/init +-rw-r--r-- 1 root root 29903 2009-12-18 05:10 ./patches/source/mkinitrd/keymaps.tar.gz +-rw-r--r-- 1 root root 24958 2017-06-29 17:11 ./patches/source/mkinitrd/mkinitrd +-rw-r--r-- 1 root root 8659 2017-06-29 16:59 ./patches/source/mkinitrd/mkinitrd.8 +-rwxr-xr-x 1 root root 5022 2017-06-29 17:14 ./patches/source/mkinitrd/mkinitrd.SlackBuild +-rw-r--r-- 1 root root 6669 2017-06-29 16:51 ./patches/source/mkinitrd/mkinitrd.conf.5 +-rw-r--r-- 1 root root 529 2017-06-29 16:52 ./patches/source/mkinitrd/mkinitrd.conf.sample +-rw-r--r-- 1 root root 5624 2016-02-08 20:10 ./patches/source/mkinitrd/mkinitrd_command_generator.8 +-rw-r--r-- 1 root root 28373 2016-06-20 20:24 ./patches/source/mkinitrd/mkinitrd_command_generator.sh +-rw-r--r-- 1 root root 988 2009-12-18 05:07 ./patches/source/mkinitrd/slack-desc +drwxr-xr-x 2 root root 4096 2013-11-15 00:07 ./patches/source/mozilla-firefox +-rw-r--r-- 1 root root 90701648 2013-11-14 00:04 ./patches/source/mozilla-firefox/firefox-17.0.11esr.source.tar.bz2 +-rw-r--r-- 1 root root 836 2013-11-14 00:04 ./patches/source/mozilla-firefox/firefox-17.0.11esr.source.tar.bz2.asc +-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff.gz +-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./patches/source/mozilla-firefox/mimeTypes.rdf.gz +-rw-r--r-- 1 root root 680 2009-07-01 13:28 ./patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz +-rwxr-xr-x 1 root root 10206 2013-05-15 04:52 ./patches/source/mozilla-firefox/mozilla-firefox.SlackBuild +-rw-r--r-- 1 root root 2737 2013-06-26 07:43 ./patches/source/mozilla-firefox/mozilla-firefox.desktop +-rw-r--r-- 1 root root 993 2005-03-08 04:51 ./patches/source/mozilla-firefox/slack-desc +drwxr-xr-x 2 root root 4096 2016-03-09 17:57 ./patches/source/mozilla-nss +-rw-r--r-- 1 root root 25755 2008-02-27 08:35 ./patches/source/mozilla-nss/MPL-1.1.txt +-rw-r--r-- 1 root root 18152 2009-01-01 08:10 ./patches/source/mozilla-nss/faq.html +-rw-r--r-- 1 root root 17987 2007-06-28 20:04 ./patches/source/mozilla-nss/gpl-2.0.txt +-rw-r--r-- 1 root root 26434 2009-04-08 16:39 ./patches/source/mozilla-nss/lgpl-2.1.txt +-rwxr-xr-- 1 root root 5818 2016-03-09 17:59 ./patches/source/mozilla-nss/mozilla-nss.SlackBuild +-rw-r--r-- 1 root root 763160 2016-02-17 20:45 ./patches/source/mozilla-nss/nspr-4.12.tar.xz +-rw-r--r-- 1 root root 5178256 2016-03-03 09:44 ./patches/source/mozilla-nss/nss-3.23.tar.xz +-rw-r--r-- 1 root root 2488 2012-04-29 21:05 ./patches/source/mozilla-nss/nss-config.in +-rw-r--r-- 1 root root 1026 2005-03-26 15:21 ./patches/source/mozilla-nss/slack-desc +drwxr-xr-x 2 root root 4096 2013-12-04 19:55 ./patches/source/mozilla-thunderbird +-rw-r--r-- 1 root root 312 2012-03-28 18:01 ./patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch.gz +-rwxr-xr-x 1 root root 8961 2013-02-20 00:56 ./patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild +-rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop +-rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./patches/source/mozilla-thunderbird/slack-desc +-rw-r--r-- 1 root root 113661804 2013-11-18 16:36 ./patches/source/mozilla-thunderbird/thunderbird-17.0.11esr.source.tar.bz2 +-rw-r--r-- 1 root root 836 2013-11-18 16:36 ./patches/source/mozilla-thunderbird/thunderbird-17.0.11esr.source.tar.bz2.asc +-rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./patches/source/mozilla-thunderbird/thunderbird.png +drwxr-xr-x 2 root root 4096 2015-03-10 18:22 ./patches/source/mutt +-rw-r--r-- 1 root root 264 2002-06-01 05:12 ./patches/source/mutt/doinst.sh.gz +-rw-r--r-- 1 root root 1840704 2014-03-12 16:19 ./patches/source/mutt/mutt-1.5.23.tar.xz +-rw-r--r-- 1 root root 755 2015-03-10 18:17 ./patches/source/mutt/mutt.CVE-2014-9116.diff.gz +-rwxr-xr-x 1 root root 3969 2015-03-10 18:24 ./patches/source/mutt/mutt.SlackBuild +-rw-r--r-- 1 root root 866 2008-02-11 03:44 ./patches/source/mutt/slack-desc +drwxr-xr-x 2 root root 4096 2016-09-13 18:29 ./patches/source/mysql +-rw-r--r-- 1 root root 377 2012-05-16 19:25 ./patches/source/mysql/README.mysql-embedded +-rw-r--r-- 1 root root 342 2012-05-21 15:35 ./patches/source/mysql/doinst.sh.gz +-rw-r--r-- 1 root root 12103020 2016-09-13 18:28 ./patches/source/mysql/mysql-5.5.52.tar.xz +-rwxr-xr-x 1 root root 6696 2013-01-22 20:01 ./patches/source/mysql/mysql-embedded.SlackBuild +-rwxr-xr-x 1 root root 6682 2013-01-22 20:01 ./patches/source/mysql/mysql.SlackBuild +-rw-r--r-- 1 root root 1208 2008-04-17 20:26 ./patches/source/mysql/rc.mysqld.gz +-rw-r--r-- 1 root root 816 2002-03-23 22:31 ./patches/source/mysql/slack-desc +drwxr-xr-x 2 root root 4096 2013-08-30 02:26 ./patches/source/nettle +-rw-r--r-- 1 root root 1123392 2013-05-28 14:31 ./patches/source/nettle/nettle-2.7.1.tar.xz +-rwxr-xr-x 1 root root 3907 2015-08-21 19:51 ./patches/source/nettle/nettle.SlackBuild +-rw-r--r-- 1 root root 897 2011-08-22 04:11 ./patches/source/nettle/slack-desc +drwxr-xr-x 2 root root 4096 2018-02-28 23:39 ./patches/source/ntp +-rw-r--r-- 1 root root 391 2013-10-14 07:58 ./patches/source/ntp/doinst.sh.gz +-rw-r--r-- 1 root root 4301668 2018-02-27 23:22 ./patches/source/ntp/ntp-4.2.8p11.tar.xz +-rwxr-xr-x 1 root root 5043 2015-07-06 18:02 ./patches/source/ntp/ntp.SlackBuild +-rw-r--r-- 1 root root 2534 2014-12-20 23:06 ./patches/source/ntp/ntp.conf +-rw-r--r-- 1 root root 22 1999-10-07 19:50 ./patches/source/ntp/ntp.keys +-rw-r--r-- 1 root root 269 2010-04-22 04:38 ./patches/source/ntp/ntp.nano.diff.gz +-rw-r--r-- 1 root root 1481 2013-10-09 01:32 ./patches/source/ntp/rc.ntpd +-rw-r--r-- 1 root root 986 2002-02-27 23:02 ./patches/source/ntp/slack-desc +drwxr-xr-x 2 root root 4096 2018-03-08 01:09 ./patches/source/openssh +-rw-r--r-- 1 root root 569 2014-01-30 21:21 ./patches/source/openssh/doinst.sh.gz +-rw-r--r-- 1 root root 1631 2016-12-23 18:59 ./patches/source/openssh/openssh-7.4p1-libwrap.diff.gz +-rw-r--r-- 1 root root 1511780 2016-12-19 13:00 ./patches/source/openssh/openssh-7.4p1.tar.gz +-rw-r--r-- 1 root root 650 2016-12-19 13:00 ./patches/source/openssh/openssh-7.4p1.tar.gz.asc +-rw-r--r-- 1 root root 481 2018-03-08 01:18 ./patches/source/openssh/openssh.CVE-2017-15906.patch.gz +-rwxr-xr-x 1 root root 5255 2018-03-08 01:10 ./patches/source/openssh/openssh.SlackBuild +-rw-r--r-- 1 root root 1726 2015-09-01 21:13 ./patches/source/openssh/rc.sshd +-rw-r--r-- 1 root root 1134 2002-03-07 23:03 ./patches/source/openssh/slack-desc +drwxr-xr-x 3 root root 4096 2016-09-22 17:40 ./patches/source/openssl +-rw-r--r-- 1 root root 1758 2012-08-08 22:46 ./patches/source/openssl/certwatch.gz +-rw-r--r-- 1 root root 281 2007-06-13 17:20 ./patches/source/openssl/doinst.sh-openssl-solibs.gz +-rw-r--r-- 1 root root 501 2012-07-12 16:21 ./patches/source/openssl/doinst.sh-openssl.gz +-rw-r--r-- 1 root root 4567068 2016-09-22 10:35 ./patches/source/openssl/openssl-1.0.1u.tar.gz +-rw-r--r-- 1 root root 473 2016-09-22 10:35 ./patches/source/openssl/openssl-1.0.1u.tar.gz.asc +-rwxr-xr-x 1 root root 7699 2016-03-02 00:51 ./patches/source/openssl/openssl.SlackBuild +-rw-r--r-- 1 root root 462 2015-04-16 16:48 ./patches/source/openssl/openssl.optsx86.diff.gz +-rw-r--r-- 1 root root 303 2012-07-03 18:01 ./patches/source/openssl/openssl.soname.diff.gz +drwxr-xr-x 2 root root 4096 2016-03-02 00:45 ./patches/source/openssl/openssl0 +-rw-r--r-- 1 root root 1758 2012-08-08 22:46 ./patches/source/openssl/openssl0/certwatch.gz +-rw-r--r-- 1 root root 281 2007-06-13 17:20 ./patches/source/openssl/openssl0/doinst.sh-openssl-solibs.gz +-rw-r--r-- 1 root root 433 2011-03-22 18:29 ./patches/source/openssl/openssl0/doinst.sh-openssl.gz +-rw-r--r-- 1 root root 3818524 2015-12-03 18:03 ./patches/source/openssl/openssl0/openssl-0.9.8zh.tar.gz +-rw-r--r-- 1 root root 473 2015-12-03 18:43 ./patches/source/openssl/openssl0/openssl-0.9.8zh.tar.gz.asc +-rwxr-xr-x 1 root root 7197 2016-03-02 00:46 ./patches/source/openssl/openssl0/openssl.SlackBuild +-rw-r--r-- 1 root root 377 2016-03-02 00:30 ./patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff.gz +-rw-r--r-- 1 root root 971 2016-03-02 00:42 ./patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff.gz +-rw-r--r-- 1 root root 501 2006-01-17 23:28 ./patches/source/openssl/openssl0/openssl.optsx86.diff.gz +-rw-r--r-- 1 root root 283 2005-10-13 03:02 ./patches/source/openssl/openssl0/openssl.soname.diff.gz +-rwxr-xr-x 1 root root 7237 2016-03-02 00:46 ./patches/source/openssl/openssl0/openssl0.build +-rw-r--r-- 1 root root 1019 2002-04-06 20:23 ./patches/source/openssl/openssl0/slack-desc.openssl +-rw-r--r-- 1 root root 1090 2012-07-03 23:23 ./patches/source/openssl/openssl0/slack-desc.openssl-solibs +-rw-r--r-- 1 root root 1019 2002-04-06 20:23 ./patches/source/openssl/slack-desc.openssl +-rw-r--r-- 1 root root 1090 2012-07-03 23:23 ./patches/source/openssl/slack-desc.openssl-solibs +drwxr-xr-x 2 root root 4096 2018-04-26 17:44 ./patches/source/openvpn +-rw-r--r-- 1 root root 1375 2007-06-10 01:25 ./patches/source/openvpn/README +-rw-r--r-- 1 root root 355 2018-02-22 02:16 ./patches/source/openvpn/doinst.sh.gz +-rw-r--r-- 1 root root 943376 2018-04-24 12:56 ./patches/source/openvpn/openvpn-2.4.6.tar.xz +-rw-r--r-- 1 root root 833 2018-04-24 12:56 ./patches/source/openvpn/openvpn-2.4.6.tar.xz.asc +-rwxr-xr-x 1 root root 5676 2018-04-26 19:04 ./patches/source/openvpn/openvpn.SlackBuild +-rw-r--r-- 1 root root 142 2018-04-26 17:44 ./patches/source/openvpn/openvpn.url +-rw-r--r-- 1 root root 3489 2018-02-28 21:25 ./patches/source/openvpn/rc.openvpn +-rw-r--r-- 1 root root 885 2018-02-27 06:13 ./patches/source/openvpn/slack-desc +-rw-r--r-- 1 root root 6942 2007-06-12 03:48 ./patches/source/openvpn/slackware.conf +drwxr-xr-x 2 root root 4096 2018-04-06 18:11 ./patches/source/patch +-rw-r--r-- 1 root root 2241 2018-04-06 18:04 ./patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch.gz +-rw-r--r-- 1 root root 783756 2018-02-06 16:52 ./patches/source/patch/patch-2.7.6.tar.xz +-rw-r--r-- 1 root root 801 2018-02-06 16:52 ./patches/source/patch/patch-2.7.6.tar.xz.sig +-rwxr-xr-x 1 root root 4165 2018-04-06 19:28 ./patches/source/patch/patch.SlackBuild +-rw-r--r-- 1 root root 1016 2018-02-27 06:13 ./patches/source/patch/slack-desc +drwxr-xr-x 2 root root 4096 2013-03-14 00:20 ./patches/source/perl +-rw-r--r-- 1 root root 138802 2012-04-28 14:18 ./patches/source/perl/DBD-mysql-4.021.tar.gz +-rw-r--r-- 1 root root 585651 2012-06-06 16:51 ./patches/source/perl/DBI-1.622.tar.gz +-rw-r--r-- 1 root root 81196 2012-03-25 20:53 ./patches/source/perl/URI-1.60.tar.gz +-rw-r--r-- 1 root root 238441 2011-06-03 04:19 ./patches/source/perl/XML-Parser-2.41.tar.gz +-rw-r--r-- 1 root root 75993 2012-06-20 10:01 ./patches/source/perl/XML-Simple-2.20.tar.gz +-rw-r--r-- 1 root root 10513024 2013-03-11 20:53 ./patches/source/perl/perl-5.16.3.tar.xz +-rwxr-xr-x 1 root root 9023 2013-03-14 01:39 ./patches/source/perl/perl.SlackBuild +-rw-r--r-- 1 root root 606 2008-09-21 00:04 ./patches/source/perl/perl.configure.multilib.patch.gz +-rw-r--r-- 1 root root 971 2002-07-23 05:23 ./patches/source/perl/slack-desc +drwxr-xr-x 3 root root 4096 2018-05-16 21:01 ./patches/source/php +-rw-r--r-- 1 root root 428 2016-02-03 20:51 ./patches/source/php/doinst.sh.gz +-rwxr-xr-x 1 root root 120 2018-05-16 21:01 ./patches/source/php/fetch-php.sh +-rw-r--r-- 1 root root 1022 2009-10-02 23:56 ./patches/source/php/mod_php.conf.example +drwxr-xr-x 2 root root 4096 2008-05-07 05:21 ./patches/source/php/pear +-rw-r--r-- 1 root root 12467560 2018-04-26 10:10 ./patches/source/php/php-5.6.36.tar.xz +-rw-r--r-- 1 root root 455 2018-04-26 10:10 ./patches/source/php/php-5.6.36.tar.xz.asc +-rw-r--r-- 1 root root 529 2013-12-14 19:03 ./patches/source/php/php-fpm.conf.diff.gz +-rwxr-xr-x 1 root root 9194 2018-03-07 22:10 ./patches/source/php/php.SlackBuild +-rw-r--r-- 1 root root 770 2014-08-30 09:32 ./patches/source/php/php.ini-development.diff.gz +-rw-r--r-- 1 root root 830 2005-12-09 05:18 ./patches/source/php/slack-desc +drwxr-xr-x 2 root root 4096 2017-03-10 19:02 ./patches/source/pidgin +-rw-r--r-- 1 root root 355 2012-05-02 03:59 ./patches/source/pidgin/fix-gmain_h-compile-error.diff.gz +-rw-r--r-- 1 root root 6802476 2017-03-10 02:46 ./patches/source/pidgin/pidgin-2.12.0.tar.xz +-rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./patches/source/pidgin/pidgin-encryption-3.1.tar.gz +-rwxr-xr-x 1 root root 7028 2016-09-19 16:23 ./patches/source/pidgin/pidgin.SlackBuild +-rw-r--r-- 1 root root 926 2008-03-09 08:06 ./patches/source/pidgin/slack-desc +drwxr-xr-x 2 root root 4096 2013-02-15 21:55 ./patches/source/polkit +-rw-r--r-- 1 root root 762 2013-02-15 19:24 ./patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch.gz +-rw-r--r-- 1 root root 128 2012-08-08 22:25 ./patches/source/polkit/10-org.freedesktop.NetworkManager.pkla +-rw-r--r-- 1 root root 185 2012-08-11 02:38 ./patches/source/polkit/20-plugdev-group-mount-override.pkla +-rw-r--r-- 1 root root 335 2012-08-09 05:01 ./patches/source/polkit/doinst.sh.gz +-rw-r--r-- 1 root root 616292 2012-04-24 16:47 ./patches/source/polkit/polkit-0.105.tar.xz +-rwxr-xr-x 1 root root 5063 2013-02-15 22:00 ./patches/source/polkit/polkit.SlackBuild +-rw-r--r-- 1 root root 906 2010-01-06 23:14 ./patches/source/polkit/slack-desc +drwxr-xr-x 2 root root 4096 2013-08-21 06:26 ./patches/source/poppler +-rw-r--r-- 1 root root 1424336 2012-08-02 13:42 ./patches/source/poppler/poppler-0.20.2.tar.xz +-rw-r--r-- 1 root root 1066 2013-08-20 18:56 ./patches/source/poppler/poppler.CVE-2012-2142.diff.gz +-rwxr-xr-x 1 root root 4054 2013-08-21 06:24 ./patches/source/poppler/poppler.SlackBuild +-rw-r--r-- 1 root root 660 2012-08-02 15:28 ./patches/source/poppler/poppler_xyscale.patch.gz +-rw-r--r-- 1 root root 952 2007-04-10 20:40 ./patches/source/poppler/slack-desc +drwxr-xr-x 2 root root 4096 2015-04-17 16:50 ./patches/source/ppp +-rw-r--r-- 1 root root 324 2004-02-23 06:39 ./patches/source/ppp/doinst.sh.gz +-rw-r--r-- 1 root root 3620 1999-09-30 05:49 ./patches/source/ppp/options.new.gz +-rw-r--r-- 1 root root 556120 2009-11-17 14:03 ./patches/source/ppp/ppp-2.4.5.tar.bz2 +-rw-r--r-- 1 root root 371 2015-04-11 18:50 ./patches/source/ppp/ppp.CVE-2014-3158.diff.gz +-rw-r--r-- 1 root root 278 2015-04-17 16:45 ./patches/source/ppp/ppp.CVE-2015-3310.diff.gz +-rwxr-xr-x 1 root root 5590 2015-04-17 16:51 ./patches/source/ppp/ppp.SlackBuild +-rw-r--r-- 1 root root 401 2004-02-23 05:37 ./patches/source/ppp/ppp.slack.diff.gz +-rw-r--r-- 1 root root 348 2002-05-20 02:06 ./patches/source/ppp/pppsetup-1.98.backupfiles.diff.gz +-rw-r--r-- 1 root root 1303 2002-05-20 01:53 ./patches/source/ppp/pppsetup-1.98.moredevs.diff.gz +-rw-r--r-- 1 root root 270 2000-10-21 00:47 ./patches/source/ppp/pppsetup-1.98.pppoff.diff.gz +-rw-r--r-- 1 root root 11656 2000-06-18 21:01 ./patches/source/ppp/pppsetup-1.98.slack.diff.gz +-rw-r--r-- 1 root root 78697 1998-03-04 21:07 ./patches/source/ppp/pppsetup-1.98.tar.gz +-rw-r--r-- 1 root root 812 2005-07-25 05:56 ./patches/source/ppp/radius.msdict.gz +-rw-r--r-- 1 root root 119071 2002-02-03 13:59 ./patches/source/ppp/radiusclient-0.3.2.tar.bz2 +-rw-r--r-- 1 root root 372 2005-07-25 05:56 ./patches/source/ppp/realms.gz +-rw-r--r-- 1 root root 129 2005-07-25 05:56 ./patches/source/ppp/servers.gz +-rw-r--r-- 1 root root 905 2002-03-07 03:31 ./patches/source/ppp/slack-desc +drwxr-xr-x 3 root root 4096 2017-04-20 21:47 ./patches/source/proftpd +-rw-r--r-- 1 root root 306 2003-03-06 07:52 ./patches/source/proftpd/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2001-02-26 07:35 ./patches/source/proftpd/etc +-rw-r--r-- 1 root root 581 2001-02-26 07:31 ./patches/source/proftpd/etc/ftpusers +-rw-r--r-- 1 root root 2046 2008-07-29 18:18 ./patches/source/proftpd/etc/proftpd.conf +-rw-r--r-- 1 root root 22018088 2017-04-09 21:16 ./patches/source/proftpd/proftpd-1.3.5e.tar.xz +-rwxr-xr-x 1 root root 4290 2017-04-20 21:49 ./patches/source/proftpd/proftpd.SlackBuild +-rw-r--r-- 1 root root 797 2004-09-18 22:48 ./patches/source/proftpd/slack-desc +drwxr-xr-x 2 root root 4096 2018-05-04 19:04 ./patches/source/python +-rw-r--r-- 1 root root 12642436 2018-04-29 23:20 ./patches/source/python/Python-2.7.15.tar.xz +-rw-r--r-- 1 root root 801 2018-04-29 23:20 ./patches/source/python/Python-2.7.15.tar.xz.asc +-rw-r--r-- 1 root root 1617467 2018-04-29 23:20 ./patches/source/python/python-2.7.15-docs-text.tar.bz2 +-rwxr-xr-x 1 root root 5160 2017-09-21 19:14 ./patches/source/python/python.SlackBuild +-rw-r--r-- 1 root root 798 2012-05-09 18:38 ./patches/source/python/python.no-static-library.diff.gz +-rw-r--r-- 1 root root 325 2009-06-09 19:23 ./patches/source/python/python.readline.set_pre_input_hook.diff.gz +-rw-r--r-- 1 root root 1867 2016-12-28 19:19 ./patches/source/python/python.x86_64.diff.gz +-rw-r--r-- 1 root root 895 2002-03-23 22:54 ./patches/source/python/slack-desc +drwxr-xr-x 10 root root 4096 2016-10-26 20:43 ./patches/source/randrproto +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/randrproto/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/build +-rw-r--r-- 1 root root 12 2016-10-27 04:47 ./patches/source/randrproto/build/randrproto +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/randrproto/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/doinst.sh +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/randrproto/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/randrproto/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/randrproto/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/post-install +-rwxr-xr-x 1 root root 92 2016-10-26 20:43 ./patches/source/randrproto/randrproto.SlackBuild +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/slack-desc +-rw-r--r-- 1 root root 674 2012-04-08 03:32 ./patches/source/randrproto/slack-desc/randrproto +drwxr-xr-x 3 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/src/proto +-rw-r--r-- 1 root root 132864 2015-05-17 04:32 ./patches/source/randrproto/src/proto/randrproto-1.5.0.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 20:43 ./patches/source/randrproto/x11.SlackBuild +drwxr-xr-x 2 root root 4096 2018-01-30 19:32 ./patches/source/rsync +-rw-r--r-- 1 root root 653524 2018-01-28 23:54 ./patches/source/rsync/rsync-3.1.3.tar.xz +-rwxr-xr-x 1 root root 3322 2018-01-30 19:32 ./patches/source/rsync/rsync.SlackBuild +-rw-r--r-- 1 root root 984 2015-04-23 21:38 ./patches/source/rsync/slack-desc +drwxr-xr-x 2 root root 4096 2013-12-09 23:22 ./patches/source/ruby +-rw-r--r-- 1 root root 7449060 2013-11-22 04:25 ./patches/source/ruby/ruby-1.9.3-p484.tar.xz +-rwxr-xr-x 1 root root 4218 2012-12-06 05:37 ./patches/source/ruby/ruby.SlackBuild +-rw-r--r-- 1 root root 865 2006-07-20 06:49 ./patches/source/ruby/slack-desc +drwxr-xr-x 2 root root 4096 2017-05-01 23:03 ./patches/source/rxvt +-rw-r--r-- 1 root root 429356 2003-03-26 06:47 ./patches/source/rxvt/rxvt-2.7.10.tar.xz +-rw-r--r-- 1 root root 304 2017-05-01 22:58 ./patches/source/rxvt/rxvt-integer-overflow-fix.patch.gz +-rwxr-xr-x 1 root root 3912 2017-05-01 23:15 ./patches/source/rxvt/rxvt.SlackBuild +-rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./patches/source/rxvt/rxvt.utempter.diff.gz +-rw-r--r-- 1 root root 880 2002-03-10 07:02 ./patches/source/rxvt/slack-desc +drwxr-xr-x 2 root root 4096 2018-03-13 17:23 ./patches/source/samba +-rw-r--r-- 1 root root 435 2014-09-15 21:21 ./patches/source/samba/doinst.sh.gz +-rw-r--r-- 1 root root 296 2013-10-16 00:05 ./patches/source/samba/pytalloc-util.pc +-rw-r--r-- 1 root root 819 2015-04-05 23:03 ./patches/source/samba/rc.samba +-rw-r--r-- 1 root root 6468 2018-03-13 10:43 ./patches/source/samba/samba-4.4.16-CVE-2018-1057.patch.gz +-rw-r--r-- 1 root root 195 2017-09-13 18:29 ./patches/source/samba/samba-4.4.16.tar.asc +-rw-r--r-- 1 root root 14090760 2017-09-13 18:28 ./patches/source/samba/samba-4.4.16.tar.xz +-rw-r--r-- 1 root root 1466 2017-11-21 08:23 ./patches/source/samba/samba-4.5.14-security-2017-11-21.patch.gz +-rwxr-xr-x 1 root root 7069 2018-03-13 17:25 ./patches/source/samba/samba.SlackBuild +-rw-r--r-- 1 root root 921 2016-04-11 17:45 ./patches/source/samba/samba.install.talloc.tevent.tdb.diff.gz +-rw-r--r-- 1 root root 129 2017-09-20 17:12 ./patches/source/samba/samba.url +-rw-r--r-- 1 root root 965 2012-06-20 17:31 ./patches/source/samba/slack-desc +-rw-r--r-- 1 root root 7920 2013-10-16 01:02 ./patches/source/samba/smb.conf.default +-rw-r--r-- 1 root root 7932 2013-06-13 09:21 ./patches/source/samba/smb.conf.default.orig +-rw-r--r-- 1 root root 535 2013-10-16 01:04 ./patches/source/samba/smb.conf.diff.gz +-rw-r--r-- 1 root root 286 2013-10-16 00:05 ./patches/source/samba/talloc.pc +drwxr-xr-x 2 root root 4096 2013-02-06 22:59 ./patches/source/sdl +-rw-r--r-- 1 root root 3077408 2009-10-20 03:53 ./patches/source/sdl/SDL-1.2.14.tar.xz +-rw-r--r-- 1 root root 1212636 2009-11-15 09:44 ./patches/source/sdl/SDL_image-1.2.10.tar.xz +-rw-r--r-- 1 root root 2525128 2009-11-15 09:42 ./patches/source/sdl/SDL_mixer-1.2.11.tar.xz +-rw-r--r-- 1 root root 223252 2007-07-21 08:04 ./patches/source/sdl/SDL_net-1.2.7.tar.xz +-rw-r--r-- 1 root root 1221848 2009-10-19 08:22 ./patches/source/sdl/SDL_ttf-2.0.10.tar.xz +-rw-r--r-- 1 root root 407 2013-01-27 19:16 ./patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch.gz +-rwxr-xr-x 1 root root 7364 2013-02-06 22:59 ./patches/source/sdl/sdl.SlackBuild +-rw-r--r-- 1 root root 637 2011-04-25 05:25 ./patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff.gz +-rw-r--r-- 1 root root 941 2004-03-27 18:28 ./patches/source/sdl/slack-desc +drwxr-xr-x 4 root root 4096 2015-09-29 20:22 ./patches/source/seamonkey +-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./patches/source/seamonkey/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2013-11-14 21:24 ./patches/source/seamonkey/gold +-rwxr-xr-x 1 root root 34 2013-11-14 21:15 ./patches/source/seamonkey/gold/gold +lrwxrwxrwx 1 root root 4 2013-11-14 21:24 ./patches/source/seamonkey/gold/ld -> gold +drwxr-xr-x 2 root root 4096 2013-08-13 03:24 ./patches/source/seamonkey/pkgconfig +-rw-r--r-- 1 root root 320 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc +-rw-r--r-- 1 root root 327 2011-11-30 00:44 ./patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc +-rw-r--r-- 1 root root 308 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc +-rw-r--r-- 1 root root 313 2012-04-30 17:42 ./patches/source/seamonkey/pkgconfig/seamonkey-nss.pc +-rw-r--r-- 1 root root 287 2012-01-10 16:25 ./patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc +-rw-r--r-- 1 root root 372 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc +-rw-r--r-- 1 root root 176647220 2015-09-25 08:05 ./patches/source/seamonkey/seamonkey-2.38.source.tar.xz +-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./patches/source/seamonkey/seamonkey-icon.png +-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./patches/source/seamonkey/seamonkey-mail-icon.png +-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./patches/source/seamonkey/seamonkey-mail.desktop +-rwxr-xr-x 1 root root 10180 2015-09-29 20:22 ./patches/source/seamonkey/seamonkey.SlackBuild +-rw-r--r-- 1 root root 315 2013-08-13 03:23 ./patches/source/seamonkey/seamonkey.desktop +-rw-r--r-- 1 root root 894 2009-11-10 01:43 ./patches/source/seamonkey/slack-desc +drwxr-xr-x 2 root root 4096 2014-06-05 20:49 ./patches/source/sendmail +-rw-r--r-- 1 root root 799 2008-04-12 05:48 ./patches/source/sendmail/Build.gz +-rwxr-xr-x 1 root root 5750 2014-06-05 20:49 ./patches/source/sendmail/SlackBuild-sendmail +-rwxr-xr-x 1 root root 2120 2014-06-05 20:30 ./patches/source/sendmail/SlackBuild-sendmail-cf +-rw-r--r-- 1 root root 4793 2009-06-26 19:34 ./patches/source/sendmail/_sendmail.tar.gz +-rw-r--r-- 1 root root 224 2002-02-14 01:48 ./patches/source/sendmail/linux.uucp.mc +-rw-r--r-- 1 root root 2742 2008-04-12 06:41 ./patches/source/sendmail/sendmail-slackware-tls-sasl.mc +-rw-r--r-- 1 root root 2510 2008-04-12 07:06 ./patches/source/sendmail/sendmail-slackware-tls.mc +-rw-r--r-- 1 root root 1825 2003-05-05 03:34 ./patches/source/sendmail/sendmail-slackware.mc +-rw-r--r-- 1 root root 2114293 2014-05-21 14:40 ./patches/source/sendmail/sendmail.8.14.9.tar.gz +-rw-r--r-- 1 root root 287 2014-05-21 14:40 ./patches/source/sendmail/sendmail.8.14.9.tar.gz.sig +-rwxr-xr-x 1 root root 63 2008-11-26 21:58 ./patches/source/sendmail/sendmail.SlackBuild +-rw-r--r-- 1 root root 467 2010-04-22 23:21 ./patches/source/sendmail/site.config.m4 +-rw-r--r-- 1 root root 962 2002-06-01 20:17 ./patches/source/sendmail/slack-desc.sendmail +-rw-r--r-- 1 root root 1050 2002-06-01 20:19 ./patches/source/sendmail/slack-desc.sendmail-cf +drwxr-xr-x 2 root root 4096 2012-12-06 22:14 ./patches/source/sqlite +-rw-r--r-- 1 root root 1684 2008-08-01 05:31 ./patches/source/sqlite/COPYRIGHT.gz +-rw-r--r-- 1 root root 942 2008-08-01 01:21 ./patches/source/sqlite/slack-desc +-rw-r--r-- 1 root root 3025732 2012-10-04 19:49 ./patches/source/sqlite/sqlite-src-3071401.tar.xz +-rwxr-xr-x 1 root root 4374 2012-12-06 22:14 ./patches/source/sqlite/sqlite.SlackBuild +drwxr-xr-x 2 root root 4096 2016-08-22 18:31 ./patches/source/stunnel +-rw-r--r-- 1 root root 268 2015-09-17 19:39 ./patches/source/stunnel/doinst.sh.gz +-rw-r--r-- 1 root root 286 2016-08-22 18:28 ./patches/source/stunnel/generate-stunnel-key.sh +-rw-r--r-- 1 root root 968 2003-08-28 23:04 ./patches/source/stunnel/slack-desc +-rw-r--r-- 1 root root 645148 2016-07-17 22:16 ./patches/source/stunnel/stunnel-5.35.tar.gz +-rw-r--r-- 1 root root 811 2016-07-17 22:16 ./patches/source/stunnel/stunnel-5.35.tar.gz.asc +-rwxr-xr-x 1 root root 4386 2016-08-22 18:31 ./patches/source/stunnel/stunnel.SlackBuild +drwxr-xr-x 2 root root 4096 2017-08-10 19:26 ./patches/source/subversion +-rwxr-xr-x 1 root root 181 2012-05-25 22:37 ./patches/source/subversion/get-svn-book.sh +-rw-r--r-- 1 root root 1058 2010-04-30 02:11 ./patches/source/subversion/slack-desc +-rw-r--r-- 1 root root 4860360 2015-08-13 23:08 ./patches/source/subversion/subversion-1.7.22.tar.xz +-rw-r--r-- 1 root root 312 2016-04-05 18:06 ./patches/source/subversion/subversion.CVE-2015-5343.diff.gz +-rw-r--r-- 1 root root 304 2016-04-30 20:01 ./patches/source/subversion/subversion.CVE-2016-2167.diff.gz +-rw-r--r-- 1 root root 491 2016-04-30 20:03 ./patches/source/subversion/subversion.CVE-2016-2168.diff.gz +-rw-r--r-- 1 root root 1425 2017-08-10 19:16 ./patches/source/subversion/subversion.CVE-2017-9800.diff.gz +-rwxr-xr-x 1 root root 5908 2017-08-10 19:27 ./patches/source/subversion/subversion.SlackBuild +-rw-r--r-- 1 root root 473085 2014-02-26 07:01 ./patches/source/subversion/svn-book-html.tar.bz2 +drwxr-xr-x 2 root root 4096 2017-05-31 22:48 ./patches/source/sudo +-rw-r--r-- 1 root root 275 2004-09-19 00:25 ./patches/source/sudo/doinst.sh.gz +-rw-r--r-- 1 root root 869 2002-03-23 22:36 ./patches/source/sudo/slack-desc +-rw-r--r-- 1 root root 1670448 2017-05-31 15:17 ./patches/source/sudo/sudo-1.8.20p2.tar.xz +-rwxr-xr-x 1 root root 3743 2015-02-10 19:14 ./patches/source/sudo/sudo.SlackBuild +drwxr-xr-x 2 root root 4096 2017-09-07 20:54 ./patches/source/tcpdump +-rw-r--r-- 1 root root 882 2013-10-15 22:40 ./patches/source/tcpdump/slack-desc +-rw-r--r-- 1 root root 955416 2017-09-05 07:44 ./patches/source/tcpdump/tcpdump-4.9.2.tar.xz +-rwxr-xr-x 1 root root 3181 2017-07-24 18:33 ./patches/source/tcpdump/tcpdump.SlackBuild +drwxr-xr-x 2 root root 4096 2013-03-28 06:11 ./patches/source/tumbler +-rw-r--r-- 1 root root 472 2013-03-28 05:29 ./patches/source/tumbler/set-gststate-on-error.diff.gz +-rw-r--r-- 1 root root 968 2012-07-19 23:20 ./patches/source/tumbler/slack-desc +-rw-r--r-- 1 root root 407444 2012-04-28 20:25 ./patches/source/tumbler/tumbler-0.1.25.tar.xz +-rwxr-xr-x 1 root root 4356 2013-03-28 06:55 ./patches/source/tumbler/tumbler.SlackBuild +drwxr-xr-x 2 root root 4096 2014-03-11 06:29 ./patches/source/udisks +-rw-r--r-- 1 root root 870 2012-04-08 20:48 ./patches/source/udisks/slack-desc +-rw-r--r-- 1 root root 459256 2014-03-10 09:14 ./patches/source/udisks/udisks-1.0.5.tar.xz +-rwxr-xr-x 1 root root 3717 2014-03-11 06:37 ./patches/source/udisks/udisks.SlackBuild +-rw-r--r-- 1 root root 37 2010-11-10 05:15 ./patches/source/udisks/udisks.url +drwxr-xr-x 2 root root 4096 2014-03-11 06:51 ./patches/source/udisks2 +-rw-r--r-- 1 root root 386 2012-07-19 03:58 ./patches/source/udisks2/doinst.sh.gz +-rw-r--r-- 1 root root 886 2012-05-29 19:19 ./patches/source/udisks2/slack-desc +-rw-r--r-- 1 root root 531844 2012-06-07 18:39 ./patches/source/udisks2/udisks-1.98.0.tar.xz +-rw-r--r-- 1 root root 1378 2014-03-11 06:50 ./patches/source/udisks2/udisks2.CVE-2014-0004.diff.gz +-rwxr-xr-x 1 root root 4304 2014-03-11 06:51 ./patches/source/udisks2/udisks2.SlackBuild +drwxr-xr-x 3 root root 4096 2013-10-02 20:34 ./patches/source/vim +-rw-r--r-- 1 root root 479927 2009-07-09 22:03 ./patches/source/vim/ctags-5.8.tar.gz +-rw-r--r-- 1 root root 118 2006-08-23 23:20 ./patches/source/vim/doinst.sh.gz +-rw-r--r-- 1 root root 4203 2007-02-16 22:42 ./patches/source/vim/gvim.desktop +-rw-r--r-- 1 root root 8249 2006-01-19 17:01 ./patches/source/vim/gvim.png +drwxr-xr-x 2 root root 12288 2017-04-09 21:21 ./patches/source/vim/patches +-rw-r--r-- 1 root root 3483 2013-08-14 10:10 ./patches/source/vim/patches/7.4.001.gz +-rw-r--r-- 1 root root 1051 2013-08-14 11:35 ./patches/source/vim/patches/7.4.002.gz +-rw-r--r-- 1 root root 975 2013-08-14 12:18 ./patches/source/vim/patches/7.4.003.gz +-rw-r--r-- 1 root root 1953 2013-08-14 15:11 ./patches/source/vim/patches/7.4.004.gz +-rw-r--r-- 1 root root 779 2013-08-14 15:45 ./patches/source/vim/patches/7.4.005.gz +-rw-r--r-- 1 root root 967 2013-08-22 10:08 ./patches/source/vim/patches/7.4.006.gz +-rw-r--r-- 1 root root 1096 2013-08-22 12:15 ./patches/source/vim/patches/7.4.007.gz +-rw-r--r-- 1 root root 1017 2013-08-25 15:02 ./patches/source/vim/patches/7.4.008.gz +-rw-r--r-- 1 root root 1047 2013-08-25 15:47 ./patches/source/vim/patches/7.4.009.gz +-rw-r--r-- 1 root root 1004 2013-08-30 14:01 ./patches/source/vim/patches/7.4.010.gz +-rw-r--r-- 1 root root 1037 2013-08-30 14:36 ./patches/source/vim/patches/7.4.011.gz +-rw-r--r-- 1 root root 1921 2013-08-30 14:45 ./patches/source/vim/patches/7.4.012.gz +-rw-r--r-- 1 root root 1190 2013-08-30 14:51 ./patches/source/vim/patches/7.4.013.gz +-rw-r--r-- 1 root root 1065 2013-08-30 15:07 ./patches/source/vim/patches/7.4.014.gz +-rw-r--r-- 1 root root 1358 2013-08-30 15:12 ./patches/source/vim/patches/7.4.015.gz +-rw-r--r-- 1 root root 2317 2013-08-30 15:30 ./patches/source/vim/patches/7.4.016.gz +-rw-r--r-- 1 root root 1056 2013-09-05 10:07 ./patches/source/vim/patches/7.4.017.gz +-rw-r--r-- 1 root root 753 2013-09-05 10:50 ./patches/source/vim/patches/7.4.018.gz +-rw-r--r-- 1 root root 923 2013-09-05 11:51 ./patches/source/vim/patches/7.4.019.gz +-rw-r--r-- 1 root root 1121 2013-09-05 14:06 ./patches/source/vim/patches/7.4.020.gz +-rw-r--r-- 1 root root 1187 2013-09-05 19:17 ./patches/source/vim/patches/7.4.021.gz +-rw-r--r-- 1 root root 1579 2013-09-05 19:41 ./patches/source/vim/patches/7.4.022.gz +-rw-r--r-- 1 root root 816 2013-09-07 14:36 ./patches/source/vim/patches/7.4.023.gz +-rw-r--r-- 1 root root 905 2013-09-08 13:42 ./patches/source/vim/patches/7.4.024.gz +-rw-r--r-- 1 root root 900 2013-09-08 14:04 ./patches/source/vim/patches/7.4.025.gz +-rw-r--r-- 1 root root 788 2013-09-08 14:07 ./patches/source/vim/patches/7.4.026.gz +-rw-r--r-- 1 root root 1231 2013-09-08 18:01 ./patches/source/vim/patches/7.4.027.gz +-rw-r--r-- 1 root root 6312 2013-09-19 15:00 ./patches/source/vim/patches/7.4.028.gz +-rw-r--r-- 1 root root 900 2013-09-20 18:15 ./patches/source/vim/patches/7.4.029.gz +-rw-r--r-- 1 root root 1097 2013-09-20 18:15 ./patches/source/vim/patches/7.4.030.gz +-rw-r--r-- 1 root root 848 2013-09-20 18:15 ./patches/source/vim/patches/7.4.031.gz +-rw-r--r-- 1 root root 1113 2013-09-22 11:58 ./patches/source/vim/patches/7.4.032.gz +-rw-r--r-- 1 root root 1376 2013-09-22 13:04 ./patches/source/vim/patches/7.4.033.gz +-rw-r--r-- 1 root root 2059 2013-09-22 13:24 ./patches/source/vim/patches/7.4.034.gz +-rw-r--r-- 1 root root 842 2013-09-22 13:44 ./patches/source/vim/patches/7.4.035.gz +-rw-r--r-- 1 root root 2319 2013-09-25 14:42 ./patches/source/vim/patches/7.4.036.gz +-rw-r--r-- 1 root root 1804 2013-09-25 16:17 ./patches/source/vim/patches/7.4.037.gz +-rw-r--r-- 1 root root 1353 2013-09-25 16:55 ./patches/source/vim/patches/7.4.038.gz +-rw-r--r-- 1 root root 2108 2013-09-25 17:14 ./patches/source/vim/patches/7.4.039.gz +-rw-r--r-- 1 root root 1079 2013-09-25 19:01 ./patches/source/vim/patches/7.4.040.gz +-rw-r--r-- 1 root root 898 2013-09-25 21:25 ./patches/source/vim/patches/7.4.041.gz +-rw-r--r-- 1 root root 967 2013-09-29 11:39 ./patches/source/vim/patches/7.4.042.gz +-rw-r--r-- 1 root root 1057 2013-09-29 14:28 ./patches/source/vim/patches/7.4.043.gz +-rw-r--r-- 1 root root 921 2013-09-29 17:05 ./patches/source/vim/patches/7.4.044.gz +-rw-r--r-- 1 root root 1268 2013-09-29 19:13 ./patches/source/vim/patches/7.4.045.gz +-rw-r--r-- 1 root root 983 2013-10-02 12:28 ./patches/source/vim/patches/7.4.046.gz +-rw-r--r-- 1 root root 892 2013-10-02 14:47 ./patches/source/vim/patches/7.4.047.gz +-rw-r--r-- 1 root root 1551 2013-10-02 16:23 ./patches/source/vim/patches/7.4.048.gz +-rw-r--r-- 1 root root 936 2013-10-02 16:44 ./patches/source/vim/patches/7.4.049.gz +-rw-r--r-- 1 root root 1097 2013-10-02 19:56 ./patches/source/vim/patches/7.4.050.gz +-rw-r--r-- 1 root root 1060 2013-10-06 15:47 ./patches/source/vim/patches/7.4.051.gz +-rw-r--r-- 1 root root 2114 2013-10-06 17:47 ./patches/source/vim/patches/7.4.052.gz +-rw-r--r-- 1 root root 675 2013-11-02 04:20 ./patches/source/vim/patches/7.4.053.gz +-rw-r--r-- 1 root root 738 2013-11-02 04:40 ./patches/source/vim/patches/7.4.054.gz +-rw-r--r-- 1 root root 1853 2013-11-02 21:05 ./patches/source/vim/patches/7.4.055.gz +-rw-r--r-- 1 root root 915 2013-11-02 21:50 ./patches/source/vim/patches/7.4.056.gz +-rw-r--r-- 1 root root 2526 2013-11-02 23:30 ./patches/source/vim/patches/7.4.057.gz +-rw-r--r-- 1 root root 951 2013-11-03 00:00 ./patches/source/vim/patches/7.4.058.gz +-rw-r--r-- 1 root root 734 2013-11-03 00:21 ./patches/source/vim/patches/7.4.059.gz +-rw-r--r-- 1 root root 915 2013-11-03 00:29 ./patches/source/vim/patches/7.4.060.gz +-rw-r--r-- 1 root root 1695 2013-11-03 00:41 ./patches/source/vim/patches/7.4.061.gz +-rw-r--r-- 1 root root 1090 2013-11-03 20:27 ./patches/source/vim/patches/7.4.062.gz +-rw-r--r-- 1 root root 1343 2013-11-04 00:35 ./patches/source/vim/patches/7.4.063.gz +-rw-r--r-- 1 root root 2206 2013-11-04 04:31 ./patches/source/vim/patches/7.4.064.gz +-rw-r--r-- 1 root root 1033 2013-11-04 02:01 ./patches/source/vim/patches/7.4.065.gz +-rw-r--r-- 1 root root 2846 2013-11-04 02:55 ./patches/source/vim/patches/7.4.066.gz +-rw-r--r-- 1 root root 1493 2013-11-04 04:21 ./patches/source/vim/patches/7.4.067.gz +-rw-r--r-- 1 root root 1546 2013-11-04 04:58 ./patches/source/vim/patches/7.4.068.gz +-rw-r--r-- 1 root root 14110 2013-11-05 07:14 ./patches/source/vim/patches/7.4.069.gz +-rw-r--r-- 1 root root 771 2013-11-05 17:41 ./patches/source/vim/patches/7.4.070.gz +-rw-r--r-- 1 root root 6865 2013-11-06 04:02 ./patches/source/vim/patches/7.4.071.gz +-rw-r--r-- 1 root root 878 2013-11-06 04:04 ./patches/source/vim/patches/7.4.072.gz +-rw-r--r-- 1 root root 3613 2013-11-06 05:26 ./patches/source/vim/patches/7.4.073.gz +-rw-r--r-- 1 root root 1071 2013-11-07 03:05 ./patches/source/vim/patches/7.4.074.gz +-rw-r--r-- 1 root root 2219 2013-11-07 03:26 ./patches/source/vim/patches/7.4.075.gz +-rw-r--r-- 1 root root 973 2013-11-07 04:47 ./patches/source/vim/patches/7.4.076.gz +-rw-r--r-- 1 root root 1093 2013-11-08 03:16 ./patches/source/vim/patches/7.4.077.gz +-rw-r--r-- 1 root root 1181 2013-11-08 03:16 ./patches/source/vim/patches/7.4.078.gz +-rw-r--r-- 1 root root 3513 2013-11-08 04:31 ./patches/source/vim/patches/7.4.079.gz +-rw-r--r-- 1 root root 979 2013-11-09 01:46 ./patches/source/vim/patches/7.4.080.gz +-rw-r--r-- 1 root root 822 2013-11-09 02:33 ./patches/source/vim/patches/7.4.081.gz +-rw-r--r-- 1 root root 3046 2013-11-09 03:32 ./patches/source/vim/patches/7.4.082.gz +-rw-r--r-- 1 root root 1742 2013-11-09 05:31 ./patches/source/vim/patches/7.4.083.gz +-rw-r--r-- 1 root root 1546 2013-11-11 01:06 ./patches/source/vim/patches/7.4.084.gz +-rw-r--r-- 1 root root 1530 2013-11-14 05:44 ./patches/source/vim/patches/7.4.085.gz +-rw-r--r-- 1 root root 1789 2013-11-11 04:26 ./patches/source/vim/patches/7.4.086.gz +-rw-r--r-- 1 root root 883 2013-11-11 23:18 ./patches/source/vim/patches/7.4.087.gz +-rw-r--r-- 1 root root 4647 2013-11-12 04:51 ./patches/source/vim/patches/7.4.088.gz +-rw-r--r-- 1 root root 771 2013-11-12 05:12 ./patches/source/vim/patches/7.4.089.gz +-rw-r--r-- 1 root root 1805 2013-11-12 05:29 ./patches/source/vim/patches/7.4.090.gz +-rw-r--r-- 1 root root 1005 2013-11-12 18:10 ./patches/source/vim/patches/7.4.091.gz +-rw-r--r-- 1 root root 920 2013-11-14 03:55 ./patches/source/vim/patches/7.4.092.gz +-rw-r--r-- 1 root root 1070 2013-11-17 20:18 ./patches/source/vim/patches/7.4.093.gz +-rw-r--r-- 1 root root 1522 2013-11-17 20:41 ./patches/source/vim/patches/7.4.094.gz +-rw-r--r-- 1 root root 1126 2013-11-21 12:18 ./patches/source/vim/patches/7.4.095.gz +-rw-r--r-- 1 root root 1042 2013-11-21 12:34 ./patches/source/vim/patches/7.4.096.gz +-rw-r--r-- 1 root root 893 2013-11-21 13:25 ./patches/source/vim/patches/7.4.097.gz +-rw-r--r-- 1 root root 2173 2013-11-21 14:22 ./patches/source/vim/patches/7.4.098.gz +-rw-r--r-- 1 root root 1276 2013-11-21 14:43 ./patches/source/vim/patches/7.4.099.gz +-rw-r--r-- 1 root root 1280 2013-11-21 16:04 ./patches/source/vim/patches/7.4.100.gz +-rw-r--r-- 1 root root 1255 2013-11-21 17:13 ./patches/source/vim/patches/7.4.101.gz +-rw-r--r-- 1 root root 996 2013-11-21 17:43 ./patches/source/vim/patches/7.4.102.gz +-rw-r--r-- 1 root root 1286 2013-11-21 18:14 ./patches/source/vim/patches/7.4.103.gz +-rw-r--r-- 1 root root 1211 2013-11-28 14:21 ./patches/source/vim/patches/7.4.104.gz +-rw-r--r-- 1 root root 896 2013-11-28 14:37 ./patches/source/vim/patches/7.4.105.gz +-rw-r--r-- 1 root root 917 2013-11-28 16:33 ./patches/source/vim/patches/7.4.106.gz +-rw-r--r-- 1 root root 4958 2013-11-28 17:05 ./patches/source/vim/patches/7.4.107.gz +-rw-r--r-- 1 root root 1857 2013-11-28 17:42 ./patches/source/vim/patches/7.4.108.gz +-rw-r--r-- 1 root root 1388 2013-11-28 18:54 ./patches/source/vim/patches/7.4.109.gz +-rw-r--r-- 1 root root 1405 2013-11-28 19:33 ./patches/source/vim/patches/7.4.110.gz +-rw-r--r-- 1 root root 830 2013-12-07 14:29 ./patches/source/vim/patches/7.4.111.gz +-rw-r--r-- 1 root root 825 2013-12-07 14:33 ./patches/source/vim/patches/7.4.112.gz +-rw-r--r-- 1 root root 998 2013-12-11 12:24 ./patches/source/vim/patches/7.4.113.gz +-rw-r--r-- 1 root root 1025 2013-12-11 12:24 ./patches/source/vim/patches/7.4.114.gz +-rw-r--r-- 1 root root 787 2013-12-11 13:22 ./patches/source/vim/patches/7.4.115.gz +-rw-r--r-- 1 root root 760 2013-12-11 14:55 ./patches/source/vim/patches/7.4.116.gz +-rw-r--r-- 1 root root 2662 2013-12-11 15:07 ./patches/source/vim/patches/7.4.117.gz +-rw-r--r-- 1 root root 1141 2013-12-11 15:52 ./patches/source/vim/patches/7.4.118.gz +-rw-r--r-- 1 root root 2734 2013-12-11 17:13 ./patches/source/vim/patches/7.4.119.gz +-rw-r--r-- 1 root root 824 2013-12-11 17:20 ./patches/source/vim/patches/7.4.120.gz +-rw-r--r-- 1 root root 784 2013-12-11 17:45 ./patches/source/vim/patches/7.4.121.gz +-rw-r--r-- 1 root root 1993 2013-12-11 17:59 ./patches/source/vim/patches/7.4.122.gz +-rw-r--r-- 1 root root 945 2013-12-11 18:18 ./patches/source/vim/patches/7.4.123.gz +-rw-r--r-- 1 root root 905 2013-12-11 18:22 ./patches/source/vim/patches/7.4.124.gz +-rw-r--r-- 1 root root 744 2013-12-11 18:37 ./patches/source/vim/patches/7.4.125.gz +-rw-r--r-- 1 root root 860 2013-12-12 20:26 ./patches/source/vim/patches/7.4.126.gz +-rw-r--r-- 1 root root 972 2013-12-14 11:46 ./patches/source/vim/patches/7.4.127.gz +-rw-r--r-- 1 root root 947 2013-12-14 11:50 ./patches/source/vim/patches/7.4.128.gz +-rw-r--r-- 1 root root 791 2013-12-14 12:18 ./patches/source/vim/patches/7.4.129.gz +-rw-r--r-- 1 root root 856 2013-12-14 12:49 ./patches/source/vim/patches/7.4.130.gz +-rw-r--r-- 1 root root 1234 2013-12-14 13:07 ./patches/source/vim/patches/7.4.131.gz +-rw-r--r-- 1 root root 792 2014-01-05 13:30 ./patches/source/vim/patches/7.4.132.gz +-rw-r--r-- 1 root root 826 2014-01-06 07:19 ./patches/source/vim/patches/7.4.133.gz +-rw-r--r-- 1 root root 812 2014-01-06 15:45 ./patches/source/vim/patches/7.4.134.gz +-rw-r--r-- 1 root root 716 2014-01-06 15:52 ./patches/source/vim/patches/7.4.135.gz +-rw-r--r-- 1 root root 1189 2014-01-10 13:07 ./patches/source/vim/patches/7.4.136.gz +-rw-r--r-- 1 root root 1844 2014-01-10 17:09 ./patches/source/vim/patches/7.4.137.gz +-rw-r--r-- 1 root root 1033 2014-01-10 15:33 ./patches/source/vim/patches/7.4.138.gz +-rw-r--r-- 1 root root 1022 2014-01-10 15:54 ./patches/source/vim/patches/7.4.139.gz +-rw-r--r-- 1 root root 1904 2014-01-10 16:44 ./patches/source/vim/patches/7.4.140.gz +-rw-r--r-- 1 root root 1137 2014-01-10 19:18 ./patches/source/vim/patches/7.4.141.gz +-rw-r--r-- 1 root root 1466 2014-01-12 13:25 ./patches/source/vim/patches/7.4.142.gz +-rw-r--r-- 1 root root 1826 2014-01-14 12:17 ./patches/source/vim/patches/7.4.143.gz +-rw-r--r-- 1 root root 746 2014-01-14 12:19 ./patches/source/vim/patches/7.4.144.gz +-rw-r--r-- 1 root root 1090 2014-01-14 12:34 ./patches/source/vim/patches/7.4.145.gz +-rw-r--r-- 1 root root 1111 2014-01-14 12:57 ./patches/source/vim/patches/7.4.146.gz +-rw-r--r-- 1 root root 1208 2014-01-14 13:20 ./patches/source/vim/patches/7.4.147.gz +-rw-r--r-- 1 root root 1056 2014-01-14 13:27 ./patches/source/vim/patches/7.4.148.gz +-rw-r--r-- 1 root root 5960 2014-01-14 15:25 ./patches/source/vim/patches/7.4.149.gz +-rw-r--r-- 1 root root 1120 2014-01-14 16:08 ./patches/source/vim/patches/7.4.150.gz +-rw-r--r-- 1 root root 7972 2014-01-14 16:37 ./patches/source/vim/patches/7.4.151.gz +-rw-r--r-- 1 root root 4519 2014-01-14 16:55 ./patches/source/vim/patches/7.4.152.gz +-rw-r--r-- 1 root root 1345 2014-01-14 19:36 ./patches/source/vim/patches/7.4.153.gz +-rw-r--r-- 1 root root 1509 2014-01-14 19:45 ./patches/source/vim/patches/7.4.154.gz +-rw-r--r-- 1 root root 965 2014-01-14 21:32 ./patches/source/vim/patches/7.4.155.gz +-rw-r--r-- 1 root root 802 2014-01-23 14:27 ./patches/source/vim/patches/7.4.156.gz +-rw-r--r-- 1 root root 845 2014-01-23 18:13 ./patches/source/vim/patches/7.4.157.gz +-rw-r--r-- 1 root root 1555 2014-01-23 20:59 ./patches/source/vim/patches/7.4.158.gz +-rw-r--r-- 1 root root 1554 2014-01-23 22:46 ./patches/source/vim/patches/7.4.159.gz +-rw-r--r-- 1 root root 998 2014-01-24 19:56 ./patches/source/vim/patches/7.4.160.gz +-rw-r--r-- 1 root root 957 2014-01-31 14:58 ./patches/source/vim/patches/7.4.161.gz +-rw-r--r-- 1 root root 738 2014-02-05 12:37 ./patches/source/vim/patches/7.4.162.gz +-rw-r--r-- 1 root root 1104 2014-02-05 13:37 ./patches/source/vim/patches/7.4.163.gz +-rw-r--r-- 1 root root 1012 2014-02-05 14:03 ./patches/source/vim/patches/7.4.164.gz +-rw-r--r-- 1 root root 1027 2014-02-05 22:02 ./patches/source/vim/patches/7.4.165.gz +-rw-r--r-- 1 root root 858 2014-02-05 22:13 ./patches/source/vim/patches/7.4.166.gz +-rw-r--r-- 1 root root 1562 2014-02-05 22:26 ./patches/source/vim/patches/7.4.167.gz +-rw-r--r-- 1 root root 1170 2014-02-05 22:42 ./patches/source/vim/patches/7.4.168.gz +-rw-r--r-- 1 root root 877 2014-02-05 22:47 ./patches/source/vim/patches/7.4.169.gz +-rw-r--r-- 1 root root 1262 2014-02-11 12:16 ./patches/source/vim/patches/7.4.170.gz +-rw-r--r-- 1 root root 4847 2014-02-11 15:11 ./patches/source/vim/patches/7.4.171.gz +-rw-r--r-- 1 root root 2535 2014-02-11 15:25 ./patches/source/vim/patches/7.4.172.gz +-rw-r--r-- 1 root root 1119 2014-02-11 15:48 ./patches/source/vim/patches/7.4.173.gz +-rw-r--r-- 1 root root 1150 2014-02-11 16:01 ./patches/source/vim/patches/7.4.174.gz +-rw-r--r-- 1 root root 1509 2014-02-11 17:07 ./patches/source/vim/patches/7.4.175.gz +-rw-r--r-- 1 root root 1129 2014-02-11 18:48 ./patches/source/vim/patches/7.4.176.gz +-rw-r--r-- 1 root root 832 2014-02-11 18:58 ./patches/source/vim/patches/7.4.177.gz +-rw-r--r-- 1 root root 992 2014-02-11 19:34 ./patches/source/vim/patches/7.4.178.gz +-rw-r--r-- 1 root root 909 2014-02-12 22:09 ./patches/source/vim/patches/7.4.179.gz +-rw-r--r-- 1 root root 1089 2014-02-15 16:00 ./patches/source/vim/patches/7.4.180.gz +-rw-r--r-- 1 root root 1050 2014-02-15 16:18 ./patches/source/vim/patches/7.4.181.gz +-rw-r--r-- 1 root root 898 2014-02-15 17:19 ./patches/source/vim/patches/7.4.182.gz +-rw-r--r-- 1 root root 832 2014-02-21 03:19 ./patches/source/vim/patches/7.4.183.gz +-rw-r--r-- 1 root root 2141 2014-02-22 22:19 ./patches/source/vim/patches/7.4.184.gz +-rw-r--r-- 1 root root 903 2014-02-22 22:28 ./patches/source/vim/patches/7.4.185.gz +-rw-r--r-- 1 root root 1974 2014-02-22 23:04 ./patches/source/vim/patches/7.4.186.gz +-rw-r--r-- 1 root root 1633 2014-02-22 23:49 ./patches/source/vim/patches/7.4.187.gz +-rw-r--r-- 1 root root 4889 2014-02-23 22:53 ./patches/source/vim/patches/7.4.188.gz +-rw-r--r-- 1 root root 747 2014-02-23 22:56 ./patches/source/vim/patches/7.4.189.gz +-rw-r--r-- 1 root root 879 2014-02-23 22:58 ./patches/source/vim/patches/7.4.190.gz +-rw-r--r-- 1 root root 6461 2014-02-23 23:39 ./patches/source/vim/patches/7.4.191.gz +-rw-r--r-- 1 root root 753 2014-02-24 03:32 ./patches/source/vim/patches/7.4.192.gz +-rw-r--r-- 1 root root 1344 2014-03-08 16:15 ./patches/source/vim/patches/7.4.193.gz +-rw-r--r-- 1 root root 902 2014-03-12 14:55 ./patches/source/vim/patches/7.4.194.gz +-rw-r--r-- 1 root root 1474 2014-03-12 15:27 ./patches/source/vim/patches/7.4.195.gz +-rw-r--r-- 1 root root 808 2014-03-12 15:51 ./patches/source/vim/patches/7.4.196.gz +-rw-r--r-- 1 root root 9015 2014-03-12 16:52 ./patches/source/vim/patches/7.4.197.gz +-rw-r--r-- 1 root root 1302 2014-03-12 17:09 ./patches/source/vim/patches/7.4.198.gz +-rw-r--r-- 1 root root 1344 2014-03-12 17:43 ./patches/source/vim/patches/7.4.199.gz +-rw-r--r-- 1 root root 895 2014-03-12 17:57 ./patches/source/vim/patches/7.4.200.gz +-rw-r--r-- 1 root root 2462 2014-03-12 18:57 ./patches/source/vim/patches/7.4.201.gz +-rw-r--r-- 1 root root 2484 2014-03-12 19:25 ./patches/source/vim/patches/7.4.202.gz +-rw-r--r-- 1 root root 1789 2014-03-12 19:48 ./patches/source/vim/patches/7.4.203.gz +-rw-r--r-- 1 root root 1534 2014-03-12 20:18 ./patches/source/vim/patches/7.4.204.gz +-rw-r--r-- 1 root root 1265 2014-03-12 21:29 ./patches/source/vim/patches/7.4.205.gz +-rw-r--r-- 1 root root 943 2014-03-19 12:38 ./patches/source/vim/patches/7.4.206.gz +-rw-r--r-- 1 root root 1773 2014-03-19 14:03 ./patches/source/vim/patches/7.4.207.gz +-rw-r--r-- 1 root root 668 2014-04-10 20:25 ./patches/source/vim/patches/7.4.208.gz +-rw-r--r-- 1 root root 956 2014-03-19 17:41 ./patches/source/vim/patches/7.4.209.gz +-rw-r--r-- 1 root root 1561 2014-03-23 14:21 ./patches/source/vim/patches/7.4.210.gz +-rw-r--r-- 1 root root 998 2014-03-22 13:30 ./patches/source/vim/patches/7.4.211.gz +-rw-r--r-- 1 root root 33389 2014-03-23 15:13 ./patches/source/vim/patches/7.4.212.gz +-rw-r--r-- 1 root root 2317 2014-03-23 16:05 ./patches/source/vim/patches/7.4.213.gz +-rw-r--r-- 1 root root 897 2014-03-24 19:44 ./patches/source/vim/patches/7.4.214.gz +-rw-r--r-- 1 root root 1529 2014-03-25 13:05 ./patches/source/vim/patches/7.4.215.gz +-rw-r--r-- 1 root root 925 2014-03-25 13:47 ./patches/source/vim/patches/7.4.216.gz +-rw-r--r-- 1 root root 1353 2014-03-25 15:35 ./patches/source/vim/patches/7.4.217.gz +-rw-r--r-- 1 root root 5601 2014-03-25 18:25 ./patches/source/vim/patches/7.4.218.gz +-rw-r--r-- 1 root root 1238 2014-03-27 12:13 ./patches/source/vim/patches/7.4.219.gz +-rw-r--r-- 1 root root 1136 2014-03-27 12:40 ./patches/source/vim/patches/7.4.220.gz +-rw-r--r-- 1 root root 971 2014-03-27 17:05 ./patches/source/vim/patches/7.4.221.gz +-rw-r--r-- 1 root root 1264 2014-03-27 17:19 ./patches/source/vim/patches/7.4.222.gz +-rw-r--r-- 1 root root 29834 2014-03-27 17:42 ./patches/source/vim/patches/7.4.223.gz +-rw-r--r-- 1 root root 2262 2014-03-27 18:51 ./patches/source/vim/patches/7.4.224.gz +-rw-r--r-- 1 root root 1102 2014-03-27 19:09 ./patches/source/vim/patches/7.4.225.gz +-rw-r--r-- 1 root root 1501 2014-03-28 21:50 ./patches/source/vim/patches/7.4.226.gz +-rw-r--r-- 1 root root 1107 2014-03-28 21:59 ./patches/source/vim/patches/7.4.227.gz +-rw-r--r-- 1 root root 1684 2014-03-30 16:12 ./patches/source/vim/patches/7.4.228.gz +-rw-r--r-- 1 root root 1545 2014-03-30 16:50 ./patches/source/vim/patches/7.4.229.gz +-rw-r--r-- 1 root root 860 2014-04-01 12:27 ./patches/source/vim/patches/7.4.230.gz +-rw-r--r-- 1 root root 2284 2014-04-01 14:09 ./patches/source/vim/patches/7.4.231.gz +-rw-r--r-- 1 root root 1584 2014-04-01 17:50 ./patches/source/vim/patches/7.4.232.gz +-rw-r--r-- 1 root root 1017 2014-04-01 18:56 ./patches/source/vim/patches/7.4.233.gz +-rw-r--r-- 1 root root 1447 2014-04-01 19:56 ./patches/source/vim/patches/7.4.234.gz +-rw-r--r-- 1 root root 4314 2014-04-01 21:02 ./patches/source/vim/patches/7.4.235.gz +-rw-r--r-- 1 root root 1972 2014-04-01 22:09 ./patches/source/vim/patches/7.4.236.gz +-rw-r--r-- 1 root root 1650 2014-04-02 12:14 ./patches/source/vim/patches/7.4.237.gz +-rw-r--r-- 1 root root 4252 2014-04-02 14:06 ./patches/source/vim/patches/7.4.238.gz +-rw-r--r-- 1 root root 881 2014-04-02 14:22 ./patches/source/vim/patches/7.4.239.gz +-rw-r--r-- 1 root root 874 2014-04-02 17:19 ./patches/source/vim/patches/7.4.240.gz +-rw-r--r-- 1 root root 3821 2014-04-02 19:02 ./patches/source/vim/patches/7.4.241.gz +-rw-r--r-- 1 root root 4381 2014-04-02 19:56 ./patches/source/vim/patches/7.4.242.gz +-rw-r--r-- 1 root root 7871 2014-04-02 22:18 ./patches/source/vim/patches/7.4.243.gz +-rw-r--r-- 1 root root 929 2014-04-02 23:10 ./patches/source/vim/patches/7.4.244.gz +-rw-r--r-- 1 root root 882 2014-04-04 20:07 ./patches/source/vim/patches/7.4.245.gz +-rw-r--r-- 1 root root 1372 2014-04-05 12:04 ./patches/source/vim/patches/7.4.246.gz +-rw-r--r-- 1 root root 2205 2014-04-05 18:56 ./patches/source/vim/patches/7.4.247.gz +-rw-r--r-- 1 root root 3994 2014-04-05 19:46 ./patches/source/vim/patches/7.4.248.gz +-rw-r--r-- 1 root root 1996 2014-04-05 21:29 ./patches/source/vim/patches/7.4.249.gz +-rw-r--r-- 1 root root 801 2014-04-05 22:00 ./patches/source/vim/patches/7.4.250.gz +-rw-r--r-- 1 root root 1855 2014-04-06 20:46 ./patches/source/vim/patches/7.4.251.gz +-rw-r--r-- 1 root root 794 2014-04-06 21:09 ./patches/source/vim/patches/7.4.252.gz +-rw-r--r-- 1 root root 1002 2014-04-06 21:38 ./patches/source/vim/patches/7.4.253.gz +-rw-r--r-- 1 root root 1638 2014-04-10 11:11 ./patches/source/vim/patches/7.4.254.gz +-rw-r--r-- 1 root root 1197 2014-04-10 20:25 ./patches/source/vim/patches/7.4.255.gz +-rw-r--r-- 1 root root 1118 2014-04-11 10:25 ./patches/source/vim/patches/7.4.256.gz +-rw-r--r-- 1 root root 921 2014-04-12 12:28 ./patches/source/vim/patches/7.4.257.gz +-rw-r--r-- 1 root root 1466 2014-04-12 13:15 ./patches/source/vim/patches/7.4.258.gz +-rw-r--r-- 1 root root 797 2014-04-23 12:53 ./patches/source/vim/patches/7.4.259.gz +-rw-r--r-- 1 root root 3008 2014-04-23 17:45 ./patches/source/vim/patches/7.4.260.gz +-rw-r--r-- 1 root root 1336 2014-04-23 18:49 ./patches/source/vim/patches/7.4.261.gz +-rw-r--r-- 1 root root 2125 2014-04-23 19:07 ./patches/source/vim/patches/7.4.262.gz +-rw-r--r-- 1 root root 739 2014-04-23 19:45 ./patches/source/vim/patches/7.4.263.gz +-rw-r--r-- 1 root root 1868 2014-04-23 20:44 ./patches/source/vim/patches/7.4.264.gz +-rw-r--r-- 1 root root 1542 2014-04-24 17:13 ./patches/source/vim/patches/7.4.265.gz +-rw-r--r-- 1 root root 759 2014-04-29 11:56 ./patches/source/vim/patches/7.4.266.gz +-rw-r--r-- 1 root root 3641 2014-04-29 12:16 ./patches/source/vim/patches/7.4.267.gz +-rw-r--r-- 1 root root 1411 2014-04-29 14:03 ./patches/source/vim/patches/7.4.268.gz +-rw-r--r-- 1 root root 1905 2014-04-29 14:46 ./patches/source/vim/patches/7.4.269.gz +-rw-r--r-- 1 root root 949 2014-04-29 15:12 ./patches/source/vim/patches/7.4.270.gz +-rw-r--r-- 1 root root 747 2014-04-29 15:56 ./patches/source/vim/patches/7.4.271.gz +-rw-r--r-- 1 root root 1626 2014-04-29 17:42 ./patches/source/vim/patches/7.4.272.gz +-rw-r--r-- 1 root root 938 2014-04-29 20:05 ./patches/source/vim/patches/7.4.273.gz +-rw-r--r-- 1 root root 853 2014-05-02 15:48 ./patches/source/vim/patches/7.4.274.gz +-rw-r--r-- 1 root root 889 2014-05-07 14:39 ./patches/source/vim/patches/7.4.275.gz +-rw-r--r-- 1 root root 2795 2014-05-07 15:10 ./patches/source/vim/patches/7.4.276.gz +-rw-r--r-- 1 root root 1128 2014-05-07 16:35 ./patches/source/vim/patches/7.4.277.gz +-rw-r--r-- 1 root root 1681 2014-05-07 17:32 ./patches/source/vim/patches/7.4.278.gz +-rw-r--r-- 1 root root 5126 2014-05-07 18:36 ./patches/source/vim/patches/7.4.279.gz +-rw-r--r-- 1 root root 1355 2014-05-07 20:26 ./patches/source/vim/patches/7.4.280.gz +-rw-r--r-- 1 root root 1264 2014-05-07 21:16 ./patches/source/vim/patches/7.4.281.gz +-rw-r--r-- 1 root root 810 2014-05-08 11:48 ./patches/source/vim/patches/7.4.282.gz +-rw-r--r-- 1 root root 866 2014-05-09 20:33 ./patches/source/vim/patches/7.4.283.gz +-rw-r--r-- 1 root root 884 2014-05-13 12:18 ./patches/source/vim/patches/7.4.284.gz +-rw-r--r-- 1 root root 887 2014-05-13 12:46 ./patches/source/vim/patches/7.4.285.gz +-rw-r--r-- 1 root root 795 2014-05-13 13:47 ./patches/source/vim/patches/7.4.286.gz +-rw-r--r-- 1 root root 783 2014-05-13 13:53 ./patches/source/vim/patches/7.4.287.gz +-rw-r--r-- 1 root root 811 2014-05-13 14:04 ./patches/source/vim/patches/7.4.288.gz +-rw-r--r-- 1 root root 1486 2014-05-13 15:57 ./patches/source/vim/patches/7.4.289.gz +-rw-r--r-- 1 root root 1734 2014-05-13 16:45 ./patches/source/vim/patches/7.4.290.gz +-rw-r--r-- 1 root root 852 2014-05-13 16:47 ./patches/source/vim/patches/7.4.291.gz +-rw-r--r-- 1 root root 1531 2014-05-13 18:04 ./patches/source/vim/patches/7.4.292.gz +-rw-r--r-- 1 root root 3142 2014-05-13 19:38 ./patches/source/vim/patches/7.4.293.gz +-rw-r--r-- 1 root root 1277 2014-05-13 20:16 ./patches/source/vim/patches/7.4.294.gz +-rw-r--r-- 1 root root 1939 2014-05-13 20:20 ./patches/source/vim/patches/7.4.295.gz +-rw-r--r-- 1 root root 952 2014-05-22 13:13 ./patches/source/vim/patches/7.4.296.gz +-rw-r--r-- 1 root root 1110 2014-05-22 14:00 ./patches/source/vim/patches/7.4.297.gz +-rw-r--r-- 1 root root 846 2014-05-22 14:20 ./patches/source/vim/patches/7.4.298.gz +-rw-r--r-- 1 root root 2643 2014-05-22 14:45 ./patches/source/vim/patches/7.4.299.gz +-rw-r--r-- 1 root root 1012 2014-05-22 14:55 ./patches/source/vim/patches/7.4.300.gz +-rw-r--r-- 1 root root 861 2014-05-22 15:18 ./patches/source/vim/patches/7.4.301.gz +-rw-r--r-- 1 root root 1037 2014-05-22 15:52 ./patches/source/vim/patches/7.4.302.gz +-rw-r--r-- 1 root root 1046 2014-05-22 16:06 ./patches/source/vim/patches/7.4.303.gz +-rw-r--r-- 1 root root 881 2014-05-22 16:29 ./patches/source/vim/patches/7.4.304.gz +-rw-r--r-- 1 root root 2653 2014-05-22 18:25 ./patches/source/vim/patches/7.4.305.gz +-rw-r--r-- 1 root root 1081 2014-05-22 19:00 ./patches/source/vim/patches/7.4.306.gz +-rw-r--r-- 1 root root 1370 2014-05-22 21:23 ./patches/source/vim/patches/7.4.307.gz +-rw-r--r-- 1 root root 807 2014-05-28 11:37 ./patches/source/vim/patches/7.4.308.gz +-rw-r--r-- 1 root root 910 2014-05-28 13:44 ./patches/source/vim/patches/7.4.309.gz +-rw-r--r-- 1 root root 3437 2014-05-28 16:48 ./patches/source/vim/patches/7.4.310.gz +-rw-r--r-- 1 root root 1576 2014-05-28 16:48 ./patches/source/vim/patches/7.4.311.gz +-rw-r--r-- 1 root root 2405 2014-05-28 18:24 ./patches/source/vim/patches/7.4.312.gz +-rw-r--r-- 1 root root 3158 2014-05-28 20:32 ./patches/source/vim/patches/7.4.313.gz +-rw-r--r-- 1 root root 2066 2014-05-28 21:41 ./patches/source/vim/patches/7.4.314.gz +-rw-r--r-- 1 root root 1807 2014-05-29 11:48 ./patches/source/vim/patches/7.4.315.gz +-rw-r--r-- 1 root root 803 2014-05-29 14:37 ./patches/source/vim/patches/7.4.316.gz +-rw-r--r-- 1 root root 775 2014-06-12 11:50 ./patches/source/vim/patches/7.4.317.gz +-rw-r--r-- 1 root root 860 2014-06-12 12:22 ./patches/source/vim/patches/7.4.318.gz +-rw-r--r-- 1 root root 899 2014-06-12 13:29 ./patches/source/vim/patches/7.4.319.gz +-rw-r--r-- 1 root root 1629 2014-06-12 14:02 ./patches/source/vim/patches/7.4.320.gz +-rw-r--r-- 1 root root 1034 2014-06-12 16:04 ./patches/source/vim/patches/7.4.321.gz +-rw-r--r-- 1 root root 1428 2014-06-12 18:03 ./patches/source/vim/patches/7.4.322.gz +-rw-r--r-- 1 root root 1333 2014-06-12 18:39 ./patches/source/vim/patches/7.4.323.gz +-rw-r--r-- 1 root root 1774 2014-06-12 19:45 ./patches/source/vim/patches/7.4.324.gz +-rw-r--r-- 1 root root 1050 2014-06-13 20:10 ./patches/source/vim/patches/7.4.325.gz +-rw-r--r-- 1 root root 753 2014-06-14 12:55 ./patches/source/vim/patches/7.4.326.gz +-rw-r--r-- 1 root root 1832 2014-06-17 12:52 ./patches/source/vim/patches/7.4.327.gz +-rw-r--r-- 1 root root 1110 2014-06-17 13:50 ./patches/source/vim/patches/7.4.328.gz +-rw-r--r-- 1 root root 1044 2014-06-17 13:54 ./patches/source/vim/patches/7.4.329.gz +-rw-r--r-- 1 root root 8793 2014-06-17 17:50 ./patches/source/vim/patches/7.4.330.gz +-rw-r--r-- 1 root root 875 2014-06-17 18:48 ./patches/source/vim/patches/7.4.331.gz +-rw-r--r-- 1 root root 1642 2014-06-17 18:48 ./patches/source/vim/patches/7.4.332.gz +-rw-r--r-- 1 root root 947 2014-06-17 23:18 ./patches/source/vim/patches/7.4.333.gz +-rw-r--r-- 1 root root 1309 2014-06-18 21:20 ./patches/source/vim/patches/7.4.334.gz +-rw-r--r-- 1 root root 1570 2014-06-22 12:32 ./patches/source/vim/patches/7.4.335.gz +-rw-r--r-- 1 root root 1436 2014-06-25 11:50 ./patches/source/vim/patches/7.4.336.gz +-rw-r--r-- 1 root root 884 2014-06-25 12:27 ./patches/source/vim/patches/7.4.337.gz +-rw-r--r-- 1 root root 12588 2014-06-26 21:22 ./patches/source/vim/patches/7.4.338.gz +-rw-r--r-- 1 root root 1127 2014-06-25 14:44 ./patches/source/vim/patches/7.4.339.gz +-rw-r--r-- 1 root root 1118 2014-06-25 15:02 ./patches/source/vim/patches/7.4.340.gz +-rw-r--r-- 1 root root 2165 2014-06-25 17:31 ./patches/source/vim/patches/7.4.341.gz +-rw-r--r-- 1 root root 974 2014-06-25 17:45 ./patches/source/vim/patches/7.4.342.gz +-rw-r--r-- 1 root root 926 2014-06-25 17:58 ./patches/source/vim/patches/7.4.343.gz +-rw-r--r-- 1 root root 1897 2014-06-25 18:15 ./patches/source/vim/patches/7.4.344.gz +-rw-r--r-- 1 root root 1120 2014-06-25 22:56 ./patches/source/vim/patches/7.4.345.gz +-rw-r--r-- 1 root root 901 2014-06-26 21:25 ./patches/source/vim/patches/7.4.346.gz +-rw-r--r-- 1 root root 1025 2014-06-26 22:34 ./patches/source/vim/patches/7.4.347.gz +-rw-r--r-- 1 root root 848 2014-07-02 17:03 ./patches/source/vim/patches/7.4.348.gz +-rw-r--r-- 1 root root 1133 2014-07-02 17:21 ./patches/source/vim/patches/7.4.349.gz +-rw-r--r-- 1 root root 1618 2014-07-02 18:28 ./patches/source/vim/patches/7.4.350.gz +-rw-r--r-- 1 root root 1869 2014-07-02 19:06 ./patches/source/vim/patches/7.4.351.gz +-rw-r--r-- 1 root root 1122 2014-07-02 19:38 ./patches/source/vim/patches/7.4.352.gz +-rw-r--r-- 1 root root 4380 2014-07-09 19:14 ./patches/source/vim/patches/7.4.353.gz +-rw-r--r-- 1 root root 953 2014-07-03 22:58 ./patches/source/vim/patches/7.4.354.gz +-rw-r--r-- 1 root root 5414 2014-07-03 22:58 ./patches/source/vim/patches/7.4.355.gz +-rw-r--r-- 1 root root 740 2014-07-22 14:22 ./patches/source/vim/patches/7.4.356.gz +-rw-r--r-- 1 root root 828 2014-07-09 14:01 ./patches/source/vim/patches/7.4.357.gz +-rw-r--r-- 1 root root 2329 2014-07-09 17:54 ./patches/source/vim/patches/7.4.358.gz +-rw-r--r-- 1 root root 1314 2014-07-09 19:14 ./patches/source/vim/patches/7.4.359.gz +-rw-r--r-- 1 root root 1060 2014-07-09 19:33 ./patches/source/vim/patches/7.4.360.gz +-rw-r--r-- 1 root root 805 2014-07-09 19:59 ./patches/source/vim/patches/7.4.361.gz +-rw-r--r-- 1 root root 804 2014-07-09 20:22 ./patches/source/vim/patches/7.4.362.gz +-rw-r--r-- 1 root root 1911 2014-07-09 20:51 ./patches/source/vim/patches/7.4.363.gz +-rw-r--r-- 1 root root 1185 2014-07-09 21:19 ./patches/source/vim/patches/7.4.364.gz +-rw-r--r-- 1 root root 1358 2014-07-16 14:17 ./patches/source/vim/patches/7.4.365.gz +-rw-r--r-- 1 root root 802 2014-07-16 14:21 ./patches/source/vim/patches/7.4.366.gz +-rw-r--r-- 1 root root 1099 2014-07-16 14:44 ./patches/source/vim/patches/7.4.367.gz +-rw-r--r-- 1 root root 1285 2014-07-16 15:19 ./patches/source/vim/patches/7.4.368.gz +-rw-r--r-- 1 root root 1135 2014-07-16 17:02 ./patches/source/vim/patches/7.4.369.gz +-rw-r--r-- 1 root root 2261 2014-07-16 17:02 ./patches/source/vim/patches/7.4.370.gz +-rw-r--r-- 1 root root 1120 2014-07-16 17:30 ./patches/source/vim/patches/7.4.371.gz +-rw-r--r-- 1 root root 1556 2014-07-16 18:20 ./patches/source/vim/patches/7.4.372.gz +-rw-r--r-- 1 root root 1184 2014-07-16 23:41 ./patches/source/vim/patches/7.4.373.gz +-rw-r--r-- 1 root root 1181 2014-07-23 12:32 ./patches/source/vim/patches/7.4.374.gz +-rw-r--r-- 1 root root 925 2014-07-23 13:17 ./patches/source/vim/patches/7.4.375.gz +-rw-r--r-- 1 root root 967 2014-07-23 13:51 ./patches/source/vim/patches/7.4.376.gz +-rw-r--r-- 1 root root 1345 2014-07-23 15:22 ./patches/source/vim/patches/7.4.377.gz +-rw-r--r-- 1 root root 2887 2014-07-23 15:55 ./patches/source/vim/patches/7.4.378.gz +-rw-r--r-- 1 root root 723 2014-07-23 16:33 ./patches/source/vim/patches/7.4.379.gz +-rw-r--r-- 1 root root 1450 2014-07-23 16:57 ./patches/source/vim/patches/7.4.380.gz +-rw-r--r-- 1 root root 758 2014-07-23 17:40 ./patches/source/vim/patches/7.4.381.gz +-rw-r--r-- 1 root root 1067 2014-07-23 20:41 ./patches/source/vim/patches/7.4.382.gz +-rw-r--r-- 1 root root 980 2014-07-23 21:11 ./patches/source/vim/patches/7.4.383.gz +-rw-r--r-- 1 root root 869 2014-07-30 13:21 ./patches/source/vim/patches/7.4.384.gz +-rw-r--r-- 1 root root 1022 2014-07-30 13:23 ./patches/source/vim/patches/7.4.385.gz +-rw-r--r-- 1 root root 1765 2014-07-30 14:05 ./patches/source/vim/patches/7.4.386.gz +-rw-r--r-- 1 root root 1954 2014-07-30 16:02 ./patches/source/vim/patches/7.4.387.gz +-rw-r--r-- 1 root root 1297 2014-07-30 16:45 ./patches/source/vim/patches/7.4.388.gz +-rw-r--r-- 1 root root 4258 2014-07-30 17:22 ./patches/source/vim/patches/7.4.389.gz +-rw-r--r-- 1 root root 738 2014-08-06 12:50 ./patches/source/vim/patches/7.4.390.gz +-rw-r--r-- 1 root root 1303 2014-08-06 13:21 ./patches/source/vim/patches/7.4.391.gz +-rw-r--r-- 1 root root 1128 2014-08-06 13:37 ./patches/source/vim/patches/7.4.392.gz +-rw-r--r-- 1 root root 14357 2014-08-06 14:52 ./patches/source/vim/patches/7.4.393.gz +-rw-r--r-- 1 root root 945 2014-08-06 16:50 ./patches/source/vim/patches/7.4.394.gz +-rw-r--r-- 1 root root 1190 2014-08-06 17:44 ./patches/source/vim/patches/7.4.395.gz +-rw-r--r-- 1 root root 2851 2014-08-06 18:17 ./patches/source/vim/patches/7.4.396.gz +-rw-r--r-- 1 root root 1917 2014-08-06 19:09 ./patches/source/vim/patches/7.4.397.gz +-rw-r--r-- 1 root root 772 2014-08-07 13:56 ./patches/source/vim/patches/7.4.398.gz +-rw-r--r-- 1 root root 31476 2014-08-27 21:00 ./patches/source/vim/patches/7.4.399.gz +-rw-r--r-- 1 root root 839 2006-07-21 04:09 ./patches/source/vim/slack-desc.vim +-rw-r--r-- 1 root root 964 2006-07-21 06:24 ./patches/source/vim/slack-desc.vim-gvim +-rw-r--r-- 1 root root 7531452 2013-08-10 12:28 ./patches/source/vim/vim-7.4.tar.xz +-rwxr-xr-x 1 root root 6727 2017-04-10 12:26 ./patches/source/vim/vim-gvim.SlackBuild +-rw-r--r-- 1 root root 53 2013-10-02 20:34 ./patches/source/vim/vim-runtime-syntax-20131002.diff.gz +-rwxr-xr-x 1 root root 7110 2017-04-10 12:26 ./patches/source/vim/vim.SlackBuild +-rw-r--r-- 1 root root 303 2009-05-28 18:19 ./patches/source/vim/vim.vimrc.diff.gz +drwxr-xr-x 2 root root 4096 2018-05-08 01:20 ./patches/source/wget +-rw-r--r-- 1 root root 264 2008-10-01 23:27 ./patches/source/wget/doinst.sh.gz +-rw-r--r-- 1 root root 853 2002-03-23 23:56 ./patches/source/wget/slack-desc +-rw-r--r-- 1 root root 2252972 2018-05-08 01:20 ./patches/source/wget/wget-1.19.5.tar.xz +-rwxr-xr-x 1 root root 3434 2018-05-08 01:21 ./patches/source/wget/wget.SlackBuild +drwxr-xr-x 5 root root 4096 2017-10-17 00:37 ./patches/source/wpa_supplicant +drwxr-xr-x 2 root root 4096 2017-10-17 00:41 ./patches/source/wpa_supplicant/2017-1 +-rw-r--r-- 1 root root 2472 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch.gz +-rw-r--r-- 1 root root 2568 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch.gz +-rw-r--r-- 1 root root 2079 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch.gz +-rw-r--r-- 1 root root 1301 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch.gz +-rw-r--r-- 1 root root 1069 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch.gz +-rw-r--r-- 1 root root 1977 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch.gz +-rw-r--r-- 1 root root 880 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch.gz +-rw-r--r-- 1 root root 1374 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch.gz +-rw-r--r-- 1 root root 11037 2017-10-16 09:17 ./patches/source/wpa_supplicant/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt +-rw-r--r-- 1 root root 2080 2005-08-06 20:17 ./patches/source/wpa_supplicant/README.slackware +drwxr-xr-x 2 root root 4096 2012-05-06 07:28 ./patches/source/wpa_supplicant/config +-rw-r--r-- 1 root root 697 2013-05-11 19:03 ./patches/source/wpa_supplicant/config/dot.config +-rw-r--r-- 1 root root 139 2012-05-06 07:11 ./patches/source/wpa_supplicant/config/wpa_gui.desktop +-rw-r--r-- 1 root root 5124 2009-04-20 18:10 ./patches/source/wpa_supplicant/config/wpa_gui.png +-rw-r--r-- 1 root root 65 2012-05-06 07:08 ./patches/source/wpa_supplicant/config/wpa_supplicant.conf +-rw-r--r-- 1 root root 100 2012-05-06 07:05 ./patches/source/wpa_supplicant/config/wpa_supplicant.logrotate +-rw-r--r-- 1 root root 284 2012-05-06 07:31 ./patches/source/wpa_supplicant/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2017-01-05 17:31 ./patches/source/wpa_supplicant/patches +-rw-r--r-- 1 root root 747 2014-12-04 19:03 ./patches/source/wpa_supplicant/patches/assoc-timeout.diff +-rw-r--r-- 1 root root 1342 2012-05-31 00:15 ./patches/source/wpa_supplicant/patches/dbus-service-file-args.diff +-rw-r--r-- 1 root root 1432 2014-12-04 19:03 ./patches/source/wpa_supplicant/patches/flush-debug-output.diff +-rw-r--r-- 1 root root 704 2017-01-05 17:31 ./patches/source/wpa_supplicant/patches/quiet-scan-results-message.diff +-rw-r--r-- 1 root root 1067 2008-02-28 05:38 ./patches/source/wpa_supplicant/slack-desc +-rw-r--r-- 1 root root 1883252 2016-10-02 19:29 ./patches/source/wpa_supplicant/wpa_supplicant-2.6.tar.xz +-rwxr-xr-x 1 root root 6626 2017-10-17 04:31 ./patches/source/wpa_supplicant/wpa_supplicant.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xcb-proto/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/build +-rw-r--r-- 1 root root 12 2016-10-26 22:55 ./patches/source/xcb-proto/build/xcb-proto +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xcb-proto/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/doinst.sh +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xcb-proto/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xcb-proto/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xcb-proto/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/post-install +-rw-r--r-- 1 root root 155 2007-02-14 06:42 ./patches/source/xcb-proto/post-install/xcb-proto.post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/slack-desc +-rw-r--r-- 1 root root 922 2012-04-08 01:17 ./patches/source/xcb-proto/slack-desc/xcb-proto +drwxr-xr-x 3 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/src/xcb +-rw-r--r-- 1 root root 134016 2014-08-01 13:49 ./patches/source/xcb-proto/src/xcb/xcb-proto-1.11.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/xcb-proto/x11.SlackBuild +-rwxr-xr-x 1 root root 88 2016-10-26 20:21 ./patches/source/xcb-proto/xcb-proto.SlackBuild +drwxr-xr-x 10 root root 4096 2016-10-26 20:35 ./patches/source/xextproto +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xextproto/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/build +-rw-r--r-- 1 root root 12 2016-10-27 03:43 ./patches/source/xextproto/build/xextproto +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xextproto/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/doinst.sh +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xextproto/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xextproto/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xextproto/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/slack-desc +-rw-r--r-- 1 root root 810 2012-04-08 03:57 ./patches/source/xextproto/slack-desc/xextproto +drwxr-xr-x 3 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/src/proto +-rw-r--r-- 1 root root 211284 2013-12-27 18:17 ./patches/source/xextproto/src/proto/xextproto-7.3.0.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 22:12 ./patches/source/xextproto/x11.SlackBuild +-rwxr-xr-x 1 root root 90 2016-10-26 20:35 ./patches/source/xextproto/xextproto.SlackBuild +drwxr-xr-x 2 root root 4096 2017-10-25 05:11 ./patches/source/xfce4-weather-plugin +-rw-r--r-- 1 root root 840 2012-07-19 03:25 ./patches/source/xfce4-weather-plugin/slack-desc +-rw-r--r-- 1 root root 2723376 2017-10-11 20:18 ./patches/source/xfce4-weather-plugin/xfce4-weather-plugin-0.8.10.tar.xz +-rwxr-xr-x 1 root root 3405 2016-12-24 00:36 ./patches/source/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild +-rw-r--r-- 1 root root 64 2011-11-28 03:17 ./patches/source/xfce4-weather-plugin/xfce4-weather-plugin.url +drwxr-xr-x 10 root root 4096 2017-08-15 19:28 ./patches/source/xorg-server +-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/xorg-server/arch.use.flags +drwxr-xr-x 2 root root 4096 2013-04-18 22:42 ./patches/source/xorg-server/build +-rw-r--r-- 1 root root 12 2017-10-18 17:18 ./patches/source/xorg-server/build/xorg-server +drwxr-xr-x 2 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/configure +-rw-r--r-- 1 root root 1409 2012-08-23 15:58 ./patches/source/xorg-server/configure/xorg-server +drwxr-xr-x 2 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/doinst.sh +drwxr-xr-x 2 root root 4096 2009-05-30 01:47 ./patches/source/xorg-server/makepkg +-rw-r--r-- 1 root root 2198 2009-06-03 04:55 ./patches/source/xorg-server/makepkg/xorg-server +-rw-r--r-- 1 root root 3275 2012-04-08 04:56 ./patches/source/xorg-server/modularize +-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/xorg-server/noarch +-rw-r--r-- 1 root root 726 2009-06-08 22:38 ./patches/source/xorg-server/package-blacklist +drwxr-xr-x 3 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/patch +drwxr-xr-x 2 root root 4096 2017-10-18 17:39 ./patches/source/xorg-server/patch/xorg-server +-rw-r--r-- 1 root root 1196 2017-10-18 17:39 ./patches/source/xorg-server/patch/xorg-server.patch +-rw-r--r-- 1 root root 340 2012-04-14 03:01 ./patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff.gz +-rw-r--r-- 1 root root 295 2013-04-18 22:50 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-1940.diff.gz +-rw-r--r-- 1 root root 1164 2013-10-10 01:25 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz +-rw-r--r-- 1 root root 714 2017-08-15 18:48 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff.gz +-rw-r--r-- 1 root root 685 2017-08-15 18:49 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff.gz +-rw-r--r-- 1 root root 629 2017-10-17 17:49 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff.gz +-rw-r--r-- 1 root root 1161 2017-10-18 16:39 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff.gz +-rw-r--r-- 1 root root 1301 2017-10-05 18:01 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff.gz +drwxr-xr-x 2 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/post-install +-rw-r--r-- 1 root root 2241 2010-12-29 01:53 ./patches/source/xorg-server/post-install/xorg-server.post-install +drwxr-xr-x 2 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/slack-desc +-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./patches/source/xorg-server/slack-desc/xorg-server +-rw-r--r-- 1 root root 839 2009-05-30 01:47 ./patches/source/xorg-server/slack-desc/xorg-server-xephyr +-rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./patches/source/xorg-server/slack-desc/xorg-server-xnest +-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./patches/source/xorg-server/slack-desc/xorg-server-xvfb +drwxr-xr-x 3 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/src +drwxr-xr-x 2 root root 4096 2013-04-18 22:51 ./patches/source/xorg-server/src/xserver +-rw-r--r-- 1 root root 4310648 2012-08-27 05:15 ./patches/source/xorg-server/src/xserver/xorg-server-1.12.4.tar.xz +-rwxr-xr-x 1 root root 12129 2010-02-22 17:35 ./patches/source/xorg-server/x11.SlackBuild +-rwxr-xr-x 1 root root 85 2014-12-18 04:56 ./patches/source/xorg-server/xorg-server.SlackBuild +drwxr-xr-x 4 root root 4096 2013-03-28 20:36 ./patches/source/xpdf +-rw-r--r-- 1 root root 325 2010-01-11 04:59 ./patches/source/xpdf/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2013-03-31 02:58 ./patches/source/xpdf/lang +-rw-r--r-- 1 root root 1057 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-arabic-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 235 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-arabic.diff.gz +-rw-r--r-- 1 root root 907207 2011-09-02 22:29 ./patches/source/xpdf/lang/xpdf-chinese-simplified-2011-sep-02.tar.gz +-rw-r--r-- 1 root root 401 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-chinese-simplified.diff.gz +-rw-r--r-- 1 root root 913558 2011-09-02 22:29 ./patches/source/xpdf/lang/xpdf-chinese-traditional-2011-sep-02.tar.gz +-rw-r--r-- 1 root root 383 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-chinese-traditional.diff.gz +-rw-r--r-- 1 root root 1656 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-cyrillic-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 266 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-cyrillic.diff.gz +-rw-r--r-- 1 root root 1259 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-greek-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 258 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-greek.diff.gz +-rw-r--r-- 1 root root 1317 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-hebrew-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 259 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-hebrew.diff.gz +-rw-r--r-- 1 root root 1006949 2011-09-02 22:30 ./patches/source/xpdf/lang/xpdf-japanese-2011-sep-02.tar.gz +-rw-r--r-- 1 root root 738 2013-03-31 02:50 ./patches/source/xpdf/lang/xpdf-japanese.diff.gz +-rw-r--r-- 1 root root 518995 2011-09-02 22:30 ./patches/source/xpdf/lang/xpdf-korean-2011-sep-02.tar.gz +-rw-r--r-- 1 root root 330 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-korean.diff.gz +-rw-r--r-- 1 root root 1431 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-latin2-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 224 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-latin2.diff.gz +-rw-r--r-- 1 root root 1878 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-thai-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 252 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-thai.diff.gz +-rw-r--r-- 1 root root 1137 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-turkish-2011-aug-15.tar.gz +-rw-r--r-- 1 root root 239 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-turkish.diff.gz +drwxr-xr-x 2 root root 4096 2013-08-20 18:59 ./patches/source/xpdf/patches +-rw-r--r-- 1 root root 837 2013-08-20 18:59 ./patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff.gz +-rw-r--r-- 1 root root 333 2013-03-28 20:36 ./patches/source/xpdf/patches/xpdf.XPDFViewer.diff.gz +-rw-r--r-- 1 root root 610 2013-03-28 20:32 ./patches/source/xpdf/patches/xpdfrc.diff.gz +-rw-r--r-- 1 root root 643 2011-03-31 02:49 ./patches/source/xpdf/slack-desc +-rw-r--r-- 1 root root 795537 2011-08-16 21:18 ./patches/source/xpdf/xpdf-3.03.tar.gz +-rw-r--r-- 1 root root 198 2011-08-16 21:54 ./patches/source/xpdf/xpdf-3.03.tar.gz.sig +-rwxr-xr-x 1 root root 4962 2013-08-20 19:13 ./patches/source/xpdf/xpdf.SlackBuild +-rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./patches/source/xpdf/xpdf.desktop +drwxr-xr-x 10 root root 4096 2016-10-26 20:13 ./patches/source/xproto +-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xproto/arch.use.flags +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/build +-rw-r--r-- 1 root root 12 2016-10-26 22:19 ./patches/source/xproto/build/xproto +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/configure +-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xproto/configure/configure +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/doinst.sh +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/makepkg +-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xproto/modularize +-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xproto/noarch +-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xproto/package-blacklist +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/patch +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/post-install +-rw-r--r-- 1 root root 35 2010-11-05 06:10 ./patches/source/xproto/post-install/xproto.post-install +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/slack-desc +-rw-r--r-- 1 root root 776 2012-04-08 04:45 ./patches/source/xproto/slack-desc/xproto +drwxr-xr-x 3 root root 4096 2016-10-26 20:13 ./patches/source/xproto/src +drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/src/proto +-rw-r--r-- 1 root root 272496 2016-05-13 08:34 ./patches/source/xproto/src/proto/xproto-7.0.29.tar.xz +-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/xproto/x11.SlackBuild +-rwxr-xr-x 1 root root 84 2016-10-26 20:13 ./patches/source/xproto/xproto.SlackBuild +drwxr-xr-x 2 root root 4096 2017-12-24 17:59 ./patches/source/xscreensaver +-rwxr-xr-x 1 root root 611 2015-03-23 03:06 ./patches/source/xscreensaver/dump.android.osx.sources.sh +-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./patches/source/xscreensaver/setuid.c.gz +-rw-r--r-- 1 root root 930 2013-03-22 02:00 ./patches/source/xscreensaver/slack-desc +-rw-r--r-- 1 root root 4742752 2017-12-20 20:14 ./patches/source/xscreensaver/xscreensaver-5.38.tar.xz +-rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./patches/source/xscreensaver/xscreensaver-getimage-file-5.14 +-rwxr-xr-x 1 root root 4739 2016-10-28 18:51 ./patches/source/xscreensaver/xscreensaver.SlackBuild +-rw-r--r-- 1 root root 285 2009-05-15 21:22 ./patches/source/xscreensaver/xscreensaver.electricsheep.diff.gz +-rw-r--r-- 1 root root 693 2016-05-30 20:30 ./patches/source/xscreensaver/xscreensaver.no.expiration.date.diff.gz +-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./patches/source/xscreensaver/xscreensaver.setuid.diff.gz +drwxr-xr-x 18 root root 4096 2012-09-25 17:59 ./slackware64 +-rw-r--r-- 1 root root 242317 2012-09-25 17:59 ./slackware64/CHECKSUMS.md5 +-rw-r--r-- 1 root root 198 2012-09-25 17:59 ./slackware64/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 303109 2012-09-25 17:58 ./slackware64/FILE_LIST +-rw-r--r-- 1 root root 2645830 2012-09-25 17:59 ./slackware64/MANIFEST.bz2 +lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT +drwxr-xr-x 2 root root 20480 2012-09-25 17:58 ./slackware64/a +-rw-r--r-- 1 root root 327 2012-08-21 17:14 ./slackware64/a/aaa_base-14.0-x86_64-5.txt +-rw-r--r-- 1 root root 11048 2012-08-21 17:14 ./slackware64/a/aaa_base-14.0-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-08-21 17:14 ./slackware64/a/aaa_base-14.0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 568 2012-09-04 17:21 ./slackware64/a/aaa_elflibs-14.0-x86_64-4.txt +-rw-r--r-- 1 root root 4261940 2012-09-04 17:21 ./slackware64/a/aaa_elflibs-14.0-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-09-04 17:21 ./slackware64/a/aaa_elflibs-14.0-x86_64-4.txz.asc +-rw-r--r-- 1 root root 505 2011-03-07 18:02 ./slackware64/a/aaa_terminfo-5.8-x86_64-1.txt +-rw-r--r-- 1 root root 43624 2011-03-07 18:02 ./slackware64/a/aaa_terminfo-5.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-07 18:02 ./slackware64/a/aaa_terminfo-5.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2012-06-28 19:18 ./slackware64/a/acl-2.2.51-x86_64-1.txt +-rw-r--r-- 1 root root 135860 2012-06-28 19:18 ./slackware64/a/acl-2.2.51-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 19:18 ./slackware64/a/acl-2.2.51-x86_64-1.txz.asc +-rw-r--r-- 1 root root 471 2012-04-02 20:54 ./slackware64/a/acpid-2.0.16-x86_64-1.txt +-rw-r--r-- 1 root root 44940 2012-04-02 20:54 ./slackware64/a/acpid-2.0.16-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-02 20:54 ./slackware64/a/acpid-2.0.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 554 2011-04-11 06:20 ./slackware64/a/apmd-3.2.2-x86_64-3.txt +-rw-r--r-- 1 root root 54944 2011-04-11 06:20 ./slackware64/a/apmd-3.2.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-04-11 06:20 ./slackware64/a/apmd-3.2.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 608 2012-06-28 19:16 ./slackware64/a/attr-2.4.46-x86_64-1.txt +-rw-r--r-- 1 root root 73188 2012-06-28 19:16 ./slackware64/a/attr-2.4.46-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 19:16 ./slackware64/a/attr-2.4.46-x86_64-1.txz.asc +-rw-r--r-- 1 root root 510 2012-08-10 22:09 ./slackware64/a/bash-4.2.037-x86_64-1.txt +-rw-r--r-- 1 root root 1043552 2012-08-10 22:09 ./slackware64/a/bash-4.2.037-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-10 22:09 ./slackware64/a/bash-4.2.037-x86_64-1.txz.asc +-rw-r--r-- 1 root root 227 2008-09-21 22:01 ./slackware64/a/bin-11.1-x86_64-1.txt +-rw-r--r-- 1 root root 44196 2008-09-21 22:01 ./slackware64/a/bin-11.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-21 22:01 ./slackware64/a/bin-11.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 490 2012-08-21 17:29 ./slackware64/a/btrfs-progs-20120821-x86_64-1.txt +-rw-r--r-- 1 root root 243836 2012-08-21 17:29 ./slackware64/a/btrfs-progs-20120821-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-21 17:29 ./slackware64/a/btrfs-progs-20120821-x86_64-1.txz.asc +-rw-r--r-- 1 root root 478 2010-09-20 17:35 ./slackware64/a/bzip2-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 127592 2010-09-20 17:35 ./slackware64/a/bzip2-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-09-20 17:35 ./slackware64/a/bzip2-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 525 2012-09-04 16:40 ./slackware64/a/coreutils-8.19-x86_64-1.txt +-rw-r--r-- 1 root root 2178308 2012-09-04 16:40 ./slackware64/a/coreutils-8.19-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-04 16:40 ./slackware64/a/coreutils-8.19-x86_64-1.txz.asc +-rw-r--r-- 1 root root 487 2012-08-30 17:43 ./slackware64/a/cpio-2.11-x86_64-2.txt +-rw-r--r-- 1 root root 182520 2012-08-30 17:43 ./slackware64/a/cpio-2.11-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-30 17:43 ./slackware64/a/cpio-2.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 620 2011-02-25 20:06 ./slackware64/a/cpufrequtils-008-x86_64-1.txt +-rw-r--r-- 1 root root 35440 2011-02-25 20:06 ./slackware64/a/cpufrequtils-008-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-25 20:06 ./slackware64/a/cpufrequtils-008-x86_64-1.txz.asc +-rw-r--r-- 1 root root 582 2012-07-06 02:59 ./slackware64/a/cryptsetup-1.4.3-x86_64-1.txt +-rw-r--r-- 1 root root 161912 2012-07-06 02:59 ./slackware64/a/cryptsetup-1.4.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 02:59 ./slackware64/a/cryptsetup-1.4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 644 2012-08-07 19:35 ./slackware64/a/cups-1.5.4-x86_64-2.txt +-rw-r--r-- 1 root root 1935912 2012-08-07 19:35 ./slackware64/a/cups-1.5.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:35 ./slackware64/a/cups-1.5.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 280 2012-07-13 17:33 ./slackware64/a/cxxlibs-6.0.17-x86_64-1.txt +-rw-r--r-- 1 root root 871552 2012-07-13 17:33 ./slackware64/a/cxxlibs-6.0.17-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-13 17:33 ./slackware64/a/cxxlibs-6.0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 491 2012-08-29 17:42 ./slackware64/a/dbus-1.4.20-x86_64-3.txt +-rw-r--r-- 1 root root 453024 2012-08-29 17:42 ./slackware64/a/dbus-1.4.20-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-29 17:42 ./slackware64/a/dbus-1.4.20-x86_64-3.txz.asc +-rw-r--r-- 1 root root 359 2012-09-07 20:20 ./slackware64/a/dcron-4.5-x86_64-4.txt +-rw-r--r-- 1 root root 34024 2012-09-07 20:20 ./slackware64/a/dcron-4.5-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-09-07 20:20 ./slackware64/a/dcron-4.5-x86_64-4.txz.asc +-rw-r--r-- 1 root root 311 2008-09-25 21:53 ./slackware64/a/devs-2.3.1-noarch-25.txt +-rw-r--r-- 1 root root 98596 2008-09-25 21:53 ./slackware64/a/devs-2.3.1-noarch-25.txz +-rw-r--r-- 1 root root 197 2008-09-25 21:53 ./slackware64/a/devs-2.3.1-noarch-25.txz.asc +-rw-r--r-- 1 root root 513 2011-04-04 05:42 ./slackware64/a/dialog-1.1_20100428-x86_64-2.txt +-rw-r--r-- 1 root root 131812 2011-04-04 05:42 ./slackware64/a/dialog-1.1_20100428-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-04-04 05:42 ./slackware64/a/dialog-1.1_20100428-x86_64-2.txz.asc +-rw-r--r-- 1 root root 281 2011-04-07 23:14 ./slackware64/a/dosfstools-3.0.11-x86_64-2.txt +-rw-r--r-- 1 root root 65160 2011-04-07 23:14 ./slackware64/a/dosfstools-3.0.11-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-04-07 23:14 ./slackware64/a/dosfstools-3.0.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 343 2012-09-24 18:39 ./slackware64/a/e2fsprogs-1.42.6-x86_64-1.txt +-rw-r--r-- 1 root root 804688 2012-09-24 18:39 ./slackware64/a/e2fsprogs-1.42.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-24 18:39 ./slackware64/a/e2fsprogs-1.42.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 352 2012-07-24 20:12 ./slackware64/a/ed-1.6-x86_64-1.txt +-rw-r--r-- 1 root root 58488 2012-07-24 20:12 ./slackware64/a/ed-1.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-24 20:12 ./slackware64/a/ed-1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 430 2012-09-04 17:46 ./slackware64/a/eject-2.1.5-x86_64-3.txt +-rw-r--r-- 1 root root 34756 2012-09-04 17:46 ./slackware64/a/eject-2.1.5-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-09-04 17:46 ./slackware64/a/eject-2.1.5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 389 2008-09-23 19:35 ./slackware64/a/elvis-2.2_0-x86_64-2.txt +-rw-r--r-- 1 root root 699236 2008-09-23 19:35 ./slackware64/a/elvis-2.2_0-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-09-23 19:35 ./slackware64/a/elvis-2.2_0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 203 2012-09-04 17:43 ./slackware64/a/etc-14.0-x86_64-1.txt +-rw-r--r-- 1 root root 206956 2012-09-04 17:43 ./slackware64/a/etc-14.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-04 17:43 ./slackware64/a/etc-14.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 272 2012-06-28 17:43 ./slackware64/a/file-5.11-x86_64-1.txt +-rw-r--r-- 1 root root 221932 2012-06-28 17:43 ./slackware64/a/file-5.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 17:43 ./slackware64/a/file-5.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 368 2009-06-13 00:03 ./slackware64/a/findutils-4.4.2-x86_64-1.txt +-rw-r--r-- 1 root root 414500 2009-06-13 00:03 ./slackware64/a/findutils-4.4.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-06-13 00:03 ./slackware64/a/findutils-4.4.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 271 2008-10-23 11:06 ./slackware64/a/floppy-5.4-x86_64-3.txt +-rw-r--r-- 1 root root 350400 2008-10-23 11:06 ./slackware64/a/floppy-5.4-x86_64-3.txz +-rw-r--r-- 1 root root 197 2008-10-23 11:06 ./slackware64/a/floppy-5.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 588 2010-05-09 18:52 ./slackware64/a/gawk-3.1.8-x86_64-1.txt +-rw-r--r-- 1 root root 796264 2010-05-09 18:52 ./slackware64/a/gawk-3.1.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-09 18:52 ./slackware64/a/gawk-3.1.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 498 2008-12-13 17:25 ./slackware64/a/genpower-1.0.5-x86_64-2.txt +-rw-r--r-- 1 root root 42648 2008-12-13 17:25 ./slackware64/a/genpower-1.0.5-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-12-13 17:25 ./slackware64/a/genpower-1.0.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 279 2012-06-20 01:37 ./slackware64/a/gettext-0.18.1.1-x86_64-3.txt +-rw-r--r-- 1 root root 114476 2012-06-20 01:37 ./slackware64/a/gettext-0.18.1.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-20 01:37 ./slackware64/a/gettext-0.18.1.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 510 2008-10-02 14:18 ./slackware64/a/getty-ps-2.1.0b-x86_64-1.txt +-rw-r--r-- 1 root root 64504 2008-10-02 14:18 ./slackware64/a/getty-ps-2.1.0b-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-02 14:18 ./slackware64/a/getty-ps-2.1.0b-x86_64-1.txz.asc +-rw-r--r-- 1 root root 323 2012-09-17 20:11 ./slackware64/a/glibc-solibs-2.15-x86_64-7.txt +-rw-r--r-- 1 root root 2721260 2012-09-17 20:11 ./slackware64/a/glibc-solibs-2.15-x86_64-7.txz +-rw-r--r-- 1 root root 198 2012-09-17 20:11 ./slackware64/a/glibc-solibs-2.15-x86_64-7.txz.asc +-rw-r--r-- 1 root root 504 2012-09-17 20:10 ./slackware64/a/glibc-zoneinfo-2012f_2012f-noarch-7.txt +-rw-r--r-- 1 root root 152996 2012-09-17 20:10 ./slackware64/a/glibc-zoneinfo-2012f_2012f-noarch-7.txz +-rw-r--r-- 1 root root 198 2012-09-17 20:10 ./slackware64/a/glibc-zoneinfo-2012f_2012f-noarch-7.txz.asc +-rw-r--r-- 1 root root 511 2008-10-02 14:25 ./slackware64/a/gpm-1.20.1-x86_64-5.txt +-rw-r--r-- 1 root root 190476 2008-10-02 14:25 ./slackware64/a/gpm-1.20.1-x86_64-5.txz +-rw-r--r-- 1 root root 197 2008-10-02 14:25 ./slackware64/a/gpm-1.20.1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 568 2012-08-06 21:38 ./slackware64/a/gptfdisk-0.8.5-x86_64-2.txt +-rw-r--r-- 1 root root 166820 2012-08-06 21:38 ./slackware64/a/gptfdisk-0.8.5-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-06 21:38 ./slackware64/a/gptfdisk-0.8.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 292 2012-09-04 16:43 ./slackware64/a/grep-2.14-x86_64-1.txt +-rw-r--r-- 1 root root 300968 2012-09-04 16:43 ./slackware64/a/grep-2.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-04 16:43 ./slackware64/a/grep-2.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 315 2012-07-09 06:35 ./slackware64/a/gzip-1.5-x86_64-1.txt +-rw-r--r-- 1 root root 120472 2012-07-09 06:35 ./slackware64/a/gzip-1.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 06:35 ./slackware64/a/gzip-1.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2011-01-26 23:02 ./slackware64/a/hdparm-9.37-x86_64-1.txt +-rw-r--r-- 1 root root 63524 2011-01-26 23:02 ./slackware64/a/hdparm-9.37-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-26 23:02 ./slackware64/a/hdparm-9.37-x86_64-1.txz.asc +-rw-r--r-- 1 root root 466 2009-08-24 08:48 ./slackware64/a/infozip-6.0-x86_64-1.txt +-rw-r--r-- 1 root root 405240 2009-08-24 08:48 ./slackware64/a/infozip-6.0-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-08-24 08:48 ./slackware64/a/infozip-6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 513 2010-05-08 07:59 ./slackware64/a/inotify-tools-3.14-x86_64-1.txt +-rw-r--r-- 1 root root 43908 2010-05-08 07:59 ./slackware64/a/inotify-tools-3.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-08 07:59 ./slackware64/a/inotify-tools-3.14-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:05 ./slackware64/a/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/a/install.end +-rw-r--r-- 1 root root 539 2011-03-29 19:01 ./slackware64/a/jfsutils-1.1.15-x86_64-1.txt +-rw-r--r-- 1 root root 198368 2011-03-29 19:01 ./slackware64/a/jfsutils-1.1.15-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-29 19:01 ./slackware64/a/jfsutils-1.1.15-x86_64-1.txz.asc +-rw-r--r-- 1 root root 465 2012-08-21 17:24 ./slackware64/a/kbd-1.15.3-x86_64-2.txt +-rw-r--r-- 1 root root 1147168 2012-08-21 17:24 ./slackware64/a/kbd-1.15.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-21 17:24 ./slackware64/a/kbd-1.15.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 426 2012-08-04 18:44 ./slackware64/a/kernel-firmware-20120804git-noarch-1.txt +-rw-r--r-- 1 root root 16955604 2012-08-04 18:44 ./slackware64/a/kernel-firmware-20120804git-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-04 18:44 ./slackware64/a/kernel-firmware-20120804git-noarch-1.txz.asc +-rw-r--r-- 1 root root 626 2012-09-17 18:38 ./slackware64/a/kernel-generic-3.2.29-x86_64-1.txt +-rw-r--r-- 1 root root 3478920 2012-09-17 18:38 ./slackware64/a/kernel-generic-3.2.29-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-17 18:38 ./slackware64/a/kernel-generic-3.2.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 638 2012-09-17 19:19 ./slackware64/a/kernel-huge-3.2.29-x86_64-1.txt +-rw-r--r-- 1 root root 6692072 2012-09-17 19:19 ./slackware64/a/kernel-huge-3.2.29-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-17 19:19 ./slackware64/a/kernel-huge-3.2.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 520 2012-09-17 19:16 ./slackware64/a/kernel-modules-3.2.29-x86_64-1.txt +-rw-r--r-- 1 root root 22314536 2012-09-17 19:16 ./slackware64/a/kernel-modules-3.2.29-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-17 19:16 ./slackware64/a/kernel-modules-3.2.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 513 2012-08-09 22:28 ./slackware64/a/kmod-9-x86_64-3.txt +-rw-r--r-- 1 root root 88788 2012-08-09 22:28 ./slackware64/a/kmod-9-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-09 22:28 ./slackware64/a/kmod-9-x86_64-3.txz.asc +-rw-r--r-- 1 root root 386 2012-09-13 19:51 ./slackware64/a/less-451-x86_64-1.txt +-rw-r--r-- 1 root root 115092 2012-09-13 19:51 ./slackware64/a/less-451-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-13 19:51 ./slackware64/a/less-451-x86_64-1.txz.asc +-rw-r--r-- 1 root root 152 2008-10-02 14:54 ./slackware64/a/lha-114i-x86_64-1.txt +-rw-r--r-- 1 root root 47640 2008-10-02 14:54 ./slackware64/a/lha-114i-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-02 14:54 ./slackware64/a/lha-114i-x86_64-1.txz.asc +-rw-r--r-- 1 root root 596 2012-06-20 00:53 ./slackware64/a/libcgroup-0.38-x86_64-1.txt +-rw-r--r-- 1 root root 109076 2012-06-20 00:53 ./slackware64/a/libcgroup-0.38-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-20 00:53 ./slackware64/a/libcgroup-0.38-x86_64-1.txz.asc +-rw-r--r-- 1 root root 590 2012-08-17 23:37 ./slackware64/a/lilo-23.2-x86_64-3.txt +-rw-r--r-- 1 root root 279640 2012-08-17 23:37 ./slackware64/a/lilo-23.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-17 23:37 ./slackware64/a/lilo-23.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 533 2012-08-10 20:57 ./slackware64/a/logrotate-3.8.2-x86_64-1.txt +-rw-r--r-- 1 root root 41636 2012-08-10 20:57 ./slackware64/a/logrotate-3.8.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-10 20:57 ./slackware64/a/logrotate-3.8.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 448 2011-04-17 20:12 ./slackware64/a/lrzip-0.602-x86_64-1.txt +-rw-r--r-- 1 root root 140576 2011-04-17 20:12 ./slackware64/a/lrzip-0.602-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-04-17 20:12 ./slackware64/a/lrzip-0.602-x86_64-1.txz.asc +-rw-r--r-- 1 root root 557 2012-07-22 17:22 ./slackware64/a/lvm2-2.02.96-x86_64-4.txt +-rw-r--r-- 1 root root 777736 2012-07-22 17:22 ./slackware64/a/lvm2-2.02.96-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-07-22 17:22 ./slackware64/a/lvm2-2.02.96-x86_64-4.txz.asc +-rw-r--r-- 1 root root 8282 2012-09-17 19:32 ./slackware64/a/maketag +-rw-r--r-- 1 root root 8282 2012-09-17 19:32 ./slackware64/a/maketag.ez +-rw-r--r-- 1 root root 587 2010-09-27 22:44 ./slackware64/a/mcelog-1.0pre3-x86_64-1.txt +-rw-r--r-- 1 root root 186948 2010-09-27 22:44 ./slackware64/a/mcelog-1.0pre3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-09-27 22:44 ./slackware64/a/mcelog-1.0pre3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 472 2012-07-06 02:40 ./slackware64/a/mdadm-3.2.5-x86_64-1.txt +-rw-r--r-- 1 root root 291136 2012-07-06 02:40 ./slackware64/a/mdadm-3.2.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 02:40 ./slackware64/a/mdadm-3.2.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 323 2012-08-10 20:02 ./slackware64/a/minicom-2.6-x86_64-1.txt +-rw-r--r-- 1 root root 286144 2012-08-10 20:02 ./slackware64/a/minicom-2.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-10 20:02 ./slackware64/a/minicom-2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 529 2012-09-04 17:10 ./slackware64/a/mkinitrd-1.4.7-x86_64-6.txt +-rw-r--r-- 1 root root 588528 2012-09-04 17:10 ./slackware64/a/mkinitrd-1.4.7-x86_64-6.txz +-rw-r--r-- 1 root root 198 2012-09-04 17:10 ./slackware64/a/mkinitrd-1.4.7-x86_64-6.txz.asc +-rw-r--r-- 1 root root 487 2008-10-02 19:42 ./slackware64/a/mt-st-0.9b-x86_64-2.txt +-rw-r--r-- 1 root root 30000 2008-10-02 19:42 ./slackware64/a/mt-st-0.9b-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-10-02 19:42 ./slackware64/a/mt-st-0.9b-x86_64-2.txz.asc +-rw-r--r-- 1 root root 400 2010-07-28 03:30 ./slackware64/a/mtx-1.3.12-x86_64-1.txt +-rw-r--r-- 1 root root 64888 2010-07-28 03:30 ./slackware64/a/mtx-1.3.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 03:30 ./slackware64/a/mtx-1.3.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 560 2010-07-28 03:34 ./slackware64/a/ncompress-4.2.4.3-x86_64-1.txt +-rw-r--r-- 1 root root 16076 2010-07-28 03:34 ./slackware64/a/ncompress-4.2.4.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 03:34 ./slackware64/a/ncompress-4.2.4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 546 2012-07-16 18:44 ./slackware64/a/ntfs-3g-2012.1.15-x86_64-2.txt +-rw-r--r-- 1 root root 434172 2012-07-16 18:44 ./slackware64/a/ntfs-3g-2012.1.15-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-16 18:44 ./slackware64/a/ntfs-3g-2012.1.15-x86_64-2.txz.asc +-rw-r--r-- 1 root root 625 2012-08-08 22:51 ./slackware64/a/openssl-solibs-1.0.1c-x86_64-3.txt +-rw-r--r-- 1 root root 1248256 2012-08-08 22:51 ./slackware64/a/openssl-solibs-1.0.1c-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-08 22:51 ./slackware64/a/openssl-solibs-1.0.1c-x86_64-3.txz.asc +-rw-r--r-- 1 root root 564 2012-09-18 19:55 ./slackware64/a/patch-2.7-x86_64-2.txt +-rw-r--r-- 1 root root 99064 2012-09-18 19:55 ./slackware64/a/patch-2.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-18 19:55 ./slackware64/a/patch-2.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 436 2012-07-03 02:56 ./slackware64/a/pciutils-3.1.9-x86_64-1.txt +-rw-r--r-- 1 root root 249824 2012-07-03 02:56 ./slackware64/a/pciutils-3.1.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-03 02:56 ./slackware64/a/pciutils-3.1.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2011-02-27 21:41 ./slackware64/a/pcmciautils-017-x86_64-1.txt +-rw-r--r-- 1 root root 32108 2011-02-27 21:41 ./slackware64/a/pcmciautils-017-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-27 21:41 ./slackware64/a/pcmciautils-017-x86_64-1.txz.asc +-rw-r--r-- 1 root root 41607 2012-08-27 18:08 ./slackware64/a/pkgtools-14.0-noarch-2.tgz +-rw-r--r-- 1 root root 198 2012-08-27 18:08 ./slackware64/a/pkgtools-14.0-noarch-2.tgz.asc +-rw-r--r-- 1 root root 624 2012-08-27 18:08 ./slackware64/a/pkgtools-14.0-noarch-2.txt +-rw-r--r-- 1 root root 282 2011-03-29 18:39 ./slackware64/a/procps-3.2.8-x86_64-3.txt +-rw-r--r-- 1 root root 240532 2011-03-29 18:39 ./slackware64/a/procps-3.2.8-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-03-29 18:39 ./slackware64/a/procps-3.2.8-x86_64-3.txz.asc +-rw-r--r-- 1 root root 524 2009-06-22 20:00 ./slackware64/a/quota-3.17-x86_64-1.txt +-rw-r--r-- 1 root root 167344 2009-06-22 20:00 ./slackware64/a/quota-3.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-06-22 20:00 ./slackware64/a/quota-3.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 476 2009-03-04 20:34 ./slackware64/a/reiserfsprogs-3.6.21-x86_64-1.txt +-rw-r--r-- 1 root root 224836 2009-03-04 20:34 ./slackware64/a/reiserfsprogs-3.6.21-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-03-04 20:34 ./slackware64/a/reiserfsprogs-3.6.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 398 2010-08-07 22:48 ./slackware64/a/rpm2tgz-1.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 5492 2010-08-07 22:48 ./slackware64/a/rpm2tgz-1.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-07 22:48 ./slackware64/a/rpm2tgz-1.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 467 2012-06-28 17:58 ./slackware64/a/sdparm-1.07-x86_64-1.txt +-rw-r--r-- 1 root root 71516 2012-06-28 17:58 ./slackware64/a/sdparm-1.07-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 17:58 ./slackware64/a/sdparm-1.07-x86_64-1.txz.asc +-rw-r--r-- 1 root root 408 2009-12-06 02:15 ./slackware64/a/sed-4.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 173168 2009-12-06 02:15 ./slackware64/a/sed-4.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-12-06 02:15 ./slackware64/a/sed-4.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 536 2012-09-13 23:30 ./slackware64/a/shadow-4.1.4.3-x86_64-7.txt +-rw-r--r-- 1 root root 1214904 2012-09-13 23:30 ./slackware64/a/shadow-4.1.4.3-x86_64-7.txz +-rw-r--r-- 1 root root 198 2012-09-13 23:30 ./slackware64/a/shadow-4.1.4.3-x86_64-7.txz.asc +-rw-r--r-- 1 root root 627 2011-02-07 19:28 ./slackware64/a/sharutils-4.11-x86_64-1.txt +-rw-r--r-- 1 root root 154992 2011-02-07 19:28 ./slackware64/a/sharutils-4.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-07 19:28 ./slackware64/a/sharutils-4.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 553 2012-08-30 18:56 ./slackware64/a/slocate-3.1-x86_64-4.txt +-rw-r--r-- 1 root root 28504 2012-08-30 18:56 ./slackware64/a/slocate-3.1-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-08-30 18:56 ./slackware64/a/slocate-3.1-x86_64-4.txz.asc +-rw-r--r-- 1 root root 710 2012-08-10 19:49 ./slackware64/a/smartmontools-5.43-x86_64-1.txt +-rw-r--r-- 1 root root 296780 2012-08-10 19:49 ./slackware64/a/smartmontools-5.43-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-10 19:49 ./slackware64/a/smartmontools-5.43-x86_64-1.txz.asc +-rw-r--r-- 1 root root 285 2008-10-02 20:57 ./slackware64/a/splitvt-1.6.5-x86_64-1.txt +-rw-r--r-- 1 root root 28700 2008-10-02 20:57 ./slackware64/a/splitvt-1.6.5-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-02 20:57 ./slackware64/a/splitvt-1.6.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 544 2008-09-25 22:00 ./slackware64/a/sysfsutils-2.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 39392 2008-09-25 22:00 ./slackware64/a/sysfsutils-2.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-25 22:00 ./slackware64/a/sysfsutils-2.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 457 2010-10-20 23:03 ./slackware64/a/sysklogd-1.5-x86_64-1.txt +-rw-r--r-- 1 root root 61552 2010-10-20 23:03 ./slackware64/a/sysklogd-1.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-10-20 23:03 ./slackware64/a/sysklogd-1.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 518 2012-08-17 22:12 ./slackware64/a/syslinux-4.05-x86_64-2.txt +-rw-r--r-- 1 root root 842328 2012-08-17 22:12 ./slackware64/a/syslinux-4.05-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-17 22:12 ./slackware64/a/syslinux-4.05-x86_64-2.txz.asc +-rw-r--r-- 1 root root 513 2012-07-31 16:45 ./slackware64/a/sysvinit-2.88dsf-x86_64-2.txt +-rw-r--r-- 1 root root 76896 2012-07-31 16:45 ./slackware64/a/sysvinit-2.88dsf-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-31 16:45 ./slackware64/a/sysvinit-2.88dsf-x86_64-2.txz.asc +-rw-r--r-- 1 root root 695 2008-09-23 17:55 ./slackware64/a/sysvinit-functions-8.53-x86_64-2.txt +-rw-r--r-- 1 root root 30356 2008-09-23 17:55 ./slackware64/a/sysvinit-functions-8.53-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-09-23 17:55 ./slackware64/a/sysvinit-functions-8.53-x86_64-2.txz.asc +-rw-r--r-- 1 root root 379 2012-09-25 17:47 ./slackware64/a/sysvinit-scripts-2.0-noarch-13.txt +-rw-r--r-- 1 root root 19664 2012-09-25 17:47 ./slackware64/a/sysvinit-scripts-2.0-noarch-13.txz +-rw-r--r-- 1 root root 198 2012-09-25 17:47 ./slackware64/a/sysvinit-scripts-2.0-noarch-13.txz.asc +-rw-r--r-- 1 root root 1260 2012-09-17 19:32 ./slackware64/a/tagfile +-rw-r--r-- 1 root root 1072795 2011-04-14 18:24 ./slackware64/a/tar-1.26-x86_64-1.tgz +-rw-r--r-- 1 root root 198 2011-04-14 18:24 ./slackware64/a/tar-1.26-x86_64-1.tgz.asc +-rw-r--r-- 1 root root 380 2011-04-14 18:24 ./slackware64/a/tar-1.26-x86_64-1.txt +-rw-r--r-- 1 root root 431 2012-04-30 18:52 ./slackware64/a/tcsh-6.18.01-x86_64-1.txt +-rw-r--r-- 1 root root 289080 2012-04-30 18:52 ./slackware64/a/tcsh-6.18.01-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-30 18:52 ./slackware64/a/tcsh-6.18.01-x86_64-1.txz.asc +-rw-r--r-- 1 root root 432 2008-09-25 21:54 ./slackware64/a/time-1.7-x86_64-1.txt +-rw-r--r-- 1 root root 18340 2008-09-25 21:54 ./slackware64/a/time-1.7-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-25 21:54 ./slackware64/a/time-1.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 418 2012-05-02 17:52 ./slackware64/a/tree-1.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 43596 2012-05-02 17:52 ./slackware64/a/tree-1.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-02 17:52 ./slackware64/a/tree-1.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 369 2012-09-10 18:38 ./slackware64/a/udev-182-x86_64-5.txt +-rw-r--r-- 1 root root 326452 2012-09-10 18:38 ./slackware64/a/udev-182-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-09-10 18:38 ./slackware64/a/udev-182-x86_64-5.txz.asc +-rw-r--r-- 1 root root 413 2012-04-08 20:57 ./slackware64/a/udisks-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 175384 2012-04-08 20:57 ./slackware64/a/udisks-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:57 ./slackware64/a/udisks-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 428 2012-07-20 00:56 ./slackware64/a/udisks2-1.98.0-x86_64-1.txt +-rw-r--r-- 1 root root 380196 2012-07-20 00:56 ./slackware64/a/udisks2-1.98.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:56 ./slackware64/a/udisks2-1.98.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 392 2008-10-02 21:07 ./slackware64/a/unarj-265-x86_64-1.txt +-rw-r--r-- 1 root root 16528 2008-10-02 21:07 ./slackware64/a/unarj-265-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-02 21:07 ./slackware64/a/unarj-265-x86_64-1.txz.asc +-rw-r--r-- 1 root root 494 2012-07-10 16:51 ./slackware64/a/upower-0.9.17-x86_64-1.txt +-rw-r--r-- 1 root root 117556 2012-07-10 16:51 ./slackware64/a/upower-0.9.17-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-10 16:51 ./slackware64/a/upower-0.9.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 720 2012-08-29 17:18 ./slackware64/a/usb_modeswitch-1.2.4-x86_64-2.txt +-rw-r--r-- 1 root root 137932 2012-08-29 17:18 ./slackware64/a/usb_modeswitch-1.2.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-29 17:18 ./slackware64/a/usb_modeswitch-1.2.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 322 2012-07-12 17:25 ./slackware64/a/usbutils-006-x86_64-1.txt +-rw-r--r-- 1 root root 197228 2012-07-12 17:25 ./slackware64/a/usbutils-006-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-12 17:25 ./slackware64/a/usbutils-006-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2010-07-28 04:26 ./slackware64/a/utempter-1.1.5-x86_64-1.txt +-rw-r--r-- 1 root root 13912 2010-07-28 04:26 ./slackware64/a/utempter-1.1.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 04:26 ./slackware64/a/utempter-1.1.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 329 2012-08-14 18:42 ./slackware64/a/util-linux-2.21.2-x86_64-5.txt +-rw-r--r-- 1 root root 1476164 2012-08-14 18:42 ./slackware64/a/util-linux-2.21.2-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-08-14 18:42 ./slackware64/a/util-linux-2.21.2-x86_64-5.txz.asc +-rw-r--r-- 1 root root 582 2009-03-03 23:24 ./slackware64/a/which-2.20-x86_64-1.txt +-rw-r--r-- 1 root root 28780 2009-03-03 23:24 ./slackware64/a/which-2.20-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-03-03 23:24 ./slackware64/a/which-2.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 495 2012-06-28 19:21 ./slackware64/a/xfsprogs-3.1.8-x86_64-1.txt +-rw-r--r-- 1 root root 747896 2012-06-28 19:21 ./slackware64/a/xfsprogs-3.1.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 19:21 ./slackware64/a/xfsprogs-3.1.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 311623 2012-06-26 22:20 ./slackware64/a/xz-5.0.4-x86_64-1.tgz +-rw-r--r-- 1 root root 198 2012-06-26 22:20 ./slackware64/a/xz-5.0.4-x86_64-1.tgz.asc +-rw-r--r-- 1 root root 499 2012-06-26 22:20 ./slackware64/a/xz-5.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 542 2010-07-28 04:37 ./slackware64/a/zoo-2.10_22-x86_64-1.txt +-rw-r--r-- 1 root root 54660 2010-07-28 04:37 ./slackware64/a/zoo-2.10_22-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 04:37 ./slackware64/a/zoo-2.10_22-x86_64-1.txz.asc +drwxr-xr-x 2 root root 16384 2012-09-10 22:24 ./slackware64/ap +-rw-r--r-- 1 root root 445 2010-07-28 17:25 ./slackware64/ap/a2ps-4.14-x86_64-5.txt +-rw-r--r-- 1 root root 749532 2010-07-28 17:25 ./slackware64/ap/a2ps-4.14-x86_64-5.txz +-rw-r--r-- 1 root root 198 2010-07-28 17:25 ./slackware64/ap/a2ps-4.14-x86_64-5.txz.asc +-rw-r--r-- 1 root root 599 2010-07-28 17:40 ./slackware64/ap/acct-6.5.4-x86_64-1.txt +-rw-r--r-- 1 root root 92664 2010-07-28 17:40 ./slackware64/ap/acct-6.5.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 17:40 ./slackware64/ap/acct-6.5.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 625 2012-09-10 22:11 ./slackware64/ap/alsa-utils-1.0.26-x86_64-1.txt +-rw-r--r-- 1 root root 950240 2012-09-10 22:11 ./slackware64/ap/alsa-utils-1.0.26-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-10 22:11 ./slackware64/ap/alsa-utils-1.0.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 275 2008-10-02 22:32 ./slackware64/ap/amp-0.7.6-x86_64-1.txt +-rw-r--r-- 1 root root 44568 2008-10-02 22:32 ./slackware64/ap/amp-0.7.6-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-02 22:32 ./slackware64/ap/amp-0.7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 525 2010-04-25 21:36 ./slackware64/ap/ash-0.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 81548 2010-04-25 21:36 ./slackware64/ap/ash-0.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2010-04-25 21:36 ./slackware64/ap/ash-0.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 284 2010-07-28 17:49 ./slackware64/ap/at-3.1.12-x86_64-1.txt +-rw-r--r-- 1 root root 41428 2010-07-28 17:49 ./slackware64/ap/at-3.1.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 17:49 ./slackware64/ap/at-3.1.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 308 2010-07-28 17:54 ./slackware64/ap/aumix-2.9.1-x86_64-1.txt +-rw-r--r-- 1 root root 56316 2010-07-28 17:54 ./slackware64/ap/aumix-2.9.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 17:54 ./slackware64/ap/aumix-2.9.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 386 2009-05-23 04:18 ./slackware64/ap/bc-1.06.95-x86_64-2.txt +-rw-r--r-- 1 root root 102072 2009-05-23 04:18 ./slackware64/ap/bc-1.06.95-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 04:18 ./slackware64/ap/bc-1.06.95-x86_64-2.txz.asc +-rw-r--r-- 1 root root 335 2009-05-23 04:18 ./slackware64/ap/bpe-2.01.00-x86_64-2.txt +-rw-r--r-- 1 root root 47880 2009-05-23 04:18 ./slackware64/ap/bpe-2.01.00-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 04:18 ./slackware64/ap/bpe-2.01.00-x86_64-2.txz.asc +-rw-r--r-- 1 root root 595 2008-11-26 15:53 ./slackware64/ap/cdparanoia-III_10.2-x86_64-1.txt +-rw-r--r-- 1 root root 97840 2008-11-26 15:53 ./slackware64/ap/cdparanoia-III_10.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-11-26 15:53 ./slackware64/ap/cdparanoia-III_10.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2012-07-07 02:20 ./slackware64/ap/cdrdao-1.2.3-x86_64-2.txt +-rw-r--r-- 1 root root 281584 2012-07-07 02:20 ./slackware64/ap/cdrdao-1.2.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-07 02:20 ./slackware64/ap/cdrdao-1.2.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 409 2012-08-17 22:45 ./slackware64/ap/cdrtools-3.01a08-x86_64-1.txt +-rw-r--r-- 1 root root 850624 2012-08-17 22:45 ./slackware64/ap/cdrtools-3.01a08-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-17 22:45 ./slackware64/ap/cdrtools-3.01a08-x86_64-1.txz.asc +-rw-r--r-- 1 root root 456 2009-07-22 22:13 ./slackware64/ap/dc3dd-6.12.3-x86_64-1.txt +-rw-r--r-- 1 root root 116972 2009-07-22 22:13 ./slackware64/ap/dc3dd-6.12.3-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-07-22 22:13 ./slackware64/ap/dc3dd-6.12.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 465 2012-06-12 04:17 ./slackware64/ap/ddrescue-1.16-x86_64-1.txt +-rw-r--r-- 1 root root 72496 2012-06-12 04:17 ./slackware64/ap/ddrescue-1.16-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-12 04:17 ./slackware64/ap/ddrescue-1.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 409 2010-07-28 18:03 ./slackware64/ap/diffstat-1.53-x86_64-1.txt +-rw-r--r-- 1 root root 21836 2010-07-28 18:03 ./slackware64/ap/diffstat-1.53-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 18:03 ./slackware64/ap/diffstat-1.53-x86_64-1.txz.asc +-rw-r--r-- 1 root root 283 2012-06-28 17:52 ./slackware64/ap/diffutils-3.2-x86_64-1.txt +-rw-r--r-- 1 root root 249064 2012-06-28 17:52 ./slackware64/ap/diffutils-3.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 17:52 ./slackware64/ap/diffutils-3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2009-06-13 04:42 ./slackware64/ap/dmapi-2.2.10-x86_64-1.txt +-rw-r--r-- 1 root root 30804 2009-06-13 04:42 ./slackware64/ap/dmapi-2.2.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-06-13 04:42 ./slackware64/ap/dmapi-2.2.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 473 2011-03-19 20:29 ./slackware64/ap/dmidecode-2.11-x86_64-1.txt +-rw-r--r-- 1 root root 54820 2011-03-19 20:29 ./slackware64/ap/dmidecode-2.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-19 20:29 ./slackware64/ap/dmidecode-2.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 360 2011-04-14 18:30 ./slackware64/ap/dvd+rw-tools-7.1-x86_64-2.txt +-rw-r--r-- 1 root root 110456 2011-04-14 18:30 ./slackware64/ap/dvd+rw-tools-7.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-04-14 18:30 ./slackware64/ap/dvd+rw-tools-7.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 461 2010-07-28 18:26 ./slackware64/ap/enscript-1.6.5.2-x86_64-1.txt +-rw-r--r-- 1 root root 370380 2010-07-28 18:26 ./slackware64/ap/enscript-1.6.5.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 18:26 ./slackware64/ap/enscript-1.6.5.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 603 2011-03-09 20:08 ./slackware64/ap/flac-1.2.1-x86_64-3.txt +-rw-r--r-- 1 root root 801156 2011-03-09 20:08 ./slackware64/ap/flac-1.2.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-03-09 20:08 ./slackware64/ap/flac-1.2.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 637 2012-07-20 16:31 ./slackware64/ap/foomatic-filters-4.0.12-x86_64-1.txt +-rw-r--r-- 1 root root 80396 2012-07-20 16:31 ./slackware64/ap/foomatic-filters-4.0.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 16:31 ./slackware64/ap/foomatic-filters-4.0.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 549 2012-07-04 17:34 ./slackware64/ap/ghostscript-9.05-x86_64-3.txt +-rw-r--r-- 1 root root 10531252 2012-07-04 17:34 ./slackware64/ap/ghostscript-9.05-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:34 ./slackware64/ap/ghostscript-9.05-x86_64-3.txz.asc +-rw-r--r-- 1 root root 368 2008-10-01 19:55 ./slackware64/ap/ghostscript-fonts-std-8.11-noarch-1.txt +-rw-r--r-- 1 root root 3517036 2008-10-01 19:55 ./slackware64/ap/ghostscript-fonts-std-8.11-noarch-1.txz +-rw-r--r-- 1 root root 197 2008-10-01 19:55 ./slackware64/ap/ghostscript-fonts-std-8.11-noarch-1.txz.asc +-rw-r--r-- 1 root root 303 2012-07-08 01:18 ./slackware64/ap/gphoto2-2.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 171340 2012-07-08 01:18 ./slackware64/ap/gphoto2-2.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 01:18 ./slackware64/ap/gphoto2-2.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 431 2011-01-27 19:39 ./slackware64/ap/groff-1.21-x86_64-1.txt +-rw-r--r-- 1 root root 1883028 2011-01-27 19:39 ./slackware64/ap/groff-1.21-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-27 19:39 ./slackware64/ap/groff-1.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 549 2012-07-20 16:40 ./slackware64/ap/gutenprint-5.2.9-x86_64-1.txt +-rw-r--r-- 1 root root 2282484 2012-07-20 16:40 ./slackware64/ap/gutenprint-5.2.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 16:40 ./slackware64/ap/gutenprint-5.2.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 477 2012-09-10 02:50 ./slackware64/ap/hplip-3.12.9-x86_64-1.txt +-rw-r--r-- 1 root root 12598064 2012-09-10 02:50 ./slackware64/ap/hplip-3.12.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-10 02:50 ./slackware64/ap/hplip-3.12.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 478 2012-04-17 23:02 ./slackware64/ap/htop-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 64980 2012-04-17 23:02 ./slackware64/ap/htop-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-17 23:02 ./slackware64/ap/htop-1.0.1-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/ap/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/ap/install.end +-rw-r--r-- 1 root root 600 2009-03-16 21:02 ./slackware64/ap/ispell-3.2.06-x86_64-1.txt +-rw-r--r-- 1 root root 347684 2009-03-16 21:02 ./slackware64/ap/ispell-3.2.06-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-03-16 21:02 ./slackware64/ap/ispell-3.2.06-x86_64-1.txz.asc +-rw-r--r-- 1 root root 484 2010-02-18 23:13 ./slackware64/ap/jed-0.99_19-x86_64-1.txt +-rw-r--r-- 1 root root 527460 2010-02-18 23:13 ./slackware64/ap/jed-0.99_19-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-18 23:13 ./slackware64/ap/jed-0.99_19-x86_64-1.txz.asc +-rw-r--r-- 1 root root 145 2010-07-28 18:40 ./slackware64/ap/joe-3.7-x86_64-1.txt +-rw-r--r-- 1 root root 318084 2010-07-28 18:40 ./slackware64/ap/joe-3.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 18:40 ./slackware64/ap/joe-3.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 337 2010-07-28 18:44 ./slackware64/ap/jove-4.16.0.73-x86_64-1.txt +-rw-r--r-- 1 root root 150256 2010-07-28 18:44 ./slackware64/ap/jove-4.16.0.73-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 18:44 ./slackware64/ap/jove-4.16.0.73-x86_64-1.txz.asc +-rw-r--r-- 1 root root 540 2010-07-28 19:26 ./slackware64/ap/ksh93-2010_06_21-x86_64-1.txt +-rw-r--r-- 1 root root 764160 2010-07-28 19:26 ./slackware64/ap/ksh93-2010_06_21-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 19:26 ./slackware64/ap/ksh93-2010_06_21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 316 2008-12-12 21:14 ./slackware64/ap/libx86-1.1-x86_64-1.txt +-rw-r--r-- 1 root root 59200 2008-12-12 21:14 ./slackware64/ap/libx86-1.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-12-12 21:14 ./slackware64/ap/libx86-1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 701 2012-06-29 16:53 ./slackware64/ap/linuxdoc-tools-0.9.67-x86_64-2.txt +-rw-r--r-- 1 root root 5900432 2012-06-29 16:53 ./slackware64/ap/linuxdoc-tools-0.9.67-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-29 16:53 ./slackware64/ap/linuxdoc-tools-0.9.67-x86_64-2.txz.asc +-rw-r--r-- 1 root root 644 2012-08-03 16:48 ./slackware64/ap/lm_sensors-3.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 137456 2012-08-03 16:48 ./slackware64/ap/lm_sensors-3.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-03 16:48 ./slackware64/ap/lm_sensors-3.3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 333 2010-03-13 01:05 ./slackware64/ap/lsof-4.83-x86_64-1.txt +-rw-r--r-- 1 root root 277000 2010-03-13 01:05 ./slackware64/ap/lsof-4.83-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-03-13 01:05 ./slackware64/ap/lsof-4.83-x86_64-1.txz.asc +-rw-r--r-- 1 root root 367 2012-06-28 17:57 ./slackware64/ap/lsscsi-0.26-x86_64-1.txt +-rw-r--r-- 1 root root 34644 2012-06-28 17:57 ./slackware64/ap/lsscsi-0.26-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 17:57 ./slackware64/ap/lsscsi-0.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 507 2012-08-10 20:06 ./slackware64/ap/lxc-0.7.5-x86_64-1.txt +-rw-r--r-- 1 root root 134176 2012-08-10 20:06 ./slackware64/ap/lxc-0.7.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-10 20:06 ./slackware64/ap/lxc-0.7.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 339 2011-04-02 18:04 ./slackware64/ap/madplay-0.15.2b-x86_64-3.txt +-rw-r--r-- 1 root root 60412 2011-04-02 18:04 ./slackware64/ap/madplay-0.15.2b-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-04-02 18:04 ./slackware64/ap/madplay-0.15.2b-x86_64-3.txz.asc +-rw-r--r-- 1 root root 5610 2012-06-28 21:38 ./slackware64/ap/maketag +-rw-r--r-- 1 root root 5610 2012-06-28 21:38 ./slackware64/ap/maketag.ez +-rw-r--r-- 1 root root 447 2011-03-27 07:48 ./slackware64/ap/man-1.6g-x86_64-1.txt +-rw-r--r-- 1 root root 219556 2011-03-27 07:48 ./slackware64/ap/man-1.6g-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-27 07:48 ./slackware64/ap/man-1.6g-x86_64-1.txz.asc +-rw-r--r-- 1 root root 490 2012-07-09 06:17 ./slackware64/ap/man-pages-3.41-noarch-1.txt +-rw-r--r-- 1 root root 2581108 2012-07-09 06:17 ./slackware64/ap/man-pages-3.41-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 06:17 ./slackware64/ap/man-pages-3.41-noarch-1.txz.asc +-rw-r--r-- 1 root root 451 2012-09-09 17:04 ./slackware64/ap/mc-4.8.4-x86_64-2.txt +-rw-r--r-- 1 root root 1542944 2012-09-09 17:04 ./slackware64/ap/mc-4.8.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-09 17:04 ./slackware64/ap/mc-4.8.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 419 2012-07-04 16:36 ./slackware64/ap/moc-2.5.0_alpha4-x86_64-2.txt +-rw-r--r-- 1 root root 188508 2012-07-04 16:36 ./slackware64/ap/moc-2.5.0_alpha4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:36 ./slackware64/ap/moc-2.5.0_alpha4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 378 2009-06-25 23:08 ./slackware64/ap/most-5.0.0a-x86_64-2.txt +-rw-r--r-- 1 root root 45504 2009-06-25 23:08 ./slackware64/ap/most-5.0.0a-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-06-25 23:08 ./slackware64/ap/most-5.0.0a-x86_64-2.txz.asc +-rw-r--r-- 1 root root 331 2012-08-10 17:15 ./slackware64/ap/mpg123-1.14.4-x86_64-1.txt +-rw-r--r-- 1 root root 257504 2012-08-10 17:15 ./slackware64/ap/mpg123-1.14.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-10 17:15 ./slackware64/ap/mpg123-1.14.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 360 2012-08-27 20:43 ./slackware64/ap/mysql-5.5.27-x86_64-1.txt +-rw-r--r-- 1 root root 8908544 2012-08-27 20:43 ./slackware64/ap/mysql-5.5.27-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-27 20:43 ./slackware64/ap/mysql-5.5.27-x86_64-1.txz.asc +-rw-r--r-- 1 root root 415 2012-06-18 15:02 ./slackware64/ap/nano-2.3.1-x86_64-2.txt +-rw-r--r-- 1 root root 402852 2012-06-18 15:02 ./slackware64/ap/nano-2.3.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-18 15:02 ./slackware64/ap/nano-2.3.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 514 2009-06-10 01:27 ./slackware64/ap/normalize-0.7.7-x86_64-1.txt +-rw-r--r-- 1 root root 60608 2009-06-10 01:27 ./slackware64/ap/normalize-0.7.7-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-06-10 01:27 ./slackware64/ap/normalize-0.7.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 375 2011-01-22 04:30 ./slackware64/ap/pm-utils-1.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 68804 2011-01-22 04:30 ./slackware64/ap/pm-utils-1.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-01-22 04:30 ./slackware64/ap/pm-utils-1.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 548 2012-08-28 21:44 ./slackware64/ap/powertop-2.1-x86_64-2.txt +-rw-r--r-- 1 root root 171672 2012-08-28 21:44 ./slackware64/ap/powertop-2.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-28 21:44 ./slackware64/ap/powertop-2.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 345 2010-04-27 21:20 ./slackware64/ap/radeontool-1.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 52080 2010-04-27 21:20 ./slackware64/ap/radeontool-1.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-04-27 21:20 ./slackware64/ap/radeontool-1.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 372 2009-05-23 06:26 ./slackware64/ap/rexima-1.4-x86_64-2.txt +-rw-r--r-- 1 root root 16960 2009-05-23 06:26 ./slackware64/ap/rexima-1.4-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 06:26 ./slackware64/ap/rexima-1.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 493 2012-08-15 01:42 ./slackware64/ap/rpm-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 755420 2012-08-15 01:42 ./slackware64/ap/rpm-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-15 01:42 ./slackware64/ap/rpm-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 268 2008-10-23 19:33 ./slackware64/ap/rzip-2.1-x86_64-1.txt +-rw-r--r-- 1 root root 20372 2008-10-23 19:33 ./slackware64/ap/rzip-2.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-23 19:33 ./slackware64/ap/rzip-2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 123 2010-07-28 19:41 ./slackware64/ap/sc-7.16-x86_64-3.txt +-rw-r--r-- 1 root root 195392 2010-07-28 19:41 ./slackware64/ap/sc-7.16-x86_64-3.txz +-rw-r--r-- 1 root root 198 2010-07-28 19:41 ./slackware64/ap/sc-7.16-x86_64-3.txz.asc +-rw-r--r-- 1 root root 654 2011-07-18 21:07 ./slackware64/ap/screen-4.0.3-x86_64-3.txt +-rw-r--r-- 1 root root 495776 2011-07-18 21:07 ./slackware64/ap/screen-4.0.3-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-07-18 21:07 ./slackware64/ap/screen-4.0.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 455 2008-12-14 23:45 ./slackware64/ap/seejpeg-1.10-x86_64-1.txt +-rw-r--r-- 1 root root 53832 2008-12-14 23:45 ./slackware64/ap/seejpeg-1.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-12-14 23:45 ./slackware64/ap/seejpeg-1.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 63567 2012-08-30 22:42 ./slackware64/ap/slackpkg-2.82.0-noarch-8.tgz +-rw-r--r-- 1 root root 198 2012-08-30 22:42 ./slackware64/ap/slackpkg-2.82.0-noarch-8.tgz.asc +-rw-r--r-- 1 root root 441 2012-08-30 22:42 ./slackware64/ap/slackpkg-2.82.0-noarch-8.txt +-rw-r--r-- 1 root root 290 2012-08-18 17:38 ./slackware64/ap/soma-2.8.5-noarch-1.txt +-rw-r--r-- 1 root root 9560 2012-08-18 17:38 ./slackware64/ap/soma-2.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-18 17:38 ./slackware64/ap/soma-2.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 295 2012-07-15 16:36 ./slackware64/ap/sox-14.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 377944 2012-07-15 16:36 ./slackware64/ap/sox-14.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-15 16:36 ./slackware64/ap/sox-14.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 484 2012-08-21 16:43 ./slackware64/ap/sqlite-3.7.13-x86_64-1.txt +-rw-r--r-- 1 root root 423192 2012-08-21 16:43 ./slackware64/ap/sqlite-3.7.13-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-21 16:43 ./slackware64/ap/sqlite-3.7.13-x86_64-1.txz.asc +-rw-r--r-- 1 root root 414 2012-06-28 18:55 ./slackware64/ap/sudo-1.8.5p2-x86_64-1.txt +-rw-r--r-- 1 root root 365748 2012-06-28 18:55 ./slackware64/ap/sudo-1.8.5p2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 18:55 ./slackware64/ap/sudo-1.8.5p2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 444 2010-04-25 23:27 ./slackware64/ap/sysstat-9.0.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 185340 2010-04-25 23:27 ./slackware64/ap/sysstat-9.0.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-04-25 23:27 ./slackware64/ap/sysstat-9.0.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 816 2012-06-28 21:38 ./slackware64/ap/tagfile +-rw-r--r-- 1 root root 616 2010-07-28 19:44 ./slackware64/ap/texinfo-4.13a-x86_64-4.txt +-rw-r--r-- 1 root root 761204 2010-07-28 19:44 ./slackware64/ap/texinfo-4.13a-x86_64-4.txz +-rw-r--r-- 1 root root 198 2010-07-28 19:44 ./slackware64/ap/texinfo-4.13a-x86_64-4.txz.asc +-rw-r--r-- 1 root root 375 2008-12-12 21:18 ./slackware64/ap/vbetool-1.1-x86_64-1.txt +-rw-r--r-- 1 root root 22748 2008-12-12 21:18 ./slackware64/ap/vbetool-1.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-12-12 21:18 ./slackware64/ap/vbetool-1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 385 2012-08-29 16:33 ./slackware64/ap/vim-7.3.645-x86_64-1.txt +-rw-r--r-- 1 root root 5571264 2012-08-29 16:33 ./slackware64/ap/vim-7.3.645-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-29 16:33 ./slackware64/ap/vim-7.3.645-x86_64-1.txz.asc +-rw-r--r-- 1 root root 608 2010-07-28 19:59 ./slackware64/ap/vorbis-tools-1.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 176832 2010-07-28 19:59 ./slackware64/ap/vorbis-tools-1.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-28 19:59 ./slackware64/ap/vorbis-tools-1.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 230 2010-07-28 20:01 ./slackware64/ap/workbone-2.40-x86_64-4.txt +-rw-r--r-- 1 root root 12000 2010-07-28 20:01 ./slackware64/ap/workbone-2.40-x86_64-4.txz +-rw-r--r-- 1 root root 198 2010-07-28 20:01 ./slackware64/ap/workbone-2.40-x86_64-4.txz.asc +-rw-r--r-- 1 root root 525 2010-02-09 21:26 ./slackware64/ap/xfsdump-3.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 299376 2010-02-09 21:26 ./slackware64/ap/xfsdump-3.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-09 21:26 ./slackware64/ap/xfsdump-3.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 508 2012-07-24 20:10 ./slackware64/ap/zsh-5.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 2472992 2012-07-24 20:10 ./slackware64/ap/zsh-5.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-24 20:10 ./slackware64/ap/zsh-5.0.0-x86_64-1.txz.asc +drwxr-xr-x 2 root root 12288 2012-09-20 00:07 ./slackware64/d +-rw-r--r-- 1 root root 631 2012-06-11 16:30 ./slackware64/d/autoconf-2.69-noarch-1.txt +-rw-r--r-- 1 root root 723028 2012-06-11 16:30 ./slackware64/d/autoconf-2.69-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-06-11 16:30 ./slackware64/d/autoconf-2.69-noarch-1.txz.asc +-rw-r--r-- 1 root root 627 2012-06-24 16:52 ./slackware64/d/automake-1.11.5-noarch-1.txt +-rw-r--r-- 1 root root 607768 2012-06-24 16:52 ./slackware64/d/automake-1.11.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-06-24 16:52 ./slackware64/d/automake-1.11.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 443 2012-08-04 17:46 ./slackware64/d/binutils-2.22.52.0.2-x86_64-2.txt +-rw-r--r-- 1 root root 3684616 2012-08-04 17:46 ./slackware64/d/binutils-2.22.52.0.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-04 17:46 ./slackware64/d/binutils-2.22.52.0.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 471 2012-06-28 17:28 ./slackware64/d/bison-2.5.1-x86_64-1.txt +-rw-r--r-- 1 root root 496888 2012-06-28 17:28 ./slackware64/d/bison-2.5.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 17:28 ./slackware64/d/bison-2.5.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 314 2012-08-16 03:59 ./slackware64/d/ccache-3.1.8-x86_64-1.txt +-rw-r--r-- 1 root root 77532 2012-08-16 03:59 ./slackware64/d/ccache-3.1.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-16 03:59 ./slackware64/d/ccache-3.1.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 665 2010-07-20 20:42 ./slackware64/d/clisp-2.49-x86_64-1.txt +-rw-r--r-- 1 root root 2806928 2010-07-20 20:42 ./slackware64/d/clisp-2.49-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-20 20:42 ./slackware64/d/clisp-2.49-x86_64-1.txz.asc +-rw-r--r-- 1 root root 397 2012-06-26 15:23 ./slackware64/d/cmake-2.8.8-x86_64-2.txt +-rw-r--r-- 1 root root 5264168 2012-06-26 15:23 ./slackware64/d/cmake-2.8.8-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-26 15:23 ./slackware64/d/cmake-2.8.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 350 2010-05-03 07:16 ./slackware64/d/cscope-15.7a-x86_64-1.txt +-rw-r--r-- 1 root root 98548 2010-05-03 07:16 ./slackware64/d/cscope-15.7a-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-03 07:16 ./slackware64/d/cscope-15.7a-x86_64-1.txz.asc +-rw-r--r-- 1 root root 538 2008-10-15 23:21 ./slackware64/d/cvs-1.11.23-x86_64-1.txt +-rw-r--r-- 1 root root 859048 2008-10-15 23:21 ./slackware64/d/cvs-1.11.23-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-15 23:21 ./slackware64/d/cvs-1.11.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 412 2009-05-23 04:29 ./slackware64/d/dev86-0.16.17-x86_64-2.txt +-rw-r--r-- 1 root root 287864 2009-05-23 04:29 ./slackware64/d/dev86-0.16.17-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 04:29 ./slackware64/d/dev86-0.16.17-x86_64-2.txz.asc +-rw-r--r-- 1 root root 483 2008-11-04 11:53 ./slackware64/d/distcc-2.18.3-x86_64-2.txt +-rw-r--r-- 1 root root 116144 2008-11-04 11:53 ./slackware64/d/distcc-2.18.3-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-11-04 11:53 ./slackware64/d/distcc-2.18.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 511 2012-07-09 00:31 ./slackware64/d/doxygen-1.8.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 3444996 2012-07-09 00:31 ./slackware64/d/doxygen-1.8.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 00:31 ./slackware64/d/doxygen-1.8.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 331 2008-10-22 21:35 ./slackware64/d/flex-2.5.35-x86_64-1.txt +-rw-r--r-- 1 root root 270228 2008-10-22 21:35 ./slackware64/d/flex-2.5.35-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-22 21:35 ./slackware64/d/flex-2.5.35-x86_64-1.txz.asc +-rw-r--r-- 1 root root 302 2012-06-19 04:55 ./slackware64/d/gcc-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 13175356 2012-06-19 04:55 ./slackware64/d/gcc-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:55 ./slackware64/d/gcc-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 295 2012-06-19 04:55 ./slackware64/d/gcc-g++-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 5690596 2012-06-19 04:55 ./slackware64/d/gcc-g++-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:55 ./slackware64/d/gcc-g++-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 620 2012-06-19 04:55 ./slackware64/d/gcc-gfortran-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 4799412 2012-06-19 04:55 ./slackware64/d/gcc-gfortran-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:55 ./slackware64/d/gcc-gfortran-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2012-06-19 04:56 ./slackware64/d/gcc-gnat-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 11659356 2012-06-19 04:56 ./slackware64/d/gcc-gnat-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:56 ./slackware64/d/gcc-gnat-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 574 2012-06-19 04:57 ./slackware64/d/gcc-go-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 8813304 2012-06-19 04:57 ./slackware64/d/gcc-go-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:57 ./slackware64/d/gcc-go-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 358 2012-06-19 04:56 ./slackware64/d/gcc-java-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 25372548 2012-06-19 04:56 ./slackware64/d/gcc-java-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:56 ./slackware64/d/gcc-java-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 503 2012-06-19 04:56 ./slackware64/d/gcc-objc-4.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 4157340 2012-06-19 04:56 ./slackware64/d/gcc-objc-4.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 04:56 ./slackware64/d/gcc-objc-4.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 757 2012-08-17 22:01 ./slackware64/d/gdb-7.5-x86_64-1.txt +-rw-r--r-- 1 root root 2815276 2012-08-17 22:01 ./slackware64/d/gdb-7.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-17 22:01 ./slackware64/d/gdb-7.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 629 2012-06-20 01:38 ./slackware64/d/gettext-tools-0.18.1.1-x86_64-3.txt +-rw-r--r-- 1 root root 2496772 2012-06-20 01:38 ./slackware64/d/gettext-tools-0.18.1.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-20 01:38 ./slackware64/d/gettext-tools-0.18.1.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 397 2012-09-19 16:52 ./slackware64/d/git-1.7.12.1-x86_64-1.txt +-rw-r--r-- 1 root root 3386220 2012-09-19 16:52 ./slackware64/d/git-1.7.12.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-19 16:52 ./slackware64/d/git-1.7.12.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 562 2010-07-29 00:50 ./slackware64/d/gperf-3.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 98760 2010-07-29 00:50 ./slackware64/d/gperf-3.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-29 00:50 ./slackware64/d/gperf-3.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 438 2011-01-11 19:10 ./slackware64/d/guile-1.8.8-x86_64-1.txt +-rw-r--r-- 1 root root 1547052 2011-01-11 19:10 ./slackware64/d/guile-1.8.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-11 19:10 ./slackware64/d/guile-1.8.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 432 2009-03-04 22:25 ./slackware64/d/indent-2.2.10-x86_64-1.txt +-rw-r--r-- 1 root root 122708 2009-03-04 22:25 ./slackware64/d/indent-2.2.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-03-04 22:25 ./slackware64/d/indent-2.2.10-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/d/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/d/install.end +-rw-r--r-- 1 root root 233 2012-06-28 17:20 ./slackware64/d/intltool-0.50.2-x86_64-1.txt +-rw-r--r-- 1 root root 53104 2012-06-28 17:20 ./slackware64/d/intltool-0.50.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 17:20 ./slackware64/d/intltool-0.50.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 332 2012-09-17 18:37 ./slackware64/d/kernel-headers-3.2.29-x86-1.txt +-rw-r--r-- 1 root root 602748 2012-09-17 18:37 ./slackware64/d/kernel-headers-3.2.29-x86-1.txz +-rw-r--r-- 1 root root 198 2012-09-17 18:37 ./slackware64/d/kernel-headers-3.2.29-x86-1.txz.asc +-rw-r--r-- 1 root root 500 2012-08-15 02:01 ./slackware64/d/libtool-2.4.2-x86_64-1.txt +-rw-r--r-- 1 root root 418788 2012-08-15 02:01 ./slackware64/d/libtool-2.4.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-15 02:01 ./slackware64/d/libtool-2.4.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 368 2012-07-13 15:17 ./slackware64/d/llvm-3.0-x86_64-2.txt +-rw-r--r-- 1 root root 41317852 2012-07-13 15:17 ./slackware64/d/llvm-3.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-13 15:17 ./slackware64/d/llvm-3.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 475 2011-03-07 19:22 ./slackware64/d/m4-1.4.16-x86_64-1.txt +-rw-r--r-- 1 root root 219832 2011-03-07 19:22 ./slackware64/d/m4-1.4.16-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-07 19:22 ./slackware64/d/m4-1.4.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 468 2011-11-22 14:50 ./slackware64/d/make-3.82-x86_64-3.txt +-rw-r--r-- 1 root root 408772 2011-11-22 14:50 ./slackware64/d/make-3.82-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-11-22 14:50 ./slackware64/d/make-3.82-x86_64-3.txz.asc +-rw-r--r-- 1 root root 3813 2012-09-22 17:11 ./slackware64/d/maketag +-rw-r--r-- 1 root root 3813 2012-09-22 17:11 ./slackware64/d/maketag.ez +-rw-r--r-- 1 root root 664 2012-06-19 21:11 ./slackware64/d/mercurial-2.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 1917680 2012-06-19 21:11 ./slackware64/d/mercurial-2.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 21:11 ./slackware64/d/mercurial-2.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 310 2012-08-19 15:04 ./slackware64/d/nasm-2.10.04-x86_64-1.txt +-rw-r--r-- 1 root root 384596 2012-08-19 15:04 ./slackware64/d/nasm-2.10.04-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-19 15:04 ./slackware64/d/nasm-2.10.04-x86_64-1.txz.asc +-rw-r--r-- 1 root root 506 2012-05-06 00:37 ./slackware64/d/oprofile-0.9.7-x86_64-2.txt +-rw-r--r-- 1 root root 706636 2012-05-06 00:37 ./slackware64/d/oprofile-0.9.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-06 00:37 ./slackware64/d/oprofile-0.9.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 546 2008-11-04 12:43 ./slackware64/d/p2c-1.21alpha2-x86_64-3.txt +-rw-r--r-- 1 root root 314736 2008-11-04 12:43 ./slackware64/d/p2c-1.21alpha2-x86_64-3.txz +-rw-r--r-- 1 root root 197 2008-11-04 12:43 ./slackware64/d/p2c-1.21alpha2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 516 2012-08-17 04:19 ./slackware64/d/perl-5.16.1-x86_64-1.txt +-rw-r--r-- 1 root root 14289796 2012-08-17 04:19 ./slackware64/d/perl-5.16.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-17 04:19 ./slackware64/d/perl-5.16.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2010-07-29 01:21 ./slackware64/d/pkg-config-0.25-x86_64-1.txt +-rw-r--r-- 1 root root 66148 2010-07-29 01:21 ./slackware64/d/pkg-config-0.25-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-29 01:21 ./slackware64/d/pkg-config-0.25-x86_64-1.txz.asc +-rw-r--r-- 1 root root 339 2008-09-21 20:59 ./slackware64/d/pmake-1.111-x86_64-3.txt +-rw-r--r-- 1 root root 82500 2008-09-21 20:59 ./slackware64/d/pmake-1.111-x86_64-3.txz +-rw-r--r-- 1 root root 197 2008-09-21 20:59 ./slackware64/d/pmake-1.111-x86_64-3.txz.asc +-rw-r--r-- 1 root root 438 2012-07-04 01:00 ./slackware64/d/python-2.7.3-x86_64-2.txt +-rw-r--r-- 1 root root 11848536 2012-07-04 01:00 ./slackware64/d/python-2.7.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 01:00 ./slackware64/d/python-2.7.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 322 2008-10-15 23:23 ./slackware64/d/rcs-5.7-x86_64-2.txt +-rw-r--r-- 1 root root 151448 2008-10-15 23:23 ./slackware64/d/rcs-5.7-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-10-15 23:23 ./slackware64/d/rcs-5.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 410 2012-07-04 03:35 ./slackware64/d/ruby-1.9.3_p194-x86_64-2.txt +-rw-r--r-- 1 root root 3997532 2012-07-04 03:35 ./slackware64/d/ruby-1.9.3_p194-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:35 ./slackware64/d/ruby-1.9.3_p194-x86_64-2.txz.asc +-rw-r--r-- 1 root root 464 2012-09-19 17:57 ./slackware64/d/slacktrack-2.12-x86_64-1.txt +-rw-r--r-- 1 root root 97452 2012-09-19 17:57 ./slackware64/d/slacktrack-2.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-19 17:57 ./slackware64/d/slacktrack-2.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 550 2010-07-29 01:25 ./slackware64/d/strace-4.5.20-x86_64-1.txt +-rw-r--r-- 1 root root 102968 2010-07-29 01:25 ./slackware64/d/strace-4.5.20-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-29 01:25 ./slackware64/d/strace-4.5.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 597 2012-09-19 16:48 ./slackware64/d/subversion-1.7.6-x86_64-1.txt +-rw-r--r-- 1 root root 3379140 2012-09-19 16:48 ./slackware64/d/subversion-1.7.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-19 16:48 ./slackware64/d/subversion-1.7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 561 2012-05-25 23:33 ./slackware64/d/swig-2.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 2235992 2012-05-25 23:33 ./slackware64/d/swig-2.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-25 23:33 ./slackware64/d/swig-2.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 527 2012-09-22 17:11 ./slackware64/d/tagfile +-rw-r--r-- 1 root root 592 2012-06-20 00:50 ./slackware64/d/yasm-1.2.0-x86_64-2.txt +-rw-r--r-- 1 root root 537332 2012-06-20 00:50 ./slackware64/d/yasm-1.2.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-20 00:50 ./slackware64/d/yasm-1.2.0-x86_64-2.txz.asc +drwxr-xr-x 2 root root 4096 2012-08-30 23:54 ./slackware64/e +-rw-r--r-- 1 root root 471 2012-08-29 16:25 ./slackware64/e/emacs-24.2-x86_64-1.txt +-rw-r--r-- 1 root root 37572876 2012-08-29 16:25 ./slackware64/e/emacs-24.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-29 16:25 ./slackware64/e/emacs-24.2-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/e/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/e/install.end +-rw-r--r-- 1 root root 953 2012-08-29 16:31 ./slackware64/e/maketag +-rw-r--r-- 1 root root 953 2012-08-29 16:31 ./slackware64/e/maketag.ez +-rw-r--r-- 1 root root 10 2012-08-29 16:31 ./slackware64/e/tagfile +drwxr-xr-x 2 root root 4096 2012-08-09 22:48 ./slackware64/f +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/f/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/f/install.end +-rw-r--r-- 1 root root 502 2006-03-01 02:48 ./slackware64/f/linux-faqs-20060228-noarch-1.txt +-rw-r--r-- 1 root root 287176 2006-03-01 02:48 ./slackware64/f/linux-faqs-20060228-noarch-1.txz +-rw-r--r-- 1 root root 197 2006-03-01 02:48 ./slackware64/f/linux-faqs-20060228-noarch-1.txz.asc +-rw-r--r-- 1 root root 341 2012-08-08 16:56 ./slackware64/f/linux-howtos-20120707-noarch-1.txt +-rw-r--r-- 1 root root 6549396 2012-08-08 16:56 ./slackware64/f/linux-howtos-20120707-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-08 16:56 ./slackware64/f/linux-howtos-20120707-noarch-1.txz.asc +-rw-r--r-- 1 root root 1064 2012-01-30 19:17 ./slackware64/f/maketag +-rw-r--r-- 1 root root 1064 2012-01-30 19:17 ./slackware64/f/maketag.ez +-rw-r--r-- 1 root root 32 2012-01-30 19:17 ./slackware64/f/tagfile +drwxr-xr-x 2 root root 4096 2012-09-20 00:07 ./slackware64/k +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/k/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/k/install.end +-rw-r--r-- 1 root root 317 2012-09-17 18:36 ./slackware64/k/kernel-source-3.2.29-noarch-1.txt +-rw-r--r-- 1 root root 68470888 2012-09-17 18:36 ./slackware64/k/kernel-source-3.2.29-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-09-17 18:36 ./slackware64/k/kernel-source-3.2.29-noarch-1.txz.asc +-rw-r--r-- 1 root root 1159 2012-09-17 19:32 ./slackware64/k/maketag +-rw-r--r-- 1 root root 1159 2012-09-17 19:32 ./slackware64/k/maketag.ez +-rw-r--r-- 1 root root 18 2012-09-17 19:32 ./slackware64/k/tagfile +drwxr-xr-x 2 root root 28672 2012-08-16 04:19 ./slackware64/kde +-rw-r--r-- 1 root root 322 2012-08-14 16:46 ./slackware64/kde/amarok-2.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 40429468 2012-08-14 16:46 ./slackware64/kde/amarok-2.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-14 16:46 ./slackware64/kde/amarok-2.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 333 2012-08-07 19:26 ./slackware64/kde/analitza-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 231384 2012-08-07 19:26 ./slackware64/kde/analitza-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:26 ./slackware64/kde/analitza-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 175 2012-08-07 18:57 ./slackware64/kde/ark-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 341880 2012-08-07 18:57 ./slackware64/kde/ark-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/ark-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2012-08-07 19:26 ./slackware64/kde/blinken-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 583608 2012-08-07 19:26 ./slackware64/kde/blinken-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:26 ./slackware64/kde/blinken-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 234 2012-05-01 17:23 ./slackware64/kde/bluedevil-1.2.3-x86_64-1.txt +-rw-r--r-- 1 root root 340604 2012-05-01 17:23 ./slackware64/kde/bluedevil-1.2.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-01 17:23 ./slackware64/kde/bluedevil-1.2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 562 2012-08-07 20:07 ./slackware64/kde/calligra-2.4.3-x86_64-4.txt +-rw-r--r-- 1 root root 48702512 2012-08-07 20:07 ./slackware64/kde/calligra-2.4.3-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-08-07 20:07 ./slackware64/kde/calligra-2.4.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 390 2012-08-07 19:27 ./slackware64/kde/cantor-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 401916 2012-08-07 19:27 ./slackware64/kde/cantor-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/cantor-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 352 2012-08-07 18:57 ./slackware64/kde/filelight-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 324816 2012-08-07 18:57 ./slackware64/kde/filelight-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/filelight-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 342 2012-08-07 18:44 ./slackware64/kde/gwenview-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 2102812 2012-08-07 18:44 ./slackware64/kde/gwenview-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/gwenview-4.8.5-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/kde/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/kde/install.end +-rw-r--r-- 1 root root 382 2012-04-08 22:57 ./slackware64/kde/k3b-2.0.2_20120226.git-x86_64-1.txt +-rw-r--r-- 1 root root 6847260 2012-04-08 22:57 ./slackware64/kde/k3b-2.0.2_20120226.git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 22:57 ./slackware64/kde/k3b-2.0.2_20120226.git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2012-08-07 18:57 ./slackware64/kde/kaccessible-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 38176 2012-08-07 18:57 ./slackware64/kde/kaccessible-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kaccessible-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 379 2012-08-07 18:28 ./slackware64/kde/kactivities-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 103028 2012-08-07 18:28 ./slackware64/kde/kactivities-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:28 ./slackware64/kde/kactivities-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 339 2012-08-07 19:27 ./slackware64/kde/kalgebra-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 507412 2012-08-07 19:27 ./slackware64/kde/kalgebra-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kalgebra-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 238 2012-08-07 19:27 ./slackware64/kde/kalzium-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 3756296 2012-08-07 19:27 ./slackware64/kde/kalzium-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kalzium-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 209 2012-08-07 18:44 ./slackware64/kde/kamera-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 60488 2012-08-07 18:44 ./slackware64/kde/kamera-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kamera-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 486 2012-08-07 19:27 ./slackware64/kde/kanagram-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 637060 2012-08-07 19:27 ./slackware64/kde/kanagram-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kanagram-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2012-08-07 18:29 ./slackware64/kde/kate-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 2600168 2012-08-07 18:29 ./slackware64/kde/kate-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:29 ./slackware64/kde/kate-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 295 2012-04-08 22:57 ./slackware64/kde/kaudiocreator-1.3-x86_64-1.txt +-rw-r--r-- 1 root root 289120 2012-04-08 22:57 ./slackware64/kde/kaudiocreator-1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 22:57 ./slackware64/kde/kaudiocreator-1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 233 2012-08-07 19:27 ./slackware64/kde/kbruch-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 938684 2012-08-07 19:27 ./slackware64/kde/kbruch-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kbruch-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 264 2012-08-07 18:57 ./slackware64/kde/kcalc-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 154100 2012-08-07 18:57 ./slackware64/kde/kcalc-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kcalc-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 352 2012-08-07 18:58 ./slackware64/kde/kcharselect-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 89156 2012-08-07 18:58 ./slackware64/kde/kcharselect-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kcharselect-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 281 2012-08-07 18:45 ./slackware64/kde/kcolorchooser-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 7644 2012-08-07 18:45 ./slackware64/kde/kcolorchooser-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kcolorchooser-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 340 2012-08-07 18:28 ./slackware64/kde/kde-baseapps-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 3456536 2012-08-07 18:28 ./slackware64/kde/kde-baseapps-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:28 ./slackware64/kde/kde-baseapps-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 244 2012-08-07 18:39 ./slackware64/kde/kde-runtime-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 6889416 2012-08-07 18:39 ./slackware64/kde/kde-runtime-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:39 ./slackware64/kde/kde-runtime-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 243 2012-08-07 18:30 ./slackware64/kde/kde-wallpapers-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 77193316 2012-08-07 18:30 ./slackware64/kde/kde-wallpapers-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:30 ./slackware64/kde/kde-wallpapers-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 300 2012-08-07 18:56 ./slackware64/kde/kde-workspace-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 23723912 2012-08-07 18:56 ./slackware64/kde/kde-workspace-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:56 ./slackware64/kde/kde-workspace-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 182 2012-08-07 19:09 ./slackware64/kde/kdeadmin-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1264868 2012-08-07 19:09 ./slackware64/kde/kdeadmin-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:09 ./slackware64/kde/kdeadmin-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 233 2012-08-07 19:12 ./slackware64/kde/kdeartwork-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 132936436 2012-08-07 19:12 ./slackware64/kde/kdeartwork-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:12 ./slackware64/kde/kdeartwork-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 19:16 ./slackware64/kde/kdegames-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 54444500 2012-08-07 19:16 ./slackware64/kde/kdegames-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:16 ./slackware64/kde/kdegames-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 400 2012-08-07 18:44 ./slackware64/kde/kdegraphics-mobipocket-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 36492 2012-08-07 18:44 ./slackware64/kde/kdegraphics-mobipocket-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kdegraphics-mobipocket-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 607 2012-08-07 18:44 ./slackware64/kde/kdegraphics-strigi-analyzer-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 17532 2012-08-07 18:44 ./slackware64/kde/kdegraphics-strigi-analyzer-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kdegraphics-strigi-analyzer-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 501 2012-08-07 18:44 ./slackware64/kde/kdegraphics-thumbnailers-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 37516 2012-08-07 18:44 ./slackware64/kde/kdegraphics-thumbnailers-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kdegraphics-thumbnailers-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 191 2012-08-07 19:02 ./slackware64/kde/kdelibs-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 12457972 2012-08-07 19:02 ./slackware64/kde/kdelibs-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:02 ./slackware64/kde/kdelibs-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 267 2012-08-07 19:03 ./slackware64/kde/kdemultimedia-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1694132 2012-08-07 19:03 ./slackware64/kde/kdemultimedia-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:03 ./slackware64/kde/kdemultimedia-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2012-08-07 19:08 ./slackware64/kde/kdenetwork-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 9901072 2012-08-07 19:08 ./slackware64/kde/kdenetwork-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:08 ./slackware64/kde/kdenetwork-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 417 2012-08-07 19:25 ./slackware64/kde/kdepim-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 18425556 2012-08-07 19:25 ./slackware64/kde/kdepim-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:25 ./slackware64/kde/kdepim-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 508 2012-08-07 19:25 ./slackware64/kde/kdepim-runtime-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 2412748 2012-08-07 19:25 ./slackware64/kde/kdepim-runtime-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:25 ./slackware64/kde/kdepim-runtime-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 274 2012-08-07 18:26 ./slackware64/kde/kdepimlibs-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 3513832 2012-08-07 18:26 ./slackware64/kde/kdepimlibs-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:26 ./slackware64/kde/kdepimlibs-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2012-08-07 19:37 ./slackware64/kde/kdeplasma-addons-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 2586156 2012-08-07 19:37 ./slackware64/kde/kdeplasma-addons-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:37 ./slackware64/kde/kdeplasma-addons-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2012-08-07 18:42 ./slackware64/kde/kdesdk-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 6614268 2012-08-07 18:42 ./slackware64/kde/kdesdk-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:42 ./slackware64/kde/kdesdk-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2012-08-07 19:16 ./slackware64/kde/kdetoys-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 407884 2012-08-07 19:16 ./slackware64/kde/kdetoys-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:16 ./slackware64/kde/kdetoys-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 220 2012-04-14 21:55 ./slackware64/kde/kdevelop-4.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 4873100 2012-04-14 21:55 ./slackware64/kde/kdevelop-4.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-14 21:55 ./slackware64/kde/kdevelop-4.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 289 2012-04-08 23:01 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 467660 2012-04-08 23:01 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 23:01 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 247 2012-04-14 21:53 ./slackware64/kde/kdevplatform-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 2749868 2012-04-14 21:53 ./slackware64/kde/kdevplatform-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-14 21:53 ./slackware64/kde/kdevplatform-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 260 2012-08-07 19:36 ./slackware64/kde/kdewebdev-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1847304 2012-08-07 19:36 ./slackware64/kde/kdewebdev-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:36 ./slackware64/kde/kdewebdev-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 326 2012-08-07 18:58 ./slackware64/kde/kdf-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 206796 2012-08-07 18:58 ./slackware64/kde/kdf-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kdf-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 302 2012-08-07 18:58 ./slackware64/kde/kfloppy-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 70100 2012-08-07 18:58 ./slackware64/kde/kfloppy-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kfloppy-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2012-08-07 18:45 ./slackware64/kde/kgamma-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 44412 2012-08-07 18:45 ./slackware64/kde/kgamma-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kgamma-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 514 2012-08-07 19:28 ./slackware64/kde/kgeography-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 5930352 2012-08-07 19:28 ./slackware64/kde/kgeography-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:28 ./slackware64/kde/kgeography-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 217 2012-08-07 18:58 ./slackware64/kde/kgpg-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 917104 2012-08-07 18:58 ./slackware64/kde/kgpg-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kgpg-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 421 2012-08-07 19:28 ./slackware64/kde/khangman-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 886104 2012-08-07 19:28 ./slackware64/kde/khangman-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:28 ./slackware64/kde/khangman-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 287 2012-08-07 19:29 ./slackware64/kde/kig-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1611072 2012-08-07 19:29 ./slackware64/kde/kig-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:29 ./slackware64/kde/kig-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 195 2012-08-07 19:29 ./slackware64/kde/kiten-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 11805924 2012-08-07 19:29 ./slackware64/kde/kiten-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:29 ./slackware64/kde/kiten-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 403 2012-08-07 19:29 ./slackware64/kde/klettres-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 2640180 2012-08-07 19:29 ./slackware64/kde/klettres-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:29 ./slackware64/kde/klettres-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 172 2012-08-07 18:57 ./slackware64/kde/kmag-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 107508 2012-08-07 18:57 ./slackware64/kde/kmag-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kmag-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 265 2012-08-07 18:57 ./slackware64/kde/kmousetool-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 55824 2012-08-07 18:57 ./slackware64/kde/kmousetool-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kmousetool-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 236 2012-08-07 18:57 ./slackware64/kde/kmouth-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 380608 2012-08-07 18:57 ./slackware64/kde/kmouth-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kmouth-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 534 2012-08-07 19:30 ./slackware64/kde/kmplot-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 792148 2012-08-07 19:30 ./slackware64/kde/kmplot-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:30 ./slackware64/kde/kmplot-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 627 2012-08-07 18:45 ./slackware64/kde/kolourpaint-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1154036 2012-08-07 18:45 ./slackware64/kde/kolourpaint-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kolourpaint-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 194 2012-08-07 18:28 ./slackware64/kde/konsole-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 357252 2012-08-07 18:28 ./slackware64/kde/konsole-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:28 ./slackware64/kde/konsole-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 444 2012-08-07 18:51 ./slackware64/kde/korundum-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 142672 2012-08-07 18:51 ./slackware64/kde/korundum-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:51 ./slackware64/kde/korundum-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 526 2012-04-08 22:57 ./slackware64/kde/kplayer-0.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 5886132 2012-04-08 22:57 ./slackware64/kde/kplayer-0.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 22:57 ./slackware64/kde/kplayer-0.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 382 2012-08-07 18:58 ./slackware64/kde/kremotecontrol-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1175820 2012-08-07 18:58 ./slackware64/kde/kremotecontrol-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kremotecontrol-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 220 2012-08-07 18:45 ./slackware64/kde/kruler-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 120836 2012-08-07 18:45 ./slackware64/kde/kruler-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kruler-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 307 2012-08-07 18:45 ./slackware64/kde/ksaneplugin-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 18080 2012-08-07 18:45 ./slackware64/kde/ksaneplugin-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/ksaneplugin-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 324 2012-08-07 18:59 ./slackware64/kde/ksecrets-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 217676 2012-08-07 18:59 ./slackware64/kde/ksecrets-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/ksecrets-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 235 2012-08-07 18:46 ./slackware64/kde/ksnapshot-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 302056 2012-08-07 18:46 ./slackware64/kde/ksnapshot-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:46 ./slackware64/kde/ksnapshot-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 202 2012-08-07 19:31 ./slackware64/kde/kstars-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 12433848 2012-08-07 19:31 ./slackware64/kde/kstars-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:31 ./slackware64/kde/kstars-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 237 2012-08-07 18:59 ./slackware64/kde/ktimer-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 160920 2012-08-07 18:59 ./slackware64/kde/ktimer-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/ktimer-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 546 2012-06-22 00:31 ./slackware64/kde/ktorrent-4.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 2476260 2012-06-22 00:31 ./slackware64/kde/ktorrent-4.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-22 00:31 ./slackware64/kde/ktorrent-4.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2012-08-07 19:31 ./slackware64/kde/ktouch-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1670688 2012-08-07 19:31 ./slackware64/kde/ktouch-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:31 ./slackware64/kde/ktouch-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 244 2012-08-07 19:31 ./slackware64/kde/kturtle-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 243492 2012-08-07 19:31 ./slackware64/kde/kturtle-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:31 ./slackware64/kde/kturtle-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 266 2012-08-07 18:59 ./slackware64/kde/kwallet-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 336244 2012-08-07 18:59 ./slackware64/kde/kwallet-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/kwallet-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 375 2012-04-08 22:58 ./slackware64/kde/kwebkitpart-1.2.0_20111116git-x86_64-1.txt +-rw-r--r-- 1 root root 141456 2012-04-08 22:58 ./slackware64/kde/kwebkitpart-1.2.0_20111116git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 22:58 ./slackware64/kde/kwebkitpart-1.2.0_20111116git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 335 2012-08-07 19:32 ./slackware64/kde/kwordquiz-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1255692 2012-08-07 19:32 ./slackware64/kde/kwordquiz-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:32 ./slackware64/kde/kwordquiz-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 317 2012-08-07 18:43 ./slackware64/kde/libkdcraw-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 346108 2012-08-07 18:43 ./slackware64/kde/libkdcraw-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:43 ./slackware64/kde/libkdcraw-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 217 2012-08-07 19:26 ./slackware64/kde/libkdeedu-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 251784 2012-08-07 19:26 ./slackware64/kde/libkdeedu-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:26 ./slackware64/kde/libkdeedu-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 312 2012-08-07 18:42 ./slackware64/kde/libkexiv2-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 244692 2012-08-07 18:42 ./slackware64/kde/libkexiv2-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:42 ./slackware64/kde/libkexiv2-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 346 2012-08-07 18:42 ./slackware64/kde/libkipi-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 76592 2012-08-07 18:42 ./slackware64/kde/libkipi-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:42 ./slackware64/kde/libkipi-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 260 2012-08-07 18:43 ./slackware64/kde/libksane-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 90984 2012-08-07 18:43 ./slackware64/kde/libksane-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:43 ./slackware64/kde/libksane-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 479 2012-06-22 00:29 ./slackware64/kde/libktorrent-1.2.1_2-x86_64-1.txt +-rw-r--r-- 1 root root 607744 2012-06-22 00:29 ./slackware64/kde/libktorrent-1.2.1_2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-22 00:29 ./slackware64/kde/libktorrent-1.2.1_2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 7947 2012-04-13 22:45 ./slackware64/kde/maketag +-rw-r--r-- 1 root root 7947 2012-04-13 22:45 ./slackware64/kde/maketag.ez +-rw-r--r-- 1 root root 599 2012-08-07 19:33 ./slackware64/kde/marble-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 16548776 2012-08-07 19:33 ./slackware64/kde/marble-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:33 ./slackware64/kde/marble-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 377 2012-04-08 23:05 ./slackware64/kde/networkmanagement-0.9.0-x86_64-1.txt +-rw-r--r-- 1 root root 1320196 2012-04-08 23:05 ./slackware64/kde/networkmanagement-0.9.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 23:05 ./slackware64/kde/networkmanagement-0.9.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 201 2012-08-07 18:44 ./slackware64/kde/okular-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1336060 2012-08-07 18:44 ./slackware64/kde/okular-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/okular-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 646 2012-08-07 19:41 ./slackware64/kde/oxygen-gtk2-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 376384 2012-08-07 19:41 ./slackware64/kde/oxygen-gtk2-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:41 ./slackware64/kde/oxygen-gtk2-1.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 329 2012-08-07 19:09 ./slackware64/kde/oxygen-icons-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 29284932 2012-08-07 19:09 ./slackware64/kde/oxygen-icons-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:09 ./slackware64/kde/oxygen-icons-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 206 2012-08-07 19:34 ./slackware64/kde/parley-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 4721124 2012-08-07 19:34 ./slackware64/kde/parley-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:34 ./slackware64/kde/parley-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 203 2012-08-07 18:51 ./slackware64/kde/perlkde-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 42360 2012-08-07 18:51 ./slackware64/kde/perlkde-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:51 ./slackware64/kde/perlkde-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 305 2012-08-07 18:49 ./slackware64/kde/perlqt-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 494532 2012-08-07 18:49 ./slackware64/kde/perlqt-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:49 ./slackware64/kde/perlqt-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 291 2012-04-08 22:55 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-1.txt +-rw-r--r-- 1 root root 31408 2012-04-08 22:55 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 22:55 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 338 2012-04-08 22:55 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-1.txt +-rw-r--r-- 1 root root 75184 2012-04-08 22:55 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 22:55 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 365 2012-08-07 18:58 ./slackware64/kde/printer-applet-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 34176 2012-08-07 18:58 ./slackware64/kde/printer-applet-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/printer-applet-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 197 2012-08-07 18:54 ./slackware64/kde/pykde4-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 3979152 2012-08-07 18:54 ./slackware64/kde/pykde4-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:54 ./slackware64/kde/pykde4-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 448 2012-08-07 18:48 ./slackware64/kde/qtruby-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 419012 2012-08-07 18:48 ./slackware64/kde/qtruby-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:48 ./slackware64/kde/qtruby-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 388 2012-04-08 23:04 ./slackware64/kde/quanta-29a3f8e_20111223git-x86_64-1.txt +-rw-r--r-- 1 root root 896516 2012-04-08 23:04 ./slackware64/kde/quanta-29a3f8e_20111223git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 23:04 ./slackware64/kde/quanta-29a3f8e_20111223git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 196 2012-08-07 19:35 ./slackware64/kde/rocs-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 811044 2012-08-07 19:35 ./slackware64/kde/rocs-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:35 ./slackware64/kde/rocs-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 207 2012-04-08 23:05 ./slackware64/kde/skanlite-0.8-x86_64-1.txt +-rw-r--r-- 1 root root 2667932 2012-04-08 23:05 ./slackware64/kde/skanlite-0.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 23:05 ./slackware64/kde/skanlite-0.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 358 2012-08-07 18:46 ./slackware64/kde/smokegen-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 324072 2012-08-07 18:46 ./slackware64/kde/smokegen-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:46 ./slackware64/kde/smokegen-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 205 2012-08-07 18:50 ./slackware64/kde/smokekde-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 1626148 2012-08-07 18:50 ./slackware64/kde/smokekde-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:50 ./slackware64/kde/smokekde-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 233 2012-08-07 18:48 ./slackware64/kde/smokeqt-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 2806952 2012-08-07 18:48 ./slackware64/kde/smokeqt-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:48 ./slackware64/kde/smokeqt-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 460 2012-08-07 19:35 ./slackware64/kde/step-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 521304 2012-08-07 19:35 ./slackware64/kde/step-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 19:35 ./slackware64/kde/step-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 353 2012-08-07 18:59 ./slackware64/kde/superkaramba-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 270328 2012-08-07 18:59 ./slackware64/kde/superkaramba-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/superkaramba-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 213 2012-08-07 18:46 ./slackware64/kde/svgpart-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 15148 2012-08-07 18:46 ./slackware64/kde/svgpart-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:46 ./slackware64/kde/svgpart-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 279 2012-08-07 18:59 ./slackware64/kde/sweeper-4.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 98008 2012-08-07 18:59 ./slackware64/kde/sweeper-4.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/sweeper-4.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 1466 2012-04-13 22:45 ./slackware64/kde/tagfile +-rw-r--r-- 1 root root 316 2012-04-08 23:04 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-1.txt +-rw-r--r-- 1 root root 118740 2012-04-08 23:04 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 23:04 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-1.txz.asc +drwxr-xr-x 2 root root 20480 2012-08-09 22:48 ./slackware64/kdei +-rw-r--r-- 1 root root 254 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 355808 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 383 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca@valencia-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 214520 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca@valencia-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca@valencia-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 252 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-cs-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 198592 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-cs-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-cs-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-da-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 377848 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-da-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-da-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-de-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 524944 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-de-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-de-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 252 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-el-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 327848 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-el-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-el-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 295 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-en_GB-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 172804 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-en_GB-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-en_GB-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-es-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 1014356 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-es-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-es-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 255 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-et-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 577696 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-et-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-et-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fi-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 256360 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fi-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fi-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fr-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 1637096 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fr-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fr-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 256 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-hu-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 228732 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-hu-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-hu-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-it-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 425784 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-it-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-it-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-kk-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 331872 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-kk-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-kk-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 266 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nb-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 305648 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nb-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nb-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 268 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nds-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 282256 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nds-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nds-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 252 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nl-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 1951752 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nl-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nl-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pl-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 324016 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pl-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pl-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 257 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 560336 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 300 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt_BR-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 631712 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt_BR-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt_BR-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-ru-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 370600 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-ru-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-ru-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 253 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sk-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 317716 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sk-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sk-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 254 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sv-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 1865520 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sv-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sv-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 256 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-uk-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 1951976 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-uk-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-uk-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 301 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_CN-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 221520 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_CN-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_CN-2.4.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 290 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_TW-2.4.3-noarch-1.txt +-rw-r--r-- 1 root root 297152 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_TW-2.4.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_TW-2.4.3-noarch-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/kdei/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/kdei/install.end +-rw-r--r-- 1 root root 188 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-ar-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2131664 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-ar-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-ar-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bg-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1133592 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bg-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bg-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bs-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1895632 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bs-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bs-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 9472896 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 309 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca@valencia-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2095524 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca@valencia-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca@valencia-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-cs-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2656272 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-cs-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-cs-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-08 02:40 ./slackware64/kdei/kde-l10n-da-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 12441852 2012-08-08 02:40 ./slackware64/kdei/kde-l10n-da-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-08 02:40 ./slackware64/kdei/kde-l10n-da-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 12:35 ./slackware64/kdei/kde-l10n-de-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 36044732 2012-08-07 12:35 ./slackware64/kdei/kde-l10n-de-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:35 ./slackware64/kdei/kde-l10n-de-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-el-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 4017120 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-el-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-el-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 230 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-en_GB-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2415616 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-en_GB-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-en_GB-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:39 ./slackware64/kdei/kde-l10n-es-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 22832932 2012-08-07 12:39 ./slackware64/kdei/kde-l10n-es-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:39 ./slackware64/kdei/kde-l10n-es-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-et-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 6991888 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-et-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-et-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-eu-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1547596 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-eu-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-eu-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fa-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 867692 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fa-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fa-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fi-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2027996 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fi-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fi-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-fr-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 36431864 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-fr-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-fr-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-ga-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2070476 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-ga-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-ga-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2012-08-07 12:47 ./slackware64/kdei/kde-l10n-gl-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 3367700 2012-08-07 12:47 ./slackware64/kdei/kde-l10n-gl-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:47 ./slackware64/kdei/kde-l10n-gl-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-he-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1195304 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-he-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-he-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hr-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 864264 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hr-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hr-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hu-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 3732964 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hu-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hu-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 193 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-ia-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1092236 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-ia-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-ia-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-id-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 393776 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-id-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-id-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-is-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 796272 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-is-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-is-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-it-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 9849048 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-it-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-it-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-ja-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1865368 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-ja-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-ja-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-kk-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2153664 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-kk-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-kk-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-km-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1607860 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-km-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-km-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-ko-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1300008 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-ko-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-ko-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lt-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 9929484 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lt-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lt-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lv-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1495320 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lv-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lv-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 201 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nb-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2337092 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nb-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nb-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 203 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nds-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2646960 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nds-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nds-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 12:58 ./slackware64/kdei/kde-l10n-nl-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 15502980 2012-08-07 12:58 ./slackware64/kdei/kde-l10n-nl-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:58 ./slackware64/kdei/kde-l10n-nl-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 201 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-nn-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1612760 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-nn-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-nn-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-pa-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 965344 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-pa-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-pa-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 13:01 ./slackware64/kdei/kde-l10n-pl-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 16368208 2012-08-07 13:01 ./slackware64/kdei/kde-l10n-pl-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:01 ./slackware64/kdei/kde-l10n-pl-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2012-08-07 13:04 ./slackware64/kdei/kde-l10n-pt-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 5560808 2012-08-07 13:04 ./slackware64/kdei/kde-l10n-pt-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:04 ./slackware64/kdei/kde-l10n-pt-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 238 2012-08-07 13:07 ./slackware64/kdei/kde-l10n-pt_BR-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 27109524 2012-08-07 13:07 ./slackware64/kdei/kde-l10n-pt_BR-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:07 ./slackware64/kdei/kde-l10n-pt_BR-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 190 2012-08-07 13:08 ./slackware64/kdei/kde-l10n-ro-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2136236 2012-08-07 13:08 ./slackware64/kdei/kde-l10n-ro-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:08 ./slackware64/kdei/kde-l10n-ro-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-ru-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 22438556 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-ru-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-ru-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-si-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 560820 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-si-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-si-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-sk-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1664392 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-sk-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-sk-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2012-08-07 13:11 ./slackware64/kdei/kde-l10n-sl-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2109060 2012-08-07 13:11 ./slackware64/kdei/kde-l10n-sl-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:11 ./slackware64/kdei/kde-l10n-sl-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 13:14 ./slackware64/kdei/kde-l10n-sr-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 9537208 2012-08-07 13:14 ./slackware64/kdei/kde-l10n-sr-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:14 ./slackware64/kdei/kde-l10n-sr-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-sv-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 16370500 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-sv-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-sv-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 187 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-tg-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 703908 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-tg-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-tg-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 186 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-th-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1005648 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-th-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-th-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-tr-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1762624 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-tr-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-tr-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-ug-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 912008 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-ug-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-ug-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 191 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-uk-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 21980332 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-uk-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-uk-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 192 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-vi-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 405468 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-vi-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-vi-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 189 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-wa-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 1247440 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-wa-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-wa-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 236 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_CN-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 3049516 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_CN-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_CN-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 225 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_TW-4.8.5-noarch-1.txt +-rw-r--r-- 1 root root 2120660 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_TW-4.8.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_TW-4.8.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 7416 2012-08-11 16:22 ./slackware64/kdei/maketag +-rw-r--r-- 1 root root 7416 2012-08-11 16:22 ./slackware64/kdei/maketag.ez +-rw-r--r-- 1 root root 1470 2012-08-11 16:22 ./slackware64/kdei/tagfile +drwxr-xr-x 2 root root 40960 2012-09-24 20:28 ./slackware64/l +-rw-r--r-- 1 root root 330 2012-07-08 01:24 ./slackware64/l/ConsoleKit-0.4.5-x86_64-1.txt +-rw-r--r-- 1 root root 106496 2012-07-08 01:24 ./slackware64/l/ConsoleKit-0.4.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 01:24 ./slackware64/l/ConsoleKit-0.4.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 331 2012-07-20 00:55 ./slackware64/l/GConf-3.2.5-x86_64-1.txt +-rw-r--r-- 1 root root 914816 2012-07-20 00:55 ./slackware64/l/GConf-3.2.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:55 ./slackware64/l/GConf-3.2.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 592 2012-07-04 01:24 ./slackware64/l/M2Crypto-0.21.1-x86_64-2.txt +-rw-r--r-- 1 root root 221992 2012-07-04 01:24 ./slackware64/l/M2Crypto-0.21.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 01:24 ./slackware64/l/M2Crypto-0.21.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 276 2012-06-26 17:35 ./slackware64/l/PyQt-4.9.1-x86_64-3.txt +-rw-r--r-- 1 root root 8579848 2012-06-26 17:35 ./slackware64/l/PyQt-4.9.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-26 17:35 ./slackware64/l/PyQt-4.9.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 670 2012-08-17 22:32 ./slackware64/l/QScintilla-2.6.1-x86_64-3.txt +-rw-r--r-- 1 root root 1497580 2012-08-17 22:32 ./slackware64/l/QScintilla-2.6.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-17 22:32 ./slackware64/l/QScintilla-2.6.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 995 2011-01-23 07:27 ./slackware64/l/aalib-1.4rc5-x86_64-3.txt +-rw-r--r-- 1 root root 157780 2011-01-23 07:27 ./slackware64/l/aalib-1.4rc5-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-01-23 07:27 ./slackware64/l/aalib-1.4rc5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 383 2012-04-12 22:58 ./slackware64/l/akonadi-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 716484 2012-04-12 22:58 ./slackware64/l/akonadi-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-12 22:58 ./slackware64/l/akonadi-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 402 2012-09-10 22:09 ./slackware64/l/alsa-lib-1.0.26-x86_64-1.txt +-rw-r--r-- 1 root root 397756 2012-09-10 22:09 ./slackware64/l/alsa-lib-1.0.26-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-10 22:09 ./slackware64/l/alsa-lib-1.0.26-x86_64-1.txz.asc +-rw-r--r-- 1 root root 503 2012-02-07 23:44 ./slackware64/l/alsa-oss-1.0.25-x86_64-1.txt +-rw-r--r-- 1 root root 32520 2012-02-07 23:44 ./slackware64/l/alsa-oss-1.0.25-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-02-07 23:44 ./slackware64/l/alsa-oss-1.0.25-x86_64-1.txz.asc +-rw-r--r-- 1 root root 275 2012-05-14 19:40 ./slackware64/l/apr-1.4.6-x86_64-1.txt +-rw-r--r-- 1 root root 223376 2012-05-14 19:40 ./slackware64/l/apr-1.4.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-14 19:40 ./slackware64/l/apr-1.4.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 483 2012-07-04 00:15 ./slackware64/l/apr-util-1.4.1-x86_64-3.txt +-rw-r--r-- 1 root root 115580 2012-07-04 00:15 ./slackware64/l/apr-util-1.4.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 00:15 ./slackware64/l/apr-util-1.4.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 251 2010-08-05 23:48 ./slackware64/l/aspell-0.60.6-x86_64-1.txt +-rw-r--r-- 1 root root 593692 2010-08-05 23:48 ./slackware64/l/aspell-0.60.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-05 23:48 ./slackware64/l/aspell-0.60.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./slackware64/l/aspell-en-6.0_0-noarch-4.txt +-rw-r--r-- 1 root root 1090944 2008-10-03 20:58 ./slackware64/l/aspell-en-6.0_0-noarch-4.txz +-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./slackware64/l/aspell-en-6.0_0-noarch-4.txz.asc +-rw-r--r-- 1 root root 173 2012-07-06 17:06 ./slackware64/l/atk-2.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 293400 2012-07-06 17:06 ./slackware64/l/atk-2.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 17:06 ./slackware64/l/atk-2.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 373 2012-06-20 23:35 ./slackware64/l/attica-0.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 209312 2012-06-20 23:35 ./slackware64/l/attica-0.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-20 23:35 ./slackware64/l/attica-0.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 315 2010-08-05 23:51 ./slackware64/l/audiofile-0.2.7-x86_64-1.txt +-rw-r--r-- 1 root root 121548 2010-08-05 23:51 ./slackware64/l/audiofile-0.2.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-05 23:51 ./slackware64/l/audiofile-0.2.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 454 2009-01-22 19:43 ./slackware64/l/automoc4-0.9.88-x86_64-1.txt +-rw-r--r-- 1 root root 25480 2009-01-22 19:43 ./slackware64/l/automoc4-0.9.88-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-01-22 19:43 ./slackware64/l/automoc4-0.9.88-x86_64-1.txz.asc +-rw-r--r-- 1 root root 517 2012-07-06 18:17 ./slackware64/l/babl-0.1.10-x86_64-1.txt +-rw-r--r-- 1 root root 84844 2012-07-06 18:17 ./slackware64/l/babl-0.1.10-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 18:17 ./slackware64/l/babl-0.1.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 433 2012-08-09 02:12 ./slackware64/l/boost-1.49.0-x86_64-3.txt +-rw-r--r-- 1 root root 6368336 2012-08-09 02:12 ./slackware64/l/boost-1.49.0-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-09 02:12 ./slackware64/l/boost-1.49.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 394 2011-03-19 19:05 ./slackware64/l/cairo-1.10.2-x86_64-2.txt +-rw-r--r-- 1 root root 544028 2011-03-19 19:05 ./slackware64/l/cairo-1.10.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-03-19 19:05 ./slackware64/l/cairo-1.10.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 472 2011-03-29 04:29 ./slackware64/l/chmlib-0.40-x86_64-2.txt +-rw-r--r-- 1 root root 33136 2011-03-29 04:29 ./slackware64/l/chmlib-0.40-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-03-29 04:29 ./slackware64/l/chmlib-0.40-x86_64-2.txz.asc +-rw-r--r-- 1 root root 279 2012-04-08 20:56 ./slackware64/l/clucene-2.3.3.4-x86_64-1.txt +-rw-r--r-- 1 root root 643096 2012-04-08 20:56 ./slackware64/l/clucene-2.3.3.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:56 ./slackware64/l/clucene-2.3.3.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 364 2008-09-29 19:55 ./slackware64/l/db42-4.2.52-x86_64-3.txt +-rw-r--r-- 1 root root 380400 2008-09-29 19:55 ./slackware64/l/db42-4.2.52-x86_64-3.txz +-rw-r--r-- 1 root root 197 2008-09-29 19:55 ./slackware64/l/db42-4.2.52-x86_64-3.txz.asc +-rw-r--r-- 1 root root 363 2012-08-15 01:38 ./slackware64/l/db44-4.4.20-x86_64-3.txt +-rw-r--r-- 1 root root 726760 2012-08-15 01:38 ./slackware64/l/db44-4.4.20-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-15 01:38 ./slackware64/l/db44-4.4.20-x86_64-3.txz.asc +-rw-r--r-- 1 root root 363 2012-08-23 04:07 ./slackware64/l/db48-4.8.30-x86_64-2.txt +-rw-r--r-- 1 root root 947872 2012-08-23 04:07 ./slackware64/l/db48-4.8.30-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-23 04:07 ./slackware64/l/db48-4.8.30-x86_64-2.txz.asc +-rw-r--r-- 1 root root 222 2012-07-06 16:54 ./slackware64/l/dbus-glib-0.98-x86_64-1.txt +-rw-r--r-- 1 root root 138064 2012-07-06 16:54 ./slackware64/l/dbus-glib-0.98-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 16:54 ./slackware64/l/dbus-glib-0.98-x86_64-1.txz.asc +-rw-r--r-- 1 root root 246 2012-07-06 17:04 ./slackware64/l/dbus-python-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 124848 2012-07-06 17:04 ./slackware64/l/dbus-python-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 17:04 ./slackware64/l/dbus-python-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 655 2012-07-07 04:58 ./slackware64/l/desktop-file-utils-0.20-x86_64-1.txt +-rw-r--r-- 1 root root 54216 2012-07-07 04:58 ./slackware64/l/desktop-file-utils-0.20-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 04:58 ./slackware64/l/desktop-file-utils-0.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 561 2012-06-25 05:17 ./slackware64/l/djvulibre-3.5.25.3-x86_64-1.txt +-rw-r--r-- 1 root root 977280 2012-06-25 05:17 ./slackware64/l/djvulibre-3.5.25.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-25 05:17 ./slackware64/l/djvulibre-3.5.25.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 323 2012-04-08 20:58 ./slackware64/l/ebook-tools-0.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 21888 2012-04-08 20:58 ./slackware64/l/ebook-tools-0.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/ebook-tools-0.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2009-12-17 02:23 ./slackware64/l/eigen2-2.0.10-x86_64-1.txt +-rw-r--r-- 1 root root 161064 2009-12-17 02:23 ./slackware64/l/eigen2-2.0.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-12-17 02:23 ./slackware64/l/eigen2-2.0.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 346 2009-12-17 03:02 ./slackware64/l/enchant-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 137616 2009-12-17 03:02 ./slackware64/l/enchant-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-12-17 03:02 ./slackware64/l/enchant-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 505 2009-04-08 20:17 ./slackware64/l/esound-0.2.41-x86_64-1.txt +-rw-r--r-- 1 root root 98952 2009-04-08 20:17 ./slackware64/l/esound-0.2.41-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-04-08 20:17 ./slackware64/l/esound-0.2.41-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2012-07-26 23:35 ./slackware64/l/exiv2-0.23-x86_64-1.txt +-rw-r--r-- 1 root root 872852 2012-07-26 23:35 ./slackware64/l/exiv2-0.23-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-26 23:35 ./slackware64/l/exiv2-0.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 264 2011-02-09 22:07 ./slackware64/l/expat-2.0.1-x86_64-2.txt +-rw-r--r-- 1 root root 118928 2011-02-09 22:07 ./slackware64/l/expat-2.0.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-02-09 22:07 ./slackware64/l/expat-2.0.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 506 2009-12-17 01:50 ./slackware64/l/fftw-3.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 1060684 2009-12-17 01:50 ./slackware64/l/fftw-3.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-12-17 01:50 ./slackware64/l/fftw-3.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 344 2012-06-24 23:28 ./slackware64/l/freetype-2.4.10-x86_64-1.txt +-rw-r--r-- 1 root root 429824 2012-06-24 23:28 ./slackware64/l/freetype-2.4.10-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-24 23:28 ./slackware64/l/freetype-2.4.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 353 2012-08-12 15:59 ./slackware64/l/fribidi-0.19.2-x86_64-3.txt +-rw-r--r-- 1 root root 75892 2012-08-12 15:59 ./slackware64/l/fribidi-0.19.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-12 15:59 ./slackware64/l/fribidi-0.19.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 391 2011-01-30 22:28 ./slackware64/l/fuse-2.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 126692 2011-01-30 22:28 ./slackware64/l/fuse-2.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-30 22:28 ./slackware64/l/fuse-2.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 297 2012-09-23 18:03 ./slackware64/l/gamin-0.1.10-x86_64-5.txt +-rw-r--r-- 1 root root 108204 2012-09-23 18:03 ./slackware64/l/gamin-0.1.10-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-09-23 18:03 ./slackware64/l/gamin-0.1.10-x86_64-5.txz.asc +-rw-r--r-- 1 root root 343 2012-07-20 00:55 ./slackware64/l/gcr-3.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 763052 2012-07-20 00:55 ./slackware64/l/gcr-3.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:55 ./slackware64/l/gcr-3.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2010-02-18 03:20 ./slackware64/l/gd-2.0.35-x86_64-4.txt +-rw-r--r-- 1 root root 145516 2010-02-18 03:20 ./slackware64/l/gd-2.0.35-x86_64-4.txz +-rw-r--r-- 1 root root 197 2010-02-18 03:20 ./slackware64/l/gd-2.0.35-x86_64-4.txz.asc +-rw-r--r-- 1 root root 186 2008-09-28 22:46 ./slackware64/l/gdbm-1.8.3-x86_64-4.txt +-rw-r--r-- 1 root root 43824 2008-09-28 22:46 ./slackware64/l/gdbm-1.8.3-x86_64-4.txz +-rw-r--r-- 1 root root 197 2008-09-28 22:46 ./slackware64/l/gdbm-1.8.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 538 2012-09-10 19:00 ./slackware64/l/gdk-pixbuf2-2.26.1-x86_64-2.txt +-rw-r--r-- 1 root root 612868 2012-09-10 19:00 ./slackware64/l/gdk-pixbuf2-2.26.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-10 19:00 ./slackware64/l/gdk-pixbuf2-2.26.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 405 2012-07-06 18:28 ./slackware64/l/gegl-0.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 477548 2012-07-06 18:28 ./slackware64/l/gegl-0.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 18:28 ./slackware64/l/gegl-0.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 320 2010-02-06 22:20 ./slackware64/l/giflib-4.1.6-x86_64-1.txt +-rw-r--r-- 1 root root 171608 2010-02-06 22:20 ./slackware64/l/giflib-4.1.6-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-06 22:20 ./slackware64/l/giflib-4.1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2012-07-20 00:56 ./slackware64/l/glade3-3.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 1769160 2012-07-20 00:56 ./slackware64/l/glade3-3.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:56 ./slackware64/l/glade3-3.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 302 2008-09-28 19:59 ./slackware64/l/glib-1.2.10-x86_64-3.txt +-rw-r--r-- 1 root root 146248 2008-09-28 19:59 ./slackware64/l/glib-1.2.10-x86_64-3.txz +-rw-r--r-- 1 root root 197 2008-09-28 19:59 ./slackware64/l/glib-1.2.10-x86_64-3.txz.asc +-rw-r--r-- 1 root root 300 2012-07-20 00:57 ./slackware64/l/glib-networking-2.32.3-x86_64-1.txt +-rw-r--r-- 1 root root 89876 2012-07-20 00:57 ./slackware64/l/glib-networking-2.32.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:57 ./slackware64/l/glib-networking-2.32.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 235 2012-08-08 23:32 ./slackware64/l/glib2-2.32.4-x86_64-1.txt +-rw-r--r-- 1 root root 3301712 2012-08-08 23:32 ./slackware64/l/glib2-2.32.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-08 23:32 ./slackware64/l/glib2-2.32.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 389 2012-09-17 20:12 ./slackware64/l/glibc-2.15-x86_64-7.txt +-rw-r--r-- 1 root root 12602332 2012-09-17 20:12 ./slackware64/l/glibc-2.15-x86_64-7.txz +-rw-r--r-- 1 root root 198 2012-09-17 20:12 ./slackware64/l/glibc-2.15-x86_64-7.txz.asc +-rw-r--r-- 1 root root 333 2012-09-17 20:11 ./slackware64/l/glibc-i18n-2.15-x86_64-7.txt +-rw-r--r-- 1 root root 6838176 2012-09-17 20:11 ./slackware64/l/glibc-i18n-2.15-x86_64-7.txz +-rw-r--r-- 1 root root 198 2012-09-17 20:11 ./slackware64/l/glibc-i18n-2.15-x86_64-7.txz.asc +-rw-r--r-- 1 root root 508 2012-09-17 20:10 ./slackware64/l/glibc-profile-2.15-x86_64-7.txt +-rw-r--r-- 1 root root 1211088 2012-09-17 20:10 ./slackware64/l/glibc-profile-2.15-x86_64-7.txz +-rw-r--r-- 1 root root 198 2012-09-17 20:10 ./slackware64/l/glibc-profile-2.15-x86_64-7.txz.asc +-rw-r--r-- 1 root root 297 2010-02-03 23:45 ./slackware64/l/gmime-2.4.15-x86_64-1.txt +-rw-r--r-- 1 root root 245244 2010-02-03 23:45 ./slackware64/l/gmime-2.4.15-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-03 23:45 ./slackware64/l/gmime-2.4.15-x86_64-1.txz.asc +-rw-r--r-- 1 root root 579 2008-12-16 19:49 ./slackware64/l/gmm-3.1-noarch-1.txt +-rw-r--r-- 1 root root 110636 2008-12-16 19:49 ./slackware64/l/gmm-3.1-noarch-1.txz +-rw-r--r-- 1 root root 197 2008-12-16 19:49 ./slackware64/l/gmm-3.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 312 2012-05-27 00:10 ./slackware64/l/gmp-5.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 471628 2012-05-27 00:10 ./slackware64/l/gmp-5.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-27 00:10 ./slackware64/l/gmp-5.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 299 2012-07-07 05:25 ./slackware64/l/gnome-icon-theme-3.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 9986932 2012-07-07 05:25 ./slackware64/l/gnome-icon-theme-3.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 05:25 ./slackware64/l/gnome-icon-theme-3.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 455 2012-08-09 16:01 ./slackware64/l/gnome-keyring-3.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 667528 2012-08-09 16:01 ./slackware64/l/gnome-keyring-3.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-09 16:01 ./slackware64/l/gnome-keyring-3.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 635 2012-07-05 20:59 ./slackware64/l/gobject-introspection-1.32.1-x86_64-1.txt +-rw-r--r-- 1 root root 1060408 2012-07-05 20:59 ./slackware64/l/gobject-introspection-1.32.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 20:59 ./slackware64/l/gobject-introspection-1.32.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 440 2012-04-08 20:59 ./slackware64/l/grantlee-0.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 294152 2012-04-08 20:59 ./slackware64/l/grantlee-0.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/grantlee-0.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 470 2012-07-29 20:27 ./slackware64/l/gsettings-desktop-schemas-3.4.2-x86_64-2.txt +-rw-r--r-- 1 root root 120804 2012-07-29 20:27 ./slackware64/l/gsettings-desktop-schemas-3.4.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-29 20:27 ./slackware64/l/gsettings-desktop-schemas-3.4.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 609 2012-08-14 16:07 ./slackware64/l/gst-plugins-base-0.10.36-x86_64-2.txt +-rw-r--r-- 1 root root 1332316 2012-08-14 16:07 ./slackware64/l/gst-plugins-base-0.10.36-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-14 16:07 ./slackware64/l/gst-plugins-base-0.10.36-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2012-08-14 16:12 ./slackware64/l/gst-plugins-good-0.10.31-x86_64-3.txt +-rw-r--r-- 1 root root 993260 2012-08-14 16:12 ./slackware64/l/gst-plugins-good-0.10.31-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-14 16:12 ./slackware64/l/gst-plugins-good-0.10.31-x86_64-3.txz.asc +-rw-r--r-- 1 root root 602 2012-07-07 04:40 ./slackware64/l/gstreamer-0.10.36-x86_64-1.txt +-rw-r--r-- 1 root root 1351444 2012-07-07 04:40 ./slackware64/l/gstreamer-0.10.36-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 04:40 ./slackware64/l/gstreamer-0.10.36-x86_64-1.txz.asc +-rw-r--r-- 1 root root 351 2009-06-09 02:23 ./slackware64/l/gtk+-1.2.10-x86_64-5.txt +-rw-r--r-- 1 root root 1046588 2009-06-09 02:23 ./slackware64/l/gtk+-1.2.10-x86_64-5.txz +-rw-r--r-- 1 root root 197 2009-06-09 02:23 ./slackware64/l/gtk+-1.2.10-x86_64-5.txz.asc +-rw-r--r-- 1 root root 335 2012-08-14 18:57 ./slackware64/l/gtk+2-2.24.10-x86_64-2.txt +-rw-r--r-- 1 root root 7043844 2012-08-14 18:57 ./slackware64/l/gtk+2-2.24.10-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-14 18:57 ./slackware64/l/gtk+2-2.24.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 335 2012-08-08 23:37 ./slackware64/l/gtk+3-3.4.4-x86_64-1.txt +-rw-r--r-- 1 root root 7257684 2012-08-08 23:37 ./slackware64/l/gtk+3-3.4.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-08 23:37 ./slackware64/l/gtk+3-3.4.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 330 2010-08-06 00:16 ./slackware64/l/gtkspell-2.0.16-x86_64-1.txt +-rw-r--r-- 1 root root 35428 2010-08-06 00:16 ./slackware64/l/gtkspell-2.0.16-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-06 00:16 ./slackware64/l/gtkspell-2.0.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2012-07-24 21:57 ./slackware64/l/gvfs-1.12.3-x86_64-2.txt +-rw-r--r-- 1 root root 1080248 2012-07-24 21:57 ./slackware64/l/gvfs-1.12.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-24 21:57 ./slackware64/l/gvfs-1.12.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 379 2012-04-08 20:58 ./slackware64/l/herqq-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 408260 2012-04-08 20:58 ./slackware64/l/herqq-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/herqq-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 445 2012-07-18 19:52 ./slackware64/l/hicolor-icon-theme-0.12-noarch-2.txt +-rw-r--r-- 1 root root 11912 2012-07-18 19:52 ./slackware64/l/hicolor-icon-theme-0.12-noarch-2.txz +-rw-r--r-- 1 root root 198 2012-07-18 19:52 ./slackware64/l/hicolor-icon-theme-0.12-noarch-2.txz.asc +-rw-r--r-- 1 root root 514 2012-04-08 20:58 ./slackware64/l/hunspell-1.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 251412 2012-04-08 20:58 ./slackware64/l/hunspell-1.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/hunspell-1.3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 464 2009-08-22 19:44 ./slackware64/l/icon-naming-utils-0.8.90-x86_64-2.txt +-rw-r--r-- 1 root root 14068 2009-08-22 19:44 ./slackware64/l/icon-naming-utils-0.8.90-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-08-22 19:44 ./slackware64/l/icon-naming-utils-0.8.90-x86_64-2.txz.asc +-rw-r--r-- 1 root root 299 2012-08-02 21:02 ./slackware64/l/icu4c-49.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 5461380 2012-08-02 21:02 ./slackware64/l/icu4c-49.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-02 21:02 ./slackware64/l/icu4c-49.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 371 2010-08-09 19:13 ./slackware64/l/ilmbase-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 103212 2010-08-09 19:13 ./slackware64/l/ilmbase-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 19:13 ./slackware64/l/ilmbase-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 401 2010-06-24 00:19 ./slackware64/l/imlib-1.9.15-x86_64-7.txt +-rw-r--r-- 1 root root 467148 2010-06-24 00:19 ./slackware64/l/imlib-1.9.15-x86_64-7.txz +-rw-r--r-- 1 root root 198 2010-06-24 00:19 ./slackware64/l/imlib-1.9.15-x86_64-7.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/l/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/l/install.end +-rw-r--r-- 1 root root 392 2011-03-07 17:17 ./slackware64/l/iso-codes-3.24.2-noarch-1.txt +-rw-r--r-- 1 root root 1719676 2011-03-07 17:17 ./slackware64/l/iso-codes-3.24.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-03-07 17:17 ./slackware64/l/iso-codes-3.24.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 382 2010-02-11 20:19 ./slackware64/l/jasper-1.900.1-x86_64-3.txt +-rw-r--r-- 1 root root 158076 2010-02-11 20:19 ./slackware64/l/jasper-1.900.1-x86_64-3.txz +-rw-r--r-- 1 root root 197 2010-02-11 20:19 ./slackware64/l/jasper-1.900.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 349 2012-07-20 00:57 ./slackware64/l/js185-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 1353376 2012-07-20 00:57 ./slackware64/l/js185-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:57 ./slackware64/l/js185-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 340 2012-08-29 17:28 ./slackware64/l/keybinder-0.3.0-x86_64-2.txt +-rw-r--r-- 1 root root 28604 2012-08-29 17:28 ./slackware64/l/keybinder-0.3.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-29 17:28 ./slackware64/l/keybinder-0.3.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 413 2012-06-20 16:55 ./slackware64/l/keyutils-1.5.5-x86_64-1.txt +-rw-r--r-- 1 root root 58828 2012-06-20 16:55 ./slackware64/l/keyutils-1.5.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-20 16:55 ./slackware64/l/keyutils-1.5.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 210 2012-06-19 17:29 ./slackware64/l/lcms-1.19-x86_64-2.txt +-rw-r--r-- 1 root root 176732 2012-06-19 17:29 ./slackware64/l/lcms-1.19-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 17:29 ./slackware64/l/lcms-1.19-x86_64-2.txz.asc +-rw-r--r-- 1 root root 233 2012-04-08 20:58 ./slackware64/l/lcms2-2.3-x86_64-1.txt +-rw-r--r-- 1 root root 2723796 2012-04-08 20:58 ./slackware64/l/lcms2-2.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/lcms2-2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 526 2010-04-19 20:13 ./slackware64/l/lesstif-0.95.2-x86_64-1.txt +-rw-r--r-- 1 root root 1397028 2010-04-19 20:13 ./slackware64/l/lesstif-0.95.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-04-19 20:13 ./slackware64/l/lesstif-0.95.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 505 2010-05-11 01:13 ./slackware64/l/libaio-0.3.109-x86_64-1.txt +-rw-r--r-- 1 root root 13524 2010-05-11 01:13 ./slackware64/l/libaio-0.3.109-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-11 01:13 ./slackware64/l/libaio-0.3.109-x86_64-1.txz.asc +-rw-r--r-- 1 root root 428 2011-03-09 20:12 ./slackware64/l/libao-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 52032 2011-03-09 20:12 ./slackware64/l/libao-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-09 20:12 ./slackware64/l/libao-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 415 2012-07-04 00:55 ./slackware64/l/libarchive-2.8.5-x86_64-1.txt +-rw-r--r-- 1 root root 232452 2012-07-04 00:55 ./slackware64/l/libarchive-2.8.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 00:55 ./slackware64/l/libarchive-2.8.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2010-08-06 00:25 ./slackware64/l/libart_lgpl-2.3.21-x86_64-1.txt +-rw-r--r-- 1 root root 76832 2010-08-06 00:25 ./slackware64/l/libart_lgpl-2.3.21-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-06 00:25 ./slackware64/l/libart_lgpl-2.3.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 555 2012-06-21 01:56 ./slackware64/l/libatasmart-0.19-x86_64-1.txt +-rw-r--r-- 1 root root 35040 2012-06-21 01:56 ./slackware64/l/libatasmart-0.19-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-21 01:56 ./slackware64/l/libatasmart-0.19-x86_64-1.txz.asc +-rw-r--r-- 1 root root 273 2012-05-01 17:21 ./slackware64/l/libbluedevil-1.9.2-x86_64-1.txt +-rw-r--r-- 1 root root 74908 2012-05-01 17:21 ./slackware64/l/libbluedevil-1.9.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-01 17:21 ./slackware64/l/libbluedevil-1.9.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2012-06-19 18:43 ./slackware64/l/libcaca-0.99.beta18-x86_64-2.txt +-rw-r--r-- 1 root root 538064 2012-06-19 18:43 ./slackware64/l/libcaca-0.99.beta18-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 18:43 ./slackware64/l/libcaca-0.99.beta18-x86_64-2.txz.asc +-rw-r--r-- 1 root root 479 2012-07-20 00:58 ./slackware64/l/libcanberra-0.29-x86_64-1.txt +-rw-r--r-- 1 root root 84576 2012-07-20 00:58 ./slackware64/l/libcanberra-0.29-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/l/libcanberra-0.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 380 2012-06-24 23:19 ./slackware64/l/libcap-2.22-x86_64-1.txt +-rw-r--r-- 1 root root 58728 2012-06-24 23:19 ./slackware64/l/libcap-2.22-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-24 23:19 ./slackware64/l/libcap-2.22-x86_64-1.txz.asc +-rw-r--r-- 1 root root 328 2012-07-09 03:46 ./slackware64/l/libcddb-1.3.2-x86_64-2.txt +-rw-r--r-- 1 root root 70012 2012-07-09 03:46 ./slackware64/l/libcddb-1.3.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-09 03:46 ./slackware64/l/libcddb-1.3.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 554 2012-07-09 02:25 ./slackware64/l/libcdio-0.83-x86_64-1.txt +-rw-r--r-- 1 root root 314912 2012-07-09 02:25 ./slackware64/l/libcdio-0.83-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 02:25 ./slackware64/l/libcdio-0.83-x86_64-1.txz.asc +-rw-r--r-- 1 root root 402 2012-07-06 18:31 ./slackware64/l/libcroco-0.6.5-x86_64-1.txt +-rw-r--r-- 1 root root 214060 2012-07-06 18:31 ./slackware64/l/libcroco-0.6.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 18:31 ./slackware64/l/libcroco-0.6.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 459 2012-07-30 17:17 ./slackware64/l/libdbusmenu-qt-0.9.2-x86_64-2.txt +-rw-r--r-- 1 root root 139824 2012-07-30 17:17 ./slackware64/l/libdbusmenu-qt-0.9.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-30 17:17 ./slackware64/l/libdbusmenu-qt-0.9.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 480 2010-05-04 01:04 ./slackware64/l/libdiscid-0.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 19936 2010-05-04 01:04 ./slackware64/l/libdiscid-0.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-04 01:04 ./slackware64/l/libdiscid-0.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 398 2012-06-11 16:29 ./slackware64/l/libdvdread-4.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 72256 2012-06-11 16:29 ./slackware64/l/libdvdread-4.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-11 16:29 ./slackware64/l/libdvdread-4.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 445 2011-03-27 04:25 ./slackware64/l/libelf-0.8.13-x86_64-2.txt +-rw-r--r-- 1 root root 73896 2011-03-27 04:25 ./slackware64/l/libelf-0.8.13-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-03-27 04:25 ./slackware64/l/libelf-0.8.13-x86_64-2.txz.asc +-rw-r--r-- 1 root root 397 2012-07-18 03:10 ./slackware64/l/libexif-0.6.21-x86_64-1.txt +-rw-r--r-- 1 root root 322468 2012-07-18 03:10 ./slackware64/l/libexif-0.6.21-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-18 03:10 ./slackware64/l/libexif-0.6.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 507 2012-06-24 23:24 ./slackware64/l/libffi-3.0.11-x86_64-1.txt +-rw-r--r-- 1 root root 40660 2012-06-24 23:24 ./slackware64/l/libffi-3.0.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-24 23:24 ./slackware64/l/libffi-3.0.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 349 2010-04-25 20:44 ./slackware64/l/libglade-2.6.4-x86_64-4.txt +-rw-r--r-- 1 root root 89064 2010-04-25 20:44 ./slackware64/l/libglade-2.6.4-x86_64-4.txz +-rw-r--r-- 1 root root 198 2010-04-25 20:44 ./slackware64/l/libglade-2.6.4-x86_64-4.txz.asc +-rw-r--r-- 1 root root 412 2012-07-20 00:56 ./slackware64/l/libgnome-keyring-3.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 132788 2012-07-20 00:56 ./slackware64/l/libgnome-keyring-3.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:56 ./slackware64/l/libgnome-keyring-3.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2012-07-17 17:39 ./slackware64/l/libgphoto2-2.4.14-x86_64-2.txt +-rw-r--r-- 1 root root 1100192 2012-07-17 17:39 ./slackware64/l/libgphoto2-2.4.14-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-17 17:39 ./slackware64/l/libgphoto2-2.4.14-x86_64-2.txz.asc +-rw-r--r-- 1 root root 518 2012-06-20 01:44 ./slackware64/l/libgpod-0.8.2-x86_64-1.txt +-rw-r--r-- 1 root root 297696 2012-06-20 01:44 ./slackware64/l/libgpod-0.8.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-20 01:44 ./slackware64/l/libgpod-0.8.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 336 2012-06-19 18:49 ./slackware64/l/libgsf-1.14.20-x86_64-2.txt +-rw-r--r-- 1 root root 217312 2012-06-19 18:49 ./slackware64/l/libgsf-1.14.20-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 18:49 ./slackware64/l/libgsf-1.14.20-x86_64-2.txz.asc +-rw-r--r-- 1 root root 466 2012-06-19 05:22 ./slackware64/l/libical-0.48-x86_64-1.txt +-rw-r--r-- 1 root root 468552 2012-06-19 05:22 ./slackware64/l/libical-0.48-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 05:22 ./slackware64/l/libical-0.48-x86_64-1.txz.asc +-rw-r--r-- 1 root root 318 2011-02-08 21:00 ./slackware64/l/libid3tag-0.15.1b-x86_64-4.txt +-rw-r--r-- 1 root root 36076 2011-02-08 21:00 ./slackware64/l/libid3tag-0.15.1b-x86_64-4.txz +-rw-r--r-- 1 root root 198 2011-02-08 21:00 ./slackware64/l/libid3tag-0.15.1b-x86_64-4.txz.asc +-rw-r--r-- 1 root root 338 2010-08-07 02:50 ./slackware64/l/libidl-0.8.14-x86_64-1.txt +-rw-r--r-- 1 root root 88332 2010-08-07 02:50 ./slackware64/l/libidl-0.8.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-07 02:50 ./slackware64/l/libidl-0.8.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 336 2012-06-19 17:31 ./slackware64/l/libidn-1.25-x86_64-2.txt +-rw-r--r-- 1 root root 289560 2012-06-19 17:31 ./slackware64/l/libidn-1.25-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 17:31 ./slackware64/l/libidn-1.25-x86_64-2.txz.asc +-rw-r--r-- 1 root root 380 2012-06-19 05:28 ./slackware64/l/libieee1284-0.2.11-x86_64-3.txt +-rw-r--r-- 1 root root 76096 2012-06-19 05:28 ./slackware64/l/libieee1284-0.2.11-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-19 05:28 ./slackware64/l/libieee1284-0.2.11-x86_64-3.txz.asc +-rw-r--r-- 1 root root 438 2010-05-04 01:05 ./slackware64/l/libiodbc-3.52.7-x86_64-2.txt +-rw-r--r-- 1 root root 260652 2010-05-04 01:05 ./slackware64/l/libiodbc-3.52.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2010-05-04 01:05 ./slackware64/l/libiodbc-3.52.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 662 2010-04-05 02:34 ./slackware64/l/libjpeg-v8a-x86_64-1.txt +-rw-r--r-- 1 root root 178868 2010-04-05 02:34 ./slackware64/l/libjpeg-v8a-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-04-05 02:34 ./slackware64/l/libjpeg-v8a-x86_64-1.txz.asc +-rw-r--r-- 1 root root 357 2010-12-15 01:07 ./slackware64/l/libkarma-0.1.1-x86_64-2.txt +-rw-r--r-- 1 root root 57356 2010-12-15 01:07 ./slackware64/l/libkarma-0.1.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2010-12-15 01:07 ./slackware64/l/libkarma-0.1.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 204 2012-08-14 16:22 ./slackware64/l/liblastfm-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 182452 2012-08-14 16:22 ./slackware64/l/liblastfm-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-14 16:22 ./slackware64/l/liblastfm-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 600 2008-10-09 14:07 ./slackware64/l/libmad-0.15.1b-x86_64-3.txt +-rw-r--r-- 1 root root 70860 2008-10-09 14:07 ./slackware64/l/libmad-0.15.1b-x86_64-3.txz +-rw-r--r-- 1 root root 197 2008-10-09 14:07 ./slackware64/l/libmad-0.15.1b-x86_64-3.txz.asc +-rw-r--r-- 1 root root 552 2009-04-05 13:37 ./slackware64/l/libmcrypt-2.5.8-x86_64-1.txt +-rw-r--r-- 1 root root 81464 2009-04-05 13:37 ./slackware64/l/libmcrypt-2.5.8-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-04-05 13:37 ./slackware64/l/libmcrypt-2.5.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 509 2010-08-09 18:06 ./slackware64/l/libmcs-0.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 16208 2010-08-09 18:06 ./slackware64/l/libmcs-0.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 18:06 ./slackware64/l/libmcs-0.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 484 2010-02-14 23:25 ./slackware64/l/libmng-1.0.10-x86_64-2.txt +-rw-r--r-- 1 root root 211592 2010-02-14 23:25 ./slackware64/l/libmng-1.0.10-x86_64-2.txz +-rw-r--r-- 1 root root 197 2010-02-14 23:25 ./slackware64/l/libmng-1.0.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 399 2010-08-09 17:50 ./slackware64/l/libmowgli-0.7.1-x86_64-1.txt +-rw-r--r-- 1 root root 32144 2010-08-09 17:50 ./slackware64/l/libmowgli-0.7.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 17:50 ./slackware64/l/libmowgli-0.7.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 376 2011-02-08 17:40 ./slackware64/l/libmpc-0.8.2-x86_64-2.txt +-rw-r--r-- 1 root root 70112 2011-02-08 17:40 ./slackware64/l/libmpc-0.8.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-02-08 17:40 ./slackware64/l/libmpc-0.8.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 315 2012-07-04 00:39 ./slackware64/l/libmsn-4.2.1-x86_64-2.txt +-rw-r--r-- 1 root root 258708 2012-07-04 00:39 ./slackware64/l/libmsn-4.2.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 00:39 ./slackware64/l/libmsn-4.2.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 602 2012-08-10 22:30 ./slackware64/l/libmtp-1.1.3-x86_64-2.txt +-rw-r--r-- 1 root root 169320 2012-08-10 22:30 ./slackware64/l/libmtp-1.1.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-10 22:30 ./slackware64/l/libmtp-1.1.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 540 2010-08-09 18:34 ./slackware64/l/libnjb-2.2.6-x86_64-5.txt +-rw-r--r-- 1 root root 223428 2010-08-09 18:34 ./slackware64/l/libnjb-2.2.6-x86_64-5.txz +-rw-r--r-- 1 root root 198 2010-08-09 18:34 ./slackware64/l/libnjb-2.2.6-x86_64-5.txz.asc +-rw-r--r-- 1 root root 330 2009-03-31 10:18 ./slackware64/l/libnl-1.1-x86_64-1.txt +-rw-r--r-- 1 root root 119472 2009-03-31 10:18 ./slackware64/l/libnl-1.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-03-31 10:18 ./slackware64/l/libnl-1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 524 2012-07-08 21:29 ./slackware64/l/libnl3-3.2.11-x86_64-1.txt +-rw-r--r-- 1 root root 212200 2012-07-08 21:29 ./slackware64/l/libnl3-3.2.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 21:29 ./slackware64/l/libnl3-3.2.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 251 2012-07-10 16:53 ./slackware64/l/libnotify-0.7.5-x86_64-1.txt +-rw-r--r-- 1 root root 46468 2012-07-10 16:53 ./slackware64/l/libnotify-0.7.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-10 16:53 ./slackware64/l/libnotify-0.7.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 305 2012-07-07 02:16 ./slackware64/l/libogg-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 72648 2012-07-07 02:16 ./slackware64/l/libogg-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 02:16 ./slackware64/l/libogg-1.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 580 2011-03-09 20:23 ./slackware64/l/liboggz-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 181980 2011-03-09 20:23 ./slackware64/l/liboggz-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-09 20:23 ./slackware64/l/liboggz-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 576 2010-08-09 18:38 ./slackware64/l/liboil-0.3.17-x86_64-1.txt +-rw-r--r-- 1 root root 162476 2010-08-09 18:38 ./slackware64/l/liboil-0.3.17-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 18:38 ./slackware64/l/liboil-0.3.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 450 2012-07-04 03:54 ./slackware64/l/libpcap-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 260736 2012-07-04 03:54 ./slackware64/l/libpcap-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:54 ./slackware64/l/libpcap-1.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 337 2012-06-19 19:47 ./slackware64/l/libplist-1.4-x86_64-1.txt +-rw-r--r-- 1 root root 102924 2012-06-19 19:47 ./slackware64/l/libplist-1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 19:47 ./slackware64/l/libplist-1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 492 2012-07-24 20:17 ./slackware64/l/libpng-1.4.12-x86_64-1.txt +-rw-r--r-- 1 root root 605148 2012-07-24 20:17 ./slackware64/l/libpng-1.4.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-24 20:17 ./slackware64/l/libpng-1.4.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 500 2012-07-20 00:57 ./slackware64/l/libproxy-0.4.7-x86_64-1.txt +-rw-r--r-- 1 root root 83292 2012-07-20 00:57 ./slackware64/l/libproxy-0.4.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:57 ./slackware64/l/libproxy-0.4.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 351 2011-03-17 22:57 ./slackware64/l/libraw1394-2.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 64768 2011-03-17 22:57 ./slackware64/l/libraw1394-2.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-17 22:57 ./slackware64/l/libraw1394-2.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 174 2012-07-07 03:49 ./slackware64/l/librsvg-2.36.1-x86_64-1.txt +-rw-r--r-- 1 root root 149304 2012-07-07 03:49 ./slackware64/l/librsvg-2.36.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 03:49 ./slackware64/l/librsvg-2.36.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 653 2011-01-26 05:13 ./slackware64/l/libsamplerate-0.1.7-x86_64-2.txt +-rw-r--r-- 1 root root 993312 2011-01-26 05:13 ./slackware64/l/libsamplerate-0.1.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-01-26 05:13 ./slackware64/l/libsamplerate-0.1.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 370 2011-04-17 16:57 ./slackware64/l/libsndfile-1.0.24-x86_64-1.txt +-rw-r--r-- 1 root root 242904 2011-04-17 16:57 ./slackware64/l/libsndfile-1.0.24-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-04-17 16:57 ./slackware64/l/libsndfile-1.0.24-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2012-09-13 20:16 ./slackware64/l/libsoup-2.38.1-x86_64-2.txt +-rw-r--r-- 1 root root 369988 2012-09-13 20:16 ./slackware64/l/libsoup-2.38.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-13 20:16 ./slackware64/l/libsoup-2.38.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 413 2012-07-15 16:51 ./slackware64/l/libspectre-0.2.6-x86_64-1.txt +-rw-r--r-- 1 root root 38412 2012-07-15 16:51 ./slackware64/l/libspectre-0.2.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-15 16:51 ./slackware64/l/libspectre-0.2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 406 2012-04-08 20:59 ./slackware64/l/libssh-0.5.2-x86_64-1.txt +-rw-r--r-- 1 root root 130820 2012-04-08 20:59 ./slackware64/l/libssh-0.5.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/libssh-0.5.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 426 2012-07-20 00:55 ./slackware64/l/libtasn1-2.12-x86_64-1.txt +-rw-r--r-- 1 root root 114356 2012-07-20 00:55 ./slackware64/l/libtasn1-2.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:55 ./slackware64/l/libtasn1-2.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 477 2008-09-28 22:17 ./slackware64/l/libtermcap-1.2.3-x86_64-7.txt +-rw-r--r-- 1 root root 59224 2008-09-28 22:17 ./slackware64/l/libtermcap-1.2.3-x86_64-7.txz +-rw-r--r-- 1 root root 197 2008-09-28 22:17 ./slackware64/l/libtermcap-1.2.3-x86_64-7.txz.asc +-rw-r--r-- 1 root root 625 2010-02-17 23:33 ./slackware64/l/libtheora-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 183020 2010-02-17 23:33 ./slackware64/l/libtheora-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-17 23:33 ./slackware64/l/libtheora-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 394 2012-04-07 20:39 ./slackware64/l/libtiff-3.9.6-x86_64-1.txt +-rw-r--r-- 1 root root 473248 2012-04-07 20:39 ./slackware64/l/libtiff-3.9.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-07 20:39 ./slackware64/l/libtiff-3.9.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 277 2012-06-27 22:51 ./slackware64/l/libusb-1.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 61128 2012-06-27 22:51 ./slackware64/l/libusb-1.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-27 22:51 ./slackware64/l/libusb-1.0.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 445 2012-06-27 22:55 ./slackware64/l/libusb-compat-0.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 28552 2012-06-27 22:55 ./slackware64/l/libusb-compat-0.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-27 22:55 ./slackware64/l/libusb-compat-0.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 544 2012-07-18 04:06 ./slackware64/l/libvisual-0.4.0-x86_64-3.txt +-rw-r--r-- 1 root root 130960 2012-07-18 04:06 ./slackware64/l/libvisual-0.4.0-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-18 04:06 ./slackware64/l/libvisual-0.4.0-x86_64-3.txz.asc +-rw-r--r-- 1 root root 722 2009-06-10 01:25 ./slackware64/l/libvisual-plugins-0.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 220752 2009-06-10 01:25 ./slackware64/l/libvisual-plugins-0.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-06-10 01:25 ./slackware64/l/libvisual-plugins-0.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 374 2012-07-08 19:05 ./slackware64/l/libvncserver-0.9.9-x86_64-2.txt +-rw-r--r-- 1 root root 237268 2012-07-08 19:05 ./slackware64/l/libvncserver-0.9.9-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-08 19:05 ./slackware64/l/libvncserver-0.9.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 560 2012-07-07 02:29 ./slackware64/l/libvorbis-1.3.3-x86_64-1.txt +-rw-r--r-- 1 root root 311052 2012-07-07 02:29 ./slackware64/l/libvorbis-1.3.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 02:29 ./slackware64/l/libvorbis-1.3.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 288 2010-02-15 00:25 ./slackware64/l/libwmf-0.2.8.4-x86_64-5.txt +-rw-r--r-- 1 root root 752556 2010-02-15 00:25 ./slackware64/l/libwmf-0.2.8.4-x86_64-5.txz +-rw-r--r-- 1 root root 197 2010-02-15 00:25 ./slackware64/l/libwmf-0.2.8.4-x86_64-5.txz.asc +-rw-r--r-- 1 root root 305 2010-02-15 00:25 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-5.txt +-rw-r--r-- 1 root root 207316 2010-02-15 00:25 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-5.txz +-rw-r--r-- 1 root root 197 2010-02-15 00:25 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-5.txz.asc +-rw-r--r-- 1 root root 475 2012-07-08 22:53 ./slackware64/l/libwnck-2.30.7-x86_64-2.txt +-rw-r--r-- 1 root root 377712 2012-07-08 22:53 ./slackware64/l/libwnck-2.30.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-08 22:53 ./slackware64/l/libwnck-2.30.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 316 2012-08-02 21:01 ./slackware64/l/libwpd-0.9.4-x86_64-1.txt +-rw-r--r-- 1 root root 401840 2012-08-02 21:01 ./slackware64/l/libwpd-0.9.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-02 21:01 ./slackware64/l/libwpd-0.9.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 292 2012-07-08 01:21 ./slackware64/l/libxklavier-5.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 76208 2012-07-08 01:21 ./slackware64/l/libxklavier-5.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 01:21 ./slackware64/l/libxklavier-5.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 522 2012-06-24 15:24 ./slackware64/l/libxml2-2.8.0-x86_64-1.txt +-rw-r--r-- 1 root root 1460252 2012-06-24 15:24 ./slackware64/l/libxml2-2.8.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-24 15:24 ./slackware64/l/libxml2-2.8.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 220 2012-06-19 05:16 ./slackware64/l/libxslt-1.1.26-x86_64-2.txt +-rw-r--r-- 1 root root 412536 2012-06-19 05:16 ./slackware64/l/libxslt-1.1.26-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 05:16 ./slackware64/l/libxslt-1.1.26-x86_64-2.txz.asc +-rw-r--r-- 1 root root 287 2012-07-04 03:31 ./slackware64/l/libyaml-0.1.4-x86_64-1.txt +-rw-r--r-- 1 root root 107528 2012-07-04 03:31 ./slackware64/l/libyaml-0.1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:31 ./slackware64/l/libyaml-0.1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2010-08-09 18:45 ./slackware64/l/libzip-0.9.3-x86_64-1.txt +-rw-r--r-- 1 root root 90092 2010-08-09 18:45 ./slackware64/l/libzip-0.9.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 18:45 ./slackware64/l/libzip-0.9.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 440 2012-07-22 21:47 ./slackware64/l/loudmouth-1.4.3-x86_64-3.txt +-rw-r--r-- 1 root root 79332 2012-07-22 21:47 ./slackware64/l/loudmouth-1.4.3-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-22 21:47 ./slackware64/l/loudmouth-1.4.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 273 2010-08-09 18:48 ./slackware64/l/lzo-2.03-x86_64-1.txt +-rw-r--r-- 1 root root 73672 2010-08-09 18:48 ./slackware64/l/lzo-2.03-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 18:48 ./slackware64/l/lzo-2.03-x86_64-1.txz.asc +-rw-r--r-- 1 root root 16823 2012-08-15 05:11 ./slackware64/l/maketag +-rw-r--r-- 1 root root 16823 2012-08-15 05:11 ./slackware64/l/maketag.ez +-rw-r--r-- 1 root root 510 2012-07-20 19:45 ./slackware64/l/media-player-info-17-noarch-1.txt +-rw-r--r-- 1 root root 27188 2012-07-20 19:45 ./slackware64/l/media-player-info-17-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 19:45 ./slackware64/l/media-player-info-17-noarch-1.txz.asc +-rw-r--r-- 1 root root 468 2011-02-16 21:33 ./slackware64/l/mhash-0.9.9.9-x86_64-3.txt +-rw-r--r-- 1 root root 121720 2011-02-16 21:33 ./slackware64/l/mhash-0.9.9.9-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-02-16 21:33 ./slackware64/l/mhash-0.9.9.9-x86_64-3.txz.asc +-rw-r--r-- 1 root root 550 2008-10-10 09:58 ./slackware64/l/mm-1.4.2-x86_64-2.txt +-rw-r--r-- 1 root root 32612 2008-10-10 09:58 ./slackware64/l/mm-1.4.2-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-10-10 09:58 ./slackware64/l/mm-1.4.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 564 2012-09-23 17:51 ./slackware64/l/mozilla-nss-3.13.5-x86_64-3.txt +-rw-r--r-- 1 root root 1519440 2012-09-23 17:51 ./slackware64/l/mozilla-nss-3.13.5-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-09-23 17:51 ./slackware64/l/mozilla-nss-3.13.5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 587 2012-03-23 00:49 ./slackware64/l/mpfr-3.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 319248 2012-03-23 00:49 ./slackware64/l/mpfr-3.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-03-23 00:49 ./slackware64/l/mpfr-3.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2011-04-05 02:48 ./slackware64/l/ncurses-5.9-x86_64-1.txt +-rw-r--r-- 1 root root 1079328 2011-04-05 02:48 ./slackware64/l/ncurses-5.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-04-05 02:48 ./slackware64/l/ncurses-5.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 343 2012-07-04 00:17 ./slackware64/l/neon-0.29.6-x86_64-2.txt +-rw-r--r-- 1 root root 207400 2012-07-04 00:17 ./slackware64/l/neon-0.29.6-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 00:17 ./slackware64/l/neon-0.29.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 231 2010-02-15 01:22 ./slackware64/l/netpbm-10.49.02-x86_64-1.txt +-rw-r--r-- 1 root root 1629468 2010-02-15 01:22 ./slackware64/l/netpbm-10.49.02-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-15 01:22 ./slackware64/l/netpbm-10.49.02-x86_64-1.txz.asc +-rw-r--r-- 1 root root 354 2012-07-10 18:15 ./slackware64/l/notify-python-0.1.1-x86_64-3.txt +-rw-r--r-- 1 root root 18896 2012-07-10 18:15 ./slackware64/l/notify-python-0.1.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-10 18:15 ./slackware64/l/notify-python-0.1.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 457 2010-08-09 19:15 ./slackware64/l/openexr-1.7.0-x86_64-1.txt +-rw-r--r-- 1 root root 3053004 2010-08-09 19:15 ./slackware64/l/openexr-1.7.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 19:15 ./slackware64/l/openexr-1.7.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2012-07-06 17:11 ./slackware64/l/pango-1.30.1-x86_64-1.txt +-rw-r--r-- 1 root root 543996 2012-07-06 17:11 ./slackware64/l/pango-1.30.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-06 17:11 ./slackware64/l/pango-1.30.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2010-11-06 21:30 ./slackware64/l/parted-2.3-x86_64-1.txt +-rw-r--r-- 1 root root 519756 2010-11-06 21:30 ./slackware64/l/parted-2.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-06 21:30 ./slackware64/l/parted-2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 364 2011-03-26 05:23 ./slackware64/l/pcre-8.12-x86_64-1.txt +-rw-r--r-- 1 root root 442552 2011-03-26 05:23 ./slackware64/l/pcre-8.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-26 05:23 ./slackware64/l/pcre-8.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 425 2012-04-08 20:59 ./slackware64/l/phonon-4.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 208684 2012-04-08 20:59 ./slackware64/l/phonon-4.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/phonon-4.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 447 2012-08-14 16:24 ./slackware64/l/phonon-gstreamer-4.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 109276 2012-08-14 16:24 ./slackware64/l/phonon-gstreamer-4.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-14 16:24 ./slackware64/l/phonon-gstreamer-4.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 372 2012-04-08 20:59 ./slackware64/l/phonon-mplayer-1b1fd1f_20110823git-x86_64-1.txt +-rw-r--r-- 1 root root 84960 2012-04-08 20:59 ./slackware64/l/phonon-mplayer-1b1fd1f_20110823git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/phonon-mplayer-1b1fd1f_20110823git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 374 2012-04-08 20:59 ./slackware64/l/phonon-xine-4.4.4-x86_64-1.txt +-rw-r--r-- 1 root root 115512 2012-04-08 20:59 ./slackware64/l/phonon-xine-4.4.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/phonon-xine-4.4.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 419 2012-06-19 19:51 ./slackware64/l/pil-1.1.7-x86_64-2.txt +-rw-r--r-- 1 root root 374568 2012-06-19 19:51 ./slackware64/l/pil-1.1.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 19:51 ./slackware64/l/pil-1.1.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 416 2012-06-19 18:50 ./slackware64/l/pilot-link-0.12.5-x86_64-6.txt +-rw-r--r-- 1 root root 558844 2012-06-19 18:50 ./slackware64/l/pilot-link-0.12.5-x86_64-6.txz +-rw-r--r-- 1 root root 198 2012-06-19 18:50 ./slackware64/l/pilot-link-0.12.5-x86_64-6.txz.asc +-rw-r--r-- 1 root root 450 2012-08-11 02:38 ./slackware64/l/polkit-0.105-x86_64-3.txt +-rw-r--r-- 1 root root 387288 2012-08-11 02:38 ./slackware64/l/polkit-0.105-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-11 02:38 ./slackware64/l/polkit-0.105-x86_64-3.txz.asc +-rw-r--r-- 1 root root 367 2012-07-08 01:03 ./slackware64/l/polkit-gnome-0.102-x86_64-1.txt +-rw-r--r-- 1 root root 96460 2012-07-08 01:03 ./slackware64/l/polkit-gnome-0.102-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 01:03 ./slackware64/l/polkit-gnome-0.102-x86_64-1.txz.asc +-rw-r--r-- 1 root root 442 2012-04-08 21:00 ./slackware64/l/polkit-qt-1-0.103.0-x86_64-1.txt +-rw-r--r-- 1 root root 71556 2012-04-08 21:00 ./slackware64/l/polkit-qt-1-0.103.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 21:00 ./slackware64/l/polkit-qt-1-0.103.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 494 2012-08-02 20:57 ./slackware64/l/poppler-0.20.2-x86_64-1.txt +-rw-r--r-- 1 root root 1210280 2012-08-02 20:57 ./slackware64/l/poppler-0.20.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-02 20:57 ./slackware64/l/poppler-0.20.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 601 2012-07-05 01:38 ./slackware64/l/poppler-data-0.4.5-noarch-1.txt +-rw-r--r-- 1 root root 1462528 2012-07-05 01:38 ./slackware64/l/poppler-data-0.4.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 01:38 ./slackware64/l/poppler-data-0.4.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 592 2010-04-30 02:44 ./slackware64/l/popt-1.7-x86_64-3.txt +-rw-r--r-- 1 root root 41380 2010-04-30 02:44 ./slackware64/l/popt-1.7-x86_64-3.txz +-rw-r--r-- 1 root root 198 2010-04-30 02:44 ./slackware64/l/popt-1.7-x86_64-3.txz.asc +-rw-r--r-- 1 root root 286 2012-06-19 19:17 ./slackware64/l/pycairo-1.8.10-x86_64-2.txt +-rw-r--r-- 1 root root 45068 2012-06-19 19:17 ./slackware64/l/pycairo-1.8.10-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 19:17 ./slackware64/l/pycairo-1.8.10-x86_64-2.txz.asc +-rw-r--r-- 1 root root 239 2012-06-19 18:02 ./slackware64/l/pycups-1.9.61-x86_64-1.txt +-rw-r--r-- 1 root root 65380 2012-06-19 18:02 ./slackware64/l/pycups-1.9.61-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 18:02 ./slackware64/l/pycups-1.9.61-x86_64-1.txz.asc +-rw-r--r-- 1 root root 391 2012-07-04 16:48 ./slackware64/l/pycurl-7.19.0-x86_64-2.txt +-rw-r--r-- 1 root root 49460 2012-07-04 16:48 ./slackware64/l/pycurl-7.19.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:48 ./slackware64/l/pycurl-7.19.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 398 2012-09-04 17:58 ./slackware64/l/pygobject-2.28.6-x86_64-2.txt +-rw-r--r-- 1 root root 410788 2012-09-04 17:58 ./slackware64/l/pygobject-2.28.6-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-04 17:58 ./slackware64/l/pygobject-2.28.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 320 2012-07-07 04:30 ./slackware64/l/pygtk-2.24.0-x86_64-1.txt +-rw-r--r-- 1 root root 1746124 2012-07-07 04:30 ./slackware64/l/pygtk-2.24.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 04:30 ./slackware64/l/pygtk-2.24.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 392 2012-06-19 20:13 ./slackware64/l/pyrex-0.9.9-x86_64-2.txt +-rw-r--r-- 1 root root 249900 2012-06-19 20:13 ./slackware64/l/pyrex-0.9.9-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 20:13 ./slackware64/l/pyrex-0.9.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 567 2009-11-03 22:37 ./slackware64/l/qca-2.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 543344 2009-11-03 22:37 ./slackware64/l/qca-2.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-11-03 22:37 ./slackware64/l/qca-2.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 280 2008-12-16 15:26 ./slackware64/l/qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txt +-rw-r--r-- 1 root root 25916 2008-12-16 15:26 ./slackware64/l/qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-12-16 15:26 ./slackware64/l/qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 200 2008-12-16 15:29 ./slackware64/l/qca-gnupg-2.0.0_beta3-x86_64-1.txt +-rw-r--r-- 1 root root 83252 2008-12-16 15:29 ./slackware64/l/qca-gnupg-2.0.0_beta3-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-12-16 15:29 ./slackware64/l/qca-gnupg-2.0.0_beta3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 493 2012-07-04 03:16 ./slackware64/l/qca-ossl-2.0.0_beta3-x86_64-2.txt +-rw-r--r-- 1 root root 95408 2012-07-04 03:16 ./slackware64/l/qca-ossl-2.0.0_beta3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:16 ./slackware64/l/qca-ossl-2.0.0_beta3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 395 2010-07-12 21:11 ./slackware64/l/qimageblitz-0.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 68836 2010-07-12 21:11 ./slackware64/l/qimageblitz-0.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-07-12 21:11 ./slackware64/l/qimageblitz-0.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 266 2012-08-30 16:18 ./slackware64/l/qt-4.8.2-x86_64-4.txt +-rw-r--r-- 1 root root 162500484 2012-08-30 16:18 ./slackware64/l/qt-4.8.2-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-08-30 16:18 ./slackware64/l/qt-4.8.2-x86_64-4.txz.asc +-rw-r--r-- 1 root root 488 2012-04-05 16:44 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 4206624 2012-04-05 16:44 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-05 16:44 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 557 2012-08-09 02:06 ./slackware64/l/raptor2-2.0.8-x86_64-1.txt +-rw-r--r-- 1 root root 324788 2012-08-09 02:06 ./slackware64/l/raptor2-2.0.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-09 02:06 ./slackware64/l/raptor2-2.0.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 428 2012-06-21 02:00 ./slackware64/l/rasqal-0.9.29-x86_64-1.txt +-rw-r--r-- 1 root root 283968 2012-06-21 02:00 ./slackware64/l/rasqal-0.9.29-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-21 02:00 ./slackware64/l/rasqal-0.9.29-x86_64-1.txz.asc +-rw-r--r-- 1 root root 559 2009-02-22 15:40 ./slackware64/l/readline-5.2-x86_64-4.txt +-rw-r--r-- 1 root root 280136 2009-02-22 15:40 ./slackware64/l/readline-5.2-x86_64-4.txz +-rw-r--r-- 1 root root 197 2009-02-22 15:40 ./slackware64/l/readline-5.2-x86_64-4.txz.asc +-rw-r--r-- 1 root root 528 2012-07-04 02:45 ./slackware64/l/redland-1.0.15-x86_64-4.txt +-rw-r--r-- 1 root root 290300 2012-07-04 02:45 ./slackware64/l/redland-1.0.15-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-07-04 02:45 ./slackware64/l/redland-1.0.15-x86_64-4.txz.asc +-rw-r--r-- 1 root root 487 2011-04-25 05:29 ./slackware64/l/sdl-1.2.14-x86_64-5.txt +-rw-r--r-- 1 root root 666788 2011-04-25 05:29 ./slackware64/l/sdl-1.2.14-x86_64-5.txz +-rw-r--r-- 1 root root 198 2011-04-25 05:29 ./slackware64/l/sdl-1.2.14-x86_64-5.txz.asc +-rw-r--r-- 1 root root 697 2012-09-10 17:32 ./slackware64/l/seamonkey-solibs-2.12.1-x86_64-1.txt +-rw-r--r-- 1 root root 2357444 2012-09-10 17:32 ./slackware64/l/seamonkey-solibs-2.12.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-10 17:32 ./slackware64/l/seamonkey-solibs-2.12.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 583 2012-04-08 20:57 ./slackware64/l/sg3_utils-1.33-x86_64-1.txt +-rw-r--r-- 1 root root 553408 2012-04-08 20:57 ./slackware64/l/sg3_utils-1.33-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:57 ./slackware64/l/sg3_utils-1.33-x86_64-1.txz.asc +-rw-r--r-- 1 root root 642 2012-04-08 20:58 ./slackware64/l/shared-desktop-ontologies-0.9.0-x86_64-1.txt +-rw-r--r-- 1 root root 96360 2012-04-08 20:58 ./slackware64/l/shared-desktop-ontologies-0.9.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/shared-desktop-ontologies-0.9.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 512 2012-08-14 19:15 ./slackware64/l/shared-mime-info-1.0-x86_64-2.txt +-rw-r--r-- 1 root root 395984 2012-08-14 19:15 ./slackware64/l/shared-mime-info-1.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-14 19:15 ./slackware64/l/shared-mime-info-1.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 395 2012-06-19 06:14 ./slackware64/l/sip-4.13.2-x86_64-2.txt +-rw-r--r-- 1 root root 362636 2012-06-19 06:14 ./slackware64/l/sip-4.13.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 06:14 ./slackware64/l/sip-4.13.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 538 2011-01-01 20:17 ./slackware64/l/slang-2.2.3-x86_64-1.txt +-rw-r--r-- 1 root root 430916 2011-01-01 20:17 ./slackware64/l/slang-2.2.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-01 20:17 ./slackware64/l/slang-2.2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 549 2008-10-13 21:08 ./slackware64/l/slang1-1.4.9-x86_64-1.txt +-rw-r--r-- 1 root root 191920 2008-10-13 21:08 ./slackware64/l/slang1-1.4.9-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-13 21:08 ./slackware64/l/slang1-1.4.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 389 2012-06-20 23:31 ./slackware64/l/soprano-2.7.6-x86_64-1.txt +-rw-r--r-- 1 root root 595972 2012-06-20 23:31 ./slackware64/l/soprano-2.7.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-20 23:31 ./slackware64/l/soprano-2.7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 481 2012-07-20 00:58 ./slackware64/l/sound-theme-freedesktop-0.7-noarch-1.txt +-rw-r--r-- 1 root root 389900 2012-07-20 00:58 ./slackware64/l/sound-theme-freedesktop-0.7-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/l/sound-theme-freedesktop-0.7-noarch-1.txz.asc +-rw-r--r-- 1 root root 359 2012-05-03 23:03 ./slackware64/l/startup-notification-0.12-x86_64-1.txt +-rw-r--r-- 1 root root 30016 2012-05-03 23:03 ./slackware64/l/startup-notification-0.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-03 23:03 ./slackware64/l/startup-notification-0.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 509 2012-07-26 23:41 ./slackware64/l/strigi-0.7.7-x86_64-2.txt +-rw-r--r-- 1 root root 656588 2012-07-26 23:41 ./slackware64/l/strigi-0.7.7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-26 23:41 ./slackware64/l/strigi-0.7.7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 344 2009-03-10 11:44 ./slackware64/l/svgalib-1.9.25-x86_64-2.txt +-rw-r--r-- 1 root root 596412 2009-03-10 11:44 ./slackware64/l/svgalib-1.9.25-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-03-10 11:44 ./slackware64/l/svgalib-1.9.25-x86_64-2.txz.asc +-rw-r--r-- 1 root root 745 2012-06-19 20:06 ./slackware64/l/system-config-printer-1.3.9-x86_64-1.txt +-rw-r--r-- 1 root root 667904 2012-06-19 20:06 ./slackware64/l/system-config-printer-1.3.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 20:06 ./slackware64/l/system-config-printer-1.3.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 357 2012-08-10 19:13 ./slackware64/l/t1lib-5.1.2-x86_64-3.txt +-rw-r--r-- 1 root root 515356 2012-08-10 19:13 ./slackware64/l/t1lib-5.1.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-10 19:13 ./slackware64/l/t1lib-5.1.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 3033 2012-08-15 05:11 ./slackware64/l/tagfile +-rw-r--r-- 1 root root 340 2012-06-19 23:09 ./slackware64/l/taglib-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 235908 2012-06-19 23:09 ./slackware64/l/taglib-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 23:09 ./slackware64/l/taglib-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 521 2009-10-03 00:39 ./slackware64/l/taglib-extras-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 28432 2009-10-03 00:39 ./slackware64/l/taglib-extras-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-10-03 00:39 ./slackware64/l/taglib-extras-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 523 2009-03-06 09:44 ./slackware64/l/tango-icon-theme-0.8.90-noarch-1.txt +-rw-r--r-- 1 root root 1245240 2009-03-06 09:44 ./slackware64/l/tango-icon-theme-0.8.90-noarch-1.txz +-rw-r--r-- 1 root root 197 2009-03-06 09:44 ./slackware64/l/tango-icon-theme-0.8.90-noarch-1.txz.asc +-rw-r--r-- 1 root root 541 2008-10-23 08:28 ./slackware64/l/tango-icon-theme-extras-0.1.0-noarch-1.txt +-rw-r--r-- 1 root root 55540 2008-10-23 08:28 ./slackware64/l/tango-icon-theme-extras-0.1.0-noarch-1.txz +-rw-r--r-- 1 root root 197 2008-10-23 08:28 ./slackware64/l/tango-icon-theme-extras-0.1.0-noarch-1.txz.asc +-rw-r--r-- 1 root root 386 2012-06-19 18:52 ./slackware64/l/urwid-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 336016 2012-06-19 18:52 ./slackware64/l/urwid-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 18:52 ./slackware64/l/urwid-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 553 2012-07-04 17:08 ./slackware64/l/v4l-utils-0.8.8-x86_64-2.txt +-rw-r--r-- 1 root root 324012 2012-07-04 17:08 ./slackware64/l/v4l-utils-0.8.8-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:08 ./slackware64/l/v4l-utils-0.8.8-x86_64-2.txz.asc +-rw-r--r-- 1 root root 427 2012-07-04 16:50 ./slackware64/l/virtuoso-ose-6.1.3-x86_64-3.txt +-rw-r--r-- 1 root root 7182748 2012-07-04 16:50 ./slackware64/l/virtuoso-ose-6.1.3-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:50 ./slackware64/l/virtuoso-ose-6.1.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 256 2012-08-09 02:25 ./slackware64/l/vte-0.28.2-x86_64-2.txt +-rw-r--r-- 1 root root 370336 2012-08-09 02:25 ./slackware64/l/vte-0.28.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-09 02:25 ./slackware64/l/vte-0.28.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 381 2010-08-09 21:18 ./slackware64/l/wavpack-4.60.1-x86_64-1.txt +-rw-r--r-- 1 root root 121360 2010-08-09 21:18 ./slackware64/l/wavpack-4.60.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-09 21:18 ./slackware64/l/wavpack-4.60.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2012-03-18 23:42 ./slackware64/l/zlib-1.2.6-x86_64-1.txt +-rw-r--r-- 1 root root 98448 2012-03-18 23:42 ./slackware64/l/zlib-1.2.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-03-18 23:42 ./slackware64/l/zlib-1.2.6-x86_64-1.txz.asc +drwxr-xr-x 2 root root 20480 2012-09-20 00:07 ./slackware64/n +-rw-r--r-- 1 root root 369 2012-08-08 23:29 ./slackware64/n/ModemManager-0.5.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 287580 2012-08-08 23:29 ./slackware64/n/ModemManager-0.5.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-08 23:29 ./slackware64/n/ModemManager-0.5.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 603 2012-08-13 15:49 ./slackware64/n/NetworkManager-0.9.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 912912 2012-08-13 15:49 ./slackware64/n/NetworkManager-0.9.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-13 15:49 ./slackware64/n/NetworkManager-0.9.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 645 2012-07-09 04:44 ./slackware64/n/alpine-2.02-x86_64-1.txt +-rw-r--r-- 1 root root 1947460 2012-07-09 04:44 ./slackware64/n/alpine-2.02-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 04:44 ./slackware64/n/alpine-2.02-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2010-03-05 23:03 ./slackware64/n/autofs-5.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 304952 2010-03-05 23:03 ./slackware64/n/autofs-5.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-03-05 23:03 ./slackware64/n/autofs-5.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 686 2008-10-23 23:09 ./slackware64/n/biff+comsat-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 10972 2008-10-23 23:09 ./slackware64/n/biff+comsat-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-23 23:09 ./slackware64/n/biff+comsat-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 336 2012-09-13 19:19 ./slackware64/n/bind-9.9.1_P3-x86_64-1.txt +-rw-r--r-- 1 root root 1950796 2012-09-13 19:19 ./slackware64/n/bind-9.9.1_P3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-13 19:19 ./slackware64/n/bind-9.9.1_P3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 347 2012-09-09 17:37 ./slackware64/n/bluez-4.99-x86_64-2.txt +-rw-r--r-- 1 root root 664716 2012-09-09 17:37 ./slackware64/n/bluez-4.99-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-09 17:37 ./slackware64/n/bluez-4.99-x86_64-2.txz.asc +-rw-r--r-- 1 root root 367 2008-10-23 23:26 ./slackware64/n/bluez-firmware-1.2-x86_64-1.txt +-rw-r--r-- 1 root root 71980 2008-10-23 23:26 ./slackware64/n/bluez-firmware-1.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-23 23:26 ./slackware64/n/bluez-firmware-1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 445 2012-07-08 05:42 ./slackware64/n/bluez-hcidump-2.4-x86_64-1.txt +-rw-r--r-- 1 root root 129020 2012-07-08 05:42 ./slackware64/n/bluez-hcidump-2.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 05:42 ./slackware64/n/bluez-hcidump-2.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 420 2008-10-14 11:45 ./slackware64/n/bootp-2.4.3-x86_64-2.txt +-rw-r--r-- 1 root root 49328 2008-10-14 11:45 ./slackware64/n/bootp-2.4.3-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-10-14 11:45 ./slackware64/n/bootp-2.4.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 591 2010-08-10 21:36 ./slackware64/n/bridge-utils-1.4-x86_64-1.txt +-rw-r--r-- 1 root root 29096 2010-08-10 21:36 ./slackware64/n/bridge-utils-1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-10 21:36 ./slackware64/n/bridge-utils-1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 613 2008-10-25 11:36 ./slackware64/n/bsd-finger-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 18984 2008-10-25 11:36 ./slackware64/n/bsd-finger-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-25 11:36 ./slackware64/n/bsd-finger-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 430 2012-09-11 21:15 ./slackware64/n/ca-certificates-20120623-noarch-2.txt +-rw-r--r-- 1 root root 132104 2012-09-11 21:15 ./slackware64/n/ca-certificates-20120623-noarch-2.txz +-rw-r--r-- 1 root root 198 2012-09-11 21:15 ./slackware64/n/ca-certificates-20120623-noarch-2.txz.asc +-rw-r--r-- 1 root root 606 2012-06-25 17:06 ./slackware64/n/cifs-utils-5.5-x86_64-2.txt +-rw-r--r-- 1 root root 180616 2012-06-25 17:06 ./slackware64/n/cifs-utils-5.5-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-25 17:06 ./slackware64/n/cifs-utils-5.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 415 2010-05-03 01:19 ./slackware64/n/crda-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 13484 2010-05-03 01:19 ./slackware64/n/crda-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-03 01:19 ./slackware64/n/crda-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 555 2012-08-17 19:59 ./slackware64/n/curl-7.27.0-x86_64-2.txt +-rw-r--r-- 1 root root 746016 2012-08-17 19:59 ./slackware64/n/curl-7.27.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-17 19:59 ./slackware64/n/curl-7.27.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 375 2012-07-04 01:57 ./slackware64/n/cyrus-sasl-2.1.23-x86_64-4.txt +-rw-r--r-- 1 root root 414668 2012-07-04 01:57 ./slackware64/n/cyrus-sasl-2.1.23-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-07-04 01:57 ./slackware64/n/cyrus-sasl-2.1.23-x86_64-4.txz.asc +-rw-r--r-- 1 root root 644 2012-09-14 18:10 ./slackware64/n/dhcp-4.2.4_P2-x86_64-1.txt +-rw-r--r-- 1 root root 1146104 2012-09-14 18:10 ./slackware64/n/dhcp-4.2.4_P2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-14 18:10 ./slackware64/n/dhcp-4.2.4_P2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 443 2012-07-09 00:28 ./slackware64/n/dhcpcd-5.5.6-x86_64-1.txt +-rw-r--r-- 1 root root 68204 2012-07-09 00:28 ./slackware64/n/dhcpcd-5.5.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 00:28 ./slackware64/n/dhcpcd-5.5.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 494 2011-03-07 20:19 ./slackware64/n/dirmngr-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 198520 2011-03-07 20:19 ./slackware64/n/dirmngr-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-07 20:19 ./slackware64/n/dirmngr-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 396 2011-03-16 05:33 ./slackware64/n/dnsmasq-2.57-x86_64-1.txt +-rw-r--r-- 1 root root 233680 2011-03-16 05:33 ./slackware64/n/dnsmasq-2.57-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-16 05:33 ./slackware64/n/dnsmasq-2.57-x86_64-1.txz.asc +-rw-r--r-- 1 root root 224 2009-08-13 19:06 ./slackware64/n/elm-2.5.8-x86_64-3.txt +-rw-r--r-- 1 root root 254788 2009-08-13 19:06 ./slackware64/n/elm-2.5.8-x86_64-3.txz +-rw-r--r-- 1 root root 197 2009-08-13 19:06 ./slackware64/n/elm-2.5.8-x86_64-3.txz.asc +-rw-r--r-- 1 root root 321 2012-07-04 22:19 ./slackware64/n/epic5-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 728636 2012-07-04 22:19 ./slackware64/n/epic5-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 22:19 ./slackware64/n/epic5-1.1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 441 2011-03-25 05:54 ./slackware64/n/ethtool-2.6.36-x86_64-1.txt +-rw-r--r-- 1 root root 72564 2011-03-25 05:54 ./slackware64/n/ethtool-2.6.36-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-25 05:54 ./slackware64/n/ethtool-2.6.36-x86_64-1.txz.asc +-rw-r--r-- 1 root root 607 2012-07-04 22:22 ./slackware64/n/fetchmail-6.3.21-x86_64-2.txt +-rw-r--r-- 1 root root 596320 2012-07-04 22:22 ./slackware64/n/fetchmail-6.3.21-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 22:22 ./slackware64/n/fetchmail-6.3.21-x86_64-2.txz.asc +-rw-r--r-- 1 root root 363 2012-06-23 21:15 ./slackware64/n/getmail-4.30.1-x86_64-1.txt +-rw-r--r-- 1 root root 154756 2012-06-23 21:15 ./slackware64/n/getmail-4.30.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-23 21:15 ./slackware64/n/getmail-4.30.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 371 2012-07-08 16:33 ./slackware64/n/gnupg-1.4.12-x86_64-1.txt +-rw-r--r-- 1 root root 1132836 2012-07-08 16:33 ./slackware64/n/gnupg-1.4.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:33 ./slackware64/n/gnupg-1.4.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 601 2012-07-08 16:30 ./slackware64/n/gnupg2-2.0.19-x86_64-1.txt +-rw-r--r-- 1 root root 1624660 2012-07-08 16:30 ./slackware64/n/gnupg2-2.0.19-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:30 ./slackware64/n/gnupg2-2.0.19-x86_64-1.txz.asc +-rw-r--r-- 1 root root 493 2012-09-04 16:37 ./slackware64/n/gnutls-3.0.23-x86_64-1.txt +-rw-r--r-- 1 root root 1836636 2012-09-04 16:37 ./slackware64/n/gnutls-3.0.23-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-04 16:37 ./slackware64/n/gnutls-3.0.23-x86_64-1.txz.asc +-rw-r--r-- 1 root root 287 2012-08-29 17:17 ./slackware64/n/gpa-0.9.3-x86_64-1.txt +-rw-r--r-- 1 root root 262088 2012-08-29 17:17 ./slackware64/n/gpa-0.9.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-29 17:17 ./slackware64/n/gpa-0.9.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 539 2012-07-08 16:28 ./slackware64/n/gpgme-1.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 235152 2012-07-08 16:28 ./slackware64/n/gpgme-1.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:28 ./slackware64/n/gpgme-1.3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 435 2012-07-04 16:47 ./slackware64/n/htdig-3.2.0b6-x86_64-4.txt +-rw-r--r-- 1 root root 946364 2012-07-04 16:47 ./slackware64/n/htdig-3.2.0b6-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:47 ./slackware64/n/htdig-3.2.0b6-x86_64-4.txz.asc +-rw-r--r-- 1 root root 514 2012-08-22 17:26 ./slackware64/n/httpd-2.4.3-x86_64-1.txt +-rw-r--r-- 1 root root 2388292 2012-08-22 17:26 ./slackware64/n/httpd-2.4.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-22 17:26 ./slackware64/n/httpd-2.4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 366 2008-10-25 12:08 ./slackware64/n/icmpinfo-1.11-x86_64-1.txt +-rw-r--r-- 1 root root 9396 2008-10-25 12:08 ./slackware64/n/icmpinfo-1.11-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-25 12:08 ./slackware64/n/icmpinfo-1.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 441 2011-03-25 21:45 ./slackware64/n/idnkit-1.0-x86_64-1.txt +-rw-r--r-- 1 root root 140632 2011-03-25 21:45 ./slackware64/n/idnkit-1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-25 21:45 ./slackware64/n/idnkit-1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 414 2012-06-01 21:49 ./slackware64/n/iftop-1.0pre2-x86_64-1.txt +-rw-r--r-- 1 root root 38604 2012-06-01 21:49 ./slackware64/n/iftop-1.0pre2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-01 21:49 ./slackware64/n/iftop-1.0pre2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2012-07-09 04:44 ./slackware64/n/imapd-2.02-x86_64-1.txt +-rw-r--r-- 1 root root 472324 2012-07-09 04:44 ./slackware64/n/imapd-2.02-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 04:44 ./slackware64/n/imapd-2.02-x86_64-1.txz.asc +-rw-r--r-- 1 root root 454 2008-10-14 15:47 ./slackware64/n/inetd-1.79s-x86_64-8.txt +-rw-r--r-- 1 root root 20976 2008-10-14 15:47 ./slackware64/n/inetd-1.79s-x86_64-8.txz +-rw-r--r-- 1 root root 197 2008-10-14 15:47 ./slackware64/n/inetd-1.79s-x86_64-8.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/n/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/n/install.end +-rw-r--r-- 1 root root 478 2012-07-29 16:17 ./slackware64/n/iproute2-3.4.0-x86_64-2.txt +-rw-r--r-- 1 root root 422760 2012-07-29 16:17 ./slackware64/n/iproute2-3.4.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-29 16:17 ./slackware64/n/iproute2-3.4.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 670 2012-07-08 22:22 ./slackware64/n/iptables-1.4.14-x86_64-1.txt +-rw-r--r-- 1 root root 296516 2012-07-08 22:22 ./slackware64/n/iptables-1.4.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 22:22 ./slackware64/n/iptables-1.4.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 588 2011-03-12 18:48 ./slackware64/n/iptraf-ng-1.0.2-x86_64-2.txt +-rw-r--r-- 1 root root 296188 2011-03-12 18:48 ./slackware64/n/iptraf-ng-1.0.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-03-12 18:48 ./slackware64/n/iptraf-ng-1.0.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 423 2012-07-18 16:59 ./slackware64/n/iputils-s20101006-x86_64-2.txt +-rw-r--r-- 1 root root 75948 2012-07-18 16:59 ./slackware64/n/iputils-s20101006-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-18 16:59 ./slackware64/n/iputils-s20101006-x86_64-2.txz.asc +-rw-r--r-- 1 root root 479 2008-11-04 11:29 ./slackware64/n/ipw2100-fw-1.3-fw-1.txt +-rw-r--r-- 1 root root 119440 2008-11-04 11:29 ./slackware64/n/ipw2100-fw-1.3-fw-1.txz +-rw-r--r-- 1 root root 197 2008-11-04 11:29 ./slackware64/n/ipw2100-fw-1.3-fw-1.txz.asc +-rw-r--r-- 1 root root 532 2010-05-03 03:32 ./slackware64/n/ipw2200-fw-3.1-fw-1.txt +-rw-r--r-- 1 root root 118824 2010-05-03 03:32 ./slackware64/n/ipw2200-fw-3.1-fw-1.txz +-rw-r--r-- 1 root root 198 2010-05-03 03:32 ./slackware64/n/ipw2200-fw-3.1-fw-1.txz.asc +-rw-r--r-- 1 root root 333 2012-07-04 17:19 ./slackware64/n/irssi-0.8.15-x86_64-6.txt +-rw-r--r-- 1 root root 585312 2012-07-04 17:19 ./slackware64/n/irssi-0.8.15-x86_64-6.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:19 ./slackware64/n/irssi-0.8.15-x86_64-6.txz.asc +-rw-r--r-- 1 root root 426 2012-07-08 21:50 ./slackware64/n/iw-3.5-x86_64-1.txt +-rw-r--r-- 1 root root 40596 2012-07-08 21:50 ./slackware64/n/iw-3.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 21:50 ./slackware64/n/iw-3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 582 2012-07-05 16:28 ./slackware64/n/lftp-4.3.8-x86_64-1.txt +-rw-r--r-- 1 root root 681836 2012-07-05 16:28 ./slackware64/n/lftp-4.3.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-05 16:28 ./slackware64/n/lftp-4.3.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 252 2012-07-08 16:24 ./slackware64/n/libassuan-2.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 102920 2012-07-08 16:24 ./slackware64/n/libassuan-2.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:24 ./slackware64/n/libassuan-2.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 245 2012-07-08 16:25 ./slackware64/n/libgcrypt-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 344468 2012-07-08 16:25 ./slackware64/n/libgcrypt-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:25 ./slackware64/n/libgcrypt-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 393 2012-07-08 16:20 ./slackware64/n/libgpg-error-1.10-x86_64-1.txt +-rw-r--r-- 1 root root 74596 2012-07-08 16:20 ./slackware64/n/libgpg-error-1.10-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:20 ./slackware64/n/libgpg-error-1.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 332 2011-03-07 20:16 ./slackware64/n/libksba-1.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 133940 2011-03-07 20:16 ./slackware64/n/libksba-1.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-07 20:16 ./slackware64/n/libksba-1.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 446 2012-07-04 16:26 ./slackware64/n/links-2.7-x86_64-1.txt +-rw-r--r-- 1 root root 1830020 2012-07-04 16:26 ./slackware64/n/links-2.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:26 ./slackware64/n/links-2.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 498 2012-07-04 16:31 ./slackware64/n/lynx-2.8.7-x86_64-3.txt +-rw-r--r-- 1 root root 1616760 2012-07-04 16:31 ./slackware64/n/lynx-2.8.7-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:31 ./slackware64/n/lynx-2.8.7-x86_64-3.txz.asc +-rw-r--r-- 1 root root 567 2012-07-04 17:21 ./slackware64/n/mailx-12.5-x86_64-1.txt +-rw-r--r-- 1 root root 238816 2012-07-04 17:21 ./slackware64/n/mailx-12.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:21 ./slackware64/n/mailx-12.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 9887 2012-07-21 21:42 ./slackware64/n/maketag +-rw-r--r-- 1 root root 9887 2012-07-21 21:42 ./slackware64/n/maketag.ez +-rw-r--r-- 1 root root 418 2011-03-14 03:39 ./slackware64/n/mcabber-0.10.1-x86_64-1.txt +-rw-r--r-- 1 root root 221752 2011-03-14 03:39 ./slackware64/n/mcabber-0.10.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-14 03:39 ./slackware64/n/mcabber-0.10.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 468 2010-08-12 01:05 ./slackware64/n/metamail-2.7-x86_64-5.txt +-rw-r--r-- 1 root root 126392 2010-08-12 01:05 ./slackware64/n/metamail-2.7-x86_64-5.txz +-rw-r--r-- 1 root root 198 2010-08-12 01:05 ./slackware64/n/metamail-2.7-x86_64-5.txz.asc +-rw-r--r-- 1 root root 593 2012-06-24 23:15 ./slackware64/n/mobile-broadband-provider-info-20120614-x86_64-1.txt +-rw-r--r-- 1 root root 35984 2012-06-24 23:15 ./slackware64/n/mobile-broadband-provider-info-20120614-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-24 23:15 ./slackware64/n/mobile-broadband-provider-info-20120614-x86_64-1.txz.asc +-rw-r--r-- 1 root root 325 2012-03-01 22:28 ./slackware64/n/mtr-0.82-x86_64-1.txt +-rw-r--r-- 1 root root 48484 2012-03-01 22:28 ./slackware64/n/mtr-0.82-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-03-01 22:28 ./slackware64/n/mtr-0.82-x86_64-1.txz.asc +-rw-r--r-- 1 root root 411 2012-07-04 16:32 ./slackware64/n/mutt-1.5.21-x86_64-2.txt +-rw-r--r-- 1 root root 989900 2012-07-04 16:32 ./slackware64/n/mutt-1.5.21-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:32 ./slackware64/n/mutt-1.5.21-x86_64-2.txz.asc +-rw-r--r-- 1 root root 628 2008-10-28 20:33 ./slackware64/n/nc-1.10-x86_64-1.txt +-rw-r--r-- 1 root root 53592 2008-10-28 20:33 ./slackware64/n/nc-1.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-28 20:33 ./slackware64/n/nc-1.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 337 2011-01-22 04:13 ./slackware64/n/ncftp-3.2.5-x86_64-1.txt +-rw-r--r-- 1 root root 272456 2011-01-22 04:13 ./slackware64/n/ncftp-3.2.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-22 04:13 ./slackware64/n/ncftp-3.2.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2012-07-17 17:42 ./slackware64/n/net-snmp-5.6.1-x86_64-5.txt +-rw-r--r-- 1 root root 1454988 2012-07-17 17:42 ./slackware64/n/net-snmp-5.6.1-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-07-17 17:42 ./slackware64/n/net-snmp-5.6.1-x86_64-5.txz.asc +-rw-r--r-- 1 root root 449 2012-07-26 21:08 ./slackware64/n/net-tools-1.60.20120726git-x86_64-1.txt +-rw-r--r-- 1 root root 134664 2012-07-26 21:08 ./slackware64/n/net-tools-1.60.20120726git-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-26 21:08 ./slackware64/n/net-tools-1.60.20120726git-x86_64-1.txz.asc +-rw-r--r-- 1 root root 581 2012-09-12 05:50 ./slackware64/n/netatalk-2.2.3-x86_64-4.txt +-rw-r--r-- 1 root root 722004 2012-09-12 05:50 ./slackware64/n/netatalk-2.2.3-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-09-12 05:50 ./slackware64/n/netatalk-2.2.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 649 2008-10-28 20:59 ./slackware64/n/netdate-bsd4-x86_64-1.txt +-rw-r--r-- 1 root root 8812 2008-10-28 20:59 ./slackware64/n/netdate-bsd4-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-28 20:59 ./slackware64/n/netdate-bsd4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 518 2009-05-23 04:52 ./slackware64/n/netkit-bootparamd-0.17-x86_64-2.txt +-rw-r--r-- 1 root root 9232 2009-05-23 04:52 ./slackware64/n/netkit-bootparamd-0.17-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 04:52 ./slackware64/n/netkit-bootparamd-0.17-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2008-09-23 22:37 ./slackware64/n/netkit-ftp-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 44944 2008-09-23 22:37 ./slackware64/n/netkit-ftp-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-23 22:37 ./slackware64/n/netkit-ftp-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 478 2009-05-23 04:52 ./slackware64/n/netkit-ntalk-0.17-x86_64-3.txt +-rw-r--r-- 1 root root 26168 2009-05-23 04:52 ./slackware64/n/netkit-ntalk-0.17-x86_64-3.txz +-rw-r--r-- 1 root root 197 2009-05-23 04:52 ./slackware64/n/netkit-ntalk-0.17-x86_64-3.txz.asc +-rw-r--r-- 1 root root 636 2008-09-23 22:51 ./slackware64/n/netkit-routed-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 25544 2008-09-23 22:51 ./slackware64/n/netkit-routed-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-23 22:51 ./slackware64/n/netkit-routed-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 423 2008-09-23 22:52 ./slackware64/n/netkit-rsh-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 42092 2008-09-23 22:52 ./slackware64/n/netkit-rsh-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-23 22:52 ./slackware64/n/netkit-rsh-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 696 2008-09-23 22:55 ./slackware64/n/netkit-rusers-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 17720 2008-09-23 22:55 ./slackware64/n/netkit-rusers-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-23 22:55 ./slackware64/n/netkit-rusers-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 462 2008-09-23 22:56 ./slackware64/n/netkit-rwall-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 10388 2008-09-23 22:56 ./slackware64/n/netkit-rwall-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-09-23 22:56 ./slackware64/n/netkit-rwall-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 691 2008-12-14 22:23 ./slackware64/n/netkit-rwho-0.17-x86_64-2.txt +-rw-r--r-- 1 root root 17040 2008-12-14 22:23 ./slackware64/n/netkit-rwho-0.17-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-12-14 22:23 ./slackware64/n/netkit-rwho-0.17-x86_64-2.txz.asc +-rw-r--r-- 1 root root 407 2008-12-14 22:28 ./slackware64/n/netkit-timed-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 30900 2008-12-14 22:28 ./slackware64/n/netkit-timed-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-12-14 22:28 ./slackware64/n/netkit-timed-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 560 2008-10-15 18:12 ./slackware64/n/netpipes-4.2-x86_64-1.txt +-rw-r--r-- 1 root root 70156 2008-10-15 18:12 ./slackware64/n/netpipes-4.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-15 18:12 ./slackware64/n/netpipes-4.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 408 2012-07-08 16:43 ./slackware64/n/nettle-2.5-x86_64-1.txt +-rw-r--r-- 1 root root 195596 2012-07-08 16:43 ./slackware64/n/nettle-2.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:43 ./slackware64/n/nettle-2.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 306 2009-05-23 04:52 ./slackware64/n/netwatch-1.3.0-x86_64-2.txt +-rw-r--r-- 1 root root 95588 2009-05-23 04:52 ./slackware64/n/netwatch-1.3.0-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 04:52 ./slackware64/n/netwatch-1.3.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 583 2012-08-14 22:53 ./slackware64/n/network-scripts-14.00-noarch-3.txt +-rw-r--r-- 1 root root 20628 2012-08-14 22:53 ./slackware64/n/network-scripts-14.00-noarch-3.txz +-rw-r--r-- 1 root root 198 2012-08-14 22:53 ./slackware64/n/network-scripts-14.00-noarch-3.txz.asc +-rw-r--r-- 1 root root 560 2008-10-28 21:07 ./slackware64/n/netwrite-0.17-x86_64-1.txt +-rw-r--r-- 1 root root 6836 2008-10-28 21:07 ./slackware64/n/netwrite-0.17-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-28 21:07 ./slackware64/n/netwrite-0.17-x86_64-1.txz.asc +-rw-r--r-- 1 root root 511 2008-10-28 21:08 ./slackware64/n/newspost-2.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 42084 2008-10-28 21:08 ./slackware64/n/newspost-2.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-28 21:08 ./slackware64/n/newspost-2.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2011-03-21 23:42 ./slackware64/n/nfs-utils-1.2.3-x86_64-3.txt +-rw-r--r-- 1 root root 216564 2011-03-21 23:42 ./slackware64/n/nfs-utils-1.2.3-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-03-21 23:42 ./slackware64/n/nfs-utils-1.2.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 652 2012-07-04 04:01 ./slackware64/n/nmap-6.01-x86_64-2.txt +-rw-r--r-- 1 root root 4055824 2012-07-04 04:01 ./slackware64/n/nmap-6.01-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 04:01 ./slackware64/n/nmap-6.01-x86_64-2.txz.asc +-rw-r--r-- 1 root root 444 2009-11-12 00:31 ./slackware64/n/nn-6.7.3-x86_64-3.txt +-rw-r--r-- 1 root root 303276 2009-11-12 00:31 ./slackware64/n/nn-6.7.3-x86_64-3.txz +-rw-r--r-- 1 root root 197 2009-11-12 00:31 ./slackware64/n/nn-6.7.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 532 2012-07-04 16:38 ./slackware64/n/ntp-4.2.6p5-x86_64-2.txt +-rw-r--r-- 1 root root 1516376 2012-07-04 16:38 ./slackware64/n/ntp-4.2.6p5-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 16:38 ./slackware64/n/ntp-4.2.6p5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 430 2012-03-19 02:21 ./slackware64/n/obex-data-server-0.4.6-x86_64-1.txt +-rw-r--r-- 1 root root 71460 2012-03-19 02:21 ./slackware64/n/obex-data-server-0.4.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-03-19 02:21 ./slackware64/n/obex-data-server-0.4.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 419 2010-05-02 08:13 ./slackware64/n/obexfs-0.12-x86_64-1.txt +-rw-r--r-- 1 root root 20300 2010-05-02 08:13 ./slackware64/n/obexfs-0.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-02 08:13 ./slackware64/n/obexfs-0.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 466 2012-06-19 19:49 ./slackware64/n/obexftp-0.23-x86_64-8.txt +-rw-r--r-- 1 root root 99972 2012-06-19 19:49 ./slackware64/n/obexftp-0.23-x86_64-8.txz +-rw-r--r-- 1 root root 198 2012-06-19 19:49 ./slackware64/n/obexftp-0.23-x86_64-8.txz.asc +-rw-r--r-- 1 root root 565 2012-07-09 16:32 ./slackware64/n/openldap-client-2.4.31-x86_64-2.txt +-rw-r--r-- 1 root root 401900 2012-07-09 16:32 ./slackware64/n/openldap-client-2.4.31-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-09 16:32 ./slackware64/n/openldap-client-2.4.31-x86_64-2.txz.asc +-rw-r--r-- 1 root root 538 2010-05-02 08:12 ./slackware64/n/openobex-1.5-x86_64-1.txt +-rw-r--r-- 1 root root 52832 2010-05-02 08:12 ./slackware64/n/openobex-1.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-02 08:12 ./slackware64/n/openobex-1.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 676 2012-08-29 17:02 ./slackware64/n/openssh-6.1p1-x86_64-1.txt +-rw-r--r-- 1 root root 592132 2012-08-29 17:02 ./slackware64/n/openssh-6.1p1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-29 17:02 ./slackware64/n/openssh-6.1p1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 561 2012-08-08 22:51 ./slackware64/n/openssl-1.0.1c-x86_64-3.txt +-rw-r--r-- 1 root root 2910860 2012-08-08 22:51 ./slackware64/n/openssl-1.0.1c-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-08 22:51 ./slackware64/n/openssl-1.0.1c-x86_64-3.txz.asc +-rw-r--r-- 1 root root 430 2012-07-04 17:25 ./slackware64/n/openvpn-2.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 338452 2012-07-04 17:25 ./slackware64/n/openvpn-2.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:25 ./slackware64/n/openvpn-2.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 486 2012-07-08 16:36 ./slackware64/n/p11-kit-0.12-x86_64-1.txt +-rw-r--r-- 1 root root 75316 2012-07-08 16:36 ./slackware64/n/p11-kit-0.12-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-08 16:36 ./slackware64/n/p11-kit-0.12-x86_64-1.txz.asc +-rw-r--r-- 1 root root 376 2012-09-14 20:21 ./slackware64/n/php-5.4.7-x86_64-1.txt +-rw-r--r-- 1 root root 6534784 2012-09-14 20:21 ./slackware64/n/php-5.4.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-14 20:21 ./slackware64/n/php-5.4.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 578 2012-07-04 22:12 ./slackware64/n/pidentd-3.0.19-x86_64-2.txt +-rw-r--r-- 1 root root 43488 2012-07-04 22:12 ./slackware64/n/pidentd-3.0.19-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 22:12 ./slackware64/n/pidentd-3.0.19-x86_64-2.txz.asc +-rw-r--r-- 1 root root 322 2011-03-07 20:22 ./slackware64/n/pinentry-0.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 119024 2011-03-07 20:22 ./slackware64/n/pinentry-0.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-07 20:22 ./slackware64/n/pinentry-0.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 545 2012-07-04 03:59 ./slackware64/n/popa3d-1.0.2-x86_64-3.txt +-rw-r--r-- 1 root root 21180 2012-07-04 03:59 ./slackware64/n/popa3d-1.0.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:59 ./slackware64/n/popa3d-1.0.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 529 2008-10-14 18:37 ./slackware64/n/portmap-6.0-x86_64-1.txt +-rw-r--r-- 1 root root 27588 2008-10-14 18:37 ./slackware64/n/portmap-6.0-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-14 18:37 ./slackware64/n/portmap-6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2010-02-12 02:08 ./slackware64/n/ppp-2.4.5-x86_64-1.txt +-rw-r--r-- 1 root root 367944 2010-02-12 02:08 ./slackware64/n/ppp-2.4.5-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-12 02:08 ./slackware64/n/ppp-2.4.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 687 2008-10-31 11:09 ./slackware64/n/procmail-3.22-x86_64-2.txt +-rw-r--r-- 1 root root 132440 2008-10-31 11:09 ./slackware64/n/procmail-3.22-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-10-31 11:09 ./slackware64/n/procmail-3.22-x86_64-2.txz.asc +-rw-r--r-- 1 root root 339 2012-07-04 03:24 ./slackware64/n/proftpd-1.3.4a-x86_64-2.txt +-rw-r--r-- 1 root root 878640 2012-07-04 03:24 ./slackware64/n/proftpd-1.3.4a-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:24 ./slackware64/n/proftpd-1.3.4a-x86_64-2.txz.asc +-rw-r--r-- 1 root root 580 2012-06-19 20:03 ./slackware64/n/pssh-2.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 38856 2012-06-19 20:03 ./slackware64/n/pssh-2.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-19 20:03 ./slackware64/n/pssh-2.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 472 2008-10-14 13:00 ./slackware64/n/pth-2.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 101100 2008-10-14 13:00 ./slackware64/n/pth-2.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-14 13:00 ./slackware64/n/pth-2.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 355 2010-01-25 21:41 ./slackware64/n/rdist-6.1.5-x86_64-2.txt +-rw-r--r-- 1 root root 59660 2010-01-25 21:41 ./slackware64/n/rdist-6.1.5-x86_64-2.txz +-rw-r--r-- 1 root root 197 2010-01-25 21:41 ./slackware64/n/rdist-6.1.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 287 2011-01-22 04:34 ./slackware64/n/rfkill-0.4-x86_64-1.txt +-rw-r--r-- 1 root root 5872 2011-01-22 04:34 ./slackware64/n/rfkill-0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-01-22 04:34 ./slackware64/n/rfkill-0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 499 2008-10-31 11:43 ./slackware64/n/rp-pppoe-3.10-x86_64-1.txt +-rw-r--r-- 1 root root 84764 2008-10-31 11:43 ./slackware64/n/rp-pppoe-3.10-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-31 11:43 ./slackware64/n/rp-pppoe-3.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 494 2012-03-18 23:55 ./slackware64/n/rsync-3.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 275200 2012-03-18 23:55 ./slackware64/n/rsync-3.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-03-18 23:55 ./slackware64/n/rsync-3.0.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 509 2012-09-18 16:49 ./slackware64/n/samba-3.6.8-x86_64-1.txt +-rw-r--r-- 1 root root 23218492 2012-09-18 16:49 ./slackware64/n/samba-3.6.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-18 16:49 ./slackware64/n/samba-3.6.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 503 2012-07-03 23:46 ./slackware64/n/sendmail-8.14.5-x86_64-3.txt +-rw-r--r-- 1 root root 964308 2012-07-03 23:46 ./slackware64/n/sendmail-8.14.5-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-03 23:46 ./slackware64/n/sendmail-8.14.5-x86_64-3.txz.asc +-rw-r--r-- 1 root root 588 2012-07-03 23:46 ./slackware64/n/sendmail-cf-8.14.5-noarch-3.txt +-rw-r--r-- 1 root root 115336 2012-07-03 23:46 ./slackware64/n/sendmail-cf-8.14.5-noarch-3.txz +-rw-r--r-- 1 root root 198 2012-07-03 23:46 ./slackware64/n/sendmail-cf-8.14.5-noarch-3.txz.asc +-rw-r--r-- 1 root root 309 2012-07-04 22:24 ./slackware64/n/slrn-0.9.9p1-x86_64-4.txt +-rw-r--r-- 1 root root 462364 2012-07-04 22:24 ./slackware64/n/slrn-0.9.9p1-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-07-04 22:24 ./slackware64/n/slrn-0.9.9p1-x86_64-4.txz.asc +-rw-r--r-- 1 root root 415 2012-07-04 04:28 ./slackware64/n/snownews-1.5.12-x86_64-2.txt +-rw-r--r-- 1 root root 126352 2012-07-04 04:28 ./slackware64/n/snownews-1.5.12-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 04:28 ./slackware64/n/snownews-1.5.12-x86_64-2.txz.asc +-rw-r--r-- 1 root root 510 2012-07-04 17:01 ./slackware64/n/stunnel-4.53-x86_64-1.txt +-rw-r--r-- 1 root root 142684 2012-07-04 17:01 ./slackware64/n/stunnel-4.53-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:01 ./slackware64/n/stunnel-4.53-x86_64-1.txz.asc +-rw-r--r-- 1 root root 1640 2012-07-21 21:42 ./slackware64/n/tagfile +-rw-r--r-- 1 root root 649 2008-10-13 20:26 ./slackware64/n/tcp_wrappers-7.6-x86_64-1.txt +-rw-r--r-- 1 root root 78592 2008-10-13 20:26 ./slackware64/n/tcp_wrappers-7.6-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-13 20:26 ./slackware64/n/tcp_wrappers-7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 450 2012-07-04 03:57 ./slackware64/n/tcpdump-4.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 314560 2012-07-04 03:57 ./slackware64/n/tcpdump-4.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-04 03:57 ./slackware64/n/tcpdump-4.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 557 2009-05-23 06:39 ./slackware64/n/telnet-0.17-x86_64-2.txt +-rw-r--r-- 1 root root 63900 2009-05-23 06:39 ./slackware64/n/telnet-0.17-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 06:39 ./slackware64/n/telnet-0.17-x86_64-2.txz.asc +-rw-r--r-- 1 root root 555 2010-05-03 06:43 ./slackware64/n/tftp-hpa-0.49-x86_64-1.txt +-rw-r--r-- 1 root root 49348 2010-05-03 06:43 ./slackware64/n/tftp-hpa-0.49-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-05-03 06:43 ./slackware64/n/tftp-hpa-0.49-x86_64-1.txz.asc +-rw-r--r-- 1 root root 490 2011-02-24 23:09 ./slackware64/n/tin-1.8.3-x86_64-2.txt +-rw-r--r-- 1 root root 529352 2011-02-24 23:09 ./slackware64/n/tin-1.8.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-02-24 23:09 ./slackware64/n/tin-1.8.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 508 2012-05-31 16:22 ./slackware64/n/traceroute-2.0.18-x86_64-1.txt +-rw-r--r-- 1 root root 49380 2012-05-31 16:22 ./slackware64/n/traceroute-2.0.18-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-31 16:22 ./slackware64/n/traceroute-2.0.18-x86_64-1.txz.asc +-rw-r--r-- 1 root root 290 2009-05-23 06:43 ./slackware64/n/trn-3.6-x86_64-2.txt +-rw-r--r-- 1 root root 188992 2009-05-23 06:43 ./slackware64/n/trn-3.6-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 06:43 ./slackware64/n/trn-3.6-x86_64-2.txz.asc +-rw-r--r-- 1 root root 282 2008-10-31 13:45 ./slackware64/n/uucp-1.07-x86_64-1.txt +-rw-r--r-- 1 root root 376540 2008-10-31 13:45 ./slackware64/n/uucp-1.07-x86_64-1.txz +-rw-r--r-- 1 root root 197 2008-10-31 13:45 ./slackware64/n/uucp-1.07-x86_64-1.txz.asc +-rw-r--r-- 1 root root 433 2008-10-31 13:54 ./slackware64/n/vlan-1.9-x86_64-2.txt +-rw-r--r-- 1 root root 24048 2008-10-31 13:54 ./slackware64/n/vlan-1.9-x86_64-2.txz +-rw-r--r-- 1 root root 197 2008-10-31 13:54 ./slackware64/n/vlan-1.9-x86_64-2.txz.asc +-rw-r--r-- 1 root root 496 2012-09-18 19:41 ./slackware64/n/vsftpd-3.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 128020 2012-09-18 19:41 ./slackware64/n/vsftpd-3.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-18 19:41 ./slackware64/n/vsftpd-3.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 398 2012-08-14 23:20 ./slackware64/n/wget-1.14-x86_64-1.txt +-rw-r--r-- 1 root root 492908 2012-08-14 23:20 ./slackware64/n/wget-1.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-14 23:20 ./slackware64/n/wget-1.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 385 2012-04-12 18:40 ./slackware64/n/whois-5.0.15-x86_64-1.txt +-rw-r--r-- 1 root root 40880 2012-04-12 18:40 ./slackware64/n/whois-5.0.15-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-04-12 18:40 ./slackware64/n/whois-5.0.15-x86_64-1.txz.asc +-rw-r--r-- 1 root root 682 2012-08-19 16:52 ./slackware64/n/wireless-tools-29-x86_64-9.txt +-rw-r--r-- 1 root root 131376 2012-08-19 16:52 ./slackware64/n/wireless-tools-29-x86_64-9.txz +-rw-r--r-- 1 root root 198 2012-08-19 16:52 ./slackware64/n/wireless-tools-29-x86_64-9.txz.asc +-rw-r--r-- 1 root root 603 2012-07-09 05:32 ./slackware64/n/wpa_supplicant-1.0-x86_64-1.txt +-rw-r--r-- 1 root root 652028 2012-07-09 05:32 ./slackware64/n/wpa_supplicant-1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-09 05:32 ./slackware64/n/wpa_supplicant-1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 407 2012-08-14 23:10 ./slackware64/n/yptools-2.12-x86_64-3.txt +-rw-r--r-- 1 root root 179376 2012-08-14 23:10 ./slackware64/n/yptools-2.12-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-14 23:10 ./slackware64/n/yptools-2.12-x86_64-3.txz.asc +-rw-r--r-- 1 root root 289 2009-05-23 06:55 ./slackware64/n/ytalk-3.3.0-x86_64-2.txt +-rw-r--r-- 1 root root 49704 2009-05-23 06:55 ./slackware64/n/ytalk-3.3.0-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-05-23 06:55 ./slackware64/n/ytalk-3.3.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 651 2008-11-04 11:50 ./slackware64/n/zd1211-firmware-1.4-fw-1.txt +-rw-r--r-- 1 root root 33896 2008-11-04 11:50 ./slackware64/n/zd1211-firmware-1.4-fw-1.txz +-rw-r--r-- 1 root root 197 2008-11-04 11:50 ./slackware64/n/zd1211-firmware-1.4-fw-1.txz.asc +drwxr-xr-x 2 root root 4096 2010-05-17 23:32 ./slackware64/t +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/t/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/t/install.end +-rw-r--r-- 1 root root 1157 2012-01-30 19:17 ./slackware64/t/maketag +-rw-r--r-- 1 root root 1157 2012-01-30 19:17 ./slackware64/t/maketag.ez +-rw-r--r-- 1 root root 46 2012-01-30 19:17 ./slackware64/t/tagfile +-rw-r--r-- 1 root root 338 2010-05-17 19:37 ./slackware64/t/tetex-3.0-x86_64-8.txt +-rw-r--r-- 1 root root 36585468 2010-05-17 19:37 ./slackware64/t/tetex-3.0-x86_64-8.txz +-rw-r--r-- 1 root root 198 2010-05-17 19:37 ./slackware64/t/tetex-3.0-x86_64-8.txz.asc +-rw-r--r-- 1 root root 524 2010-05-17 19:38 ./slackware64/t/tetex-doc-3.0-x86_64-8.txt +-rw-r--r-- 1 root root 43929492 2010-05-17 19:38 ./slackware64/t/tetex-doc-3.0-x86_64-8.txz +-rw-r--r-- 1 root root 198 2010-05-17 19:38 ./slackware64/t/tetex-doc-3.0-x86_64-8.txz.asc +-rw-r--r-- 1 root root 444 2010-02-20 01:27 ./slackware64/t/transfig-3.2.4-x86_64-3.txt +-rw-r--r-- 1 root root 209952 2010-02-20 01:27 ./slackware64/t/transfig-3.2.4-x86_64-3.txz +-rw-r--r-- 1 root root 197 2010-02-20 01:27 ./slackware64/t/transfig-3.2.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 431 2010-02-21 17:16 ./slackware64/t/xfig-3.2.4-x86_64-5.txt +-rw-r--r-- 1 root root 3014444 2010-02-21 17:16 ./slackware64/t/xfig-3.2.4-x86_64-5.txz +-rw-r--r-- 1 root root 197 2010-02-21 17:16 ./slackware64/t/xfig-3.2.4-x86_64-5.txz.asc +drwxr-xr-x 2 root root 4096 2012-05-26 00:15 ./slackware64/tcl +-rw-r--r-- 1 root root 533 2010-08-12 18:37 ./slackware64/tcl/expect-5.44.1.15-x86_64-1.txt +-rw-r--r-- 1 root root 301616 2010-08-12 18:37 ./slackware64/tcl/expect-5.44.1.15-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-12 18:37 ./slackware64/tcl/expect-5.44.1.15-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2008-11-06 11:59 ./slackware64/tcl/hfsutils-3.2.6-x86_64-4.txt +-rw-r--r-- 1 root root 140068 2008-11-06 11:59 ./slackware64/tcl/hfsutils-3.2.6-x86_64-4.txz +-rw-r--r-- 1 root root 197 2008-11-06 11:59 ./slackware64/tcl/hfsutils-3.2.6-x86_64-4.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/tcl/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/tcl/install.end +-rw-r--r-- 1 root root 1285 2012-01-30 19:17 ./slackware64/tcl/maketag +-rw-r--r-- 1 root root 1285 2012-01-30 19:17 ./slackware64/tcl/maketag.ez +-rw-r--r-- 1 root root 56 2012-01-30 19:17 ./slackware64/tcl/tagfile +-rw-r--r-- 1 root root 259 2012-05-25 00:29 ./slackware64/tcl/tcl-8.5.11-x86_64-1.txt +-rw-r--r-- 1 root root 1712404 2012-05-25 00:29 ./slackware64/tcl/tcl-8.5.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-25 00:29 ./slackware64/tcl/tcl-8.5.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 555 2009-12-07 00:52 ./slackware64/tcl/tclx-8.4-x86_64-3.txt +-rw-r--r-- 1 root root 113312 2009-12-07 00:52 ./slackware64/tcl/tclx-8.4-x86_64-3.txz +-rw-r--r-- 1 root root 197 2009-12-07 00:52 ./slackware64/tcl/tclx-8.4-x86_64-3.txz.asc +-rw-r--r-- 1 root root 406 2009-12-07 00:50 ./slackware64/tcl/tix-8.4.3-x86_64-2.txt +-rw-r--r-- 1 root root 538204 2009-12-07 00:50 ./slackware64/tcl/tix-8.4.3-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-12-07 00:50 ./slackware64/tcl/tix-8.4.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 198 2012-05-25 00:31 ./slackware64/tcl/tk-8.5.11-x86_64-1.txt +-rw-r--r-- 1 root root 1644676 2012-05-25 00:31 ./slackware64/tcl/tk-8.5.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-25 00:31 ./slackware64/tcl/tk-8.5.11-x86_64-1.txz.asc +drwxr-xr-x 2 root root 49152 2012-09-10 20:34 ./slackware64/x +-rw-r--r-- 1 root root 258 2010-08-12 20:46 ./slackware64/x/anthy-9100h-x86_64-1.txt +-rw-r--r-- 1 root root 5083544 2010-08-12 20:46 ./slackware64/x/anthy-9100h-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-12 20:46 ./slackware64/x/anthy-9100h-x86_64-1.txz.asc +-rw-r--r-- 1 root root 270 2010-11-13 18:55 ./slackware64/x/appres-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 14196 2010-11-13 18:55 ./slackware64/x/appres-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:55 ./slackware64/x/appres-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:55 ./slackware64/x/bdftopcf-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 14176 2010-11-13 18:55 ./slackware64/x/bdftopcf-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:55 ./slackware64/x/bdftopcf-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 335 2010-11-13 18:55 ./slackware64/x/beforelight-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 15228 2010-11-13 18:55 ./slackware64/x/beforelight-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:55 ./slackware64/x/beforelight-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 394 2012-05-04 03:45 ./slackware64/x/bigreqsproto-1.1.2-noarch-1.txt +-rw-r--r-- 1 root root 18592 2012-05-04 03:45 ./slackware64/x/bigreqsproto-1.1.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/bigreqsproto-1.1.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 210 2012-05-04 03:55 ./slackware64/x/bitmap-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 61952 2012-05-04 03:55 ./slackware64/x/bitmap-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/bitmap-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 270 2011-04-02 21:18 ./slackware64/x/compiz-0.8.8-x86_64-1.txt +-rw-r--r-- 1 root root 805552 2011-04-02 21:18 ./slackware64/x/compiz-0.8.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-04-02 21:18 ./slackware64/x/compiz-0.8.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-13 18:46 ./slackware64/x/compositeproto-0.4.2-noarch-1.txt +-rw-r--r-- 1 root root 15416 2010-11-13 18:46 ./slackware64/x/compositeproto-0.4.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:46 ./slackware64/x/compositeproto-0.4.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 335 2010-11-13 18:46 ./slackware64/x/damageproto-1.2.1-noarch-1.txt +-rw-r--r-- 1 root root 12556 2010-11-13 18:46 ./slackware64/x/damageproto-1.2.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:46 ./slackware64/x/damageproto-1.2.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 536 2011-03-18 19:44 ./slackware64/x/dejavu-fonts-ttf-2.33-noarch-1.txt +-rw-r--r-- 1 root root 2234656 2011-03-18 19:44 ./slackware64/x/dejavu-fonts-ttf-2.33-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-03-18 19:44 ./slackware64/x/dejavu-fonts-ttf-2.33-noarch-1.txz.asc +-rw-r--r-- 1 root root 296 2011-02-01 01:02 ./slackware64/x/dmxproto-2.3.1-noarch-1.txt +-rw-r--r-- 1 root root 10900 2011-02-01 01:02 ./slackware64/x/dmxproto-2.3.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:02 ./slackware64/x/dmxproto-2.3.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 366 2012-05-04 03:45 ./slackware64/x/dri2proto-2.6-x86_64-1.txt +-rw-r--r-- 1 root root 16844 2012-05-04 03:45 ./slackware64/x/dri2proto-2.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/dri2proto-2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 283 2010-11-13 18:56 ./slackware64/x/editres-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 45400 2010-11-13 18:56 ./slackware64/x/editres-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:56 ./slackware64/x/editres-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 309 2010-11-13 19:09 ./slackware64/x/encodings-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 578788 2010-11-13 19:09 ./slackware64/x/encodings-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:09 ./slackware64/x/encodings-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 283 2011-02-01 01:02 ./slackware64/x/evieext-1.1.1-noarch-1.txt +-rw-r--r-- 1 root root 9788 2011-02-01 01:02 ./slackware64/x/evieext-1.1.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:02 ./slackware64/x/evieext-1.1.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 322 2011-03-09 04:45 ./slackware64/x/fixesproto-5.0-x86_64-1.txt +-rw-r--r-- 1 root root 14528 2011-03-09 04:45 ./slackware64/x/fixesproto-5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-09 04:45 ./slackware64/x/fixesproto-5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 413 2010-11-16 20:37 ./slackware64/x/font-adobe-100dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 6186912 2010-11-16 20:37 ./slackware64/x/font-adobe-100dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-100dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 400 2010-11-16 20:37 ./slackware64/x/font-adobe-75dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 5474484 2010-11-16 20:37 ./slackware64/x/font-adobe-75dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-75dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 504 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-100dpi-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 1469172 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-100dpi-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-100dpi-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 491 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-75dpi-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 1222588 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-75dpi-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-75dpi-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 491 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-type1-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 176264 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-type1-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-type1-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 322 2010-11-13 19:10 ./slackware64/x/font-alias-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 9476 2010-11-13 19:10 ./slackware64/x/font-alias-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:10 ./slackware64/x/font-alias-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 400 2010-11-16 20:37 ./slackware64/x/font-arabic-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 22036 2010-11-16 20:37 ./slackware64/x/font-arabic-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-arabic-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-16 20:38 ./slackware64/x/font-bh-100dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 3786184 2010-11-16 20:38 ./slackware64/x/font-bh-100dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-100dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 361 2010-11-16 20:38 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 3252044 2010-11-16 20:38 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 595 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 859668 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 582 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 750652 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 335 2010-11-13 19:11 ./slackware64/x/font-bh-ttf-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 284928 2010-11-13 19:11 ./slackware64/x/font-bh-ttf-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:11 ./slackware64/x/font-bh-ttf-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 361 2010-11-16 20:38 ./slackware64/x/font-bh-type1-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 531048 2010-11-16 20:38 ./slackware64/x/font-bh-type1-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-type1-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 465 2010-11-16 20:38 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 169368 2010-11-16 20:38 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 452 2010-11-16 20:38 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 149204 2010-11-16 20:38 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 465 2010-11-16 20:38 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-1.txt +-rw-r--r-- 1 root root 245556 2010-11-16 20:38 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 452 2010-11-16 20:38 ./slackware64/x/font-bitstream-type1-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 307796 2010-11-16 20:38 ./slackware64/x/font-bitstream-type1-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-type1-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 452 2010-11-16 20:38 ./slackware64/x/font-cronyx-cyrillic-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 310788 2010-11-16 20:38 ./slackware64/x/font-cronyx-cyrillic-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-cronyx-cyrillic-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 400 2010-11-16 20:38 ./slackware64/x/font-cursor-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 13288 2010-11-16 20:38 ./slackware64/x/font-cursor-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-cursor-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 400 2010-11-16 20:38 ./slackware64/x/font-daewoo-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 669124 2010-11-16 20:38 ./slackware64/x/font-daewoo-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-daewoo-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 361 2010-11-16 20:38 ./slackware64/x/font-dec-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 11880 2010-11-16 20:38 ./slackware64/x/font-dec-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-dec-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-ibm-type1-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 285888 2010-11-16 20:39 ./slackware64/x/font-ibm-type1-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-ibm-type1-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-isas-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 805592 2010-11-16 20:39 ./slackware64/x/font-isas-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-isas-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 361 2010-11-16 20:39 ./slackware64/x/font-jis-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 544524 2010-11-16 20:39 ./slackware64/x/font-jis-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-jis-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 387 2010-11-16 20:39 ./slackware64/x/font-micro-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 10008 2010-11-16 20:39 ./slackware64/x/font-micro-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-micro-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 426 2010-11-16 20:39 ./slackware64/x/font-misc-cyrillic-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 74616 2010-11-16 20:39 ./slackware64/x/font-misc-cyrillic-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-cyrillic-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 426 2010-11-16 20:39 ./slackware64/x/font-misc-ethiopic-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 136536 2010-11-16 20:39 ./slackware64/x/font-misc-ethiopic-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-ethiopic-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 400 2010-11-16 20:39 ./slackware64/x/font-misc-meltho-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 743760 2010-11-16 20:39 ./slackware64/x/font-misc-meltho-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-meltho-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-misc-misc-1.1.2-noarch-1.txt +-rw-r--r-- 1 root root 3522740 2010-11-16 20:39 ./slackware64/x/font-misc-misc-1.1.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-misc-1.1.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-mutt-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 217564 2010-11-16 20:39 ./slackware64/x/font-mutt-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-mutt-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 452 2010-11-16 20:39 ./slackware64/x/font-schumacher-misc-1.1.2-noarch-1.txt +-rw-r--r-- 1 root root 163056 2010-11-16 20:39 ./slackware64/x/font-schumacher-misc-1.1.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-schumacher-misc-1.1.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 452 2010-11-16 20:39 ./slackware64/x/font-screen-cyrillic-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 17984 2010-11-16 20:39 ./slackware64/x/font-screen-cyrillic-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-screen-cyrillic-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-sony-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 28432 2010-11-16 20:39 ./slackware64/x/font-sony-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-sony-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 361 2010-11-16 20:39 ./slackware64/x/font-sun-misc-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 34664 2010-11-16 20:39 ./slackware64/x/font-sun-misc-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-sun-misc-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 362 2012-05-04 04:05 ./slackware64/x/font-util-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 37592 2012-05-04 04:05 ./slackware64/x/font-util-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:05 ./slackware64/x/font-util-1.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 478 2010-11-16 20:39 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 13228 2010-11-16 20:39 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 426 2010-11-16 20:39 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 36336 2010-11-16 20:39 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 374 2010-02-22 20:00 ./slackware64/x/fontcacheproto-0.1.3-noarch-1.txt +-rw-r--r-- 1 root root 5180 2010-02-22 20:00 ./slackware64/x/fontcacheproto-0.1.3-noarch-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/fontcacheproto-0.1.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 348 2012-07-03 21:06 ./slackware64/x/fontconfig-2.9.0-x86_64-1.txt +-rw-r--r-- 1 root root 247476 2012-07-03 21:06 ./slackware64/x/fontconfig-2.9.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-03 21:06 ./slackware64/x/fontconfig-2.9.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 363 2012-05-04 03:45 ./slackware64/x/fontsproto-2.1.2-noarch-1.txt +-rw-r--r-- 1 root root 50064 2012-05-04 03:45 ./slackware64/x/fontsproto-2.1.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/fontsproto-2.1.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 322 2009-06-03 05:38 ./slackware64/x/fonttosfnt-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 16584 2009-06-03 05:38 ./slackware64/x/fonttosfnt-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/fonttosfnt-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 475 2012-05-03 01:51 ./slackware64/x/freeglut-2.8.0-x86_64-1.txt +-rw-r--r-- 1 root root 123168 2012-05-03 01:51 ./slackware64/x/freeglut-2.8.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-03 01:51 ./slackware64/x/freeglut-2.8.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 363 2012-05-04 03:55 ./slackware64/x/fslsfonts-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 17120 2012-05-04 03:55 ./slackware64/x/fslsfonts-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/fslsfonts-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 371 2012-05-04 03:55 ./slackware64/x/fstobdf-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 17332 2012-05-04 03:55 ./slackware64/x/fstobdf-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/fstobdf-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2009-06-03 05:26 ./slackware64/x/gccmakedep-1.0.2-noarch-2.txt +-rw-r--r-- 1 root root 3016 2009-06-03 05:26 ./slackware64/x/gccmakedep-1.0.2-noarch-2.txz +-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/gccmakedep-1.0.2-noarch-2.txz.asc +-rw-r--r-- 1 root root 385 2010-11-04 23:55 ./slackware64/x/glew-1.5.7-x86_64-1.txt +-rw-r--r-- 1 root root 268316 2010-11-04 23:55 ./slackware64/x/glew-1.5.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-04 23:55 ./slackware64/x/glew-1.5.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 323 2012-05-04 03:45 ./slackware64/x/glproto-1.4.15-noarch-1.txt +-rw-r--r-- 1 root root 23284 2012-05-04 03:45 ./slackware64/x/glproto-1.4.15-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/glproto-1.4.15-noarch-1.txz.asc +-rw-r--r-- 1 root root 348 2012-05-04 03:55 ./slackware64/x/iceauth-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 24068 2012-05-04 03:55 ./slackware64/x/iceauth-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/iceauth-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2010-11-13 18:56 ./slackware64/x/ico-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 21928 2010-11-13 18:56 ./slackware64/x/ico-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:56 ./slackware64/x/ico-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 292 2012-05-04 03:47 ./slackware64/x/imake-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 39956 2012-05-04 03:47 ./slackware64/x/imake-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/imake-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2012-05-04 03:45 ./slackware64/x/inputproto-2.2-noarch-1.txt +-rw-r--r-- 1 root root 86100 2012-05-04 03:45 ./slackware64/x/inputproto-2.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/inputproto-2.2-noarch-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/x/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/x/install.end +-rw-r--r-- 1 root root 413 2012-05-04 03:55 ./slackware64/x/intel-gpu-tools-1.2-x86_64-1.txt +-rw-r--r-- 1 root root 95292 2012-05-04 03:55 ./slackware64/x/intel-gpu-tools-1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/intel-gpu-tools-1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 327 2012-05-04 03:45 ./slackware64/x/kbproto-1.0.6-noarch-1.txt +-rw-r--r-- 1 root root 174772 2012-05-04 03:45 ./slackware64/x/kbproto-1.0.6-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/kbproto-1.0.6-noarch-1.txz.asc +-rw-r--r-- 1 root root 289 2012-05-04 03:48 ./slackware64/x/libFS-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 36908 2012-05-04 03:48 ./slackware64/x/libFS-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:48 ./slackware64/x/libFS-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 304 2012-05-04 03:48 ./slackware64/x/libICE-1.0.8-x86_64-1.txt +-rw-r--r-- 1 root root 107040 2012-05-04 03:48 ./slackware64/x/libICE-1.0.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:48 ./slackware64/x/libICE-1.0.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 288 2012-05-04 03:48 ./slackware64/x/libSM-1.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 63148 2012-05-04 03:48 ./slackware64/x/libSM-1.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:48 ./slackware64/x/libSM-1.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 305 2012-06-13 05:37 ./slackware64/x/libX11-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 2460428 2012-06-13 05:37 ./slackware64/x/libX11-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:37 ./slackware64/x/libX11-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 405 2012-05-04 03:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 24172 2012-05-04 03:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2012-05-04 03:51 ./slackware64/x/libXau-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 24244 2012-05-04 03:51 ./slackware64/x/libXau-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:51 ./slackware64/x/libXau-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 208 2012-06-13 05:37 ./slackware64/x/libXaw-1.0.11-x86_64-1.txt +-rw-r--r-- 1 root root 371312 2012-06-13 05:37 ./slackware64/x/libXaw-1.0.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:37 ./slackware64/x/libXaw-1.0.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 512 2012-05-22 04:19 ./slackware64/x/libXaw3d-1.6.2-x86_64-2.txt +-rw-r--r-- 1 root root 180868 2012-05-22 04:19 ./slackware64/x/libXaw3d-1.6.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:19 ./slackware64/x/libXaw3d-1.6.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 310 2012-05-04 03:52 ./slackware64/x/libXcm-0.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 40096 2012-05-04 03:52 ./slackware64/x/libXcm-0.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXcm-0.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2010-11-13 18:52 ./slackware64/x/libXcomposite-0.4.3-x86_64-1.txt +-rw-r--r-- 1 root root 20404 2010-11-13 18:52 ./slackware64/x/libXcomposite-0.4.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:52 ./slackware64/x/libXcomposite-0.4.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 366 2012-05-04 03:52 ./slackware64/x/libXcursor-1.1.13-x86_64-1.txt +-rw-r--r-- 1 root root 39120 2012-05-04 03:52 ./slackware64/x/libXcursor-1.1.13-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXcursor-1.1.13-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2010-11-13 18:52 ./slackware64/x/libXdamage-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 15192 2010-11-13 18:52 ./slackware64/x/libXdamage-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:52 ./slackware64/x/libXdamage-1.1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 341 2012-05-04 03:52 ./slackware64/x/libXdmcp-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 47644 2012-05-04 03:52 ./slackware64/x/libXdmcp-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXdmcp-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:52 ./slackware64/x/libXevie-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 15720 2010-11-13 18:52 ./slackware64/x/libXevie-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:52 ./slackware64/x/libXevie-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 335 2012-05-04 03:52 ./slackware64/x/libXext-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 127852 2012-05-04 03:52 ./slackware64/x/libXext-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXext-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 309 2011-03-09 04:46 ./slackware64/x/libXfixes-5.0-x86_64-1.txt +-rw-r--r-- 1 root root 18612 2011-03-09 04:46 ./slackware64/x/libXfixes-5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-03-09 04:46 ./slackware64/x/libXfixes-5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 575 2012-05-04 03:52 ./slackware64/x/libXfont-1.4.5-x86_64-1.txt +-rw-r--r-- 1 root root 136624 2012-05-04 03:52 ./slackware64/x/libXfont-1.4.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXfont-1.4.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2010-02-22 20:06 ./slackware64/x/libXfontcache-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 14896 2010-02-22 20:06 ./slackware64/x/libXfontcache-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:06 ./slackware64/x/libXfontcache-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 291 2012-06-13 05:38 ./slackware64/x/libXft-2.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 58668 2012-06-13 05:38 ./slackware64/x/libXft-2.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:38 ./slackware64/x/libXft-2.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2012-05-04 03:53 ./slackware64/x/libXi-1.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 168100 2012-05-04 03:53 ./slackware64/x/libXi-1.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXi-1.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2012-05-04 03:53 ./slackware64/x/libXinerama-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 19452 2012-05-04 03:53 ./slackware64/x/libXinerama-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXinerama-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2012-05-04 03:53 ./slackware64/x/libXmu-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 97484 2012-05-04 03:53 ./slackware64/x/libXmu-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXmu-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2011-02-01 01:11 ./slackware64/x/libXp-1.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 83328 2011-02-01 01:11 ./slackware64/x/libXp-1.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:11 ./slackware64/x/libXp-1.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 313 2012-05-04 03:53 ./slackware64/x/libXpm-3.5.10-x86_64-1.txt +-rw-r--r-- 1 root root 72904 2012-05-04 03:53 ./slackware64/x/libXpm-3.5.10-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXpm-3.5.10-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2012-05-04 03:53 ./slackware64/x/libXrandr-1.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 35584 2012-05-04 03:53 ./slackware64/x/libXrandr-1.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXrandr-1.3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 377 2012-05-04 03:53 ./slackware64/x/libXrender-0.9.7-x86_64-1.txt +-rw-r--r-- 1 root root 32768 2012-05-04 03:53 ./slackware64/x/libXrender-0.9.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXrender-0.9.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 321 2012-05-04 03:53 ./slackware64/x/libXres-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 18120 2012-05-04 03:53 ./slackware64/x/libXres-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXres-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 288 2012-05-04 03:54 ./slackware64/x/libXt-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 652352 2012-05-04 03:54 ./slackware64/x/libXt-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXt-1.1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 334 2012-05-04 03:54 ./slackware64/x/libXtst-1.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 49680 2012-05-04 03:54 ./slackware64/x/libXtst-1.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXtst-1.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 321 2012-05-04 03:54 ./slackware64/x/libXv-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 44444 2012-05-04 03:54 ./slackware64/x/libXv-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXv-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 319 2012-05-04 03:54 ./slackware64/x/libXvMC-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 30740 2012-05-04 03:54 ./slackware64/x/libXvMC-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXvMC-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 382 2012-05-04 03:54 ./slackware64/x/libXxf86dga-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 27304 2012-05-04 03:54 ./slackware64/x/libXxf86dga-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXxf86dga-1.1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2011-02-01 01:12 ./slackware64/x/libXxf86misc-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 17304 2011-02-01 01:12 ./slackware64/x/libXxf86misc-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:12 ./slackware64/x/libXxf86misc-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 368 2012-05-04 03:54 ./slackware64/x/libXxf86vm-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 24160 2012-05-04 03:54 ./slackware64/x/libXxf86vm-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXxf86vm-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 320 2012-05-04 03:54 ./slackware64/x/libdmx-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 42948 2012-05-04 03:54 ./slackware64/x/libdmx-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libdmx-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 260 2012-05-02 21:48 ./slackware64/x/libdrm-2.4.33-x86_64-1.txt +-rw-r--r-- 1 root root 139704 2012-05-02 21:48 ./slackware64/x/libdrm-2.4.33-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-02 21:48 ./slackware64/x/libdrm-2.4.33-x86_64-1.txz.asc +-rw-r--r-- 1 root root 581 2012-06-23 16:15 ./slackware64/x/liberation-fonts-ttf-1.07.2-noarch-1.txt +-rw-r--r-- 1 root root 834244 2012-06-23 16:15 ./slackware64/x/liberation-fonts-ttf-1.07.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-06-23 16:15 ./slackware64/x/liberation-fonts-ttf-1.07.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 346 2012-05-04 03:54 ./slackware64/x/libfontenc-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 24628 2012-05-04 03:54 ./slackware64/x/libfontenc-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libfontenc-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 384 2012-05-12 03:28 ./slackware64/x/libhangul-0.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 1866812 2012-05-12 03:28 ./slackware64/x/libhangul-0.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-12 03:28 ./slackware64/x/libhangul-0.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 377 2012-05-04 03:54 ./slackware64/x/libpciaccess-0.13.1-x86_64-1.txt +-rw-r--r-- 1 root root 32476 2012-05-04 03:54 ./slackware64/x/libpciaccess-0.13.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libpciaccess-0.13.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 400 2010-02-22 20:01 ./slackware64/x/libpthread-stubs-0.3-noarch-1.txt +-rw-r--r-- 1 root root 1904 2010-02-22 20:01 ./slackware64/x/libpthread-stubs-0.3-noarch-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:01 ./slackware64/x/libpthread-stubs-0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 446 2012-05-04 03:47 ./slackware64/x/libxcb-1.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 264336 2012-05-04 03:47 ./slackware64/x/libxcb-1.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/libxcb-1.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 363 2012-05-04 03:54 ./slackware64/x/libxkbfile-1.0.8-x86_64-1.txt +-rw-r--r-- 1 root root 77132 2012-05-04 03:54 ./slackware64/x/libxkbfile-1.0.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libxkbfile-1.0.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 249 2012-05-04 03:56 ./slackware64/x/listres-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 15980 2012-05-04 03:56 ./slackware64/x/listres-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/listres-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2012-05-04 03:47 ./slackware64/x/lndir-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 15200 2012-05-04 03:47 ./slackware64/x/lndir-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/lndir-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 372 2012-05-04 03:56 ./slackware64/x/luit-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 32012 2012-05-04 03:56 ./slackware64/x/luit-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/luit-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 416 2010-08-12 22:44 ./slackware64/x/m17n-lib-1.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 1144424 2010-08-12 22:44 ./slackware64/x/m17n-lib-1.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-08-12 22:44 ./slackware64/x/m17n-lib-1.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 357 2012-05-04 03:47 ./slackware64/x/makedepend-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 25716 2012-05-04 03:47 ./slackware64/x/makedepend-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/makedepend-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 22822 2012-06-28 21:39 ./slackware64/x/maketag +-rw-r--r-- 1 root root 22822 2012-06-28 21:39 ./slackware64/x/maketag.ez +-rw-r--r-- 1 root root 335 2012-07-10 19:20 ./slackware64/x/mesa-8.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 19580968 2012-07-10 19:20 ./slackware64/x/mesa-8.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-10 19:20 ./slackware64/x/mesa-8.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 374 2010-02-22 20:10 ./slackware64/x/mkcomposecache-1.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 9244 2010-02-22 20:10 ./slackware64/x/mkcomposecache-1.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:10 ./slackware64/x/mkcomposecache-1.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 363 2012-05-04 03:56 ./slackware64/x/mkfontdir-1.0.7-noarch-1.txt +-rw-r--r-- 1 root root 14192 2012-05-04 03:56 ./slackware64/x/mkfontdir-1.0.7-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/mkfontdir-1.0.7-noarch-1.txz.asc +-rw-r--r-- 1 root root 272 2012-05-04 03:56 ./slackware64/x/mkfontscale-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 28224 2012-05-04 03:56 ./slackware64/x/mkfontscale-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/mkfontscale-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 587 2012-05-03 16:37 ./slackware64/x/mtdev-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 20624 2012-05-03 16:37 ./slackware64/x/mtdev-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-03 16:37 ./slackware64/x/mtdev-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 222 2012-05-04 03:56 ./slackware64/x/oclock-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 19544 2012-05-04 03:56 ./slackware64/x/oclock-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/oclock-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 366 2012-07-03 21:46 ./slackware64/x/pixman-0.26.2-x86_64-1.txt +-rw-r--r-- 1 root root 200608 2012-07-03 21:46 ./slackware64/x/pixman-0.26.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-03 21:46 ./slackware64/x/pixman-0.26.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2011-02-01 01:03 ./slackware64/x/printproto-1.0.5-noarch-1.txt +-rw-r--r-- 1 root root 18220 2011-02-01 01:03 ./slackware64/x/printproto-1.0.5-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:03 ./slackware64/x/printproto-1.0.5-noarch-1.txz.asc +-rw-r--r-- 1 root root 322 2010-11-13 18:47 ./slackware64/x/randrproto-1.3.2-noarch-1.txt +-rw-r--r-- 1 root root 36012 2010-11-13 18:47 ./slackware64/x/randrproto-1.3.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:47 ./slackware64/x/randrproto-1.3.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 373 2012-05-04 03:45 ./slackware64/x/recordproto-1.14.2-noarch-1.txt +-rw-r--r-- 1 root root 30568 2012-05-04 03:45 ./slackware64/x/recordproto-1.14.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/recordproto-1.14.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 335 2011-02-01 01:13 ./slackware64/x/rendercheck-1.4-x86_64-1.txt +-rw-r--r-- 1 root root 32820 2011-02-01 01:13 ./slackware64/x/rendercheck-1.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:13 ./slackware64/x/rendercheck-1.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 335 2010-11-13 18:47 ./slackware64/x/renderproto-0.11.1-noarch-1.txt +-rw-r--r-- 1 root root 21004 2010-11-13 18:47 ./slackware64/x/renderproto-0.11.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:47 ./slackware64/x/renderproto-0.11.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 401 2012-05-04 03:45 ./slackware64/x/resourceproto-1.2.0-noarch-1.txt +-rw-r--r-- 1 root root 15328 2012-05-04 03:45 ./slackware64/x/resourceproto-1.2.0-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/resourceproto-1.2.0-noarch-1.txz.asc +-rw-r--r-- 1 root root 231 2010-11-13 18:57 ./slackware64/x/rgb-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 17912 2010-11-13 18:57 ./slackware64/x/rgb-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:57 ./slackware64/x/rgb-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 403 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txt +-rw-r--r-- 1 root root 5974804 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz +-rw-r--r-- 1 root root 197 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz.asc +-rw-r--r-- 1 root root 330 2012-09-10 18:43 ./slackware64/x/scim-1.4.14-x86_64-2.txt +-rw-r--r-- 1 root root 803908 2012-09-10 18:43 ./slackware64/x/scim-1.4.14-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-09-10 18:43 ./slackware64/x/scim-1.4.14-x86_64-2.txz.asc +-rw-r--r-- 1 root root 508 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txt +-rw-r--r-- 1 root root 250080 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 505 2011-03-19 23:19 ./slackware64/x/scim-bridge-0.4.16-x86_64-5.txt +-rw-r--r-- 1 root root 118732 2011-03-19 23:19 ./slackware64/x/scim-bridge-0.4.16-x86_64-5.txz +-rw-r--r-- 1 root root 198 2011-03-19 23:19 ./slackware64/x/scim-bridge-0.4.16-x86_64-5.txz.asc +-rw-r--r-- 1 root root 611 2012-05-12 03:54 ./slackware64/x/scim-hangul-0.3.2-x86_64-3.txt +-rw-r--r-- 1 root root 44352 2012-05-12 03:54 ./slackware64/x/scim-hangul-0.3.2-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-05-12 03:54 ./slackware64/x/scim-hangul-0.3.2-x86_64-3.txz.asc +-rw-r--r-- 1 root root 356 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txt +-rw-r--r-- 1 root root 69624 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz +-rw-r--r-- 1 root root 197 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz.asc +-rw-r--r-- 1 root root 402 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txt +-rw-r--r-- 1 root root 32356 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz +-rw-r--r-- 1 root root 197 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 386 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txt +-rw-r--r-- 1 root root 1670432 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz +-rw-r--r-- 1 root root 197 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz.asc +-rw-r--r-- 1 root root 289 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txt +-rw-r--r-- 1 root root 3977628 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz +-rw-r--r-- 1 root root 197 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz.asc +-rw-r--r-- 1 root root 424 2012-05-04 03:46 ./slackware64/x/scrnsaverproto-1.2.2-noarch-1.txt +-rw-r--r-- 1 root root 26140 2012-05-04 03:46 ./slackware64/x/scrnsaverproto-1.2.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/scrnsaverproto-1.2.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 292 2012-05-04 03:56 ./slackware64/x/sessreg-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 19892 2012-05-04 03:56 ./slackware64/x/sessreg-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/sessreg-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 338 2012-05-04 03:56 ./slackware64/x/setxkbmap-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 24416 2012-05-04 03:56 ./slackware64/x/setxkbmap-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/setxkbmap-1.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:57 ./slackware64/x/showfont-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 16056 2010-11-13 18:57 ./slackware64/x/showfont-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:57 ./slackware64/x/showfont-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 473 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txt +-rw-r--r-- 1 root root 67728 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz +-rw-r--r-- 1 root root 197 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz.asc +-rw-r--r-- 1 root root 249 2012-05-04 03:56 ./slackware64/x/smproxy-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 20292 2012-05-04 03:56 ./slackware64/x/smproxy-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/smproxy-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 4592 2012-06-28 21:39 ./slackware64/x/tagfile +-rw-r--r-- 1 root root 561 2010-11-05 00:29 ./slackware64/x/tibmachuni-font-ttf-1.901b-noarch-1.txt +-rw-r--r-- 1 root root 864912 2010-11-05 00:29 ./slackware64/x/tibmachuni-font-ttf-1.901b-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-05 00:29 ./slackware64/x/tibmachuni-font-ttf-1.901b-noarch-1.txz.asc +-rw-r--r-- 1 root root 425 2012-06-13 15:48 ./slackware64/x/transset-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 15344 2012-06-13 15:48 ./slackware64/x/transset-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 15:48 ./slackware64/x/transset-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 621 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txt +-rw-r--r-- 1 root root 2183528 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz +-rw-r--r-- 1 root root 197 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 276 2012-05-04 03:56 ./slackware64/x/twm-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 108380 2012-05-04 03:56 ./slackware64/x/twm-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/twm-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2012-05-04 03:47 ./slackware64/x/util-macros-1.17-noarch-1.txt +-rw-r--r-- 1 root root 28496 2012-05-04 03:47 ./slackware64/x/util-macros-1.17-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/util-macros-1.17-noarch-1.txz.asc +-rw-r--r-- 1 root root 322 2010-11-13 18:47 ./slackware64/x/videoproto-2.3.1-noarch-1.txt +-rw-r--r-- 1 root root 15848 2010-11-13 18:47 ./slackware64/x/videoproto-2.3.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:47 ./slackware64/x/videoproto-2.3.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 283 2010-11-13 18:57 ./slackware64/x/viewres-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 22984 2010-11-13 18:57 ./slackware64/x/viewres-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:57 ./slackware64/x/viewres-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 686 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txt +-rw-r--r-- 1 root root 5752036 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz +-rw-r--r-- 1 root root 197 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz.asc +-rw-r--r-- 1 root root 607 2012-08-09 05:46 ./slackware64/x/x11-skel-7.7-x86_64-1.txt +-rw-r--r-- 1 root root 12296 2012-08-09 05:46 ./slackware64/x/x11-skel-7.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-09 05:46 ./slackware64/x/x11-skel-7.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 321 2012-05-04 03:56 ./slackware64/x/x11perf-1.5.4-x86_64-1.txt +-rw-r--r-- 1 root root 68672 2012-05-04 03:56 ./slackware64/x/x11perf-1.5.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/x11perf-1.5.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 223 2012-05-04 03:56 ./slackware64/x/xauth-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 32052 2012-05-04 03:56 ./slackware64/x/xauth-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/xauth-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 322 2011-02-01 01:14 ./slackware64/x/xbacklight-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 12940 2011-02-01 01:14 ./slackware64/x/xbacklight-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:14 ./slackware64/x/xbacklight-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2011-02-01 01:14 ./slackware64/x/xbiff-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 19136 2011-02-01 01:14 ./slackware64/x/xbiff-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:14 ./slackware64/x/xbiff-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2011-02-01 01:04 ./slackware64/x/xbitmaps-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 25968 2011-02-01 01:04 ./slackware64/x/xbitmaps-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:04 ./slackware64/x/xbitmaps-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2011-02-01 01:14 ./slackware64/x/xcalc-1.0.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 30856 2011-02-01 01:14 ./slackware64/x/xcalc-1.0.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:14 ./slackware64/x/xcalc-1.0.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 462 2012-06-19 19:28 ./slackware64/x/xcb-proto-1.7.1-x86_64-3.txt +-rw-r--r-- 1 root root 65376 2012-06-19 19:28 ./slackware64/x/xcb-proto-1.7.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-19 19:28 ./slackware64/x/xcb-proto-1.7.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 350 2012-05-04 03:47 ./slackware64/x/xcb-util-0.3.8-x86_64-1.txt +-rw-r--r-- 1 root root 25476 2012-05-04 03:47 ./slackware64/x/xcb-util-0.3.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/xcb-util-0.3.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 313 2012-06-13 05:33 ./slackware64/x/xcb-util-image-0.3.9-x86_64-1.txt +-rw-r--r-- 1 root root 27380 2012-06-13 05:33 ./slackware64/x/xcb-util-image-0.3.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:33 ./slackware64/x/xcb-util-image-0.3.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 360 2012-06-13 05:33 ./slackware64/x/xcb-util-keysyms-0.3.9-x86_64-1.txt +-rw-r--r-- 1 root root 15056 2012-06-13 05:33 ./slackware64/x/xcb-util-keysyms-0.3.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:33 ./slackware64/x/xcb-util-keysyms-0.3.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 401 2012-05-04 03:47 ./slackware64/x/xcb-util-renderutil-0.3.8-x86_64-1.txt +-rw-r--r-- 1 root root 16376 2012-05-04 03:47 ./slackware64/x/xcb-util-renderutil-0.3.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/xcb-util-renderutil-0.3.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 312 2012-06-13 05:33 ./slackware64/x/xcb-util-wm-0.3.9-x86_64-1.txt +-rw-r--r-- 1 root root 42192 2012-06-13 05:33 ./slackware64/x/xcb-util-wm-0.3.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:33 ./slackware64/x/xcb-util-wm-0.3.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2012-05-04 03:56 ./slackware64/x/xclipboard-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 26032 2012-05-04 03:56 ./slackware64/x/xclipboard-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/xclipboard-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 291 2012-05-04 03:56 ./slackware64/x/xclock-1.0.6-x86_64-1.txt +-rw-r--r-- 1 root root 34488 2012-05-04 03:56 ./slackware64/x/xclock-1.0.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/xclock-1.0.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 376 2012-05-04 03:46 ./slackware64/x/xcmiscproto-1.2.2-noarch-1.txt +-rw-r--r-- 1 root root 17428 2012-05-04 03:46 ./slackware64/x/xcmiscproto-1.2.2-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/xcmiscproto-1.2.2-noarch-1.txz.asc +-rw-r--r-- 1 root root 367 2012-05-04 03:57 ./slackware64/x/xcmsdb-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 23232 2012-05-04 03:57 ./slackware64/x/xcmsdb-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xcmsdb-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 302 2012-05-04 03:57 ./slackware64/x/xcompmgr-1.1.6-x86_64-1.txt +-rw-r--r-- 1 root root 23388 2012-05-04 03:57 ./slackware64/x/xcompmgr-1.1.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xcompmgr-1.1.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:58 ./slackware64/x/xconsole-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 20040 2010-11-13 18:58 ./slackware64/x/xconsole-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xconsole-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 374 2010-11-13 18:48 ./slackware64/x/xcursor-themes-1.0.3-noarch-1.txt +-rw-r--r-- 1 root root 319516 2010-11-13 18:48 ./slackware64/x/xcursor-themes-1.0.3-noarch-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:48 ./slackware64/x/xcursor-themes-1.0.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 373 2012-05-04 03:57 ./slackware64/x/xcursorgen-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 16944 2012-05-04 03:57 ./slackware64/x/xcursorgen-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xcursorgen-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 309 2010-11-13 18:58 ./slackware64/x/xdbedizzy-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 17356 2010-11-13 18:58 ./slackware64/x/xdbedizzy-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xdbedizzy-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 476 2012-07-07 04:59 ./slackware64/x/xdg-user-dirs-0.14-x86_64-1.txt +-rw-r--r-- 1 root root 38512 2012-07-07 04:59 ./slackware64/x/xdg-user-dirs-0.14-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-07 04:59 ./slackware64/x/xdg-user-dirs-0.14-x86_64-1.txz.asc +-rw-r--r-- 1 root root 550 2011-01-22 04:11 ./slackware64/x/xdg-utils-1.1.0_rc1-noarch-1.txt +-rw-r--r-- 1 root root 53616 2011-01-22 04:11 ./slackware64/x/xdg-utils-1.1.0_rc1-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-01-22 04:11 ./slackware64/x/xdg-utils-1.1.0_rc1-noarch-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:58 ./slackware64/x/xditview-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 31080 2010-11-13 18:58 ./slackware64/x/xditview-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xditview-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 253 2012-05-22 04:25 ./slackware64/x/xdm-1.1.11-x86_64-2.txt +-rw-r--r-- 1 root root 116152 2012-05-22 04:25 ./slackware64/x/xdm-1.1.11-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:25 ./slackware64/x/xdm-1.1.11-x86_64-2.txz.asc +-rw-r--r-- 1 root root 351 2012-05-04 03:57 ./slackware64/x/xdpyinfo-1.3.0-x86_64-1.txt +-rw-r--r-- 1 root root 28624 2012-05-04 03:57 ./slackware64/x/xdpyinfo-1.3.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xdpyinfo-1.3.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:58 ./slackware64/x/xdriinfo-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 12444 2010-11-13 18:58 ./slackware64/x/xdriinfo-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xdriinfo-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2010-11-13 18:58 ./slackware64/x/xedit-1.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 313756 2010-11-13 18:58 ./slackware64/x/xedit-1.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xedit-1.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 495 2012-05-04 03:57 ./slackware64/x/xev-1.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 22624 2012-05-04 03:57 ./slackware64/x/xev-1.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xev-1.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 350 2012-05-04 03:46 ./slackware64/x/xextproto-7.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 150644 2012-05-04 03:46 ./slackware64/x/xextproto-7.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/xextproto-7.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2011-02-01 01:15 ./slackware64/x/xeyes-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 19156 2011-02-01 01:15 ./slackware64/x/xeyes-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:15 ./slackware64/x/xeyes-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 463 2012-05-04 04:00 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 24664 2012-05-04 04:00 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 464 2012-05-04 04:00 ./slackware64/x/xf86-input-aiptek-1.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 27984 2012-05-04 04:00 ./slackware64/x/xf86-input-aiptek-1.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-aiptek-1.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2012-05-04 04:00 ./slackware64/x/xf86-input-evdev-2.7.0-x86_64-1.txt +-rw-r--r-- 1 root root 41736 2012-05-04 04:00 ./slackware64/x/xf86-input-evdev-2.7.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-evdev-2.7.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 485 2012-05-04 04:00 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 34400 2012-05-04 04:00 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 518 2012-05-07 16:09 ./slackware64/x/xf86-input-keyboard-1.6.1-x86_64-1.txt +-rw-r--r-- 1 root root 25088 2012-05-07 16:09 ./slackware64/x/xf86-input-keyboard-1.6.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-07 16:09 ./slackware64/x/xf86-input-keyboard-1.6.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2012-05-07 16:09 ./slackware64/x/xf86-input-mouse-1.7.2-x86_64-1.txt +-rw-r--r-- 1 root root 46900 2012-05-07 16:09 ./slackware64/x/xf86-input-mouse-1.7.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-07 16:09 ./slackware64/x/xf86-input-mouse-1.7.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 485 2012-05-04 04:00 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 17880 2012-05-04 04:00 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 490 2012-06-13 05:46 ./slackware64/x/xf86-input-synaptics-1.6.2-x86_64-1.txt +-rw-r--r-- 1 root root 69968 2012-06-13 05:46 ./slackware64/x/xf86-input-synaptics-1.6.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:46 ./slackware64/x/xf86-input-synaptics-1.6.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 476 2012-05-22 22:22 ./slackware64/x/xf86-input-vmmouse-12.9.0-x86_64-1.txt +-rw-r--r-- 1 root root 26612 2012-05-22 22:22 ./slackware64/x/xf86-input-vmmouse-12.9.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-22 22:22 ./slackware64/x/xf86-input-vmmouse-12.9.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 423 2012-05-04 04:00 ./slackware64/x/xf86-input-void-1.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 16124 2012-05-04 04:00 ./slackware64/x/xf86-input-void-1.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-void-1.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 533 2012-05-22 04:29 ./slackware64/x/xf86-input-wacom-0.15.0-x86_64-2.txt +-rw-r--r-- 1 root root 85296 2012-05-22 04:29 ./slackware64/x/xf86-input-wacom-0.15.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:29 ./slackware64/x/xf86-input-wacom-0.15.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 424 2012-05-22 04:29 ./slackware64/x/xf86-video-apm-1.2.4-x86_64-2.txt +-rw-r--r-- 1 root root 50508 2012-05-22 04:29 ./slackware64/x/xf86-video-apm-1.2.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:29 ./slackware64/x/xf86-video-apm-1.2.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 417 2012-05-04 04:00 ./slackware64/x/xf86-video-ark-0.7.4-x86_64-1.txt +-rw-r--r-- 1 root root 21088 2012-05-04 04:00 ./slackware64/x/xf86-video-ark-0.7.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-ark-0.7.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 430 2012-05-04 04:00 ./slackware64/x/xf86-video-ast-0.95.00-x86_64-1.txt +-rw-r--r-- 1 root root 42376 2012-05-04 04:00 ./slackware64/x/xf86-video-ast-0.95.00-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-ast-0.95.00-x86_64-1.txz.asc +-rw-r--r-- 1 root root 422 2012-05-04 04:00 ./slackware64/x/xf86-video-ati-6.14.4-x86_64-1.txt +-rw-r--r-- 1 root root 355728 2012-05-04 04:00 ./slackware64/x/xf86-video-ati-6.14.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-ati-6.14.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 447 2012-05-04 04:00 ./slackware64/x/xf86-video-chips-1.2.4-x86_64-2.txt +-rw-r--r-- 1 root root 87848 2012-05-04 04:00 ./slackware64/x/xf86-video-chips-1.2.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-chips-1.2.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 463 2012-05-04 04:01 ./slackware64/x/xf86-video-cirrus-1.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 43392 2012-05-04 04:01 ./slackware64/x/xf86-video-cirrus-1.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-cirrus-1.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 452 2012-05-04 04:01 ./slackware64/x/xf86-video-dummy-0.3.5-x86_64-1.txt +-rw-r--r-- 1 root root 14308 2012-05-04 04:01 ./slackware64/x/xf86-video-dummy-0.3.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-dummy-0.3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 452 2012-05-04 04:01 ./slackware64/x/xf86-video-glint-1.2.7-x86_64-1.txt +-rw-r--r-- 1 root root 86836 2012-05-04 04:01 ./slackware64/x/xf86-video-glint-1.2.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-glint-1.2.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 441 2012-05-04 04:01 ./slackware64/x/xf86-video-i128-1.3.5-x86_64-1.txt +-rw-r--r-- 1 root root 36636 2012-05-04 04:01 ./slackware64/x/xf86-video-i128-1.3.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-i128-1.3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 435 2012-05-22 04:30 ./slackware64/x/xf86-video-i740-1.3.3-x86_64-4.txt +-rw-r--r-- 1 root root 34632 2012-05-22 04:30 ./slackware64/x/xf86-video-i740-1.3.3-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:30 ./slackware64/x/xf86-video-i740-1.3.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 443 2012-05-04 04:01 ./slackware64/x/xf86-video-intel-2.19.0-x86_64-1.txt +-rw-r--r-- 1 root root 191428 2012-05-04 04:01 ./slackware64/x/xf86-video-intel-2.19.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-intel-2.19.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 455 2012-05-04 04:01 ./slackware64/x/xf86-video-mach64-6.9.1-x86_64-1.txt +-rw-r--r-- 1 root root 95984 2012-05-04 04:01 ./slackware64/x/xf86-video-mach64-6.9.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-mach64-6.9.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 418 2012-05-04 04:01 ./slackware64/x/xf86-video-mga-1.5.0-x86_64-1.txt +-rw-r--r-- 1 root root 89332 2012-05-04 04:01 ./slackware64/x/xf86-video-mga-1.5.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-mga-1.5.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 514 2012-06-23 20:41 ./slackware64/x/xf86-video-modesetting-0.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 23824 2012-06-23 20:41 ./slackware64/x/xf86-video-modesetting-0.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-23 20:41 ./slackware64/x/xf86-video-modesetting-0.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 485 2012-05-04 04:01 ./slackware64/x/xf86-video-neomagic-1.2.6-x86_64-1.txt +-rw-r--r-- 1 root root 45068 2012-05-04 04:01 ./slackware64/x/xf86-video-neomagic-1.2.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-neomagic-1.2.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 476 2012-05-04 04:02 ./slackware64/x/xf86-video-nouveau-git_20120323_efd7a52-x86_64-1.txt +-rw-r--r-- 1 root root 75260 2012-05-04 04:02 ./slackware64/x/xf86-video-nouveau-git_20120323_efd7a52-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-nouveau-git_20120323_efd7a52-x86_64-1.txz.asc +-rw-r--r-- 1 root root 409 2012-08-04 17:26 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-1.txt +-rw-r--r-- 1 root root 87052 2012-08-04 17:26 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-04 17:26 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-1.txz.asc +-rw-r--r-- 1 root root 506 2012-05-22 04:31 ./slackware64/x/xf86-video-openchrome-0.2.906-x86_64-1.txt +-rw-r--r-- 1 root root 142280 2012-05-22 04:31 ./slackware64/x/xf86-video-openchrome-0.2.906-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:31 ./slackware64/x/xf86-video-openchrome-0.2.906-x86_64-1.txz.asc +-rw-r--r-- 1 root root 437 2012-05-04 04:02 ./slackware64/x/xf86-video-r128-6.8.2-x86_64-1.txt +-rw-r--r-- 1 root root 60316 2012-05-04 04:02 ./slackware64/x/xf86-video-r128-6.8.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-r128-6.8.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 499 2012-05-04 04:02 ./slackware64/x/xf86-video-rendition-4.2.4+-x86_64-1.txt +-rw-r--r-- 1 root root 48168 2012-05-04 04:02 ./slackware64/x/xf86-video-rendition-4.2.4+-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-rendition-4.2.4+-x86_64-1.txz.asc +-rw-r--r-- 1 root root 418 2012-05-22 04:32 ./slackware64/x/xf86-video-s3-0.6.4-x86_64-4.txt +-rw-r--r-- 1 root root 43076 2012-05-22 04:32 ./slackware64/x/xf86-video-s3-0.6.4-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:32 ./slackware64/x/xf86-video-s3-0.6.4-x86_64-4.txz.asc +-rw-r--r-- 1 root root 472 2012-05-22 04:32 ./slackware64/x/xf86-video-s3virge-1.10.5-x86_64-1.txt +-rw-r--r-- 1 root root 53096 2012-05-22 04:32 ./slackware64/x/xf86-video-s3virge-1.10.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:32 ./slackware64/x/xf86-video-s3virge-1.10.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 460 2012-05-04 04:02 ./slackware64/x/xf86-video-savage-2.3.4-x86_64-1.txt +-rw-r--r-- 1 root root 76932 2012-05-04 04:02 ./slackware64/x/xf86-video-savage-2.3.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-savage-2.3.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 543 2012-05-04 04:02 ./slackware64/x/xf86-video-siliconmotion-1.7.6-x86_64-1.txt +-rw-r--r-- 1 root root 64804 2012-05-04 04:02 ./slackware64/x/xf86-video-siliconmotion-1.7.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-siliconmotion-1.7.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 423 2012-05-04 04:02 ./slackware64/x/xf86-video-sis-0.10.4-x86_64-1.txt +-rw-r--r-- 1 root root 249500 2012-05-04 04:02 ./slackware64/x/xf86-video-sis-0.10.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-sis-0.10.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 429 2012-05-04 04:02 ./slackware64/x/xf86-video-tdfx-1.4.4-x86_64-1.txt +-rw-r--r-- 1 root root 44696 2012-05-04 04:02 ./slackware64/x/xf86-video-tdfx-1.4.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-tdfx-1.4.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 424 2012-05-04 04:02 ./slackware64/x/xf86-video-tga-1.2.1-x86_64-4.txt +-rw-r--r-- 1 root root 24184 2012-05-04 04:02 ./slackware64/x/xf86-video-tga-1.2.1-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-tga-1.2.1-x86_64-4.txz.asc +-rw-r--r-- 1 root root 471 2012-05-04 04:03 ./slackware64/x/xf86-video-trident-1.3.5-x86_64-1.txt +-rw-r--r-- 1 root root 72708 2012-05-04 04:03 ./slackware64/x/xf86-video-trident-1.3.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-trident-1.3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 411 2012-05-04 04:03 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-5.txt +-rw-r--r-- 1 root root 10296 2012-05-04 04:03 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-5.txz.asc +-rw-r--r-- 1 root root 437 2012-05-04 04:03 ./slackware64/x/xf86-video-vesa-2.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 27784 2012-05-04 04:03 ./slackware64/x/xf86-video-vesa-2.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-vesa-2.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 462 2012-05-04 04:03 ./slackware64/x/xf86-video-vmware-12.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 37804 2012-05-04 04:03 ./slackware64/x/xf86-video-vmware-12.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-vmware-12.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 457 2012-05-04 04:03 ./slackware64/x/xf86-video-voodoo-1.2.4-x86_64-2.txt +-rw-r--r-- 1 root root 21484 2012-05-04 04:03 ./slackware64/x/xf86-video-voodoo-1.2.4-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-voodoo-1.2.4-x86_64-2.txz.asc +-rw-r--r-- 1 root root 400 2010-02-22 20:00 ./slackware64/x/xf86bigfontproto-1.2.0-noarch-1.txt +-rw-r--r-- 1 root root 4792 2010-02-22 20:00 ./slackware64/x/xf86bigfontproto-1.2.0-noarch-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/xf86bigfontproto-1.2.0-noarch-1.txz.asc +-rw-r--r-- 1 root root 283 2010-11-13 18:59 ./slackware64/x/xf86dga-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 13352 2010-11-13 18:59 ./slackware64/x/xf86dga-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xf86dga-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2010-02-22 20:00 ./slackware64/x/xf86dgaproto-2.1-noarch-1.txt +-rw-r--r-- 1 root root 7428 2010-02-22 20:00 ./slackware64/x/xf86dgaproto-2.1-noarch-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/xf86dgaproto-2.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 348 2011-02-01 01:03 ./slackware64/x/xf86driproto-2.1.1-noarch-1.txt +-rw-r--r-- 1 root root 10904 2011-02-01 01:03 ./slackware64/x/xf86driproto-2.1.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:03 ./slackware64/x/xf86driproto-2.1.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 361 2010-02-22 20:00 ./slackware64/x/xf86miscproto-0.9.3-noarch-1.txt +-rw-r--r-- 1 root root 6148 2010-02-22 20:00 ./slackware64/x/xf86miscproto-0.9.3-noarch-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/xf86miscproto-0.9.3-noarch-1.txz.asc +-rw-r--r-- 1 root root 400 2011-02-01 01:03 ./slackware64/x/xf86vidmodeproto-2.3.1-noarch-1.txt +-rw-r--r-- 1 root root 11304 2011-02-01 01:03 ./slackware64/x/xf86vidmodeproto-2.3.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:03 ./slackware64/x/xf86vidmodeproto-2.3.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 167 2012-05-04 03:57 ./slackware64/x/xfd-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 26124 2012-05-04 03:57 ./slackware64/x/xfd-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xfd-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 345 2012-05-04 03:57 ./slackware64/x/xfontsel-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 31728 2012-05-04 03:57 ./slackware64/x/xfontsel-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xfontsel-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 253 2012-05-04 03:57 ./slackware64/x/xfs-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 72408 2012-05-04 03:57 ./slackware64/x/xfs-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xfs-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 283 2010-11-13 18:59 ./slackware64/x/xfsinfo-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 14340 2010-11-13 18:59 ./slackware64/x/xfsinfo-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xfsinfo-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 249 2012-05-04 03:57 ./slackware64/x/xgamma-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 15244 2012-05-04 03:57 ./slackware64/x/xgamma-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xgamma-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2010-11-13 18:59 ./slackware64/x/xgc-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 38636 2010-11-13 18:59 ./slackware64/x/xgc-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xgc-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 217 2012-05-04 03:58 ./slackware64/x/xhost-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 20956 2012-05-04 03:58 ./slackware64/x/xhost-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xhost-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2011-02-01 01:04 ./slackware64/x/xineramaproto-1.2.1-noarch-1.txt +-rw-r--r-- 1 root root 10716 2011-02-01 01:04 ./slackware64/x/xineramaproto-1.2.1-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:04 ./slackware64/x/xineramaproto-1.2.1-noarch-1.txz.asc +-rw-r--r-- 1 root root 308 2012-05-04 03:58 ./slackware64/x/xinit-1.3.2-x86_64-1.txt +-rw-r--r-- 1 root root 28680 2012-05-04 03:58 ./slackware64/x/xinit-1.3.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xinit-1.3.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 495 2012-05-22 04:26 ./slackware64/x/xinput-1.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 37496 2012-05-22 04:26 ./slackware64/x/xinput-1.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-22 04:26 ./slackware64/x/xinput-1.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 306 2012-05-04 03:58 ./slackware64/x/xkbcomp-1.2.4-x86_64-1.txt +-rw-r--r-- 1 root root 97516 2012-05-04 03:58 ./slackware64/x/xkbcomp-1.2.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xkbcomp-1.2.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 298 2012-05-04 03:58 ./slackware64/x/xkbevd-1.1.3-x86_64-1.txt +-rw-r--r-- 1 root root 27460 2012-05-04 03:58 ./slackware64/x/xkbevd-1.1.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xkbevd-1.1.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2011-02-01 01:16 ./slackware64/x/xkbprint-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 51776 2011-02-01 01:16 ./slackware64/x/xkbprint-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:16 ./slackware64/x/xkbprint-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 18:59 ./slackware64/x/xkbutils-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 26796 2010-11-13 18:59 ./slackware64/x/xkbutils-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xkbutils-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 655 2012-06-13 05:32 ./slackware64/x/xkeyboard-config-2.6-noarch-1.txt +-rw-r--r-- 1 root root 542144 2012-06-13 05:32 ./slackware64/x/xkeyboard-config-2.6-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:32 ./slackware64/x/xkeyboard-config-2.6-noarch-1.txz.asc +-rw-r--r-- 1 root root 257 2010-11-13 19:00 ./slackware64/x/xkill-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 16860 2010-11-13 19:00 ./slackware64/x/xkill-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xkill-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 307 2012-05-04 03:58 ./slackware64/x/xload-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 20924 2012-05-04 03:58 ./slackware64/x/xload-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xload-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2012-05-04 03:58 ./slackware64/x/xlogo-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 22156 2012-05-04 03:58 ./slackware64/x/xlogo-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlogo-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 348 2012-05-04 03:58 ./slackware64/x/xlsatoms-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 15716 2012-05-04 03:58 ./slackware64/x/xlsatoms-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlsatoms-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 286 2012-05-04 03:58 ./slackware64/x/xlsclients-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 18512 2012-05-04 03:58 ./slackware64/x/xlsclients-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlsclients-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 237 2012-05-04 03:58 ./slackware64/x/xlsfonts-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 20548 2012-05-04 03:58 ./slackware64/x/xlsfonts-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlsfonts-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 244 2010-11-13 19:00 ./slackware64/x/xmag-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 27372 2010-11-13 19:00 ./slackware64/x/xmag-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xmag-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 298 2012-05-04 03:58 ./slackware64/x/xman-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 47816 2012-05-04 03:58 ./slackware64/x/xman-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xman-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-02-22 20:14 ./slackware64/x/xmessage-1.0.3-x86_64-1.txt +-rw-r--r-- 1 root root 19764 2010-02-22 20:14 ./slackware64/x/xmessage-1.0.3-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:14 ./slackware64/x/xmessage-1.0.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2010-11-13 19:00 ./slackware64/x/xmh-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 81160 2010-11-13 19:00 ./slackware64/x/xmh-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xmh-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 410 2012-05-04 03:58 ./slackware64/x/xmodmap-1.0.7-x86_64-1.txt +-rw-r--r-- 1 root root 31156 2012-05-04 03:58 ./slackware64/x/xmodmap-1.0.7-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xmodmap-1.0.7-x86_64-1.txz.asc +-rw-r--r-- 1 root root 257 2010-11-13 19:00 ./slackware64/x/xmore-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 14060 2010-11-13 19:00 ./slackware64/x/xmore-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xmore-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 361 2011-02-01 01:04 ./slackware64/x/xorg-cf-files-1.0.4-noarch-1.txt +-rw-r--r-- 1 root root 185448 2011-02-01 01:04 ./slackware64/x/xorg-cf-files-1.0.4-noarch-1.txz +-rw-r--r-- 1 root root 198 2011-02-01 01:04 ./slackware64/x/xorg-cf-files-1.0.4-noarch-1.txz.asc +-rw-r--r-- 1 root root 345 2012-06-13 05:45 ./slackware64/x/xorg-docs-1.7-noarch-1.txt +-rw-r--r-- 1 root root 274308 2012-06-13 05:45 ./slackware64/x/xorg-docs-1.7-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:45 ./slackware64/x/xorg-docs-1.7-noarch-1.txz.asc +-rw-r--r-- 1 root root 698 2012-08-23 19:04 ./slackware64/x/xorg-server-1.12.3-x86_64-2.txt +-rw-r--r-- 1 root root 1909324 2012-08-23 19:04 ./slackware64/x/xorg-server-1.12.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-1.12.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 370 2012-08-23 19:04 ./slackware64/x/xorg-server-xephyr-1.12.3-x86_64-2.txt +-rw-r--r-- 1 root root 744792 2012-08-23 19:04 ./slackware64/x/xorg-server-xephyr-1.12.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-xephyr-1.12.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 595 2012-08-23 19:04 ./slackware64/x/xorg-server-xnest-1.12.3-x86_64-2.txt +-rw-r--r-- 1 root root 588820 2012-08-23 19:04 ./slackware64/x/xorg-server-xnest-1.12.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-xnest-1.12.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 693 2012-08-23 19:04 ./slackware64/x/xorg-server-xvfb-1.12.3-x86_64-2.txt +-rw-r--r-- 1 root root 668664 2012-08-23 19:04 ./slackware64/x/xorg-server-xvfb-1.12.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-xvfb-1.12.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 671 2012-06-13 05:45 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-1.txt +-rw-r--r-- 1 root root 24120 2012-06-13 05:45 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-13 05:45 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 210 2012-05-04 03:58 ./slackware64/x/xpr-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 34340 2012-05-04 03:58 ./slackware64/x/xpr-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xpr-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 310 2012-05-04 03:59 ./slackware64/x/xprop-1.2.1-x86_64-1.txt +-rw-r--r-- 1 root root 34896 2012-05-04 03:59 ./slackware64/x/xprop-1.2.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xprop-1.2.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 319 2012-05-04 03:46 ./slackware64/x/xproto-7.0.23-noarch-1.txt +-rw-r--r-- 1 root root 206620 2012-05-04 03:46 ./slackware64/x/xproto-7.0.23-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/xproto-7.0.23-noarch-1.txz.asc +-rw-r--r-- 1 root root 170 2012-06-19 20:07 ./slackware64/x/xpyb-1.3.1-x86_64-2.txt +-rw-r--r-- 1 root root 110264 2012-06-19 20:07 ./slackware64/x/xpyb-1.3.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-19 20:07 ./slackware64/x/xpyb-1.3.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 201 2012-05-04 03:59 ./slackware64/x/xrandr-1.3.5-x86_64-1.txt +-rw-r--r-- 1 root root 46744 2012-05-04 03:59 ./slackware64/x/xrandr-1.3.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xrandr-1.3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 244 2011-04-06 04:27 ./slackware64/x/xrdb-1.0.9-x86_64-1.txt +-rw-r--r-- 1 root root 23584 2011-04-06 04:27 ./slackware64/x/xrdb-1.0.9-x86_64-1.txz +-rw-r--r-- 1 root root 198 2011-04-06 04:27 ./slackware64/x/xrdb-1.0.9-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 19:01 ./slackware64/x/xrefresh-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 14884 2010-11-13 19:01 ./slackware64/x/xrefresh-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xrefresh-1.0.4-x86_64-1.txz.asc +-rw-r--r-- 1 root root 316 2012-05-04 03:59 ./slackware64/x/xscope-1.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 101984 2012-05-04 03:59 ./slackware64/x/xscope-1.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xscope-1.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 226 2012-05-04 03:59 ./slackware64/x/xset-1.2.2-x86_64-1.txt +-rw-r--r-- 1 root root 32396 2012-05-04 03:59 ./slackware64/x/xset-1.2.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xset-1.2.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 19:01 ./slackware64/x/xsetroot-1.1.0-x86_64-1.txt +-rw-r--r-- 1 root root 18128 2010-11-13 19:01 ./slackware64/x/xsetroot-1.1.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xsetroot-1.1.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 231 2010-11-13 19:01 ./slackware64/x/xsm-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 52892 2010-11-13 19:01 ./slackware64/x/xsm-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xsm-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 296 2010-11-13 19:01 ./slackware64/x/xstdcmap-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 15508 2010-11-13 19:01 ./slackware64/x/xstdcmap-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xstdcmap-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 308 2012-08-09 22:27 ./slackware64/x/xterm-281-x86_64-1.txt +-rw-r--r-- 1 root root 276508 2012-08-09 22:27 ./slackware64/x/xterm-281-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-09 22:27 ./slackware64/x/xterm-281-x86_64-1.txz.asc +-rw-r--r-- 1 root root 392 2012-05-04 03:55 ./slackware64/x/xtrans-1.2.7-noarch-1.txt +-rw-r--r-- 1 root root 65900 2012-05-04 03:55 ./slackware64/x/xtrans-1.2.7-noarch-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/xtrans-1.2.7-noarch-1.txz.asc +-rw-r--r-- 1 root root 296 2010-02-22 20:15 ./slackware64/x/xvidtune-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 26252 2010-02-22 20:15 ./slackware64/x/xvidtune-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-22 20:15 ./slackware64/x/xvidtune-1.0.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 270 2010-11-13 19:01 ./slackware64/x/xvinfo-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 14972 2010-11-13 19:01 ./slackware64/x/xvinfo-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xvinfo-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 262 2012-05-04 03:59 ./slackware64/x/xwd-1.0.5-x86_64-1.txt +-rw-r--r-- 1 root root 25512 2012-05-04 03:59 ./slackware64/x/xwd-1.0.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xwd-1.0.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 243 2012-05-04 03:59 ./slackware64/x/xwininfo-1.1.2-x86_64-1.txt +-rw-r--r-- 1 root root 33008 2012-05-04 03:59 ./slackware64/x/xwininfo-1.1.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xwininfo-1.1.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 213 2012-05-04 03:59 ./slackware64/x/xwud-1.0.4-x86_64-1.txt +-rw-r--r-- 1 root root 23184 2012-05-04 03:59 ./slackware64/x/xwud-1.0.4-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xwud-1.0.4-x86_64-1.txz.asc +drwxr-xr-x 2 root root 12288 2012-09-10 20:34 ./slackware64/xap +-rw-r--r-- 1 root root 638 2012-07-18 19:21 ./slackware64/xap/MPlayer-1.1_20120701-x86_64-2.txt +-rw-r--r-- 1 root root 10058324 2012-07-18 19:21 ./slackware64/xap/MPlayer-1.1_20120701-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-18 19:21 ./slackware64/xap/MPlayer-1.1_20120701-x86_64-2.txz.asc +-rw-r--r-- 1 root root 615 2012-08-21 19:30 ./slackware64/xap/audacious-3.3.1-x86_64-2.txt +-rw-r--r-- 1 root root 321248 2012-08-21 19:30 ./slackware64/xap/audacious-3.3.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-21 19:30 ./slackware64/xap/audacious-3.3.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 424 2012-08-16 01:53 ./slackware64/xap/audacious-plugins-3.3.1-x86_64-1.txt +-rw-r--r-- 1 root root 1042216 2012-08-16 01:53 ./slackware64/xap/audacious-plugins-3.3.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-16 01:53 ./slackware64/xap/audacious-plugins-3.3.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 441 2012-08-09 03:58 ./slackware64/xap/blackbox-0.70.1-x86_64-7.txt +-rw-r--r-- 1 root root 290460 2012-08-09 03:58 ./slackware64/xap/blackbox-0.70.1-x86_64-7.txz +-rw-r--r-- 1 root root 198 2012-08-09 03:58 ./slackware64/xap/blackbox-0.70.1-x86_64-7.txz.asc +-rw-r--r-- 1 root root 424 2012-06-27 03:11 ./slackware64/xap/blueman-r708-x86_64-2.txt +-rw-r--r-- 1 root root 540260 2012-06-27 03:11 ./slackware64/xap/blueman-r708-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-06-27 03:11 ./slackware64/xap/blueman-r708-x86_64-2.txz.asc +-rw-r--r-- 1 root root 652 2010-02-19 18:41 ./slackware64/xap/electricsheep-20090306-x86_64-3.txt +-rw-r--r-- 1 root root 2598696 2010-02-19 18:41 ./slackware64/xap/electricsheep-20090306-x86_64-3.txz +-rw-r--r-- 1 root root 197 2010-02-19 18:41 ./slackware64/xap/electricsheep-20090306-x86_64-3.txz.asc +-rw-r--r-- 1 root root 229 2012-08-09 04:35 ./slackware64/xap/fluxbox-1.3.2-x86_64-4.txt +-rw-r--r-- 1 root root 722416 2012-08-09 04:35 ./slackware64/xap/fluxbox-1.3.2-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-08-09 04:35 ./slackware64/xap/fluxbox-1.3.2-x86_64-4.txz.asc +-rw-r--r-- 1 root root 368 2012-08-27 16:01 ./slackware64/xap/fvwm-2.6.5-x86_64-6.txt +-rw-r--r-- 1 root root 1534008 2012-08-27 16:01 ./slackware64/xap/fvwm-2.6.5-x86_64-6.txz +-rw-r--r-- 1 root root 198 2012-08-27 16:01 ./slackware64/xap/fvwm-2.6.5-x86_64-6.txz.asc +-rw-r--r-- 1 root root 311 2012-08-14 17:34 ./slackware64/xap/geeqie-1.1-x86_64-1.txt +-rw-r--r-- 1 root root 805452 2012-08-14 17:34 ./slackware64/xap/geeqie-1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-14 17:34 ./slackware64/xap/geeqie-1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 444 2012-07-04 22:16 ./slackware64/xap/gftp-2.0.19-x86_64-3.txt +-rw-r--r-- 1 root root 594152 2012-07-04 22:16 ./slackware64/xap/gftp-2.0.19-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 22:16 ./slackware64/xap/gftp-2.0.19-x86_64-3.txz.asc +-rw-r--r-- 1 root root 473 2012-08-27 17:09 ./slackware64/xap/gimp-2.8.2-x86_64-1.txt +-rw-r--r-- 1 root root 12359044 2012-08-27 17:09 ./slackware64/xap/gimp-2.8.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-27 17:09 ./slackware64/xap/gimp-2.8.2-x86_64-1.txz.asc +-rw-r--r-- 1 root root 513 2012-07-04 17:18 ./slackware64/xap/gkrellm-2.3.5-x86_64-2.txt +-rw-r--r-- 1 root root 536992 2012-07-04 17:18 ./slackware64/xap/gkrellm-2.3.5-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:18 ./slackware64/xap/gkrellm-2.3.5-x86_64-2.txz.asc +-rw-r--r-- 1 root root 337 2011-03-21 22:48 ./slackware64/xap/gnuchess-5.08-x86_64-2.txt +-rw-r--r-- 1 root root 1057424 2011-03-21 22:48 ./slackware64/xap/gnuchess-5.08-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-03-21 22:48 ./slackware64/xap/gnuchess-5.08-x86_64-2.txz.asc +-rw-r--r-- 1 root root 647 2012-08-19 17:00 ./slackware64/xap/gnuplot-4.6.0-x86_64-1.txt +-rw-r--r-- 1 root root 2776248 2012-08-19 17:00 ./slackware64/xap/gnuplot-4.6.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-19 17:00 ./slackware64/xap/gnuplot-4.6.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 209 2012-07-12 17:22 ./slackware64/xap/gucharmap-3.4.1-x86_64-1.txt +-rw-r--r-- 1 root root 1411056 2012-07-12 17:22 ./slackware64/xap/gucharmap-3.4.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-12 17:22 ./slackware64/xap/gucharmap-3.4.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 370 2012-05-22 18:49 ./slackware64/xap/gv-3.7.3-x86_64-2.txt +-rw-r--r-- 1 root root 210628 2012-05-22 18:49 ./slackware64/xap/gv-3.7.3-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-05-22 18:49 ./slackware64/xap/gv-3.7.3-x86_64-2.txz.asc +-rw-r--r-- 1 root root 540 2012-06-28 15:25 ./slackware64/xap/imagemagick-6.7.7_10-x86_64-1.txt +-rw-r--r-- 1 root root 6156648 2012-06-28 15:25 ./slackware64/xap/imagemagick-6.7.7_10-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-06-28 15:25 ./slackware64/xap/imagemagick-6.7.7_10-x86_64-1.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/xap/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/xap/install.end +-rw-r--r-- 1 root root 3978 2012-07-21 21:42 ./slackware64/xap/maketag +-rw-r--r-- 1 root root 3978 2012-07-21 21:42 ./slackware64/xap/maketag.ez +-rw-r--r-- 1 root root 527 2012-09-07 01:16 ./slackware64/xap/mozilla-firefox-15.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 17333008 2012-09-07 01:16 ./slackware64/xap/mozilla-firefox-15.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-07 01:16 ./slackware64/xap/mozilla-firefox-15.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 702 2012-09-09 18:18 ./slackware64/xap/mozilla-thunderbird-15.0.1-x86_64-1.txt +-rw-r--r-- 1 root root 19919104 2012-09-09 18:18 ./slackware64/xap/mozilla-thunderbird-15.0.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-09 18:18 ./slackware64/xap/mozilla-thunderbird-15.0.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 359 2012-07-24 21:34 ./slackware64/xap/network-manager-applet-0.9.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 800300 2012-07-24 21:34 ./slackware64/xap/network-manager-applet-0.9.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-24 21:34 ./slackware64/xap/network-manager-applet-0.9.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 303 2012-07-10 17:43 ./slackware64/xap/pan-0.139-x86_64-1.txt +-rw-r--r-- 1 root root 917368 2012-07-10 17:43 ./slackware64/xap/pan-0.139-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-10 17:43 ./slackware64/xap/pan-0.139-x86_64-1.txz.asc +-rw-r--r-- 1 root root 469 2012-07-12 19:02 ./slackware64/xap/pidgin-2.10.6-x86_64-1.txt +-rw-r--r-- 1 root root 6561860 2012-07-12 19:02 ./slackware64/xap/pidgin-2.10.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-12 19:02 ./slackware64/xap/pidgin-2.10.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 395 2012-07-04 17:26 ./slackware64/xap/rdesktop-1.7.1-x86_64-3.txt +-rw-r--r-- 1 root root 141968 2012-07-04 17:26 ./slackware64/xap/rdesktop-1.7.1-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:26 ./slackware64/xap/rdesktop-1.7.1-x86_64-3.txz.asc +-rw-r--r-- 1 root root 425 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txt +-rw-r--r-- 1 root root 162500 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz +-rw-r--r-- 1 root root 197 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz.asc +-rw-r--r-- 1 root root 321 2012-08-10 20:09 ./slackware64/xap/sane-1.0.22-x86_64-5.txt +-rw-r--r-- 1 root root 2740128 2012-08-10 20:09 ./slackware64/xap/sane-1.0.22-x86_64-5.txz +-rw-r--r-- 1 root root 198 2012-08-10 20:09 ./slackware64/xap/sane-1.0.22-x86_64-5.txz.asc +-rw-r--r-- 1 root root 434 2012-09-10 17:32 ./slackware64/xap/seamonkey-2.12.1-x86_64-1.txt +-rw-r--r-- 1 root root 26061568 2012-09-10 17:32 ./slackware64/xap/seamonkey-2.12.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-10 17:32 ./slackware64/xap/seamonkey-2.12.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 609 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txt +-rw-r--r-- 1 root root 113164 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz +-rw-r--r-- 1 root root 197 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz.asc +-rw-r--r-- 1 root root 575 2012-07-21 21:42 ./slackware64/xap/tagfile +-rw-r--r-- 1 root root 505 2012-08-29 16:41 ./slackware64/xap/vim-gvim-7.3.645-x86_64-1.txt +-rw-r--r-- 1 root root 1029100 2012-08-29 16:41 ./slackware64/xap/vim-gvim-7.3.645-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-29 16:41 ./slackware64/xap/vim-gvim-7.3.645-x86_64-1.txz.asc +-rw-r--r-- 1 root root 455 2012-08-13 16:55 ./slackware64/xap/windowmaker-0.95.3-x86_64-3.txt +-rw-r--r-- 1 root root 1602908 2012-08-13 16:55 ./slackware64/xap/windowmaker-0.95.3-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-08-13 16:55 ./slackware64/xap/windowmaker-0.95.3-x86_64-3.txz.asc +-rw-r--r-- 1 root root 308 2011-02-01 06:39 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-2.txt +-rw-r--r-- 1 root root 24736 2011-02-01 06:39 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-2.txz +-rw-r--r-- 1 root root 198 2011-02-01 06:39 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-2.txz.asc +-rw-r--r-- 1 root root 310 2012-07-04 22:14 ./slackware64/xap/x3270-3.3.12ga7-x86_64-2.txt +-rw-r--r-- 1 root root 716196 2012-07-04 22:14 ./slackware64/xap/x3270-3.3.12ga7-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 22:14 ./slackware64/xap/x3270-3.3.12ga7-x86_64-2.txz.asc +-rw-r--r-- 1 root root 420 2010-10-16 19:52 ./slackware64/xap/xaos-3.5-x86_64-1.txt +-rw-r--r-- 1 root root 514032 2010-10-16 19:52 ./slackware64/xap/xaos-3.5-x86_64-1.txz +-rw-r--r-- 1 root root 198 2010-10-16 19:52 ./slackware64/xap/xaos-3.5-x86_64-1.txz.asc +-rw-r--r-- 1 root root 164 2012-07-04 17:16 ./slackware64/xap/xchat-2.8.8-x86_64-6.txt +-rw-r--r-- 1 root root 760028 2012-07-04 17:16 ./slackware64/xap/xchat-2.8.8-x86_64-6.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:16 ./slackware64/xap/xchat-2.8.8-x86_64-6.txz.asc +-rw-r--r-- 1 root root 411 2012-01-12 22:55 ./slackware64/xap/xfractint-20.04p11-x86_64-1.txt +-rw-r--r-- 1 root root 845324 2012-01-12 22:55 ./slackware64/xap/xfractint-20.04p11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-01-12 22:55 ./slackware64/xap/xfractint-20.04p11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 239 2011-03-20 17:31 ./slackware64/xap/xgames-0.3-x86_64-4.txt +-rw-r--r-- 1 root root 114676 2011-03-20 17:31 ./slackware64/xap/xgames-0.3-x86_64-4.txz +-rw-r--r-- 1 root root 198 2011-03-20 17:31 ./slackware64/xap/xgames-0.3-x86_64-4.txz.asc +-rw-r--r-- 1 root root 468 2012-09-08 19:05 ./slackware64/xap/xine-lib-1.1.21-x86_64-1.txt +-rw-r--r-- 1 root root 3660064 2012-09-08 19:05 ./slackware64/xap/xine-lib-1.1.21-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-08 19:05 ./slackware64/xap/xine-lib-1.1.21-x86_64-1.txz.asc +-rw-r--r-- 1 root root 374 2012-09-09 17:48 ./slackware64/xap/xine-ui-0.99.6-x86_64-1.txt +-rw-r--r-- 1 root root 1295976 2012-09-09 17:48 ./slackware64/xap/xine-ui-0.99.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-09 17:48 ./slackware64/xap/xine-ui-0.99.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 462 2012-05-25 16:19 ./slackware64/xap/xlockmore-5.39-x86_64-1.txt +-rw-r--r-- 1 root root 1030648 2012-05-25 16:19 ./slackware64/xap/xlockmore-5.39-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-05-25 16:19 ./slackware64/xap/xlockmore-5.39-x86_64-1.txz.asc +-rw-r--r-- 1 root root 379 2010-03-25 21:58 ./slackware64/xap/xmms-1.2.11-x86_64-4.txt +-rw-r--r-- 1 root root 1153728 2010-03-25 21:58 ./slackware64/xap/xmms-1.2.11-x86_64-4.txz +-rw-r--r-- 1 root root 198 2010-03-25 21:58 ./slackware64/xap/xmms-1.2.11-x86_64-4.txz.asc +-rw-r--r-- 1 root root 445 2010-02-20 01:05 ./slackware64/xap/xpaint-2.8.16-x86_64-1.txt +-rw-r--r-- 1 root root 423688 2010-02-20 01:05 ./slackware64/xap/xpaint-2.8.16-x86_64-1.txz +-rw-r--r-- 1 root root 197 2010-02-20 01:05 ./slackware64/xap/xpaint-2.8.16-x86_64-1.txz.asc +-rw-r--r-- 1 root root 188 2012-08-01 16:32 ./slackware64/xap/xpdf-3.02pl6-x86_64-4.txt +-rw-r--r-- 1 root root 1500832 2012-08-01 16:32 ./slackware64/xap/xpdf-3.02pl6-x86_64-4.txz +-rw-r--r-- 1 root root 198 2012-08-01 16:32 ./slackware64/xap/xpdf-3.02pl6-x86_64-4.txz.asc +-rw-r--r-- 1 root root 499 2012-07-04 17:13 ./slackware64/xap/xsane-0.998-x86_64-2.txt +-rw-r--r-- 1 root root 1632264 2012-07-04 17:13 ./slackware64/xap/xsane-0.998-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-04 17:13 ./slackware64/xap/xsane-0.998-x86_64-2.txz.asc +-rw-r--r-- 1 root root 424 2012-06-19 21:32 ./slackware64/xap/xscreensaver-5.15-x86_64-3.txt +-rw-r--r-- 1 root root 3597124 2012-06-19 21:32 ./slackware64/xap/xscreensaver-5.15-x86_64-3.txz +-rw-r--r-- 1 root root 198 2012-06-19 21:32 ./slackware64/xap/xscreensaver-5.15-x86_64-3.txz.asc +-rw-r--r-- 1 root root 235 2010-02-19 19:32 ./slackware64/xap/xv-3.10a-x86_64-6.txt +-rw-r--r-- 1 root root 939688 2010-02-19 19:32 ./slackware64/xap/xv-3.10a-x86_64-6.txz +-rw-r--r-- 1 root root 197 2010-02-19 19:32 ./slackware64/xap/xv-3.10a-x86_64-6.txz.asc +-rw-r--r-- 1 root root 418 2011-04-05 00:45 ./slackware64/xap/xxgdb-1.12-x86_64-3.txt +-rw-r--r-- 1 root root 51460 2011-04-05 00:45 ./slackware64/xap/xxgdb-1.12-x86_64-3.txz +-rw-r--r-- 1 root root 198 2011-04-05 00:45 ./slackware64/xap/xxgdb-1.12-x86_64-3.txz.asc +drwxr-xr-x 2 root root 4096 2012-08-30 23:54 ./slackware64/xfce +-rw-r--r-- 1 root root 362 2012-07-20 01:02 ./slackware64/xfce/Terminal-0.4.8-x86_64-1.txt +-rw-r--r-- 1 root root 952196 2012-07-20 01:02 ./slackware64/xfce/Terminal-0.4.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/Terminal-0.4.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 463 2012-07-20 00:59 ./slackware64/xfce/Thunar-1.4.0-x86_64-1.txt +-rw-r--r-- 1 root root 971252 2012-07-20 00:59 ./slackware64/xfce/Thunar-1.4.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:59 ./slackware64/xfce/Thunar-1.4.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 377 2012-07-20 00:59 ./slackware64/xfce/exo-0.8.0-x86_64-1.txt +-rw-r--r-- 1 root root 563608 2012-07-20 00:59 ./slackware64/xfce/exo-0.8.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:59 ./slackware64/xfce/exo-0.8.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 295 2012-07-20 00:59 ./slackware64/xfce/garcon-0.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 115988 2012-07-20 00:59 ./slackware64/xfce/garcon-0.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:59 ./slackware64/xfce/garcon-0.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 412 2012-07-20 01:01 ./slackware64/xfce/gtk-xfce-engine-3.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 59668 2012-07-20 01:01 ./slackware64/xfce/gtk-xfce-engine-3.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/gtk-xfce-engine-3.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 309 2012-07-20 00:58 ./slackware64/xfce/libxfce4ui-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 170764 2012-07-20 00:58 ./slackware64/xfce/libxfce4ui-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/libxfce4ui-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 317 2012-07-20 00:58 ./slackware64/xfce/libxfce4util-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 109276 2012-07-20 00:58 ./slackware64/xfce/libxfce4util-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/libxfce4util-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 316 2012-07-20 00:58 ./slackware64/xfce/libxfcegui4-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 253896 2012-07-20 00:58 ./slackware64/xfce/libxfcegui4-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/libxfcegui4-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 3123 2012-07-21 21:42 ./slackware64/xfce/maketag +-rw-r--r-- 1 root root 3123 2012-07-21 21:42 ./slackware64/xfce/maketag.ez +-rw-r--r-- 1 root root 172 2012-07-20 01:02 ./slackware64/xfce/orage-4.8.3-x86_64-1.txt +-rw-r--r-- 1 root root 1470456 2012-07-20 01:02 ./slackware64/xfce/orage-4.8.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/orage-4.8.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 496 2012-07-21 21:42 ./slackware64/xfce/tagfile +-rw-r--r-- 1 root root 345 2012-07-20 01:02 ./slackware64/xfce/thunar-volman-0.8.0-x86_64-1.txt +-rw-r--r-- 1 root root 113780 2012-07-20 01:02 ./slackware64/xfce/thunar-volman-0.8.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/thunar-volman-0.8.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 510 2012-08-02 21:05 ./slackware64/xfce/tumbler-0.1.25-x86_64-2.txt +-rw-r--r-- 1 root root 143068 2012-08-02 21:05 ./slackware64/xfce/tumbler-0.1.25-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-02 21:05 ./slackware64/xfce/tumbler-0.1.25-x86_64-2.txz.asc +-rw-r--r-- 1 root root 469 2012-07-20 01:01 ./slackware64/xfce/xfce4-appfinder-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 99076 2012-07-20 01:01 ./slackware64/xfce/xfce4-appfinder-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfce4-appfinder-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 532 2012-07-20 01:03 ./slackware64/xfce/xfce4-clipman-plugin-1.2.3-x86_64-1.txt +-rw-r--r-- 1 root root 590608 2012-07-20 01:03 ./slackware64/xfce/xfce4-clipman-plugin-1.2.3-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-clipman-plugin-1.2.3-x86_64-1.txz.asc +-rw-r--r-- 1 root root 357 2012-07-20 00:58 ./slackware64/xfce/xfce4-dev-tools-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 35888 2012-07-20 00:58 ./slackware64/xfce/xfce4-dev-tools-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/xfce4-dev-tools-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 437 2012-07-20 01:02 ./slackware64/xfce/xfce4-mixer-4.8.0-x86_64-1.txt +-rw-r--r-- 1 root root 138468 2012-07-20 01:02 ./slackware64/xfce/xfce4-mixer-4.8.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/xfce4-mixer-4.8.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 441 2012-08-29 17:19 ./slackware64/xfce/xfce4-notifyd-0.2.2-x86_64-2.txt +-rw-r--r-- 1 root root 69060 2012-08-29 17:19 ./slackware64/xfce/xfce4-notifyd-0.2.2-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-08-29 17:19 ./slackware64/xfce/xfce4-notifyd-0.2.2-x86_64-2.txz.asc +-rw-r--r-- 1 root root 437 2012-07-20 01:00 ./slackware64/xfce/xfce4-panel-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 546080 2012-07-20 01:00 ./slackware64/xfce/xfce4-panel-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:00 ./slackware64/xfce/xfce4-panel-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 413 2012-07-20 01:02 ./slackware64/xfce/xfce4-power-manager-1.2.0-x86_64-1.txt +-rw-r--r-- 1 root root 551104 2012-07-20 01:02 ./slackware64/xfce/xfce4-power-manager-1.2.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/xfce4-power-manager-1.2.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 365 2012-07-20 01:03 ./slackware64/xfce/xfce4-screenshooter-1.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 614980 2012-07-20 01:03 ./slackware64/xfce/xfce4-screenshooter-1.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-screenshooter-1.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 451 2012-07-20 01:01 ./slackware64/xfce/xfce4-session-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 611144 2012-07-20 01:01 ./slackware64/xfce/xfce4-session-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfce4-session-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 378 2012-07-20 01:00 ./slackware64/xfce/xfce4-settings-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 327624 2012-07-20 01:00 ./slackware64/xfce/xfce4-settings-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:00 ./slackware64/xfce/xfce4-settings-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 402 2012-07-30 17:33 ./slackware64/xfce/xfce4-systemload-plugin-1.1.1-x86_64-1.txt +-rw-r--r-- 1 root root 36788 2012-07-30 17:33 ./slackware64/xfce/xfce4-systemload-plugin-1.1.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-30 17:33 ./slackware64/xfce/xfce4-systemload-plugin-1.1.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 463 2012-07-20 01:03 ./slackware64/xfce/xfce4-taskmanager-1.0.0-x86_64-1.txt +-rw-r--r-- 1 root root 59396 2012-07-20 01:03 ./slackware64/xfce/xfce4-taskmanager-1.0.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-taskmanager-1.0.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 570 2012-07-20 01:03 ./slackware64/xfce/xfce4-volumed-0.1.13-x86_64-1.txt +-rw-r--r-- 1 root root 27516 2012-07-20 01:03 ./slackware64/xfce/xfce4-volumed-0.1.13-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-volumed-0.1.13-x86_64-1.txz.asc +-rw-r--r-- 1 root root 369 2012-08-06 19:10 ./slackware64/xfce/xfce4-weather-plugin-0.8.1-x86_64-1.txt +-rw-r--r-- 1 root root 258516 2012-08-06 19:10 ./slackware64/xfce/xfce4-weather-plugin-0.8.1-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-06 19:10 ./slackware64/xfce/xfce4-weather-plugin-0.8.1-x86_64-1.txz.asc +-rw-r--r-- 1 root root 293 2012-07-20 00:58 ./slackware64/xfce/xfconf-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 139672 2012-07-20 00:58 ./slackware64/xfce/xfconf-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/xfconf-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 424 2012-07-20 01:01 ./slackware64/xfce/xfdesktop-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 465228 2012-07-20 01:01 ./slackware64/xfce/xfdesktop-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfdesktop-4.10.0-x86_64-1.txz.asc +-rw-r--r-- 1 root root 285 2012-07-25 00:46 ./slackware64/xfce/xfwm4-4.10.0-x86_64-2.txt +-rw-r--r-- 1 root root 399980 2012-07-25 00:46 ./slackware64/xfce/xfwm4-4.10.0-x86_64-2.txz +-rw-r--r-- 1 root root 198 2012-07-25 00:46 ./slackware64/xfce/xfwm4-4.10.0-x86_64-2.txz.asc +-rw-r--r-- 1 root root 407 2012-07-20 01:01 ./slackware64/xfce/xfwm4-themes-4.10.0-x86_64-1.txt +-rw-r--r-- 1 root root 383964 2012-07-20 01:01 ./slackware64/xfce/xfwm4-themes-4.10.0-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfwm4-themes-4.10.0-x86_64-1.txz.asc +drwxr-xr-x 2 root root 4096 2012-03-14 09:13 ./slackware64/y +-rw-r--r-- 1 root root 596 2012-03-02 16:03 ./slackware64/y/bsd-games-2.13-x86_64-12.txt +-rw-r--r-- 1 root root 1765128 2012-03-02 16:03 ./slackware64/y/bsd-games-2.13-x86_64-12.txz +-rw-r--r-- 1 root root 198 2012-03-02 16:03 ./slackware64/y/bsd-games-2.13-x86_64-12.txz.asc +-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/y/install-packages +-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/y/install.end +-rw-r--r-- 1 root root 1136 2012-01-30 19:17 ./slackware64/y/maketag +-rw-r--r-- 1 root root 1136 2012-01-30 19:17 ./slackware64/y/maketag.ez +-rw-r--r-- 1 root root 14 2012-01-30 19:17 ./slackware64/y/tagfile +drwxr-xr-x 19 root root 4096 2017-07-10 17:51 ./source +-rw-r--r-- 1 root root 383911 2017-07-10 17:51 ./source/CHECKSUMS.md5 +-rw-r--r-- 1 root root 163 2017-07-10 17:51 ./source/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 542117 2017-07-10 17:50 ./source/FILE_LIST +-rw-r--r-- 1 root root 8380089 2017-07-10 17:50 ./source/MANIFEST.bz2 -rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT drwxr-xr-x 101 root root 4096 2012-08-21 17:47 ./source/a drwxr-xr-x 2 root root 4096 2012-08-21 17:13 ./source/a/aaa_base @@ -413,9 +6670,9 @@ drwxr-xr-x 2 root root 4096 2012-06-20 00:53 ./source/a/libcgroup -rw-r--r-- 1 root root 282 2011-01-10 20:16 ./source/a/libcgroup/libcgroup.conf.diff.gz -rw-r--r-- 1 root root 1260 2011-03-03 20:23 ./source/a/libcgroup/libcgroup.init.diff.gz -rw-r--r-- 1 root root 1057 2011-01-10 19:23 ./source/a/libcgroup/slack-desc -drwxr-xr-x 2 root root 4096 2012-08-17 23:36 ./source/a/lilo +drwxr-xr-x 2 root root 4096 2017-07-10 16:50 ./source/a/lilo -rw-r--r-- 1 root root 580758 2011-08-12 00:08 ./source/a/lilo/lilo-23.2.tar.gz --rw-r--r-- 1 root root 189 2011-08-12 00:08 ./source/a/lilo/lilo-23.2.tar.gz.asc +-rw-r--r-- 1 root root 198 2011-08-12 00:08 ./source/a/lilo/lilo-23.2.tar.gz.asc -rwxr-xr-x 1 root root 3419 2012-08-17 23:37 ./source/a/lilo/lilo.SlackBuild -rw-r--r-- 1 root root 709 2009-12-18 05:12 ./source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff.gz -rw-r--r-- 1 root root 39627 2012-08-14 18:03 ./source/a/lilo/liloconfig @@ -1067,18 +7324,18 @@ drwxr-xr-x 2 root root 4096 2012-05-30 16:04 ./source/ap/linuxdoc-tools/s -rw-r--r-- 1 root root 168776 2012-05-28 20:51 ./source/ap/linuxdoc-tools/sources/docbook-utils-0.6.14-30.fc17.src.rpm -rw-r--r-- 1 root root 98497 2006-10-26 17:17 ./source/ap/linuxdoc-tools/sources/docbook-xml-4.5.zip -rw-r--r-- 1 root root 133260 2007-04-11 01:17 ./source/ap/linuxdoc-tools/sources/docbook_4.5.orig.tar.xz --rw-rw-r-- 1 root root 526700 2012-05-28 20:56 ./source/ap/linuxdoc-tools/sources/gnome-doc-utils-0.20.10.tar.xz +-rw-r--r-- 1 root root 526700 2012-05-28 20:56 ./source/ap/linuxdoc-tools/sources/gnome-doc-utils-0.20.10.tar.xz -rw-r--r-- 1 root root 637936 2011-09-14 13:55 ./source/ap/linuxdoc-tools/sources/gtk-doc-1.18.tar.xz -rw-r--r-- 1 root root 7808 2008-01-04 17:02 ./source/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff.xz -rw-r--r-- 1 root root 68364 2001-04-15 16:15 ./source/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii.orig.tar.xz -rw-r--r-- 1 root root 634287 2012-05-28 20:40 ./source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.67-1.fc18.src.rpm --r--r--r-- 1 root root 756 2012-05-30 14:39 ./source/ap/linuxdoc-tools/sources/openjade-1.3-getopts.pl.xz +-rw-r--r-- 1 root root 756 2012-05-30 14:39 ./source/ap/linuxdoc-tools/sources/openjade-1.3-getopts.pl.xz -rw-r--r-- 1 root root 712 2012-05-28 20:45 ./source/ap/linuxdoc-tools/sources/openjade-1.3.2-gcc46.patch.xz -rw-r--r-- 1 root root 711620 2003-04-18 20:32 ./source/ap/linuxdoc-tools/sources/openjade-1.3.3-pre1.tar.xz -rw-r--r-- 1 root root 1525391 2012-05-28 20:42 ./source/ap/linuxdoc-tools/sources/opensp-1.5.2-14.fc17.src.rpm -rw-r--r-- 1 root root 99245 2012-05-28 20:48 ./source/ap/linuxdoc-tools/sources/sgml-common-0.6.3-36.fc17.src.rpm -rwxr-xr-x 1 root root 5198 2012-05-30 16:04 ./source/ap/linuxdoc-tools/sources/source.download --rw-rw-r-- 1 root root 106096 2012-05-28 21:00 ./source/ap/linuxdoc-tools/sources/xmlto-0.0.25.tar.xz +-rw-r--r-- 1 root root 106096 2012-05-28 21:00 ./source/ap/linuxdoc-tools/sources/xmlto-0.0.25.tar.xz -rwxr-xr-x 1 root root 2813 2012-06-29 16:26 ./source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools drwxr-xr-x 2 root root 4096 2012-08-03 16:48 ./source/ap/lm_sensors -rw-r--r-- 1 root root 171111 2012-03-14 07:49 ./source/ap/lm_sensors/lm_sensors-3.3.2.tar.bz2 @@ -1255,7 +7512,7 @@ drwxr-xr-x 3 root root 4096 2011-03-28 19:08 ./source/ap/vim -rw-r--r-- 1 root root 118 2006-08-23 23:20 ./source/ap/vim/doinst.sh.gz -rw-r--r-- 1 root root 4203 2007-02-16 22:42 ./source/ap/vim/gvim.desktop -rw-r--r-- 1 root root 8249 2006-01-19 17:01 ./source/ap/vim/gvim.png -drwxr-xr-x 2 root root 20480 2012-08-29 16:32 ./source/ap/vim/patches +drwxr-xr-x 2 root root 24576 2012-08-29 16:32 ./source/ap/vim/patches -rw-r--r-- 1 root root 843 2010-08-16 20:05 ./source/ap/vim/patches/7.3.001.gz -rw-r--r-- 1 root root 793 2010-08-16 20:35 ./source/ap/vim/patches/7.3.002.gz -rw-r--r-- 1 root root 698 2010-08-17 18:36 ./source/ap/vim/patches/7.3.003.gz @@ -1946,7 +8203,7 @@ drwxr-xr-x 2 root root 4096 2012-05-06 00:06 ./source/d/binutils -rw-r--r-- 1 root root 543 2012-04-25 18:03 ./source/d/binutils/binutils-2.22.52.0.2.tar.sign -rw-r--r-- 1 root root 13340324 2012-04-25 18:03 ./source/d/binutils/binutils-2.22.52.0.2.tar.xz -rwxr-xr-x 1 root root 6447 2012-08-04 17:44 ./source/d/binutils/binutils.SlackBuild --rw-rw-r-- 1 root root 17403 2012-04-25 17:42 ./source/d/binutils/release.binutils-2.22.52.0.2 +-rw-r--r-- 1 root root 17403 2012-04-25 17:42 ./source/d/binutils/release.binutils-2.22.52.0.2 -rw-r--r-- 1 root root 902 2002-03-22 21:41 ./source/d/binutils/slack-desc drwxr-xr-x 2 root root 4096 2012-06-28 17:27 ./source/d/bison -rw-r--r-- 1 root root 1608376 2012-06-05 08:16 ./source/d/bison/bison-2.5.1.tar.xz @@ -2005,7 +8262,7 @@ drwxr-xr-x 3 root root 4096 2012-06-26 17:38 ./source/d/gcc -rw-r--r-- 1 root root 3206 2012-01-06 12:37 ./source/d/gcc/create_gcj_jvm.sh -rw-r--r-- 1 root root 1470676 2010-01-06 17:27 ./source/d/gcc/ecj-4.5.jar -rw-r--r-- 1 root root 124 2011-11-29 10:16 ./source/d/gcc/ecj.sh --rw-rw-r-- 1 root root 482116 2009-01-16 18:32 ./source/d/gcc/fastjar-0.97.tar.xz +-rw-r--r-- 1 root root 482116 2009-01-16 18:32 ./source/d/gcc/fastjar-0.97.tar.xz drwxr-xr-x 2 root root 4096 2010-10-04 23:57 ./source/d/gcc/fastjar-patches -rw-r--r-- 1 root root 554 2009-01-16 18:34 ./source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch.gz -rw-r--r-- 1 root root 345 2009-12-22 12:22 ./source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch.gz @@ -2137,7 +8394,7 @@ drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/d/rcs -rwxr-xr-x 1 root root 3037 2010-01-25 22:14 ./source/d/rcs/rcs.SlackBuild -rw-r--r-- 1 root root 776 2002-03-23 22:58 ./source/d/rcs/slack-desc drwxr-xr-x 2 root root 4096 2012-04-26 17:21 ./source/d/ruby --rw-rw-r-- 1 root root 7548960 2012-04-25 11:15 ./source/d/ruby/ruby-1.9.3-p194.tar.xz +-rw-r--r-- 1 root root 7548960 2012-04-25 11:15 ./source/d/ruby/ruby-1.9.3-p194.tar.xz -rwxr-xr-x 1 root root 4196 2012-07-04 03:33 ./source/d/ruby/ruby.SlackBuild -rw-r--r-- 1 root root 865 2006-07-20 06:49 ./source/d/ruby/slack-desc drwxr-xr-x 2 root root 4096 2012-09-19 09:24 ./source/d/slacktrack @@ -6113,418 +12370,494 @@ drwxr-xr-x 2 root root 4096 2011-03-21 22:21 ./source/xap/gnuchess -rwxr-xr-x 1 root root 5629 2011-03-21 22:24 ./source/xap/gnuchess/gnuchess.SlackBuild -rw-r--r-- 1 root root 796 2004-10-27 22:53 ./source/xap/gnuchess/slack-desc -rw-r--r-- 1 root root 1586180 2011-02-21 00:54 ./source/xap/gnuchess/xboard-4.5.1.tar.xz --rw-r--r-- 1 root root 238 2011-03-21 22:22 ./source/xap/gnuchess/xboard.desktop -drwxr-xr-x 2 root root 4096 2012-08-19 16:56 ./source/xap/gnuplot --rw-r--r-- 1 root root 3807404 2012-03-09 04:34 ./source/xap/gnuplot/gnuplot-4.6.0.tar.xz --rwxr-xr-x 1 root root 4214 2012-08-19 17:00 ./source/xap/gnuplot/gnuplot.SlackBuild --rw-r--r-- 1 root root 1105 2002-03-16 08:23 ./source/xap/gnuplot/slack-desc -drwxr-xr-x 2 root root 4096 2012-06-25 22:55 ./source/xap/gucharmap --rw-r--r-- 1 root root 166 2012-06-13 05:07 ./source/xap/gucharmap/doinst.sh.gz --rw-r--r-- 1 root root 2031040 2012-04-16 17:41 ./source/xap/gucharmap/gucharmap-3.4.1.tar.xz --rwxr-xr-x 1 root root 3430 2012-06-25 22:55 ./source/xap/gucharmap/gucharmap.SlackBuild --rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc -drwxr-xr-x 2 root root 4096 2012-05-21 18:02 ./source/xap/gv --rw-r--r-- 1 root root 509972 2011-12-02 13:17 ./source/xap/gv/gv-3.7.3.tar.xz --rwxr-xr-x 1 root root 3944 2012-05-22 18:48 ./source/xap/gv/gv.SlackBuild --rw-r--r-- 1 root root 261 2012-05-13 16:19 ./source/xap/gv/gv.libXaw3d.diff.gz --rw-r--r-- 1 root root 823 2002-03-15 04:27 ./source/xap/gv/slack-desc -drwxr-xr-x 2 root root 4096 2012-06-28 15:23 ./source/xap/imagemagick --rw-r--r-- 1 root root 7812544 2012-06-28 11:24 ./source/xap/imagemagick/ImageMagick-6.7.7-10.tar.xz --rwxr-xr-x 1 root root 5793 2012-06-28 15:23 ./source/xap/imagemagick/imagemagick.SlackBuild --rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./source/xap/imagemagick/slack-desc -drwxr-xr-x 2 root root 4096 2012-09-07 00:59 ./source/xap/mozilla-firefox --rw-r--r-- 1 root root 83710112 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2 --rw-r--r-- 1 root root 189 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2.asc --rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz --rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./source/xap/mozilla-firefox/firefox.png --rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz --rw-r--r-- 1 root root 680 2009-07-01 13:28 ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz --rwxr-xr-x 1 root root 7783 2012-07-17 20:51 ./source/xap/mozilla-firefox/mozilla-firefox.SlackBuild --rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./source/xap/mozilla-firefox/mozilla-firefox.desktop --rw-r--r-- 1 root root 993 2005-03-08 04:51 ./source/xap/mozilla-firefox/slack-desc -drwxr-xr-x 2 root root 4096 2012-09-09 18:00 ./source/xap/mozilla-thunderbird --rw-r--r-- 1 root root 312 2012-03-28 18:01 ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch.gz --rwxr-xr-x 1 root root 8675 2012-07-17 20:52 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild --rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.desktop --rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./source/xap/mozilla-thunderbird/slack-desc --rw-r--r-- 1 root root 105942872 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2 --rw-r--r-- 1 root root 189 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2.asc --rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./source/xap/mozilla-thunderbird/thunderbird.png -drwxr-xr-x 2 root root 4096 2012-07-20 15:35 ./source/xap/network-manager-applet --rw-r--r-- 1 root root 310 2012-07-20 15:35 ./source/xap/network-manager-applet/doinst.sh.gz --rw-r--r-- 1 root root 1102856 2012-03-24 01:08 ./source/xap/network-manager-applet/network-manager-applet-0.9.4.1.tar.xz --rwxr-xr-x 1 root root 3421 2012-07-24 21:31 ./source/xap/network-manager-applet/network-manager-applet.SlackBuild --rw-r--r-- 1 root root 832 2011-10-26 15:39 ./source/xap/network-manager-applet/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-10 17:43 ./source/xap/pan --rw-r--r-- 1 root root 1270324 2012-06-29 22:31 ./source/xap/pan/pan-0.139.tar.xz --rwxr-xr-x 1 root root 4046 2012-07-10 17:42 ./source/xap/pan/pan.SlackBuild --rw-r--r-- 1 root root 236 2012-07-10 17:43 ./source/xap/pan/pan.gcc47.diff.gz --rw-r--r-- 1 root root 757 2012-05-13 15:17 ./source/xap/pan/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-12 19:01 ./source/xap/pidgin --rw-r--r-- 1 root root 355 2012-05-02 03:59 ./source/xap/pidgin/fix-gmain_h-compile-error.diff.gz --rw-r--r-- 1 root root 7357724 2012-07-06 15:33 ./source/xap/pidgin/pidgin-2.10.6.tar.xz --rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./source/xap/pidgin/pidgin-encryption-3.1.tar.gz --rwxr-xr-x 1 root root 6975 2012-07-12 19:01 ./source/xap/pidgin/pidgin.SlackBuild --rw-r--r-- 1 root root 926 2008-03-09 08:06 ./source/xap/pidgin/slack-desc -drwxr-xr-x 2 root root 4096 2012-06-26 02:31 ./source/xap/rdesktop --rw-r--r-- 1 root root 233500 2012-01-09 15:21 ./source/xap/rdesktop/rdesktop-1.7.1.tar.xz --rwxr-xr-x 1 root root 3429 2012-07-04 17:26 ./source/xap/rdesktop/rdesktop.SlackBuild --rw-r--r-- 1 root root 854 2006-09-12 01:52 ./source/xap/rdesktop/slack-desc -drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rxvt --rw-r--r-- 1 root root 493199 2003-03-26 06:47 ./source/xap/rxvt/rxvt-2.7.10.tar.bz2 --rwxr-xr-x 1 root root 3749 2012-01-12 19:26 ./source/xap/rxvt/rxvt.SlackBuild --rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./source/xap/rxvt/rxvt.utempter.diff.gz --rw-r--r-- 1 root root 880 2002-03-10 07:02 ./source/xap/rxvt/slack-desc -drwxr-xr-x 2 root root 4096 2012-06-30 04:10 ./source/xap/sane --rw-r--r-- 1 root root 133 2006-09-23 08:33 ./source/xap/sane/dll.conf.additions.gz --rw-r--r-- 1 root root 285 2008-02-12 16:23 ./source/xap/sane/doinst.sh.gz --rw-r--r-- 1 root root 858 2012-04-17 09:51 ./source/xap/sane/sane-backends-1.0.22-v4l.diff.gz --rw-r--r-- 1 root root 4064768 2011-02-14 04:07 ./source/xap/sane/sane-backends-1.0.22.tar.bz2 --rw-r--r-- 1 root root 341 2010-01-20 01:54 ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff.gz --rw-r--r-- 1 root root 190172 2005-09-18 07:21 ./source/xap/sane/sane-frontends-1.0.14.tar.bz2 --rwxr-xr-x 1 root root 5172 2012-08-10 20:08 ./source/xap/sane/sane.SlackBuild --rw-r--r-- 1 root root 776 2002-04-04 02:41 ./source/xap/sane/slack-desc -drwxr-xr-x 3 root root 4096 2012-09-10 17:02 ./source/xap/seamonkey --rw-r--r-- 1 root root 231 2007-06-01 23:47 ./source/xap/seamonkey/doinst.sh.gz -drwxr-xr-x 2 root root 4096 2012-01-11 17:53 ./source/xap/seamonkey/pkgconfig --rw-r--r-- 1 root root 320 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc --rw-r--r-- 1 root root 305 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-js.pc --rw-r--r-- 1 root root 327 2011-11-30 00:44 ./source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc --rw-r--r-- 1 root root 308 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc --rw-r--r-- 1 root root 313 2012-04-30 17:42 ./source/xap/seamonkey/pkgconfig/seamonkey-nss.pc --rw-r--r-- 1 root root 287 2012-01-10 16:25 ./source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc --rw-r--r-- 1 root root 372 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc --rw-r--r-- 1 root root 85072972 2012-09-09 05:18 ./source/xap/seamonkey/seamonkey-2.12.1.source.tar.xz --rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./source/xap/seamonkey/seamonkey-icon.png --rw-r--r-- 1 root root 185 2006-02-09 03:40 ./source/xap/seamonkey/seamonkey-mail-icon.png --rw-r--r-- 1 root root 207 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey-mail.desktop --rwxr-xr-x 1 root root 10425 2012-08-30 18:18 ./source/xap/seamonkey/seamonkey.SlackBuild --rw-r--r-- 1 root root 178 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey.desktop --rw-r--r-- 1 root root 894 2009-11-10 01:43 ./source/xap/seamonkey/slack-desc -drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/seyon --rw-r--r-- 1 root root 713 1999-05-09 22:46 ./source/xap/seyon/seyon-2.20c.lsm --rw-r--r-- 1 root root 167487 1999-05-09 22:47 ./source/xap/seyon/seyon-2.20c.tar.gz --rwxr-xr-x 1 root root 4347 2012-01-12 19:28 ./source/xap/seyon/seyon.SlackBuild --rw-r--r-- 1 root root 36723 2005-01-03 22:32 ./source/xap/seyon/seyon_2.20c-16.diff.gz --rw-r--r-- 1 root root 1065 2002-03-24 00:53 ./source/xap/seyon/slack-desc -lrwxrwxrwx 1 root root 9 2009-08-23 23:36 ./source/xap/vim-gvim -> ../ap/vim -drwxr-xr-x 2 root root 4096 2012-08-13 16:54 ./source/xap/windowmaker --rw-r--r-- 1 root root 1831732 2012-05-27 00:35 ./source/xap/windowmaker/WindowMaker-0.95.3.tar.xz --rw-r--r-- 1 root root 203168 1999-04-01 14:30 ./source/xap/windowmaker/WindowMaker-extra-0.1.tar.xz --rw-r--r-- 1 root root 385 2012-07-29 20:34 ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff.gz --rw-r--r-- 1 root root 917 2004-10-28 06:46 ./source/xap/windowmaker/slack-desc --rwxr-xr-x 1 root root 5135 2012-08-13 16:54 ./source/xap/windowmaker/windowmaker.SlackBuild --rw-r--r-- 1 root root 729 2012-02-15 00:25 ./source/xap/windowmaker/wmaker.inst.diff.gz --rw-r--r-- 1 root root 460 2012-07-25 03:30 ./source/xap/windowmaker/xinitrc.wmaker.gz -drwxr-xr-x 2 root root 4096 2011-01-22 18:19 ./source/xap/x11-ssh-askpass --rw-r--r-- 1 root root 533 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/README --rw-r--r-- 1 root root 774 2012-07-22 17:20 ./source/xap/x11-ssh-askpass/slack-desc --rw-r--r-- 1 root root 29229 2009-07-20 23:44 ./source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz --rwxr-xr-x 1 root root 1941 2011-02-01 06:39 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.SlackBuild --rw-r--r-- 1 root root 349 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.info --rw-r--r-- 1 root root 261 2008-03-29 00:07 ./source/xap/x11-ssh-askpass/xprofile.sample -drwxr-xr-x 2 root root 4096 2012-01-12 22:44 ./source/xap/x3270 --rw-r--r-- 1 root root 391 2007-04-02 02:36 ./source/xap/x3270/doinst.sh.gz --rw-r--r-- 1 root root 766 2002-03-12 06:49 ./source/xap/x3270/slack-desc --rw-r--r-- 1 root root 771256 2012-01-12 22:43 ./source/xap/x3270/x3270-3.3.12ga7.tar.xz --rwxr-xr-x 1 root root 4166 2012-07-04 22:14 ./source/xap/x3270/x3270.SlackBuild -drwxr-xr-x 2 root root 4096 2010-10-16 19:48 ./source/xap/xaos --rw-r--r-- 1 root root 875 2010-10-16 17:46 ./source/xap/xaos/slack-desc --rw-r--r-- 1 root root 1121380 2010-10-16 17:17 ./source/xap/xaos/xaos-3.5.tar.xz --rw-r--r-- 1 root root 2796 2010-10-16 19:47 ./source/xap/xaos/xaos.6.gz --rwxr-xr-x 1 root root 5060 2010-10-16 19:51 ./source/xap/xaos/xaos.SlackBuild --rw-r--r-- 1 root root 161 2010-05-24 16:48 ./source/xap/xaos/xaos.desktop --rw-r--r-- 1 root root 14980 2010-05-24 16:48 ./source/xap/xaos/xaos.png -drwxr-xr-x 2 root root 4096 2010-06-06 07:41 ./source/xap/xchat --rw-r--r-- 1 root root 620 2008-02-11 03:44 ./source/xap/xchat/slack-desc --rw-r--r-- 1 root root 1509993 2010-05-30 06:41 ./source/xap/xchat/xchat-2.8.8.tar.bz2 --rwxr-xr-x 1 root root 3590 2012-07-04 17:16 ./source/xap/xchat/xchat.SlackBuild -drwxr-xr-x 2 root root 4096 2012-01-12 22:54 ./source/xap/xfractint --rw-r--r-- 1 root root 103531 2002-03-14 20:57 ./source/xap/xfractint/palette.maps.tar.gz --rw-r--r-- 1 root root 871 2002-03-14 20:25 ./source/xap/xfractint/slack-desc --rw-r--r-- 1 root root 1084712 2011-06-14 01:04 ./source/xap/xfractint/xfractint-20.04p11.tar.xz --rwxr-xr-x 1 root root 4269 2012-01-12 22:54 ./source/xap/xfractint/xfractint.SlackBuild -drwxr-xr-x 2 root root 4096 2011-03-19 22:56 ./source/xap/xgames --rw-r--r-- 1 root root 269 1999-08-04 18:49 ./source/xap/xgames/maze.diff.gz --rw-r--r-- 1 root root 7945 1994-10-22 00:44 ./source/xap/xgames/maze.tar.gz --rw-r--r-- 1 root root 696 2007-03-01 22:04 ./source/xap/xgames/slack-desc --rw-r--r-- 1 root root 871 2007-02-22 02:20 ./source/xap/xgames/spider.diff.gz --rw-r--r-- 1 root root 130637 1993-12-04 17:22 ./source/xap/xgames/spider.tar.gz --rw-r--r-- 1 root root 287 1999-08-04 18:54 ./source/xap/xgames/xcolormap.diff.gz --rw-r--r-- 1 root root 2808 1993-12-04 17:18 ./source/xap/xgames/xcolormap.tar.gz --rw-r--r-- 1 root root 5937 1993-12-04 17:18 ./source/xap/xgames/xcuckoo-1.1.tar.gz --rw-r--r-- 1 root root 228 2007-02-28 19:11 ./source/xap/xgames/xcuckoo.diff.gz --rwxr-xr-x 1 root root 4981 2011-03-20 17:12 ./source/xap/xgames/xgames.SlackBuild --rw-r--r-- 1 root root 1150 2009-08-22 20:58 ./source/xap/xgames/xlander-2009-07-18.diff.gz --rw-r--r-- 1 root root 2543 2007-03-01 18:44 ./source/xap/xgames/xlander.fixes.diff.gz --rw-r--r-- 1 root root 15612 1995-06-17 19:23 ./source/xap/xgames/xlander.tar.gz --rw-r--r-- 1 root root 12791 2008-10-25 13:16 ./source/xap/xgames/xminesweep3.0.tar.gz --rw-r--r-- 1 root root 22849 1999-08-04 19:05 ./source/xap/xgames/xneko.tar.gz --rw-r--r-- 1 root root 21694 1993-12-02 07:19 ./source/xap/xgames/xroach.tar.gz --rw-r--r-- 1 root root 56752 2001-12-15 23:45 ./source/xap/xgames/xsnow-1.42.tar.gz -drwxr-xr-x 2 root root 4096 2012-09-08 19:03 ./source/xap/xine-lib --rw-r--r-- 1 root root 927 2003-08-12 00:43 ./source/xap/xine-lib/slack-desc --rw-r--r-- 1 root root 5929176 2012-06-09 17:26 ./source/xap/xine-lib/xine-lib-1.1.21.tar.xz --rwxr-xr-x 1 root root 3485 2012-09-08 17:45 ./source/xap/xine-lib/xine-lib.SlackBuild --rw-r--r-- 1 root root 329 2010-11-06 21:02 ./source/xap/xine-lib/xine-lib.XvMClib.h.diff.gz -drwxr-xr-x 2 root root 4096 2012-09-09 17:47 ./source/xap/xine-ui --rw-r--r-- 1 root root 832 2003-08-12 01:07 ./source/xap/xine-ui/slack-desc --rw-r--r-- 1 root root 1797136 2010-03-06 01:43 ./source/xap/xine-ui/xine-ui-0.99.6.tar.xz --rwxr-xr-x 1 root root 3207 2012-09-09 17:48 ./source/xap/xine-ui/xine-ui.SlackBuild --rw-r--r-- 1 root root 202 2012-09-09 17:47 ./source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff.gz --rw-r--r-- 1 root root 258 2007-05-04 22:27 ./source/xap/xine-ui/xine.desktop.gz -drwxr-xr-x 2 root root 4096 2012-05-25 16:18 ./source/xap/xlockmore --rw-r--r-- 1 root root 225 2002-02-23 22:23 ./source/xap/xlockmore/l-bob.README --rw-r--r-- 1 root root 27870 1998-04-01 15:09 ./source/xap/xlockmore/l-bob.xbm --rw-r--r-- 1 root root 15190 1998-04-01 15:09 ./source/xap/xlockmore/l-linux.xbm --rw-r--r-- 1 root root 7025 2002-02-23 21:40 ./source/xap/xlockmore/s-bob.xbm --rw-r--r-- 1 root root 922 2002-03-24 00:54 ./source/xap/xlockmore/slack-desc --rw-r--r-- 1 root root 1576444 2012-04-27 00:24 ./source/xap/xlockmore/xlockmore-5.39.tar.xz --rwxr-xr-x 1 root root 3913 2012-05-25 16:18 ./source/xap/xlockmore/xlockmore.SlackBuild --rw-r--r-- 1 root root 371 2002-05-30 04:25 ./source/xap/xlockmore/xlockmore.bitmap.diff.gz -drwxr-xr-x 2 root root 4096 2010-03-22 19:03 ./source/xap/xmms --rw-r--r-- 1 root root 834 2004-02-24 02:30 ./source/xap/xmms/slack-desc --rw-r--r-- 1 root root 2581032 2007-11-16 22:53 ./source/xap/xmms/xmms-1.2.11.tar.bz2 --rwxr-xr-x 1 root root 3385 2010-03-22 19:05 ./source/xap/xmms/xmms.SlackBuild --rw-r--r-- 1 root root 525 2008-09-11 20:50 ./source/xap/xmms/xmms.desktop --rw-r--r-- 1 root root 279 2008-09-12 20:50 ./source/xap/xmms/xmms.gtk.doublesize.diff.gz --rw-r--r-- 1 root root 2475 2008-01-04 23:53 ./source/xap/xmms/xmms.png --rw-r--r-- 1 root root 260 2009-06-09 20:19 ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff.gz -drwxr-xr-x 2 root root 4096 2010-02-20 01:05 ./source/xap/xpaint --rw-r--r-- 1 root root 902 2002-03-12 23:40 ./source/xap/xpaint/slack-desc --rw-r--r-- 1 root root 795772 2010-02-12 19:48 ./source/xap/xpaint/xpaint-2.8.16.tar.bz2 --rwxr-xr-x 1 root root 4009 2010-02-20 01:05 ./source/xap/xpaint/xpaint.SlackBuild -drwxr-xr-x 4 root root 4096 2012-08-01 16:30 ./source/xap/xpdf --rw-r--r-- 1 root root 325 2010-01-11 04:59 ./source/xap/xpdf/doinst.sh.gz -drwxr-xr-x 2 root root 4096 2010-01-11 05:01 ./source/xap/xpdf/lang --rw-r--r-- 1 root root 207 2008-03-02 07:24 ./source/xap/xpdf/lang/xpdf-arabic.diff.gz --rw-r--r-- 1 root root 1058 2004-07-18 23:14 ./source/xap/xpdf/lang/xpdf-arabic.tar.gz --rw-r--r-- 1 root root 375 2008-03-02 07:46 ./source/xap/xpdf/lang/xpdf-chinese-simplified.diff.gz --rw-r--r-- 1 root root 835960 2004-07-27 22:29 ./source/xap/xpdf/lang/xpdf-chinese-simplified.tar.gz --rw-r--r-- 1 root root 354 2008-03-02 07:45 ./source/xap/xpdf/lang/xpdf-chinese-traditional.diff.gz --rw-r--r-- 1 root root 794604 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-chinese-traditional.tar.gz --rw-r--r-- 1 root root 242 2008-03-02 07:27 ./source/xap/xpdf/lang/xpdf-cyrillic.diff.gz --rw-r--r-- 1 root root 1660 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-cyrillic.tar.gz --rw-r--r-- 1 root root 236 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-greek.diff.gz --rw-r--r-- 1 root root 1263 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-greek.tar.gz --rw-r--r-- 1 root root 224 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-hebrew.diff.gz --rw-r--r-- 1 root root 1314 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-hebrew.tar.gz --rw-r--r-- 1 root root 750 2008-03-02 07:48 ./source/xap/xpdf/lang/xpdf-japanese.diff.gz --rw-r--r-- 1 root root 494803 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-japanese.tar.gz --rw-r--r-- 1 root root 312 2008-03-02 07:34 ./source/xap/xpdf/lang/xpdf-korean.diff.gz --rw-r--r-- 1 root root 470455 2005-07-07 18:05 ./source/xap/xpdf/lang/xpdf-korean.tar.gz --rw-r--r-- 1 root root 200 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-latin2.diff.gz --rw-r--r-- 1 root root 1435 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-latin2.tar.gz --rw-r--r-- 1 root root 231 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-thai.diff.gz --rw-r--r-- 1 root root 1873 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-thai.tar.gz --rw-r--r-- 1 root root 210 2008-03-02 07:37 ./source/xap/xpdf/lang/xpdf-turkish.diff.gz --rw-r--r-- 1 root root 1140 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-turkish.tar.gz -drwxr-xr-x 2 root root 4096 2012-08-01 16:30 ./source/xap/xpdf/patches --rw-r--r-- 1 root root 542 2011-02-09 23:23 ./source/xap/xpdf/patches/03-float.patch.gz --rw-r--r-- 1 root root 1050 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch --rw-r--r-- 1 root root 189 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch.sig --rw-r--r-- 1 root root 20843 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch --rw-r--r-- 1 root root 189 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch.sig --rw-r--r-- 1 root root 30727 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch --rw-r--r-- 1 root root 197 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch.sig --rw-r--r-- 1 root root 6982 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch --rw-r--r-- 1 root root 197 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch.sig --rw-r--r-- 1 root root 1065 2010-10-21 22:57 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch --rw-r--r-- 1 root root 197 2010-10-21 23:09 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch.sig --rw-r--r-- 1 root root 60 2011-03-29 18:23 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch --rw-r--r-- 1 root root 305 2011-03-29 18:28 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch.sig --rw-r--r-- 1 root root 498 2007-04-12 00:58 ./source/xap/xpdf/patches/xpdf-resizefix.diff.gz --rw-r--r-- 1 root root 37396 2007-11-12 05:27 ./source/xap/xpdf/patches/xpdf_3.02-1.3.diff.gz --rw-r--r-- 1 root root 636 2007-02-18 03:26 ./source/xap/xpdf/patches/xpdfrc.diff.gz --rw-r--r-- 1 root root 643 2011-03-31 02:49 ./source/xap/xpdf/slack-desc --rw-r--r-- 1 root root 674912 2007-02-27 22:56 ./source/xap/xpdf/xpdf-3.02.tar.gz --rw-r--r-- 1 root root 189 2007-02-27 22:50 ./source/xap/xpdf/xpdf-3.02.tar.gz.sig --rwxr-xr-x 1 root root 5340 2012-08-01 16:31 ./source/xap/xpdf/xpdf.SlackBuild --rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./source/xap/xpdf/xpdf.desktop -drwxr-xr-x 2 root root 4096 2011-02-28 03:41 ./source/xap/xsane --rw-r--r-- 1 root root 955 2004-05-11 19:29 ./source/xap/xsane/slack-desc --rw-r--r-- 1 root root 1874276 2010-11-16 22:05 ./source/xap/xsane/xsane-0.998.tar.xz --rwxr-xr-x 1 root root 3140 2012-07-04 17:13 ./source/xap/xsane/xsane.SlackBuild -drwxr-xr-x 2 root root 4096 2012-06-01 01:25 ./source/xap/xscreensaver --rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz --rw-r--r-- 1 root root 887 2008-10-17 04:31 ./source/xap/xscreensaver/slack-desc --rw-r--r-- 1 root root 3716768 2011-09-29 04:31 ./source/xap/xscreensaver/xscreensaver-5.15.tar.xz --rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./source/xap/xscreensaver/xscreensaver-getimage-file-5.14 --rwxr-xr-x 1 root root 3967 2012-06-19 21:30 ./source/xap/xscreensaver/xscreensaver.SlackBuild --rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz --rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz -drwxr-xr-x 2 root root 4096 2010-02-19 19:32 ./source/xap/xv --rw-r--r-- 1 root root 688 2002-03-10 06:26 ./source/xap/xv/slack-desc --rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.xz --rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2 --rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./source/xap/xv/xv-3.10a-jumbo-README.txt --rw-r--r-- 1 root root 114978 2010-02-19 19:24 ./source/xap/xv/xv-3.10a-jumbo-additions.diff.bz2 --rw-r--r-- 1 root root 287250 2007-05-21 04:57 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2 --rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz --rwxr-xr-x 1 root root 3210 2010-02-19 19:32 ./source/xap/xv/xv.SlackBuild --rw-r--r-- 1 root root 229 2010-02-19 19:27 ./source/xap/xv/xv.jasper.diff.gz --rw-r--r-- 1 root root 317 2010-02-19 19:15 ./source/xap/xv/xv.prefix.diff.gz --rw-r--r-- 1 root root 282 2010-02-19 19:16 ./source/xap/xv/xv.prefix_x86_64.diff.gz -drwxr-xr-x 2 root root 4096 2011-04-03 10:43 ./source/xap/xxgdb --rw-r--r-- 1 root root 874 2002-03-13 02:25 ./source/xap/xxgdb/slack-desc --rw-r--r-- 1 root root 236 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.08-glibc.patch.xz --rw-r--r-- 1 root root 212 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch.xz --rw-r--r-- 1 root root 768 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-pty.patch.xz --rw-r--r-- 1 root root 7024 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-mandriva.patch.xz --rw-r--r-- 1 root root 376 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-sysv.patch.xz --rw-r--r-- 1 root root 88596 1995-11-19 16:40 ./source/xap/xxgdb/xxgdb-1.12.tar.xz --rwxr-xr-x 1 root root 3446 2011-04-05 00:44 ./source/xap/xxgdb/xxgdb.SlackBuild -drwxr-xr-x 31 root root 4096 2012-08-09 03:55 ./source/xfce -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/Terminal --rw-r--r-- 1 root root 1374136 2011-06-21 20:36 ./source/xfce/Terminal/Terminal-0.4.8.tar.xz --rwxr-xr-x 1 root root 3633 2012-07-18 21:24 ./source/xfce/Terminal/Terminal.SlackBuild --rw-r--r-- 1 root root 821 2010-11-03 14:56 ./source/xfce/Terminal/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/Thunar --rw-r--r-- 1 root root 1628764 2012-04-28 20:21 ./source/xfce/Thunar/Thunar-1.4.0.tar.xz --rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/Thunar/Thunar.SlackBuild --rw-r--r-- 1 root root 920 2012-07-19 23:47 ./source/xfce/Thunar/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/exo --rw-r--r-- 1 root root 947096 2012-04-28 20:04 ./source/xfce/exo/exo-0.8.0.tar.xz --rwxr-xr-x 1 root root 4263 2012-07-19 18:10 ./source/xfce/exo/exo.SlackBuild --rw-r--r-- 1 root root 831 2012-07-19 21:15 ./source/xfce/exo/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/garcon --rw-r--r-- 1 root root 379440 2012-04-28 20:08 ./source/xfce/garcon/garcon-0.2.0.tar.xz --rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/garcon/garcon.SlackBuild --rw-r--r-- 1 root root 752 2012-07-19 21:19 ./source/xfce/garcon/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine --rw-r--r-- 1 root root 280800 2012-04-28 10:28 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine-3.0.0.tar.xz --rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine.SlackBuild --rw-r--r-- 1 root root 878 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4ui --rw-r--r-- 1 root root 448984 2012-04-28 19:49 ./source/xfce/libxfce4ui/libxfce4ui-4.10.0.tar.xz --rwxr-xr-x 1 root root 4444 2012-07-19 18:58 ./source/xfce/libxfce4ui/libxfce4ui.SlackBuild --rw-r--r-- 1 root root 770 2012-07-19 23:47 ./source/xfce/libxfce4ui/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4util --rw-r--r-- 1 root root 375016 2012-04-28 19:39 ./source/xfce/libxfce4util/libxfce4util-4.10.0.tar.xz --rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/libxfce4util/libxfce4util.SlackBuild --rw-r--r-- 1 root root 780 2012-07-19 21:26 ./source/xfce/libxfce4util/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfcegui4 --rw-r--r-- 1 root root 584432 2012-04-28 20:13 ./source/xfce/libxfcegui4/libxfcegui4-4.10.0.tar.xz --rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/libxfcegui4/libxfcegui4.SlackBuild --rw-r--r-- 1 root root 778 2012-07-19 21:29 ./source/xfce/libxfcegui4/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/orage --rw-r--r-- 1 root root 2046524 2012-01-05 07:12 ./source/xfce/orage/orage-4.8.3.tar.xz --rwxr-xr-x 1 root root 3713 2012-07-18 21:27 ./source/xfce/orage/orage.SlackBuild --rw-r--r-- 1 root root 628 2010-11-04 02:30 ./source/xfce/orage/slack-desc -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/thunar-volman --rw-r--r-- 1 root root 803 2012-07-19 03:03 ./source/xfce/thunar-volman/slack-desc --rw-r--r-- 1 root root 358800 2012-04-28 20:21 ./source/xfce/thunar-volman/thunar-volman-0.8.0.tar.xz --rwxr-xr-x 1 root root 3138 2012-07-19 03:01 ./source/xfce/thunar-volman/thunar-volman.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/tumbler --rw-r--r-- 1 root root 968 2012-07-19 23:20 ./source/xfce/tumbler/slack-desc --rw-r--r-- 1 root root 407444 2012-04-28 20:25 ./source/xfce/tumbler/tumbler-0.1.25.tar.xz --rwxr-xr-x 1 root root 4267 2012-08-02 21:05 ./source/xfce/tumbler/tumbler.SlackBuild --rwxr-xr-x 1 root root 2174 2012-07-20 17:52 ./source/xfce/xfce-build-all.sh -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-appfinder --rw-r--r-- 1 root root 935 2012-07-19 23:22 ./source/xfce/xfce4-appfinder/slack-desc --rw-r--r-- 1 root root 380060 2012-04-28 20:29 ./source/xfce/xfce4-appfinder/xfce4-appfinder-4.10.0.tar.xz --rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-appfinder/xfce4-appfinder.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-clipman-plugin --rw-r--r-- 1 root root 172 2012-07-18 20:50 ./source/xfce/xfce4-clipman-plugin/doinst.sh.gz --rw-r--r-- 1 root root 1003 2012-07-19 03:13 ./source/xfce/xfce4-clipman-plugin/slack-desc --rw-r--r-- 1 root root 867560 2012-04-09 17:56 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin-1.2.3.tar.xz --rwxr-xr-x 1 root root 3437 2012-07-19 03:29 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild --rw-r--r-- 1 root root 64 2011-11-28 03:27 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.url -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-dev-tools --rw-r--r-- 1 root root 823 2012-07-19 23:24 ./source/xfce/xfce4-dev-tools/slack-desc --rw-r--r-- 1 root root 238252 2012-04-28 19:19 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools-4.10.0.tar.xz --rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-mixer --rw-r--r-- 1 root root 184 2010-11-04 03:20 ./source/xfce/xfce4-mixer/doinst.sh.gz --rw-r--r-- 1 root root 899 2012-07-19 02:54 ./source/xfce/xfce4-mixer/slack-desc --rw-r--r-- 1 root root 405224 2011-02-25 13:18 ./source/xfce/xfce4-mixer/xfce4-mixer-4.8.0.tar.xz --rwxr-xr-x 1 root root 3322 2012-07-18 21:28 ./source/xfce/xfce4-mixer/xfce4-mixer.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-notifyd --rw-r--r-- 1 root root 174 2009-02-26 05:47 ./source/xfce/xfce4-notifyd/doinst.sh.gz --rw-r--r-- 1 root root 905 2010-02-20 18:14 ./source/xfce/xfce4-notifyd/slack-desc --rw-r--r-- 1 root root 302216 2011-08-06 09:02 ./source/xfce/xfce4-notifyd/xfce4-notifyd-0.2.2.tar.xz --rwxr-xr-x 1 root root 3689 2012-08-29 17:19 ./source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-panel --rw-r--r-- 1 root root 899 2012-07-19 23:26 ./source/xfce/xfce4-panel/slack-desc --rw-r--r-- 1 root root 899124 2012-04-28 20:33 ./source/xfce/xfce4-panel/xfce4-panel-4.10.0.tar.xz --rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/xfce4-panel/xfce4-panel.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-power-manager --rw-r--r-- 1 root root 172 2009-05-30 01:47 ./source/xfce/xfce4-power-manager/doinst.sh.gz --rw-r--r-- 1 root root 877 2012-07-19 03:03 ./source/xfce/xfce4-power-manager/slack-desc --rw-r--r-- 1 root root 868356 2012-04-28 20:41 ./source/xfce/xfce4-power-manager/xfce4-power-manager-1.2.0.tar.xz --rwxr-xr-x 1 root root 3939 2012-07-19 03:04 ./source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-screenshooter --rw-r--r-- 1 root root 172 2011-10-26 15:38 ./source/xfce/xfce4-screenshooter/doinst.sh.gz --rw-r--r-- 1 root root 835 2012-07-19 03:15 ./source/xfce/xfce4-screenshooter/slack-desc --rw-r--r-- 1 root root 913992 2012-05-02 18:27 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter-1.8.1.tar.xz --rwxr-xr-x 1 root root 4070 2012-07-19 03:21 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild --rw-r--r-- 1 root root 54 2011-11-28 03:13 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.url -drwxr-xr-x 2 root root 4096 2012-07-24 22:10 ./source/xfce/xfce4-session --rw-r--r-- 1 root root 915 2012-07-19 23:29 ./source/xfce/xfce4-session/slack-desc --rw-r--r-- 1 root root 1122596 2012-04-28 20:46 ./source/xfce/xfce4-session/xfce4-session-4.10.0.tar.xz --rwxr-xr-x 1 root root 4381 2012-07-19 18:13 ./source/xfce/xfce4-session/xfce4-session.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-settings --rw-r--r-- 1 root root 843 2012-07-19 23:31 ./source/xfce/xfce4-settings/slack-desc --rw-r--r-- 1 root root 685280 2012-04-28 20:50 ./source/xfce/xfce4-settings/xfce4-settings-4.10.0.tar.xz --rwxr-xr-x 1 root root 4483 2012-07-19 19:34 ./source/xfce/xfce4-settings/xfce4-settings.SlackBuild --rw-r--r-- 1 root root 323 2012-07-19 18:16 ./source/xfce/xfce4-settings/xfce4-settings.theme.diff.gz --rw-r--r-- 1 root root 543 2012-07-19 19:32 ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff.gz -drwxr-xr-x 2 root root 4096 2012-07-23 13:43 ./source/xfce/xfce4-systemload-plugin --rw-r--r-- 1 root root 876 2011-10-26 15:38 ./source/xfce/xfce4-systemload-plugin/slack-desc --rw-r--r-- 1 root root 259876 2012-06-30 09:22 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin-1.1.1.tar.xz --rwxr-xr-x 1 root root 3292 2012-07-18 21:28 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild --rw-r--r-- 1 root root 67 2011-11-28 03:14 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.url -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-taskmanager --rw-r--r-- 1 root root 121 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/doinst.sh.gz --rw-r--r-- 1 root root 931 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/slack-desc --rw-r--r-- 1 root root 286488 2010-06-14 15:00 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager-1.0.0.tar.xz --rwxr-xr-x 1 root root 3269 2012-07-19 03:08 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild --rw-r--r-- 1 root root 51 2011-11-28 03:16 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.url -drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-volumed --rw-r--r-- 1 root root 1034 2011-10-26 15:38 ./source/xfce/xfce4-volumed/slack-desc --rw-r--r-- 1 root root 83828 2011-03-03 10:39 ./source/xfce/xfce4-volumed/xfce4-volumed-0.1.13.tar.xz --rwxr-xr-x 1 root root 3332 2012-07-18 21:29 ./source/xfce/xfce4-volumed/xfce4-volumed.SlackBuild -drwxr-xr-x 2 root root 4096 2012-08-06 19:10 ./source/xfce/xfce4-weather-plugin --rw-r--r-- 1 root root 840 2012-07-19 03:25 ./source/xfce/xfce4-weather-plugin/slack-desc --rw-r--r-- 1 root root 572404 2012-08-06 11:16 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin-0.8.1.tar.xz --rwxr-xr-x 1 root root 3363 2012-07-23 13:39 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild --rw-r--r-- 1 root root 64 2011-11-28 03:17 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.url -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfconf --rw-r--r-- 1 root root 750 2012-07-19 23:35 ./source/xfce/xfconf/slack-desc --rw-r--r-- 1 root root 427944 2012-04-28 19:57 ./source/xfce/xfconf/xfconf-4.10.0.tar.xz --rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/xfconf/xfconf.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfdesktop --rw-r--r-- 1 root root 884 2012-07-19 23:37 ./source/xfce/xfdesktop/slack-desc --rw-r--r-- 1 root root 992092 2012-04-28 20:54 ./source/xfce/xfdesktop/xfdesktop-4.10.0.tar.xz --rwxr-xr-x 1 root root 4269 2012-07-19 18:10 ./source/xfce/xfdesktop/xfdesktop.SlackBuild -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4 -drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4-themes --rw-r--r-- 1 root root 870 2012-07-19 23:46 ./source/xfce/xfwm4-themes/slack-desc --rw-r--r-- 1 root root 437564 2012-04-28 22:04 ./source/xfce/xfwm4-themes/xfwm4-themes-4.10.0.tar.xz --rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/xfwm4-themes/xfwm4-themes.SlackBuild --rw-r--r-- 1 root root 741 2012-07-19 23:42 ./source/xfce/xfwm4/slack-desc --rw-r--r-- 1 root root 968412 2012-04-28 20:58 ./source/xfce/xfwm4/xfwm4-4.10.0.tar.xz --rwxr-xr-x 1 root root 4382 2012-07-24 22:12 ./source/xfce/xfwm4/xfwm4.SlackBuild --rw-r--r-- 1 root root 1198 2012-07-24 22:11 ./source/xfce/xfwm4/xinitrc.xfce -drwxr-xr-x 3 root root 4096 2010-05-12 04:10 ./source/y -drwxr-xr-x 3 root root 4096 2012-03-02 16:04 ./source/y/bsd-games --rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm --rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2 --rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh --rw-r--r-- 1 root root 164 2010-05-11 19:26 ./source/y/bsd-games/bsd-games-login-fortune.sh --rwxr-xr-x 1 root root 6954 2012-03-02 16:02 ./source/y/bsd-games/bsd-games.SlackBuild --rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz --rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz --rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz --rw-r--r-- 1 root root 2333 2010-05-11 21:10 ./source/y/bsd-games/bsd-games.getline.diff.gz --rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz --rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz --rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz --rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz --rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz -drwxr-xr-x 2 root root 4096 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here --rw-r--r-- 1 root root 294 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff.gz --rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz --rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz --rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz --rw-r--r-- 1 root root 1056 2002-03-10 04:51 ./source/y/bsd-games/slack-desc +-rw-r--r-- 1 root root 238 2011-03-21 22:22 ./source/xap/gnuchess/xboard.desktop +drwxr-xr-x 2 root root 4096 2012-08-19 16:56 ./source/xap/gnuplot +-rw-r--r-- 1 root root 3807404 2012-03-09 04:34 ./source/xap/gnuplot/gnuplot-4.6.0.tar.xz +-rwxr-xr-x 1 root root 4214 2012-08-19 17:00 ./source/xap/gnuplot/gnuplot.SlackBuild +-rw-r--r-- 1 root root 1105 2002-03-16 08:23 ./source/xap/gnuplot/slack-desc +drwxr-xr-x 2 root root 4096 2012-06-25 22:55 ./source/xap/gucharmap +-rw-r--r-- 1 root root 166 2012-06-13 05:07 ./source/xap/gucharmap/doinst.sh.gz +-rw-r--r-- 1 root root 2031040 2012-04-16 17:41 ./source/xap/gucharmap/gucharmap-3.4.1.tar.xz +-rwxr-xr-x 1 root root 3430 2012-06-25 22:55 ./source/xap/gucharmap/gucharmap.SlackBuild +-rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc +drwxr-xr-x 2 root root 4096 2012-05-21 18:02 ./source/xap/gv +-rw-r--r-- 1 root root 509972 2011-12-02 13:17 ./source/xap/gv/gv-3.7.3.tar.xz +-rwxr-xr-x 1 root root 3944 2012-05-22 18:48 ./source/xap/gv/gv.SlackBuild +-rw-r--r-- 1 root root 261 2012-05-13 16:19 ./source/xap/gv/gv.libXaw3d.diff.gz +-rw-r--r-- 1 root root 823 2002-03-15 04:27 ./source/xap/gv/slack-desc +drwxr-xr-x 2 root root 4096 2012-06-28 15:23 ./source/xap/imagemagick +-rw-r--r-- 1 root root 7812544 2012-06-28 11:24 ./source/xap/imagemagick/ImageMagick-6.7.7-10.tar.xz +-rwxr-xr-x 1 root root 5793 2012-06-28 15:23 ./source/xap/imagemagick/imagemagick.SlackBuild +-rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./source/xap/imagemagick/slack-desc +drwxr-xr-x 2 root root 4096 2012-09-07 00:59 ./source/xap/mozilla-firefox +-rw-r--r-- 1 root root 83710112 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2 +-rw-r--r-- 1 root root 189 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2.asc +-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz +-rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./source/xap/mozilla-firefox/firefox.png +-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz +-rw-r--r-- 1 root root 680 2009-07-01 13:28 ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz +-rwxr-xr-x 1 root root 7783 2012-07-17 20:51 ./source/xap/mozilla-firefox/mozilla-firefox.SlackBuild +-rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./source/xap/mozilla-firefox/mozilla-firefox.desktop +-rw-r--r-- 1 root root 993 2005-03-08 04:51 ./source/xap/mozilla-firefox/slack-desc +drwxr-xr-x 2 root root 4096 2012-09-09 18:00 ./source/xap/mozilla-thunderbird +-rw-r--r-- 1 root root 312 2012-03-28 18:01 ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch.gz +-rwxr-xr-x 1 root root 8675 2012-07-17 20:52 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild +-rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.desktop +-rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./source/xap/mozilla-thunderbird/slack-desc +-rw-r--r-- 1 root root 105942872 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2 +-rw-r--r-- 1 root root 189 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2.asc +-rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./source/xap/mozilla-thunderbird/thunderbird.png +drwxr-xr-x 2 root root 4096 2012-07-20 15:35 ./source/xap/network-manager-applet +-rw-r--r-- 1 root root 310 2012-07-20 15:35 ./source/xap/network-manager-applet/doinst.sh.gz +-rw-r--r-- 1 root root 1102856 2012-03-24 01:08 ./source/xap/network-manager-applet/network-manager-applet-0.9.4.1.tar.xz +-rwxr-xr-x 1 root root 3421 2012-07-24 21:31 ./source/xap/network-manager-applet/network-manager-applet.SlackBuild +-rw-r--r-- 1 root root 832 2011-10-26 15:39 ./source/xap/network-manager-applet/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-10 17:43 ./source/xap/pan +-rw-r--r-- 1 root root 1270324 2012-06-29 22:31 ./source/xap/pan/pan-0.139.tar.xz +-rwxr-xr-x 1 root root 4046 2012-07-10 17:42 ./source/xap/pan/pan.SlackBuild +-rw-r--r-- 1 root root 236 2012-07-10 17:43 ./source/xap/pan/pan.gcc47.diff.gz +-rw-r--r-- 1 root root 757 2012-05-13 15:17 ./source/xap/pan/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-12 19:01 ./source/xap/pidgin +-rw-r--r-- 1 root root 355 2012-05-02 03:59 ./source/xap/pidgin/fix-gmain_h-compile-error.diff.gz +-rw-r--r-- 1 root root 7357724 2012-07-06 15:33 ./source/xap/pidgin/pidgin-2.10.6.tar.xz +-rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./source/xap/pidgin/pidgin-encryption-3.1.tar.gz +-rwxr-xr-x 1 root root 6975 2012-07-12 19:01 ./source/xap/pidgin/pidgin.SlackBuild +-rw-r--r-- 1 root root 926 2008-03-09 08:06 ./source/xap/pidgin/slack-desc +drwxr-xr-x 2 root root 4096 2012-06-26 02:31 ./source/xap/rdesktop +-rw-r--r-- 1 root root 233500 2012-01-09 15:21 ./source/xap/rdesktop/rdesktop-1.7.1.tar.xz +-rwxr-xr-x 1 root root 3429 2012-07-04 17:26 ./source/xap/rdesktop/rdesktop.SlackBuild +-rw-r--r-- 1 root root 854 2006-09-12 01:52 ./source/xap/rdesktop/slack-desc +drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rxvt +-rw-r--r-- 1 root root 493199 2003-03-26 06:47 ./source/xap/rxvt/rxvt-2.7.10.tar.bz2 +-rwxr-xr-x 1 root root 3749 2012-01-12 19:26 ./source/xap/rxvt/rxvt.SlackBuild +-rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./source/xap/rxvt/rxvt.utempter.diff.gz +-rw-r--r-- 1 root root 880 2002-03-10 07:02 ./source/xap/rxvt/slack-desc +drwxr-xr-x 2 root root 4096 2012-06-30 04:10 ./source/xap/sane +-rw-r--r-- 1 root root 133 2006-09-23 08:33 ./source/xap/sane/dll.conf.additions.gz +-rw-r--r-- 1 root root 285 2008-02-12 16:23 ./source/xap/sane/doinst.sh.gz +-rw-r--r-- 1 root root 858 2012-04-17 09:51 ./source/xap/sane/sane-backends-1.0.22-v4l.diff.gz +-rw-r--r-- 1 root root 4064768 2011-02-14 04:07 ./source/xap/sane/sane-backends-1.0.22.tar.bz2 +-rw-r--r-- 1 root root 341 2010-01-20 01:54 ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff.gz +-rw-r--r-- 1 root root 190172 2005-09-18 07:21 ./source/xap/sane/sane-frontends-1.0.14.tar.bz2 +-rwxr-xr-x 1 root root 5172 2012-08-10 20:08 ./source/xap/sane/sane.SlackBuild +-rw-r--r-- 1 root root 776 2002-04-04 02:41 ./source/xap/sane/slack-desc +drwxr-xr-x 3 root root 4096 2012-09-10 17:02 ./source/xap/seamonkey +-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./source/xap/seamonkey/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2012-01-11 17:53 ./source/xap/seamonkey/pkgconfig +-rw-r--r-- 1 root root 320 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc +-rw-r--r-- 1 root root 305 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-js.pc +-rw-r--r-- 1 root root 327 2011-11-30 00:44 ./source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc +-rw-r--r-- 1 root root 308 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc +-rw-r--r-- 1 root root 313 2012-04-30 17:42 ./source/xap/seamonkey/pkgconfig/seamonkey-nss.pc +-rw-r--r-- 1 root root 287 2012-01-10 16:25 ./source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc +-rw-r--r-- 1 root root 372 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc +-rw-r--r-- 1 root root 85072972 2012-09-09 05:18 ./source/xap/seamonkey/seamonkey-2.12.1.source.tar.xz +-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./source/xap/seamonkey/seamonkey-icon.png +-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./source/xap/seamonkey/seamonkey-mail-icon.png +-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey-mail.desktop +-rwxr-xr-x 1 root root 10425 2012-08-30 18:18 ./source/xap/seamonkey/seamonkey.SlackBuild +-rw-r--r-- 1 root root 178 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey.desktop +-rw-r--r-- 1 root root 894 2009-11-10 01:43 ./source/xap/seamonkey/slack-desc +drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/seyon +-rw-r--r-- 1 root root 713 1999-05-09 22:46 ./source/xap/seyon/seyon-2.20c.lsm +-rw-r--r-- 1 root root 167487 1999-05-09 22:47 ./source/xap/seyon/seyon-2.20c.tar.gz +-rwxr-xr-x 1 root root 4347 2012-01-12 19:28 ./source/xap/seyon/seyon.SlackBuild +-rw-r--r-- 1 root root 36723 2005-01-03 22:32 ./source/xap/seyon/seyon_2.20c-16.diff.gz +-rw-r--r-- 1 root root 1065 2002-03-24 00:53 ./source/xap/seyon/slack-desc +lrwxrwxrwx 1 root root 9 2009-08-23 23:36 ./source/xap/vim-gvim -> ../ap/vim +drwxr-xr-x 2 root root 4096 2012-08-13 16:54 ./source/xap/windowmaker +-rw-r--r-- 1 root root 1831732 2012-05-27 00:35 ./source/xap/windowmaker/WindowMaker-0.95.3.tar.xz +-rw-r--r-- 1 root root 203168 1999-04-01 14:30 ./source/xap/windowmaker/WindowMaker-extra-0.1.tar.xz +-rw-r--r-- 1 root root 385 2012-07-29 20:34 ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff.gz +-rw-r--r-- 1 root root 917 2004-10-28 06:46 ./source/xap/windowmaker/slack-desc +-rwxr-xr-x 1 root root 5135 2012-08-13 16:54 ./source/xap/windowmaker/windowmaker.SlackBuild +-rw-r--r-- 1 root root 729 2012-02-15 00:25 ./source/xap/windowmaker/wmaker.inst.diff.gz +-rw-r--r-- 1 root root 460 2012-07-25 03:30 ./source/xap/windowmaker/xinitrc.wmaker.gz +drwxr-xr-x 2 root root 4096 2011-01-22 18:19 ./source/xap/x11-ssh-askpass +-rw-r--r-- 1 root root 533 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/README +-rw-r--r-- 1 root root 774 2012-07-22 17:20 ./source/xap/x11-ssh-askpass/slack-desc +-rw-r--r-- 1 root root 29229 2009-07-20 23:44 ./source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz +-rwxr-xr-x 1 root root 1941 2011-02-01 06:39 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.SlackBuild +-rw-r--r-- 1 root root 349 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.info +-rw-r--r-- 1 root root 261 2008-03-29 00:07 ./source/xap/x11-ssh-askpass/xprofile.sample +drwxr-xr-x 2 root root 4096 2012-01-12 22:44 ./source/xap/x3270 +-rw-r--r-- 1 root root 391 2007-04-02 02:36 ./source/xap/x3270/doinst.sh.gz +-rw-r--r-- 1 root root 766 2002-03-12 06:49 ./source/xap/x3270/slack-desc +-rw-r--r-- 1 root root 771256 2012-01-12 22:43 ./source/xap/x3270/x3270-3.3.12ga7.tar.xz +-rwxr-xr-x 1 root root 4166 2012-07-04 22:14 ./source/xap/x3270/x3270.SlackBuild +drwxr-xr-x 2 root root 4096 2010-10-16 19:48 ./source/xap/xaos +-rw-r--r-- 1 root root 875 2010-10-16 17:46 ./source/xap/xaos/slack-desc +-rw-r--r-- 1 root root 1121380 2010-10-16 17:17 ./source/xap/xaos/xaos-3.5.tar.xz +-rw-r--r-- 1 root root 2796 2010-10-16 19:47 ./source/xap/xaos/xaos.6.gz +-rwxr-xr-x 1 root root 5060 2010-10-16 19:51 ./source/xap/xaos/xaos.SlackBuild +-rw-r--r-- 1 root root 161 2010-05-24 16:48 ./source/xap/xaos/xaos.desktop +-rw-r--r-- 1 root root 14980 2010-05-24 16:48 ./source/xap/xaos/xaos.png +drwxr-xr-x 2 root root 4096 2010-06-06 07:41 ./source/xap/xchat +-rw-r--r-- 1 root root 620 2008-02-11 03:44 ./source/xap/xchat/slack-desc +-rw-r--r-- 1 root root 1509993 2010-05-30 06:41 ./source/xap/xchat/xchat-2.8.8.tar.bz2 +-rwxr-xr-x 1 root root 3590 2012-07-04 17:16 ./source/xap/xchat/xchat.SlackBuild +drwxr-xr-x 2 root root 4096 2012-01-12 22:54 ./source/xap/xfractint +-rw-r--r-- 1 root root 103531 2002-03-14 20:57 ./source/xap/xfractint/palette.maps.tar.gz +-rw-r--r-- 1 root root 871 2002-03-14 20:25 ./source/xap/xfractint/slack-desc +-rw-r--r-- 1 root root 1084712 2011-06-14 01:04 ./source/xap/xfractint/xfractint-20.04p11.tar.xz +-rwxr-xr-x 1 root root 4269 2012-01-12 22:54 ./source/xap/xfractint/xfractint.SlackBuild +drwxr-xr-x 2 root root 4096 2011-03-19 22:56 ./source/xap/xgames +-rw-r--r-- 1 root root 269 1999-08-04 18:49 ./source/xap/xgames/maze.diff.gz +-rw-r--r-- 1 root root 7945 1994-10-22 00:44 ./source/xap/xgames/maze.tar.gz +-rw-r--r-- 1 root root 696 2007-03-01 22:04 ./source/xap/xgames/slack-desc +-rw-r--r-- 1 root root 871 2007-02-22 02:20 ./source/xap/xgames/spider.diff.gz +-rw-r--r-- 1 root root 130637 1993-12-04 17:22 ./source/xap/xgames/spider.tar.gz +-rw-r--r-- 1 root root 287 1999-08-04 18:54 ./source/xap/xgames/xcolormap.diff.gz +-rw-r--r-- 1 root root 2808 1993-12-04 17:18 ./source/xap/xgames/xcolormap.tar.gz +-rw-r--r-- 1 root root 5937 1993-12-04 17:18 ./source/xap/xgames/xcuckoo-1.1.tar.gz +-rw-r--r-- 1 root root 228 2007-02-28 19:11 ./source/xap/xgames/xcuckoo.diff.gz +-rwxr-xr-x 1 root root 4981 2011-03-20 17:12 ./source/xap/xgames/xgames.SlackBuild +-rw-r--r-- 1 root root 1150 2009-08-22 20:58 ./source/xap/xgames/xlander-2009-07-18.diff.gz +-rw-r--r-- 1 root root 2543 2007-03-01 18:44 ./source/xap/xgames/xlander.fixes.diff.gz +-rw-r--r-- 1 root root 15612 1995-06-17 19:23 ./source/xap/xgames/xlander.tar.gz +-rw-r--r-- 1 root root 12791 2008-10-25 13:16 ./source/xap/xgames/xminesweep3.0.tar.gz +-rw-r--r-- 1 root root 22849 1999-08-04 19:05 ./source/xap/xgames/xneko.tar.gz +-rw-r--r-- 1 root root 21694 1993-12-02 07:19 ./source/xap/xgames/xroach.tar.gz +-rw-r--r-- 1 root root 56752 2001-12-15 23:45 ./source/xap/xgames/xsnow-1.42.tar.gz +drwxr-xr-x 2 root root 4096 2012-09-08 19:03 ./source/xap/xine-lib +-rw-r--r-- 1 root root 927 2003-08-12 00:43 ./source/xap/xine-lib/slack-desc +-rw-r--r-- 1 root root 5929176 2012-06-09 17:26 ./source/xap/xine-lib/xine-lib-1.1.21.tar.xz +-rwxr-xr-x 1 root root 3485 2012-09-08 17:45 ./source/xap/xine-lib/xine-lib.SlackBuild +-rw-r--r-- 1 root root 329 2010-11-06 21:02 ./source/xap/xine-lib/xine-lib.XvMClib.h.diff.gz +drwxr-xr-x 2 root root 4096 2012-09-09 17:47 ./source/xap/xine-ui +-rw-r--r-- 1 root root 832 2003-08-12 01:07 ./source/xap/xine-ui/slack-desc +-rw-r--r-- 1 root root 1797136 2010-03-06 01:43 ./source/xap/xine-ui/xine-ui-0.99.6.tar.xz +-rwxr-xr-x 1 root root 3207 2012-09-09 17:48 ./source/xap/xine-ui/xine-ui.SlackBuild +-rw-r--r-- 1 root root 202 2012-09-09 17:47 ./source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff.gz +-rw-r--r-- 1 root root 258 2007-05-04 22:27 ./source/xap/xine-ui/xine.desktop.gz +drwxr-xr-x 2 root root 4096 2012-05-25 16:18 ./source/xap/xlockmore +-rw-r--r-- 1 root root 225 2002-02-23 22:23 ./source/xap/xlockmore/l-bob.README +-rw-r--r-- 1 root root 27870 1998-04-01 15:09 ./source/xap/xlockmore/l-bob.xbm +-rw-r--r-- 1 root root 15190 1998-04-01 15:09 ./source/xap/xlockmore/l-linux.xbm +-rw-r--r-- 1 root root 7025 2002-02-23 21:40 ./source/xap/xlockmore/s-bob.xbm +-rw-r--r-- 1 root root 922 2002-03-24 00:54 ./source/xap/xlockmore/slack-desc +-rw-r--r-- 1 root root 1576444 2012-04-27 00:24 ./source/xap/xlockmore/xlockmore-5.39.tar.xz +-rwxr-xr-x 1 root root 3913 2012-05-25 16:18 ./source/xap/xlockmore/xlockmore.SlackBuild +-rw-r--r-- 1 root root 371 2002-05-30 04:25 ./source/xap/xlockmore/xlockmore.bitmap.diff.gz +drwxr-xr-x 2 root root 4096 2010-03-22 19:03 ./source/xap/xmms +-rw-r--r-- 1 root root 834 2004-02-24 02:30 ./source/xap/xmms/slack-desc +-rw-r--r-- 1 root root 2581032 2007-11-16 22:53 ./source/xap/xmms/xmms-1.2.11.tar.bz2 +-rwxr-xr-x 1 root root 3385 2010-03-22 19:05 ./source/xap/xmms/xmms.SlackBuild +-rw-r--r-- 1 root root 525 2008-09-11 20:50 ./source/xap/xmms/xmms.desktop +-rw-r--r-- 1 root root 279 2008-09-12 20:50 ./source/xap/xmms/xmms.gtk.doublesize.diff.gz +-rw-r--r-- 1 root root 2475 2008-01-04 23:53 ./source/xap/xmms/xmms.png +-rw-r--r-- 1 root root 260 2009-06-09 20:19 ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff.gz +drwxr-xr-x 2 root root 4096 2010-02-20 01:05 ./source/xap/xpaint +-rw-r--r-- 1 root root 902 2002-03-12 23:40 ./source/xap/xpaint/slack-desc +-rw-r--r-- 1 root root 795772 2010-02-12 19:48 ./source/xap/xpaint/xpaint-2.8.16.tar.bz2 +-rwxr-xr-x 1 root root 4009 2010-02-20 01:05 ./source/xap/xpaint/xpaint.SlackBuild +drwxr-xr-x 4 root root 4096 2012-08-01 16:30 ./source/xap/xpdf +-rw-r--r-- 1 root root 325 2010-01-11 04:59 ./source/xap/xpdf/doinst.sh.gz +drwxr-xr-x 2 root root 4096 2010-01-11 05:01 ./source/xap/xpdf/lang +-rw-r--r-- 1 root root 207 2008-03-02 07:24 ./source/xap/xpdf/lang/xpdf-arabic.diff.gz +-rw-r--r-- 1 root root 1058 2004-07-18 23:14 ./source/xap/xpdf/lang/xpdf-arabic.tar.gz +-rw-r--r-- 1 root root 375 2008-03-02 07:46 ./source/xap/xpdf/lang/xpdf-chinese-simplified.diff.gz +-rw-r--r-- 1 root root 835960 2004-07-27 22:29 ./source/xap/xpdf/lang/xpdf-chinese-simplified.tar.gz +-rw-r--r-- 1 root root 354 2008-03-02 07:45 ./source/xap/xpdf/lang/xpdf-chinese-traditional.diff.gz +-rw-r--r-- 1 root root 794604 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-chinese-traditional.tar.gz +-rw-r--r-- 1 root root 242 2008-03-02 07:27 ./source/xap/xpdf/lang/xpdf-cyrillic.diff.gz +-rw-r--r-- 1 root root 1660 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-cyrillic.tar.gz +-rw-r--r-- 1 root root 236 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-greek.diff.gz +-rw-r--r-- 1 root root 1263 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-greek.tar.gz +-rw-r--r-- 1 root root 224 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-hebrew.diff.gz +-rw-r--r-- 1 root root 1314 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-hebrew.tar.gz +-rw-r--r-- 1 root root 750 2008-03-02 07:48 ./source/xap/xpdf/lang/xpdf-japanese.diff.gz +-rw-r--r-- 1 root root 494803 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-japanese.tar.gz +-rw-r--r-- 1 root root 312 2008-03-02 07:34 ./source/xap/xpdf/lang/xpdf-korean.diff.gz +-rw-r--r-- 1 root root 470455 2005-07-07 18:05 ./source/xap/xpdf/lang/xpdf-korean.tar.gz +-rw-r--r-- 1 root root 200 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-latin2.diff.gz +-rw-r--r-- 1 root root 1435 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-latin2.tar.gz +-rw-r--r-- 1 root root 231 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-thai.diff.gz +-rw-r--r-- 1 root root 1873 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-thai.tar.gz +-rw-r--r-- 1 root root 210 2008-03-02 07:37 ./source/xap/xpdf/lang/xpdf-turkish.diff.gz +-rw-r--r-- 1 root root 1140 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-turkish.tar.gz +drwxr-xr-x 2 root root 4096 2012-08-01 16:30 ./source/xap/xpdf/patches +-rw-r--r-- 1 root root 542 2011-02-09 23:23 ./source/xap/xpdf/patches/03-float.patch.gz +-rw-r--r-- 1 root root 1050 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch +-rw-r--r-- 1 root root 189 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch.sig +-rw-r--r-- 1 root root 20843 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch +-rw-r--r-- 1 root root 189 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch.sig +-rw-r--r-- 1 root root 30727 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch +-rw-r--r-- 1 root root 197 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch.sig +-rw-r--r-- 1 root root 6982 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch +-rw-r--r-- 1 root root 197 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch.sig +-rw-r--r-- 1 root root 1065 2010-10-21 22:57 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch +-rw-r--r-- 1 root root 197 2010-10-21 23:09 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch.sig +-rw-r--r-- 1 root root 60 2011-03-29 18:23 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch +-rw-r--r-- 1 root root 305 2011-03-29 18:28 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch.sig +-rw-r--r-- 1 root root 498 2007-04-12 00:58 ./source/xap/xpdf/patches/xpdf-resizefix.diff.gz +-rw-r--r-- 1 root root 37396 2007-11-12 05:27 ./source/xap/xpdf/patches/xpdf_3.02-1.3.diff.gz +-rw-r--r-- 1 root root 636 2007-02-18 03:26 ./source/xap/xpdf/patches/xpdfrc.diff.gz +-rw-r--r-- 1 root root 643 2011-03-31 02:49 ./source/xap/xpdf/slack-desc +-rw-r--r-- 1 root root 674912 2007-02-27 22:56 ./source/xap/xpdf/xpdf-3.02.tar.gz +-rw-r--r-- 1 root root 189 2007-02-27 22:50 ./source/xap/xpdf/xpdf-3.02.tar.gz.sig +-rwxr-xr-x 1 root root 5340 2012-08-01 16:31 ./source/xap/xpdf/xpdf.SlackBuild +-rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./source/xap/xpdf/xpdf.desktop +drwxr-xr-x 2 root root 4096 2011-02-28 03:41 ./source/xap/xsane +-rw-r--r-- 1 root root 955 2004-05-11 19:29 ./source/xap/xsane/slack-desc +-rw-r--r-- 1 root root 1874276 2010-11-16 22:05 ./source/xap/xsane/xsane-0.998.tar.xz +-rwxr-xr-x 1 root root 3140 2012-07-04 17:13 ./source/xap/xsane/xsane.SlackBuild +drwxr-xr-x 2 root root 4096 2012-06-01 01:25 ./source/xap/xscreensaver +-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz +-rw-r--r-- 1 root root 887 2008-10-17 04:31 ./source/xap/xscreensaver/slack-desc +-rw-r--r-- 1 root root 3716768 2011-09-29 04:31 ./source/xap/xscreensaver/xscreensaver-5.15.tar.xz +-rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./source/xap/xscreensaver/xscreensaver-getimage-file-5.14 +-rwxr-xr-x 1 root root 3967 2012-06-19 21:30 ./source/xap/xscreensaver/xscreensaver.SlackBuild +-rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz +-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz +drwxr-xr-x 2 root root 4096 2010-02-19 19:32 ./source/xap/xv +-rw-r--r-- 1 root root 688 2002-03-10 06:26 ./source/xap/xv/slack-desc +-rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.xz +-rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2 +-rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./source/xap/xv/xv-3.10a-jumbo-README.txt +-rw-r--r-- 1 root root 114978 2010-02-19 19:24 ./source/xap/xv/xv-3.10a-jumbo-additions.diff.bz2 +-rw-r--r-- 1 root root 287250 2007-05-21 04:57 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2 +-rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz +-rwxr-xr-x 1 root root 3210 2010-02-19 19:32 ./source/xap/xv/xv.SlackBuild +-rw-r--r-- 1 root root 229 2010-02-19 19:27 ./source/xap/xv/xv.jasper.diff.gz +-rw-r--r-- 1 root root 317 2010-02-19 19:15 ./source/xap/xv/xv.prefix.diff.gz +-rw-r--r-- 1 root root 282 2010-02-19 19:16 ./source/xap/xv/xv.prefix_x86_64.diff.gz +drwxr-xr-x 2 root root 4096 2011-04-03 10:43 ./source/xap/xxgdb +-rw-r--r-- 1 root root 874 2002-03-13 02:25 ./source/xap/xxgdb/slack-desc +-rw-r--r-- 1 root root 236 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.08-glibc.patch.xz +-rw-r--r-- 1 root root 212 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch.xz +-rw-r--r-- 1 root root 768 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-pty.patch.xz +-rw-r--r-- 1 root root 7024 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-mandriva.patch.xz +-rw-r--r-- 1 root root 376 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-sysv.patch.xz +-rw-r--r-- 1 root root 88596 1995-11-19 16:40 ./source/xap/xxgdb/xxgdb-1.12.tar.xz +-rwxr-xr-x 1 root root 3446 2011-04-05 00:44 ./source/xap/xxgdb/xxgdb.SlackBuild +drwxr-xr-x 31 root root 4096 2012-08-09 03:55 ./source/xfce +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/Terminal +-rw-r--r-- 1 root root 1374136 2011-06-21 20:36 ./source/xfce/Terminal/Terminal-0.4.8.tar.xz +-rwxr-xr-x 1 root root 3633 2012-07-18 21:24 ./source/xfce/Terminal/Terminal.SlackBuild +-rw-r--r-- 1 root root 821 2010-11-03 14:56 ./source/xfce/Terminal/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/Thunar +-rw-r--r-- 1 root root 1628764 2012-04-28 20:21 ./source/xfce/Thunar/Thunar-1.4.0.tar.xz +-rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/Thunar/Thunar.SlackBuild +-rw-r--r-- 1 root root 920 2012-07-19 23:47 ./source/xfce/Thunar/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/exo +-rw-r--r-- 1 root root 947096 2012-04-28 20:04 ./source/xfce/exo/exo-0.8.0.tar.xz +-rwxr-xr-x 1 root root 4263 2012-07-19 18:10 ./source/xfce/exo/exo.SlackBuild +-rw-r--r-- 1 root root 831 2012-07-19 21:15 ./source/xfce/exo/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/garcon +-rw-r--r-- 1 root root 379440 2012-04-28 20:08 ./source/xfce/garcon/garcon-0.2.0.tar.xz +-rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/garcon/garcon.SlackBuild +-rw-r--r-- 1 root root 752 2012-07-19 21:19 ./source/xfce/garcon/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine +-rw-r--r-- 1 root root 280800 2012-04-28 10:28 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine-3.0.0.tar.xz +-rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine.SlackBuild +-rw-r--r-- 1 root root 878 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4ui +-rw-r--r-- 1 root root 448984 2012-04-28 19:49 ./source/xfce/libxfce4ui/libxfce4ui-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4444 2012-07-19 18:58 ./source/xfce/libxfce4ui/libxfce4ui.SlackBuild +-rw-r--r-- 1 root root 770 2012-07-19 23:47 ./source/xfce/libxfce4ui/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4util +-rw-r--r-- 1 root root 375016 2012-04-28 19:39 ./source/xfce/libxfce4util/libxfce4util-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/libxfce4util/libxfce4util.SlackBuild +-rw-r--r-- 1 root root 780 2012-07-19 21:26 ./source/xfce/libxfce4util/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfcegui4 +-rw-r--r-- 1 root root 584432 2012-04-28 20:13 ./source/xfce/libxfcegui4/libxfcegui4-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/libxfcegui4/libxfcegui4.SlackBuild +-rw-r--r-- 1 root root 778 2012-07-19 21:29 ./source/xfce/libxfcegui4/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/orage +-rw-r--r-- 1 root root 2046524 2012-01-05 07:12 ./source/xfce/orage/orage-4.8.3.tar.xz +-rwxr-xr-x 1 root root 3713 2012-07-18 21:27 ./source/xfce/orage/orage.SlackBuild +-rw-r--r-- 1 root root 628 2010-11-04 02:30 ./source/xfce/orage/slack-desc +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/thunar-volman +-rw-r--r-- 1 root root 803 2012-07-19 03:03 ./source/xfce/thunar-volman/slack-desc +-rw-r--r-- 1 root root 358800 2012-04-28 20:21 ./source/xfce/thunar-volman/thunar-volman-0.8.0.tar.xz +-rwxr-xr-x 1 root root 3138 2012-07-19 03:01 ./source/xfce/thunar-volman/thunar-volman.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/tumbler +-rw-r--r-- 1 root root 968 2012-07-19 23:20 ./source/xfce/tumbler/slack-desc +-rw-r--r-- 1 root root 407444 2012-04-28 20:25 ./source/xfce/tumbler/tumbler-0.1.25.tar.xz +-rwxr-xr-x 1 root root 4267 2012-08-02 21:05 ./source/xfce/tumbler/tumbler.SlackBuild +-rwxr-xr-x 1 root root 2174 2012-07-20 17:52 ./source/xfce/xfce-build-all.sh +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-appfinder +-rw-r--r-- 1 root root 935 2012-07-19 23:22 ./source/xfce/xfce4-appfinder/slack-desc +-rw-r--r-- 1 root root 380060 2012-04-28 20:29 ./source/xfce/xfce4-appfinder/xfce4-appfinder-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-appfinder/xfce4-appfinder.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-clipman-plugin +-rw-r--r-- 1 root root 172 2012-07-18 20:50 ./source/xfce/xfce4-clipman-plugin/doinst.sh.gz +-rw-r--r-- 1 root root 1003 2012-07-19 03:13 ./source/xfce/xfce4-clipman-plugin/slack-desc +-rw-r--r-- 1 root root 867560 2012-04-09 17:56 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin-1.2.3.tar.xz +-rwxr-xr-x 1 root root 3437 2012-07-19 03:29 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild +-rw-r--r-- 1 root root 64 2011-11-28 03:27 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.url +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-dev-tools +-rw-r--r-- 1 root root 823 2012-07-19 23:24 ./source/xfce/xfce4-dev-tools/slack-desc +-rw-r--r-- 1 root root 238252 2012-04-28 19:19 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-mixer +-rw-r--r-- 1 root root 184 2010-11-04 03:20 ./source/xfce/xfce4-mixer/doinst.sh.gz +-rw-r--r-- 1 root root 899 2012-07-19 02:54 ./source/xfce/xfce4-mixer/slack-desc +-rw-r--r-- 1 root root 405224 2011-02-25 13:18 ./source/xfce/xfce4-mixer/xfce4-mixer-4.8.0.tar.xz +-rwxr-xr-x 1 root root 3322 2012-07-18 21:28 ./source/xfce/xfce4-mixer/xfce4-mixer.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-notifyd +-rw-r--r-- 1 root root 174 2009-02-26 05:47 ./source/xfce/xfce4-notifyd/doinst.sh.gz +-rw-r--r-- 1 root root 905 2010-02-20 18:14 ./source/xfce/xfce4-notifyd/slack-desc +-rw-r--r-- 1 root root 302216 2011-08-06 09:02 ./source/xfce/xfce4-notifyd/xfce4-notifyd-0.2.2.tar.xz +-rwxr-xr-x 1 root root 3689 2012-08-29 17:19 ./source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-panel +-rw-r--r-- 1 root root 899 2012-07-19 23:26 ./source/xfce/xfce4-panel/slack-desc +-rw-r--r-- 1 root root 899124 2012-04-28 20:33 ./source/xfce/xfce4-panel/xfce4-panel-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/xfce4-panel/xfce4-panel.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-power-manager +-rw-r--r-- 1 root root 172 2009-05-30 01:47 ./source/xfce/xfce4-power-manager/doinst.sh.gz +-rw-r--r-- 1 root root 877 2012-07-19 03:03 ./source/xfce/xfce4-power-manager/slack-desc +-rw-r--r-- 1 root root 868356 2012-04-28 20:41 ./source/xfce/xfce4-power-manager/xfce4-power-manager-1.2.0.tar.xz +-rwxr-xr-x 1 root root 3939 2012-07-19 03:04 ./source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-screenshooter +-rw-r--r-- 1 root root 172 2011-10-26 15:38 ./source/xfce/xfce4-screenshooter/doinst.sh.gz +-rw-r--r-- 1 root root 835 2012-07-19 03:15 ./source/xfce/xfce4-screenshooter/slack-desc +-rw-r--r-- 1 root root 913992 2012-05-02 18:27 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter-1.8.1.tar.xz +-rwxr-xr-x 1 root root 4070 2012-07-19 03:21 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild +-rw-r--r-- 1 root root 54 2011-11-28 03:13 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.url +drwxr-xr-x 2 root root 4096 2012-07-24 22:10 ./source/xfce/xfce4-session +-rw-r--r-- 1 root root 915 2012-07-19 23:29 ./source/xfce/xfce4-session/slack-desc +-rw-r--r-- 1 root root 1122596 2012-04-28 20:46 ./source/xfce/xfce4-session/xfce4-session-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4381 2012-07-19 18:13 ./source/xfce/xfce4-session/xfce4-session.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-settings +-rw-r--r-- 1 root root 843 2012-07-19 23:31 ./source/xfce/xfce4-settings/slack-desc +-rw-r--r-- 1 root root 685280 2012-04-28 20:50 ./source/xfce/xfce4-settings/xfce4-settings-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4483 2012-07-19 19:34 ./source/xfce/xfce4-settings/xfce4-settings.SlackBuild +-rw-r--r-- 1 root root 323 2012-07-19 18:16 ./source/xfce/xfce4-settings/xfce4-settings.theme.diff.gz +-rw-r--r-- 1 root root 543 2012-07-19 19:32 ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff.gz +drwxr-xr-x 2 root root 4096 2012-07-23 13:43 ./source/xfce/xfce4-systemload-plugin +-rw-r--r-- 1 root root 876 2011-10-26 15:38 ./source/xfce/xfce4-systemload-plugin/slack-desc +-rw-r--r-- 1 root root 259876 2012-06-30 09:22 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin-1.1.1.tar.xz +-rwxr-xr-x 1 root root 3292 2012-07-18 21:28 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild +-rw-r--r-- 1 root root 67 2011-11-28 03:14 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.url +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-taskmanager +-rw-r--r-- 1 root root 121 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/doinst.sh.gz +-rw-r--r-- 1 root root 931 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/slack-desc +-rw-r--r-- 1 root root 286488 2010-06-14 15:00 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager-1.0.0.tar.xz +-rwxr-xr-x 1 root root 3269 2012-07-19 03:08 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild +-rw-r--r-- 1 root root 51 2011-11-28 03:16 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.url +drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-volumed +-rw-r--r-- 1 root root 1034 2011-10-26 15:38 ./source/xfce/xfce4-volumed/slack-desc +-rw-r--r-- 1 root root 83828 2011-03-03 10:39 ./source/xfce/xfce4-volumed/xfce4-volumed-0.1.13.tar.xz +-rwxr-xr-x 1 root root 3332 2012-07-18 21:29 ./source/xfce/xfce4-volumed/xfce4-volumed.SlackBuild +drwxr-xr-x 2 root root 4096 2012-08-06 19:10 ./source/xfce/xfce4-weather-plugin +-rw-r--r-- 1 root root 840 2012-07-19 03:25 ./source/xfce/xfce4-weather-plugin/slack-desc +-rw-r--r-- 1 root root 572404 2012-08-06 11:16 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin-0.8.1.tar.xz +-rwxr-xr-x 1 root root 3363 2012-07-23 13:39 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild +-rw-r--r-- 1 root root 64 2011-11-28 03:17 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.url +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfconf +-rw-r--r-- 1 root root 750 2012-07-19 23:35 ./source/xfce/xfconf/slack-desc +-rw-r--r-- 1 root root 427944 2012-04-28 19:57 ./source/xfce/xfconf/xfconf-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/xfconf/xfconf.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfdesktop +-rw-r--r-- 1 root root 884 2012-07-19 23:37 ./source/xfce/xfdesktop/slack-desc +-rw-r--r-- 1 root root 992092 2012-04-28 20:54 ./source/xfce/xfdesktop/xfdesktop-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4269 2012-07-19 18:10 ./source/xfce/xfdesktop/xfdesktop.SlackBuild +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4 +drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4-themes +-rw-r--r-- 1 root root 870 2012-07-19 23:46 ./source/xfce/xfwm4-themes/slack-desc +-rw-r--r-- 1 root root 437564 2012-04-28 22:04 ./source/xfce/xfwm4-themes/xfwm4-themes-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/xfwm4-themes/xfwm4-themes.SlackBuild +-rw-r--r-- 1 root root 741 2012-07-19 23:42 ./source/xfce/xfwm4/slack-desc +-rw-r--r-- 1 root root 968412 2012-04-28 20:58 ./source/xfce/xfwm4/xfwm4-4.10.0.tar.xz +-rwxr-xr-x 1 root root 4382 2012-07-24 22:12 ./source/xfce/xfwm4/xfwm4.SlackBuild +-rw-r--r-- 1 root root 1198 2012-07-24 22:11 ./source/xfce/xfwm4/xinitrc.xfce +drwxr-xr-x 3 root root 4096 2010-05-12 04:10 ./source/y +drwxr-xr-x 3 root root 4096 2012-03-02 16:04 ./source/y/bsd-games +-rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm +-rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2 +-rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh +-rw-r--r-- 1 root root 164 2010-05-11 19:26 ./source/y/bsd-games/bsd-games-login-fortune.sh +-rwxr-xr-x 1 root root 6954 2012-03-02 16:02 ./source/y/bsd-games/bsd-games.SlackBuild +-rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz +-rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz +-rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz +-rw-r--r-- 1 root root 2333 2010-05-11 21:10 ./source/y/bsd-games/bsd-games.getline.diff.gz +-rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz +-rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz +-rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz +-rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz +-rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz +drwxr-xr-x 2 root root 4096 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here +-rw-r--r-- 1 root root 294 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff.gz +-rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz +-rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz +-rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz +-rw-r--r-- 1 root root 1056 2002-03-10 04:51 ./source/y/bsd-games/slack-desc +drwxr-xr-x 4 root root 4096 2012-09-24 20:32 ./testing +-rw-r--r-- 1 root root 4696 2012-09-24 20:32 ./testing/CHECKSUMS.md5 +-rw-r--r-- 1 root root 198 2012-09-24 20:32 ./testing/CHECKSUMS.md5.asc +-rw-r--r-- 1 root root 6574 2012-09-24 20:32 ./testing/FILE_LIST +-rw-r--r-- 1 root root 10213 2012-09-24 20:32 ./testing/MANIFEST.bz2 +-rw-r--r-- 1 root root 3057 2012-09-24 20:32 ./testing/PACKAGES.TXT +drwxr-xr-x 2 root root 4096 2012-09-24 20:32 ./testing/packages +-rw-r--r-- 1 root root 137 2012-09-24 19:40 ./testing/packages/README +lrwxrwxrwx 1 root root 31 2012-09-19 01:55 ./testing/packages/config-testing-3.4.11 -> ../source/config-testing-3.4.11 +lrwxrwxrwx 1 root root 30 2012-09-19 01:55 ./testing/packages/config-testing-3.5.4 -> ../source/config-testing-3.5.4 +lrwxrwxrwx 1 root root 32 2012-09-19 22:49 ./testing/packages/config-testing-3.6-rc4 -> ../source/config-testing-3.6-rc4 +-rw-r--r-- 1 root root 260 2012-09-22 00:06 ./testing/packages/libdrm-2.4.39-x86_64-1.txt +-rw-r--r-- 1 root root 145760 2012-09-22 00:06 ./testing/packages/libdrm-2.4.39-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-22 00:06 ./testing/packages/libdrm-2.4.39-x86_64-1.txz.asc +-rw-r--r-- 1 root root 499 2012-08-27 16:56 ./testing/packages/rp-pppoe-3.11-x86_64-1.txt +-rw-r--r-- 1 root root 89888 2012-08-27 16:56 ./testing/packages/rp-pppoe-3.11-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-08-27 16:56 ./testing/packages/rp-pppoe-3.11-x86_64-1.txz.asc +-rw-r--r-- 1 root root 422 2012-09-24 19:23 ./testing/packages/xf86-video-ati-6.14.6-x86_64-1.txt +-rw-r--r-- 1 root root 347680 2012-09-24 19:23 ./testing/packages/xf86-video-ati-6.14.6-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-24 19:23 ./testing/packages/xf86-video-ati-6.14.6-x86_64-1.txz.asc +-rw-r--r-- 1 root root 443 2012-09-24 19:23 ./testing/packages/xf86-video-intel-2.20.8-x86_64-1.txt +-rw-r--r-- 1 root root 492804 2012-09-24 19:23 ./testing/packages/xf86-video-intel-2.20.8-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-24 19:23 ./testing/packages/xf86-video-intel-2.20.8-x86_64-1.txz.asc +-rw-r--r-- 1 root root 476 2012-09-22 00:07 ./testing/packages/xf86-video-nouveau-1.0.2-x86_64-1.txt +-rw-r--r-- 1 root root 71908 2012-09-22 00:07 ./testing/packages/xf86-video-nouveau-1.0.2-x86_64-1.txz +-rw-r--r-- 1 root root 198 2012-09-22 00:07 ./testing/packages/xf86-video-nouveau-1.0.2-x86_64-1.txz.asc +drwxr-xr-x 10 root root 4096 2012-09-24 19:19 ./testing/source +drwxr-xr-x 2 root root 4096 2012-09-19 01:41 ./testing/source/config-testing-3.4.11 +-rw-r--r-- 1 root root 393 2012-08-22 16:48 ./testing/source/config-testing-3.4.11/README +-rw-r--r-- 1 root root 129435 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-generic-3.4.11 +-rw-r--r-- 1 root root 125026 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-generic-3.4.11.x64 +-rw-r--r-- 1 root root 130124 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-generic-smp-3.4.11-smp +-rw-r--r-- 1 root root 129409 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-huge-3.4.11 +-rw-r--r-- 1 root root 125000 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-huge-3.4.11.x64 +-rw-r--r-- 1 root root 130098 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-huge-smp-3.4.11-smp +drwxr-xr-x 2 root root 4096 2012-09-19 01:42 ./testing/source/config-testing-3.5.4 +-rw-r--r-- 1 root root 131778 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-generic-3.5.4 +-rw-r--r-- 1 root root 127477 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-generic-3.5.4.x64 +-rw-r--r-- 1 root root 132466 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-generic-smp-3.5.4-smp +-rw-r--r-- 1 root root 131752 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-huge-3.5.4 +-rw-r--r-- 1 root root 127451 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-huge-3.5.4.x64 +-rw-r--r-- 1 root root 132440 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-huge-smp-3.5.4-smp +drwxr-xr-x 2 root root 4096 2012-09-19 22:49 ./testing/source/config-testing-3.6-rc4 +-rw-r--r-- 1 root root 132917 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-generic-3.6-rc4 +-rw-r--r-- 1 root root 128757 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-generic-3.6-rc4.x64 +-rw-r--r-- 1 root root 133605 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-generic-smp-3.6-rc4-smp +-rw-r--r-- 1 root root 132891 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-huge-3.6-rc4 +-rw-r--r-- 1 root root 128731 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-huge-3.6-rc4.x64 +-rw-r--r-- 1 root root 133579 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-huge-smp-3.6-rc4-smp +drwxr-xr-x 2 root root 4096 2012-09-21 23:07 ./testing/source/libdrm +-rw-r--r-- 1 root root 400216 2012-08-24 15:08 ./testing/source/libdrm/libdrm-2.4.39.tar.xz +-rwxr-xr-x 1 root root 3555 2012-09-22 00:06 ./testing/source/libdrm/libdrm.SlackBuild +-rw-r--r-- 1 root root 717 2007-02-01 01:33 ./testing/source/libdrm/slack-desc +drwxr-xr-x 2 root root 4096 2012-08-27 16:55 ./testing/source/rp-pppoe +-rw-r--r-- 1 root root 307 2005-09-03 17:27 ./testing/source/rp-pppoe/doinst.sh.gz +-rw-r--r-- 1 root root 177120 2012-08-25 23:38 ./testing/source/rp-pppoe/rp-pppoe-3.11.tar.xz +-rwxr-xr-x 1 root root 2973 2012-08-27 16:56 ./testing/source/rp-pppoe/rp-pppoe.SlackBuild +-rw-r--r-- 1 root root 958 2002-04-15 04:13 ./testing/source/rp-pppoe/slack-desc +drwxr-xr-x 2 root root 4096 2012-09-24 19:17 ./testing/source/xf86-video-ati +-rw-r--r-- 1 root root 887 2012-04-08 04:05 ./testing/source/xf86-video-ati/slack-desc +-rw-r--r-- 1 root root 902960 2012-06-29 13:58 ./testing/source/xf86-video-ati/xf86-video-ati-6.14.6.tar.xz +-rwxr-xr-x 1 root root 4000 2012-09-24 19:22 ./testing/source/xf86-video-ati/xf86-video-ati.SlackBuild +drwxr-xr-x 2 root root 4096 2012-09-24 19:20 ./testing/source/xf86-video-intel +-rw-r--r-- 1 root root 910 2012-04-08 04:09 ./testing/source/xf86-video-intel/slack-desc +-rw-r--r-- 1 root root 1305700 2012-09-16 08:08 ./testing/source/xf86-video-intel/xf86-video-intel-2.20.8.tar.xz +-rwxr-xr-x 1 root root 4002 2012-09-24 19:23 ./testing/source/xf86-video-intel/xf86-video-intel.SlackBuild +drwxr-xr-x 2 root root 4096 2012-09-22 00:06 ./testing/source/xf86-video-nouveau +-rw-r--r-- 1 root root 945 2012-04-08 04:13 ./testing/source/xf86-video-nouveau/slack-desc +-rw-r--r-- 1 root root 474492 2012-09-12 13:51 ./testing/source/xf86-video-nouveau/xf86-video-nouveau-1.0.2.tar.xz +-rwxr-xr-x 1 root root 3998 2012-09-22 00:06 ./testing/source/xf86-video-nouveau/xf86-video-nouveau.SlackBuild +drwxr-xr-x 2 root root 4096 2012-09-24 18:48 ./usb-and-pxe-installers +-rw-r--r-- 1 root root 31203 2011-03-21 21:21 ./usb-and-pxe-installers/README_PXE.TXT +-rw-r--r-- 1 root root 9198 2011-02-17 11:46 ./usb-and-pxe-installers/README_USB.TXT +-rw-r--r-- 1 root root 414 2012-04-07 17:45 ./usb-and-pxe-installers/pxelinux.cfg_default +-rw-r--r-- 1 root root 32683008 2012-09-24 18:43 ./usb-and-pxe-installers/usbboot.img +-rw-r--r-- 1 root root 16894 2012-09-03 20:53 ./usb-and-pxe-installers/usbimg2disk.sh diff --git a/READ_DVD.TXT b/READ_DVD.TXT deleted file mode 100644 index 965e91bf6..000000000 --- a/READ_DVD.TXT +++ /dev/null @@ -1,6532 +0,0 @@ - -Welcome to the Slackware Linux version 14.0 source code DVD. - -Here's a tree showing the contents of this disc. For complete details, -see additional documentation files. - -. -|-- CHECKSUMS.md5 -|-- CHECKSUMS.md5.asc -|-- FILELIST.TXT -|-- READ_DVD.TXT -`-- source - |-- CHECKSUMS.md5 - |-- CHECKSUMS.md5.asc - |-- FILE_LIST - |-- MANIFEST.bz2 - |-- README.TXT - |-- a - | |-- aaa_base - | | |-- _aaa_base.tar.gz - | | |-- aaa_base.SlackBuild - | | |-- os-release - | | |-- slack-desc - | | `-- slackware-version - | |-- aaa_elflibs - | | |-- aaa_elflibs.SlackBuild - | | |-- slack-desc - | | |-- symlinks-to-tracked-libs - | | `-- tracked-files - | |-- aaa_terminfo - | | |-- aaa_terminfo.SlackBuild - | | `-- slack-desc - | |-- acl - | | |-- acl-2.2.51.src.tar.xz - | | |-- acl.SlackBuild - | | |-- acl.destdir.diff.gz - | | `-- slack-desc - | |-- acpid - | | |-- acpi_handler.sh.gz - | | |-- acpid-2.0.16.tar.xz - | | |-- acpid.SlackBuild - | | |-- default.gz - | | |-- doinst.sh.gz - | | |-- rc.acpid.gz - | | `-- slack-desc - | |-- apmd - | | |-- apmd-3.2.2.tar.bz2 - | | |-- apmd.SlackBuild - | | `-- slack-desc - | |-- attr - | | |-- attr-2.4.46.src.tar.xz - | | |-- attr.SlackBuild - | | |-- attr.destdir.diff.gz - | | |-- build - | | `-- slack-desc - | |-- bash - | | |-- bash-4.2-patches - | | | |-- bash42-001 - | | | |-- bash42-001.sig - | | | |-- bash42-002 - | | | |-- bash42-002.sig - | | | |-- bash42-003 - | | | |-- bash42-003.sig - | | | |-- bash42-004 - | | | |-- bash42-004.sig - | | | |-- bash42-005 - | | | |-- bash42-005.sig - | | | |-- bash42-006 - | | | |-- bash42-006.sig - | | | |-- bash42-007 - | | | |-- bash42-007.sig - | | | |-- bash42-008 - | | | |-- bash42-008.sig - | | | |-- bash42-009 - | | | |-- bash42-009.sig - | | | |-- bash42-010 - | | | |-- bash42-010.sig - | | | |-- bash42-011 - | | | |-- bash42-011.sig - | | | |-- bash42-012 - | | | |-- bash42-012.sig - | | | |-- bash42-013 - | | | |-- bash42-013.sig - | | | |-- bash42-014 - | | | |-- bash42-014.sig - | | | |-- bash42-015 - | | | |-- bash42-015.sig - | | | |-- bash42-016 - | | | |-- bash42-016.sig - | | | |-- bash42-017 - | | | |-- bash42-017.sig - | | | |-- bash42-018 - | | | |-- bash42-018.sig - | | | |-- bash42-019 - | | | |-- bash42-019.sig - | | | |-- bash42-020 - | | | |-- bash42-020.sig - | | | |-- bash42-021 - | | | |-- bash42-021.sig - | | | |-- bash42-022 - | | | |-- bash42-022.sig - | | | |-- bash42-023 - | | | |-- bash42-023.sig - | | | |-- bash42-024 - | | | |-- bash42-024.sig - | | | |-- bash42-025 - | | | |-- bash42-025.sig - | | | |-- bash42-026 - | | | |-- bash42-026.sig - | | | |-- bash42-027 - | | | |-- bash42-027.sig - | | | |-- bash42-028 - | | | |-- bash42-028.sig - | | | |-- bash42-029 - | | | |-- bash42-029.sig - | | | |-- bash42-030 - | | | |-- bash42-030.sig - | | | |-- bash42-031 - | | | |-- bash42-031.sig - | | | |-- bash42-032 - | | | |-- bash42-032.sig - | | | |-- bash42-033 - | | | |-- bash42-033.sig - | | | |-- bash42-034 - | | | |-- bash42-034.sig - | | | |-- bash42-035 - | | | |-- bash42-035.sig - | | | |-- bash42-036 - | | | |-- bash42-036.sig - | | | |-- bash42-037 - | | | `-- bash42-037.sig - | | |-- bash-4.2.tar.xz - | | |-- bash.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- bin - | | |-- banners.tar.gz - | | |-- bin.SlackBuild - | | |-- debianutils_2.7.dsc - | | |-- debianutils_2.7.tar.gz - | | |-- fbset-2.1.tar.gz - | | |-- scripts - | | | |-- diskcopy.gz - | | | `-- xx.gz - | | |-- slack-desc - | | `-- todos.tar.gz - | |-- btrfs-progs - | | |-- btrfs-progs-20120821.tar.xz - | | |-- btrfs-progs.SlackBuild - | | |-- fsck.btrfs - | | `-- slack-desc - | |-- bzip2 - | | |-- bzip2-1.0.6.tar.gz - | | |-- bzip2.SlackBuild - | | |-- bzip2.saneso.diff.gz - | | `-- slack-desc - | |-- coreutils - | | |-- DIR_COLORS.gz - | | |-- coreutils-8.19.tar.xz - | | |-- coreutils-8.19.tar.xz.sig - | | |-- coreutils-dircolors.csh.gz - | | |-- coreutils-dircolors.sh.gz - | | |-- coreutils.SlackBuild - | | |-- coreutils.uname.diff.gz - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- cpio - | | |-- cpio-2.11.tar.xz - | | |-- cpio.32bit.crc.diff.gz - | | |-- cpio.SlackBuild - | | `-- slack-desc - | |-- cpufrequtils - | | |-- cpufrequtils-008.tar.bz2 - | | |-- cpufrequtils-008.tar.bz2.sign - | | |-- cpufrequtils.SlackBuild - | | `-- slack-desc - | |-- cryptsetup - | | |-- cryptsetup-1.4.3.tar.bz2 - | | |-- cryptsetup-1.4.3.tar.bz2.asc - | | |-- cryptsetup.SlackBuild - | | `-- slack-desc - | |-- cups - | | |-- cups-1.5.4-source.tar.xz - | | |-- cups-samba-5.0rc3.tar.gz - | | |-- cups-windows-6.0-source.tar.bz2 - | | |-- cups.SlackBuild - | | |-- cups.url - | | |-- doinst.sh.gz - | | |-- slack-desc - | | `-- usb-backend-reset-after-job-only-for-specific-devices.patch.gz - | |-- cxxlibs - | | |-- cxxlibs.SlackBuild - | | |-- slack-desc - | | |-- symlinks-to-tracked-libs - | | `-- symlinks-to-tracked-libs64 - | |-- dbus - | | |-- dbus-1.4.20.tar.xz - | | |-- dbus-1.4.x-allow_root_globally.diff.gz - | | |-- dbus.SlackBuild - | | |-- dbus.set.home.diff.gz - | | |-- doinst.sh.gz - | | |-- rc.messagebus.gz - | | `-- slack-desc - | |-- dcron - | | |-- crontab.c.O_EXCL.diff.gz - | | |-- crontab.root.gz - | | |-- dcron-4.5.tar.gz - | | |-- dcron.SlackBuild - | | |-- defs.h.TMPDIR.diff.gz - | | |-- doinst.sh.gz - | | |-- run-parts.8.gz - | | |-- run-parts.gz - | | `-- slack-desc - | |-- devs - | | |-- _devs.tar.gz - | | |-- devs.SlackBuild - | | |-- makedev.hd.diff.gz - | | |-- makedev_2.3.1-46.2.diff.gz - | | |-- makedev_2.3.1.hd.diff.gz - | | |-- makedev_2.3.1.orig.tar.gz - | | |-- makedev_2.3.1.slack.diff.gz - | | `-- slack-desc - | |-- dialog - | | |-- dialog-1.1-20100428.tar.xz - | | |-- dialog.SlackBuild - | | |-- dialog.smaller.min.height.diff.gz - | | `-- slack-desc - | |-- dosfstools - | | |-- dosfstools-3.0.11.tar.bz2 - | | |-- dosfstools-3.0.11.tar.bz2.sign - | | |-- dosfstools.SlackBuild - | | |-- dosfstools.paths.diff.gz - | | `-- slack-desc - | |-- e2fsprogs - | | |-- doinst.sh.gz - | | |-- e2fsprogs-1.42.6.tar.sign - | | |-- e2fsprogs-1.42.6.tar.xz - | | |-- e2fsprogs.SlackBuild - | | `-- slack-desc - | |-- ed - | | |-- ed-1.6.tar.xz - | | |-- ed.SlackBuild - | | `-- slack-desc - | |-- eject - | | |-- eject-2.1.5.tar.bz2 - | | |-- eject.SlackBuild - | | |-- eject.spaces.diff.gz - | | |-- eject_for_mac.patch.gz - | | `-- slack-desc - | |-- elvis - | | |-- elvis-2.2_0.tar.bz2 - | | |-- elvis.SlackBuild - | | |-- elvis.clr - | | |-- elvis.clr.orig - | | |-- elvis.ref.c.getline.diff.gz - | | `-- slack-desc - | |-- etc - | | |-- _etc.tar.gz - | | |-- etc.SlackBuild - | | |-- nsswitch.conf.gz - | | |-- slack-desc - | | `-- termcap-BSD.gz - | |-- file - | | |-- file-5.11.tar.xz - | | |-- file.SlackBuild - | | |-- file.crdaregbin.magic.gz - | | |-- file.etc.file.diff.gz - | | |-- file.quiet.diff.gz - | | |-- file.short.diff.gz - | | |-- file.xz.magic.gz - | | |-- file.zisofs.magic.gz - | | `-- slack-desc - | |-- findutils - | | |-- findutils-4.4.2.tar.xz - | | |-- findutils.SlackBuild - | | |-- findutils.no.default.options.warnings.diff.gz - | | |-- findutils.nolocate.diff.gz - | | `-- slack-desc - | |-- floppy - | | |-- fdutils-5.4-20020222.diff.gz - | | |-- fdutils-5.4.tar.gz - | | |-- fdutils.mediaprm.diff.gz - | | |-- floppy.SlackBuild - | | |-- mediaprm - | | |-- mtools-3.9.8.tar.gz - | | |-- mtools.conf - | | `-- slack-desc - | |-- gawk - | | |-- gawk-3.1.8.tar.xz - | | |-- gawk.SlackBuild - | | `-- slack-desc - | |-- genpower - | | |-- genpower-1.0.5.tar.gz - | | |-- genpower.SlackBuild - | | |-- genpower.halt.diff.gz - | | |-- genpower.var.diff.gz - | | `-- slack-desc - | |-- gettext - | | |-- gettext-0.18.1.1.tar.bz2 - | | |-- gettext-tools.SlackBuild - | | |-- gettext.SlackBuild - | | |-- slack-desc - | | `-- slack-desc.gettext-tools - | |-- getty-ps - | | |-- getty-ps.SlackBuild - | | |-- getty.bugfixes.diff.gz - | | |-- getty_ps-2.1.0.lsm - | | |-- getty_ps-2.1.0b.tar.gz - | | `-- slack-desc - | |-- gpm - | | |-- gpm-1.20.1-consolename.patch.gz - | | |-- gpm-1.20.1-gpmopen.patch.gz - | | |-- gpm-1.20.1-idie.patch.gz - | | |-- gpm-1.20.1-input-defines.diff.gz - | | |-- gpm-1.20.1-input.patch.gz - | | |-- gpm-1.20.1-lib-silent.patch.gz - | | |-- gpm-1.20.1-math.patch.gz - | | |-- gpm-1.20.1-multilib.patch.gz - | | |-- gpm-1.20.1-no-console-error.patch.gz - | | |-- gpm-1.20.1-nodebug.patch.gz - | | |-- gpm-1.20.1-subscript.patch.gz - | | |-- gpm-1.20.1-weak-wgetch.patch.gz - | | |-- gpm-1.20.1.send-noise-to-syslogs.diff.gz - | | |-- gpm-1.20.1.tar.bz2 - | | |-- gpm-evdev-cumulative.patch.gz - | | |-- gpm.SlackBuild - | | |-- gpm.evdevmakefile.patch.gz - | | |-- inputattach.c.gz - | | |-- mouseconfig.gz - | | |-- setup.mouse.gz - | | `-- slack-desc - | |-- gptfdisk - | | |-- gptfdisk-0.8.5.tar.xz - | | |-- gptfdisk.SlackBuild - | | |-- gptfdisk.remove.icu4c.dep.diff.gz - | | `-- slack-desc - | |-- grep - | | |-- grep-2.14.tar.xz - | | |-- grep-2.14.tar.xz.sig - | | |-- grep.SlackBuild - | | `-- slack-desc - | |-- gzip - | | |-- gzip-1.5.tar.xz - | | |-- gzip-1.5.tar.xz.sig - | | |-- gzip.SlackBuild - | | `-- slack-desc - | |-- hdparm - | | |-- hdparm-9.37.tar.gz - | | |-- hdparm.SlackBuild - | | `-- slack-desc - | |-- infozip - | | |-- infozip.SlackBuild - | | |-- slack-desc - | | |-- unzip60.tar.xz - | | `-- zip30.tar.xz - | |-- inotify-tools - | | |-- inotify-tools-3.14.tar.xz - | | |-- inotify-tools.SlackBuild - | | `-- slack-desc - | |-- isapnptools - | | |-- isapnptools-1.26.lsm - | | |-- isapnptools-1.26.tar.xz - | | |-- isapnptools.SlackBuild - | | |-- isapnptools.url - | | |-- isapnptools_1.26-5.diff.gz - | | `-- slack-desc - | |-- jfsutils - | | |-- jfsutils-1.1.15.tar.xz - | | |-- jfsutils.SlackBuild - | | `-- slack-desc - | |-- kbd - | | |-- kbd.SlackBuild - | | |-- setconsolefont - | | |-- setup.setconsolefont - | | |-- slack-desc - | | `-- sources - | | |-- extraf.tgz - | | |-- kbd-1.15-keycodes-man.patch.gz - | | |-- kbd-1.15-resizecon-x86_64.patch.gz - | | |-- kbd-1.15-unicode_start.patch.gz - | | |-- kbd-1.15.2-po.patch.gz - | | |-- kbd-1.15.3-fix-es-translation.patch.gz - | | |-- kbd-1.15.3.tar.xz - | | |-- kbd-latarcyrheb-16-fixed.tar.bz2 - | | |-- kbd-latsun-fonts.tar.bz2 - | | |-- nl.euro.diff.gz - | | |-- ro_maps.tar.bz2 - | | |-- speakup-jfw.tar.gz - | | `-- speakupmap.map.gz - | |-- kernel-firmware - | | |-- kernel-firmware.SlackBuild - | | `-- slack-desc - | |-- kmod - | | |-- kmod-9.tar.xz - | | |-- kmod.SlackBuild - | | `-- slack-desc - | |-- less - | | |-- less-451.tar.xz - | | |-- less.SlackBuild - | | |-- less.sysconfdir.diff.gz - | | |-- lesspipe.sh.gz - | | `-- slack-desc - | |-- lha - | | |-- lha-114i.tar.gz - | | |-- lha.SlackBuild - | | |-- lha_1.14i-10.1.diff.gz - | | `-- slack-desc - | |-- libcgroup - | | |-- doinst.sh.gz - | | |-- libcgroup-0.38.tar.xz - | | |-- libcgroup.SlackBuild - | | |-- libcgroup.conf.diff.gz - | | |-- libcgroup.init.diff.gz - | | `-- slack-desc - | |-- lilo - | | |-- lilo-23.2.tar.gz - | | |-- lilo-23.2.tar.gz.asc - | | |-- lilo.SlackBuild - | | |-- lilo.use_major_minor_instead_lvm_name.diff.gz - | | |-- liloconfig - | | |-- setup.liloconfig - | | |-- sl1337.bmp - | | |-- slack-desc - | | |-- slack.bmp - | | |-- slack.dat - | | |-- slack14.0.2012.bmp - | | |-- slack64.bmp - | | `-- text.lilohelp - | |-- logrotate - | | |-- doinst.sh.gz - | | |-- logrotate-3.8.2.tar.xz - | | |-- logrotate.SlackBuild - | | |-- logrotate.conf.gz - | | |-- logrotate.cron.gz - | | |-- logrotate.slackware.diff.gz - | | `-- slack-desc - | |-- lrzip - | | |-- doinst.sh.gz - | | |-- lrzip-0.602.tar.xz - | | |-- lrzip.SlackBuild - | | `-- slack-desc - | |-- lvm2 - | | |-- LVM2.2.02.96.tar.xz - | | |-- doinst.sh.gz - | | |-- fix-build-with-udev-183.patch.gz - | | |-- lvm2.SlackBuild - | | `-- slack-desc - | |-- mcelog - | | |-- doinst.sh.gz - | | |-- mcelog-1.0pre3.tar.bz2 - | | |-- mcelog-1.0pre3.tar.bz2.sign - | | |-- mcelog.SlackBuild - | | |-- mcelog.init.diff.gz - | | `-- slack-desc - | |-- mdadm - | | |-- doinst.sh.gz - | | |-- mdadm-3.2.5.tar.xz - | | |-- mdadm.SlackBuild - | | `-- slack-desc - | |-- minicom - | | |-- config.sub-x86_64.diff.gz - | | |-- doinst.sh.gz - | | |-- lrzsz_0.12.21-5.diff.gz - | | |-- lrzsz_0.12.21.orig.tar.gz - | | |-- minicom-2.6.tar.xz - | | |-- minicom.SlackBuild - | | |-- minicom.users.gz - | | `-- slack-desc - | |-- mkinitrd - | | |-- README.initrd - | | |-- _initrd-tree.tar.gz - | | |-- busybox-1.20.1.tar.xz - | | |-- busybox-dot-config -> busybox-dot-config.1.20.x - | | |-- busybox-dot-config.1.15.x - | | |-- busybox-dot-config.1.17.x - | | |-- busybox-dot-config.1.18.x - | | |-- busybox-dot-config.1.19.x - | | |-- busybox-dot-config.1.20.x - | | |-- fixes-1.20.1 - | | | |-- busybox-1.20.1-ash.patch - | | | |-- busybox-1.20.1-ifupdown.patch - | | | |-- busybox-1.20.1-man.patch - | | | `-- busybox-1.20.1-tar.patch - | | |-- init - | | |-- keymaps.tar.gz - | | |-- mkinitrd - | | |-- mkinitrd.8 - | | |-- mkinitrd.SlackBuild - | | |-- mkinitrd.conf.5 - | | |-- mkinitrd.conf.sample - | | |-- mkinitrd_command_generator.sh - | | `-- slack-desc - | |-- mt-st - | | |-- _mt-st.tar.gz - | | |-- mt-st-0.9b.tar.gz - | | |-- mt-st.SlackBuild - | | |-- mt-st.config.diff.gz - | | |-- mt-st.man.diff.gz - | | |-- mt-st.sdlt.diff.gz - | | `-- slack-desc - | |-- mtx - | | |-- mtx-1.3.12.tar.gz - | | |-- mtx.SlackBuild - | | `-- slack-desc - | |-- ncompress - | | |-- ncompress-4.2.4.3.tar.gz - | | |-- ncompress.SlackBuild - | | `-- slack-desc - | |-- ntfs-3g - | | |-- 10-ntfs-3g-policy.fdi - | | |-- 99-ntfs-3g.rules - | | |-- ntfs-3g.SlackBuild - | | |-- ntfs-3g_ntfsprogs-2012.1.15.tar.xz - | | `-- slack-desc - | |-- patch - | | |-- patch-2.7.tar.xz - | | |-- patch-2.7.tar.xz.sig - | | |-- patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff.gz - | | |-- patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff.gz - | | |-- patch.SlackBuild - | | `-- slack-desc - | |-- pciutils - | | |-- pciutils-3.1.9.tar.xz - | | |-- pciutils.SlackBuild - | | |-- pciutils.dontcompress.diff.gz - | | |-- pciutils.update.pci.ids.url.diff.gz - | | |-- pciutils.url - | | `-- slack-desc - | |-- pcmciautils - | | |-- cis-cs-3.2.8.tar.gz - | | |-- config - | | | |-- 60-pcmcia.rules - | | | |-- config.opts - | | | `-- rc.pcmcia - | | |-- doinst.sh.gz - | | |-- pcmciautils-017.tar.bz2 - | | |-- pcmciautils-017.tar.sign - | | |-- pcmciautils.SlackBuild - | | `-- slack-desc - | |-- pkgtools - | | |-- manpages - | | | |-- explodepkg.8 - | | | |-- installpkg.8 - | | | |-- makepkg.8 - | | | |-- pkgtool.8 - | | | |-- removepkg.8 - | | | |-- setup.8-deprecated - | | | `-- upgradepkg.8 - | | |-- obsolete-scripts - | | | |-- README - | | | `-- setup.90.modem-device - | | |-- pkgtools.SlackBuild - | | |-- scripts - | | | |-- explodepkg - | | | |-- installpkg - | | | |-- makebootdisk - | | | |-- makepkg - | | | |-- pkgtool - | | | |-- removepkg - | | | |-- setup.70.install-kernel - | | | |-- setup.80.make-bootdisk - | | | |-- setup.htmlview - | | | |-- setup.services - | | | `-- upgradepkg - | | `-- slack-desc - | |-- procps - | | |-- procinfo-18.tar.gz - | | |-- procinfo.gcc3.diff.gz - | | |-- procinfo.lsm - | | |-- procps-3.2.7-ps-cgroup.patch.gz - | | |-- procps-3.2.7-ps-eip64.diff.gz - | | |-- procps-3.2.8-ps-cgroup-suppress-root-group.patch.gz - | | |-- procps-3.2.8.tar.xz - | | |-- procps-3.2.8.unknown.hz.value.diff.gz - | | |-- procps.SlackBuild - | | |-- procps.nowarning.diff.gz - | | |-- procps.w.showfrom.diff.gz - | | |-- psmisc-22.13.tar.xz - | | `-- slack-desc - | |-- quota - | | |-- quota-3.17.tar.xz - | | |-- quota.SlackBuild - | | `-- slack-desc - | |-- reiserfsprogs - | | |-- reiserfsprogs-3.6.21.tar.bz2 - | | |-- reiserfsprogs.SlackBuild - | | `-- slack-desc - | |-- rpm2tgz - | | |-- getrpmtype.tar.gz - | | |-- patches - | | | |-- 0001-fix-d-handling.patch.gz - | | | |-- 0002-fix-spurious-path-to-rpm-file-with-n-option.patch.gz - | | | |-- 0003-allow-every-user-to-use-rpm2tgz.patch.gz - | | | |-- 0004-produce-more-compliant-slack-desc.patch.gz - | | | |-- 0005-gzip-man-info-pages.patch.gz - | | | |-- 0006-should-we-use-.txz-format-in-slackware-current.patch.gz - | | | |-- 0007-Add-support-for-.txz-packages-and-rpm2txz-symlink.patch.gz - | | | |-- 0008-Avoid-none-values-in-slack-desc.patch.gz - | | | `-- 0009-Add-c-option-just-as-makepkg-c-y.patch.gz - | | |-- rpm2targz - | | |-- rpm2targz.README - | | |-- rpm2tgz.SlackBuild - | | |-- rpmoffset.c - | | `-- slack-desc - | |-- sdparm - | | |-- sdparm-1.07.tar.xz - | | |-- sdparm.SlackBuild - | | `-- slack-desc - | |-- sed - | | |-- sed-4.2.1.tar.xz - | | |-- sed.SlackBuild - | | `-- slack-desc - | |-- shadow - | | |-- adduser - | | |-- doinst.sh.gz - | | |-- login.defs.gz - | | |-- patches - | | | |-- README_PATCHES - | | | |-- r3054.diff.gz - | | | |-- r3055.diff.gz - | | | |-- r3060.diff.gz - | | | |-- r3062.diff.gz - | | | |-- r3090.diff.gz - | | | |-- r3096.diff.gz - | | | |-- r3160.diff.gz - | | | |-- r3194.diff.gz - | | | `-- unused - | | | `-- r3299.diff.gz - | | |-- shadow-4.1.4.3.tar.xz - | | |-- shadow.SlackBuild - | | |-- shadow.man.nodups.diff.gz - | | |-- shadow.url - | | |-- slack-desc - | | `-- useradd.gz - | |-- sharutils - | | |-- sharutils-4.11.tar.xz - | | |-- sharutils.SlackBuild - | | `-- slack-desc - | |-- slocate - | | |-- _slocate.tar.gz - | | |-- slack-desc - | | |-- slocate-3.1.tar.gz - | | |-- slocate-3.1.tar.gz.sign - | | |-- slocate.CVE-2007-0277.diff.gz - | | |-- slocate.SlackBuild - | | `-- slocate.bigfile.diff.gz - | |-- smartmontools - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- smartmontools-5.43.tar.xz - | | `-- smartmontools.SlackBuild - | |-- splitvt - | | |-- slack-desc - | | |-- splitvt-1.6.5.tar.gz - | | |-- splitvt.SlackBuild - | | `-- splitvt_1.6.5-9.diff.gz - | |-- sysfsutils - | | |-- slack-desc - | | |-- sysfsutils-2.1.0.tar.bz2 - | | `-- sysfsutils.SlackBuild - | |-- sysklogd - | | |-- config - | | | |-- rc.syslog.new - | | | |-- syslog.conf.new - | | | `-- syslog.logrotate - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- sysklogd-1.5.tar.gz - | | |-- sysklogd.SlackBuild - | | `-- use_memmove_not_strcpy.diff.gz - | |-- syslinux - | | |-- slack-desc - | | |-- syslinux-4.05.tar.sign - | | |-- syslinux-4.05.tar.xz - | | |-- syslinux.SlackBuild - | | `-- syslinux.altmbr.diff.gz - | |-- sysvinit - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- sysvinit-2.88dsf.tar.xz - | | |-- sysvinit.SlackBuild - | | `-- sysvinit.paths.diff.gz - | |-- sysvinit-functions - | | |-- README.functions - | | |-- doinst.sh.gz - | | |-- function-src-8.53.tar.bz2 - | | |-- functions - | | |-- slack-desc - | | `-- sysvinit-functions.SlackBuild - | |-- sysvinit-scripts - | | |-- doinst.sh.gz - | | |-- scripts - | | | |-- fetch-rescan-scsi-bus.sh - | | | |-- inittab - | | | |-- rc.4 - | | | |-- rc.6 - | | | |-- rc.K - | | | |-- rc.M - | | | |-- rc.S - | | | |-- rc.local - | | | |-- rc.loop - | | | |-- rc.sysvinit - | | | |-- rescan-scsi-bus.sh - | | | `-- rescan-scsi-bus.sh.diff - | | |-- slack-desc - | | `-- sysvinit-scripts.SlackBuild - | |-- tar - | | |-- rmt.8.gz - | | |-- slack-desc - | | |-- tar-1.13.bzip2.diff.gz - | | |-- tar-1.13.tar.gz - | | |-- tar-1.26.tar.xz - | | |-- tar-1.26.tar.xz.sig - | | |-- tar-1.2x.support_txz.diff.gz - | | |-- tar.1.gz - | | |-- tar.SlackBuild - | | |-- tar.nolonezero.diff.gz - | | `-- tar.norecordsizespam.diff.gz - | |-- tcsh - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- tcsh-6.18.01.tar.xz - | | |-- tcsh.SlackBuild - | | `-- tcsh.nobuiltincolorls.diff.gz - | |-- time - | | |-- slack-desc - | | |-- time-1.7.tar.gz - | | `-- time.SlackBuild - | |-- tree - | | |-- slack-desc - | | |-- tree-1.6.0.tar.bz2 - | | `-- tree.SlackBuild - | |-- udev - | | |-- config - | | | |-- modprobe.d - | | | | |-- 8139cp.conf - | | | | |-- README - | | | | |-- bcm43xx.conf - | | | | |-- eepro100.conf - | | | | |-- eth1394.conf - | | | | |-- evbug.conf - | | | | |-- framebuffers.conf - | | | | |-- hostap.conf - | | | | |-- hw_random.conf - | | | | |-- isapnp.conf - | | | | |-- isdn.conf - | | | | |-- oss.conf - | | | | |-- pcspkr.conf - | | | | |-- psmouse.conf - | | | | |-- scsi-sata-controllers.conf - | | | | |-- sound-modems.conf - | | | | |-- tulip.conf - | | | | |-- usb-controller.conf - | | | | |-- via-ircc.conf - | | | | `-- watchdog.conf - | | | |-- rc.d - | | | | `-- rc.udev.new - | | | |-- rules.d - | | | | |-- 40-slackware.rules - | | | | |-- 59-non-libata-devices.rules - | | | | `-- 65-permissions.rules - | | | `-- udev.conf - | | |-- doinst.sh.gz - | | |-- fix-42-usb-hid-pm.rules.diff.gz - | | |-- rule_generator.diff.gz - | | |-- slack-desc - | | |-- udev-182.tar.xz - | | |-- udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch.gz - | | |-- udev-fixed-devices.tar.gz - | | `-- udev.SlackBuild - | |-- udisks - | | |-- slack-desc - | | |-- udisks-1.0.4.tar.xz - | | |-- udisks.SlackBuild - | | `-- udisks.url - | |-- udisks2 - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- udisks-1.98.0.tar.xz - | | `-- udisks2.SlackBuild - | |-- unarj - | | |-- Makefile.gz - | | |-- slack-desc - | | |-- unarj.SlackBuild - | | `-- unarj265.tar.gz - | |-- upower - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- upower-0.9.17.tar.xz - | | |-- upower.SlackBuild - | | `-- upower.url - | |-- usb_modeswitch - | | |-- device_reference.txt.gz - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- usb-modeswitch-1.2.4.tar.bz2 - | | |-- usb-modeswitch-data-20120812.tar.bz2 - | | `-- usb_modeswitch.SlackBuild - | |-- usbutils - | | |-- slack-desc - | | |-- usbutils-006.tar.xz - | | |-- usbutils.SlackBuild - | | `-- usbutils.url - | |-- utempter - | | |-- doinst.sh.gz - | | |-- libutempter-1.1.5.tar.bz2 - | | |-- libutempter-1.1.5.tar.bz2.asc - | | |-- slack-desc - | | `-- utempter.SlackBuild - | |-- util-linux - | | |-- 0001-mount-old-fix-encryption-usage.patch.gz - | | |-- 0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch.gz - | | |-- adjtimex_1.29-2.2.diff.gz - | | |-- adjtimex_1.29.orig.tar.gz - | | |-- bsdstrings.tar.gz - | | |-- column-fix_long_opts.diff.gz - | | |-- doinst.sh.gz - | | |-- net-tools-1.60.20120726git.tar.xz - | | |-- net-tools.config.h.gz - | | |-- scsi_ioctl.h - | | |-- setserial-2.17.tar.gz - | | |-- setserial-rc.serial.diff.gz - | | |-- setserial-undef_TIOCGHAYESESP.diff.gz - | | |-- slack-desc - | | |-- util-linux-2.21.2.tar.xz - | | |-- util-linux.SlackBuild - | | |-- util-linux.fdisk-no-solaris.diff.gz - | | |-- ziptool-1.4.0.tar.xz - | | `-- ziptool-fix_build.patch.gz - | |-- which - | | |-- slack-desc - | | |-- which-2.20.tar.gz - | | |-- which-2.20.tar.gz.sig - | | `-- which.SlackBuild - | |-- xfsprogs - | | |-- slack-desc - | | |-- xfsprogs-3.1.8.tar.xz - | | `-- xfsprogs.SlackBuild - | |-- xz - | | |-- slack-desc - | | |-- xz-5.0.4.tar.bz2 - | | |-- xz-5.0.4.tar.bz2.sig - | | `-- xz.SlackBuild - | `-- zoo - | |-- slack-desc - | |-- zoo-2.10.tar.gz - | |-- zoo.SlackBuild - | `-- zoo_2.10-22.debian.tar.gz - |-- ap - | |-- a2ps - | | |-- a2ps-4.14.tar.bz2 - | | |-- a2ps.SlackBuild - | | |-- a2ps.a2ps_cfg.in.diff.gz - | | |-- a2ps.diff.gz - | | |-- psutils-1.17.tar.gz - | | |-- psutils.destdir.diff.gz - | | |-- psutils.diff.gz - | | `-- slack-desc - | |-- acct - | | |-- acct-6.5.4.tar.xz - | | |-- acct.SlackBuild - | | |-- acct.logdir.fhs.diff.gz - | | `-- slack-desc - | |-- alsa-utils - | | |-- alsa-utils-1.0.26.tar.xz - | | |-- alsa-utils.SlackBuild - | | |-- alsa-utils.alsaconf.diff.gz - | | |-- doinst.sh.gz - | | |-- rc.alsa.gz - | | `-- slack-desc - | |-- amp - | | |-- _amp.tar.gz - | | |-- amp-0.7.6.tar.gz - | | |-- amp-gcc34.diff.gz - | | |-- amp.SlackBuild - | | |-- license_excerpts - | | `-- slack-desc - | |-- ash - | | |-- ash-0.4.0.tar.gz - | | |-- ash.SlackBuild - | | |-- patches - | | | |-- ash-builtin.patch.gz - | | | |-- ash-debian.patch.gz - | | | |-- ash-echo.patch.gz - | | | |-- ash-freebsd.patch.gz - | | | |-- ash-getcwd.patch.gz - | | | |-- ash-getopt.patch.gz - | | | |-- ash-glob.patch.gz - | | | |-- ash-hetio.patch.gz - | | | |-- ash-jobs.patch.gz - | | | |-- ash-kill.patch.gz - | | | |-- ash-makefile.patch.gz - | | | |-- ash-manpage.patch.gz - | | | |-- ash-memout.patch.gz - | | | |-- ash-misc.patch.gz - | | | |-- ash-ppid.patch.gz - | | | |-- ash-redir.patch.gz - | | | |-- ash-setmode.patch.gz - | | | |-- ash-sighup.patch.gz - | | | |-- ash-syntax.patch.gz - | | | |-- ash-test.patch.gz - | | | `-- ash-times.patch.gz - | | `-- slack-desc - | |-- at - | | |-- at-3.1.12.tar.xz - | | |-- at.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- aumix - | | |-- aumix-2.9.1.tar.xz - | | |-- aumix.SlackBuild - | | `-- slack-desc - | |-- bc - | | |-- bc-1.06.95.tar.bz2 - | | |-- bc-1.06.95.tar.bz2.sig - | | |-- bc.SlackBuild - | | `-- slack-desc - | |-- bpe - | | |-- bpe-2.01.00.tar.gz - | | |-- bpe.SlackBuild - | | `-- slack-desc - | |-- cdparanoia - | | |-- cdparanoia-III-10.2.src.tar.gz - | | |-- cdparanoia-III-10.2_cdda_private.patch.gz - | | |-- cdparanoia.SlackBuild - | | `-- slack-desc - | |-- cdrdao - | | |-- cdrdao-1.2.3-stat.patch.gz - | | |-- cdrdao-1.2.3.tar.xz - | | |-- cdrdao.SlackBuild - | | `-- slack-desc - | |-- cdrtools - | | |-- cdrtools-3.01a08.tar.xz - | | |-- cdrtools.SlackBuild - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- zisofs-tools-1.0.8.tar.bz2 - | | `-- zisofs-tools-1.0.8.tar.bz2.sign - | |-- dc3dd - | | |-- dc3dd-6.12.3.tar.xz - | | |-- dc3dd.SlackBuild - | | `-- slack-desc - | |-- ddrescue - | | |-- ddrescue-1.16.tar.xz - | | |-- ddrescue.SlackBuild - | | `-- slack-desc - | |-- diffstat - | | |-- diffstat-1.53.tar.xz - | | |-- diffstat.SlackBuild - | | `-- slack-desc - | |-- diffutils - | | |-- diffutils-3.2.tar.xz - | | |-- diffutils-sdiff-no-waitpid.patch.gz - | | |-- diffutils.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dmapi - | | |-- dmapi-2.2.10.tar.xz - | | |-- dmapi.SlackBuild - | | |-- dmapi.destdir.diff.gz - | | `-- slack-desc - | |-- dmidecode - | | |-- dmidecode-2.11.tar.bz2 - | | |-- dmidecode-2.11.tar.bz2.sig - | | |-- dmidecode.SlackBuild - | | |-- dmidecode.makefile.diff.gz - | | `-- slack-desc - | |-- dvd+rw-tools - | | |-- dvd+rw-tools-7.1.tar.gz - | | |-- dvd+rw-tools.SlackBuild - | | |-- dvd+rw-tools.limits.h.diff.gz - | | |-- dvd+rw-tools.url - | | `-- slack-desc - | |-- enscript - | | |-- enscript-1.6.5.2.tar.xz - | | |-- enscript.SlackBuild - | | `-- slack-desc - | |-- flac - | | |-- flac-1.2.1.tar.xz - | | |-- flac.SlackBuild - | | |-- flac.gcc45.diff.gz - | | |-- flac.man.diff.gz - | | `-- slack-desc - | |-- foomatic-filters - | | |-- doinst.sh.gz - | | |-- foomatic-filters-4.0.12.tar.xz - | | |-- foomatic-filters.SlackBuild - | | `-- slack-desc - | |-- ghostscript - | | |-- cidfmap.gz - | | |-- ghostscript-9.05.tar.xz - | | |-- ghostscript.SlackBuild - | | `-- slack-desc - | |-- ghostscript-fonts-std - | | |-- doinst.sh.gz - | | |-- ghostscript-fonts-std-8.11.tar.bz2 - | | |-- ghostscript-fonts-std.SlackBuild - | | `-- slack-desc - | |-- gphoto2 - | | |-- gphoto2-2.4.14.tar.xz - | | |-- gphoto2.SlackBuild - | | `-- slack-desc - | |-- groff - | | |-- groff-1.21.tar.xz - | | |-- groff.SlackBuild - | | |-- groff.man.mdoc.local.gz - | | `-- slack-desc - | |-- gutenprint - | | |-- gutenprint-5.2.9.tar.xz - | | |-- gutenprint.SlackBuild - | | `-- slack-desc - | |-- hplip - | | |-- doinst.sh.gz - | | |-- hplip-3.12.9.tar.xz - | | |-- hplip.SlackBuild - | | `-- slack-desc - | |-- htop - | | |-- htop-1.0.1.tar.xz - | | |-- htop.SlackBuild - | | `-- slack-desc - | |-- ispell - | | |-- ispell-3.2.06.tar.gz - | | |-- ispell.SlackBuild - | | |-- ispell.diff.gz - | | `-- slack-desc - | |-- jed - | | |-- jed-0.99-19.tar.bz2 - | | |-- jed-0.99-19.tar.bz2.asc - | | |-- jed.SlackBuild - | | `-- slack-desc - | |-- joe - | | |-- joe-3.7.tar.xz - | | |-- joe.SlackBuild - | | `-- slack-desc - | |-- jove - | | |-- jove.SlackBuild - | | |-- jove.makefile.diff.gz - | | |-- jove4.16.0.73.tar.xz - | | `-- slack-desc - | |-- ksh93 - | | |-- CPL - | | |-- INIT.2010-06-21.tgz - | | |-- ast-ksh-locale.2010-02-02.tgz - | | |-- ast-ksh.2010-06-21.tgz - | | |-- ksh93.SlackBuild - | | `-- slack-desc - | |-- libx86 - | | |-- libx86-1.1.tar.gz - | | |-- libx86.SlackBuild - | | |-- libx86.info - | | |-- lrmi.c.diff.gz - | | `-- slack-desc - | |-- linuxdoc-tools - | | |-- ChangeLog.txt - | | |-- arm - | | | `-- build - | | |-- linuxdoc-tools.SlackBuild - | | |-- linuxdoc-tools.build - | | |-- postbuildfixes.sh - | | |-- slack-desc - | | |-- sources - | | | |-- asciidoc-8.6.7.tar.xz - | | | |-- docbook-dsssl-1.79.tar.xz - | | | |-- docbook-dsssl-doc-1.79.tar.xz - | | | |-- docbook-style-xsl-1.76.1-5.fc17.src.rpm - | | | |-- docbook-utils-0.6.14-30.fc17.src.rpm - | | | |-- docbook-xml-4.5.zip - | | | |-- docbook_4.5.orig.tar.xz - | | | |-- gnome-doc-utils-0.20.10.tar.xz - | | | |-- gtk-doc-1.18.tar.xz - | | | |-- libsgmls-perl_1.03ii-32.diff.xz - | | | |-- libsgmls-perl_1.03ii.orig.tar.xz - | | | |-- linuxdoc-tools-0.9.67-1.fc18.src.rpm - | | | |-- openjade-1.3-getopts.pl.xz - | | | |-- openjade-1.3.2-gcc46.patch.xz - | | | |-- openjade-1.3.3-pre1.tar.xz - | | | |-- opensp-1.5.2-14.fc17.src.rpm - | | | |-- sgml-common-0.6.3-36.fc17.src.rpm - | | | |-- source.download - | | | `-- xmlto-0.0.25.tar.xz - | | `-- trackbuild.linuxdoc-tools - | |-- lm_sensors - | | |-- lm_sensors-3.3.2.tar.bz2 - | | |-- lm_sensors-3.3.2.tar.bz2.sig - | | |-- lm_sensors.SlackBuild - | | |-- lm_sensors.makefile.diff.gz - | | `-- slack-desc - | |-- lsof - | | |-- lsof.SlackBuild - | | |-- lsof_4.83.tar.bz2 - | | |-- lsof_4.83.tar.bz2.sig - | | `-- slack-desc - | |-- lsscsi - | | |-- lsscsi-0.26.tar.xz - | | |-- lsscsi.SlackBuild - | | |-- lsscsi.url - | | `-- slack-desc - | |-- lxc - | | |-- lxc-0.7.5.tar.xz - | | |-- lxc.SlackBuild - | | `-- slack-desc - | |-- madplay - | | |-- madplay-0.15.2b-fix-segfault.patch.gz - | | |-- madplay-0.15.2b.tar.xz - | | |-- madplay.SlackBuild - | | `-- slack-desc - | |-- man - | | |-- doinst.sh.gz - | | |-- man-1.6f.nroff.mandoc.diff.gz - | | |-- man-1.6g.tar.xz - | | |-- man.SlackBuild - | | `-- slack-desc - | |-- man-pages - | | |-- doinst.sh.gz - | | |-- man-pages-3.41.tar.xz - | | |-- man-pages-posix-2003-a.tar.bz2 - | | |-- man-pages.SlackBuild - | | |-- slack-desc - | | `-- whatis.sample.xz - | |-- mc - | | |-- mc-4.8.4.tar.xz - | | |-- mc.SlackBuild - | | |-- mc.image.sh.geeqie.diff.gz - | | |-- mc.save.file.diff.gz - | | |-- profile.d - | | | |-- mc-wrapper.csh - | | | |-- mc-wrapper.sh - | | | |-- mc.csh - | | | `-- mc.sh - | | `-- slack-desc - | |-- moc - | | |-- moc-2.5.0-alpha4.tar.xz - | | |-- moc.SlackBuild - | | `-- slack-desc - | |-- most - | | |-- most-5.0.0a.tar.bz2 - | | |-- most.SlackBuild - | | `-- slack-desc - | |-- mpg123 - | | |-- mpg123-1.14.4.tar.xz - | | |-- mpg123.SlackBuild - | | `-- slack-desc - | |-- mysql - | | |-- README.mysql-embedded - | | |-- doinst.sh.gz - | | |-- mirror-url - | | |-- mysql-5.5.27.tar.xz - | | |-- mysql-embedded.SlackBuild - | | |-- mysql.SlackBuild - | | |-- rc.mysqld.gz - | | `-- slack-desc - | |-- nano - | | |-- doinst.sh.gz - | | |-- nano-2.3.1.tar.xz - | | |-- nano.SlackBuild - | | `-- slack-desc - | |-- normalize - | | |-- normalize-0.7.7.tar.bz2 - | | |-- normalize.SlackBuild - | | `-- slack-desc - | |-- pm-utils - | | |-- 49bluetooth-generic - | | |-- README.SLACKWARE - | | |-- fix-wrong-path-in-intel-audio-powersave.patch.gz - | | |-- pm-quirks-20100619.tar.gz - | | |-- pm-utils-1.4.1.tar.gz - | | |-- pm-utils.SlackBuild - | | |-- pm-utils.url - | | |-- slack-desc - | | `-- use_more_sane_harddrive_defaults.patch.gz - | |-- powertop - | | |-- powertop-2.1.tar.xz - | | |-- powertop.SlackBuild - | | `-- slack-desc - | |-- radeontool - | | |-- radeontool-1.6.1.tar.bz2 - | | |-- radeontool.SlackBuild - | | `-- slack-desc - | |-- rexima - | | |-- rexima-1.4.tar.gz - | | |-- rexima.SlackBuild - | | `-- slack-desc - | |-- rpm - | | |-- Packages.gz - | | |-- doinst.sh.gz - | | |-- rpm-4.10.0.tar.xz - | | |-- rpm.SlackBuild - | | `-- slack-desc - | |-- rzip - | | |-- rzip-2.1.tar.gz - | | |-- rzip.SlackBuild - | | `-- slack-desc - | |-- sc - | | |-- _sc.tar.gz - | | |-- sc-7.16-3.diff.gz - | | |-- sc-7.16.lsm - | | |-- sc-7.16.tar.gz - | | |-- sc.SlackBuild - | | `-- slack-desc - | |-- screen - | | |-- screen-4.0.3.tar.bz2 - | | |-- screen.SlackBuild - | | |-- screen.d_termname.envterm.buffersizeincrease.diff.gz - | | `-- slack-desc - | |-- seejpeg - | | |-- _seejpeg.tar.gz - | | |-- libjpeg-6a.tar.gz - | | |-- seejpeg-1.10.diff.gz - | | |-- seejpeg-1.10.lsm - | | |-- seejpeg-1.10.tgz - | | |-- seejpeg.SlackBuild - | | `-- slack-desc - | |-- slackpkg - | | `-- README - | |-- soma - | | |-- slack-desc - | | |-- soma-2.8.5.tar.gz - | | |-- soma.SlackBuild - | | |-- soma.info - | | |-- soma.png - | | `-- stations.conf - | |-- sox - | | |-- slack-desc - | | |-- sox-14.4.0.tar.xz - | | `-- sox.SlackBuild - | |-- sqlite - | | |-- COPYRIGHT.gz - | | |-- slack-desc - | | |-- sqlite-src-3071300.tar.xz - | | `-- sqlite.SlackBuild - | |-- sudo - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- sudo-1.8.5p2.tar.xz - | | `-- sudo.SlackBuild - | |-- sysstat - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- sysstat-9.0.6.1.tar.bz2 - | | `-- sysstat.SlackBuild - | |-- texinfo - | | |-- dir.gz - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- texinfo-4.13a.tar.bz2 - | | `-- texinfo.SlackBuild - | |-- vbetool - | | |-- slack-desc - | | |-- vbetool-1.1.tar.gz - | | |-- vbetool.SlackBuild - | | `-- vbetool.info - | |-- vim - | | |-- ctags-5.8.tar.gz - | | |-- doinst.sh.gz - | | |-- gvim.desktop - | | |-- gvim.png - | | |-- patches - | | | |-- 7.3.001.gz - | | | |-- 7.3.002.gz - | | | |-- 7.3.003.gz - | | | |-- 7.3.004.gz - | | | |-- 7.3.005.gz - | | | |-- 7.3.006.gz - | | | |-- 7.3.007.gz - | | | |-- 7.3.008.gz - | | | |-- 7.3.009.gz - | | | |-- 7.3.010.gz - | | | |-- 7.3.011.gz - | | | |-- 7.3.012.gz - | | | |-- 7.3.013.gz - | | | |-- 7.3.014.gz - | | | |-- 7.3.015.gz - | | | |-- 7.3.016.gz - | | | |-- 7.3.017.gz - | | | |-- 7.3.018.gz - | | | |-- 7.3.019.gz - | | | |-- 7.3.020.gz - | | | |-- 7.3.021.gz - | | | |-- 7.3.022.gz - | | | |-- 7.3.023.gz - | | | |-- 7.3.024.gz - | | | |-- 7.3.025.gz - | | | |-- 7.3.026.gz - | | | |-- 7.3.027.gz - | | | |-- 7.3.028.gz - | | | |-- 7.3.029.gz - | | | |-- 7.3.030.gz - | | | |-- 7.3.031.gz - | | | |-- 7.3.032.gz - | | | |-- 7.3.033.gz - | | | |-- 7.3.034.gz - | | | |-- 7.3.035.gz - | | | |-- 7.3.036.gz - | | | |-- 7.3.037.gz - | | | |-- 7.3.038.gz - | | | |-- 7.3.039.gz - | | | |-- 7.3.040.gz - | | | |-- 7.3.041.gz - | | | |-- 7.3.042.gz - | | | |-- 7.3.043.gz - | | | |-- 7.3.044.gz - | | | |-- 7.3.045.gz - | | | |-- 7.3.046.gz - | | | |-- 7.3.047.gz - | | | |-- 7.3.048.gz - | | | |-- 7.3.049.gz - | | | |-- 7.3.050.gz - | | | |-- 7.3.051.gz - | | | |-- 7.3.052.gz - | | | |-- 7.3.053.gz - | | | |-- 7.3.054.gz - | | | |-- 7.3.055.gz - | | | |-- 7.3.056.gz - | | | |-- 7.3.057.gz - | | | |-- 7.3.058.gz - | | | |-- 7.3.059.gz - | | | |-- 7.3.060.gz - | | | |-- 7.3.061.gz - | | | |-- 7.3.062.gz - | | | |-- 7.3.063.gz - | | | |-- 7.3.064.gz - | | | |-- 7.3.065.gz - | | | |-- 7.3.066.gz - | | | |-- 7.3.067.gz - | | | |-- 7.3.068.gz - | | | |-- 7.3.069.gz - | | | |-- 7.3.070.gz - | | | |-- 7.3.071.gz - | | | |-- 7.3.072.gz - | | | |-- 7.3.073.gz - | | | |-- 7.3.074.gz - | | | |-- 7.3.075.gz - | | | |-- 7.3.076.gz - | | | |-- 7.3.077.gz - | | | |-- 7.3.078.gz - | | | |-- 7.3.079.gz - | | | |-- 7.3.080.gz - | | | |-- 7.3.081.gz - | | | |-- 7.3.082.gz - | | | |-- 7.3.083.gz - | | | |-- 7.3.084.gz - | | | |-- 7.3.085.gz - | | | |-- 7.3.086.gz - | | | |-- 7.3.087.gz - | | | |-- 7.3.088.gz - | | | |-- 7.3.089.gz - | | | |-- 7.3.090.gz - | | | |-- 7.3.091.gz - | | | |-- 7.3.092.gz - | | | |-- 7.3.093.gz - | | | |-- 7.3.094.gz - | | | |-- 7.3.095.gz - | | | |-- 7.3.096.gz - | | | |-- 7.3.097.gz - | | | |-- 7.3.098.gz - | | | |-- 7.3.099.gz - | | | |-- 7.3.100.gz - | | | |-- 7.3.101.gz - | | | |-- 7.3.102.gz - | | | |-- 7.3.103.gz - | | | |-- 7.3.104.gz - | | | |-- 7.3.105.gz - | | | |-- 7.3.106.gz - | | | |-- 7.3.107.gz - | | | |-- 7.3.108.gz - | | | |-- 7.3.109.gz - | | | |-- 7.3.110.gz - | | | |-- 7.3.111.gz - | | | |-- 7.3.112.gz - | | | |-- 7.3.113.gz - | | | |-- 7.3.114.gz - | | | |-- 7.3.115.gz - | | | |-- 7.3.116.gz - | | | |-- 7.3.117.gz - | | | |-- 7.3.118.gz - | | | |-- 7.3.119.gz - | | | |-- 7.3.120.gz - | | | |-- 7.3.121.gz - | | | |-- 7.3.122.gz - | | | |-- 7.3.123.gz - | | | |-- 7.3.124.gz - | | | |-- 7.3.125.gz - | | | |-- 7.3.126.gz - | | | |-- 7.3.127.gz - | | | |-- 7.3.128.gz - | | | |-- 7.3.129.gz - | | | |-- 7.3.130.gz - | | | |-- 7.3.131.gz - | | | |-- 7.3.132.gz - | | | |-- 7.3.133.gz - | | | |-- 7.3.134.gz - | | | |-- 7.3.135.gz - | | | |-- 7.3.136.gz - | | | |-- 7.3.137.gz - | | | |-- 7.3.138.gz - | | | |-- 7.3.139.gz - | | | |-- 7.3.140.gz - | | | |-- 7.3.141.gz - | | | |-- 7.3.142.gz - | | | |-- 7.3.143.gz - | | | |-- 7.3.144.gz - | | | |-- 7.3.145.gz - | | | |-- 7.3.146.gz - | | | |-- 7.3.147.gz - | | | |-- 7.3.148.gz - | | | |-- 7.3.149.gz - | | | |-- 7.3.150.gz - | | | |-- 7.3.151.gz - | | | |-- 7.3.152.gz - | | | |-- 7.3.153.gz - | | | |-- 7.3.154.gz - | | | |-- 7.3.155.gz - | | | |-- 7.3.156.gz - | | | |-- 7.3.157.gz - | | | |-- 7.3.158.gz - | | | |-- 7.3.159.gz - | | | |-- 7.3.160.gz - | | | |-- 7.3.161.gz - | | | |-- 7.3.162.gz - | | | |-- 7.3.163.gz - | | | |-- 7.3.164.gz - | | | |-- 7.3.165.gz - | | | |-- 7.3.166.gz - | | | |-- 7.3.167.gz - | | | |-- 7.3.168.gz - | | | |-- 7.3.169.gz - | | | |-- 7.3.170.gz - | | | |-- 7.3.171.gz - | | | |-- 7.3.172.gz - | | | |-- 7.3.173.gz - | | | |-- 7.3.174.gz - | | | |-- 7.3.175.gz - | | | |-- 7.3.176.gz - | | | |-- 7.3.177.gz - | | | |-- 7.3.178.gz - | | | |-- 7.3.179.gz - | | | |-- 7.3.180.gz - | | | |-- 7.3.181.gz - | | | |-- 7.3.182.gz - | | | |-- 7.3.183.gz - | | | |-- 7.3.184.gz - | | | |-- 7.3.185.gz - | | | |-- 7.3.186.gz - | | | |-- 7.3.187.gz - | | | |-- 7.3.188.gz - | | | |-- 7.3.189.gz - | | | |-- 7.3.190.gz - | | | |-- 7.3.191.gz - | | | |-- 7.3.192.gz - | | | |-- 7.3.193.gz - | | | |-- 7.3.194.gz - | | | |-- 7.3.195.gz - | | | |-- 7.3.196.gz - | | | |-- 7.3.197.gz - | | | |-- 7.3.198.gz - | | | |-- 7.3.199.gz - | | | |-- 7.3.200.gz - | | | |-- 7.3.201.gz - | | | |-- 7.3.202.gz - | | | |-- 7.3.203.gz - | | | |-- 7.3.204.gz - | | | |-- 7.3.205.gz - | | | |-- 7.3.206.gz - | | | |-- 7.3.207.gz - | | | |-- 7.3.208.gz - | | | |-- 7.3.209.gz - | | | |-- 7.3.210.gz - | | | |-- 7.3.211.gz - | | | |-- 7.3.212.gz - | | | |-- 7.3.213.gz - | | | |-- 7.3.214.gz - | | | |-- 7.3.215.gz - | | | |-- 7.3.216.gz - | | | |-- 7.3.217.gz - | | | |-- 7.3.218.gz - | | | |-- 7.3.219.gz - | | | |-- 7.3.220.gz - | | | |-- 7.3.221.gz - | | | |-- 7.3.222.gz - | | | |-- 7.3.223.gz - | | | |-- 7.3.224.gz - | | | |-- 7.3.225.gz - | | | |-- 7.3.226.gz - | | | |-- 7.3.227.gz - | | | |-- 7.3.228.gz - | | | |-- 7.3.229.gz - | | | |-- 7.3.230.gz - | | | |-- 7.3.231.gz - | | | |-- 7.3.232.gz - | | | |-- 7.3.233.gz - | | | |-- 7.3.234.gz - | | | |-- 7.3.235.gz - | | | |-- 7.3.236.gz - | | | |-- 7.3.237.gz - | | | |-- 7.3.238.gz - | | | |-- 7.3.239.gz - | | | |-- 7.3.240.gz - | | | |-- 7.3.241.gz - | | | |-- 7.3.242.gz - | | | |-- 7.3.243.gz - | | | |-- 7.3.244.gz - | | | |-- 7.3.245.gz - | | | |-- 7.3.246.gz - | | | |-- 7.3.247.gz - | | | |-- 7.3.248.gz - | | | |-- 7.3.249.gz - | | | |-- 7.3.250.gz - | | | |-- 7.3.251.gz - | | | |-- 7.3.252.gz - | | | |-- 7.3.253.gz - | | | |-- 7.3.254.gz - | | | |-- 7.3.255.gz - | | | |-- 7.3.256.gz - | | | |-- 7.3.257.gz - | | | |-- 7.3.258.gz - | | | |-- 7.3.259.gz - | | | |-- 7.3.260.gz - | | | |-- 7.3.261.gz - | | | |-- 7.3.262.gz - | | | |-- 7.3.263.gz - | | | |-- 7.3.264.gz - | | | |-- 7.3.265.gz - | | | |-- 7.3.266.gz - | | | |-- 7.3.267.gz - | | | |-- 7.3.268.gz - | | | |-- 7.3.269.gz - | | | |-- 7.3.270.gz - | | | |-- 7.3.271.gz - | | | |-- 7.3.272.gz - | | | |-- 7.3.273.gz - | | | |-- 7.3.274.gz - | | | |-- 7.3.275.gz - | | | |-- 7.3.276.gz - | | | |-- 7.3.277.gz - | | | |-- 7.3.278.gz - | | | |-- 7.3.279.gz - | | | |-- 7.3.280.gz - | | | |-- 7.3.281.gz - | | | |-- 7.3.282.gz - | | | |-- 7.3.283.gz - | | | |-- 7.3.284.gz - | | | |-- 7.3.285.gz - | | | |-- 7.3.286.gz - | | | |-- 7.3.287.gz - | | | |-- 7.3.288.gz - | | | |-- 7.3.289.gz - | | | |-- 7.3.290.gz - | | | |-- 7.3.291.gz - | | | |-- 7.3.292.gz - | | | |-- 7.3.293.gz - | | | |-- 7.3.294.gz - | | | |-- 7.3.295.gz - | | | |-- 7.3.296.gz - | | | |-- 7.3.297.gz - | | | |-- 7.3.298.gz - | | | |-- 7.3.299.gz - | | | |-- 7.3.300.gz - | | | |-- 7.3.301.gz - | | | |-- 7.3.302.gz - | | | |-- 7.3.303.gz - | | | |-- 7.3.304.gz - | | | |-- 7.3.305.gz - | | | |-- 7.3.306.gz - | | | |-- 7.3.307.gz - | | | |-- 7.3.308.gz - | | | |-- 7.3.309.gz - | | | |-- 7.3.310.gz - | | | |-- 7.3.311.gz - | | | |-- 7.3.312.gz - | | | |-- 7.3.313.gz - | | | |-- 7.3.314.gz - | | | |-- 7.3.315.gz - | | | |-- 7.3.316.gz - | | | |-- 7.3.317.gz - | | | |-- 7.3.318.gz - | | | |-- 7.3.319.gz - | | | |-- 7.3.320.gz - | | | |-- 7.3.321.gz - | | | |-- 7.3.322.gz - | | | |-- 7.3.323.gz - | | | |-- 7.3.324.gz - | | | |-- 7.3.325.gz - | | | |-- 7.3.326.gz - | | | |-- 7.3.327.gz - | | | |-- 7.3.328.gz - | | | |-- 7.3.329.gz - | | | |-- 7.3.330.gz - | | | |-- 7.3.331.gz - | | | |-- 7.3.332.gz - | | | |-- 7.3.333.gz - | | | |-- 7.3.334.gz - | | | |-- 7.3.335.gz - | | | |-- 7.3.336.gz - | | | |-- 7.3.337.gz - | | | |-- 7.3.338.gz - | | | |-- 7.3.339.gz - | | | |-- 7.3.340.gz - | | | |-- 7.3.341.gz - | | | |-- 7.3.342.gz - | | | |-- 7.3.343.gz - | | | |-- 7.3.344.gz - | | | |-- 7.3.345.gz - | | | |-- 7.3.346.gz - | | | |-- 7.3.347.gz - | | | |-- 7.3.348.gz - | | | |-- 7.3.349.gz - | | | |-- 7.3.350.gz - | | | |-- 7.3.351.gz - | | | |-- 7.3.352.gz - | | | |-- 7.3.353.gz - | | | |-- 7.3.354.gz - | | | |-- 7.3.355.gz - | | | |-- 7.3.356.gz - | | | |-- 7.3.357.gz - | | | |-- 7.3.358.gz - | | | |-- 7.3.359.gz - | | | |-- 7.3.360.gz - | | | |-- 7.3.361.gz - | | | |-- 7.3.362.gz - | | | |-- 7.3.363.gz - | | | |-- 7.3.364.gz - | | | |-- 7.3.365.gz - | | | |-- 7.3.366.gz - | | | |-- 7.3.367.gz - | | | |-- 7.3.368.gz - | | | |-- 7.3.369.gz - | | | |-- 7.3.370.gz - | | | |-- 7.3.371.gz - | | | |-- 7.3.372.gz - | | | |-- 7.3.373.gz - | | | |-- 7.3.374.gz - | | | |-- 7.3.375.gz - | | | |-- 7.3.376.gz - | | | |-- 7.3.377.gz - | | | |-- 7.3.378.gz - | | | |-- 7.3.379.gz - | | | |-- 7.3.380.gz - | | | |-- 7.3.381.gz - | | | |-- 7.3.382.gz - | | | |-- 7.3.383.gz - | | | |-- 7.3.384.gz - | | | |-- 7.3.385.gz - | | | |-- 7.3.386.gz - | | | |-- 7.3.387.gz - | | | |-- 7.3.388.gz - | | | |-- 7.3.389.gz - | | | |-- 7.3.390.gz - | | | |-- 7.3.391.gz - | | | |-- 7.3.392.gz - | | | |-- 7.3.393.gz - | | | |-- 7.3.394.gz - | | | |-- 7.3.395.gz - | | | |-- 7.3.396.gz - | | | |-- 7.3.397.gz - | | | |-- 7.3.398.gz - | | | |-- 7.3.399.gz - | | | |-- 7.3.400.gz - | | | |-- 7.3.401.gz - | | | |-- 7.3.402.gz - | | | |-- 7.3.403.gz - | | | |-- 7.3.404.gz - | | | |-- 7.3.405.gz - | | | |-- 7.3.406.gz - | | | |-- 7.3.407.gz - | | | |-- 7.3.408.gz - | | | |-- 7.3.409.gz - | | | |-- 7.3.410.gz - | | | |-- 7.3.411.gz - | | | |-- 7.3.412.gz - | | | |-- 7.3.413.gz - | | | |-- 7.3.414.gz - | | | |-- 7.3.415.gz - | | | |-- 7.3.416.gz - | | | |-- 7.3.417.gz - | | | |-- 7.3.418.gz - | | | |-- 7.3.419.gz - | | | |-- 7.3.420.gz - | | | |-- 7.3.421.gz - | | | |-- 7.3.422.gz - | | | |-- 7.3.423.gz - | | | |-- 7.3.424.gz - | | | |-- 7.3.425.gz - | | | |-- 7.3.426.gz - | | | |-- 7.3.427.gz - | | | |-- 7.3.428.gz - | | | |-- 7.3.429.gz - | | | |-- 7.3.430.gz - | | | |-- 7.3.431.gz - | | | |-- 7.3.432.gz - | | | |-- 7.3.433.gz - | | | |-- 7.3.434.gz - | | | |-- 7.3.435.gz - | | | |-- 7.3.436.gz - | | | |-- 7.3.437.gz - | | | |-- 7.3.438.gz - | | | |-- 7.3.439.gz - | | | |-- 7.3.440.gz - | | | |-- 7.3.441.gz - | | | |-- 7.3.442.gz - | | | |-- 7.3.443.gz - | | | |-- 7.3.444.gz - | | | |-- 7.3.445.gz - | | | |-- 7.3.446.gz - | | | |-- 7.3.447.gz - | | | |-- 7.3.448.gz - | | | |-- 7.3.449.gz - | | | |-- 7.3.450.gz - | | | |-- 7.3.451.gz - | | | |-- 7.3.452.gz - | | | |-- 7.3.453.gz - | | | |-- 7.3.454.gz - | | | |-- 7.3.455.gz - | | | |-- 7.3.456.gz - | | | |-- 7.3.457.gz - | | | |-- 7.3.458.gz - | | | |-- 7.3.459.gz - | | | |-- 7.3.460.gz - | | | |-- 7.3.461.gz - | | | |-- 7.3.462.gz - | | | |-- 7.3.463.gz - | | | |-- 7.3.464.gz - | | | |-- 7.3.465.gz - | | | |-- 7.3.466.gz - | | | |-- 7.3.467.gz - | | | |-- 7.3.468.gz - | | | |-- 7.3.469.gz - | | | |-- 7.3.470.gz - | | | |-- 7.3.471.gz - | | | |-- 7.3.472.gz - | | | |-- 7.3.473.gz - | | | |-- 7.3.474.gz - | | | |-- 7.3.475.gz - | | | |-- 7.3.476.gz - | | | |-- 7.3.477.gz - | | | |-- 7.3.478.gz - | | | |-- 7.3.479.gz - | | | |-- 7.3.480.gz - | | | |-- 7.3.481.gz - | | | |-- 7.3.482.gz - | | | |-- 7.3.483.gz - | | | |-- 7.3.484.gz - | | | |-- 7.3.485.gz - | | | |-- 7.3.486.gz - | | | |-- 7.3.487.gz - | | | |-- 7.3.488.gz - | | | |-- 7.3.489.gz - | | | |-- 7.3.490.gz - | | | |-- 7.3.491.gz - | | | |-- 7.3.492.gz - | | | |-- 7.3.493.gz - | | | |-- 7.3.494.gz - | | | |-- 7.3.495.gz - | | | |-- 7.3.496.gz - | | | |-- 7.3.497.gz - | | | |-- 7.3.498.gz - | | | |-- 7.3.499.gz - | | | |-- 7.3.500.gz - | | | |-- 7.3.501.gz - | | | |-- 7.3.502.gz - | | | |-- 7.3.503.gz - | | | |-- 7.3.504.gz - | | | |-- 7.3.505.gz - | | | |-- 7.3.506.gz - | | | |-- 7.3.507.gz - | | | |-- 7.3.508.gz - | | | |-- 7.3.509.gz - | | | |-- 7.3.510.gz - | | | |-- 7.3.511.gz - | | | |-- 7.3.512.gz - | | | |-- 7.3.513.gz - | | | |-- 7.3.514.gz - | | | |-- 7.3.515.gz - | | | |-- 7.3.516.gz - | | | |-- 7.3.517.gz - | | | |-- 7.3.518.gz - | | | |-- 7.3.519.gz - | | | |-- 7.3.520.gz - | | | |-- 7.3.521.gz - | | | |-- 7.3.522.gz - | | | |-- 7.3.523.gz - | | | |-- 7.3.524.gz - | | | |-- 7.3.525.gz - | | | |-- 7.3.526.gz - | | | |-- 7.3.527.gz - | | | |-- 7.3.528.gz - | | | |-- 7.3.529.gz - | | | |-- 7.3.530.gz - | | | |-- 7.3.531.gz - | | | |-- 7.3.532.gz - | | | |-- 7.3.533.gz - | | | |-- 7.3.534.gz - | | | |-- 7.3.535.gz - | | | |-- 7.3.536.gz - | | | |-- 7.3.537.gz - | | | |-- 7.3.538.gz - | | | |-- 7.3.539.gz - | | | |-- 7.3.540.gz - | | | |-- 7.3.541.gz - | | | |-- 7.3.542.gz - | | | |-- 7.3.543.gz - | | | |-- 7.3.544.gz - | | | |-- 7.3.545.gz - | | | |-- 7.3.546.gz - | | | |-- 7.3.547.gz - | | | |-- 7.3.548.gz - | | | |-- 7.3.549.gz - | | | |-- 7.3.550.gz - | | | |-- 7.3.551.gz - | | | |-- 7.3.552.gz - | | | |-- 7.3.553.gz - | | | |-- 7.3.554.gz - | | | |-- 7.3.555.gz - | | | |-- 7.3.556.gz - | | | |-- 7.3.557.gz - | | | |-- 7.3.558.gz - | | | |-- 7.3.559.gz - | | | |-- 7.3.560.gz - | | | |-- 7.3.561.gz - | | | |-- 7.3.562.gz - | | | |-- 7.3.563.gz - | | | |-- 7.3.564.gz - | | | |-- 7.3.565.gz - | | | |-- 7.3.566.gz - | | | |-- 7.3.567.gz - | | | |-- 7.3.568.gz - | | | |-- 7.3.569.gz - | | | |-- 7.3.570.gz - | | | |-- 7.3.571.gz - | | | |-- 7.3.572.gz - | | | |-- 7.3.573.gz - | | | |-- 7.3.574.gz - | | | |-- 7.3.575.gz - | | | |-- 7.3.576.gz - | | | |-- 7.3.577.gz - | | | |-- 7.3.578.gz - | | | |-- 7.3.579.gz - | | | |-- 7.3.580.gz - | | | |-- 7.3.581.gz - | | | |-- 7.3.582.gz - | | | |-- 7.3.583.gz - | | | |-- 7.3.584.gz - | | | |-- 7.3.585.gz - | | | |-- 7.3.586.gz - | | | |-- 7.3.587.gz - | | | |-- 7.3.588.gz - | | | |-- 7.3.589.gz - | | | |-- 7.3.590.gz - | | | |-- 7.3.591.gz - | | | |-- 7.3.592.gz - | | | |-- 7.3.593.gz - | | | |-- 7.3.594.gz - | | | |-- 7.3.595.gz - | | | |-- 7.3.596.gz - | | | |-- 7.3.597.gz - | | | |-- 7.3.598.gz - | | | |-- 7.3.599.gz - | | | |-- 7.3.600.gz - | | | |-- 7.3.601.gz - | | | |-- 7.3.602.gz - | | | |-- 7.3.603.gz - | | | |-- 7.3.604.gz - | | | |-- 7.3.605.gz - | | | |-- 7.3.606.gz - | | | |-- 7.3.607.gz - | | | |-- 7.3.608.gz - | | | |-- 7.3.609.gz - | | | |-- 7.3.610.gz - | | | |-- 7.3.611.gz - | | | |-- 7.3.612.gz - | | | |-- 7.3.613.gz - | | | |-- 7.3.614.gz - | | | |-- 7.3.615.gz - | | | |-- 7.3.616.gz - | | | |-- 7.3.617.gz - | | | |-- 7.3.618.gz - | | | |-- 7.3.619.gz - | | | |-- 7.3.620.gz - | | | |-- 7.3.621.gz - | | | |-- 7.3.622.gz - | | | |-- 7.3.623.gz - | | | |-- 7.3.624.gz - | | | |-- 7.3.625.gz - | | | |-- 7.3.626.gz - | | | |-- 7.3.627.gz - | | | |-- 7.3.628.gz - | | | |-- 7.3.629.gz - | | | |-- 7.3.630.gz - | | | |-- 7.3.631.gz - | | | |-- 7.3.632.gz - | | | |-- 7.3.633.gz - | | | |-- 7.3.634.gz - | | | |-- 7.3.635.gz - | | | |-- 7.3.636.gz - | | | |-- 7.3.637.gz - | | | |-- 7.3.638.gz - | | | |-- 7.3.639.gz - | | | |-- 7.3.640.gz - | | | |-- 7.3.641.gz - | | | |-- 7.3.642.gz - | | | |-- 7.3.643.gz - | | | |-- 7.3.644.gz - | | | `-- 7.3.645.gz - | | |-- slack-desc.vim - | | |-- slack-desc.vim-gvim - | | |-- vim-7.3.tar.xz - | | |-- vim-gvim.SlackBuild - | | |-- vim-runtime-syntax-20110328.diff.gz - | | |-- vim.SlackBuild - | | `-- vim.vimrc.diff.gz - | |-- vorbis-tools - | | |-- slack-desc - | | |-- vorbis-tools-1.4.0.tar.xz - | | `-- vorbis-tools.SlackBuild - | |-- workbone - | | |-- slack-desc - | | |-- workbone.1.diff.gz - | | |-- workbone.SlackBuild - | | |-- workbone_2.40-9.diff.gz - | | `-- workbone_2.40.orig.tar.gz - | |-- xfsdump - | | |-- slack-desc - | | |-- xfsdump-3.0.4.tar.xz - | | |-- xfsdump.SlackBuild - | | `-- xfsdump.destdir.diff.gz - | `-- zsh - | |-- doinst.sh.gz - | |-- slack-desc - | |-- zsh-5.0.0-doc.tar.xz - | |-- zsh-5.0.0.tar.xz - | `-- zsh.SlackBuild - |-- d - | |-- autoconf - | | |-- autoconf-2.69.tar.xz - | | |-- autoconf-2.69.tar.xz.sig - | | |-- autoconf.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- automake - | | |-- automake-1.11.5.tar.xz - | | |-- automake.SlackBuild - | | |-- automake.perl516.prototype.diff.gz - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- binutils - | | |-- binutils-2.22.52.0.2.tar.sign - | | |-- binutils-2.22.52.0.2.tar.xz - | | |-- binutils.SlackBuild - | | |-- release.binutils-2.22.52.0.2 - | | `-- slack-desc - | |-- bison - | | |-- bison-2.5.1.tar.xz - | | |-- bison.SlackBuild - | | `-- slack-desc - | |-- ccache - | | |-- ccache-3.1.8.tar.xz - | | |-- ccache-3.1.8.tar.xz.asc - | | |-- ccache.SlackBuild - | | `-- slack-desc - | |-- clisp - | | |-- clisp-2.49.tar.bz2 - | | |-- clisp-2.49.tar.bz2.sig - | | |-- clisp.SlackBuild - | | |-- ffcall-20080704cvs.tar.bz2 - | | |-- libsigsegv-2.8.tar.xz - | | |-- slack-desc - | | `-- source.download - | |-- cmake - | | |-- cmake-2.8.8.tar.xz - | | |-- cmake.SlackBuild - | | |-- cmake.findpkgconfig.3ea850.patch.gz - | | `-- slack-desc - | |-- cscope - | | |-- cscope-15.7a.tar.bz2 - | | |-- cscope.SlackBuild - | | `-- slack-desc - | |-- cvs - | | |-- cvs-1.11.23.tar.bz2 - | | |-- cvs-1.11.23.tar.bz2.sig - | | |-- cvs.SlackBuild - | | `-- slack-desc - | |-- dev86 - | | |-- Dev86src-0.16.17.tar.gz - | | |-- README - | | |-- dev86-x86_64.noelks.patch.gz - | | |-- dev86-x86_64.patch.gz - | | |-- dev86.SlackBuild - | | |-- dev86.info - | | `-- slack-desc - | |-- distcc - | | |-- distcc-2.18.3.tar.bz2 - | | |-- distcc-2.18.3.tar.bz2.asc - | | |-- distcc.SlackBuild - | | `-- slack-desc - | |-- doxygen - | | |-- doxygen-1.8.1.1.src.tar.xz - | | |-- doxygen.SlackBuild - | | `-- slack-desc - | |-- flex - | | |-- flex-2.5.35.tar.bz2 - | | |-- flex.SlackBuild - | | `-- slack-desc - | |-- gcc - | | |-- antlr-runtime-3.4.jar - | | |-- create_gcj_jvm.sh - | | |-- ecj-4.5.jar - | | |-- ecj.sh - | | |-- fastjar-0.97.tar.xz - | | |-- fastjar-patches - | | | |-- 1000-fastjar-0.97-segfault.patch.gz - | | | |-- 1001-fastjar-0.97-len1.patch.gz - | | | |-- 1002-fastjar-0.97-filename0.patch.gz - | | | |-- 1003-fastjar-CVE-2010-0831.patch.gz - | | | `-- 1004-fastjar-man.patch.gz - | | |-- gcc-4.7.1.adalib.pic.diff.gz - | | |-- gcc-4.7.1.tar.xz - | | |-- gcc-no_fixincludes.diff.gz - | | |-- gcc.SlackBuild - | | |-- slack-desc.gcc - | | |-- slack-desc.gcc-g++ - | | |-- slack-desc.gcc-gfortran - | | |-- slack-desc.gcc-gnat - | | |-- slack-desc.gcc-go - | | |-- slack-desc.gcc-java - | | `-- slack-desc.gcc-objc - | |-- gdb - | | |-- gdb-7.5.tar.xz - | | |-- gdb.SlackBuild - | | `-- slack-desc - | |-- gettext-tools -> ../a/gettext - | |-- git - | | |-- git-1.7.12.1.tar.xz - | | |-- git.SlackBuild - | | |-- git.url - | | `-- slack-desc - | |-- gperf - | | |-- gperf-3.0.4.tar.xz - | | |-- gperf.SlackBuild - | | `-- slack-desc - | |-- guile - | | |-- guile-1.8.8.tar.xz - | | |-- guile.SlackBuild - | | `-- slack-desc - | |-- indent - | | |-- indent-2.2.10.tar.bz2 - | | |-- indent.SlackBuild - | | `-- slack-desc - | |-- intltool - | | |-- intltool-0.50.2.tar.xz - | | |-- intltool.SlackBuild - | | `-- slack-desc - | |-- kernel-headers - | | `-- slack-desc - | |-- libtool - | | |-- doinst.sh.gz - | | |-- libtool-2.4.2.tar.xz - | | |-- libtool-2.4.2.tar.xz.sig - | | |-- libtool.SlackBuild - | | |-- libtool.no.moved.warning.diff.gz - | | `-- slack-desc - | |-- llvm - | | |-- clang-3.0.tar.xz - | | |-- llvm-3.0.tar.xz - | | |-- llvm.SlackBuild - | | |-- llvm.url - | | `-- slack-desc - | |-- m4 - | | |-- m4-1.4.16.tar.xz - | | |-- m4-1.4.16.tar.xz.sig - | | |-- m4.SlackBuild - | | `-- slack-desc - | |-- make - | | |-- make-3.82-android-build-fix.diff.gz - | | |-- make-3.82.tar.bz2 - | | |-- make-3.82.tar.bz2.sig - | | |-- make.SlackBuild - | | `-- slack-desc - | |-- mercurial - | | |-- doinst.sh.gz - | | |-- mercurial-2.2.2.tar.xz - | | |-- mercurial.SlackBuild - | | `-- slack-desc - | |-- nasm - | | |-- nasm-2.10.04.tar.xz - | | |-- nasm.SlackBuild - | | `-- slack-desc - | |-- oprofile - | | |-- oprofile-0.9.7.tar.xz - | | |-- oprofile.SlackBuild - | | |-- oprofile.binutils.diff.gz - | | `-- slack-desc - | |-- p2c - | | |-- _p2c.tar.gz - | | |-- p2c-1.21alpha2.tar.gz - | | |-- p2c.SlackBuild - | | |-- p2c.examples.diff.gz - | | |-- p2c_1.21alpha2-2.1.diff.gz - | | |-- p2c_time.diff.gz - | | `-- slack-desc - | |-- perl - | | |-- DBD-mysql-4.021.tar.gz - | | |-- DBI-1.622.tar.gz - | | |-- URI-1.60.tar.gz - | | |-- XML-Parser-2.41.tar.gz - | | |-- XML-Simple-2.20.tar.gz - | | |-- perl-5.16.1.tar.xz - | | |-- perl.SlackBuild - | | |-- perl.configure.multilib.patch.gz - | | `-- slack-desc - | |-- pkg-config - | | |-- doinst.sh.gz - | | |-- pkg-config-0.25.tar.xz - | | |-- pkg-config.SlackBuild - | | |-- scripts - | | | |-- pkgconfig.csh - | | | `-- pkgconfig.sh - | | `-- slack-desc - | |-- pmake - | | |-- pmake-1.111.tar.gz - | | |-- pmake.SlackBuild - | | |-- pmake.strerror.strdup.diff.gz - | | |-- pmake.txt.gz - | | |-- pmake_1.111-1.diff.gz - | | `-- slack-desc - | |-- python - | | |-- Python-2.7.3.tar.xz - | | |-- python-2.7.3-docs-text.tar.bz2 - | | |-- python.SlackBuild - | | |-- python.no-static-library.diff.gz - | | |-- python.readline.set_pre_input_hook.diff.gz - | | |-- python.x86_64.diff.gz - | | `-- slack-desc - | |-- rcs - | | |-- _rcs.tar.gz - | | |-- rcs-5.7.diff.gz - | | |-- rcs-5.7.tar.gz - | | |-- rcs.SlackBuild - | | `-- slack-desc - | |-- ruby - | | |-- ruby-1.9.3-p194.tar.xz - | | |-- ruby.SlackBuild - | | `-- slack-desc - | |-- slacktrack - | | |-- OVERVIEW - | | |-- slacktrack-2.12-source.tar.xz - | | `-- slacktrack.SlackBuild - | |-- strace - | | |-- slack-desc - | | |-- strace-4.5.20.tar.bz2 - | | `-- strace.SlackBuild - | |-- subversion - | | |-- get-svn-book.sh - | | |-- slack-desc - | | |-- subversion-1.7.6.tar.xz - | | |-- subversion.SlackBuild - | | `-- svn-book-html.tar.bz2 - | |-- swig - | | |-- slack-desc - | | |-- swig-2.0.6.tar.xz - | | |-- swig.SlackBuild - | | `-- swig.url - | `-- yasm - | |-- slack-desc - | |-- yasm-1.2.0.tar.xz - | `-- yasm.SlackBuild - |-- e - | `-- emacs - | |-- doinst.sh.gz - | |-- emacs-24.2.tar.xz - | |-- emacs.SlackBuild - | `-- slack-desc - |-- f - | |-- slack-desc.linux-faqs - | `-- slack-desc.linux-howtos - |-- installer - | |-- busybox-1.19.4.tar.bz2 - | |-- busybox-1.19.4.tar.bz2.sign - | |-- busybox-dot-config - | |-- busybox.2.6.32.2.diff.gz - | |-- busybox.SlackBuild - | |-- busybox.wget.P.diff.gz - | |-- dhcpcd - | | |-- config.h.diff.gz - | | |-- dhcpcd-3.2.3.tar.bz2 - | | `-- dhcpcd.sh.diff.gz - | |-- dropbear - | | |-- doinst.sh - | | |-- dropbear-0.50.tar.bz2 - | | |-- dropbear.Slackbuild - | | |-- dropbear.xauth.patch - | | |-- dropbear_dbclientpath.patch - | | |-- dropbear_emptypass.patch - | | |-- rc.dropbear.new - | | `-- slack-desc - | `-- memtest86+-4.20.tar.xz - |-- k - | |-- README.TXT - | |-- config-x86 - | | |-- config-generic-3.2.29 - | | |-- config-generic-smp-3.2.29-smp - | | |-- config-huge-3.2.29 - | | `-- config-huge-smp-3.2.29-smp - | |-- config-x86_64 - | | |-- config-generic-3.2.29.x64 - | | `-- config-huge-3.2.29.x64 - | |-- linux-3.2.29.tar.sign - | |-- linux-3.2.29.tar.xz - | |-- packaging-x86 - | | |-- kernel-generic - | | | |-- kernel-generic.SlackBuild - | | | `-- slack-desc - | | |-- kernel-generic-smp - | | | |-- kernel-generic-smp.SlackBuild - | | | `-- slack-desc - | | |-- kernel-huge - | | | |-- kernel-huge.SlackBuild - | | | `-- slack-desc - | | |-- kernel-huge-smp - | | | |-- kernel-huge-smp.SlackBuild - | | | `-- slack-desc - | | |-- kernel-modules - | | | |-- kernel-modules.SlackBuild - | | | |-- rc.modules.new - | | | `-- slack-desc - | | `-- kernel-modules-smp - | | |-- kernel-modules-smp.SlackBuild - | | |-- rc.modules.new - | | `-- slack-desc - | `-- packaging-x86_64 - | |-- kernel-generic - | | |-- kernel-generic.SlackBuild - | | `-- slack-desc - | |-- kernel-huge - | | |-- kernel-huge.SlackBuild - | | `-- slack-desc - | `-- kernel-modules - | |-- kernel-modules.SlackBuild - | |-- rc.modules.new - | `-- slack-desc - |-- kde - | |-- KDE.SlackBuild - | |-- KDE.options - | |-- build - | | `-- calligra - | |-- cmake - | | |-- amarok - | | |-- analitza - | | |-- bluedevil - | | |-- calligra - | | |-- cmake - | | |-- k3b - | | |-- kdeaccessibility - | | |-- kdeadmin - | | |-- kdeartwork - | | |-- kdebase - | | |-- kdebindings - | | |-- kdelibs - | | |-- kdenetwork - | | |-- kdewebdev - | | |-- kwebkitpart - | | |-- networkmanagement - | | |-- perlkde - | | |-- perlqt - | | |-- polkit-kde-agent-1 - | | `-- polkit-kde-kcmodules-1 - | |-- docs - | | |-- k3b - | | `-- kdepimlibs - | |-- doinst.sh - | | |-- amarok - | | |-- blinken - | | |-- bluedevil - | | |-- cantor - | | |-- gwenview - | | |-- jovie - | | |-- k3b - | | |-- kalgebra - | | |-- kalzium - | | |-- kamera - | | |-- kanagram - | | |-- kate - | | |-- kaudiocreator - | | |-- kbruch - | | |-- kcalc - | | |-- kcolorchooser - | | |-- kde-applications - | | |-- kde-baseapps - | | |-- kde-runtime - | | |-- kde-workspace - | | |-- kdeaccessibility - | | |-- kdeadmin - | | |-- kdeartwork - | | |-- kdebase - | | |-- kdeedu - | | |-- kdegames - | | |-- kdegraphics - | | |-- kdelibs - | | |-- kdemultimedia - | | |-- kdenetwork - | | |-- kdepim - | | |-- kdepim-runtime - | | |-- kdeplasma-addons - | | |-- kdesdk - | | |-- kdetoys - | | |-- kdeutils - | | |-- kdevelop - | | |-- kdevplatform - | | |-- kdewebdev - | | |-- kdf - | | |-- kgamma - | | |-- kgeography - | | |-- khangman - | | |-- kig - | | |-- kiten - | | |-- klettres - | | |-- kmag - | | |-- kmousetool - | | |-- kmouth - | | |-- kmplot - | | |-- koffice - | | |-- kolourpaint - | | |-- konsole - | | |-- kopete-cryptography - | | |-- kruler - | | |-- ksaneplugin - | | |-- ksnapshot - | | |-- kstars - | | |-- ktorrent - | | |-- ktouch - | | |-- kturtle - | | |-- kwordquiz - | | |-- marble - | | |-- okular - | | |-- parley - | | |-- rocs - | | |-- skanlite - | | |-- step - | | `-- wicd-kde - | |-- kde-deps-build - | | |-- PyQt -> ../../l/PyQt - | | |-- QScintilla -> ../../l/QScintilla - | | |-- akonadi -> ../../l/akonadi - | | |-- alldeps.SlackBuild - | | |-- attica -> ../../l/attica - | | |-- clucene -> ../../l/clucene - | | |-- ebook-tools -> ../../l/ebook-tools - | | |-- grantlee -> ../../l/grantlee - | | |-- herqq -> ../../l/herqq - | | |-- hunspell -> ../../l/hunspell - | | |-- lcms2 -> ../../l/lcms2 - | | |-- libatasmart -> ../../l/libatasmart - | | |-- libbluedevil -> ../../l/libbluedevil - | | |-- libdbusmenu-qt -> ../../l/libdbusmenu-qt - | | |-- libmsn -> ../../l/libmsn - | | |-- libssh -> ../../l/libssh - | | |-- libvncserver -> ../../l/libvncserver - | | |-- phonon -> ../../l/phonon - | | |-- phonon-gstreamer -> ../../l/phonon-gstreamer - | | |-- phonon-mplayer -> ../../l/phonon-mplayer - | | |-- phonon-xine -> ../../l/phonon-xine - | | |-- polkit-qt-1 -> ../../l/polkit-qt-1 - | | |-- qt -> ../../l/qt - | | |-- raptor2 -> ../../l/raptor2 - | | |-- rasqal -> ../../l/rasqal - | | |-- redland -> ../../l/redland - | | |-- sg3_utils -> ../../l/sg3_utils - | | |-- shared-desktop-ontologies -> ../../l/shared-desktop-ontologies - | | |-- sip -> ../../l/sip - | | |-- soprano -> ../../l/soprano - | | |-- strigi -> ../../l/strigi - | | |-- system-config-printer -> ../../l/system-config-printer - | | |-- udisks -> ../../a/udisks - | | `-- upower -> ../../a/upower - | |-- makepkg - | |-- modularize - | |-- modules - | | |-- extragear - | | |-- kdeaccessibility - | | |-- kdeadmin - | | |-- kdeartwork - | | |-- kdebase - | | |-- kdebindings - | | |-- kdeedu - | | |-- kdegames - | | |-- kdegraphics - | | |-- kdelibs - | | |-- kdemultimedia - | | |-- kdenetwork - | | |-- kdepim - | | |-- kdepimlibs - | | |-- kdeplasma-addons - | | |-- kdesdk - | | |-- kdetoys - | | |-- kdeutils - | | |-- kdewebdev - | | |-- oxygen-icons - | | `-- polkit-kde - | |-- noarch - | |-- package-blacklist - | |-- patch - | | |-- README - | | |-- amarok - | | | `-- amarok-liblastfm1.patch - | | |-- amarok.patch - | | |-- calligra - | | | `-- calligra.words.fix_overflow.diff.gz - | | |-- calligra.patch - | | |-- kde-workspace - | | | |-- kde-workspace.batteryapplet.diff.gz - | | | `-- kde-workspace.kdm.server.timeout.diff.gz - | | |-- kde-workspace.patch - | | |-- kdelibs - | | | |-- kdelibs.docbook.patch.gz - | | | `-- kdelibs.upnp_conditional.patch - | | |-- kdelibs.patch - | | |-- kdepim - | | | `-- kdepim-4.5.85-install-headers.patch - | | |-- kdepim.patch - | | |-- kdewebdev - | | | `-- include-tidy.patch.gz - | | |-- kdewebdev.patch - | | |-- korundum - | | | `-- korundum_ruby19.patch - | | `-- korundum.patch - | |-- post-install - | | |-- k3b.post-install - | | |-- kde-baseapps - | | | `-- profile.d - | | | |-- kde.csh - | | | `-- kde.sh - | | |-- kde-baseapps.post-install - | | |-- kde-runtime.post-install - | | |-- kde-workspace - | | | |-- config - | | | | |-- Xsession - | | | | `-- Xsession.orig - | | | `-- xinit - | | | `-- xinitrc.kde - | | |-- kde-workspace.post-install - | | |-- kdelibs.post-install - | | |-- kdepim.post-install - | | |-- konsole.post-install - | | `-- wicd-kde.post-install - | |-- pre-install - | | |-- README - | | |-- amarok.pre-install - | | |-- kdewebdev - | | | `-- tidy - | | | |-- get-tidy-cvs.sh - | | | |-- tidy-20100503T2309.tar.xz - | | | |-- tidy.SlackBuild - | | | `-- tidy.build - | | `-- kdewebdev.pre-install - | |-- slack-desc - | | |-- amarok - | | |-- analitza - | | |-- ark - | | |-- blinken - | | |-- bluedevil - | | |-- calligra - | | |-- cantor - | | |-- digikam - | | |-- filelight - | | |-- gwenview - | | |-- jovie - | | |-- k3b - | | |-- kaccessible - | | |-- kactivities - | | |-- kalgebra - | | |-- kalzium - | | |-- kamera - | | |-- kanagram - | | |-- kate - | | |-- kaudiocreator - | | |-- kbruch - | | |-- kcalc - | | |-- kcharselect - | | |-- kcolorchooser - | | |-- kde-base - | | |-- kde-base-artwork - | | |-- kde-baseapps - | | |-- kde-bindings - | | |-- kde-educational - | | |-- kde-runtime - | | |-- kde-wallpapers - | | |-- kde-workspace - | | |-- kdeaccessibility - | | |-- kdeadmin - | | |-- kdeartwork - | | |-- kdebase - | | |-- kdebase-runtime - | | |-- kdebase-workspace - | | |-- kdebindings - | | |-- kdeedu - | | |-- kdegames - | | |-- kdegraphics - | | |-- kdegraphics-mobipocket - | | |-- kdegraphics-strigi-analyzer - | | |-- kdegraphics-thumbnailers - | | |-- kdelibs - | | |-- kdemultimedia - | | |-- kdenetwork - | | |-- kdepim - | | |-- kdepim-runtime - | | |-- kdepimlibs - | | |-- kdeplasma-addons - | | |-- kdesdk - | | |-- kdetoys - | | |-- kdeutils - | | |-- kdevelop - | | |-- kdevelop-pg-qt - | | |-- kdevplatform - | | |-- kdewebdev - | | |-- kdf - | | |-- kfloppy - | | |-- kgamma - | | |-- kgeography - | | |-- kgpg - | | |-- khangman - | | |-- kig - | | |-- kimono - | | |-- kipi-plugins - | | |-- kiten - | | |-- klettres - | | |-- kmag - | | |-- kmousetool - | | |-- kmouth - | | |-- kmplot - | | |-- koffice - | | |-- kolourpaint - | | |-- konsole - | | |-- kopete-cryptography - | | |-- korundum - | | |-- kplayer - | | |-- kremotecontrol - | | |-- kross-interpreters - | | |-- kruler - | | |-- ksaneplugin - | | |-- ksecrets - | | |-- ksnapshot - | | |-- kstars - | | |-- ktimer - | | |-- ktorrent - | | |-- ktouch - | | |-- kturtle - | | |-- kwallet - | | |-- kwebkitpart - | | |-- kwordquiz - | | |-- libkdcraw - | | |-- libkdeedu - | | |-- libkexiv2 - | | |-- libkipi - | | |-- libksane - | | |-- libktorrent - | | |-- marble - | | |-- networkmanagement - | | |-- okular - | | |-- oxygen-gtk2 - | | |-- oxygen-icons - | | |-- parley - | | |-- perlkde - | | |-- perlqt - | | |-- polkit-kde-agent-1 - | | |-- polkit-kde-kcmodules-1 - | | |-- polkit-qt-1 - | | |-- printer-applet - | | |-- prison - | | |-- pykde4 - | | |-- qtruby - | | |-- quanta - | | |-- qyoto - | | |-- rocs - | | |-- skanlite - | | |-- smokegen - | | |-- smokekde - | | |-- smokeqt - | | |-- step - | | |-- strigi - | | |-- superkaramba - | | |-- svgpart - | | |-- sweeper - | | `-- wicd-kde - | `-- src - | |-- analitza-4.8.5.tar.xz - | |-- ark-4.8.5.tar.xz - | |-- blinken-4.8.5.tar.xz - | |-- cantor-4.8.5.tar.xz - | |-- extragear - | | |-- amarok-2.6.0.tar.xz - | | |-- bluedevil-1.2.3.tar.xz - | | |-- calligra-2.4.3.tar.xz - | | |-- k3b-2.0.2_20120226.git.tar.xz - | | |-- kaudiocreator-1.3.tar.xz - | | |-- kdevelop-4.3.1.tar.xz - | | |-- kdevelop-pg-qt-1.0.0.tar.xz - | | |-- kdevplatform-1.3.1.tar.xz - | | |-- kplayer-0.7.2.tar.xz - | | |-- ktorrent-4.2.1.tar.xz - | | |-- kwebkitpart-1.2.0_20111116git.tar.xz - | | |-- libktorrent-1.2.1_2.tar.xz - | | |-- networkmanagement-0.9.0.tar.xz - | | |-- oxygen-gtk2-1.3.0.tar.xz - | | |-- polkit-kde-agent-1-9d74ae3_20120104git.tar.xz - | | |-- polkit-kde-kcmodules-1-001bdf7_20120111git.tar.xz - | | |-- quanta-29a3f8e_20111223git.tar.xz - | | |-- skanlite-0.8.tar.xz - | | `-- wicd-kde-0.3.0_bcf27d8.tar.xz - | |-- filelight-4.8.5.tar.xz - | |-- gwenview-4.8.5.tar.xz - | |-- jovie-4.8.5.tar.xz - | |-- kaccessible-4.8.5.tar.xz - | |-- kactivities-4.8.5.tar.xz - | |-- kalgebra-4.8.5.tar.xz - | |-- kalzium-4.8.5.tar.xz - | |-- kamera-4.8.5.tar.xz - | |-- kanagram-4.8.5.tar.xz - | |-- kate-4.8.5.tar.xz - | |-- kbruch-4.8.5.tar.xz - | |-- kcalc-4.8.5.tar.xz - | |-- kcharselect-4.8.5.tar.xz - | |-- kcolorchooser-4.8.5.tar.xz - | |-- kde-baseapps-4.8.5.tar.xz - | |-- kde-runtime-4.8.5.tar.xz - | |-- kde-wallpapers-4.8.5.tar.xz - | |-- kde-workspace-4.8.5.tar.xz - | |-- kdeadmin-4.8.5.tar.xz - | |-- kdeartwork-4.8.5.tar.xz - | |-- kdegames-4.8.5.tar.xz - | |-- kdegraphics-mobipocket-4.8.5.tar.xz - | |-- kdegraphics-strigi-analyzer-4.8.5.tar.xz - | |-- kdegraphics-thumbnailers-4.8.5.tar.xz - | |-- kdelibs-4.8.5.tar.xz - | |-- kdemultimedia-4.8.5.tar.xz - | |-- kdenetwork-4.8.5.tar.xz - | |-- kdepim-4.8.5.tar.xz - | |-- kdepim-runtime-4.8.5.tar.xz - | |-- kdepimlibs-4.8.5.tar.xz - | |-- kdeplasma-addons-4.8.5.tar.xz - | |-- kdesdk-4.8.5.tar.xz - | |-- kdetoys-4.8.5.tar.xz - | |-- kdewebdev-4.8.5.tar.xz - | |-- kdf-4.8.5.tar.xz - | |-- kfloppy-4.8.5.tar.xz - | |-- kgamma-4.8.5.tar.xz - | |-- kgeography-4.8.5.tar.xz - | |-- kgpg-4.8.5.tar.xz - | |-- khangman-4.8.5.tar.xz - | |-- kig-4.8.5.tar.xz - | |-- kimono-4.8.5.tar.xz - | |-- kiten-4.8.5.tar.xz - | |-- klettres-4.8.5.tar.xz - | |-- kmag-4.8.5.tar.xz - | |-- kmousetool-4.8.5.tar.xz - | |-- kmouth-4.8.5.tar.xz - | |-- kmplot-4.8.5.tar.xz - | |-- kolourpaint-4.8.5.tar.xz - | |-- konsole-4.8.5.tar.xz - | |-- korundum-4.8.5.tar.xz - | |-- kremotecontrol-4.8.5.tar.xz - | |-- kross-interpreters-4.8.5.tar.xz - | |-- kruler-4.8.5.tar.xz - | |-- ksaneplugin-4.8.5.tar.xz - | |-- ksecrets-4.8.5.tar.xz - | |-- ksnapshot-4.8.5.tar.xz - | |-- kstars-4.8.5.tar.xz - | |-- ktimer-4.8.5.tar.xz - | |-- ktouch-4.8.5.tar.xz - | |-- kturtle-4.8.5.tar.xz - | |-- kwallet-4.8.5.tar.xz - | |-- kwordquiz-4.8.5.tar.xz - | |-- libkdcraw-4.8.5.tar.xz - | |-- libkdeedu-4.8.5.tar.xz - | |-- libkexiv2-4.8.5.tar.xz - | |-- libkipi-4.8.5.tar.xz - | |-- libksane-4.8.5.tar.xz - | |-- marble-4.8.5.tar.xz - | |-- okular-4.8.5.tar.xz - | |-- oxygen-icons-4.8.5.tar.xz - | |-- parley-4.8.5.tar.xz - | |-- perlkde-4.8.5.tar.xz - | |-- perlqt-4.8.5.tar.xz - | |-- printer-applet-4.8.5.tar.xz - | |-- pykde4-4.8.5.tar.xz - | |-- qtruby-4.8.5.tar.xz - | |-- qyoto-4.8.5.tar.xz - | |-- rocs-4.8.5.tar.xz - | |-- smokegen-4.8.5.tar.xz - | |-- smokekde-4.8.5.tar.xz - | |-- smokeqt-4.8.5.tar.xz - | |-- step-4.8.5.tar.xz - | |-- superkaramba-4.8.5.tar.xz - | |-- svgpart-4.8.5.tar.xz - | `-- sweeper-4.8.5.tar.xz - |-- kdei - | |-- calligra-l10n - | | |-- calligra-l10n-ca-2.4.3.tar.xz - | | |-- calligra-l10n-ca@valencia-2.4.3.tar.xz - | | |-- calligra-l10n-cs-2.4.3.tar.xz - | | |-- calligra-l10n-da-2.4.3.tar.xz - | | |-- calligra-l10n-de-2.4.3.tar.xz - | | |-- calligra-l10n-el-2.4.3.tar.xz - | | |-- calligra-l10n-en_GB-2.4.3.tar.xz - | | |-- calligra-l10n-es-2.4.3.tar.xz - | | |-- calligra-l10n-et-2.4.3.tar.xz - | | |-- calligra-l10n-fi-2.4.3.tar.xz - | | |-- calligra-l10n-fr-2.4.3.tar.xz - | | |-- calligra-l10n-hu-2.4.3.tar.xz - | | |-- calligra-l10n-it-2.4.3.tar.xz - | | |-- calligra-l10n-ja-2.4.3.tar.xz - | | |-- calligra-l10n-kk-2.4.3.tar.xz - | | |-- calligra-l10n-nb-2.4.3.tar.xz - | | |-- calligra-l10n-nds-2.4.3.tar.xz - | | |-- calligra-l10n-nl-2.4.3.tar.xz - | | |-- calligra-l10n-pl-2.4.3.tar.xz - | | |-- calligra-l10n-pt-2.4.3.tar.xz - | | |-- calligra-l10n-pt_BR-2.4.3.tar.xz - | | |-- calligra-l10n-ru-2.4.3.tar.xz - | | |-- calligra-l10n-sk-2.4.3.tar.xz - | | |-- calligra-l10n-sv-2.4.3.tar.xz - | | |-- calligra-l10n-uk-2.4.3.tar.xz - | | |-- calligra-l10n-zh_CN-2.4.3.tar.xz - | | |-- calligra-l10n-zh_TW-2.4.3.tar.xz - | | |-- calligra-l10n.SlackBuild - | | |-- languages - | | `-- slack-desc - | | |-- slack-desc.calligra-l10n-af - | | |-- slack-desc.calligra-l10n-ar - | | |-- slack-desc.calligra-l10n-az - | | |-- slack-desc.calligra-l10n-bg - | | |-- slack-desc.calligra-l10n-br - | | |-- slack-desc.calligra-l10n-bs - | | |-- slack-desc.calligra-l10n-ca - | | |-- slack-desc.calligra-l10n-ca@valencia - | | |-- slack-desc.calligra-l10n-cs - | | |-- slack-desc.calligra-l10n-cy - | | |-- slack-desc.calligra-l10n-da - | | |-- slack-desc.calligra-l10n-de - | | |-- slack-desc.calligra-l10n-el - | | |-- slack-desc.calligra-l10n-en_GB - | | |-- slack-desc.calligra-l10n-eo - | | |-- slack-desc.calligra-l10n-es - | | |-- slack-desc.calligra-l10n-et - | | |-- slack-desc.calligra-l10n-eu - | | |-- slack-desc.calligra-l10n-fa - | | |-- slack-desc.calligra-l10n-fi - | | |-- slack-desc.calligra-l10n-fr - | | |-- slack-desc.calligra-l10n-fy - | | |-- slack-desc.calligra-l10n-ga - | | |-- slack-desc.calligra-l10n-gl - | | |-- slack-desc.calligra-l10n-he - | | |-- slack-desc.calligra-l10n-hi - | | |-- slack-desc.calligra-l10n-hne - | | |-- slack-desc.calligra-l10n-hsb - | | |-- slack-desc.calligra-l10n-hu - | | |-- slack-desc.calligra-l10n-is - | | |-- slack-desc.calligra-l10n-it - | | |-- slack-desc.calligra-l10n-ja - | | |-- slack-desc.calligra-l10n-kk - | | |-- slack-desc.calligra-l10n-km - | | |-- slack-desc.calligra-l10n-lo - | | |-- slack-desc.calligra-l10n-lt - | | |-- slack-desc.calligra-l10n-lv - | | |-- slack-desc.calligra-l10n-mk - | | |-- slack-desc.calligra-l10n-ms - | | |-- slack-desc.calligra-l10n-mt - | | |-- slack-desc.calligra-l10n-nb - | | |-- slack-desc.calligra-l10n-nds - | | |-- slack-desc.calligra-l10n-ne - | | |-- slack-desc.calligra-l10n-nl - | | |-- slack-desc.calligra-l10n-nn - | | |-- slack-desc.calligra-l10n-no - | | |-- slack-desc.calligra-l10n-no_NY - | | |-- slack-desc.calligra-l10n-pl - | | |-- slack-desc.calligra-l10n-pt - | | |-- slack-desc.calligra-l10n-pt_BR - | | |-- slack-desc.calligra-l10n-ro - | | |-- slack-desc.calligra-l10n-ru - | | |-- slack-desc.calligra-l10n-se - | | |-- slack-desc.calligra-l10n-sk - | | |-- slack-desc.calligra-l10n-sl - | | |-- slack-desc.calligra-l10n-sr - | | |-- slack-desc.calligra-l10n-sr@Latn - | | |-- slack-desc.calligra-l10n-sv - | | |-- slack-desc.calligra-l10n-ta - | | |-- slack-desc.calligra-l10n-tg - | | |-- slack-desc.calligra-l10n-th - | | |-- slack-desc.calligra-l10n-tr - | | |-- slack-desc.calligra-l10n-uk - | | |-- slack-desc.calligra-l10n-uz - | | |-- slack-desc.calligra-l10n-ven - | | |-- slack-desc.calligra-l10n-wa - | | |-- slack-desc.calligra-l10n-xh - | | |-- slack-desc.calligra-l10n-zh_CN - | | |-- slack-desc.calligra-l10n-zh_TW - | | `-- slack-desc.calligra-l10n-zu - | `-- kde-l10n - | |-- kde-l10n-ar-4.8.5.tar.xz - | |-- kde-l10n-bg-4.8.5.tar.xz - | |-- kde-l10n-bs-4.8.5.tar.xz - | |-- kde-l10n-ca-4.8.5.tar.xz - | |-- kde-l10n-ca@valencia-4.8.5.tar.xz - | |-- kde-l10n-cs-4.8.5.tar.xz - | |-- kde-l10n-da-4.8.5.tar.xz - | |-- kde-l10n-de-4.8.5.tar.xz - | |-- kde-l10n-el-4.8.5.tar.xz - | |-- kde-l10n-en_GB-4.8.5.tar.xz - | |-- kde-l10n-es-4.8.5.tar.xz - | |-- kde-l10n-et-4.8.5.tar.xz - | |-- kde-l10n-eu-4.8.5.tar.xz - | |-- kde-l10n-fa-4.8.5.tar.xz - | |-- kde-l10n-fi-4.8.5.tar.xz - | |-- kde-l10n-fr-4.8.5.tar.xz - | |-- kde-l10n-ga-4.8.5.tar.xz - | |-- kde-l10n-gl-4.8.5.tar.xz - | |-- kde-l10n-he-4.8.5.tar.xz - | |-- kde-l10n-hr-4.8.5.tar.xz - | |-- kde-l10n-hu-4.8.5.tar.xz - | |-- kde-l10n-ia-4.8.5.tar.xz - | |-- kde-l10n-id-4.8.5.tar.xz - | |-- kde-l10n-is-4.8.5.tar.xz - | |-- kde-l10n-it-4.8.5.tar.xz - | |-- kde-l10n-ja-4.8.5.tar.xz - | |-- kde-l10n-kk-4.8.5.tar.xz - | |-- kde-l10n-km-4.8.5.tar.xz - | |-- kde-l10n-ko-4.8.5.tar.xz - | |-- kde-l10n-lt-4.8.5.tar.xz - | |-- kde-l10n-lv-4.8.5.tar.xz - | |-- kde-l10n-nb-4.8.5.tar.xz - | |-- kde-l10n-nds-4.8.5.tar.xz - | |-- kde-l10n-nl-4.8.5.tar.xz - | |-- kde-l10n-nn-4.8.5.tar.xz - | |-- kde-l10n-pa-4.8.5.tar.xz - | |-- kde-l10n-pl-4.8.5.tar.xz - | |-- kde-l10n-pt-4.8.5.tar.xz - | |-- kde-l10n-pt_BR-4.8.5.tar.xz - | |-- kde-l10n-ro-4.8.5.tar.xz - | |-- kde-l10n-ru-4.8.5.tar.xz - | |-- kde-l10n-si-4.8.5.tar.xz - | |-- kde-l10n-sk-4.8.5.tar.xz - | |-- kde-l10n-sl-4.8.5.tar.xz - | |-- kde-l10n-sr-4.8.5.tar.xz - | |-- kde-l10n-sv-4.8.5.tar.xz - | |-- kde-l10n-tg-4.8.5.tar.xz - | |-- kde-l10n-th-4.8.5.tar.xz - | |-- kde-l10n-tr-4.8.5.tar.xz - | |-- kde-l10n-ug-4.8.5.tar.xz - | |-- kde-l10n-uk-4.8.5.tar.xz - | |-- kde-l10n-vi-4.8.5.tar.xz - | |-- kde-l10n-wa-4.8.5.tar.xz - | |-- kde-l10n-zh_CN-4.8.5.tar.xz - | |-- kde-l10n-zh_TW-4.8.5.tar.xz - | |-- kde-l10n.SlackBuild - | |-- kdepim-l10n - | | `-- extract-kdepim-goodness.sh - | |-- languages - | |-- local.options - | `-- slack-desc - | |-- slack-desc.kde-l10n-ar - | |-- slack-desc.kde-l10n-bg - | |-- slack-desc.kde-l10n-bn_IN - | |-- slack-desc.kde-l10n-bs - | |-- slack-desc.kde-l10n-ca - | |-- slack-desc.kde-l10n-ca@valencia - | |-- slack-desc.kde-l10n-cs - | |-- slack-desc.kde-l10n-csb - | |-- slack-desc.kde-l10n-da - | |-- slack-desc.kde-l10n-de - | |-- slack-desc.kde-l10n-el - | |-- slack-desc.kde-l10n-en_GB - | |-- slack-desc.kde-l10n-eo - | |-- slack-desc.kde-l10n-es - | |-- slack-desc.kde-l10n-et - | |-- slack-desc.kde-l10n-eu - | |-- slack-desc.kde-l10n-fa - | |-- slack-desc.kde-l10n-fi - | |-- slack-desc.kde-l10n-fr - | |-- slack-desc.kde-l10n-fy - | |-- slack-desc.kde-l10n-ga - | |-- slack-desc.kde-l10n-gl - | |-- slack-desc.kde-l10n-gu - | |-- slack-desc.kde-l10n-he - | |-- slack-desc.kde-l10n-hi - | |-- slack-desc.kde-l10n-hne - | |-- slack-desc.kde-l10n-hr - | |-- slack-desc.kde-l10n-hu - | |-- slack-desc.kde-l10n-ia - | |-- slack-desc.kde-l10n-id - | |-- slack-desc.kde-l10n-is - | |-- slack-desc.kde-l10n-it - | |-- slack-desc.kde-l10n-ja - | |-- slack-desc.kde-l10n-kk - | |-- slack-desc.kde-l10n-km - | |-- slack-desc.kde-l10n-kn - | |-- slack-desc.kde-l10n-ko - | |-- slack-desc.kde-l10n-ku - | |-- slack-desc.kde-l10n-lt - | |-- slack-desc.kde-l10n-lv - | |-- slack-desc.kde-l10n-mai - | |-- slack-desc.kde-l10n-mk - | |-- slack-desc.kde-l10n-ml - | |-- slack-desc.kde-l10n-mr - | |-- slack-desc.kde-l10n-nb - | |-- slack-desc.kde-l10n-nds - | |-- slack-desc.kde-l10n-nl - | |-- slack-desc.kde-l10n-nn - | |-- slack-desc.kde-l10n-pa - | |-- slack-desc.kde-l10n-pl - | |-- slack-desc.kde-l10n-pt - | |-- slack-desc.kde-l10n-pt_BR - | |-- slack-desc.kde-l10n-ro - | |-- slack-desc.kde-l10n-ru - | |-- slack-desc.kde-l10n-si - | |-- slack-desc.kde-l10n-sk - | |-- slack-desc.kde-l10n-sl - | |-- slack-desc.kde-l10n-sr - | |-- slack-desc.kde-l10n-sv - | |-- slack-desc.kde-l10n-ta - | |-- slack-desc.kde-l10n-tg - | |-- slack-desc.kde-l10n-th - | |-- slack-desc.kde-l10n-tr - | |-- slack-desc.kde-l10n-ug - | |-- slack-desc.kde-l10n-uk - | |-- slack-desc.kde-l10n-vi - | |-- slack-desc.kde-l10n-wa - | |-- slack-desc.kde-l10n-zh_CN - | `-- slack-desc.kde-l10n-zh_TW - |-- l - | |-- ConsoleKit - | | |-- ConsoleKit-0.4.5.tar.xz - | | |-- ConsoleKit.SlackBuild - | | |-- ck-history-don-t-truncate-frequent-output-to-8-chars.patch.gz - | | |-- consolekit-0.2.10-cleanup_console_tags.patch.gz - | | |-- consolekit-0.4.2-revert.patch.gz - | | |-- doinst.sh.gz - | | |-- pam-foreground-compat.ck - | | |-- rc.consolekit - | | `-- slack-desc - | |-- GConf - | | |-- GConf-3.2.5.tar.xz - | | |-- GConf.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- M2Crypto - | | |-- M2Crypto-0.21.1.tar.xz - | | |-- M2Crypto.SlackBuild - | | `-- slack-desc - | |-- PyQt - | | |-- PyQt-x11-gpl-4.9.1.tar.xz - | | |-- PyQt.SlackBuild - | | |-- PyQt.phonon.diff.gz - | | `-- slack-desc - | |-- QScintilla - | | |-- QScintilla-gpl-2.6.1.tar.xz - | | |-- QScintilla.SlackBuild - | | `-- slack-desc - | |-- aalib - | | |-- aalib-1.4rc5.tar.gz - | | |-- aalib.SlackBuild - | | |-- slack-desc - | | `-- slack-desc.11line - | |-- akonadi - | | |-- akonadi-1.7.2.tar.bz2 - | | |-- akonadi.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- alsa-lib - | | |-- alsa-lib-1.0.26.tar.xz - | | |-- alsa-lib.SlackBuild - | | `-- slack-desc - | |-- alsa-oss - | | |-- alsa-oss-1.0.25.tar.xz - | | |-- alsa-oss.SlackBuild - | | `-- slack-desc - | |-- apr - | | |-- apr-1.4.6.tar.bz2 - | | |-- apr-1.4.6.tar.bz2.asc - | | |-- apr.SlackBuild - | | |-- apr.url - | | `-- slack-desc - | |-- apr-util - | | |-- apr-util-1.4.1.tar.bz2 - | | |-- apr-util-1.4.1.tar.bz2.asc - | | |-- apr-util.SlackBuild - | | |-- apr-util.url - | | `-- slack-desc - | |-- aspell - | | |-- aspell-0.60.6.tar.xz - | | |-- aspell.SlackBuild - | | `-- slack-desc - | |-- aspell-dict - | | |-- aspell-af-0.50-0.tar.bz2 - | | |-- aspell-br-0.50-2.tar.bz2 - | | |-- aspell-cy-0.50-3.tar.bz2 - | | |-- aspell-dict.SlackBuild - | | |-- aspell-el-0.50-3.tar.bz2 - | | |-- aspell-eo-0.50-2.tar.bz2 - | | |-- aspell-es-0.50-2.tar.bz2 - | | |-- aspell-fr-0.50-3.tar.bz2 - | | |-- aspell-gl-0.50-0.tar.bz2 - | | |-- aspell-gv-0.50-0.tar.bz2 - | | |-- aspell-hr-0.51-0.tar.bz2 - | | |-- aspell-ia-0.50-1.tar.bz2 - | | |-- aspell-is-0.51.1-0.tar.bz2 - | | |-- aspell-mi-0.50-0.tar.bz2 - | | |-- aspell-mk-0.50-0.tar.bz2 - | | |-- aspell-ms-0.50-0.tar.bz2 - | | |-- aspell-mt-0.50-0.tar.bz2 - | | |-- aspell-nb-0.50.1-0.tar.bz2 - | | |-- aspell-nl-0.50-2.tar.bz2 - | | |-- aspell-nn-0.50.1-1.tar.bz2 - | | |-- aspell-no-0.50-2.tar.bz2 - | | |-- aspell-pl-0.51-0.tar.bz2 - | | |-- aspell-pt-0.50-2.tar.bz2 - | | |-- aspell-ro-0.50-2.tar.bz2 - | | |-- aspell-rw-0.50-0.tar.bz2 - | | |-- aspell-sk-0.52-0.tar.bz2 - | | |-- aspell-sl-0.50-0.tar.bz2 - | | |-- aspell-sv-0.51-0.tar.bz2 - | | |-- aspell-sw-0.50-0.tar.bz2 - | | |-- aspell-tr-0.50-0.tar.bz2 - | | |-- aspell-uk-0.51-0.tar.bz2 - | | |-- aspell-wa-0.50-0.tar.bz2 - | | |-- aspell-zu-0.50-0.tar.bz2 - | | |-- aspell5-be-0.01.tar.bz2 - | | |-- aspell5-bg-4.0-0.tar.bz2 - | | |-- aspell5-da-1.4.42-1.tar.bz2 - | | |-- aspell5-fo-0.2.16-1.tar.bz2 - | | |-- aspell5-ga-3.6-0.tar.bz2 - | | |-- aspell5-gd-0.1.1-1.tar.bz2 - | | |-- aspell5-hil-0.11-0.tar.bz2 - | | |-- aspell5-id-1.2-0.tar.bz2 - | | |-- aspell5-ku-0.12-0.tar.bz2 - | | |-- aspell5-mg-0.03-0.tar.bz2 - | | |-- aspell5-ny-0.01-0.tar.bz2 - | | |-- aspell5-sc-1.0.tar.bz2 - | | |-- aspell5-tet-0.1.1.tar.bz2 - | | |-- aspell5-tl-0.02-1.tar.bz2 - | | |-- aspell5-tn-1.0.1-0.tar.bz2 - | | |-- aspell6-am-0.03-1.tar.bz2 - | | |-- aspell6-az-0.02-0.tar.bz2 - | | |-- aspell6-bn-0.01.1-1.tar.bz2 - | | |-- aspell6-ca-20040130-1.tar.bz2 - | | |-- aspell6-cs-20040614-1.tar.bz2 - | | |-- aspell6-csb-0.02-0.tar.bz2 - | | |-- aspell6-de-20030222-1.tar.bz2 - | | |-- aspell6-en-6.0-0.tar.bz2 - | | |-- aspell6-et-0.1.21-1.tar.bz2 - | | |-- aspell6-fa-0.02-0.tar.bz2 - | | |-- aspell6-fi-0.7-0.tar.bz2 - | | |-- aspell6-gu-0.02-0.tar.bz2 - | | |-- aspell6-he-1.0-0.tar.bz2 - | | |-- aspell6-hi-0.01-0.tar.bz2 - | | |-- aspell6-hsb-0.01-1.tar.bz2 - | | |-- aspell6-hu-0.99.4.2-0.tar.bz2 - | | |-- aspell6-it-2.2_20050523-0.tar.bz2 - | | |-- aspell6-la-20020503-0.tar.bz2 - | | |-- aspell6-lt-1.1+cvs20060103-0.tar.bz2 - | | |-- aspell6-lv-0.5.5-1.tar.bz2 - | | |-- aspell6-mn-0.01-0.tar.bz2 - | | |-- aspell6-mr-0.10-0.tar.bz2 - | | |-- aspell6-nds-0.01-0.tar.bz2 - | | |-- aspell6-or-0.03-1.tar.bz2 - | | |-- aspell6-pa-0.01-1.tar.bz2 - | | |-- aspell6-pt_BR-20080707-0.tar.bz2 - | | |-- aspell6-qu-0.02-0.tar.bz2 - | | |-- aspell6-ru-0.99f7-1.tar.bz2 - | | |-- aspell6-sr-0.02.tar.bz2 - | | |-- aspell6-ta-20040424-1.tar.bz2 - | | |-- aspell6-te-0.01-2.tar.bz2 - | | |-- aspell6-uk-1.1-0.tar.bz2 - | | |-- aspell6-uz-0.5-0.tar.bz2 - | | |-- aspell6-vi-0.01.1-1.tar.bz2 - | | `-- aspell6-yi-0.01.1-1.tar.bz2 - | |-- atk - | | |-- atk-2.4.0.tar.xz - | | |-- atk.SlackBuild - | | `-- slack-desc - | |-- attica - | | |-- attica-0.4.0.tar.bz2 - | | |-- attica.SlackBuild - | | `-- slack-desc - | |-- audiofile - | | |-- audiofile-0.2.7.tar.xz - | | |-- audiofile.SlackBuild - | | `-- slack-desc - | |-- automoc4 - | | |-- automoc4-0.9.88.tar.bz2 - | | |-- automoc4.SlackBuild - | | `-- slack-desc - | |-- babl - | | |-- babl-0.1.10.tar.xz - | | |-- babl.SlackBuild - | | `-- slack-desc - | |-- boost - | | |-- boost.SlackBuild - | | |-- boost_1_49_0.tar.xz - | | `-- slack-desc - | |-- cairo - | | |-- cairo-1.10.0-buggy_gradients.patch.gz - | | |-- cairo-1.10.2.tar.xz - | | |-- cairo.SlackBuild - | | `-- slack-desc - | |-- chmlib - | | |-- chmlib-0.40.tar.bz2 - | | |-- chmlib.SlackBuild - | | |-- chmlib.info - | | `-- slack-desc - | |-- clucene - | | |-- clucene-src-2.3.3.4.tar.xz - | | |-- clucene.SlackBuild - | | |-- clucene.pkgconfig.patch - | | `-- slack-desc - | |-- db42 - | | |-- db-4.2.52.tar.bz2 - | | |-- db42.SlackBuild - | | |-- patch.4.2.52.1.gz - | | |-- patch.4.2.52.2.gz - | | |-- patch.4.2.52.3.gz - | | |-- patch.4.2.52.4.gz - | | `-- slack-desc - | |-- db44 - | | |-- db-4.4.20.tar.bz2 - | | |-- db44.SlackBuild - | | |-- patch.4.4.20.1.gz - | | |-- patch.4.4.20.2.gz - | | `-- slack-desc - | |-- db48 - | | |-- db-4.8.30.tar.xz - | | |-- db48.SlackBuild - | | `-- slack-desc - | |-- dbus-glib - | | |-- dbus-glib-0.98.tar.xz - | | |-- dbus-glib.SlackBuild - | | `-- slack-desc - | |-- dbus-python - | | |-- dbus-python-1.1.0.tar.xz - | | |-- dbus-python.SlackBuild - | | `-- slack-desc - | |-- desktop-file-utils - | | |-- desktop-file-utils-0.20.tar.xz - | | |-- desktop-file-utils.SlackBuild - | | |-- desktop-file-utils.quiet.warnings.diff.gz - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- djvulibre - | | |-- djvulibre-3.5.25.3.tar.xz - | | |-- djvulibre.SlackBuild - | | |-- djvulibre.info - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- ebook-tools - | | |-- ebook-tools-0.2.1.tar.bz2 - | | |-- ebook-tools.SlackBuild - | | |-- ebook-tools.paths.diff - | | `-- slack-desc - | |-- eigen2 - | | |-- eigen2-2.0.10.tar.xz - | | |-- eigen2.SlackBuild - | | `-- slack-desc - | |-- enchant - | | |-- enchant-1.5.0.tar.xz - | | |-- enchant.SlackBuild - | | |-- enchant.info - | | `-- slack-desc - | |-- esound - | | |-- doinst.sh.gz - | | |-- esound-0.2.41.tar.bz2 - | | |-- esound.SlackBuild - | | `-- slack-desc - | |-- exiv2 - | | |-- exiv2-0.23.tar.xz - | | |-- exiv2.SlackBuild - | | `-- slack-desc - | |-- expat - | | |-- expat-2.0.1-fixes-3.patch.gz - | | |-- expat-2.0.1.tar.gz - | | |-- expat.SlackBuild - | | `-- slack-desc - | |-- fftw - | | |-- fftw-3.2.2.tar.xz - | | |-- fftw.SlackBuild - | | `-- slack-desc - | |-- freetype - | | |-- freetype-2.4.10.tar.xz - | | |-- freetype.SlackBuild - | | |-- freetype.illadvisederror.diff.gz - | | |-- freetype.subpixel.rendering.diff.gz - | | `-- slack-desc - | |-- fribidi - | | |-- fribidi-0.19.2.tar.xz - | | |-- fribidi.SlackBuild - | | |-- fribidi.glib.h.diff.gz - | | `-- slack-desc - | |-- fuse - | | |-- doinst.sh.gz - | | |-- fuse-2.8.5.tar.xz - | | |-- fuse.SlackBuild - | | `-- slack-desc - | |-- gamin - | | |-- doinst.sh.gz - | | |-- fix-double-lock-in-inotify-helper-c.patch.gz - | | |-- gamin-0.1.10.tar.xz - | | |-- gamin.SlackBuild - | | |-- gaminrc.gz - | | |-- no_g_const_return.patch.gz - | | `-- slack-desc - | |-- gcr - | | |-- doinst.sh.gz - | | |-- gcr-3.4.1.tar.xz - | | |-- gcr.SlackBuild - | | `-- slack-desc - | |-- gd - | | |-- gd-2.0.35.tar.bz2 - | | |-- gd.SlackBuild - | | |-- gd.png14.diff.gz - | | |-- gdlib.pc - | | `-- slack-desc - | |-- gdbm - | | |-- gdbm-1.8.3.tar.gz - | | |-- gdbm.SlackBuild - | | `-- slack-desc - | |-- gdk-pixbuf2 - | | |-- doinst.sh.gz - | | |-- gdk-pixbuf-2.26.1.tar.xz - | | |-- gdk-pixbuf.pnglz.diff.gz - | | |-- gdk-pixbuf2.SlackBuild - | | |-- slack-desc - | | `-- update-gdk-pixbuf-loaders - | |-- gegl - | | |-- gegl-0.2.0.tar.xz - | | |-- gegl.SlackBuild - | | `-- slack-desc - | |-- giflib - | | |-- giflib-4.1.6.tar.xz - | | |-- giflib.SlackBuild - | | `-- slack-desc - | |-- glade3 - | | |-- glade3-3.8.1.tar.xz - | | |-- glade3.SlackBuild - | | `-- slack-desc - | |-- glib - | | |-- glib-1.2.10.tar.bz2 - | | |-- glib.SlackBuild - | | |-- glib1.2_1.2.10-17.diff.bz2 - | | `-- slack-desc - | |-- glib-networking - | | |-- doinst.sh.gz - | | |-- glib-networking-2.32.3.tar.xz - | | |-- glib-networking.SlackBuild - | | `-- slack-desc - | |-- glib2 - | | |-- doinst.sh.gz - | | |-- glib-2.32.4.tar.xz - | | |-- glib2.SlackBuild - | | |-- libglib2.csh - | | |-- libglib2.sh - | | `-- slack-desc - | |-- glibc - | | |-- doinst.sh-glibc - | | |-- doinst.sh-glibc-solibs - | | |-- doinst.sh-glibc-zoneinfo - | | |-- glibc-2.10-dns-no-gethostbyname4.diff.gz - | | |-- glibc-2.14-reexport-rpc-interface.patch.gz - | | |-- glibc-2.14-reinstall-nis-rpc-headers.patch.gz - | | |-- glibc-2.14.1-fixes-1.patch.gz - | | |-- glibc-2.15-revert-c5a0802a.diff.gz - | | |-- glibc-2.15.nscd-race-fix.diff.gz - | | |-- glibc-2.15.tar.xz - | | |-- glibc-2.15.tar.xz.sig - | | |-- glibc-cvs-checkout.sh - | | |-- glibc.SlackBuild - | | |-- glibc.disable.broken.optimized.memcpy.diff.gz - | | |-- glibc.getcwd.max.macro.diff.gz - | | |-- glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch.gz - | | |-- glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz - | | |-- glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch.gz - | | |-- glibc.ldd.trace.through.dynamic.linker.diff.gz - | | |-- glibc.locale.no-archive.diff.gz - | | |-- glibc.make-3.82.diff.gz - | | |-- glibc.nis-netgroups.diff.gz - | | |-- glibc.revert.to.fix.build.breakages.diff.gz - | | |-- glibc.ru_RU.CP1251.diff.gz - | | |-- glibc.strtod.CVE-2012-3480.diff.gz - | | |-- is_IS.diff.gz - | | |-- profile.d - | | | |-- glibc.csh.new - | | | `-- glibc.sh.new - | | |-- slack-desc.glibc - | | |-- slack-desc.glibc-debug - | | |-- slack-desc.glibc-i18n - | | |-- slack-desc.glibc-profile - | | |-- slack-desc.glibc-solibs - | | |-- slack-desc.glibc-solibs-linuxthreads - | | |-- slack-desc.glibc-zoneinfo - | | |-- slack-desc.glibc-zoneinfo.olson - | | |-- timezone-scripts - | | | |-- output-updated-timeconfig.sh - | | | |-- parts - | | | | |-- 00 - | | | | |-- 01 - | | | | |-- 02 - | | | | |-- 03 - | | | | |-- 04 - | | | | `-- README - | | | |-- setup.timeconfig - | | | `-- timeconfig - | | |-- tzcode2012f.tar.gz - | | `-- tzdata2012f.tar.gz - | |-- gmime - | | |-- gmime-2.4.15.tar.xz - | | |-- gmime.SlackBuild - | | `-- slack-desc - | |-- gmm - | | |-- gmm-3.1.tar.bz2 - | | |-- gmm.SlackBuild - | | |-- gmm.info - | | `-- slack-desc - | |-- gmp - | | |-- gmp-5.0.5.tar.xz - | | |-- gmp-5.0.5.tar.xz.sig - | | |-- gmp.SlackBuild - | | `-- slack-desc - | |-- gnome-icon-theme - | | |-- doinst.sh.gz - | | |-- gnome-icon-theme-3.4.0.tar.xz - | | |-- gnome-icon-theme-extras-3.4.0.tar.xz - | | |-- gnome-icon-theme-symbolic-3.4.0.tar.xz - | | |-- gnome-icon-theme.SlackBuild - | | `-- slack-desc - | |-- gnome-keyring - | | |-- doinst.sh.gz - | | |-- gnome-keyring-3.4.1.tar.xz - | | |-- gnome-keyring.SlackBuild - | | |-- gpg-agent-Hook-up-the-TTL-cache-option.patch.gz - | | |-- schema-Update-description-for-gpg-cache-method.patch.gz - | | |-- secret-store-Mark-a-secret-item-as-used-when-acces.patch.gz - | | `-- slack-desc - | |-- gobject-introspection - | | |-- gobject-introspection-1.32.1.tar.xz - | | |-- gobject-introspection.SlackBuild - | | `-- slack-desc - | |-- grantlee - | | |-- grantlee-0.2.0.tar.xz - | | |-- grantlee.SlackBuild - | | `-- slack-desc - | |-- gsettings-desktop-schemas - | | |-- doinst.sh.gz - | | |-- gsettings-desktop-schemas-3.4.2.tar.xz - | | |-- gsettings-desktop-schemas.SlackBuild - | | `-- slack-desc - | |-- gst-plugins-base - | | |-- gst-plugins-base-0.10.36.tar.xz - | | |-- gst-plugins-base.SlackBuild - | | `-- slack-desc - | |-- gst-plugins-good - | | |-- gst-plugins-good-0.10.31.tar.xz - | | |-- gst-plugins-good.SlackBuild - | | `-- slack-desc - | |-- gstreamer - | | |-- gstreamer-0.10.36.tar.xz - | | |-- gstreamer.SlackBuild - | | `-- slack-desc - | |-- gtk+ - | | |-- gtk+-1.2.10.tar.bz2 - | | |-- gtk+.SlackBuild - | | |-- gtk+1.2_1.2.10-18.diff.bz2 - | | `-- slack-desc - | |-- gtk+2 - | | |-- doinst.sh.gz - | | |-- fix_build_issues_on_tutorial_and_faq.diff.gz - | | |-- gtk+-2.24.10.tar.xz - | | |-- gtk+-2.24.x.icon-compat.am.diff.gz - | | |-- gtk+-2.24.x.icon-compat.diff.gz - | | |-- gtk+2.SlackBuild - | | |-- gtk.xid.nowarningflood.diff.gz - | | |-- profile.d - | | | |-- gtk+.csh - | | | `-- gtk+.sh - | | |-- slack-desc - | | |-- update-gtk-immodules - | | |-- update-gtk-immodules-2.0 - | | `-- use_host_triplet_for_gtk_immodules.diff.gz - | |-- gtk+3 - | | |-- doinst.sh.gz - | | |-- gtk+-3.4.4.tar.xz - | | |-- gtk+3.SlackBuild - | | |-- slack-desc - | | |-- update-gtk-immodules-3.0 - | | `-- use_host_triplet_for_gtk_immodules.diff.gz - | |-- gtkspell - | | |-- gtkspell-2.0.16.tar.xz - | | |-- gtkspell.SlackBuild - | | `-- slack-desc - | |-- gvfs - | | |-- doinst.sh.gz - | | |-- gvfs-1.12.3.tar.xz - | | |-- gvfs.SlackBuild - | | `-- slack-desc - | |-- herqq - | | |-- herqq-1.0.0.zip - | | |-- herqq.SlackBuild - | | `-- slack-desc - | |-- hicolor-icon-theme - | | |-- doinst.sh.gz - | | |-- hicolor-icon-theme-0.12.tar.gz - | | |-- hicolor-icon-theme.SlackBuild - | | |-- setup.08.gtk-update-icon-cache - | | `-- slack-desc - | |-- hunspell - | | |-- hunspell-1.3.2.tar.xz - | | |-- hunspell.SlackBuild - | | `-- slack-desc - | |-- icon-naming-utils - | | |-- icon-naming-utils-0.8.90.tar.gz - | | |-- icon-naming-utils.SlackBuild - | | |-- icon-naming-utils.pkgconfigdir.diff.gz - | | `-- slack-desc - | |-- icu4c - | | |-- icu4c-49_1_2-src.tar.xz - | | |-- icu4c.SlackBuild - | | `-- slack-desc - | |-- ilmbase - | | |-- ilmbase-1.0.2.tar.xz - | | |-- ilmbase.SlackBuild - | | |-- ilmbase.gcc4.diff.gz - | | |-- ilmbase.info - | | `-- slack-desc - | |-- imlib - | | |-- imlib-1.9.15.tar.xz - | | |-- imlib.SlackBuild - | | |-- imlib.mitshm.render.diff.gz - | | `-- slack-desc - | |-- iso-codes - | | |-- iso-codes-3.24.2.tar.bz2 - | | |-- iso-codes-3.24.2.tar.bz2.sig - | | |-- iso-codes.SlackBuild - | | |-- iso-codes.info - | | `-- slack-desc - | |-- jasper - | | |-- jasper-1.900.1.tar.bz2 - | | |-- jasper.SlackBuild - | | `-- slack-desc - | |-- js185 - | | |-- js185-1.0.0.tar.xz - | | |-- js185-destdir.patch - | | |-- js185.SlackBuild - | | `-- slack-desc - | |-- keybinder - | | |-- keybinder-0.3.0.tar.xz - | | |-- keybinder.SlackBuild - | | `-- slack-desc - | |-- keyutils - | | |-- keyutils-1.5.5.tar.bz2 - | | |-- keyutils.SlackBuild - | | `-- slack-desc - | |-- lcms - | | |-- lcms-1.19.tar.xz - | | |-- lcms.SlackBuild - | | `-- slack-desc - | |-- lcms2 - | | |-- lcms2-2.3.tar.xz - | | |-- lcms2.SlackBuild - | | `-- slack-desc - | |-- lesstif - | | |-- doinst.sh.gz - | | |-- lesstif-0.95.2.tar.xz - | | |-- lesstif.Makefile.in.patch.gz - | | |-- lesstif.PutPixel32.patch.gz - | | |-- lesstif.SlackBuild - | | |-- lesstif.rendertable.check.diff.gz - | | |-- lesstif.x86_64.patch.gz - | | `-- slack-desc - | |-- libaio - | | |-- libaio-0.3.109.tar.bz2 - | | |-- libaio-0.3.109.tar.sign - | | |-- libaio.SlackBuild - | | `-- slack-desc - | |-- libao - | | |-- libao-1.1.0.tar.gz - | | |-- libao.SlackBuild - | | `-- slack-desc - | |-- libarchive - | | |-- libarchive-2.8.5.tar.xz - | | |-- libarchive.SlackBuild - | | `-- slack-desc - | |-- libart_lgpl - | | |-- libart_lgpl-2.3.21.tar.xz - | | |-- libart_lgpl.SlackBuild - | | `-- slack-desc - | |-- libatasmart - | | |-- README - | | |-- libatasmart-0.19.tar.xz - | | |-- libatasmart.SlackBuild - | | |-- libatasmart.info - | | `-- slack-desc - | |-- libbluedevil - | | |-- libbluedevil-1.9.2.tar.bz2 - | | |-- libbluedevil.SlackBuild - | | `-- slack-desc - | |-- libcaca - | | |-- libcaca-0.99.beta18.tar.xz - | | |-- libcaca.SlackBuild - | | `-- slack-desc - | |-- libcanberra - | | |-- libcanberra-0.29.tar.xz - | | |-- libcanberra.SlackBuild - | | |-- libcanberra.url - | | `-- slack-desc - | |-- libcap - | | |-- README.SLACKWARE - | | |-- capfaq-0.2.txt - | | |-- libcap-2.22.tar.bz2 - | | |-- libcap-2.22.tar.bz2.sign - | | |-- libcap.SlackBuild - | | |-- libcap.capability.h.fix.broken.includes.diff.gz - | | `-- slack-desc - | |-- libcddb - | | |-- libcddb-1.3.2.tar.xz - | | |-- libcddb.SlackBuild - | | `-- slack-desc - | |-- libcdio - | | |-- libcdio-0.83.tar.xz - | | |-- libcdio.SlackBuild - | | |-- libcdio.url - | | `-- slack-desc - | |-- libcroco - | | |-- libcroco-0.6.5.tar.xz - | | |-- libcroco.SlackBuild - | | |-- libcroco.url - | | `-- slack-desc - | |-- libdbusmenu-qt - | | |-- libdbusmenu-qt-0.9.2.tar.bz2 - | | |-- libdbusmenu-qt.SlackBuild - | | `-- slack-desc - | |-- libdiscid - | | |-- libdiscid-0.2.2.tar.gz - | | |-- libdiscid.SlackBuild - | | `-- slack-desc - | |-- libdvdread - | | |-- libdvdread-4.2.0.tar.bz2 - | | |-- libdvdread.SlackBuild - | | `-- slack-desc - | |-- libelf - | | |-- libelf-0.8.13.tar.xz - | | |-- libelf.SlackBuild - | | `-- slack-desc - | |-- libexif - | | |-- libexif-0.6.21.tar.xz - | | |-- libexif.SlackBuild - | | |-- libexif.pc.diff.gz - | | `-- slack-desc - | |-- libffi - | | |-- libffi-3.0.11.tar.xz - | | |-- libffi.SlackBuild - | | `-- slack-desc - | |-- libglade - | | |-- libglade-2.6.4.tar.bz2 - | | |-- libglade.SlackBuild - | | `-- slack-desc - | |-- libgnome-keyring - | | |-- libgnome-keyring-3.4.1.tar.xz - | | |-- libgnome-keyring.SlackBuild - | | `-- slack-desc - | |-- libgphoto2 - | | |-- fix-usb_id-callout-for-udev-175.diff.gz - | | |-- libgphoto2-2.4.14.tar.xz - | | |-- libgphoto2.SlackBuild - | | `-- slack-desc - | |-- libgpod - | | |-- doinst.sh.gz - | | |-- libgpod-0.8.2.tar.xz - | | |-- libgpod.SlackBuild - | | `-- slack-desc - | |-- libgsf - | | |-- libgsf-1.14.20.tar.xz - | | |-- libgsf.SlackBuild - | | `-- slack-desc - | |-- libical - | | |-- README - | | |-- libical-0.48.tar.xz - | | |-- libical.SlackBuild - | | `-- slack-desc - | |-- libid3tag - | | |-- id3tag.pc - | | |-- libid3tag-0.15.1b.tar.gz - | | |-- libid3tag-0.15.1b.tar.gz.sign - | | |-- libid3tag.SlackBuild - | | `-- slack-desc - | |-- libidl - | | |-- libIDL-0.8.14.tar.xz - | | |-- libidl.SlackBuild - | | `-- slack-desc - | |-- libidn - | | |-- libidn-1.25.tar.xz - | | |-- libidn.SlackBuild - | | `-- slack-desc - | |-- libieee1284 - | | |-- libieee1284-0.2.11.tar.bz2 - | | |-- libieee1284.SlackBuild - | | `-- slack-desc - | |-- libiodbc - | | |-- libiodbc-3.52.7.tar.xz - | | |-- libiodbc.SlackBuild - | | `-- slack-desc - | |-- libjpeg - | | |-- jpegsrc.v8a.tar.xz - | | |-- libjpeg.SlackBuild - | | `-- slack-desc - | |-- libkarma - | | |-- libkarma-0.1.1.tar.gz - | | |-- libkarma.SlackBuild - | | `-- slack-desc - | |-- liblastfm - | | |-- liblastfm-1.0.1.tar.gz - | | |-- liblastfm.SlackBuild - | | `-- slack-desc - | |-- libmad - | | |-- libmad-0.15.1b.tar.gz - | | |-- libmad-0.15.1b.tar.gz.sign - | | |-- libmad.SlackBuild - | | |-- mad.pc - | | `-- slack-desc - | |-- libmcrypt - | | |-- libmcrypt-2.5.8.tar.bz2 - | | |-- libmcrypt.SlackBuild - | | `-- slack-desc - | |-- libmcs - | | |-- libmcs-0.7.2.tar.bz2 - | | |-- libmcs.SlackBuild - | | `-- slack-desc - | |-- libmng - | | |-- libmng-1.0.10.tar.xz - | | |-- libmng.SlackBuild - | | `-- slack-desc - | |-- libmowgli - | | |-- libmowgli-0.7.1.tar.bz2 - | | |-- libmowgli.SlackBuild - | | `-- slack-desc - | |-- libmpc - | | |-- libmpc.SlackBuild - | | |-- mpc-0.8.2.tar.xz - | | `-- slack-desc - | |-- libmsn - | | |-- libmsn-4.2.1.tar.bz2 - | | |-- libmsn.SlackBuild - | | |-- libmsn.gcc47.diff.gz - | | `-- slack-desc - | |-- libmtp - | | |-- libmtp-1.1.3.tar.xz - | | |-- libmtp.SlackBuild - | | `-- slack-desc - | |-- libnjb - | | |-- 80-libnjb.rules - | | |-- libnjb-2.2.6.tar.bz2 - | | |-- libnjb.SlackBuild - | | `-- slack-desc - | |-- libnl - | | |-- libnl-1.1.tar.bz2 - | | |-- libnl-include_limits.h.patch.gz - | | |-- libnl.SlackBuild - | | |-- libnl.info - | | `-- slack-desc - | |-- libnl3 - | | |-- doinst.sh.gz - | | |-- libnl-3.2.11.tar.xz - | | |-- libnl3.SlackBuild - | | `-- slack-desc - | |-- libnotify - | | |-- libnotify-0.7.5.tar.xz - | | |-- libnotify.SlackBuild - | | `-- slack-desc - | |-- libogg - | | |-- libogg-1.3.0.tar.xz - | | |-- libogg.SlackBuild - | | `-- slack-desc - | |-- liboggz - | | |-- liboggz-1.1.1.tar.xz - | | |-- liboggz.SlackBuild - | | `-- slack-desc - | |-- liboil - | | |-- liboil-0.3.17.tar.xz - | | |-- liboil.SlackBuild - | | `-- slack-desc - | |-- libpcap - | | |-- libpcap-1.3.0.tar.gz - | | |-- libpcap-1.3.0.tar.gz.sig - | | |-- libpcap.SlackBuild - | | `-- slack-desc - | |-- libplist - | | |-- libplist-1.4.tar.bz2 - | | |-- libplist.SlackBuild - | | `-- slack-desc - | |-- libpng - | | |-- libpng-1.2.50.tar.xz - | | |-- libpng-1.4.12.tar.xz - | | |-- libpng.SlackBuild - | | |-- libpng.url - | | `-- slack-desc - | |-- libproxy - | | |-- gcc47-include-unistd.h.diff.gz - | | |-- libproxy-0.4.7.tar.xz - | | |-- libproxy.SlackBuild - | | |-- libproxy.url - | | |-- only_link_mozjs185.diff.gz - | | `-- slack-desc - | |-- libraw1394 - | | |-- README - | | |-- libraw1394-2.0.7.tar.sign - | | |-- libraw1394-2.0.7.tar.xz - | | |-- libraw1394.SlackBuild - | | `-- slack-desc - | |-- librsvg - | | |-- librsvg-2.36.1.tar.xz - | | |-- librsvg.SlackBuild - | | `-- slack-desc - | |-- libsamplerate - | | |-- libsamplerate-0.1.7.tar.xz - | | |-- libsamplerate.SlackBuild - | | `-- slack-desc - | |-- libsndfile - | | |-- libsndfile-1.0.24.tar.xz - | | |-- libsndfile.SlackBuild - | | `-- slack-desc - | |-- libsoup - | | |-- libsoup-2.38.1.tar.xz - | | |-- libsoup.SlackBuild - | | `-- slack-desc - | |-- libspectre - | | |-- libspectre-0.2.6.tar.xz - | | |-- libspectre.SlackBuild - | | `-- slack-desc - | |-- libssh - | | |-- libssh-0.5.2.tar.gz - | | |-- libssh.SlackBuild - | | `-- slack-desc - | |-- libtasn1 - | | |-- libtasn1-2.12.tar.xz - | | |-- libtasn1.SlackBuild - | | `-- slack-desc - | |-- libtermcap - | | |-- libtermcap.SlackBuild - | | |-- slack-desc - | | |-- termcap-compat_1.2.3.diff.gz - | | |-- termcap-compat_1.2.3.dsc - | | |-- termcap-compat_1.2.3.tar.gz - | | |-- termcap.bufsize.diff.gz - | | `-- termcap.h.diff.gz - | |-- libtheora - | | |-- libtheora-1.1.1.tar.xz - | | |-- libtheora.SlackBuild - | | `-- slack-desc - | |-- libtiff - | | |-- libtiff-CVE-2012-1173.patch.gz - | | |-- libtiff.SlackBuild - | | |-- slack-desc - | | `-- tiff-3.9.6.tar.xz - | |-- libusb - | | |-- libusb-1.0.9.tar.xz - | | |-- libusb.SlackBuild - | | `-- slack-desc - | |-- libusb-compat - | | |-- libusb-compat-0.1.4.tar.xz - | | |-- libusb-compat.SlackBuild - | | `-- slack-desc - | |-- libvisual - | | |-- libvisual-0.4.0.tar.bz2 - | | |-- libvisual.SlackBuild - | | |-- libvisual.glib.h.diff.gz - | | `-- slack-desc - | |-- libvisual-plugins - | | |-- libvisual-plugins-0.4.0.tar.bz2 - | | |-- libvisual-plugins.SlackBuild - | | |-- libvisual-plugins.gstreamer.diff.gz - | | `-- slack-desc - | |-- libvncserver - | | |-- LibVNCServer-0.9.9.tar.xz - | | |-- libvncserver.SlackBuild - | | |-- libvncserver.info - | | `-- slack-desc - | |-- libvorbis - | | |-- libvorbis-1.3.3.tar.xz - | | |-- libvorbis.SlackBuild - | | `-- slack-desc - | |-- libwmf - | | |-- libwmf-0.2.8.4.tar.xz - | | |-- libwmf.SlackBuild - | | |-- libwmf.png14.diff.gz - | | |-- slack-desc - | | `-- slack-desc-docs - | |-- libwnck - | | |-- libwnck-2.30.7.tar.xz - | | |-- libwnck.SlackBuild - | | `-- slack-desc - | |-- libwpd - | | |-- libwpd-0.9.4.tar.xz - | | |-- libwpd.SlackBuild - | | `-- slack-desc - | |-- libxklavier - | | |-- libxklavier-5.2.1.tar.xz - | | |-- libxklavier.SlackBuild - | | `-- slack-desc - | |-- libxml2 - | | |-- libxml2-2.8.0.tar.xz - | | |-- libxml2.SlackBuild - | | `-- slack-desc - | |-- libxslt - | | |-- libxslt-1.1.26.tar.xz - | | |-- libxslt.SlackBuild - | | `-- slack-desc - | |-- libyaml - | | |-- libyaml.SlackBuild - | | |-- libyaml.url - | | |-- slack-desc - | | `-- yaml-0.1.4.tar.xz - | |-- libzip - | | |-- libzip-0.9.3.tar.bz2 - | | |-- libzip.SlackBuild - | | |-- libzip.info - | | `-- slack-desc - | |-- loudmouth - | | |-- loudmouth-1.4.3-glib-compile-fix.patch.gz - | | |-- loudmouth-1.4.3.tar.xz - | | |-- loudmouth.SlackBuild - | | |-- loudmouth.async_assertion.diff.gz - | | |-- loudmouth.crtpath.diff.gz - | | |-- loudmouth.gnutls.configure.ac.diff.gz - | | |-- loudmouth.sasl-md5-digest-uri.diff.gz - | | |-- loudmouth.stanzadrop.diff.gz - | | `-- slack-desc - | |-- lzo - | | |-- lzo-2.03.tar.xz - | | |-- lzo.SlackBuild - | | `-- slack-desc - | |-- media-player-info - | | |-- media-player-info-17.tar.xz - | | |-- media-player-info.SlackBuild - | | `-- slack-desc - | |-- mhash - | | |-- mhash-0.9.9.9.tar.bz2 - | | |-- mhash.SlackBuild - | | `-- slack-desc - | |-- mm - | | |-- mm-1.4.2.tar.bz2 - | | |-- mm.SlackBuild - | | `-- slack-desc - | |-- mozilla-nss - | | |-- MPL-1.1.txt - | | |-- faq.html - | | |-- gpl-2.0.txt - | | |-- lgpl-2.1.txt - | | |-- mozilla-nss.SlackBuild - | | |-- nspr-4.9.1.tar.xz - | | |-- nss-3.13.5.tar.xz - | | |-- nss-config.in - | | `-- slack-desc - | |-- mpfr - | | |-- mpfr-3.1.0.tar.xz - | | |-- mpfr-3.1.0.tar.xz.sig - | | |-- mpfr.SlackBuild - | | |-- patches - | | `-- slack-desc - | |-- ncurses - | | |-- Eterm.ti - | | |-- ncurses-5.9.tar.xz - | | |-- ncurses.SlackBuild - | | |-- ncurses.mkhashsize.diff.gz - | | |-- patches - | | |-- rxvt.terminfo - | | |-- screeninfo.src - | | |-- slack-desc - | | `-- xterm.terminfo - | |-- neon - | | |-- neon-0.29.6.tar.xz - | | |-- neon.SlackBuild - | | `-- slack-desc - | |-- netpbm - | | |-- config.mk.gz - | | |-- netpbm-10.49.02.tar.xz - | | |-- netpbm-manpages.tar.bz2 - | | |-- netpbm.SlackBuild - | | |-- slack-desc - | | `-- svn-checkout-stable.sh - | |-- notify-python - | | |-- libnotify07.patch.gz - | | |-- notify-python-0.1.1.tar.bz2 - | | |-- notify-python.SlackBuild - | | `-- slack-desc - | |-- openexr - | | |-- openexr-1.7.0.tar.xz - | | |-- openexr.SlackBuild - | | |-- openexr.gcc4.diff.gz - | | |-- openexr.info - | | `-- slack-desc - | |-- pango - | | |-- pango-1.30.1.tar.xz - | | |-- pango.SlackBuild - | | |-- pango.etc.host.location.diff.gz - | | |-- slack-desc - | | `-- update-pango-querymodules - | |-- parted - | | |-- parted-2.3.tar.xz - | | |-- parted.SlackBuild - | | |-- parted.SlackBuild.static - | | |-- parted.configure.diff.gz - | | `-- slack-desc - | |-- pcre - | | |-- pcre-8.12.tar.xz - | | |-- pcre.SlackBuild - | | `-- slack-desc - | |-- phonon - | | |-- phonon-4.6.0.tar.xz - | | |-- phonon.SlackBuild - | | `-- slack-desc - | |-- phonon-gstreamer - | | |-- phonon-backend-gstreamer-4.6.2.tar.xz - | | |-- phonon-gstreamer.SlackBuild - | | `-- slack-desc - | |-- phonon-mplayer - | | |-- cmake_fixes.tar.gz - | | |-- phonon-mplayer-1b1fd1f_20110823git.tar.xz - | | |-- phonon-mplayer.SlackBuild - | | `-- slack-desc - | |-- phonon-xine - | | |-- phonon-backend-xine-4.4.4.find.phonon.patch - | | |-- phonon-backend-xine-4.4.4.tar.bz2 - | | |-- phonon-xine.SlackBuild - | | `-- slack-desc - | |-- pil - | | |-- Imaging-1.1.7.tar.xz - | | |-- pil.SlackBuild - | | `-- slack-desc - | |-- pilot-link - | | |-- pilot-link-0.12.5.tar.bz2 - | | |-- pilot-link-0.12.5.tar.bz2.asc - | | |-- pilot-link.SlackBuild - | | |-- pilot-link.png14.diff.gz - | | `-- slack-desc - | |-- polkit - | | |-- 10-org.freedesktop.NetworkManager.pkla - | | |-- 20-plugdev-group-mount-override.pkla - | | |-- doinst.sh.gz - | | |-- polkit-0.105.tar.xz - | | |-- polkit.SlackBuild - | | `-- slack-desc - | |-- polkit-gnome - | | |-- polkit-gnome-0.102.tar.xz - | | |-- polkit-gnome-authentication-agent-1.desktop - | | |-- polkit-gnome.SlackBuild - | | `-- slack-desc - | |-- polkit-qt-1 - | | |-- polkit-qt-1-0.103.0.tar.bz2 - | | |-- polkit-qt-1.SlackBuild - | | |-- pull-polkit-qt-1 - | | `-- slack-desc - | |-- poppler - | | |-- poppler-0.20.2.tar.xz - | | |-- poppler.SlackBuild - | | |-- poppler_xyscale.patch.gz - | | `-- slack-desc - | |-- poppler-data - | | |-- poppler-data-0.4.5.tar.xz - | | |-- poppler-data.SlackBuild - | | `-- slack-desc - | |-- popt - | | |-- popt-1.7.tar.bz2 - | | |-- popt.SlackBuild - | | `-- slack-desc - | |-- pycairo - | | |-- py2cairo-1.8.10.tar.xz - | | |-- pycairo.SlackBuild - | | |-- pycairo.url - | | `-- slack-desc - | |-- pycups - | | |-- pycups-1.9.61.tar.bz2 - | | |-- pycups.SlackBuild - | | |-- pycups.info - | | `-- slack-desc - | |-- pycurl - | | |-- pycurl-7.19.0.tar.gz - | | |-- pycurl.SlackBuild - | | `-- slack-desc - | |-- pygobject - | | |-- pygobject-2.28.6.tar.xz - | | |-- pygobject.SlackBuild - | | |-- pygobject.flags.diff.gz - | | |-- pygobject.url - | | `-- slack-desc - | |-- pygtk - | | |-- pygtk-2.24.0.tar.xz - | | |-- pygtk.SlackBuild - | | `-- slack-desc - | |-- pyrex - | | |-- Pyrex-0.9.9.tar.xz - | | |-- Pyrex.url - | | |-- pyrex.SlackBuild - | | `-- slack-desc - | |-- qca - | | |-- qca-2.0.2.tar.bz2 - | | |-- qca.SlackBuild - | | |-- qca.info - | | `-- slack-desc - | |-- qca-cyrus-sasl - | | |-- qca-cyrus-sasl-2.0.0-beta3.tar.bz2 - | | |-- qca-cyrus-sasl.SlackBuild - | | `-- slack-desc - | |-- qca-gnupg - | | |-- qca-gnupg-2.0.0-beta3.tar.bz2 - | | |-- qca-gnupg.SlackBuild - | | `-- slack-desc - | |-- qca-ossl - | | |-- qca-ossl-2.0.0-beta3.tar.bz2 - | | |-- qca-ossl-openssl-1.0.0.patch.gz - | | |-- qca-ossl.SlackBuild - | | `-- slack-desc - | |-- qimageblitz - | | |-- qimageblitz-0.0.6.tar.bz2 - | | |-- qimageblitz.SlackBuild - | | |-- qimageblitz.info - | | `-- slack-desc - | |-- qt - | | |-- QElfParser-fix-type-of-sh_size.patch.gz - | | |-- QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch.gz - | | |-- QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch.gz - | | |-- Qt.pc - | | |-- README - | | |-- doinst.sh.gz - | | |-- profile.d - | | | |-- qt4.csh - | | | `-- qt4.sh - | | |-- qt-everywhere-opensource-src-4.8.2.tar.xz - | | |-- qt.SlackBuild - | | |-- qt.assistant.memcpy-crash.diff.gz - | | |-- qt.ca89c49.cursor.position.diff.gz - | | |-- qt.ld-gold.patch.gz - | | |-- qt.mysql.h.diff.gz - | | |-- qt.webkit-no_Werror.patch.gz - | | |-- qt.webkit.glib.diff.gz - | | `-- slack-desc - | |-- qtscriptgenerator - | | |-- include-everything.patch.gz - | | |-- qtscriptgenerator-src-0.2.0.tar.xz - | | |-- qtscriptgenerator.SlackBuild - | | |-- qtscriptgenerator.info - | | `-- slack-desc - | |-- raptor2 - | | |-- raptor2-2.0.8.tar.xz - | | |-- raptor2.SlackBuild - | | `-- slack-desc - | |-- rasqal - | | |-- rasqal-0.9.29.tar.xz - | | |-- rasqal.SlackBuild - | | `-- slack-desc - | |-- readline - | | |-- readline-5.2-patches - | | | |-- readline52-001 - | | | |-- readline52-001.sig - | | | |-- readline52-002 - | | | |-- readline52-002.sig - | | | |-- readline52-003 - | | | |-- readline52-003.sig - | | | |-- readline52-004 - | | | |-- readline52-004.sig - | | | |-- readline52-005 - | | | |-- readline52-005.sig - | | | |-- readline52-006 - | | | |-- readline52-006.sig - | | | |-- readline52-007 - | | | |-- readline52-007.sig - | | | |-- readline52-008 - | | | |-- readline52-008.sig - | | | |-- readline52-009 - | | | |-- readline52-009.sig - | | | |-- readline52-010 - | | | |-- readline52-010.sig - | | | |-- readline52-011 - | | | |-- readline52-011.sig - | | | |-- readline52-012 - | | | |-- readline52-012.sig - | | | |-- readline52-013 - | | | `-- readline52-013.sig - | | |-- readline-5.2.tar.bz2 - | | |-- readline.SlackBuild - | | `-- slack-desc - | |-- redland - | | |-- redland-1.0.15.tar.xz - | | |-- redland.SlackBuild - | | `-- slack-desc - | |-- sdl - | | |-- SDL-1.2.14.tar.xz - | | |-- SDL_image-1.2.10.tar.xz - | | |-- SDL_mixer-1.2.11.tar.xz - | | |-- SDL_mixer.usrlocal.diff.gz - | | |-- SDL_net-1.2.7.tar.xz - | | |-- SDL_ttf-2.0.10.tar.xz - | | |-- sdl.SlackBuild - | | |-- sdl.linux-2.6.31.input_absinfo.diff.gz - | | `-- slack-desc - | |-- sg3_utils - | | |-- sg3_utils-1.33.tar.xz - | | |-- sg3_utils.SlackBuild - | | |-- sg3_utils.info - | | `-- slack-desc - | |-- shared-desktop-ontologies - | | |-- shared-desktop-ontologies-0.9.0.tar.bz2 - | | |-- shared-desktop-ontologies.SlackBuild - | | `-- slack-desc - | |-- shared-mime-info - | | |-- doinst.sh.gz - | | |-- shared-mime-info-1.0.tar.xz - | | |-- shared-mime-info.SlackBuild - | | `-- slack-desc - | |-- sip - | | |-- sip-4.13.2.tar.xz - | | |-- sip.SlackBuild - | | |-- sip.info - | | `-- slack-desc - | |-- slang - | | |-- slack-desc - | | |-- slang-2.2.3.tar.bz2 - | | |-- slang-2.2.3.tar.bz2.asc - | | `-- slang.SlackBuild - | |-- slang1 - | | |-- slack-desc - | | |-- slang-1.4.9.tar.bz2 - | | `-- slang1.SlackBuild - | |-- soprano - | | |-- slack-desc - | | |-- soprano-2.7.6.tar.bz2 - | | `-- soprano.SlackBuild - | |-- sound-theme-freedesktop - | | |-- slack-desc - | | |-- sound-theme-freedesktop-0.7.tar.xz - | | |-- sound-theme-freedesktop.SlackBuild - | | `-- sound-theme-freedesktop.url - | |-- startup-notification - | | |-- slack-desc - | | |-- startup-notification-0.12.tar.xz - | | `-- startup-notification.SlackBuild - | |-- strigi - | | |-- README - | | |-- slack-desc - | | |-- strigi-0.7.7.tar.xz - | | |-- strigi-fix-ftbfs-with-gcc-4.7.diff.gz - | | |-- strigi.SlackBuild - | | `-- strigi.info - | |-- svgalib - | | |-- slack-desc - | | |-- svgalib-1.9.25-kernel-2.6.26.diff.gz - | | |-- svgalib-1.9.25.tar.bz2 - | | |-- svgalib.SlackBuild - | | |-- svgalib.nohelper.diff.gz - | | `-- svgalib.prefix.diff.gz - | |-- system-config-printer - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- system-config-printer-1.3.9.tar.xz - | | `-- system-config-printer.SlackBuild - | |-- t1lib - | | |-- slack-desc - | | |-- t1lib-5.1.2.tar.xz - | | |-- t1lib.SlackBuild - | | `-- t1lib_5.1.2-3.5.diff.gz - | |-- taglib - | | |-- slack-desc - | | |-- taglib-1.7.2.tar.xz - | | `-- taglib.SlackBuild - | |-- taglib-extras - | | |-- slack-desc - | | |-- taglib-extras-1.0.1.tar.gz - | | `-- taglib-extras.SlackBuild - | |-- tango-icon-theme - | | |-- slack-desc - | | |-- tango-icon-theme-0.8.90.tar.bz2 - | | `-- tango-icon-theme.SlackBuild - | |-- tango-icon-theme-extras - | | |-- slack-desc - | | |-- tango-icon-theme-extras-0.1.0.tar.bz2 - | | `-- tango-icon-theme-extras.SlackBuild - | |-- urwid - | | |-- LICENSE.gz - | | |-- slack-desc - | | |-- urwid-1.0.1.tar.gz - | | |-- urwid.SlackBuild - | | `-- urwid.url - | |-- v4l-utils - | | |-- slack-desc - | | |-- v4l-utils-0.8.8.tar.xz - | | `-- v4l-utils.SlackBuild - | |-- virtuoso-ose - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- virtuoso-opensource-6.1.3.tar.xz - | | |-- virtuoso-opensource-6.1.3.unicode.patch - | | `-- virtuoso-ose.SlackBuild - | |-- vte - | | |-- fix_meta_alt_keybinding.patch.gz - | | |-- slack-desc - | | |-- vte-0.28.2.tar.xz - | | |-- vte.SlackBuild - | | `-- vte.escape.cpu.usage.diff.gz - | |-- wavpack - | | |-- slack-desc - | | |-- wavpack-4.60.1.tar.bz2 - | | `-- wavpack.SlackBuild - | `-- zlib - | |-- slack-desc - | |-- zlib-1.2.6.tar.xz - | `-- zlib.SlackBuild - |-- n - | |-- ModemManager - | | |-- ModemManager-0.5.2.0.tar.xz - | | |-- ModemManager.SlackBuild - | | `-- slack-desc - | |-- NetworkManager - | | |-- 11-initialize-nm-remote-settings.patch.gz - | | |-- 55NetworkManager - | | |-- NetworkManager-0.9.4.0.tar.xz - | | |-- NetworkManager.SlackBuild - | | |-- NetworkManager.conf.new - | | |-- README - | | |-- doinst.sh - | | `-- slack-desc - | |-- alpine - | | |-- alpine.SlackBuild - | | |-- alpine.manpage.diff.gz - | | |-- alpine.tech-notes.txt.diff.gz - | | |-- doinst.sh.alpine - | | |-- pinepgp-0.18.0-makefile-sed-fix.diff.gz - | | |-- pinepgp-0.18.0.tar.gz - | | |-- pinepgp-0.18.0.tar.gz.sig - | | |-- pinepgp.pinegpgp.in.diff.gz - | | |-- re-alpine-2.02.tar.xz - | | |-- slack-desc.alpine - | | `-- slack-desc.imapd - | |-- autofs - | | |-- autofs-5.0.5-fix-libxml2-workaround-configure.patch.gz - | | |-- autofs-5.0.5.tar.bz2 - | | |-- autofs.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- biff+comsat - | | |-- biff+comsat-0.17.diff.gz - | | |-- biff+comsat-0.17.tar.gz - | | |-- biff+comsat.SlackBuild - | | |-- biff+comsat.badutmp.diff.gz - | | |-- biff+comsat.offset.diff.gz - | | `-- slack-desc - | |-- bind - | | |-- 3link.sh - | | |-- bind-9.9.1-P3.tar.gz - | | |-- bind-9.9.1-P3.tar.gz.asc - | | |-- bind-9.9.1-P3.tar.gz.sha1.asc - | | |-- bind-9.9.1-P3.tar.gz.sha256.asc - | | |-- bind-9.9.1-P3.tar.gz.sha512.asc - | | |-- bind.SlackBuild - | | |-- bind.so_bsdcompat.diff.gz - | | |-- caching-example - | | | |-- localhost.zone - | | | |-- named.conf - | | | |-- named.local - | | | `-- named.root - | | |-- doinst.sh.gz - | | |-- rc.bind - | | `-- slack-desc - | |-- bluez - | | |-- bluez-4.99.tar.sign - | | |-- bluez-4.99.tar.xz - | | |-- bluez.SlackBuild - | | |-- bluez.enable.audio.socket.diff.gz - | | |-- config - | | | |-- bluetooth.modprobe - | | | `-- rc.bluetooth - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- bluez-firmware - | | |-- bluez-firmware-1.2.tar.bz2 - | | |-- bluez-firmware.SlackBuild - | | `-- slack-desc - | |-- bluez-hcidump - | | |-- bluez-hcidump-2.4.tar.sign - | | |-- bluez-hcidump-2.4.tar.xz - | | |-- bluez-hcidump.SlackBuild - | | `-- slack-desc - | |-- bootp - | | |-- _bootp.tar.gz - | | |-- bootp.SlackBuild - | | |-- bootp_2.4.3-15.diff.gz - | | |-- bootp_2.4.3.orig.tar.gz - | | |-- bootptab.gz - | | `-- slack-desc - | |-- bridge-utils - | | |-- bridge-utils-1.4.tar.gz - | | |-- bridge-utils.SlackBuild - | | |-- bridge-utils.isbridge.diff.gz - | | `-- slack-desc - | |-- bsd-finger - | | |-- bsd-finger-0.17.diff.gz - | | |-- bsd-finger-0.17.tar.gz - | | |-- bsd-finger.SlackBuild - | | `-- slack-desc - | |-- ca-certificates - | | |-- ca-certificates.SlackBuild - | | |-- ca-certificates_20120623.tar.gz - | | |-- doinst.sh.gz - | | |-- patches - | | | |-- fixup_DESTDIR.diff.gz - | | | |-- fixup_update-ca-certificates.diff.gz - | | | `-- remove_debconf.diff.gz - | | |-- setup.11.cacerts - | | `-- slack-desc - | |-- cifs-utils - | | |-- cifs-utils-5.5.tar.xz - | | |-- cifs-utils.SlackBuild - | | |-- mount.cifs-set-rc-to-0-in-libcap-toggle_dac_capabili.patch.gz - | | `-- slack-desc - | |-- crda - | | |-- crda-1.1.1.tar.bz2 - | | |-- crda.SlackBuild - | | |-- get_regdb.sh - | | |-- slack-desc - | | `-- wireless-regdb-git_20100502.tar.bz2 - | |-- curl - | | |-- cacert-fetch.sh - | | |-- cacert.pem.bz2 - | | |-- curl-7.27.0.tar.bz2 - | | |-- curl-7.27.0_curl-config_syntax_fix.diff.gz - | | |-- curl.SlackBuild - | | `-- slack-desc - | |-- cyrus-sasl - | | |-- cyrus-sasl-2.1.23.tar.xz - | | |-- cyrus-sasl.SlackBuild - | | |-- cyrus-sasl.bad_elif.diff.gz - | | |-- doinst.sh.gz - | | |-- rc.saslauthd.gz - | | `-- slack-desc - | |-- dhcp - | | |-- dhclient-script.PATH.diff.gz - | | |-- dhcp-4.2.4-P2.tar.gz - | | |-- dhcp-4.2.4-P2.tar.gz.asc - | | |-- dhcp-4.2.4-P2.tar.gz.sha1.asc - | | |-- dhcp-4.2.4-P2.tar.gz.sha256.asc - | | |-- dhcp-4.2.4-P2.tar.gz.sha512.asc - | | |-- dhcp-remove-bind-tarball.sh - | | |-- dhcp.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dhcpcd - | | |-- COPYRIGHT.gz - | | |-- define-SERVICEstuff-for-Slackware.patch.gz - | | |-- dhcpcd-5.5.6.tar.bz2 - | | |-- dhcpcd.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- dirmngr - | | |-- dirmngr-1.1.0.tar.xz - | | |-- dirmngr.SlackBuild - | | `-- slack-desc - | |-- dnsmasq - | | |-- dnsmasq-2.57.tar.xz - | | |-- dnsmasq.SlackBuild - | | |-- dnsmasq.leasedir.diff.gz - | | |-- doinst.sh.gz - | | |-- rc.dnsmasq.gz - | | `-- slack-desc - | |-- elm - | | |-- config.sh - | | |-- elm.SlackBuild - | | |-- elm2.5.8.tar.bz2 - | | `-- slack-desc - | |-- epic5 - | | |-- epic-help-current.tar.xz - | | |-- epic5-1.1.3.tar.xz - | | |-- epic5.SlackBuild - | | `-- slack-desc - | |-- ethtool - | | |-- ethtool-2.6.36.tar.xz - | | |-- ethtool.SlackBuild - | | `-- slack-desc - | |-- fetchmail - | | |-- fetchmail-6.3.21.tar.xz - | | |-- fetchmail-6.3.21.tar.xz.asc - | | |-- fetchmail.SlackBuild - | | |-- fetchmail.url - | | `-- slack-desc - | |-- getmail - | | |-- getmail-4.30.1.tar.gz - | | |-- getmail.SlackBuild - | | `-- slack-desc - | |-- gnupg - | | |-- gnupg-1.4.12.tar.bz2 - | | |-- gnupg.SlackBuild - | | `-- slack-desc.gnupg - | |-- gnupg2 - | | |-- gnupg-2.0.19.tar.xz - | | |-- gnupg2.SlackBuild - | | `-- slack-desc - | |-- gnutls - | | |-- gnutls-3.0.23.tar.xz - | | |-- gnutls-3.0.23.tar.xz.sig - | | |-- gnutls.SlackBuild - | | `-- slack-desc - | |-- gpa - | | |-- doinst.sh.gz - | | |-- gpa-0.9.3.tar.xz - | | |-- gpa.SlackBuild - | | `-- slack-desc - | |-- gpgme - | | |-- gpgme-1.3.2.tar.bz2 - | | |-- gpgme-1.3.2.tar.bz2.sig - | | |-- gpgme.SlackBuild - | | `-- slack-desc - | |-- htdig - | | |-- doinst.sh.gz - | | |-- htdig-3.2.0b6.diff.gz - | | |-- htdig-3.2.0b6.tar.bz2 - | | |-- htdig.SlackBuild - | | |-- htdig.conf.diff.gz - | | `-- slack-desc - | |-- httpd - | | |-- doinst.sh.gz - | | |-- httpd-2.4.3.tar.bz2 - | | |-- httpd-2.4.3.tar.bz2.asc - | | |-- httpd.SlackBuild - | | |-- httpd.runasapache.diff.gz - | | |-- httpd.url - | | |-- logrotate.httpd - | | |-- rc.httpd - | | `-- slack-desc - | |-- icmpinfo - | | |-- icmpinfo-1.11.diff.gz - | | |-- icmpinfo-1.11.tar.gz - | | |-- icmpinfo.SlackBuild - | | `-- slack-desc - | |-- idnkit - | | |-- idnkit-1.0-src.tar.xz - | | |-- idnkit.SlackBuild - | | `-- slack-desc - | |-- iftop - | | |-- iftop-1.0pre2.tar.xz - | | |-- iftop.SlackBuild - | | `-- slack-desc - | |-- imapd -> alpine - | |-- inetd - | | |-- _inetd.tar.gz - | | |-- inetd-OpenBSD-1.79.diff.gz - | | |-- inetd-OpenBSD-1.79.tar.gz - | | |-- inetd.SlackBuild - | | |-- inetd.loopingdos.diff.gz - | | `-- slack-desc - | |-- iproute2 - | | |-- doinst.sh.gz - | | |-- fixup-for-x86_64.diff.gz - | | |-- iproute2-3.4.0.tar.xz - | | |-- iproute2.SlackBuild - | | `-- slack-desc - | |-- iptables - | | |-- iptables-1.4.14.tar.xz - | | |-- iptables.SlackBuild - | | `-- slack-desc - | |-- iptraf-ng - | | |-- iptraf-ng-1.0.2.tar.xz - | | |-- iptraf-ng.SlackBuild - | | `-- slack-desc - | |-- iputils - | | |-- iputils-s20101006.tar.bz2 - | | |-- iputils.SlackBuild - | | `-- slack-desc - | |-- ipw2100-fw - | | |-- ipw2100-fw-1.3.tar.bz2 - | | `-- ipw2100-fw.SlackBuild - | |-- ipw2200-fw - | | |-- ipw2200-fw-3.1.tar.xz - | | `-- ipw2200-fw.SlackBuild - | |-- irssi - | | |-- doinst.sh.gz - | | |-- irssi-0.8.15.tar.bz2 - | | |-- irssi-0.8.15.tar.bz2.sig - | | |-- irssi.SlackBuild - | | |-- irssi.manpage_fix.diff.gz - | | |-- irssi.ssl_proxy.diff.gz - | | `-- slack-desc - | |-- iw - | | |-- iw-3.5.tar.bz2 - | | |-- iw.SlackBuild - | | |-- iw.info - | | `-- slack-desc - | |-- lftp - | | |-- doinst.sh.gz - | | |-- lftp-4.3.8.tar.xz - | | |-- lftp-4.3.8.tar.xz.asc - | | |-- lftp.SlackBuild - | | `-- slack-desc - | |-- libassuan - | | |-- libassuan-2.0.3.tar.bz2 - | | |-- libassuan-2.0.3.tar.bz2.sig - | | |-- libassuan.SlackBuild - | | `-- slack-desc - | |-- libgcrypt - | | |-- libgcrypt-1.5.0.tar.bz2 - | | |-- libgcrypt-1.5.0.tar.bz2.sig - | | |-- libgcrypt.SlackBuild - | | `-- slack-desc - | |-- libgpg-error - | | |-- libgpg-error-1.10.tar.bz2 - | | |-- libgpg-error-1.10.tar.bz2.sig - | | |-- libgpg-error.SlackBuild - | | `-- slack-desc - | |-- libksba - | | |-- libksba-1.2.0.tar.bz2 - | | |-- libksba-1.2.0.tar.bz2.sig - | | |-- libksba.SlackBuild - | | `-- slack-desc - | |-- links - | | |-- links-2.7.tar.xz - | | |-- links.SlackBuild - | | `-- slack-desc - | |-- lynx - | | |-- lynx.SlackBuild - | | |-- lynx.cfg.diff.gz - | | |-- lynx.path.diff.gz - | | |-- lynx2.8.7.tar.xz - | | `-- slack-desc - | |-- mailx - | | |-- doinst.sh.gz - | | |-- mailx-12.5.tar.xz - | | |-- mailx.SlackBuild - | | `-- slack-desc - | |-- mcabber - | | |-- mcabber-0.10.1.tar.bz2 - | | |-- mcabber.SlackBuild - | | `-- slack-desc - | |-- metamail - | | |-- metamail-2.7.tar.xz - | | |-- metamail.SlackBuild - | | |-- metamail.automake.diff.xz - | | |-- metamail.uue.getline.diff.gz - | | |-- metamail_2.7-54.diff.xz - | | `-- slack-desc - | |-- mobile-broadband-provider-info - | | |-- README - | | |-- mobile-broadband-provider-info-20120614.tar.xz - | | |-- mobile-broadband-provider-info.SlackBuild - | | |-- mobile-broadband-provider-info.pc.diff.gz - | | `-- slack-desc - | |-- mtr - | | |-- mtr-0.82.tar.xz - | | |-- mtr.SlackBuild - | | `-- slack-desc - | |-- mutt - | | |-- doinst.sh.gz - | | |-- mutt-1.5.21.tar.xz - | | |-- mutt.SlackBuild - | | |-- mutt.gpgme.diff.gz - | | `-- slack-desc - | |-- nc - | | |-- nc-110-21.diff.gz - | | |-- nc.SlackBuild - | | |-- nc.diff.gz - | | |-- nc110.tgz - | | `-- slack-desc - | |-- ncftp - | | |-- ncftp-3.2.5-src.tar.bz2 - | | |-- ncftp.SlackBuild - | | `-- slack-desc - | |-- net-snmp - | | |-- doinst.sh.gz - | | |-- net-snmp-5.6.1.tar.xz - | | |-- net-snmp.SlackBuild - | | |-- net-snmp.net-snmp-create-v3-user.etc.snmpd.conf.diff.gz - | | |-- rc.snmpd - | | |-- slack-desc - | | `-- snmpd.conf.gz - | |-- net-tools - | | |-- ipmask.8 - | | |-- ipmask.c - | | |-- net-tools-1.60.20120726git.tar.xz - | | |-- net-tools.SlackBuild - | | |-- net-tools.config.h.gz - | | |-- net-tools.url - | | `-- slack-desc - | |-- netatalk - | | |-- afppasswd - | | |-- doinst.sh.gz - | | |-- netatalk-2.2.3.tar.xz - | | |-- netatalk.SlackBuild - | | |-- netatalk.etc2ps.diff.gz - | | |-- rc.atalk.new - | | `-- slack-desc - | |-- netdate - | | |-- netdate.SlackBuild - | | |-- netdate.diff.gz - | | |-- netdate.diff2.gz - | | |-- netdate.tar.gz - | | `-- slack-desc - | |-- netkit-bootparamd - | | |-- netkit-bootparamd-0.17.tar.gz - | | |-- netkit-bootparamd.SlackBuild - | | `-- slack-desc - | |-- netkit-ftp - | | |-- netkit-ftp-0.17.tar.gz - | | |-- netkit-ftp.SlackBuild - | | `-- slack-desc - | |-- netkit-ntalk - | | |-- netkit-ntalk-0.11.diff.gz - | | |-- netkit-ntalk-0.11.tar.gz - | | |-- netkit-ntalk-0.17.diff.gz - | | |-- netkit-ntalk-0.17.tar.gz - | | |-- netkit-ntalk.SlackBuild - | | |-- ntalk-0.17-slackware-alt-talkd.patch.gz - | | `-- slack-desc - | |-- netkit-routed - | | |-- netkit-routed-0.17.diff.gz - | | |-- netkit-routed-0.17.tar.gz - | | |-- netkit-routed.SlackBuild - | | |-- routed.18.candidate.final.patch.gz - | | `-- slack-desc - | |-- netkit-rsh - | | |-- netkit-rsh-0.17.tar.gz - | | |-- netkit-rsh.SlackBuild - | | `-- slack-desc - | |-- netkit-rusers - | | |-- netkit-rusers-0.17.diff.gz - | | |-- netkit-rusers-0.17.tar.gz - | | |-- netkit-rusers.SlackBuild - | | `-- slack-desc - | |-- netkit-rwall - | | |-- netkit-rwall-0.17.tar.gz - | | |-- netkit-rwall.SlackBuild - | | `-- slack-desc - | |-- netkit-rwho - | | |-- netkit-rwho-0.17.diff.gz - | | |-- netkit-rwho-0.17.tar.gz - | | |-- netkit-rwho.SlackBuild - | | |-- rwhod_getloadavg.diff.gz - | | `-- slack-desc - | |-- netkit-timed - | | |-- netkit-timed-0.17.diff.gz - | | |-- netkit-timed-0.17.tar.gz - | | |-- netkit-timed.SlackBuild - | | `-- slack-desc - | |-- netpipes - | | |-- _netpipes.tar.gz - | | |-- netpipes-4.2-export.tar.gz - | | |-- netpipes.SlackBuild - | | `-- slack-desc - | |-- nettle - | | |-- nettle-2.5.tar.xz - | | |-- nettle.SlackBuild - | | `-- slack-desc - | |-- netwatch - | | |-- netwatch-1.3.0-1.tar.gz - | | |-- netwatch.SlackBuild - | | |-- netwatch.makefile.diff.gz - | | |-- netwatch.phonemyself.diff.gz - | | `-- slack-desc - | |-- network-scripts - | | |-- README.rc.inet1 - | | |-- doinst.sh.gz - | | |-- manpages - | | | |-- rc.inet1.8 - | | | `-- rc.inet1.conf.5 - | | |-- network-scripts.SlackBuild - | | |-- scripts - | | | |-- HOSTNAME - | | | |-- host.conf - | | | |-- hosts - | | | |-- hosts.allow - | | | |-- hosts.deny - | | | |-- hosts.equiv - | | | |-- netconfig - | | | |-- networks - | | | |-- nntpserver - | | | |-- protocols - | | | |-- rc.inet1 - | | | |-- rc.inet1.conf - | | | |-- rc.inet2 - | | | |-- rc.ip_forward - | | | |-- resolv.conf - | | | `-- setup.netconfig - | | `-- slack-desc - | |-- netwrite - | | |-- netwrite-0.17.diff.gz - | | |-- netwrite-0.17.tar.gz - | | |-- netwrite.SlackBuild - | | `-- slack-desc - | |-- newspost - | | |-- newspost-2.1.1.tar.gz - | | |-- newspost.SlackBuild - | | `-- slack-desc - | |-- nfs-utils - | | |-- _nfs-utils.tar.gz - | | |-- doinst.sh.gz - | | |-- nfs-utils-1.2.3.tar.sign - | | |-- nfs-utils-1.2.3.tar.xz - | | |-- nfs-utils.SlackBuild - | | |-- nfs-utils.lwrap.needs.lnsl.diff.gz - | | |-- rc.nfsd - | | `-- slack-desc - | |-- nmap - | | |-- nmap-6.01.tar.xz - | | |-- nmap.SlackBuild - | | |-- nmap.ndiff.mandir.diff.gz - | | `-- slack-desc - | |-- nn - | | |-- NNTP.gz - | | |-- doinst.sh.gz - | | |-- m-x86_64.h.gz - | | |-- nn-6.7.3.tar.bz2 - | | |-- nn.SlackBuild - | | |-- nn.badnntphost.diff.gz - | | |-- nn.destdir.diff.gz - | | |-- nn.diff.gz - | | |-- nntpserver.gz - | | `-- slack-desc - | |-- ntp - | | |-- doinst.sh.gz - | | |-- ntp-4.2.6p5.tar.xz - | | |-- ntp.SlackBuild - | | |-- ntp.conf - | | |-- ntp.keys - | | |-- ntp.nano.diff.gz - | | |-- rc.ntpd - | | `-- slack-desc - | |-- obex-data-server - | | |-- doinst.sh.gz - | | |-- obex-data-server-0.4.6.tar.xz - | | |-- obex-data-server.SlackBuild - | | |-- obex-data-server.url - | | `-- slack-desc - | |-- obexfs - | | |-- obexfs-0.12.tar.bz2 - | | |-- obexfs.SlackBuild - | | `-- slack-desc - | |-- obexftp - | | |-- obexftp-0.23.tar.bz2 - | | |-- obexftp.SlackBuild - | | |-- ruby_rstringlen.diff.gz - | | `-- slack-desc - | |-- openldap-client - | | |-- doinst.sh.gz - | | |-- openldap-2.4.31.tar.xz - | | |-- openldap-client.SlackBuild - | | `-- slack-desc - | |-- openobex - | | |-- openobex-1.5.tar.bz2 - | | |-- openobex.SlackBuild - | | `-- slack-desc - | |-- openssh - | | |-- doinst.sh.gz - | | |-- openssh-6.1p1.tar.gz - | | |-- openssh-6.1p1.tar.gz.asc - | | |-- openssh.SlackBuild - | | |-- rc.sshd - | | `-- slack-desc - | |-- openssl - | | |-- certwatch.gz - | | |-- doinst.sh-openssl-solibs.gz - | | |-- doinst.sh-openssl.gz - | | |-- openssl-1.0.1c.tar.gz - | | |-- openssl-1.0.1c.tar.gz.asc - | | |-- openssl.SlackBuild - | | |-- openssl.optsx86.diff.gz - | | |-- openssl.soname.diff.gz - | | |-- openssl0 - | | | |-- certwatch.gz - | | | |-- doinst.sh-openssl-solibs.gz - | | | |-- doinst.sh-openssl.gz - | | | |-- openssl-0.9.8x.tar.gz - | | | |-- openssl-0.9.8x.tar.gz.asc - | | | |-- openssl.SlackBuild - | | | |-- openssl.optsx86.diff.gz - | | | |-- openssl.soname.diff.gz - | | | |-- openssl0.build - | | | |-- slack-desc.openssl - | | | `-- slack-desc.openssl-solibs - | | |-- slack-desc.openssl - | | `-- slack-desc.openssl-solibs - | |-- openvpn - | | |-- README - | | |-- openvpn-2.2.2.tar.gz - | | |-- openvpn-2.2.2.tar.gz.asc - | | |-- openvpn.SlackBuild - | | |-- openvpn.conf.sample - | | `-- slack-desc - | |-- p11-kit - | | |-- p11-kit-0.12.tar.xz - | | |-- p11-kit.SlackBuild - | | `-- slack-desc - | |-- php - | | |-- doinst.sh.gz - | | |-- fetch-php.sh - | | |-- mod_php.conf.example - | | |-- pear - | | |-- php-5.4.7.tar.xz - | | |-- php-fpm.conf.diff.gz - | | |-- php.SlackBuild - | | |-- php.ini-development.diff.gz - | | `-- slack-desc - | |-- pidentd - | | |-- doinst.sh.gz - | | |-- pidentd-3.0.19.tar.gz - | | |-- pidentd-3.0.19.tar.gz.sig - | | |-- pidentd.SlackBuild - | | |-- pidentd.conf.diff.gz - | | `-- slack-desc - | |-- pinentry - | | |-- pinentry-0.8.1.tar.xz - | | |-- pinentry.SlackBuild - | | `-- slack-desc - | |-- popa3d - | | |-- doinst.sh.gz - | | |-- popa3d-1.0.2.tar.gz - | | |-- popa3d-1.0.2.tar.gz.sign - | | |-- popa3d.SlackBuild - | | |-- popa3d.diff.gz - | | `-- slack-desc - | |-- portmap - | | |-- doinst.sh.gz - | | |-- portmap-6.0.tar.bz2 - | | |-- portmap.SlackBuild - | | |-- portmap.lwrap.needs.lnsl.diff.gz - | | |-- rc.rpc.gz - | | `-- slack-desc - | |-- ppp - | | |-- doinst.sh.gz - | | |-- options.new.gz - | | |-- ppp-2.4.5.tar.bz2 - | | |-- ppp.SlackBuild - | | |-- ppp.slack.diff.gz - | | |-- pppsetup-1.98.backupfiles.diff.gz - | | |-- pppsetup-1.98.moredevs.diff.gz - | | |-- pppsetup-1.98.pppoff.diff.gz - | | |-- pppsetup-1.98.slack.diff.gz - | | |-- pppsetup-1.98.tar.gz - | | |-- radius.msdict.gz - | | |-- radiusclient-0.3.2.tar.bz2 - | | |-- realms.gz - | | |-- servers.gz - | | `-- slack-desc - | |-- procmail - | | |-- _procmail.tar.gz - | | |-- procmail-3.22.tar.gz - | | |-- procmail-3.22.tar.gz.sig - | | |-- procmail.SlackBuild - | | |-- procmail.lfs.diff.gz - | | |-- procmail_3.22-5.diff.gz - | | `-- slack-desc - | |-- proftpd - | | |-- doinst.sh.gz - | | |-- etc - | | | |-- ftpusers - | | | `-- proftpd.conf - | | |-- proftpd-1.3.4a.tar.xz - | | |-- proftpd.SlackBuild - | | `-- slack-desc - | |-- pssh - | | |-- pssh-2.3.1.tar.gz - | | |-- pssh.SlackBuild - | | `-- slack-desc - | |-- pth - | | |-- pth-2.0.7.tar.bz2 - | | |-- pth.SlackBuild - | | `-- slack-desc - | |-- rdist - | | |-- rdist-6.1.5-00.linux.diff.gz - | | |-- rdist-6.1.5-01.links.diff.gz - | | |-- rdist-6.1.5-03.hardlink.diff.gz - | | |-- rdist-6.1.5-04.bison.diff.gz - | | |-- rdist-6.1.5-05.varargs.diff.gz - | | |-- rdist-6.1.5-06.maxargs.diff.gz - | | |-- rdist-6.1.5-07.lfs.diff.gz - | | |-- rdist-6.1.5-08.cleanup.diff.gz - | | |-- rdist-6.1.5-09.svr4.diff.gz - | | |-- rdist-6.1.5-10.ssh.diff.gz - | | |-- rdist-6.1.5-11.mkstemp.diff.gz - | | |-- rdist-6.1.5-12.stat64.diff.gz - | | |-- rdist-6.1.5-14.fix-msgsndnotify-loop.diff.gz - | | |-- rdist-6.1.5.tar.gz - | | |-- rdist-eu-license.txt - | | |-- rdist.SlackBuild - | | `-- slack-desc - | |-- rfkill - | | |-- rfkill-0.4.tar.bz2 - | | |-- rfkill.SlackBuild - | | |-- rfkill.url - | | `-- slack-desc - | |-- rp-pppoe - | | |-- doinst.sh.gz - | | |-- rp-pppoe-3.10.tar.gz - | | |-- rp-pppoe.SlackBuild - | | `-- slack-desc - | |-- rsync - | | |-- rsync-3.0.9.tar.xz - | | |-- rsync.SlackBuild - | | `-- slack-desc - | |-- samba - | | |-- doinst.sh.gz - | | |-- prune-samba.sh - | | |-- rc.samba - | | |-- samba-3.6.8.tar.xz - | | |-- samba.SlackBuild - | | |-- slack-desc - | | |-- smb.conf.default - | | |-- smb.conf.default.orig - | | |-- smb.conf.diff.gz - | | `-- talloc.pc - | |-- sendmail - | | |-- 8.14.5.auth2.p0 - | | |-- 8.14.5.auth2.p0.sig - | | |-- Build.gz - | | |-- SlackBuild - | | |-- SlackBuild-sendmail - | | |-- SlackBuild-sendmail-cf - | | |-- _sendmail.tar.gz - | | |-- linux.uucp.mc - | | |-- sendmail-slackware-tls-sasl.mc - | | |-- sendmail-slackware-tls.mc - | | |-- sendmail-slackware.mc - | | |-- sendmail.8.14.5.tar.gz - | | |-- sendmail.8.14.5.tar.gz.sig - | | |-- site.config.m4 - | | |-- slack-desc.sendmail - | | `-- slack-desc.sendmail-cf - | |-- slrn - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- slrn-0.9.9p1.tar.bz2 - | | `-- slrn.SlackBuild - | |-- snownews - | | |-- slack-desc - | | |-- snownews-1.5.12.tar.gz - | | |-- snownews-1.5.12.tar.gz.asc - | | `-- snownews.SlackBuild - | |-- stunnel - | | |-- doinst.sh.gz - | | |-- generate-stunnel-key.sh - | | |-- slack-desc - | | |-- stunnel-4.53.tar.gz - | | |-- stunnel-4.53.tar.gz.asc - | | `-- stunnel.SlackBuild - | |-- tcp_wrappers - | | |-- slack-desc - | | |-- tcp_wrappers.SlackBuild - | | `-- tcp_wrappers_7.6.tar.gz - | |-- tcpdump - | | |-- slack-desc - | | |-- tcpdump-4.3.0.tar.gz - | | |-- tcpdump-4.3.0.tar.gz.sig - | | `-- tcpdump.SlackBuild - | |-- telnet - | | |-- netkit-telnet-0.17-ayt.patch.gz - | | |-- netkit-telnet-0.17.diff.gz - | | |-- netkit-telnet-0.17.tar.gz - | | |-- slack-desc - | | |-- telnet-OpenBSD-014_telnet.diff.gz - | | |-- telnet-OpenBSD-20020321.diff.gz - | | |-- telnet-OpenBSD-20020321.tar.gz - | | `-- telnet.SlackBuild - | |-- tftp-hpa - | | |-- slack-desc - | | |-- tftp-hpa-0.49.tar.bz2 - | | |-- tftp-hpa-0.49.tar.bz2.sign - | | `-- tftp-hpa.SlackBuild - | |-- tin - | | |-- slack-desc - | | |-- tin-1.8.3.tar.bz2 - | | |-- tin-1.8.3.tar.bz2.sign - | | `-- tin.SlackBuild - | |-- traceroute - | | |-- slack-desc - | | |-- traceroute-2.0.18.tar.gz - | | `-- traceroute.SlackBuild - | |-- trn - | | |-- _trn.tar.gz - | | |-- config.sh.gz - | | |-- config.x86_64.sh.gz - | | |-- slack-desc - | | |-- trn-3.6.tar.gz - | | `-- trn.SlackBuild - | |-- uucp - | | |-- _uucp.tar.gz - | | |-- policy.h.diff.gz - | | |-- slack-desc - | | |-- uucp-1.07.tar.gz - | | `-- uucp.SlackBuild - | |-- vlan - | | |-- slack-desc - | | |-- vlan.1.9.tar.bz2 - | | `-- vlan.SlackBuild - | |-- vsftpd - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- vsftpd-3.0.2.tar.gz - | | |-- vsftpd-3.0.2.tar.gz.asc - | | |-- vsftpd.SlackBuild - | | |-- vsftpd.builddefs.diff.gz - | | |-- vsftpd.conf.diff.gz - | | `-- vsftpd.log.gz - | |-- wget - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- wget-1.14.tar.xz - | | |-- wget-1.14.tar.xz.sig - | | `-- wget.SlackBuild - | |-- whois - | | |-- slack-desc - | | |-- whois.SlackBuild - | | `-- whois_5.0.15.tar.xz - | |-- wireless-tools - | | |-- doinst.sh.gz - | | |-- scripts - | | | |-- rc.wireless - | | | `-- rc.wireless.conf - | | |-- slack-desc - | | |-- wireless_tools.29.tar.gz - | | |-- wireless_tools.SlackBuild - | | |-- wireless_tools.nowhine.diff.gz - | | `-- wireless_tools.static.diff.gz - | |-- wpa_supplicant - | | |-- README.slackware - | | |-- config - | | | |-- dot.config - | | | |-- wpa_gui.desktop - | | | |-- wpa_gui.png - | | | |-- wpa_supplicant.conf - | | | `-- wpa_supplicant.logrotate - | | |-- doinst.sh.gz - | | |-- patches - | | | |-- dbus-service-file-args.diff - | | | |-- include-unistd_h.diff - | | | |-- libnl3-includes.diff - | | | |-- quiet-scan-results-message.diff - | | | `-- squelch-driver-disconnect-spam.diff - | | |-- slack-desc - | | |-- wpa_supplicant-1.0.tar.xz - | | `-- wpa_supplicant.SlackBuild - | |-- yptools - | | |-- nsswitch.conf-nis.gz - | | |-- rc.yp.gz - | | |-- slack-desc - | | |-- yp-tools-2.12.tar.bz2 - | | |-- yp-tools-2.12.tar.bz2.sign - | | |-- ypbind-mt-1.32.tar.bz2 - | | |-- ypbind-mt-1.32.tar.sign - | | |-- ypserv-2.24.tar.bz2 - | | |-- ypserv-2.24.tar.sign - | | `-- yptools.SlackBuild - | |-- ytalk - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- ytalk-3.3.0.tar.bz2 - | | `-- ytalk.SlackBuild - | `-- zd1211-firmware - | |-- zd1211-firmware-1.4.tar.bz2 - | `-- zd1211-firmware.SlackBuild - |-- t - | |-- tetex - | | |-- jadetex-3.13.tar.gz - | | |-- jadetex.build - | | |-- profile.d - | | | |-- tetex.csh - | | | `-- tetex.sh - | | |-- slack-desc.tetex - | | |-- slack-desc.tetex-doc - | | |-- tetex-src-3.0.tar.xz - | | |-- tetex-texmf-3.0.tar.xz - | | |-- tetex-texmfsrc-3.0.tar.xz - | | |-- tetex.CVE-2005-3193.diff.gz - | | |-- tetex.SlackBuild - | | |-- tetex.afm2tfm.getline.diff.gz - | | |-- tetex.amstex.fmtutil.diff.gz - | | |-- tetex.browsers.diff.gz - | | |-- tetex.cpascal.getline.posix.2008.diff.gz - | | |-- tetex.dvipdfm.mkstemp.diff.gz - | | |-- tetex.etex.diff.gz - | | |-- tetex.fontcachedirinhome.diff.gz - | | |-- tetex.leet.diff.gz - | | |-- tetex.png14.diff.gz - | | |-- tetex.scripts.mktemp.diff.gz - | | |-- tetex.tmp.cleanup.diff.gz - | | `-- tetex.var.fonts.diff.gz - | |-- transfig - | | |-- slack-desc - | | |-- transfig.3.2.4-gcc4.patch.gz - | | |-- transfig.3.2.4.tar.gz - | | |-- transfig.SlackBuild - | | |-- transfig.diff.gz - | | `-- transfig.png14.nodither.diff.gz - | `-- xfig - | |-- slack-desc - | |-- xfig-3.2.4-mkstemp.diff.gz - | |-- xfig.3.2.3d-international-std-fonts.diff.gz - | |-- xfig.3.2.3d-xcolor.diff.gz - | |-- xfig.3.2.3d-xim.diff.gz - | |-- xfig.3.2.4-gcc4.diff.gz - | |-- xfig.3.2.4-locale.diff.gz - | |-- xfig.3.2.4-null.diff.gz - | |-- xfig.3.2.4-quiet.diff.gz - | |-- xfig.3.2.4-urw-fonts.diff.gz - | |-- xfig.3.2.4.diff.gz - | |-- xfig.3.2.4.full.tar.bz2 - | |-- xfig.SlackBuild - | |-- xfig.docs.location.diff.gz - | |-- xfig.fig.ad.diff.gz - | |-- xfig.no.pdf.ref.diff.gz - | |-- xfig.no.xfig_ref_en.pdf.diff.gz - | `-- xfig.png14.nodither.diff.gz - |-- tcl - | |-- expect - | | |-- expect-5.44.1.15.tar.bz2 - | | |-- expect.SlackBuild - | | |-- expect.exp_main_tk.c.version.require.diff.gz - | | `-- slack-desc - | |-- hfsutils - | | |-- hfsutils-3.2.6.tar.gz - | | |-- hfsutils-3.2.6.tar.gz.sign - | | |-- hfsutils.SlackBuild - | | |-- hfsutils.errno.diff.gz - | | `-- slack-desc - | |-- tcl - | | |-- slack-desc - | | |-- tcl.SlackBuild - | | `-- tcl8.5.11-src.tar.xz - | |-- tclx - | | |-- slack-desc - | | |-- tclx-8.4.configure.diff.gz - | | |-- tclx-8.4.gcc4.diff.gz - | | |-- tclx.SlackBuild - | | `-- tclx8.4.tar.bz2 - | |-- tix - | | |-- Tix8.4.3.tar.gz - | | |-- slack-desc - | | |-- tix.SlackBuild - | | |-- tix.soname.patch.gz - | | `-- tix.tcl8.5.patch.gz - | `-- tk - | |-- slack-desc - | |-- tk.SlackBuild - | `-- tk8.5.11-src.tar.xz - |-- x - | |-- anthy - | | |-- anthy-9100h.tar.xz - | | |-- anthy.SlackBuild - | | `-- slack-desc - | |-- dejavu-fonts-ttf - | | |-- dejavu-fonts-ttf-2.33.tar.xz - | | |-- dejavu-fonts-ttf.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- fontconfig - | | |-- doinst.sh.gz - | | |-- fontconfig-2.9.0.tar.xz - | | |-- fontconfig.SlackBuild - | | |-- fontconfig.dejavu.diff.gz - | | |-- fontconfig.font.dir.list.diff.gz - | | |-- setup.05.fontconfig - | | `-- slack-desc - | |-- freeglut - | | |-- RATIONALE - | | |-- freeglut-2.8.0.tar.xz - | | |-- freeglut.SlackBuild - | | `-- slack-desc - | |-- glew - | | |-- glew-1.5.7.tar.xz - | | |-- glew.SlackBuild - | | |-- glew.url - | | `-- slack-desc - | |-- libdrm - | | |-- libdrm-2.4.33.tar.xz - | | |-- libdrm.SlackBuild - | | `-- slack-desc - | |-- liberation-fonts-ttf - | | |-- 60-liberation.conf - | | |-- doinst.sh.gz - | | |-- liberation-fonts-ttf-1.07.2.tar.gz - | | |-- liberation-fonts-ttf.SlackBuild - | | `-- slack-desc - | |-- libhangul - | | |-- libhangul-0.1.0.tar.xz - | | |-- libhangul.SlackBuild - | | `-- slack-desc - | |-- m17n-lib - | | |-- m17n-db-1.6.1.tar.xz - | | |-- m17n-lib-1.6.1.tar.xz - | | |-- m17n-lib.SlackBuild - | | `-- slack-desc - | |-- mesa - | | |-- MesaLib-8.0.4.tar.xz - | | |-- README.GIT - | | |-- get-mesa.sh - | | |-- mesa-demos-8.0.1.tar.xz - | | |-- mesa.SlackBuild - | | |-- mesa.url - | | |-- patches - | | `-- slack-desc - | |-- mtdev - | | |-- mtdev-1.1.2.tar.xz - | | |-- mtdev.SlackBuild - | | |-- mtdev.url - | | `-- slack-desc - | |-- sazanami-fonts-ttf - | | |-- sazanami-20040629.tar.bz2 - | | |-- sazanami-fonts-ttf.SlackBuild - | | `-- slack-desc - | |-- scim - | | |-- scim-1.4.14.tar.xz - | | |-- scim-setup.desktop - | | |-- scim.SlackBuild - | | |-- scim.desktop - | | `-- slack-desc - | |-- scim-anthy - | | |-- scim-anthy-1.2.4.tar.gz - | | |-- scim-anthy.SlackBuild - | | |-- scim-anthy.gcc43.diff.gz - | | `-- slack-desc - | |-- scim-bridge - | | |-- patches - | | | |-- scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch.gz - | | | |-- scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch.gz - | | | |-- scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch.gz - | | | |-- scim-bridge-0.4.16-scim-bridge-agent.cpp.patch.gz - | | | |-- scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch.gz - | | | `-- scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch.gz - | | |-- scim-bridge-0.4.16.tar.gz - | | |-- scim-bridge.SlackBuild - | | `-- slack-desc - | |-- scim-hangul - | | |-- scim-hangul-0.3.2.tar.gz - | | |-- scim-hangul.SlackBuild - | | |-- scim-hangul.gcc43.diff.gz - | | |-- scim-hangul.gcc47.diff.gz - | | `-- slack-desc - | |-- scim-input-pad - | | |-- scim-input-pad-0.1.2.tar.bz2 - | | |-- scim-input-pad.SlackBuild - | | `-- slack-desc - | |-- scim-m17n - | | |-- scim-m17n-0.2.3.tar.gz - | | |-- scim-m17n.SlackBuild - | | `-- slack-desc - | |-- scim-pinyin - | | |-- scim-pinyin-0.5.91.tar.gz - | | |-- scim-pinyin.SlackBuild - | | |-- scim-pinyin.gcc43.diff.gz - | | `-- slack-desc - | |-- scim-tables - | | |-- scim-tables-0.5.9.tar.gz - | | |-- scim-tables.SlackBuild - | | `-- slack-desc - | |-- sinhala_lklug-font-ttf - | | |-- sinhala_lklug-font-ttf.SlackBuild - | | |-- sinhala_lklug.ttf - | | `-- slack-desc - | |-- tibmachuni-font-ttf - | | |-- TibetanMachineUnicodeFont.zip - | | |-- slack-desc - | | `-- tibmachuni-font-ttf.SlackBuild - | |-- ttf-indic-fonts - | | |-- COPYING.bz2 - | | |-- Samyak_Malayalam.ttf.bz2 - | | |-- Samyak_Malayalam.url - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- ttf-indic-fonts-0.4.7.4.tar.bz2 - | | |-- ttf-indic-fonts.SlackBuild - | | `-- ttf-indic-fonts.copyright.diff.gz - | |-- wqy-zenhei-font-ttf - | | |-- slack-desc - | | |-- wqy-zenhei-0.8.38-1.tar.bz2 - | | `-- wqy-zenhei-font-ttf.SlackBuild - | |-- x11 - | | |-- arch.use.flags - | | |-- build - | | | |-- gccmakedep - | | | |-- libXaw3d - | | | |-- xcb-proto - | | | |-- xdm - | | | |-- xf86-input-wacom - | | | |-- xf86-video-apm - | | | |-- xf86-video-chips - | | | |-- xf86-video-i740 - | | | |-- xf86-video-s3 - | | | |-- xf86-video-sisusb - | | | |-- xf86-video-tga - | | | |-- xf86-video-tseng - | | | |-- xf86-video-v4l - | | | |-- xf86-video-voodoo - | | | |-- xf86-video-xgi - | | | |-- xorg-server - | | | `-- xpyb - | | |-- configure - | | | |-- compiz - | | | |-- configure - | | | |-- font-bh-ttf - | | | |-- font-util - | | | |-- gccmakedep - | | | |-- libX11 - | | | |-- libXaw3d - | | | |-- libXp - | | | |-- libXt - | | | |-- pixman - | | | |-- setxkbmap - | | | |-- xf86-input-vmmouse - | | | |-- xf86-video-nouveau - | | | |-- xfs - | | | |-- xkbcomp - | | | |-- xkeyboard-config - | | | |-- xorg-docs - | | | `-- xorg-server - | | |-- doinst.sh - | | | |-- font-adobe-100dpi - | | | |-- font-adobe-75dpi - | | | |-- font-adobe-utopia-100dpi - | | | |-- font-adobe-utopia-75dpi - | | | |-- font-adobe-utopia-type1 - | | | |-- font-arabic-misc - | | | |-- font-bh-100dpi - | | | |-- font-bh-75dpi - | | | |-- font-bh-lucidatypewriter-100dpi - | | | |-- font-bh-lucidatypewriter-75dpi - | | | |-- font-bh-ttf - | | | |-- font-bh-type1 - | | | |-- font-bitstream-100dpi - | | | |-- font-bitstream-75dpi - | | | |-- font-bitstream-speedo - | | | |-- font-bitstream-type1 - | | | |-- font-cronyx-cyrillic - | | | |-- font-cursor-misc - | | | |-- font-daewoo-misc - | | | |-- font-dec-misc - | | | |-- font-ibm-type1 - | | | |-- font-isas-misc - | | | |-- font-jis-misc - | | | |-- font-micro-misc - | | | |-- font-misc-cyrillic - | | | |-- font-misc-ethiopic - | | | |-- font-misc-meltho - | | | |-- font-misc-misc - | | | |-- font-mutt-misc - | | | |-- font-schumacher-misc - | | | |-- font-screen-cyrillic - | | | |-- font-sony-misc - | | | |-- font-sun-misc - | | | |-- font-winitzki-cyrillic - | | | |-- font-xfree86-type1 - | | | |-- xdm - | | | |-- xfs - | | | |-- xinit - | | | |-- xkeyboard-config - | | | `-- xorg-cf-files - | | |-- makepkg - | | | `-- xorg-server - | | |-- modularize - | | |-- noarch - | | |-- package-blacklist - | | |-- patch - | | | |-- README - | | | |-- xcompmgr - | | | | `-- xcompmgr-follow-icccm-spec.diff.gz - | | | |-- xcompmgr.patch - | | | |-- xf86-video-chips - | | | | |-- 0001-chips-gut-the-overlay-8-16-support-from-driver.patch - | | | | |-- 0002-PciTag-is-unused-when-using-libpciaccess.patch - | | | | |-- 0003-Use-malloc-calloc-realloc-free-directly.patch - | | | | |-- 0004-configure.ac-Remove-AM_PROG_CC_C_O.patch - | | | | |-- 0005-util-Consolidate-common-macros.patch - | | | | |-- 0006-Fix-implicit-declaration-of-iopl.patch - | | | | |-- 0007-Build-fix-for-ABI-Version-12.patch - | | | | |-- 0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch - | | | | `-- 0009-Fix-for-new-vgaHW-ABI.patch - | | | |-- xf86-video-chips.patch - | | | |-- xorg-server - | | | | `-- x11.startwithblackscreen.diff.gz - | | | `-- xorg-server.patch - | | |-- post-install - | | | |-- beforelight.post-install - | | | |-- encodings.post-install - | | | |-- font-adobe-100dpi.post-install - | | | |-- font-adobe-75dpi.post-install - | | | |-- font-adobe-utopia-100dpi.post-install - | | | |-- font-adobe-utopia-75dpi.post-install - | | | |-- font-adobe-utopia-type1.post-install - | | | |-- font-alias.post-install - | | | |-- font-arabic-misc.post-install - | | | |-- font-bh-100dpi.post-install - | | | |-- font-bh-75dpi.post-install - | | | |-- font-bh-lucidatypewriter-100dpi.post-install - | | | |-- font-bh-lucidatypewriter-75dpi.post-install - | | | |-- font-bh-ttf.post-install - | | | |-- font-bh-type1.post-install - | | | |-- font-bitstream-100dpi.post-install - | | | |-- font-bitstream-75dpi.post-install - | | | |-- font-bitstream-speedo.post-install - | | | |-- font-bitstream-type1.post-install - | | | |-- font-cronyx-cyrillic.post-install - | | | |-- font-cursor-misc.post-install - | | | |-- font-daewoo-misc.post-install - | | | |-- font-dec-misc.post-install - | | | |-- font-ibm-type1.post-install - | | | |-- font-isas-misc.post-install - | | | |-- font-jis-misc.post-install - | | | |-- font-micro-misc.post-install - | | | |-- font-misc-cyrillic.post-install - | | | |-- font-misc-ethiopic.post-install - | | | |-- font-misc-meltho.post-install - | | | |-- font-misc-misc.post-install - | | | |-- font-mutt-misc.post-install - | | | |-- font-schumacher-misc.post-install - | | | |-- font-screen-cyrillic.post-install - | | | |-- font-sony-misc.post-install - | | | |-- font-sun-misc.post-install - | | | |-- font-util.post-install - | | | |-- font-winitzki-cyrillic.post-install - | | | |-- font-xfree86-type1.post-install - | | | |-- libSM.post-install - | | | |-- libX11 - | | | | `-- XKeysymDB.gz - | | | |-- libX11.post-install - | | | |-- libXaw.post-install - | | | |-- libXaw3d.post-install - | | | |-- libpthread-stubs.post-install - | | | |-- libxcb.post-install - | | | |-- mkfontdir - | | | | `-- setup.04.mkfontdir - | | | |-- mkfontdir.post-install - | | | |-- pixman.post-install - | | | |-- twm - | | | | `-- xinitrc.twm - | | | |-- twm.post-install - | | | |-- x11-app-test.post-install - | | | |-- x11-font.post-install - | | | |-- x11-util.post-install - | | | |-- xbitmaps.post-install - | | | |-- xcb-proto.post-install - | | | |-- xcb-util.post-install - | | | |-- xdm - | | | | |-- Xsession - | | | | |-- Xsession.orig - | | | | |-- Xsetup_0 - | | | | `-- Xsetup_0.orig - | | | |-- xdm.post-install - | | | |-- xf86-input-joystick.post-install - | | | |-- xf86-input-synaptics - | | | | `-- 50-synaptics.conf - | | | |-- xf86-input-synaptics.post-install - | | | |-- xf86-input-wacom - | | | | `-- 60-wacom.rules - | | | |-- xf86-input-wacom.post-install - | | | |-- xfs.post-install - | | | |-- xinit - | | | | `-- README.Xmodmap - | | | |-- xinit.post-install - | | | |-- xkeyboard-config.post-install - | | | |-- xorg-cf-files - | | | | `-- x11.tmpl.lib64.kludge.diff.gz - | | | |-- xorg-cf-files.post-install - | | | |-- xorg-server.post-install - | | | |-- xorg-sgml-doctools.post-install - | | | |-- xproto.post-install - | | | `-- xsm.post-install - | | |-- slack-desc - | | | |-- appres - | | | |-- bdftopcf - | | | |-- beforelight - | | | |-- bigreqsproto - | | | |-- bitmap - | | | |-- compiz - | | | |-- compositeproto - | | | |-- damageproto - | | | |-- dmxproto - | | | |-- dri2proto - | | | |-- editres - | | | |-- encodings - | | | |-- evieext - | | | |-- fixesproto - | | | |-- font-adobe-100dpi - | | | |-- font-adobe-75dpi - | | | |-- font-adobe-utopia-100dpi - | | | |-- font-adobe-utopia-75dpi - | | | |-- font-adobe-utopia-type1 - | | | |-- font-alias - | | | |-- font-arabic-misc - | | | |-- font-bh-100dpi - | | | |-- font-bh-75dpi - | | | |-- font-bh-lucidatypewriter-100dpi - | | | |-- font-bh-lucidatypewriter-75dpi - | | | |-- font-bh-ttf - | | | |-- font-bh-type1 - | | | |-- font-bitstream-100dpi - | | | |-- font-bitstream-75dpi - | | | |-- font-bitstream-speedo - | | | |-- font-bitstream-type1 - | | | |-- font-cronyx-cyrillic - | | | |-- font-cursor-misc - | | | |-- font-daewoo-misc - | | | |-- font-dec-misc - | | | |-- font-ibm-type1 - | | | |-- font-isas-misc - | | | |-- font-jis-misc - | | | |-- font-micro-misc - | | | |-- font-misc-cyrillic - | | | |-- font-misc-ethiopic - | | | |-- font-misc-meltho - | | | |-- font-misc-misc - | | | |-- font-mutt-misc - | | | |-- font-schumacher-misc - | | | |-- font-screen-cyrillic - | | | |-- font-sony-misc - | | | |-- font-sun-misc - | | | |-- font-util - | | | |-- font-winitzki-cyrillic - | | | |-- font-xfree86-type1 - | | | |-- fontcacheproto - | | | |-- fontsproto - | | | |-- fonttosfnt - | | | |-- fslsfonts - | | | |-- fstobdf - | | | |-- gccmakedep - | | | |-- glproto - | | | |-- iceauth - | | | |-- ico - | | | |-- imake - | | | |-- inputproto - | | | |-- intel-gpu-tools - | | | |-- kbproto - | | | |-- libFS - | | | |-- libICE - | | | |-- libSM - | | | |-- libX11 - | | | |-- libXScrnSaver - | | | |-- libXau - | | | |-- libXaw - | | | |-- libXaw3d - | | | |-- libXcm - | | | |-- libXcomposite - | | | |-- libXcursor - | | | |-- libXdamage - | | | |-- libXdmcp - | | | |-- libXevie - | | | |-- libXext - | | | |-- libXfixes - | | | |-- libXfont - | | | |-- libXfontcache - | | | |-- libXft - | | | |-- libXi - | | | |-- libXinerama - | | | |-- libXmu - | | | |-- libXp - | | | |-- libXpm - | | | |-- libXrandr - | | | |-- libXrender - | | | |-- libXres - | | | |-- libXt - | | | |-- libXtst - | | | |-- libXv - | | | |-- libXvMC - | | | |-- libXxf86dga - | | | |-- libXxf86misc - | | | |-- libXxf86vm - | | | |-- libdmx - | | | |-- libfontenc - | | | |-- libpciaccess - | | | |-- libpthread-stubs - | | | |-- libxcb - | | | |-- libxkbfile - | | | |-- listres - | | | |-- lndir - | | | |-- luit - | | | |-- makedepend - | | | |-- mkcomposecache - | | | |-- mkfontdir - | | | |-- mkfontscale - | | | |-- oclock - | | | |-- pixman - | | | |-- printproto - | | | |-- randrproto - | | | |-- recordproto - | | | |-- rendercheck - | | | |-- renderproto - | | | |-- resourceproto - | | | |-- rgb - | | | |-- scrnsaverproto - | | | |-- sessreg - | | | |-- setxkbmap - | | | |-- showfont - | | | |-- smproxy - | | | |-- transset - | | | |-- twm - | | | |-- util-macros - | | | |-- videoproto - | | | |-- viewres - | | | |-- x11perf - | | | |-- xauth - | | | |-- xbacklight - | | | |-- xbiff - | | | |-- xbitmaps - | | | |-- xcalc - | | | |-- xcb-proto - | | | |-- xcb-util - | | | |-- xcb-util-image - | | | |-- xcb-util-keysyms - | | | |-- xcb-util-renderutil - | | | |-- xcb-util-wm - | | | |-- xclipboard - | | | |-- xclock - | | | |-- xcmiscproto - | | | |-- xcmsdb - | | | |-- xcompmgr - | | | |-- xconsole - | | | |-- xcursor-themes - | | | |-- xcursorgen - | | | |-- xdbedizzy - | | | |-- xditview - | | | |-- xdm - | | | |-- xdpyinfo - | | | |-- xdriinfo - | | | |-- xedit - | | | |-- xev - | | | |-- xextproto - | | | |-- xeyes - | | | |-- xf86-input-acecad - | | | |-- xf86-input-aiptek - | | | |-- xf86-input-evdev - | | | |-- xf86-input-joystick - | | | |-- xf86-input-keyboard - | | | |-- xf86-input-mouse - | | | |-- xf86-input-penmount - | | | |-- xf86-input-synaptics - | | | |-- xf86-input-vmmouse - | | | |-- xf86-input-void - | | | |-- xf86-input-wacom - | | | |-- xf86-video-apm - | | | |-- xf86-video-ark - | | | |-- xf86-video-ast - | | | |-- xf86-video-ati - | | | |-- xf86-video-chips - | | | |-- xf86-video-cirrus - | | | |-- xf86-video-dummy - | | | |-- xf86-video-fbdev - | | | |-- xf86-video-geode - | | | |-- xf86-video-glint - | | | |-- xf86-video-i128 - | | | |-- xf86-video-i740 - | | | |-- xf86-video-intel - | | | |-- xf86-video-mach64 - | | | |-- xf86-video-mga - | | | |-- xf86-video-modesetting - | | | |-- xf86-video-neomagic - | | | |-- xf86-video-nouveau - | | | |-- xf86-video-nv - | | | |-- xf86-video-openchrome - | | | |-- xf86-video-qxl - | | | |-- xf86-video-r128 - | | | |-- xf86-video-rendition - | | | |-- xf86-video-s3 - | | | |-- xf86-video-s3virge - | | | |-- xf86-video-savage - | | | |-- xf86-video-siliconmotion - | | | |-- xf86-video-sis - | | | |-- xf86-video-sisusb - | | | |-- xf86-video-tdfx - | | | |-- xf86-video-tga - | | | |-- xf86-video-trident - | | | |-- xf86-video-tseng - | | | |-- xf86-video-v4l - | | | |-- xf86-video-vesa - | | | |-- xf86-video-vmware - | | | |-- xf86-video-voodoo - | | | |-- xf86-video-xgi - | | | |-- xf86bigfontproto - | | | |-- xf86dga - | | | |-- xf86dgaproto - | | | |-- xf86driproto - | | | |-- xf86miscproto - | | | |-- xf86vidmodeproto - | | | |-- xfd - | | | |-- xfontsel - | | | |-- xfs - | | | |-- xfsinfo - | | | |-- xgamma - | | | |-- xgc - | | | |-- xhost - | | | |-- xineramaproto - | | | |-- xinit - | | | |-- xinput - | | | |-- xkbcomp - | | | |-- xkbevd - | | | |-- xkbprint - | | | |-- xkbutils - | | | |-- xkeyboard-config - | | | |-- xkill - | | | |-- xload - | | | |-- xlogo - | | | |-- xlsatoms - | | | |-- xlsclients - | | | |-- xlsfonts - | | | |-- xmag - | | | |-- xman - | | | |-- xmessage - | | | |-- xmh - | | | |-- xmodmap - | | | |-- xmore - | | | |-- xorg-cf-files - | | | |-- xorg-docs - | | | |-- xorg-server - | | | |-- xorg-server-xephyr - | | | |-- xorg-server-xnest - | | | |-- xorg-server-xvfb - | | | |-- xorg-sgml-doctools - | | | |-- xpr - | | | |-- xprop - | | | |-- xproto - | | | |-- xpyb - | | | |-- xrandr - | | | |-- xrdb - | | | |-- xrefresh - | | | |-- xscope - | | | |-- xset - | | | |-- xsetroot - | | | |-- xsm - | | | |-- xstdcmap - | | | |-- xtrans - | | | |-- xvidtune - | | | |-- xvinfo - | | | |-- xwd - | | | |-- xwininfo - | | | `-- xwud - | | |-- src - | | | |-- app - | | | | |-- appres-1.0.3.tar.xz - | | | | |-- bdftopcf-1.0.3.tar.xz - | | | | |-- beforelight-1.0.4.tar.xz - | | | | |-- bitmap-1.0.6.tar.xz - | | | | |-- compiz-0.8.8.tar.xz - | | | | |-- editres-1.0.5.tar.xz - | | | | |-- fonttosfnt-1.0.4.tar.xz - | | | | |-- fslsfonts-1.0.4.tar.xz - | | | | |-- fstobdf-1.0.5.tar.xz - | | | | |-- iceauth-1.0.5.tar.xz - | | | | |-- ico-1.0.3.tar.xz - | | | | |-- intel-gpu-tools-1.2.tar.xz - | | | | |-- listres-1.0.3.tar.xz - | | | | |-- luit-1.1.1.tar.xz - | | | | |-- mkcomposecache-1.2.1.tar.xz - | | | | |-- mkfontdir-1.0.7.tar.xz - | | | | |-- mkfontscale-1.1.0.tar.xz - | | | | |-- oclock-1.0.3.tar.xz - | | | | |-- rendercheck-1.4.tar.xz - | | | | |-- rgb-1.0.4.tar.xz - | | | | |-- sessreg-1.0.7.tar.xz - | | | | |-- setxkbmap-1.3.0.tar.xz - | | | | |-- showfont-1.0.3.tar.xz - | | | | |-- smproxy-1.0.5.tar.xz - | | | | |-- transset-1.0.0.tar.xz - | | | | |-- twm-1.0.7.tar.xz - | | | | |-- viewres-1.0.3.tar.xz - | | | | |-- x11perf-1.5.4.tar.xz - | | | | |-- xauth-1.0.7.tar.xz - | | | | |-- xbacklight-1.1.2.tar.xz - | | | | |-- xbiff-1.0.3.tar.xz - | | | | |-- xcalc-1.0.4.1.tar.xz - | | | | |-- xclipboard-1.1.2.tar.xz - | | | | |-- xclock-1.0.6.tar.xz - | | | | |-- xcmsdb-1.0.4.tar.xz - | | | | |-- xcompmgr-1.1.6.tar.xz - | | | | |-- xconsole-1.0.4.tar.xz - | | | | |-- xcursorgen-1.0.5.tar.xz - | | | | |-- xdbedizzy-1.1.0.tar.xz - | | | | |-- xditview-1.0.2.tar.xz - | | | | |-- xdm-1.1.11.tar.xz - | | | | |-- xdpyinfo-1.3.0.tar.xz - | | | | |-- xdriinfo-1.0.4.tar.xz - | | | | |-- xedit-1.2.0.tar.xz - | | | | |-- xev-1.2.0.tar.xz - | | | | |-- xeyes-1.1.1.tar.xz - | | | | |-- xf86dga-1.0.3.tar.xz - | | | | |-- xfd-1.1.1.tar.xz - | | | | |-- xfontsel-1.0.4.tar.xz - | | | | |-- xfs-1.1.2.tar.xz - | | | | |-- xfsinfo-1.0.3.tar.xz - | | | | |-- xgamma-1.0.5.tar.xz - | | | | |-- xgc-1.0.3.tar.xz - | | | | |-- xhost-1.0.5.tar.xz - | | | | |-- xinit-1.3.2.tar.xz - | | | | |-- xinput-1.6.0.tar.xz - | | | | |-- xkbcomp-1.2.4.tar.xz - | | | | |-- xkbevd-1.1.3.tar.xz - | | | | |-- xkbprint-1.0.3.tar.xz - | | | | |-- xkbutils-1.0.3.tar.xz - | | | | |-- xkill-1.0.3.tar.xz - | | | | |-- xload-1.1.1.tar.xz - | | | | |-- xlogo-1.0.4.tar.xz - | | | | |-- xlsatoms-1.1.1.tar.xz - | | | | |-- xlsclients-1.1.2.tar.xz - | | | | |-- xlsfonts-1.0.4.tar.xz - | | | | |-- xmag-1.0.4.tar.xz - | | | | |-- xman-1.1.2.tar.xz - | | | | |-- xmessage-1.0.3.tar.xz - | | | | |-- xmh-1.0.2.tar.xz - | | | | |-- xmodmap-1.0.7.tar.xz - | | | | |-- xmore-1.0.2.tar.xz - | | | | |-- xpr-1.0.4.tar.xz - | | | | |-- xprop-1.2.1.tar.xz - | | | | |-- xrandr-1.3.5.tar.xz - | | | | |-- xrdb-1.0.9.tar.xz - | | | | |-- xrefresh-1.0.4.tar.xz - | | | | |-- xscope-1.3.1.tar.xz - | | | | |-- xset-1.2.2.tar.xz - | | | | |-- xsetroot-1.1.0.tar.xz - | | | | |-- xsm-1.0.2.tar.xz - | | | | |-- xstdcmap-1.0.2.tar.xz - | | | | |-- xvidtune-1.0.2.tar.xz - | | | | |-- xvinfo-1.1.1.tar.xz - | | | | |-- xwd-1.0.5.tar.xz - | | | | |-- xwininfo-1.1.2.tar.xz - | | | | `-- xwud-1.0.4.tar.xz - | | | |-- data - | | | | |-- xbitmaps-1.1.1.tar.xz - | | | | |-- xcursor-themes-1.0.3.tar.xz - | | | | `-- xkeyboard-config-2.6.tar.xz - | | | |-- doc - | | | | |-- xorg-docs-1.7.tar.xz - | | | | `-- xorg-sgml-doctools-1.11.tar.xz - | | | |-- driver - | | | | |-- pending - | | | | | `-- xf86-video-ati-6.14.5.tar.xz - | | | | |-- xf86-input-acecad-1.5.0.tar.xz - | | | | |-- xf86-input-aiptek-1.4.1.tar.xz - | | | | |-- xf86-input-evdev-2.7.0.tar.xz - | | | | |-- xf86-input-joystick-1.6.1.tar.xz - | | | | |-- xf86-input-keyboard-1.6.1.tar.xz - | | | | |-- xf86-input-mouse-1.7.2.tar.xz - | | | | |-- xf86-input-penmount-1.5.0.tar.xz - | | | | |-- xf86-input-synaptics-1.6.2.tar.xz - | | | | |-- xf86-input-vmmouse-12.9.0.tar.xz - | | | | |-- xf86-input-void-1.4.0.tar.xz - | | | | |-- xf86-input-wacom-0.15.0.tar.xz - | | | | |-- xf86-video-apm-1.2.4.tar.xz - | | | | |-- xf86-video-ark-0.7.4.tar.xz - | | | | |-- xf86-video-ast-0.95.00.tar.xz - | | | | |-- xf86-video-ati-6.14.4.tar.xz - | | | | |-- xf86-video-chips-1.2.4.tar.xz - | | | | |-- xf86-video-cirrus-1.4.0.tar.xz - | | | | |-- xf86-video-dummy-0.3.5.tar.xz - | | | | |-- xf86-video-geode-2.11.13.tar.xz - | | | | |-- xf86-video-glint-1.2.7.tar.xz - | | | | |-- xf86-video-i128-1.3.5.tar.xz - | | | | |-- xf86-video-i740-1.3.3.tar.xz - | | | | |-- xf86-video-intel-2.19.0.tar.xz - | | | | |-- xf86-video-mach64-6.9.1.tar.xz - | | | | |-- xf86-video-mga-1.5.0.tar.xz - | | | | |-- xf86-video-modesetting-0.4.0.tar.xz - | | | | |-- xf86-video-neomagic-1.2.6.tar.xz - | | | | |-- xf86-video-nouveau-git_20120323_efd7a52.tar.xz - | | | | |-- xf86-video-nv-2.1.20.tar.xz - | | | | |-- xf86-video-openchrome-0.2.906.tar.xz - | | | | |-- xf86-video-r128-6.8.2.tar.xz - | | | | |-- xf86-video-rendition-4.2.4+.tar.xz - | | | | |-- xf86-video-s3-0.6.4.tar.xz - | | | | |-- xf86-video-s3virge-1.10.5.tar.xz - | | | | |-- xf86-video-savage-2.3.4.tar.xz - | | | | |-- xf86-video-siliconmotion-1.7.6.tar.xz - | | | | |-- xf86-video-sis-0.10.4.tar.xz - | | | | |-- xf86-video-sisusb-0.9.4.tar.xz - | | | | |-- xf86-video-tdfx-1.4.4.tar.xz - | | | | |-- xf86-video-tga-1.2.1.tar.xz - | | | | |-- xf86-video-trident-1.3.5.tar.xz - | | | | |-- xf86-video-tseng-1.2.4.tar.xz - | | | | |-- xf86-video-v4l-0.2.0.tar.xz - | | | | |-- xf86-video-vesa-2.3.1.tar.xz - | | | | |-- xf86-video-vmware-12.0.2.tar.xz - | | | | |-- xf86-video-voodoo-1.2.4.tar.xz - | | | | `-- xf86-video-xgi-1.6.0.tar.xz - | | | |-- font - | | | | |-- encodings-1.0.4.tar.xz - | | | | |-- font-adobe-100dpi-1.0.3.tar.xz - | | | | |-- font-adobe-75dpi-1.0.3.tar.xz - | | | | |-- font-adobe-utopia-100dpi-1.0.4.tar.xz - | | | | |-- font-adobe-utopia-75dpi-1.0.4.tar.xz - | | | | |-- font-adobe-utopia-type1-1.0.4.tar.xz - | | | | |-- font-alias-1.0.3.tar.xz - | | | | |-- font-arabic-misc-1.0.3.tar.xz - | | | | |-- font-bh-100dpi-1.0.3.tar.xz - | | | | |-- font-bh-75dpi-1.0.3.tar.xz - | | | | |-- font-bh-lucidatypewriter-100dpi-1.0.3.tar.xz - | | | | |-- font-bh-lucidatypewriter-75dpi-1.0.3.tar.xz - | | | | |-- font-bh-ttf-1.0.3.tar.xz - | | | | |-- font-bh-type1-1.0.3.tar.xz - | | | | |-- font-bitstream-100dpi-1.0.3.tar.xz - | | | | |-- font-bitstream-75dpi-1.0.3.tar.xz - | | | | |-- font-bitstream-speedo-1.0.2.tar.xz - | | | | |-- font-bitstream-type1-1.0.3.tar.xz - | | | | |-- font-cronyx-cyrillic-1.0.3.tar.xz - | | | | |-- font-cursor-misc-1.0.3.tar.xz - | | | | |-- font-daewoo-misc-1.0.3.tar.xz - | | | | |-- font-dec-misc-1.0.3.tar.xz - | | | | |-- font-ibm-type1-1.0.3.tar.xz - | | | | |-- font-isas-misc-1.0.3.tar.xz - | | | | |-- font-jis-misc-1.0.3.tar.xz - | | | | |-- font-micro-misc-1.0.3.tar.xz - | | | | |-- font-misc-cyrillic-1.0.3.tar.xz - | | | | |-- font-misc-ethiopic-1.0.3.tar.xz - | | | | |-- font-misc-meltho-1.0.3.tar.xz - | | | | |-- font-misc-misc-1.1.2.tar.xz - | | | | |-- font-mutt-misc-1.0.3.tar.xz - | | | | |-- font-schumacher-misc-1.1.2.tar.xz - | | | | |-- font-screen-cyrillic-1.0.4.tar.xz - | | | | |-- font-sony-misc-1.0.3.tar.xz - | | | | |-- font-sun-misc-1.0.3.tar.xz - | | | | |-- font-util-1.3.0.tar.xz - | | | | |-- font-winitzki-cyrillic-1.0.3.tar.xz - | | | | `-- font-xfree86-type1-1.0.4.tar.xz - | | | |-- get-xf86-video-nouveau.sh - | | | |-- lib - | | | | |-- libFS-1.0.4.tar.xz - | | | | |-- libICE-1.0.8.tar.xz - | | | | |-- libSM-1.2.1.tar.xz - | | | | |-- libX11-1.5.0.tar.xz - | | | | |-- libXScrnSaver-1.2.2.tar.xz - | | | | |-- libXau-1.0.7.tar.xz - | | | | |-- libXaw-1.0.11.tar.xz - | | | | |-- libXaw3d-1.6.2.tar.xz - | | | | |-- libXcm-0.5.0.tar.xz - | | | | |-- libXcomposite-0.4.3.tar.xz - | | | | |-- libXcursor-1.1.13.tar.xz - | | | | |-- libXdamage-1.1.3.tar.xz - | | | | |-- libXdmcp-1.1.1.tar.xz - | | | | |-- libXevie-1.0.3.tar.xz - | | | | |-- libXext-1.3.1.tar.xz - | | | | |-- libXfixes-5.0.tar.xz - | | | | |-- libXfont-1.4.5.tar.xz - | | | | |-- libXfontcache-1.0.5.tar.xz - | | | | |-- libXft-2.3.1.tar.xz - | | | | |-- libXi-1.6.1.tar.xz - | | | | |-- libXinerama-1.1.2.tar.xz - | | | | |-- libXmu-1.1.1.tar.xz - | | | | |-- libXp-1.0.1.tar.xz - | | | | |-- libXpm-3.5.10.tar.xz - | | | | |-- libXrandr-1.3.2.tar.xz - | | | | |-- libXrender-0.9.7.tar.xz - | | | | |-- libXres-1.0.6.tar.xz - | | | | |-- libXt-1.1.3.tar.xz - | | | | |-- libXtst-1.2.1.tar.xz - | | | | |-- libXv-1.0.7.tar.xz - | | | | |-- libXvMC-1.0.7.tar.xz - | | | | |-- libXxf86dga-1.1.3.tar.xz - | | | | |-- libXxf86misc-1.0.3.tar.xz - | | | | |-- libXxf86vm-1.1.2.tar.xz - | | | | |-- libdmx-1.1.2.tar.xz - | | | | |-- libfontenc-1.1.1.tar.xz - | | | | |-- libpciaccess-0.13.1.tar.xz - | | | | |-- libxkbfile-1.0.8.tar.xz - | | | | |-- pixman-0.26.2.tar.xz - | | | | `-- xtrans-1.2.7.tar.xz - | | | |-- proto - | | | | |-- bigreqsproto-1.1.2.tar.xz - | | | | |-- compositeproto-0.4.2.tar.xz - | | | | |-- damageproto-1.2.1.tar.xz - | | | | |-- dmxproto-2.3.1.tar.xz - | | | | |-- dri2proto-2.6.tar.xz - | | | | |-- evieext-1.1.1.tar.xz - | | | | |-- fixesproto-5.0.tar.xz - | | | | |-- fontcacheproto-0.1.3.tar.xz - | | | | |-- fontsproto-2.1.2.tar.xz - | | | | |-- glproto-1.4.15.tar.xz - | | | | |-- inputproto-2.2.tar.xz - | | | | |-- kbproto-1.0.6.tar.xz - | | | | |-- printproto-1.0.5.tar.xz - | | | | |-- randrproto-1.3.2.tar.xz - | | | | |-- recordproto-1.14.2.tar.xz - | | | | |-- renderproto-0.11.1.tar.xz - | | | | |-- resourceproto-1.2.0.tar.xz - | | | | |-- scrnsaverproto-1.2.2.tar.xz - | | | | |-- videoproto-2.3.1.tar.xz - | | | | |-- xcmiscproto-1.2.2.tar.xz - | | | | |-- xextproto-7.2.1.tar.xz - | | | | |-- xf86bigfontproto-1.2.0.tar.xz - | | | | |-- xf86dgaproto-2.1.tar.xz - | | | | |-- xf86driproto-2.1.1.tar.xz - | | | | |-- xf86miscproto-0.9.3.tar.xz - | | | | |-- xf86vidmodeproto-2.3.1.tar.xz - | | | | |-- xineramaproto-1.2.1.tar.xz - | | | | `-- xproto-7.0.23.tar.xz - | | | |-- util - | | | | |-- gccmakedep-1.0.2.tar.xz - | | | | |-- imake-1.0.5.tar.xz - | | | | |-- lndir-1.0.3.tar.xz - | | | | |-- makedepend-1.0.4.tar.xz - | | | | |-- util-macros-1.17.tar.xz - | | | | `-- xorg-cf-files-1.0.4.tar.xz - | | | |-- xcb - | | | | |-- libpthread-stubs-0.3.tar.xz - | | | | |-- libxcb-1.8.1.tar.xz - | | | | |-- xcb-proto-1.7.1.tar.xz - | | | | |-- xcb-util-0.3.8.tar.xz - | | | | |-- xcb-util-image-0.3.9.tar.xz - | | | | |-- xcb-util-keysyms-0.3.9.tar.xz - | | | | |-- xcb-util-renderutil-0.3.8.tar.xz - | | | | |-- xcb-util-wm-0.3.9.tar.xz - | | | | `-- xpyb-1.3.1.tar.xz - | | | `-- xserver - | | | `-- xorg-server-1.12.3.tar.xz - | | `-- x11.SlackBuild - | |-- x11-skel - | | |-- doinst.sh.gz - | | |-- manpages - | | | `-- xwmconfig.1 - | | |-- scripts - | | | |-- setup.xwmconfig - | | | |-- xorg.conf-fbdev - | | | |-- xorg.conf-vesa - | | | |-- xorgsetup - | | | `-- xwmconfig - | | |-- slack-desc - | | `-- x11-skel.SlackBuild - | |-- xdg-user-dirs - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xdg-user-dirs-0.14.tar.xz - | | `-- xdg-user-dirs.SlackBuild - | |-- xdg-utils - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xdg-utils-1.1.0-rc1.tar.bz2 - | | |-- xdg-utils-cvs_checkout.sh - | | |-- xdg-utils.SlackBuild - | | `-- xdg-utils.info - | `-- xterm - | |-- doinst.sh.gz - | |-- slack-desc - | |-- xterm-281.tar.xz - | `-- xterm.SlackBuild - |-- xap - | |-- MPlayer - | | |-- Blue-1.8.tar.bz2 - | | |-- MPlayer.SlackBuild - | | |-- MPlayer_nolibdvdcss-20120701.tar.xz - | | |-- ffmpeg-20120514.tar.xz - | | `-- slack-desc - | |-- audacious - | | |-- audacious-3.3.1.tar.xz - | | |-- audacious.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- audacious-plugins - | | |-- audacious-plugins-3.3.1.tar.xz - | | |-- audacious-plugins.SlackBuild - | | `-- slack-desc - | |-- blackbox - | | |-- bbkeys-0.9.1.tar.xz - | | |-- blackbox-0.70.1-gcc-4.3.patch.gz - | | |-- blackbox-0.70.1.tar.xz - | | |-- blackbox.SlackBuild - | | |-- slack-desc - | | |-- startblackbox.gz - | | |-- textpropertytostring-unconditional.diff.gz - | | `-- xinitrc.blackbox.gz - | |-- blueman - | | |-- blueman-open - | | |-- blueman-r708.tar.xz - | | |-- blueman-use_blueman-open_for_obexfs.diff.gz - | | |-- blueman.SlackBuild - | | |-- doinst.sh.gz - | | `-- slack-desc - | |-- electricsheep - | | |-- README.slackware - | | |-- electricsheep-20090306.tar.xz - | | |-- electricsheep.SlackBuild - | | |-- electricsheep.mplayer.diff.gz - | | |-- electricsheep_gnome-open.patch - | | `-- slack-desc - | |-- fluxbox - | | |-- fluxbox-1.3.2.tar.xz - | | |-- fluxbox.SlackBuild - | | |-- fluxbox.startfluxbox.dbus.diff.gz - | | |-- slack-desc - | | `-- xinitrc.fluxbox.gz - | |-- fvwm - | | |-- ancient-icons.tar.gz - | | |-- doinst.sh.gz - | | |-- fvwm-2.6.5.tar.xz - | | |-- fvwm.SlackBuild - | | |-- slack-desc - | | |-- startfvwm2.gz - | | `-- xinitrc.fvwm2.gz - | |-- geeqie - | | |-- doinst.sh.gz - | | |-- geeqie-1.1.tar.xz - | | |-- geeqie.SlackBuild - | | `-- slack-desc - | |-- gftp - | | |-- gftp-2.0.19.tar.bz2 - | | |-- gftp.SlackBuild - | | |-- gftp.desktop.gz - | | `-- slack-desc - | |-- gimp - | | |-- gimp-2.8.2.tar.xz - | | |-- gimp.SlackBuild - | | `-- slack-desc - | |-- gkrellm - | | |-- gkrellm-2.3.5.tar.bz2 - | | |-- gkrellm-countdown-0.1.1.tar.gz - | | |-- gkrellm.SlackBuild - | | |-- gkrellm.theme.defaults.diff.gz - | | `-- slack-desc - | |-- gnuchess - | | |-- Sjeng-Free-11.2.tar.bz2 - | | |-- chess.png - | | |-- eboard-1.1.1.tar.bz2 - | | |-- eboard.assert.diff.gz - | | |-- eboard.desktop - | | |-- gnuchess-5.08.tar.xz - | | |-- gnuchess.SlackBuild - | | |-- slack-desc - | | |-- xboard-4.5.1.tar.xz - | | `-- xboard.desktop - | |-- gnuplot - | | |-- gnuplot-4.6.0.tar.xz - | | |-- gnuplot.SlackBuild - | | `-- slack-desc - | |-- gucharmap - | | |-- doinst.sh.gz - | | |-- gucharmap-3.4.1.tar.xz - | | |-- gucharmap.SlackBuild - | | `-- slack-desc - | |-- gv - | | |-- gv-3.7.3.tar.xz - | | |-- gv.SlackBuild - | | |-- gv.libXaw3d.diff.gz - | | `-- slack-desc - | |-- imagemagick - | | |-- ImageMagick-6.7.7-10.tar.xz - | | |-- imagemagick.SlackBuild - | | `-- slack-desc - | |-- mozilla-firefox - | | |-- firefox-15.0.1.source.tar.bz2 - | | |-- firefox-15.0.1.source.tar.bz2.asc - | | |-- firefox.moz_plugin_path.diff.gz - | | |-- firefox.png - | | |-- mimeTypes.rdf.gz - | | |-- mozilla-firefox-mimeTypes-fix.diff.gz - | | |-- mozilla-firefox.SlackBuild - | | |-- mozilla-firefox.desktop - | | `-- slack-desc - | |-- mozilla-thunderbird - | | |-- mozilla-firefox.xpcom_arm.patch.gz - | | |-- mozilla-thunderbird.SlackBuild - | | |-- mozilla-thunderbird.desktop - | | |-- slack-desc - | | |-- thunderbird-15.0.1.source.tar.bz2 - | | |-- thunderbird-15.0.1.source.tar.bz2.asc - | | `-- thunderbird.png - | |-- network-manager-applet - | | |-- doinst.sh.gz - | | |-- network-manager-applet-0.9.4.1.tar.xz - | | |-- network-manager-applet.SlackBuild - | | `-- slack-desc - | |-- pan - | | |-- pan-0.139.tar.xz - | | |-- pan.SlackBuild - | | |-- pan.gcc47.diff.gz - | | `-- slack-desc - | |-- pidgin - | | |-- fix-gmain_h-compile-error.diff.gz - | | |-- pidgin-2.10.6.tar.xz - | | |-- pidgin-encryption-3.1.tar.gz - | | |-- pidgin.SlackBuild - | | `-- slack-desc - | |-- rdesktop - | | |-- rdesktop-1.7.1.tar.xz - | | |-- rdesktop.SlackBuild - | | `-- slack-desc - | |-- rxvt - | | |-- rxvt-2.7.10.tar.bz2 - | | |-- rxvt.SlackBuild - | | |-- rxvt.utempter.diff.gz - | | `-- slack-desc - | |-- sane - | | |-- dll.conf.additions.gz - | | |-- doinst.sh.gz - | | |-- sane-backends-1.0.22-v4l.diff.gz - | | |-- sane-backends-1.0.22.tar.bz2 - | | |-- sane-frontends-1.0.14-sane_cap_always_settable.diff.gz - | | |-- sane-frontends-1.0.14.tar.bz2 - | | |-- sane.SlackBuild - | | `-- slack-desc - | |-- seamonkey - | | |-- doinst.sh.gz - | | |-- pkgconfig - | | | |-- seamonkey-gtkmozembed.pc - | | | |-- seamonkey-js.pc - | | | |-- seamonkey-libxul.pc - | | | |-- seamonkey-nspr.pc - | | | |-- seamonkey-nss.pc - | | | |-- seamonkey-plugin.pc - | | | `-- seamonkey-xpcom.pc - | | |-- seamonkey-2.12.1.source.tar.xz - | | |-- seamonkey-icon.png - | | |-- seamonkey-mail-icon.png - | | |-- seamonkey-mail.desktop - | | |-- seamonkey.SlackBuild - | | |-- seamonkey.desktop - | | `-- slack-desc - | |-- seyon - | | |-- seyon-2.20c.lsm - | | |-- seyon-2.20c.tar.gz - | | |-- seyon.SlackBuild - | | |-- seyon_2.20c-16.diff.gz - | | `-- slack-desc - | |-- vim-gvim -> ../ap/vim - | |-- windowmaker - | | |-- WindowMaker-0.95.3.tar.xz - | | |-- WindowMaker-extra-0.1.tar.xz - | | |-- WindowMaker.noopensusemenu.diff.gz - | | |-- slack-desc - | | |-- windowmaker.SlackBuild - | | |-- wmaker.inst.diff.gz - | | `-- xinitrc.wmaker.gz - | |-- x11-ssh-askpass - | | |-- README - | | |-- slack-desc - | | |-- x11-ssh-askpass-1.2.4.1.tar.gz - | | |-- x11-ssh-askpass.SlackBuild - | | |-- x11-ssh-askpass.info - | | `-- xprofile.sample - | |-- x3270 - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- x3270-3.3.12ga7.tar.xz - | | `-- x3270.SlackBuild - | |-- xaos - | | |-- slack-desc - | | |-- xaos-3.5.tar.xz - | | |-- xaos.6.gz - | | |-- xaos.SlackBuild - | | |-- xaos.desktop - | | `-- xaos.png - | |-- xchat - | | |-- slack-desc - | | |-- xchat-2.8.8.tar.bz2 - | | `-- xchat.SlackBuild - | |-- xfractint - | | |-- palette.maps.tar.gz - | | |-- slack-desc - | | |-- xfractint-20.04p11.tar.xz - | | `-- xfractint.SlackBuild - | |-- xgames - | | |-- maze.diff.gz - | | |-- maze.tar.gz - | | |-- slack-desc - | | |-- spider.diff.gz - | | |-- spider.tar.gz - | | |-- xcolormap.diff.gz - | | |-- xcolormap.tar.gz - | | |-- xcuckoo-1.1.tar.gz - | | |-- xcuckoo.diff.gz - | | |-- xgames.SlackBuild - | | |-- xlander-2009-07-18.diff.gz - | | |-- xlander.fixes.diff.gz - | | |-- xlander.tar.gz - | | |-- xminesweep3.0.tar.gz - | | |-- xneko.tar.gz - | | |-- xroach.tar.gz - | | `-- xsnow-1.42.tar.gz - | |-- xine-lib - | | |-- slack-desc - | | |-- xine-lib-1.1.21.tar.xz - | | |-- xine-lib.SlackBuild - | | `-- xine-lib.XvMClib.h.diff.gz - | |-- xine-ui - | | |-- slack-desc - | | |-- xine-ui-0.99.6.tar.xz - | | |-- xine-ui.SlackBuild - | | |-- xine-ui.no.deprecated.curl.headers.diff.gz - | | `-- xine.desktop.gz - | |-- xlockmore - | | |-- l-bob.README - | | |-- l-bob.xbm - | | |-- l-linux.xbm - | | |-- s-bob.xbm - | | |-- slack-desc - | | |-- xlockmore-5.39.tar.xz - | | |-- xlockmore.SlackBuild - | | `-- xlockmore.bitmap.diff.gz - | |-- xmms - | | |-- slack-desc - | | |-- xmms-1.2.11.tar.bz2 - | | |-- xmms.SlackBuild - | | |-- xmms.desktop - | | |-- xmms.gtk.doublesize.diff.gz - | | |-- xmms.png - | | `-- xmms.wmxmms_vis_depth_workaround.diff.gz - | |-- xpaint - | | |-- slack-desc - | | |-- xpaint-2.8.16.tar.bz2 - | | `-- xpaint.SlackBuild - | |-- xpdf - | | |-- doinst.sh.gz - | | |-- lang - | | | |-- xpdf-arabic.diff.gz - | | | |-- xpdf-arabic.tar.gz - | | | |-- xpdf-chinese-simplified.diff.gz - | | | |-- xpdf-chinese-simplified.tar.gz - | | | |-- xpdf-chinese-traditional.diff.gz - | | | |-- xpdf-chinese-traditional.tar.gz - | | | |-- xpdf-cyrillic.diff.gz - | | | |-- xpdf-cyrillic.tar.gz - | | | |-- xpdf-greek.diff.gz - | | | |-- xpdf-greek.tar.gz - | | | |-- xpdf-hebrew.diff.gz - | | | |-- xpdf-hebrew.tar.gz - | | | |-- xpdf-japanese.diff.gz - | | | |-- xpdf-japanese.tar.gz - | | | |-- xpdf-korean.diff.gz - | | | |-- xpdf-korean.tar.gz - | | | |-- xpdf-latin2.diff.gz - | | | |-- xpdf-latin2.tar.gz - | | | |-- xpdf-thai.diff.gz - | | | |-- xpdf-thai.tar.gz - | | | |-- xpdf-turkish.diff.gz - | | | `-- xpdf-turkish.tar.gz - | | |-- patches - | | | |-- 03-float.patch.gz - | | | |-- xpdf-3.02pl1.patch - | | | |-- xpdf-3.02pl1.patch.sig - | | | |-- xpdf-3.02pl2.patch - | | | |-- xpdf-3.02pl2.patch.sig - | | | |-- xpdf-3.02pl3.patch - | | | |-- xpdf-3.02pl3.patch.sig - | | | |-- xpdf-3.02pl4.patch - | | | |-- xpdf-3.02pl4.patch.sig - | | | |-- xpdf-3.02pl5.patch - | | | |-- xpdf-3.02pl5.patch.sig - | | | |-- xpdf-3.02pl6.patch - | | | |-- xpdf-3.02pl6.patch.sig - | | | |-- xpdf-resizefix.diff.gz - | | | |-- xpdf_3.02-1.3.diff.gz - | | | `-- xpdfrc.diff.gz - | | |-- slack-desc - | | |-- xpdf-3.02.tar.gz - | | |-- xpdf-3.02.tar.gz.sig - | | |-- xpdf.SlackBuild - | | `-- xpdf.desktop - | |-- xsane - | | |-- slack-desc - | | |-- xsane-0.998.tar.xz - | | `-- xsane.SlackBuild - | |-- xscreensaver - | | |-- setuid.c.gz - | | |-- slack-desc - | | |-- xscreensaver-5.15.tar.xz - | | |-- xscreensaver-getimage-file-5.14 - | | |-- xscreensaver.SlackBuild - | | |-- xscreensaver.electricsheep.diff.gz - | | `-- xscreensaver.setuid.diff.gz - | |-- xv - | | |-- slack-desc - | | |-- xv-3.10.tar.xz - | | |-- xv-3.10a-enhancements.20070520-20081216.diff.bz2 - | | |-- xv-3.10a-jumbo-README.txt - | | |-- xv-3.10a-jumbo-additions.diff.bz2 - | | |-- xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2 - | | |-- xv-3.10a.patch.gz - | | |-- xv.SlackBuild - | | |-- xv.jasper.diff.gz - | | |-- xv.prefix.diff.gz - | | `-- xv.prefix_x86_64.diff.gz - | `-- xxgdb - | |-- slack-desc - | |-- xxgdb-1.08-glibc.patch.xz - | |-- xxgdb-1.12-debian-filemenu.patch.xz - | |-- xxgdb-1.12-debian-pty.patch.xz - | |-- xxgdb-1.12-mandriva.patch.xz - | |-- xxgdb-1.12-sysv.patch.xz - | |-- xxgdb-1.12.tar.xz - | `-- xxgdb.SlackBuild - |-- xfce - | |-- Terminal - | | |-- Terminal-0.4.8.tar.xz - | | |-- Terminal.SlackBuild - | | `-- slack-desc - | |-- Thunar - | | |-- Thunar-1.4.0.tar.xz - | | |-- Thunar.SlackBuild - | | `-- slack-desc - | |-- exo - | | |-- exo-0.8.0.tar.xz - | | |-- exo.SlackBuild - | | `-- slack-desc - | |-- garcon - | | |-- garcon-0.2.0.tar.xz - | | |-- garcon.SlackBuild - | | `-- slack-desc - | |-- gtk-xfce-engine - | | |-- gtk-xfce-engine-3.0.0.tar.xz - | | |-- gtk-xfce-engine.SlackBuild - | | `-- slack-desc - | |-- libxfce4ui - | | |-- libxfce4ui-4.10.0.tar.xz - | | |-- libxfce4ui.SlackBuild - | | `-- slack-desc - | |-- libxfce4util - | | |-- libxfce4util-4.10.0.tar.xz - | | |-- libxfce4util.SlackBuild - | | `-- slack-desc - | |-- libxfcegui4 - | | |-- libxfcegui4-4.10.0.tar.xz - | | |-- libxfcegui4.SlackBuild - | | `-- slack-desc - | |-- orage - | | |-- orage-4.8.3.tar.xz - | | |-- orage.SlackBuild - | | `-- slack-desc - | |-- thunar-volman - | | |-- slack-desc - | | |-- thunar-volman-0.8.0.tar.xz - | | `-- thunar-volman.SlackBuild - | |-- tumbler - | | |-- slack-desc - | | |-- tumbler-0.1.25.tar.xz - | | `-- tumbler.SlackBuild - | |-- xfce-build-all.sh - | |-- xfce4-appfinder - | | |-- slack-desc - | | |-- xfce4-appfinder-4.10.0.tar.xz - | | `-- xfce4-appfinder.SlackBuild - | |-- xfce4-clipman-plugin - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-clipman-plugin-1.2.3.tar.xz - | | |-- xfce4-clipman-plugin.SlackBuild - | | `-- xfce4-clipman-plugin.url - | |-- xfce4-dev-tools - | | |-- slack-desc - | | |-- xfce4-dev-tools-4.10.0.tar.xz - | | `-- xfce4-dev-tools.SlackBuild - | |-- xfce4-mixer - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-mixer-4.8.0.tar.xz - | | `-- xfce4-mixer.SlackBuild - | |-- xfce4-notifyd - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-notifyd-0.2.2.tar.xz - | | `-- xfce4-notifyd.SlackBuild - | |-- xfce4-panel - | | |-- slack-desc - | | |-- xfce4-panel-4.10.0.tar.xz - | | `-- xfce4-panel.SlackBuild - | |-- xfce4-power-manager - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-power-manager-1.2.0.tar.xz - | | `-- xfce4-power-manager.SlackBuild - | |-- xfce4-screenshooter - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-screenshooter-1.8.1.tar.xz - | | |-- xfce4-screenshooter.SlackBuild - | | `-- xfce4-screenshooter.url - | |-- xfce4-session - | | |-- slack-desc - | | |-- xfce4-session-4.10.0.tar.xz - | | `-- xfce4-session.SlackBuild - | |-- xfce4-settings - | | |-- slack-desc - | | |-- xfce4-settings-4.10.0.tar.xz - | | |-- xfce4-settings.SlackBuild - | | |-- xfce4-settings.theme.diff.gz - | | `-- xfce4-settings.xft.defaults.diff.gz - | |-- xfce4-systemload-plugin - | | |-- slack-desc - | | |-- xfce4-systemload-plugin-1.1.1.tar.xz - | | |-- xfce4-systemload-plugin.SlackBuild - | | `-- xfce4-systemload-plugin.url - | |-- xfce4-taskmanager - | | |-- doinst.sh.gz - | | |-- slack-desc - | | |-- xfce4-taskmanager-1.0.0.tar.xz - | | |-- xfce4-taskmanager.SlackBuild - | | `-- xfce4-taskmanager.url - | |-- xfce4-volumed - | | |-- slack-desc - | | |-- xfce4-volumed-0.1.13.tar.xz - | | `-- xfce4-volumed.SlackBuild - | |-- xfce4-weather-plugin - | | |-- slack-desc - | | |-- xfce4-weather-plugin-0.8.1.tar.xz - | | |-- xfce4-weather-plugin.SlackBuild - | | `-- xfce4-weather-plugin.url - | |-- xfconf - | | |-- slack-desc - | | |-- xfconf-4.10.0.tar.xz - | | `-- xfconf.SlackBuild - | |-- xfdesktop - | | |-- slack-desc - | | |-- xfdesktop-4.10.0.tar.xz - | | `-- xfdesktop.SlackBuild - | |-- xfwm4 - | | |-- slack-desc - | | |-- xfwm4-4.10.0.tar.xz - | | |-- xfwm4.SlackBuild - | | `-- xinitrc.xfce - | `-- xfwm4-themes - | |-- slack-desc - | |-- xfwm4-themes-4.10.0.tar.xz - | `-- xfwm4-themes.SlackBuild - `-- y - `-- bsd-games - |-- bsd-games-2.13.lsm - |-- bsd-games-2.13.tar.bz2 - |-- bsd-games-login-fortune.csh - |-- bsd-games-login-fortune.sh - |-- bsd-games.SlackBuild - |-- bsd-games.config.params.diff.gz - |-- bsd-games.fortlen.diff.gz - |-- bsd-games.fortunepath.diff.gz - |-- bsd-games.getline.diff.gz - |-- bsd-games.ospeed.diff.gz - |-- bsd-games.phantasia_install_fix.diff.gz - |-- bsd-games.pom.diff.gz - |-- bsd-games.strfile.8.diff.gz - |-- bsd-games.trek-gcc4.diff.gz - |-- fortune-fixes-sorry-no-additions-accepted-here - | `-- 20120302.diff.gz - |-- fortunes-linuxcookie.tar.gz - |-- fortunes-o.tar.gz - |-- hangman-words.gz - `-- slack-desc - -862 directories, 5660 files - diff --git a/isolinux/isolinux.boot b/isolinux/isolinux.boot deleted file mode 100644 index d0d8f08fb..000000000 Binary files a/isolinux/isolinux.boot and /dev/null differ diff --git a/pasture/source/php/doinst.sh b/pasture/source/php/doinst.sh new file mode 100644 index 000000000..2af731e95 --- /dev/null +++ b/pasture/source/php/doinst.sh @@ -0,0 +1,28 @@ +if [ ! -r etc/httpd/mod_php.conf ]; then + cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf +elif [ "`cat etc/httpd/mod_php.conf 2> /dev/null`" = "" ]; then + cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf +fi + +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +# Keep same perms on rc.php-fpm.new: +if [ -e etc/rc.d/rc.php-fpm ]; then + cp -a etc/rc.d/rc.php-fpm etc/rc.d/rc.php-fpm.new.incoming + cat etc/rc.d/rc.php-fpm.new > etc/rc.d/rc.php-fpm.new.incoming + mv etc/rc.d/rc.php-fpm.new.incoming etc/rc.d/rc.php-fpm.new +fi +config etc/rc.d/rc.php-fpm.new +cp -a etc/httpd/php.ini-production etc/httpd/php.ini.new +config etc/httpd/php.ini.new +cp -a etc/php-fpm.conf.default etc/php-fpm.conf.new +config etc/php-fpm.conf.new diff --git a/pasture/source/php/fetch-php.sh b/pasture/source/php/fetch-php.sh new file mode 100755 index 000000000..1c232723d --- /dev/null +++ b/pasture/source/php/fetch-php.sh @@ -0,0 +1 @@ +lftpget http://us.php.net/distributions/php-5.4.45.tar.bz2 diff --git a/pasture/source/php/mod_php.conf.example b/pasture/source/php/mod_php.conf.example new file mode 100644 index 000000000..670eb7135 --- /dev/null +++ b/pasture/source/php/mod_php.conf.example @@ -0,0 +1,29 @@ +# +# mod_php - PHP Hypertext Preprocessor module +# + +# Load the PHP module: +LoadModule php5_module lib/httpd/modules/libphp5.so + +# Tell Apache to feed all *.php files through PHP. If you'd like to +# parse PHP embedded in files with different extensions, comment out +# these lines and see the example below. + + 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/pasture/source/php/php-fpm.conf.diff b/pasture/source/php/php-fpm.conf.diff new file mode 100644 index 000000000..e749185b6 --- /dev/null +++ b/pasture/source/php/php-fpm.conf.diff @@ -0,0 +1,28 @@ +--- ./sapi/fpm/php-fpm.conf.in.orig 2012-05-20 19:47:53.000000000 +0200 ++++ ./sapi/fpm/php-fpm.conf.in 2012-05-21 09:16:32.646276661 +0200 +@@ -12,7 +12,7 @@ + ; Relative path can also be used. They will be prefixed by: + ; - the global prefix if it's been set (-p arguement) + ; - @prefix@ otherwise +-;include=etc/fpm.d/*.conf ++;include=etc/php-fpm/*.conf + + ;;;;;;;;;;;;;;;;;; + ; Global Options ; +@@ -22,14 +22,14 @@ + ; Pid file + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: none +-;pid = run/php-fpm.pid ++pid = run/php-fpm.pid + + ; Error log file + ; If it's set to "syslog", log is sent to syslogd instead of being written + ; in a local file. + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: log/php-fpm.log +-;error_log = log/php-fpm.log ++error_log = log/php-fpm.log + + ; syslog_facility is used to specify what type of program is logging the + ; message. This lets syslogd specify that messages from different facilities diff --git a/pasture/source/php/php.SlackBuild b/pasture/source/php/php.SlackBuild new file mode 100755 index 000000000..ecf7aa076 --- /dev/null +++ b/pasture/source/php/php.SlackBuild @@ -0,0 +1,311 @@ +#!/bin/sh + +# Build and package mod_php on Slackware. +# by: David Cantrell +# Modified for PHP 4-5 by volkerdi@slackware.com +# Copyright 2007, 2008, 2009, 2010, 2011, 2012 Patrick Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +ALPINE=2.02 +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-php/ +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# we need to compile alpine to get c-client.a for IMAP support: +IMAPLIBDIR=/usr/local/lib${LIBDIRSUFFIX}/c-client +if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then + echo "Using IMAP library:" + ls -l $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a + sleep 5 +else + ( cd $CWD/../alpine ; ./alpine.SlackBuild || exit 1 ) || exit 1 + ( cd $TMP/re-alpine-${ALPINE}/imap/c-client + strip -g c-client.a + mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX} + cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX} + mkdir -p $IMAPLIBDIR/include + cp *.h $IMAPLIBDIR/include + ) +fi + +mkdir -p $PKG/etc/httpd +mkdir -p $PKG/etc/php +# A trick from DaMouse to enable building php into $PKG. +# We'll remove this later on. +cat /etc/httpd/original/httpd.conf > $PKG/etc/httpd/httpd.conf +if [ ! -e /etc/httpd/original/httpd.conf ]; then + echo "FATAL: no /etc/httpd/original/httpd.conf found." + exit 1 +fi + +cd $TMP +rm -rf php-$VERSION +tar xvf $CWD/php-$VERSION.tar.?z* || exit 1 +cd php-$VERSION + +# cleanup: +find . -name "*.orig" -delete + +# Add missing(?) PEAR modules back: +if [ -d php-$VERSION/pear/packages ]; then + ( cd php-$VERSION/pear/packages + cp -a $CWD/pear/*.bz2 . 2> /dev/null + bzip2 -d *.bz2 2> /dev/null + ) +fi + +# Add install-pear-nozlib.phar if it wasn't shipped in the PHP tarball: +if [ ! -r pear/install-pear-nozlib.phar ]; then + xzcat $CWD/install-pear-nozlib.phar.xz > pear/install-pear-nozlib.phar || exit 1 +elif [ -r $CWD/install-pear-nozlib.phar.xz ]; then + echo "pear/install-pear-nozlib.phar found in the PHP tarball... recommend removing possibly stale version in \$CWD." + echo "Have a little time to think this over..." + sleep 3600 +fi + +if [ "$ARCH" = "s390" ]; then + zcat $CWD/php.configure.s390.diff.gz | patch -p1 || exit +fi + +# Fixup perms/owners: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +find . -name "*.h" -exec chmod 644 {} \; + +# Sometimes they ship a few of these: +find . -name "*.orig" -exec rm {} \; + +# Patch ini files: +zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose php.ini-production || exit 1 +zcat $CWD/php-fpm.conf.diff.gz | patch -p1 --verbose || exit 1 + +# Install the build folder into /usr/lib$LIBDIRSUFFIX/php/build +# and adapt phpize accordingly: +sed -i "s|build$|php/build|" scripts/Makefile.frag +sed -i "s|build\"$|php/build\"|" scripts/phpize.in + +# Generic "kitchen sink" configure function, with as many things as possible (and +# maybe then some ;-) compiled as shared extensions: +EXTENSION_DIR=/usr/lib${LIBDIRSUFFIX}/php/extensions \ +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-libdir=lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --datarootdir=/usr/share \ + --datadir=/usr/share \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --with-apxs2=/usr/bin/apxs \ + --enable-fpm \ + --with-fpm-user=apache \ + --with-fpm-group=apache \ + --enable-maintainer-zts \ + --enable-pcntl \ + --enable-mbregex \ + --enable-tokenizer=shared \ + --with-config-file-scan-dir=/etc/php \ + --with-config-file-path=/etc/httpd \ + --enable-mod_charset \ + --with-layout=PHP \ + --disable-sigchild \ + --enable-xml \ + --with-libxml-dir=/usr \ + --enable-simplexml \ + --enable-xmlreader=shared \ + --enable-dom=shared \ + --enable-filter \ + --disable-debug \ + --with-openssl=shared \ + --with-pcre-regex=/usr \ + --with-zlib=shared,/usr \ + --enable-bcmath=shared \ + --with-bz2=shared,/usr \ + --enable-calendar=shared \ + --enable-ctype=shared \ + --with-curl=shared \ + --with-curlwrappers \ + --with-mcrypt=/usr \ + --enable-dba=shared \ + --with-gdbm=/usr \ + --with-db4=/usr \ + --enable-exif=shared \ + --enable-ftp=shared \ + --with-gd=shared \ + --with-jpeg-dir=/usr \ + --with-png-dir=/usr \ + --with-zlib-dir=/usr \ + --with-xpm-dir=/usr \ + --with-freetype-dir=/usr \ + --with-t1lib=/usr \ + --enable-gd-native-ttf \ + --with-gettext=shared,/usr \ + --with-gmp=shared,/usr \ + --with-iconv=shared \ + --with-imap-ssl=/usr \ + --with-imap=$IMAPLIBDIR \ + --with-ldap=shared \ + --enable-mbstring=shared \ + --enable-hash \ + --with-mysql=shared,mysqlnd \ + --with-mysqli=shared,mysqlnd \ + --with-mysql-sock=/var/run/mysql/mysql.sock \ + --enable-pdo=shared \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-sqlite=shared,/usr \ + --with-pspell=shared,/usr \ + --with-enchant=shared,/usr \ + --enable-shmop=shared \ + --with-snmp=shared,/usr \ + --enable-soap=shared \ + --enable-sockets \ + --with-sqlite3=shared \ + --with-regex=php \ + --enable-sysvmsg \ + --enable-sysvsem \ + --enable-sysvshm \ + --enable-wddx=shared \ + --with-xsl=shared,/usr \ + --enable-zip=shared \ + --with-tsrm-pthreads \ + --enable-intl=shared \ + --enable-shared=yes \ + --enable-static=no \ + --with-gnu-ld \ + --with-pic \ + --build=$ARCH-slackware-linux + +# I am told this option is worse than nothing. :-) +# --enable-safe-mode +# +# I would recommend *against* and will take no responbility for turning on +# "safe" mode. + +make $NUMJOBS || make || exit 1 +make install INSTALL_ROOT=$PKG || exit 1 + +mkdir -p $PKG/etc/{rc.d,php-fpm} +cp sapi/fpm/init.d.php-fpm $PKG/etc/rc.d/rc.php-fpm.new +chmod 644 $PKG/etc/rc.d/rc.php-fpm.new + +# PHP (used to) install Pear with some strange permissions. +chmod 755 $PKG/usr/bin/pear + +# PHP sometimes puts junk in the root directory: +( cd $PKG + rm -rf .channels .depdb .depdblock .filemap .lock .registry +) + +# We do not package static extension libraries: +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/php/extensions/*.a + +# Fix $PKG/usr/lib/php perms: +( cd $PKG/usr/lib${LIBDIRSUFFIX}/php + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +) + +mkdir -p $PKG/usr/doc/php-$VERSION +cp -a \ + CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* TODO* UPGRADING* \ + sapi/cgi/README.FastCGI \ + $PKG/usr/doc/php-$VERSION +chown -R root:root $PKG/usr/doc/php-$VERSION +chmod 644 $PKG/usr/doc/php-$VERSION/UPGRADING* + +mkdir -p $PKG/etc/httpd +cp -a php.ini-development php.ini-production $PKG/etc/httpd +cat $CWD/mod_php.conf.example | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" \ + > $PKG/etc/httpd/mod_php.conf.example +chmod 644 $PKG/etc/httpd/* +chown root:root $PKG/etc/httpd/* + +# This can go now. +rm -f $PKG/etc/httpd/httpd* + +# Session directory for PHP: +mkdir -p $PKG/var/lib/php +chmod 770 $PKG/var/lib/php +chown root:apache $PKG/var/lib/php + +# Strip ELF objects. +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +#if [ -d "$IMAPLIBDIR" ]; then +# ( cd $IMAPLIBDIR && rm -rf * ) +# rmdir $IMAPLIBDIR +#fi + +cd $PKG +/sbin/makepkg -l y -c n $TMP/php-$VERSION-$ARCH-$BUILD.txz + diff --git a/pasture/source/php/php.ini-development.diff b/pasture/source/php/php.ini-development.diff new file mode 100644 index 000000000..8c582e4db --- /dev/null +++ b/pasture/source/php/php.ini-development.diff @@ -0,0 +1,58 @@ +--- ./php.ini-development.orig 2012-07-18 01:19:16.000000000 -0500 ++++ ./php.ini-development 2012-08-08 20:06:33.512546116 -0500 +@@ -859,6 +859,46 @@ + ; If you only provide the name of the extension, PHP will look for it in its + ; default extension directory. + ; ++ ++; These are the extensions that are available for use on this PHP build. ++; If you do NOT need any of these extensions, you should comment them out. ++; That will probably increase both your security and performance. ++ ++extension=bcmath.so ++extension=bz2.so ++extension=calendar.so ++extension=ctype.so ++extension=curl.so ++extension=dba.so ++extension=dom.so ++extension=enchant.so ++extension=exif.so ++extension=ftp.so ++extension=gd.so ++extension=gettext.so ++extension=gmp.so ++extension=iconv.so ++extension=intl.so ++extension=ldap.so ++extension=mbstring.so ++extension=mysql.so ++extension=mysqli.so ++extension=openssl.so ++extension=pdo.so ++extension=pdo_mysql.so ++extension=pdo_sqlite.so ++extension=pspell.so ++extension=shmop.so ++extension=snmp.so ++extension=soap.so ++extension=sqlite3.so ++extension=tokenizer.so ++extension=wddx.so ++extension=xmlreader.so ++extension=xsl.so ++extension=zip.so ++extension=zlib.so ++ + ; Windows Extensions + ; Note that ODBC support is built in, so no dll is needed for it. + ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) +@@ -1391,7 +1431,7 @@ + ; where MODE is the octal representation of the mode. Note that this + ; does not overwrite the process's umask. + ; http://php.net/session.save-path +-;session.save_path = "/tmp" ++session.save_path = "/var/lib/php" + + ; Whether to use cookies. + ; http://php.net/session.use-cookies diff --git a/pasture/source/php/slack-desc b/pasture/source/php/slack-desc new file mode 100644 index 000000000..fe14da6d6 --- /dev/null +++ b/pasture/source/php/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +php: php (HTML-embedded scripting language) +php: +php: PHP is an HTML-embedded scripting language. It shares syntax +php: characteristics with C, Java, and Perl. The primary objective behind +php: this language is to make a fast and easy-to-use scripting language +php: for dynamic web sites. +php: +php: More information can be found online at http://www.php.net/ +php: +php: +php: diff --git a/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt b/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..fcba8f20b --- /dev/null +++ b/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +MPlayer: MPlayer (Linux movie player) +MPlayer: +MPlayer: MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI, +MPlayer: Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, +MPlayer: YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, +MPlayer: and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, +MPlayer: DivX 3/4/5 and even WMV movies, too (without the avifile library). +MPlayer: MPlayer supports 10 types of subtitles formats: VobSub, +MPlayer: MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, MPsub. +MPlayer: +MPlayer: Homepage for MPLayer is http://www.mplayerhq.hu/ diff --git a/patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt b/patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..462103daa --- /dev/null +++ b/patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +apr: apr (Apache Portable Runtime) +apr: +apr: The mission of the Apache Portable Runtime (APR) is to provide a +apr: free library of C data structures and routines, forming a system +apr: portability layer to as many operating systems as possible. +apr: +apr: +apr: +apr: +apr: +apr: diff --git a/patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt b/patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..8a5614af8 --- /dev/null +++ b/patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +apr-util: apr-util (Apache Portable Runtime utilities) +apr-util: +apr-util: The mission of the Apache Portable Runtime (APR) is to provide a +apr-util: free library of C data structures and routines, forming a system +apr-util: portability layer to as many operating systems as possible. +apr-util: +apr-util: This package contains additional utility interfaces for APR; +apr-util: including support for XML, LDAP, database interfaces, URI parsing, +apr-util: and more. +apr-util: +apr-util: diff --git a/patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt b/patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..99268883a --- /dev/null +++ b/patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +bash: bash (sh-compatible shell) +bash: +bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command +bash: interpreter that executes commands read from the standard input or +bash: from a file. Bash also incorporates useful features from the Korn +bash: and C shells (ksh and csh). Bash is ultimately intended to be a +bash: conformant implementation of the IEEE Posix Shell and Tools +bash: specification (IEEE Working Group 1003.2). +bash: +bash: Bash must be present for the system to boot properly. +bash: diff --git a/patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt b/patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..3289b10db --- /dev/null +++ b/patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +bind: bind (DNS server and utilities) +bind: +bind: The named daemon and support utilities such as dig, host, and +bind: nslookup. Sample configuration files for running a simple caching +bind: nameserver are included. Documentation for advanced name server +bind: setup can be found in /usr/doc/bind-9.x.x/. +bind: +bind: +bind: +bind: +bind: diff --git a/patches/packages/blueman-r708-x86_64-3_slack14.0.txt b/patches/packages/blueman-r708-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..c1fff0da8 --- /dev/null +++ b/patches/packages/blueman-r708-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +blueman: Blueman (Graphical Bluetooth Manager) +blueman: +blueman: Blueman is a GTK+ Bluetooth Manager for tasks such as: +blueman: +blueman: - Connecting to 3G/EDGE/GPRS via DUN profile. +blueman: - Connecting to/Creating bluetooth networks +blueman: - Connecting to input and audio devices +blueman: - Sending/Receiving/Browsing files via OBEX +blueman: - Pairing +blueman: +blueman: Homepage: http://blueman-project.org diff --git a/patches/packages/bluez-4.99-x86_64-3_slack14.0.txt b/patches/packages/bluez-4.99-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..b4b50d595 --- /dev/null +++ b/patches/packages/bluez-4.99-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +bluez: bluez (Bluetooth libraries and utilities) +bluez: +bluez: Bluez is the Bluetooth stack for Linux, allowing Bluetooth adaptors +bluez: and devices to be used with Linux. This package contains the Bluez +bluez: libraries, utilities, and other support files. +bluez: +bluez: For more info, visit: http://www.bluez.org +bluez: +bluez: +bluez: +bluez: diff --git a/patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt b/patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt new file mode 100644 index 000000000..a7215388c --- /dev/null +++ b/patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt @@ -0,0 +1,11 @@ +ca-certificates: ca-certificates (PEM Files of CA Certificates) +ca-certificates: +ca-certificates: This package includes PEM files of CA certificates to allow SSL-based +ca-certificates: applications to check for the authenticity of SSL connections. +ca-certificates: +ca-certificates: Homepage: http://packages.qa.debian.org/c/ca-certificates.html +ca-certificates: +ca-certificates: +ca-certificates: +ca-certificates: +ca-certificates: diff --git a/patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt b/patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..55818635f --- /dev/null +++ b/patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +cups: CUPS (Common UNIX Printing System) +cups: +cups: The Common UNIX Printing System provides a portable printing layer for +cups: UNIX(R)-like operating systems. It has been developed by Easy Software +cups: Products to promote a standard printing solution for all UNIX vendors +cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the +cups: basis for managing print jobs and queues. The CUPS package includes +cups: System V and Berkeley command-line interfaces, a PostScript RIP +cups: package for supporting non-PostScript printer drivers, and tools for +cups: creating additional printer drivers and other CUPS services. +cups: diff --git a/patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt b/patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..eda0c0f28 --- /dev/null +++ b/patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +curl: curl (command line URL data transfer tool) +curl: +curl: Curl is a command line tool for transferring data specified with URL +curl: syntax. The command is designed to work without user interaction or +curl: any kind of interactivity. Curl offers a busload of useful tricks +curl: like proxy support, user authentication, ftp upload, HTTP post, SSL +curl: (https:) connections, cookies, file transfer resume and more. +curl: +curl: libcurl is a library that Curl uses to do its job. It is readily +curl: available to be used by your software, too. +curl: diff --git a/patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt b/patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt new file mode 100644 index 000000000..43166b914 --- /dev/null +++ b/patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt @@ -0,0 +1,11 @@ +dbus: dbus (D-Bus message bus system) +dbus: +dbus: D-Bus supplies both a system daemon (for events such as "new hardware +dbus: device added" or "printer queue changed") and a per user login +dbus: session daemon (for general IPC needs among user applications). +dbus: Also, the message bus is built on top of a general one-to-one message +dbus: passing framework, which can be used by any two apps to communicate +dbus: directly (without going through the message bus daemon). +dbus: +dbus: +dbus: diff --git a/patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..beaa83c29 --- /dev/null +++ b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +dhcp: dhcp (DHCP server and client utilities) +dhcp: +dhcp: This package provides the ISC's DHCP utilities, including both a +dhcp: server and client. The DHCP protocol allows a host to contact a +dhcp: central server which maintains a list of IP addresses which may be +dhcp: assigned on one or more subnets. A DHCP client may request an +dhcp: address from this pool, and then use it temporarily for communication +dhcp: on the network. The DHCP protocol also provides a mechanism whereby +dhcp: a client can learn important details about the network to which it is +dhcp: attached, such as the location of a default router or name server. +dhcp: diff --git a/patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt b/patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..31304a2ac --- /dev/null +++ b/patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +dhcpcd: dhcpcd (DHCP client daemon) +dhcpcd: +dhcpcd: The DHCP client program dhcpcd is used to connect to a network by +dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other +dhcpcd: information from a corresponding DHCP server, configures the network +dhcpcd: interface automatically, and tries to renew the lease time according +dhcpcd: to RFC2131 or RFC1541 depending on the command line option. +dhcpcd: +dhcpcd: +dhcpcd: +dhcpcd: diff --git a/patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..4029c10ff --- /dev/null +++ b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +dnsmasq: dnsmasq (small DNS and DHCP server) +dnsmasq: +dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP +dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a +dnsmasq: small network, and can serve the names of local machines which are not +dnsmasq: in the global DNS. +dnsmasq: +dnsmasq: Dnsmasq was written by Simon Kelley. +dnsmasq: +dnsmasq: Homepage: http://www.thekelleys.org.uk/dnsmasq/ +dnsmasq: diff --git a/patches/packages/emacs-25.3-x86_64-1_slack14.0.txt b/patches/packages/emacs-25.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..77e793c2b --- /dev/null +++ b/patches/packages/emacs-25.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +emacs: emacs (GNU Emacs) +emacs: +emacs: Emacs is the extensible, customizable, self-documenting real-time +emacs: display editor. If this seems to be a bit of a mouthful, an +emacs: easier explanation is that Emacs is a text editor and more. At +emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp +emacs: programming language with extensions to support text editing. +emacs: This version supports X. +emacs: +emacs: http://www.gnu.org/software/emacs/ +emacs: diff --git a/patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt b/patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..fcd3a0060 --- /dev/null +++ b/patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +expat: expat (C library for parsing XML) +expat: +expat: This is Expat, a C library for parsing XML, written by James Clark. +expat: Expat is a stream-oriented XML parser used by Python, GNOME, Xft2, +expat: and other things. +expat: +expat: +expat: +expat: +expat: +expat: diff --git a/patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt b/patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..a9d24d651 --- /dev/null +++ b/patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +flac: flac (Free Lossless Audio Codec) +flac: +flac: FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, +flac: FLAC is similar to MP3, but lossless. "Free" means that the +flac: specification of the stream format is in the public domain, and that +flac: neither the FLAC format nor any of the implemented encoding/decoding +flac: methods are covered by any patent. It also means that the sources for +flac: libFLAC and libFLAC++ are available under the LGPL and the sources for +flac: flac, metaflac, and the plugins are available under the GPL. +flac: +flac: FLAC was developed by Josh Coalson. diff --git a/patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt b/patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..89d99c6df --- /dev/null +++ b/patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +freetype: freetype (A Free, High-Quality, and Portable Font Engine) +freetype: +freetype: The FreeType engine is a free and portable TrueType font rendering +freetype: engine. It has been developed to provide TrueType support to a +freetype: great variety of platforms and environments. +freetype: +freetype: +freetype: +freetype: +freetype: +freetype: diff --git a/patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt b/patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..593db7699 --- /dev/null +++ b/patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +gdk-pixbuf2: gdk-pixbuf2 (image library used by GTK+ v2) +gdk-pixbuf2: +gdk-pixbuf2: The gdk-pixbuf library provides a number of features: +gdk-pixbuf2: - GdkPixbuf structure for representing images. +gdk-pixbuf2: - Image loading facilities, both synchronous and progressive. +gdk-pixbuf2: - Rendering of a GdkPixbuf into various formats: +gdk-pixbuf2: drawables (windows, pixmaps), GdkRGB buffers. +gdk-pixbuf2: - Fast scaling and compositing of pixbufs. +gdk-pixbuf2: - Simple animation loading (ie. animated gifs). +gdk-pixbuf2: +gdk-pixbuf2: diff --git a/patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt b/patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..e48bb58d5 --- /dev/null +++ b/patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +gegl: GEGL (Generic Graphics Library) +gegl: +gegl: GEGL (Generic Graphics Library) is a graph based image processing +gegl: framework. +gegl: +gegl: GEGL provides infrastructure to do demand based cached non destructive +gegl: image editing on larger than RAM buffers. Through babl it provides +gegl: support for a wide range of color models and pixel storage formats for +gegl: input and output. +gegl: +gegl: diff --git a/patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt b/patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..7759a7efb --- /dev/null +++ b/patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +gimp: gimp (The GNU Image Manipulation Program) +gimp: +gimp: The GIMP is a powerful tool for the preparation and manipulation of +gimp: digital images. The GIMP provides the user with a wide variety of +gimp: image manipulation, painting, processing, and rendering tools. The +gimp: GIMP's open design and extensible architecture make for a very +gimp: powerful end product for photo and image retouching, web graphics +gimp: design, or digital illustration. +gimp: +gimp: +gimp: diff --git a/patches/packages/git-2.14.1-x86_64-1_slack14.0.txt b/patches/packages/git-2.14.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..059a95baf --- /dev/null +++ b/patches/packages/git-2.14.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +git: git (the stupid content tracker) +git: +git: Git is a fast, scalable, distributed revision control system with an +git: unusually rich command set that provides both high-level operations +git: and full access to internals. +git: +git: "git" can mean anything, depending on your mood. +git: +git: Git was originally written by Linus Torvalds and is currently +git: maintained by Junio C. Hamano. +git: diff --git a/patches/packages/glibc-2.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-2.15-x86_64-9_slack14.0.txt new file mode 100644 index 000000000..9b940f889 --- /dev/null +++ b/patches/packages/glibc-2.15-x86_64-9_slack14.0.txt @@ -0,0 +1,11 @@ +glibc: glibc (GNU C libraries) +glibc: +glibc: This package contains the GNU C libraries and header files. The GNU +glibc: C library was written originally by Roland McGrath, and is currently +glibc: maintained by Ulrich Drepper. Some parts of the library were +glibc: contributed or worked on by other people. +glibc: +glibc: You'll need this package to compile programs. +glibc: +glibc: +glibc: diff --git a/patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt new file mode 100644 index 000000000..7384659b2 --- /dev/null +++ b/patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt @@ -0,0 +1,11 @@ +glibc-i18n: glibc-i18n (locale files from glibc) +glibc-i18n: +glibc-i18n: These files go in /usr/lib/locale and /usr/share/i18n/ to provide +glibc-i18n: internationalization support. You'll need this package unless you +glibc-i18n: will be using US English only. +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: diff --git a/patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt new file mode 100644 index 000000000..f9b53ba66 --- /dev/null +++ b/patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt @@ -0,0 +1,11 @@ +glibc-profile: glibc-profile (GNU C libraries with profiling support) +glibc-profile: +glibc-profile: This package contains static versions of the GNU C libraries with +glibc-profile: support for profiling binaries using gprof. gprof calculates how +glibc-profile: much time a program spends in each routine which can suggest where +glibc-profile: to concentrate efforts to improve performance. +glibc-profile: +glibc-profile: See the gprof man page for more details. +glibc-profile: +glibc-profile: +glibc-profile: diff --git a/patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt new file mode 100644 index 000000000..3824184d8 --- /dev/null +++ b/patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt @@ -0,0 +1,11 @@ +glibc-solibs: glibc-solibs (shared GNU C libraries) +glibc-solibs: +glibc-solibs: This package contains the shared libraries, binaries, and support +glibc-solibs: files required to run most Linux applications linked with glibc. +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: diff --git a/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt new file mode 100644 index 000000000..c74ccc6a9 --- /dev/null +++ b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt @@ -0,0 +1,11 @@ +glibc-zoneinfo: glibc-zoneinfo (timezone database) +glibc-zoneinfo: +glibc-zoneinfo: This package allows you to configure your time zone. +glibc-zoneinfo: +glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by +glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information +glibc-zoneinfo: may be found at: http://www.iana.org/time-zones +glibc-zoneinfo: +glibc-zoneinfo: Use the timeconfig utility to set your local time zone. +glibc-zoneinfo: +glibc-zoneinfo: diff --git a/patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..59d381368 --- /dev/null +++ b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +gnupg: gnupg (The GNU Privacy Guard) +gnupg: +gnupg: GnuPG is GNU's tool for secure communication and data storage. It can +gnupg: be used to encrypt data and to create digital signatures. It includes +gnupg: an advanced key management facility and is compliant with the proposed +gnupg: OpenPGP Internet standard as described in RFC2440. +gnupg: +gnupg: +gnupg: +gnupg: +gnupg: diff --git a/patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt b/patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..73fb401dc --- /dev/null +++ b/patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +gnupg2: GnuPG2 (The GNU Privacy Guard version 2.x) +gnupg2: +gnupg2: GnuPG is GNU's tool for secure communication and data storage. It can +gnupg2: be used to encrypt data and to create digital signatures. It includes +gnupg2: an advanced key management facility and is compliant with the proposed +gnupg2: OpenPGP Internet standard as described in RFC2440 and the S/MIME +gnupg2: standard as described by several RFCs. +gnupg2: +gnupg2: GnuPG 2.0 is the stable version of GnuPG integrating support for +gnupg2: OpenPGP and S/MIME. It does not conflict with an installed 1.4.x +gnupg2: OpenPGP-only version. diff --git a/patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt b/patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..40c151dc5 --- /dev/null +++ b/patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +gnutls: gnutls (GNU TLS library) +gnutls: +gnutls: This is a TLS (Transport Layer Security) 1.0 and SSL (Secure Sockets +gnutls: Layer) 3.0 implementation. In brief, GnuTLS can be described as a +gnutls: library which offers an API to access secure communication protocols. +gnutls: These protocols provide privacy over insecure lines, and were designed +gnutls: to prevent eavesdropping, tampering, or message forgery. +gnutls: +gnutls: Homepage: http://www.gnu.org/software/gnutls/ +gnutls: +gnutls: diff --git a/patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt b/patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt new file mode 100644 index 000000000..d6179a470 --- /dev/null +++ b/patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt @@ -0,0 +1,11 @@ +hplip: hplip (HP print/scan/fax support) +hplip: +hplip: HPLIP is an HP developed solution for printing, scanning, and faxing +hplip: with HP inkjet and laser based printers in Linux. The HPLIP project +hplip: provides printing support for more than 1400 HP printer models, +hplip: including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy), +hplip: Business Inkjet, LaserJet, and LaserJet MFP. +hplip: +hplip: For more information, see: http://hplipopensource.com +hplip: +hplip: diff --git a/patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt b/patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..e0fe474dc --- /dev/null +++ b/patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +httpd: httpd (The Apache HTTP Server) +httpd: +httpd: Apache is an HTTP server designed as a plug-in replacement for the +httpd: NCSA HTTP server. It fixes numerous bugs in the NCSA server and +httpd: includes many frequently requested new features, and has an API which +httpd: allows it to be extended to meet users' needs more easily. +httpd: +httpd: Apache is the most popular web server in the known universe; over +httpd: half of the servers on the Internet are running Apache or one of +httpd: its variants. +httpd: diff --git a/patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt b/patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..20e32054a --- /dev/null +++ b/patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +imagemagick: imagemagick (a robust collection of image processing tools) +imagemagick: +imagemagick: ImageMagick is a collection of tools for manipulating and displaying +imagemagick: digital images. It can merge images, transform image dimensions, +imagemagick: do screen captures, create animation sequences, and convert between +imagemagick: many different image formats. +imagemagick: +imagemagick: ImageMagick was written by John Cristy of ImageMagick Studio. +imagemagick: +imagemagick: Home page: http://www.imagemagick.org/ +imagemagick: diff --git a/patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt b/patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt new file mode 100644 index 000000000..e5287dfec --- /dev/null +++ b/patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt @@ -0,0 +1,11 @@ +inputproto: inputproto (C prototypes for X Input extension) +inputproto: +inputproto: inputproto is part of X11. +inputproto: +inputproto: For more information about the X.Org Foundation (the providers of the +inputproto: X.Org implementation of the X Window System), see their website: +inputproto: +inputproto: http://www.x.org +inputproto: +inputproto: +inputproto: diff --git a/patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt b/patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..474bc04f3 --- /dev/null +++ b/patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +iptables: iptables (IP packet filter administration) +iptables: +iptables: iptables is a packet filter administration tool. +iptables: +iptables: Iptables can be used to build internet firewalls based on stateless +iptables: and stateful packet filtering, use NAT and masquerading for sharing +iptables: internet access if you don't have enough public IP addresses, use NAT +iptables: to implement transparent proxies, aid the tc and iproute2 systems +iptables: used to build sophisticated QoS and policy routers, do further packet +iptables: manipulation (mangling) like altering the TOS/DSCP/ECN bits of the IP +iptables: header, and much more. See: http://www.netfilter.org diff --git a/patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt b/patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..c7127d1f9 --- /dev/null +++ b/patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +irssi: irssi (Internet Relay Chat client) +irssi: +irssi: Irssi is an Internet Relay Chat client. Designed to be both secure +irssi: and expandable, irssi is easily customized using modules and scripts. +irssi: +irssi: For more information, visit: http://irssi.org +irssi: +irssi: irssi was written by Timo Sirainen. +irssi: +irssi: +irssi: diff --git a/patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt b/patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt new file mode 100644 index 000000000..77319af7f --- /dev/null +++ b/patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt @@ -0,0 +1,11 @@ +jasper: jasper (free implementation of the JPEG-2000 standard) +jasper: +jasper: The JasPer Project is an open-source initiative to provide a free +jasper: software-based reference implementation of the codec specified in the +jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).jasper: +jasper: +jasper: jasper home: http://www.ece.uvic.ca/~mdadams/jasper/ +jasper: +jasper: +jasper: +jasper: diff --git a/patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt b/patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..d192ec7a5 --- /dev/null +++ b/patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +kdelibs: kdelibs (KDE libraries) +kdelibs: +kdelibs: System libraries and other resources required for the KDE Platform. +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: diff --git a/patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt b/patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..7a0038ff4 --- /dev/null +++ b/patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libX11: libX11 (Core X11 protocol client library) +libX11: +libX11: libX11 is part of X11. +libX11: +libX11: For more information about the X.Org Foundation (the providers of the +libX11: X.Org implementation of the X Window System), see their website: +libX11: +libX11: http://www.x.org +libX11: +libX11: +libX11: diff --git a/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..a95a82df7 --- /dev/null +++ b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXcursor: libXcursor (X Window System Cursor management library) +libXcursor: +libXcursor: libXcursor is part of X11. +libXcursor: +libXcursor: For more information about the X.Org Foundation (the providers of the +libXcursor: X.Org implementation of the X Window System), see their website: +libXcursor: +libXcursor: http://www.x.org +libXcursor: +libXcursor: +libXcursor: diff --git a/patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt b/patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..4a7d59523 --- /dev/null +++ b/patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXext: libXext (library for common extensions to the X11 protocol) +libXext: +libXext: libXext is part of X11. +libXext: +libXext: For more information about the X.Org Foundation (the providers of the +libXext: X.Org implementation of the X Window System), see their website: +libXext: +libXext: http://www.x.org +libXext: +libXext: +libXext: diff --git a/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..cad880c53 --- /dev/null +++ b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXfixes: libXfixes (client library for the Xfixes extension) +libXfixes: +libXfixes: libXfixes is part of X11. +libXfixes: +libXfixes: For more information about the X.Org Foundation (the providers of the +libXfixes: X.Org implementation of the X Window System), see their website: +libXfixes: +libXfixes: http://www.x.org +libXfixes: +libXfixes: +libXfixes: diff --git a/patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt b/patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..fd4ecec9b --- /dev/null +++ b/patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +libXfont: libXfont (library for legacy X11 font system) +libXfont: +libXfont: libXfont provides the core of the legacy X11 font system, handling the +libXfont: index files (fonts.dir, fonts.alias, fonts.scale), the various font +libXfont: file formats, and rasterizing them. It is used by the X servers, the +libXfont: X Font Server (xfs), and some font utilities (bdftopcf for instance), +libXfont: but should not be used by normal X11 clients. X11 clients access fonts +libXfont: via either the new API's in libXft, or the legacy API's in libX11. +libXfont: +libXfont: +libXfont: diff --git a/patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt b/patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..f8ef8ec2d --- /dev/null +++ b/patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXi: libXi (library for the X Input Extension) +libXi: +libXi: libXi is part of X11. +libXi: +libXi: For more information about the X.Org Foundation (the providers of the +libXi: X.Org implementation of the X Window System), see their website: +libXi: +libXi: http://www.x.org +libXi: +libXi: +libXi: diff --git a/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..7025c9ef4 --- /dev/null +++ b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXrandr: libXrandr (X Resize, Rotate and Reflection extension library) +libXrandr: +libXrandr: libXrandr is part of X11. +libXrandr: +libXrandr: For more information about the X.Org Foundation (the providers of the +libXrandr: X.Org implementation of the X Window System), see their website: +libXrandr: +libXrandr: http://www.x.org +libXrandr: +libXrandr: +libXrandr: diff --git a/patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..254411dd3 --- /dev/null +++ b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXrender: libXrender (library for the Render Extension to the X11 protocol) +libXrender: +libXrender: libXrender is part of X11. +libXrender: +libXrender: For more information about the X.Org Foundation (the providers of the +libXrender: X.Org implementation of the X Window System), see their website: +libXrender: +libXrender: http://www.x.org +libXrender: +libXrender: +libXrender: diff --git a/patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..b44d139fb --- /dev/null +++ b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXtst: libXtst (client library for the XTEST & RECORD extensions) +libXtst: +libXtst: libXtst is part of X11. +libXtst: +libXtst: For more information about the X.Org Foundation (the providers of the +libXtst: X.Org implementation of the X Window System), see their website: +libXtst: +libXtst: http://www.x.org +libXtst: +libXtst: +libXtst: diff --git a/patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt b/patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..57e519053 --- /dev/null +++ b/patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXv: libXv (library for the X Video (Xv) extension to the X Window System) +libXv: +libXv: libXv is part of X11. +libXv: +libXv: For more information about the X.Org Foundation (the providers of the +libXv: X.Org implementation of the X Window System), see their website: +libXv: +libXv: http://www.x.org +libXv: +libXv: +libXv: diff --git a/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..b23d9bd23 --- /dev/null +++ b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libXvMC: libXvMC (X.Org X11 libXvMC runtime library) +libXvMC: +libXvMC: libXvMC is part of X11. +libXvMC: +libXvMC: For more information about the X.Org Foundation (the providers of the +libXvMC: X.Org implementation of the X Window System), see their website: +libXvMC: +libXvMC: http://www.x.org +libXvMC: +libXvMC: +libXvMC: diff --git a/patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt b/patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..079f2133e --- /dev/null +++ b/patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libgcrypt: libgcrypt (General purpose crypto library) +libgcrypt: +libgcrypt: Libgcrypt is a general purpose crypto library based on the code +libgcrypt: used in GnuPG. +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: diff --git a/patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt b/patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..65f09d5e0 --- /dev/null +++ b/patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libgpg-error: libgpg-error (GnuPG Error Definitions Library) +libgpg-error: +libgpg-error: This is a library that defines common error values for all GnuPG +libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, +libgpg-error: libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon, and more. +libgpg-error: +libgpg-error: +libgpg-error: +libgpg-error: +libgpg-error: +libgpg-error: diff --git a/patches/packages/libidn-1.34-x86_64-1_slack14.0.txt b/patches/packages/libidn-1.34-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..86ffee4f9 --- /dev/null +++ b/patches/packages/libidn-1.34-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libidn: libidn (GNU Internationalized Domain Name library) +libidn: +libidn: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA +libidn: specifications defined by the IETF Internationalized Domain Names +libidn: (IDN) working group, used for internationalized domain names. +libidn: +libidn: +libidn: +libidn: +libidn: +libidn: diff --git a/patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt b/patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..cc7615071 --- /dev/null +++ b/patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libiodbc: libiodbc (Independent Open DataBase Connectivity) +libiodbc: +libiodbc: iODBC is the acronym for Independent Open DataBase Connectivity, +libiodbc: an Open Source platform independent implementation of both the ODBC +libiodbc: and X/Open specifications. It allows for developing solutions +libiodbc: that are language, platform and database independent. +libiodbc: +libiodbc: +libiodbc: +libiodbc: Homepage: http://iodbc.org/ +libiodbc: diff --git a/patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt b/patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..5b4a1f09a --- /dev/null +++ b/patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +libjpeg: libjpeg (Independent JPEG Group's JPEG software) +libjpeg: +libjpeg: Software to implement JPEG image compression and decompression. JPEG +libjpeg: (pronounced 'jay-peg') is a standardized compression method for +libjpeg: full-color and gray-scale images. JPEG is intended for compressing +libjpeg: 'real-world' scenes; cartoons and other non-realistic images are not +libjpeg: its strong suit. JPEG is lossy, however, on typical images of +libjpeg: real-world scenes, very good compression levels can be obtained with +libjpeg: no visible change, and amazingly high compression levels are possible +libjpeg: if you can tolerate a low-quality image. +libjpeg: diff --git a/patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..c8c985f3b --- /dev/null +++ b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libpcap: libpcap (packet capture library) +libpcap: +libpcap: libpcap is a library for user-level packet capture. libpcap provides +libpcap: a portable framework for low-level network monitoring. Applications +libpcap: include network statistics collection, security monitoring, network +libpcap: debugging, etc. The tcpdump utility uses libpcap. +libpcap: +libpcap: Project homepage: http://www.tcpdump.org +libpcap: +libpcap: +libpcap: diff --git a/patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt b/patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..3d0deb675 --- /dev/null +++ b/patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libpng: libpng (Portable Network Graphics library) +libpng: +libpng: PNG (Portable Network Graphics) is an extensible file format for the +libpng: lossless, portable, well-compressed storage of raster images. PNG +libpng: provides a patent-free replacement for GIF and can also replace many +libpng: common uses of TIFF. Indexed-color, grayscale, and truecolor images +libpng: are supported, plus an optional alpha channel. Sample depths range +libpng: from 1 to 16 bits. +libpng: +libpng: +libpng: diff --git a/patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt b/patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..ce6d96041 --- /dev/null +++ b/patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libsndfile: libsndfile (C library for reading and writing wav files) +libsndfile: +libsndfile: Libsndfile is a C library for reading and writing files containing +libsndfile: sampled sound (such as MS Windows WAV and Apple/SGI AIFF format). +libsndfile: +libsndfile: Homepage: http://www.mega-nerd.com/libsndfile/ +libsndfile: +libsndfile: +libsndfile: +libsndfile: +libsndfile: diff --git a/patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt b/patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..89e201c5f --- /dev/null +++ b/patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libssh: libssh (library implementing ssh protocols) +libssh: +libssh: libssh is a mulitplatform C library implementing the SSHv2 and SSHv1 +libssh: protocol on client and server side. With libssh, you can remotely +libssh: execute programs, transfer files, and use a secure and transparent +libssh: tunnel for your remote applications. +libssh: +libssh: Homepage: http://www.libssh.org/ +libssh: +libssh: +libssh: diff --git a/patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt b/patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..20e57f4e6 --- /dev/null +++ b/patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libtasn1: libtasn1 (ASN.1 library) +libtasn1: +libtasn1: Libtasn1 is the GNU ASN.1 library. Abstract Syntax Notation One +libtasn1: (ASN.1) is a standard and flexible notation that describes rules and +libtasn1: structures for representing, encoding, transmitting, and decoding +libtasn1: data in telecommunications and computer networking. +libtasn1: +libtasn1: Libtasn1 was written by Fabio Fiorina. +libtasn1: +libtasn1: +libtasn1: diff --git a/patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt b/patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..89df05edf --- /dev/null +++ b/patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libtiff: libtiff (a library for reading and writing TIFF files) +libtiff: +libtiff: This package provides support for the Tag Image File Format (TIFF), +libtiff: a widely used format for storing image data. Included is the libtiff +libtiff: library (for reading and writing TIFF files), and a collection of +libtiff: tools for working with TIFF images. +libtiff: +libtiff: +libtiff: +libtiff: +libtiff: diff --git a/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..aeddb637e --- /dev/null +++ b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libvorbis: libvorbis (Ogg Vorbis library) +libvorbis: +libvorbis: This library supports the Vorbis General Audio Compression Codec +libvorbis: (commonly known as Ogg Vorbis). Ogg Vorbis is a fully open, +libvorbis: non-proprietary, patent-and-royalty-free, general-purpose compressed +libvorbis: audio format for audio and music at fixed and variable bitrates. +libvorbis: +libvorbis: The libvorbis library requires libao and libogg. You'll find some +libvorbis: basic tools for creating and using Ogg Vorbis files in the +libvorbis: vorbis-tools package. +libvorbis: diff --git a/patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt b/patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt new file mode 100644 index 000000000..9ce901b81 --- /dev/null +++ b/patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt @@ -0,0 +1,11 @@ +libwmf: libwmf (WMF graphics format library) +libwmf: +libwmf: libwmf is a library for interpreting metafile images and either +libwmf: displaying them using X or converting them to standard formats such +libwmf: as PNG, JPEG, PS, EPS and SVG. +libwmf: +libwmf: +libwmf: +libwmf: +libwmf: +libwmf: diff --git a/patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt b/patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..cc9d7054e --- /dev/null +++ b/patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +libxcb: libxcb (X protocol C-language Binding) +libxcb: +libxcb: The XCB library provides an interface to the X Window System protocol +libxcb: which is fully capable of replacing Xlib. In fact, libX11 makes use +libxcb: of libxcb as much as possible. :-) Porting to XCB has several +libxcb: advantages such as a smaller memory footprint, latency hiding, direct +libxcb: protocol access, and improved thread support. +libxcb: +libxcb: +libxcb: +libxcb: diff --git a/patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..806c97658 --- /dev/null +++ b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libxml2: libxml2 (XML parser library) +libxml2: +libxml2: Libxml2 is the XML C parser library and toolkit. XML itself is a +libxml2: metalanguage to design markup languages -- i.e. a text language where +libxml2: structures are added to the content using extra "markup" information +libxml2: enclosed between angle brackets. HTML is the most well-known markup +libxml2: language. Though the library is written in C, a variety of language +libxml2: bindings make it available in other environments. +libxml2: +libxml2: +libxml2: diff --git a/patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt b/patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..561c005a5 --- /dev/null +++ b/patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libxslt: libxslt (XML transformation library) +libxslt: +libxslt: XSLT support for libxml2. (XSLT is a language used for transforming +libxslt: XML documents) +libxslt: +libxslt: +libxslt: +libxslt: +libxslt: +libxslt: +libxslt: diff --git a/patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt b/patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..0d9e6c943 --- /dev/null +++ b/patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +libyaml: libyaml (YAML parser, written in C) +libyaml: +libyaml: YAML Ain't Markup Language. It is a human friendly data serialization +libyaml: standard for all programming languages. +libyaml: +libyaml: Homepage: http://pyyaml.org/wiki/LibYAML +libyaml: +libyaml: +libyaml: +libyaml: +libyaml: diff --git a/patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt b/patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt new file mode 100644 index 000000000..5da2c7b30 --- /dev/null +++ b/patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt @@ -0,0 +1,11 @@ +kernel-firmware: kernel-firmware (Firmware for the kernel) +kernel-firmware: +kernel-firmware: These are firmware files for the Linux kernel. +kernel-firmware: +kernel-firmware: You'll need these to use certain hardware drivers with Linux. +kernel-firmware: +kernel-firmware: Upstream site: +kernel-firmware: +kernel-firmware: git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git +kernel-firmware: +kernel-firmware: diff --git a/patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt b/patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt new file mode 100644 index 000000000..b99e55093 --- /dev/null +++ b/patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt @@ -0,0 +1,11 @@ +kernel-generic: kernel-generic (a general purpose SMP Linux kernel) +kernel-generic: +kernel-generic: This is a Linux kernel with built-in support for most disk +kernel-generic: controllers. To use filesystems, or to load support for a SCSI or +kernel-generic: other controller, then you'll need to load one or more kernel +kernel-generic: modules using an initial ramdisk, or initrd. For more information +kernel-generic: about creating an initrd, see the README.initrd file in the /boot +kernel-generic: directory. +kernel-generic: +kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support. +kernel-generic: diff --git a/patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt b/patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt new file mode 100644 index 000000000..27b46a0e6 --- /dev/null +++ b/patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt @@ -0,0 +1,11 @@ +kernel-headers: kernel-headers (Linux kernel include files) +kernel-headers: +kernel-headers: These are the include files from the Linux kernel. +kernel-headers: +kernel-headers: You'll need these to compile most system software for Linux. +kernel-headers: +kernel-headers: +kernel-headers: +kernel-headers: +kernel-headers: +kernel-headers: diff --git a/patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt b/patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt new file mode 100644 index 000000000..953570076 --- /dev/null +++ b/patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt @@ -0,0 +1,11 @@ +kernel-huge: kernel-huge (a fully-loaded SMP Linux kernel) +kernel-huge: +kernel-huge: This is a Linux kernel with built-in support for most disk +kernel-huge: controllers. If you're looking for a more stripped down kernel +kernel-huge: (this one contains everything but the kitchen sink ;-), then install +kernel-huge: the kernel-generic in the /boot directory along with an initrd to +kernel-huge: load support for your boot device and filesystem. For instructions +kernel-huge: on the initrd, see README.initrd in the /boot directory. +kernel-huge: +kernel-huge: SMP is "Symmetric multiprocessing", or multiple CPU/core support. +kernel-huge: diff --git a/patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt b/patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt new file mode 100644 index 000000000..79ac394c0 --- /dev/null +++ b/patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt @@ -0,0 +1,11 @@ +kernel-modules: kernel-modules (Linux kernel modules) +kernel-modules: +kernel-modules: Kernel modules are pieces of code that can be loaded and unloaded into +kernel-modules: the kernel upon demand. They extend the functionality of the kernel +kernel-modules: without the need to reboot the system. These modules provide support +kernel-modules: for hardware such as USB devices, RAID controllers, network +kernel-modules: interfaces, and display devices, or add other additional capabilities +kernel-modules: to the kernel. +kernel-modules: +kernel-modules: +kernel-modules: diff --git a/patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt b/patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt new file mode 100644 index 000000000..eb2b0a30c --- /dev/null +++ b/patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt @@ -0,0 +1,11 @@ +kernel-source: kernel-source (Linux kernel source) +kernel-source: +kernel-source: Source code for Linus Torvalds' Linux kernel. +kernel-source: +kernel-source: This is the complete and unmodified source code for the Linux kernel. +kernel-source: +kernel-source: +kernel-source: +kernel-source: +kernel-source: +kernel-source: diff --git a/patches/packages/llvm-3.0-x86_64-3_slack14.0.txt b/patches/packages/llvm-3.0-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..3877ee22d --- /dev/null +++ b/patches/packages/llvm-3.0-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +llvm: llvm (LLVM compiler toolkit) +llvm: +llvm: Low Level Virtual Machine is a toolkit for the construction of highly +llvm: optimized compilers, optimizers, and runtime environments. +llvm: +llvm: This package also includes the clang frontend for the C family of +llvm: languages: C, C++, Objective-C, and Objective-C++ +llvm: +llvm: +llvm: Homepage: http://llvm.org/ +llvm: diff --git a/patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt b/patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..025e3f688 --- /dev/null +++ b/patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +lm_sensors: lm_sensors (hardware monitoring package) +lm_sensors: +lm_sensors: lm_sensors provides tools for monitoring the temperatures, voltages, +lm_sensors: and fans of Linux systems with hardware monitoring devices. Included +lm_sensors: are text-based tools for sensor reporting, and a library for sensors +lm_sensors: access called libsensors. It also contains tools for sensor hardware +lm_sensors: identification and I2C bus probing. +lm_sensors: +lm_sensors: IMPORTANT NOTE: If you have a Thinkpad, please read the warnings in +lm_sensors: the README.thinkpad file. lm_sensors has been known to cause damage +lm_sensors: to some Thinkpads. diff --git a/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..f77991098 --- /dev/null +++ b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +loudmouth: loudmouth (XMPP C programming library) +loudmouth: +loudmouth: Loudmouth is a lightweight and easy-to-use C library for programming +loudmouth: with the Jabber protocol. It is designed to be easy to get started +loudmouth: with, and yet extensible enough to allow you to do anything that the +loudmouth: Jabber protocol allows. +loudmouth: +loudmouth: loudmouth home: https://github.com/mcabber/loudmouth +loudmouth: +loudmouth: +loudmouth: diff --git a/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt b/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..925b5830e --- /dev/null +++ b/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +lynx: Lynx (text mode browser) +lynx: +lynx: Lynx is a distributed hypertext browser with full World Wide Web +lynx: capabilities. Lynx can be used to access information on the World +lynx: Wide Web, or to build information systems intended primarily for local +lynx: access. For example, Lynx has been used to build several Campus Wide +lynx: Information Systems (CWIS). +lynx: +lynx: Lynx's authors include Lou Montulli, Garrett Blythe, Craig Lavender, +lynx: Michael Grobe, and Charles Rezac. +lynx: diff --git a/patches/packages/mailx-12.5-x86_64-2_slack14.0.txt b/patches/packages/mailx-12.5-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..5ae7aa79d --- /dev/null +++ b/patches/packages/mailx-12.5-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +mailx: mailx (a simple mail client) +mailx: +mailx: Mailx is derived from Berkeley Mail and is intended provide the +mailx: functionality of the POSIX mailx command with additional support +mailx: for MIME, IMAP, POP3, SMTP, and S/MIME. It provides enhanced +mailx: features for interactive use, such as caching and disconnected +mailx: operation for IMAP, message threading, scoring, and filtering. +mailx: It is also usable as a mail batch language, both for sending +mailx: and receiving mail. +mailx: +mailx: The maintainer and primary developer of mailx is Gunnar Ritter. diff --git a/patches/packages/make-3.82-x86_64-4_slack14.0.txt b/patches/packages/make-3.82-x86_64-4_slack14.0.txt new file mode 100644 index 000000000..f4333627c --- /dev/null +++ b/patches/packages/make-3.82-x86_64-4_slack14.0.txt @@ -0,0 +1,11 @@ +make: make (GNU make utility to maintain groups of programs) +make: +make: This is the GNU implementation of make, which was written by Richard +make: Stallman and Roland McGrath. The purpose of the make utility is to +make: determine automatically which pieces of a large program need to be +make: recompiled, and issue the commands to recompile them. +make: +make: This is needed to compile just about any major C program, including +make: the Linux kernel. +make: +make: diff --git a/patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..b88d33ff7 --- /dev/null +++ b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mcabber: mcabber (Jabber console client) +mcabber: +mcabber: mcabber is a small Jabber console client for Linux, maintained by +mcabber: Mikael Berthe. Mcabber includes features such as SSL support, +mcabber: multi-user chat (MUC), history logging, commands completion, and +mcabber: external actions triggers. +mcabber: +mcabber: mcabber project home is: http://www.lilotux.net/~mikael/mcabber/ +mcabber: +mcabber: +mcabber: diff --git a/patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..74728542a --- /dev/null +++ b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mercurial: mercurial (a distributed source management system) +mercurial: +mercurial: Mercurial is a cross-platform, distributed source management tool for +mercurial: software developers. It is written in Python, with a binary diff +mercurial: implementation written in C. Its major features include high- +mercurial: performance; serverless, fully distributed collaborative development; +mercurial: robust handling of both plain text and binary files; advanced +mercurial: branching and merging capabilities; and full source code available +mercurial: under the terms of the LGPL. +mercurial: +mercurial: Mercurial was written by Matt Mackall and other contributors. diff --git a/patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt b/patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..ec008506a --- /dev/null +++ b/patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +minicom: minicom (communications package) +minicom: +minicom: Minicom - a full featured menu-driven communications package similar +minicom: to the DOS program 'Telix'. Also includes sz/rz - utilities used to +minicom: upload and download files using the Zmodem protocol. +minicom: +minicom: Homepage: http://alioth.debian.org/projects/minicom +minicom: +minicom: +minicom: +minicom: diff --git a/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..ac8d3a741 --- /dev/null +++ b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mkinitrd: mkinitrd (make an initial ramdisk) +mkinitrd: +mkinitrd: mkinitrd is a script to create an initial ramdisk that is loaded at +mkinitrd: the same time as the kernel. The initial ramdisk may be responsible +mkinitrd: for loading kernel modules (such a filesystem or SCSI controller +mkinitrd: module) that are needed to mount the root filesystem. +mkinitrd: +mkinitrd: The "initrd" is implemented as an initramfs. See the kernel +mkinitrd: documentation for more information on this, if you are interested. +mkinitrd: +mkinitrd: diff --git a/patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt b/patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..1d399dbf1 --- /dev/null +++ b/patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser) +mozilla-firefox: +mozilla-firefox: This project is a redesign of the Mozilla browser component written +mozilla-firefox: using the XUL user interface language. Firefox empowers you to +mozilla-firefox: browse faster, more safely and more efficiently than with any other +mozilla-firefox: browser. +mozilla-firefox: +mozilla-firefox: Visit the Mozilla Firefox project online: +mozilla-firefox: http://www.mozilla.org/projects/firefox/ +mozilla-firefox: +mozilla-firefox: diff --git a/patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt b/patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..9d2fe7086 --- /dev/null +++ b/patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mozilla-nss: mozilla-nss (Network Security Services) +mozilla-nss: +mozilla-nss: Network Security Services (NSS) is a set of libraries designed to +mozilla-nss: support cross-platform development of security-enabled client and +mozilla-nss: server applications. Applications built with NSS can support +mozilla-nss: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, +mozilla-nss: X.509 v3 certificates, and other security standards. +mozilla-nss: +mozilla-nss: +mozilla-nss: Read http://www.mozilla.org/projects/security/pki/nss/overview.html +mozilla-nss: diff --git a/patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt b/patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..79d022522 --- /dev/null +++ b/patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application) +mozilla-thunderbird: +mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component +mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes +mozilla-thunderbird: emailing safer, faster, and easier than ever before with the +mozilla-thunderbird: industry's best implementations of features such as intelligent spam +mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more. +mozilla-thunderbird: +mozilla-thunderbird: Visit the Mozilla Thunderbird project online: +mozilla-thunderbird: http://www.mozilla.org/projects/thunderbird/ +mozilla-thunderbird: diff --git a/patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt b/patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..fdad157c1 --- /dev/null +++ b/patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +mutt: Mutt (the Mutt mail user agent) +mutt: +mutt: Mutt is a small but very powerful text-based MIME mail client. Mutt +mutt: is highly configurable, and is well suited to the mail power user with +mutt: advanced features like key bindings, keyboard macros, mail threading, +mutt: regular expression searches and a powerful pattern matching language +mutt: for selecting groups of messages. +mutt: +mutt: +mutt: +mutt: diff --git a/patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt b/patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..f11c282fa --- /dev/null +++ b/patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +mysql: mysql (SQL-based relational database server) +mysql: +mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL +mysql: (Structured Query Language) database server. It comes with a nice API +mysql: which makes it easy to integrate into other applications. +mysql: +mysql: The home page for MySQL is http://www.mysql.com/ +mysql: +mysql: +mysql: +mysql: diff --git a/patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt b/patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..276484d0c --- /dev/null +++ b/patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +nettle: Nettle (small cryptographic library) +nettle: +nettle: Nettle is a cryptographic library that is designed to fit easily in +nettle: more or less any context: In crypto toolkits for object-oriented +nettle: languages (C++, Python, Pike, ...), in applications like LSH or +nettle: GNUPG, or even in kernel space. +nettle: +nettle: Homepage: http://www.lysator.liu.se/~nisse/nettle/ +nettle: +nettle: +nettle: diff --git a/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..128dd5c60 --- /dev/null +++ b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +ntp: ntp (Network Time Protocol daemon) +ntp: +ntp: The Network Time Protocol (NTP) is used to synchronize the time of a +ntp: computer client or server to another server or reference time source, +ntp: such as a radio or satellite receiver or modem. It provides client +ntp: accuracies typically within a millisecond on LANs and up to a few tens +ntp: of milliseconds on WANs relative to a primary server synchronized to +ntp: Coordinated Universal Time (UTC) via a Global Positioning Service +ntp: (GPS) receiver, for example. +ntp: +ntp: diff --git a/patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt b/patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..65f391715 --- /dev/null +++ b/patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +openssh: openssh (Secure Shell daemon and clients) +openssh: +openssh: ssh (Secure Shell) is a program for logging into a remote machine and +openssh: for executing commands on a remote machine. It is intended to replace +openssh: rlogin and rsh, and provide secure encrypted communications between +openssh: two untrusted hosts over an insecure network. sshd (SSH Daemon) is +openssh: the daemon program for ssh. OpenSSH is based on the last free version +openssh: of Tatu Ylonen's SSH, further enhanced and cleaned up by Aaron +openssh: Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and +openssh: Dug Song. It has a homepage at http://www.openssh.com/ +openssh: diff --git a/patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt b/patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..26048b4f4 --- /dev/null +++ b/patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +openssl: openssl (Secure Sockets Layer toolkit) +openssl: +openssl: The OpenSSL certificate management tool and the shared libraries that +openssl: provide various encryption and decryption algorithms and protocols. +openssl: +openssl: This product includes software developed by the OpenSSL Project for +openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl: includes cryptographic software written by Eric Young +openssl: (eay@cryptsoft.com). This product includes software written by Tim +openssl: Hudson (tjh@cryptsoft.com). +openssl: diff --git a/patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt b/patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..2811c662a --- /dev/null +++ b/patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +openssl-solibs: openssl-solibs (OpenSSL shared libraries) +openssl-solibs: +openssl-solibs: These shared libraries provide encryption routines required by +openssl-solibs: programs such as openssh, bind, sendmail, and many others. +openssl-solibs: +openssl-solibs: This product includes software developed by the OpenSSL Project for +openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl-solibs: includes cryptographic software written by Eric Young +openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim +openssl-solibs: Hudson (tjh@cryptsoft.com). +openssl-solibs: diff --git a/patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..73bb76e03 --- /dev/null +++ b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +openvpn: openvpn (secure IP tunnel daemon) +openvpn: +openvpn: OpenVPN is a full-featured SSL VPN which can accommodate a wide range +openvpn: of configurations, including remote access, site-to-site VPNs, WiFi +openvpn: security, and enterprise-scale remote access with load balancing, +openvpn: failover, and fine-grained access-controls. +openvpn: +openvpn: OpenVPN's home on the net is: http://openvpn.net +openvpn: +openvpn: +openvpn: diff --git a/patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt b/patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..0120ae50d --- /dev/null +++ b/patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +patch: patch (apply a diff file to an original file or files) +patch: +patch: Patch is a utility used to apply diffs (or patches) to files, which +patch: are usually source code. +patch: +patch: Larry Wall wrote the original version of patch. Paul Eggert removed +patch: patch's arbitrary limits; added support for binary files, setting +patch: file times, and deleting files; and made it conform better to POSIX. +patch: Other contributors include Wayne Davison, who added unidiff support, +patch: and David MacKenzie, who added configuration and backup support. +patch: diff --git a/patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt b/patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..596b9af77 --- /dev/null +++ b/patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +perl: perl (Practical Extraction and Report Language) +perl: +perl: Larry Wall's "Practical Extraction and Report Language". Perl is a +perl: language optimized for scanning arbitrary text files, extracting +perl: information from those text files, and printing reports based on that +perl: information. It's also a good language for many system management +perl: tasks. The language is intended to be practical (easy to use, +perl: efficient, complete) rather than beautiful (tiny, elegant, minimal). +perl: +perl: +perl: diff --git a/patches/packages/php-5.6.36-x86_64-1_slack14.0.txt b/patches/packages/php-5.6.36-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..e771b5f33 --- /dev/null +++ b/patches/packages/php-5.6.36-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +php: php (HTML-embedded scripting language) +php: +php: PHP is an HTML-embedded scripting language. It shares syntax +php: characteristics with C, Java, and Perl. The primary objective behind +php: this language is to make a fast and easy-to-use scripting language +php: for dynamic web sites. +php: +php: More information can be found online at http://www.php.net/ +php: +php: +php: diff --git a/patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..1eb97f006 --- /dev/null +++ b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +pidgin: pidgin (GTK+ instant messaging program) +pidgin: +pidgin: Pidgin allows you to talk to anyone using a variety of messaging +pidgin: protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN +pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols +pidgin: are implemented using a modular, easy to use design. To use a +pidgin: protocol, just load the plugin for it. +pidgin: +pidgin: For more info, see: http://www.pidgin.im +pidgin: +pidgin: diff --git a/patches/packages/polkit-0.105-x86_64-4_slack14.0.txt b/patches/packages/polkit-0.105-x86_64-4_slack14.0.txt new file mode 100644 index 000000000..5502357cb --- /dev/null +++ b/patches/packages/polkit-0.105-x86_64-4_slack14.0.txt @@ -0,0 +1,11 @@ +polkit: polkit (authentication framework) +polkit: +polkit: PolicyKit is an application-level toolkit for defining and handling +polkit: the policy that allows unprivileged processes to speak to privileged +polkit: processes. PolicyKit is specifically targeting applications in rich +polkit: desktop environments on multi-user UNIX-like operating systems. +polkit: +polkit: +polkit: +polkit: Home: http://www.freedesktop.org/wiki/Software/PolicyKit +polkit: diff --git a/patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt b/patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..4c0f4a664 --- /dev/null +++ b/patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +poppler: poppler (a library for rendering PDF documents) +poppler: +poppler: Poppler is a library based on the xpdf PDF viewer developed by Derek +poppler: Noonburg of Glyph and Cog, LLC. Since xpdf does not provide a shared +poppler: library, whenever a flaw was found potentially dozens of applications +poppler: incorporating code from xpdf would have to be patched. By providing +poppler: a centralized PDF library this duplicated effort will be eliminated. +poppler: +poppler: +poppler: +poppler: diff --git a/patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt b/patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..1c0d758cb --- /dev/null +++ b/patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +ppp: ppp (Point-to-Point Protocol) +ppp: +ppp: The Point-to-Point Protocol (PPP) provides a method for transmitting +ppp: data over serial links. It's commonly used for connecting to the +ppp: Internet using a modem. This package includes the PPP daemon (pppd), +ppp: which negotiates with the peer to establish the link and sets up the +ppp: ppp network interface, and pppsetup, an easy-to-use utility for +ppp: setting up your PPP daemon. +ppp: +ppp: +ppp: diff --git a/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..7053edf3e --- /dev/null +++ b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +proftpd: proftpd (FTP server daemon) +proftpd: +proftpd: ProFTPD is the Professional File Transfer Protocol (FTP) server +proftpd: daemon. ProFTPD grew out of the desire to have a secure and +proftpd: configurable FTP server, and out of a significant admiration of the +proftpd: Apache web server. +proftpd: +proftpd: +proftpd: +proftpd: +proftpd: diff --git a/patches/packages/python-2.7.15-x86_64-1_slack14.0.txt b/patches/packages/python-2.7.15-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..047c1bd44 --- /dev/null +++ b/patches/packages/python-2.7.15-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +python: python (object-oriented interpreted programming language) +python: +python: Python is an interpreted, interactive, object-oriented programming +python: language that combines remarkable power with very clear syntax. +python: Python's basic power can be extended with your own modules written in +python: C or C++. Python is also adaptable as an extension language for +python: existing applications. +python: +python: +python: +python: diff --git a/patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt b/patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt new file mode 100644 index 000000000..f28072637 --- /dev/null +++ b/patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt @@ -0,0 +1,11 @@ +randrproto: randrproto (C prototypes for RandR) +randrproto: +randrproto: RandR is the X11 Resize and Rotate Extension +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: diff --git a/patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt b/patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..7565757a9 --- /dev/null +++ b/patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +rsync: rsync (remote file sync) +rsync: +rsync: rsync is a replacement for rcp that has many more features. It +rsync: uses the "rsync algorithm" which provides a very fast method for +rsync: bringing remote files into sync. It does this by sending just the +rsync: differences in the files across the link, without requiring that both +rsync: sets of files are present at one of the ends of the link beforehand. +rsync: rsync was written by Andrew Tridgell and Paul Mackerras. +rsync: +rsync: Homepage: http://rsync.samba.org +rsync: diff --git a/patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt b/patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..265efadf6 --- /dev/null +++ b/patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +ruby: ruby (Interpreted object-oriented scripting language) +ruby: +ruby: Ruby is an interpreted scripting language for quick and easy +ruby: object-oriented programming. It has many features to process text +ruby: files and to do system management tasks (as in Perl). It is simple, +ruby: straight-forward, and extensible. +ruby: +ruby: Visit the Ruby project online at http://www.ruby-lang.org/ +ruby: +ruby: +ruby: diff --git a/patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt new file mode 100644 index 000000000..21fc353f9 --- /dev/null +++ b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt @@ -0,0 +1,11 @@ +rxvt: rxvt (terminal emulator) +rxvt: +rxvt: rxvt is a color vt102 terminal emulator intended as an xterm +rxvt: replacement for users who do not require features such as Tektronix +rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt +rxvt: uses much less memory -- a significant advantage on a machine serving +rxvt: many X sessions. Also included is rclock, an analog clock for X. +rxvt: +rxvt: +rxvt: +rxvt: diff --git a/patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt b/patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..f4b2ff06d --- /dev/null +++ b/patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +samba: samba (CIFS file and print server) +samba: +samba: Samba is a CIFS file and print server for CIFS clients. It allows +samba: you to make file space or printers on a Samba host available to CIFS +samba: clients (such as PCs running Windows). +samba: +samba: If you have any Windows file servers, you may be able to replace them +samba: or supplement them with Samba. One of Samba's big strengths is +samba: integration, so you can use it to tie together your Linux hosts and +samba: Windows PC clients. +samba: diff --git a/patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt b/patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt new file mode 100644 index 000000000..8a4122f80 --- /dev/null +++ b/patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt @@ -0,0 +1,11 @@ +sdl: sdl (Simple DirectMedia Layer library) +sdl: +sdl: This is the Simple DirectMedia Layer, a generic API that provides low +sdl: level access to audio, keyboard, mouse, joystick, 3D hardware via +sdl: OpenGL, and 2D framebuffer across multiple platforms. +sdl: +sdl: SDL links against alsa-lib, arts, audiofile, esound, and the X11 +sdl: libraries. Make sure all of these are installed if you're planning to +sdl: use SDL (a full installation will cover all of the prerequisites). +sdl: +sdl: diff --git a/patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt b/patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..da07187a3 --- /dev/null +++ b/patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +seamonkey: SeaMonkey (an open-source web browser suite) +seamonkey: +seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art +seamonkey: web browser and powerful email client, as well as a WYSIWYG web page +seamonkey: composer and a feature-rich IRC chat client. +seamonkey: +seamonkey: +seamonkey: +seamonkey: Visit the SeaMonkey project at this URL: +seamonkey: http://www.mozilla.org/projects/seamonkey/ +seamonkey: diff --git a/patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt b/patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..830b825d0 --- /dev/null +++ b/patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey) +seamonkey-solibs: +seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey +seamonkey-solibs: to provide runtime support for various programs. +seamonkey-solibs: This package is built from the Seamonkey sources and is provided +seamonkey-solibs: as a standalone runtime package for people who do not want to install +seamonkey-solibs: the entire seamonkey package (as for server use). +seamonkey-solibs: +seamonkey-solibs: This package is runtime only. The include files and other files for +seamonkey-solibs: development can be found in the seamonkey package. +seamonkey-solibs: diff --git a/patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt b/patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..7498d7c95 --- /dev/null +++ b/patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +sendmail: sendmail (mail transfer agent) +sendmail: +sendmail: Eric Allman's mail transport agent. The _Unix System Administration +sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery +sendmail: system in common use...' +sendmail: +sendmail: Ready-made configuration files are included for systems connected by +sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP. +sendmail: +sendmail: The procmail package is required to handle local mail delivery. +sendmail: diff --git a/patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt b/patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt new file mode 100644 index 000000000..da73ab700 --- /dev/null +++ b/patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt @@ -0,0 +1,11 @@ +sendmail-cf: sendmail-cf (configuration files for sendmail) +sendmail-cf: +sendmail-cf: These files are used to create sendmail.cf configuration files. The +sendmail-cf: m4 macro processor is also required in order to make use of these +sendmail-cf: files. +sendmail-cf: +sendmail-cf: The files and documentation in /usr/share/sendmail should make it +sendmail-cf: possible to support virtually any mail configuration. NOTE: You +sendmail-cf: probably won't need this package if you're planning to use one of the +sendmail-cf: sendmail.cf samples included in the sendmail package. +sendmail-cf: diff --git a/patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt b/patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..98dfcc4a3 --- /dev/null +++ b/patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +sqlite: SQLite (simple, self contained database engine) +sqlite: +sqlite: SQLite is a small C library that implements a self-contained, +sqlite: embeddable, zero-configuration SQL database engine. +sqlite: +sqlite: The SQLite distribution comes with a standalone command-line access +sqlite: program (sqlite) that can be used to administer an SQLite database +sqlite: and which serves as an example of how to use the SQLite library. +sqlite: +sqlite: Homepage: http://www.sqlite.org/ +sqlite: diff --git a/patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt b/patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..2e5c70caf --- /dev/null +++ b/patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +stunnel: stunnel (Universal SSL tunnel) +stunnel: +stunnel: The stunnel program is designed to work as an SSL encryption wrapper +stunnel: between remote client and local (inetd-startable) or remote servers. +stunnel: The goal is to facilitate SSL encryption and authentication for +stunnel: non-SSL-aware programs. +stunnel: +stunnel: stunnel can be used to add SSL functionality to commonly used inetd +stunnel: daemons like POP-2, POP-3 and IMAP servers without any changes in the +stunnel: programs' code. +stunnel: diff --git a/patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt b/patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..7b4386899 --- /dev/null +++ b/patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +subversion: subversion (a version control system) +subversion: +subversion: Subversion is a version control system which allows you to keep old +subversion: versions of files and directories (usually source code), and keep a +subversion: log of who, when, and why changes occurred, similar to other such +subversion: systems like CVS, RCS or SCCS. Subversion keeps all the information +subversion: to permit extracting previous versions of those files at any time. +subversion: +subversion: For more information about the Subversion project, visit: +subversion: http://subversion.apache.org +subversion: diff --git a/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..1f1087d7c --- /dev/null +++ b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +sudo: sudo (give limited root privileges to certain users) +sudo: +sudo: 'sudo' is a command that allows users to execute some commands as +sudo: root. The /etc/sudoers file (edited with 'visudo') specifies which +sudo: users have access to sudo and which commands they can run. 'sudo' +sudo: logs all its activities to /var/log/ so the system administrator +sudo: can keep an eye on things. +sudo: +sudo: +sudo: +sudo: diff --git a/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..cee0ef1a1 --- /dev/null +++ b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +tcpdump: tcpdump (network monitoring tool) +tcpdump: +tcpdump: Tcpdump is a tool for network monitoring and data acquisition. You +tcpdump: can use it to dump information on all the packets on a network that +tcpdump: match a boolean expression. Tcpdump uses libpcap, a system +tcpdump: independent interface for user-level packet capture. +tcpdump: +tcpdump: Project homepage: http://www.tcpdump.org +tcpdump: +tcpdump: +tcpdump: diff --git a/patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt b/patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt new file mode 100644 index 000000000..0988253e6 --- /dev/null +++ b/patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt @@ -0,0 +1,11 @@ +tumbler: tumbler (thumbnail generator) +tumbler: +tumbler: Tumbler is a D-Bus service for applications to request thumbnails +tumbler: for various URI schemes and MIME types. It is written in an object- +tumbler: oriented fashion using GLib and GObject. It provides plugin +tumbler: interfaces for extending the URI schemes and MIME types for which +tumbler: thumbnails can be generated as well as for replacing the storage +tumbler: backend that is used to store the thumbnails on disk. +tumbler: +tumbler: +tumbler: diff --git a/patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt b/patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..9701b8e3a --- /dev/null +++ b/patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +udisks: udisks (storage device daemon) +udisks: +udisks: The udisks project provides a storage daemon that implements D-Bus +udisks: interfaces that can be used to query and manipulate storage devices. +udisks: +udisks: It also includes a command-line tool, udisks(1), that can be used to +udisks: query and control the daemon. +udisks: +udisks: Homepage: http://www.freedesktop.org/wiki/Software/udisks +udisks: +udisks: diff --git a/patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt b/patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt new file mode 100644 index 000000000..4c223f4f9 --- /dev/null +++ b/patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt @@ -0,0 +1,11 @@ +udisks2: udisks2 (storage device daemon v2) +udisks2: +udisks2: The udisks project provides a storage daemon that implements D-Bus +udisks2: interfaces that can be used to query and manipulate storage devices. +udisks2: +udisks2: It also includes a command-line tool, udisks(1), that can be used to +udisks2: query and control the daemon. +udisks2: +udisks2: Homepage: http://www.freedesktop.org/wiki/Software/udisks +udisks2: +udisks2: diff --git a/patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt b/patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..3fef1b8d0 --- /dev/null +++ b/patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +vim: vim (Vi IMproved) +vim: +vim: Vim is an almost compatible version of the UNIX editor vi. Many new +vim: features have been added: multi level undo, command line history, +vim: filename completion, block operations, and more. +vim: +vim: Vim's development is led by Bram Moolenaar. +vim: +vim: This package also contains the Exuberant Ctags program +vim: written by Darren Hiebert. +vim: diff --git a/patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt b/patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..bf6a19566 --- /dev/null +++ b/patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +vim-gvim: vim-gvim (gvim, the X/GTK2 enabled version of vim) +vim-gvim: +vim-gvim: Gvim is a graphical version of vim. Vim is an almost compatible +vim-gvim: version of the UNIX editor vi. Many new features have been added, +vim-gvim: such as multi level undo, command line history, filename completion, +vim-gvim: block operations, and more. +vim-gvim: +vim-gvim: The main vim package in the AP series is required to use this package. +vim-gvim: +vim-gvim: Vim's development is led by Bram Moolenaar. +vim-gvim: diff --git a/patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt b/patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..cd0faad01 --- /dev/null +++ b/patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +wget: wget (a non-interactive network retriever) +wget: +wget: GNU Wget is a free network utility to retrieve files from the +wget: World Wide Web using HTTP and FTP, the two most widely used Internet +wget: protocols. It works non-interactively, thus enabling work in the +wget: background after having logged off. +wget: +wget: The author of Wget is Hrvoje Niksic . +wget: +wget: +wget: diff --git a/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..3c64dd12e --- /dev/null +++ b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +wpa_supplicant: wpa_supplicant (WPA/WPA2/IEEE 802.1X Supplicant) +wpa_supplicant: +wpa_supplicant: wpa_supplicant is a WPA Supplicant for Linux with support for WPA and +wpa_supplicant: WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE 802.1X/WPA +wpa_supplicant: component that is used in the client stations. It implements key +wpa_supplicant: negotiation with a WPA Authenticator and it controls the roaming and +wpa_supplicant: IEEE 802.11 authentication/association of the wlan driver. +wpa_supplicant: +wpa_supplicant: More info: http://hostap.epitest.fi/wpa_supplicant/ +wpa_supplicant: +wpa_supplicant: diff --git a/patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt b/patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..df6cd924f --- /dev/null +++ b/patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +xcb-proto: xcb-proto (X protocol C-language Binding protocol descriptions) +xcb-proto: +xcb-proto: xcb-proto provides the XML-XCB protocol descriptions that libxcb +xcb-proto: uses to generate the majority of its code and API. We provide them +xcb-proto: separately from libxcb to allow reuse by other projects, such as +xcb-proto: additional language bindings, protocol dissectors, or documentation +xcb-proto: generators. +xcb-proto: +xcb-proto: +xcb-proto: +xcb-proto: diff --git a/patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt b/patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..40d18943b --- /dev/null +++ b/patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +xextproto: xextproto (C prototypes for X Protocol Extensions) +xextproto: +xextproto: xextproto is part of X11. +xextproto: +xextproto: For more information about the X.Org Foundation (the providers of the +xextproto: X.Org implementation of the X Window System), see their website: +xextproto: +xextproto: http://www.x.org +xextproto: +xextproto: +xextproto: diff --git a/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..fa3bc6268 --- /dev/null +++ b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +xfce4-weather-plugin: xfce4-weather-plugin (weather plugin for the Xfce panel) +xfce4-weather-plugin: +xfce4-weather-plugin: The weather plugin displays current weather conditions and forecasts. +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: +xfce4-weather-plugin: diff --git a/patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt new file mode 100644 index 000000000..1ebe1b270 --- /dev/null +++ b/patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt @@ -0,0 +1,11 @@ +xorg-server: xorg-server (The Xorg server, the core of the X Window System) +xorg-server: +xorg-server: Xorg is a full featured X server that was originally designed for UNIX +xorg-server: and UNIX-like operating systems running on Intel x86 hardware. It now +xorg-server: runs on a wider range of hardware and OS platforms. This work was +xorg-server: derived by the X.Org Foundation from the XFree86 Project's XFree86 +xorg-server: 4.4rc2 release. The XFree86 release was originally derived from X386 +xorg-server: 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics +xorg-server: Consulting Service. +xorg-server: +xorg-server: The home page for the X project is: http://www.x.org diff --git a/patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt new file mode 100644 index 000000000..2ffb35f60 --- /dev/null +++ b/patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt @@ -0,0 +1,11 @@ +xorg-server-xephyr: xorg-server-xephyr (Improved nested X server/client) +xorg-server-xephyr: +xorg-server-xephyr: Xephyr is a nested X-Client like Xnest, but with some additional +xorg-server-xephyr: features like XRender support. +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: +xorg-server-xephyr: diff --git a/patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt new file mode 100644 index 000000000..31dc1e78e --- /dev/null +++ b/patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt @@ -0,0 +1,11 @@ +xorg-server-xnest: xorg-server-xnest (a nested X server) +xorg-server-xnest: +xorg-server-xnest: Xnest is an experimental nested server for X that acts as both a +xorg-server-xnest: client and a server. Xnest is a client of the real server which +xorg-server-xnest: manages windows and graphics requests on its behalf. Xnest is a +xorg-server-xnest: server to its own clients. Xnest manages windows and graphics +xorg-server-xnest: requests on their behalf. To these clients Xnest appears to be a +xorg-server-xnest: conventional server. +xorg-server-xnest: +xorg-server-xnest: +xorg-server-xnest: diff --git a/patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt new file mode 100644 index 000000000..3a7122df2 --- /dev/null +++ b/patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt @@ -0,0 +1,11 @@ +xorg-server-xvfb: xorg-server-xvfb (virtual framebuffer X server) +xorg-server-xvfb: +xorg-server-xvfb: Xvfb is an X server that can run on machines with no display hardware +xorg-server-xvfb: and no physical input devices. It emulates a dumb framebuffer using +xorg-server-xvfb: virtual memory. The primary use of this server is intended to be +xorg-server-xvfb: server testing. The mfb or cfb code for any depth can be exercised +xorg-server-xvfb: with this server without the need for real hardware that supports the +xorg-server-xvfb: desired depths. A secondary use is testing clients against unusual +xorg-server-xvfb: depths and screen configurations. +xorg-server-xvfb: +xorg-server-xvfb: diff --git a/patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt b/patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..3eeb14233 --- /dev/null +++ b/patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +xpdf: xpdf (PDF viewer for X) +xpdf: +xpdf: Xpdf is a viewer for Portable Document Format (PDF) files. +xpdf: +xpdf: xpdf was written by Derek B. Noonburg. +xpdf: +xpdf: +xpdf: +xpdf: +xpdf: +xpdf: diff --git a/patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt b/patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt new file mode 100644 index 000000000..b4397153f --- /dev/null +++ b/patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt @@ -0,0 +1,11 @@ +xproto: xproto (C prototypes for X Window System Core Protocol) +xproto: +xproto: xproto is part of X11. +xproto: +xproto: For more information about the X.Org Foundation (the providers of the +xproto: X.Org implementation of the X Window System), see their website: +xproto: +xproto: http://www.x.org +xproto: +xproto: +xproto: diff --git a/patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt new file mode 100644 index 000000000..62dcff517 --- /dev/null +++ b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt @@ -0,0 +1,11 @@ +xscreensaver: xscreensaver (a screen saver and locker for X) +xscreensaver: +xscreensaver: A modular screen saver and locker for the X Window System. Highly +xscreensaver: customizable: allows the use of any program that can draw on the +xscreensaver: root window as a display mode. More than 100 display modes are +xscreensaver: included in this package. +xscreensaver: +xscreensaver: Homepage: http://www.jwz.org/xscreensaver +xscreensaver: +xscreensaver: +xscreensaver: diff --git a/patches/source/MPlayer/MPlayer.SlackBuild b/patches/source/MPlayer/MPlayer.SlackBuild new file mode 100755 index 000000000..8ad5734ce --- /dev/null +++ b/patches/source/MPlayer/MPlayer.SlackBuild @@ -0,0 +1,488 @@ +#!/bin/sh +# $Id: MPlayer.SlackBuild,v 1.27 2012/07/01 13:07:08 root Exp root $ +# Copyright 2006, 2007, 2008, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL +# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers +# For: MPlayer +# Descr: a movie player for LINUX +# URL: http://www.mplayerhq.hu/ +# Needs: +# Changelog: +# 1.0rc1-1: 05/Nov/2006 by Eric Hameleers +# * Initial build. +# 1.0rc1-2: 07/Nov/2006 by Eric Hameleers +# * Removed MPlayer's internal libdvdcss code from the build, so +# that MPlayer no longer plays encrypted DVD's by default (and the +# package is now safe to upload to public repositories). +# If it is allowed in your country, you can either install +# libdvdcss (which is picked up automatically by MPlayer), or +# rebuild MPlayer yourself using this SlackBuild - and set the +# variable REMOVECSS="no" first (see further down). +# Use this commandline if you can't or won't modify the script: +# REMOVECSS="no" ./MPlayer.SlackBuild +# 1.0rc1-3: 08/Nov/2006 by Eric Hameleers +# * Install the mplayer.conf into correct location '/etc/mplayer/' +# 1.0rc1-4: 15/mar/2007 by Eric Hameleers +# * Differentiate between versions of X11 (modular X has another +# install-prefix); update default skin; enable mplayer menu; +# add security fix +# 1.0rc1-5: 07/jun/2007 by Eric Hameleers +# * Add security fix. +# 1.0rc2-1: 09/oct/2007 by Eric Hameleers +# * New version. +# 1.0rc2-2: 01/feb/2008 by Eric Hameleers +# * Apply 4 security fixes. +# 1.0rc2-3: 10/mar/2008 by Eric Hameleers +# * Apply a patch that allows compilation against the ivtv driver +# in the 2.6.24.x kernels. +# r28148-1: 14/dec/2008 by Eric Hameleers +# * Build SVN snapshot - remove support for *all* patented or +# questionable software if "USE_PATENTS" is set to "NO" - think +# of DECSS dvd decryption code, and mp3/aac/amr audio encoders. +# r28929-1: 10/mar/2009 by Eric Hameleers +# * Update. +# r29301-1: 12/may/2009 by Eric Hameleers +# * Update. +# r29301-1: 12/may/2009 by Eric Hameleers +# * Update. +# 20100926-1: 26/sep/2010 by Eric Hameleers +# * Slackware has MPlayer now of course, but it does not hurt +# to have a full-featured binary package available. The 1.0rc3 +# was released recently but I prefer to build a snapshot. +# 20110624-1: 24/jun/2011 by Eric Hameleers +# * Provide an up-to-date snapshot to be used in conjunction +# with UMPlayer (a MPlayer GUI). New MPlayer source requires +# a separate ffmpeg download. +# 20120514-1: 14/may/2012 by volkerdi@slackware.com +# * Update. +# 1.1_20120701-1: 28/jun/2012 by alien@slackware.com +# * Update to the 1.1 branch (essentially this is MPlayer-1.1 but +# I like to check it out of SVN). +# 1.1_20130819-1: 19/aug/2013 by volkerdi@slackware.com +# * Update to the latest 1.1 branch, and the same ffmpeg that was +# shipped with the 1.1.1 tarball. The official 1.1.1 release +# did not start a new repo branch, so this is the latest. +# 20150308-1: 09/mar/2015 by pprkut@slackware.com +# * Update to latest version from trunk, together with ffmpeg 2.6, +# which was released roughly around that date as well. +# 20140403-1: 03/apr/2015 by volkerdi@slackware.com +# * Update to latest version from trunk and ffmpeg-2.6.1. +# +# Run 'sh MPlayer.SlackBuild' to build a Slackware package. +# The package (.txz) plus descriptive .txt file are created in /tmp . +# Install using 'installpkg'. +# +# ----------------------------------------------------------------------------- + +# Set initial variables: + +PRGNAM=MPlayer +VERSION=${VERSION:-20160125} +BRANCH=${BRANCH:-1.2} # leave empty if you want to build MPlayer trunk +FFMPEG=${FFMPEG:-2.8.5} +BUILD=${BUILD:-1_slack14.0} +TAG=${TAG:-} +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Show the branch version in the package name if we build from a branch: +[ -n "$BRANCH" ] && PKGVERSION=${BRANCH}_${VERSION} || PKGVERSION=${VERSION} + +DOCS="AUTHORS Changelog Copyright LICENSE README VERSION DOCS/HTML DOCS/tech" + +# MPlayer repository characteristics: +MPURI="svn://svn.mplayerhq.hu/mplayer/" +if [ -n "$BRANCH" ]; then + MPBRANCH="branches/$BRANCH" +else + MPBRANCH="trunk" +fi + +FFURI=git://git.videolan.org/ffmpeg.git + +DEFSKIN=${DEFSKIN:-"Blue"} # Download more skins at the following url: +SKINVER=${SKINVER:-"1.11"} # http://www.mplayerhq.hu/design7/dload.html + +# Available languages: all cs de en es fr hu it pl ru zh_CN +LANGUAGES="en,de,es,fr" + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" + # --enable-runtime-cpudetection is supported only for x86, x86_64, and PPC + EXTRACONFIGUREOPTIONS="--enable-runtime-cpudetection" +elif [ "$ARCH" = "i486" -o \ + "$ARCH" = "i586" -o \ + "$ARCH" = "i686" ]; then + LIBDIRSUFFIX="" + EXTRACONFIGUREOPTIONS="--enable-runtime-cpudetection" +else + LIBDIRSUFFIX="" + EXTRACONFIGUREOPTIONS="" +fi + +# Where the WIN32 codecs are expectedfor instance +CODECSDIR=/usr/lib${LIBDIRSUFFIX}/codecs + +# --------------------------------------------------------------------------- +# -- PATENT ALERT! -- +# MPLayer can be built with MP3 (lame) and AMR audio encoders +# (needed for FLV and .3GP videos) but these libraries are 'contaminated' +# with patents from Fraunhofer and GGP. +# Also, the AAC encoder has patent issues. +# You can build these patended algorithms into ffmpeg, and if you are an +# ordinary end user, no one will bother you for using them. +# For the binaries based on this SlackBuild that I distribute, it is a +# different story. I am not allowed to distribute binary packages that +# incorporate patented code. So here you go. My Slackware package was +# built with "USE_PATENTS=NO" i.e. without using +# the lame mp3, faac, AMR and dvdcss libraries. +# --------------------------------------------------------------------------- +USE_PATENTS=${USE_PATENTS:-"NO"} + +# MPlayer will try to use one of the TrueType fonts present on the target +# system for it's On Screen Display (OSD) font. +# Slackware 11.0 ships with the Vera and DejaVu fonts, you may want to add +# more fonts to this list. The first font found will be used by creating a +# symbolic link "/usr/share/mplayer/subfont.ttf" to it. +# The use of bitmapped fonts is considered deprecated, but you can still use +# those if you want. Read http://www.mplayerhq.hu/DOCS/HTML/en/fonts-osd.html +# if you want to know more about OSD font configuration. +OSDFONTS="LiberationSans-Regular.ttf \ + Arialuni.ttf arial.ttf \ + DejaVuSans.ttf Vera.ttf" + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}.tar.xz" +SRCURL[0]="" + +# The default skin to use (we need to add at least one) +SOURCE[1]="$SRCDIR/${DEFSKIN}-${SKINVER}.tar.bz2" +SRCURL[1]="http://www.mplayerhq.hu/MPlayer/skins/${DEFSKIN}-${SKINVER}.tar.bz2" + +# Ffmpeg needs to be checked out separately now: +SOURCE[2]="$SRCDIR/ffmpeg-${FFMPEG}.tar.xz" +SRCURL[2]="" + +# Use the src_checkout() function if no downloadable tarball exists. +# This function checks out sources from SVN/CVS and creates a tarball of them. +src_checkout() { + # Param #1 : index in the SOURCE[] array. + # Param #2 : full path to where SOURCE[$1] tarball should be created. + # Determine the tarball extension: + PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.xz|tar.gz|tar.bz2|tgz).*/\1/') + case "$PEXT" in + "tar.xz") TARCOMP="J" ;; + "tar.gz") TARCOMP="z" ;; + "tgz") TARCOMP="z" ;; + "tar.bz2") TARCOMP="j" ;; + *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or '.tgz'" ; exit 1 ;; + esac + case ${1} in + 0) # mplayer + if [ "$(echo ${VERSION}|cut -c1)" == 'r' ]; then # revision instead of date + echo "Only supported VERSION is a date - yyyymmdd - or 'HEAD'" + else + REV="{${VERSION}}" + fi + mkdir MPlayer-${VERSION} \ + && cd MPlayer-${VERSION} \ + && svn checkout --revision $REV ${MPURI}/${MPBRANCH} . \ + && svn propget svn:externals | sed -e 's/[[:space:]].*$//g' | xargs svn up --revision $REV \ + && chown -R root:root . \ + && cd .. \ + && tar --exclude-vcs -${TARCOMP}cf ${2} MPlayer-${VERSION} + rm -rf MPlayer-${VERSION} + ;; + 2) # ffmpeg-${FFMPEG} + mkdir ffmpeg_temp_checkout_$$ \ + && cd ffmpeg_temp_checkout_$$ + echo "Checking out tag n$FFMPEG from '$FFURI':" + git clone ${FFURI} ffmpeg \ + && cd ffmpeg \ + && git checkout n$FFMPEG \ + && cd .. + chown -R root:root . \ + && tar --exclude-vcs -${TARCOMP}cf ${2} ffmpeg + cd .. + rm -rf ffmpeg_temp_checkout_$$ + ;; + *) # Do nothing + ;; + esac +} + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +## +## --- with a little luck, you won't have to edit below this point --- ## +## + +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Create working directories: +mkdir -p $TMP/tmp-$PRGNAM # location to build the source +rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build +mkdir -p $PKG # place for the package to be built +rm -rf $PKG/* # erase old package's contents +mkdir -p $OUTPUT # place for the package to be saved + +# Source file availability: +for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do + if ! [ -f ${SOURCE[$i]} ]; then + echo "Source '$(basename ${SOURCE[$i]})' not available yet..." + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})" + if ! [ "x${SRCURL[$i]}" == "x" ]; then + echo "Will download file to $(dirname $SOURCE[$i])" + wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true + if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then + echo "Downloading '$(basename ${SOURCE[$i]})' failed.. aborting the build." + mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL + exit 1 + fi + else + # Try if we have a SVN/CVS download routine for ${SOURCE[$i]} + echo "Will checkout sources to $(dirname $SOURCE[$i])" + src_checkout $i "${SOURCE[$i]}" 2>&1 > $OUTPUT/checkout-$(basename ${SOURCE[$i]}).log + fi + if [ ! -f "${SOURCE[$i]}" -o ! -s "${SOURCE[$i]}" ]; then + echo "File '$(basename ${SOURCE[$i]})' not available.. aborting the build." + exit 1 + fi + fi +done + +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PRGNAM-$VERSION" +echo "++" + +cd $TMP/tmp-$PRGNAM +echo "Extracting the source archive(s) for $PRGNAM..." +tar -xvf ${SOURCE[0]} + +cd ${PRGNAM}-${VERSION} + # remove MPlayer's copy of libswscale + rm -rf ffmpeg + + # Extract the ffmpeg source inside the MPlayer directory: + tar -xvf ${SOURCE[2]} + + # in case we build with an official tarball + if [ -e "ffmpeg-$FFMPEG" ]; then + mv "ffmpeg-$FFMPEG" ffmpeg + fi + +cd .. + +chown -R root:root * +chmod -R u+w,go+r-w,a+X-s * +cd ${PRGNAM}-${VERSION} + +# Determine what X we're running (the modular X returns the prefix +# in the next command, while older versions stay silent): +XPREF=$(pkg-config --variable=prefix x11) || true +[ "$XPREF" == "" ] && XPREF='/usr/X11R6' + +# Remove support for patent encumbered and possibly illegal code: +if [ "$USE_PATENTS" != "YES" ]; then + DO_PATENTED="--disable-mp3lame --disable-mp3lame-lavc \ + --disable-libopencore_amrnb \ + --disable-libopencore_amrwb" +else + DO_PATENTED="" +fi + +echo Building ... +# MPlayer wants to automatically determine compiler flags, +# so we don't provide CFLAGS. +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --confdir=/etc/mplayer \ + --enable-gui \ + --enable-menu \ + --disable-arts \ + --disable-bitmap-font \ + --codecsdir=${CODECSDIR} \ + --language="${LANGUAGES}" \ + ${EXTRACONFIGUREOPTIONS} \ + ${DO_PATENTED} \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log +# So that MPlayer does not report "UNKNOWN" as it's version: +if [ ! -f VERSION ]; then + echo $VERSION > VERSION +fi +make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log +make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log + +# Build the html documentation (not all languages are available): +if [ "$LANGUAGES" = "all" ]; then + # make html-chunked + make html-single +else + for i in $(echo $LANGUAGES | tr , ' ') ; do + # make html-chunked-$i ; + make html-single-$i ; + done +fi + +# Prepare the configfile: +mkdir -p $PKG/etc/mplayer +cp etc/example.conf $PKG/etc/mplayer/mplayer.conf.new + +# Install our default skin: +cd $PKG/usr/share/mplayer/skins +tar -xvf ${SOURCE[1]} +chown -R root:root * +chmod -R u+w,go+r-w,a+X-s * +ln -s ${DEFSKIN} default +cd - + +# Add this to the doinst.sh: +mkdir -p $PKG/install +cat <> $PKG/install/doinst.sh +# Handle the incoming configuration files: +config() { + for infile in \$1; do + NEW="\$infile" + OLD="\`dirname \$NEW\`/\`basename \$NEW .new\`" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\`cat \$OLD | md5sum\`" = "\`cat \$NEW | md5sum\`" ]; then + # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... + done +} + +# Installing a bitmap font is considered deprecated; use a TTF font instead. +# We try to link to an installed TTF font at install time. +# Configure a default TrueType font to use for the OSD : +if [ ! -f usr/share/mplayer/subfont.ttf ]; then + for font in ${OSDFONTS}; do + if [ -f .${XPREF}/lib${LIBDIRSUFFIX}/X11/fonts/TTF/\${font} ]; then + ( cd usr/share/mplayer/ + ln -sf ${XPREF}/lib${LIBDIRSUFFIX}/X11/fonts/TTF/\${font} subfont.ttf + ) + break + fi + done +fi + +# Prepare the new configuration file +config etc/mplayer/mplayer.conf.new + +# Update the desktop database: +if [ -x usr/bin/update-desktop-database ]; then + chroot . /usr/bin/update-desktop-database usr/share/applications 1> /dev/null 2> /dev/null +fi + +# Update hicolor theme cache: +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x usr/bin/gtk-update-icon-cache ]; then + chroot . /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + +# Update the mime database: +if [ -x usr/bin/update-mime-database ]; then + chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +EOINS + +# Add documentation: +mkdir -p $PKG/usr/doc/$PRGNAM-$PKGVERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$PKGVERSION || true +cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$PKGVERSION/$PRGNAM.SlackBuild +mv $PKG/usr/doc/$PRGNAM-$PKGVERSION/HTML $PKG/usr/doc/$PRGNAM-$PKGVERSION/html +# Save a sample of all configuration files: +for i in etc/*.conf ; do + cp $i $PKG/usr/doc/$PRGNAM-$PKGVERSION/$(basename $i)-sample +done +# Save a transcript of all configured options for this specific build: +if [ -n $OUTPUT/configure-${PRGNAM}.log ]; then + cat $OUTPUT/configure-${PRGNAM}.log \ + | sed -n "/^Config files successfully generated/,/^'config.h' and 'config.mak' contain your configuration options./p" \ + > $PKG/usr/doc/$PRGNAM-$PKGVERSION/${PRGNAM}.configuration +fi +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Compress the man page(s): +if [ -d $PKG/usr/man ]; then + find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; + for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +fi + +# Strip binaries: +( find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) + +# Add a package description: +mkdir -p $PKG/install +cat $SRCDIR/slack-desc > $PKG/install/slack-desc +if [ -f $SRCDIR/doinst.sh ]; then + cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh +fi + +# Build the package: +cd $PKG +makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +cd $OUTPUT +md5sum ${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txt + diff --git a/patches/source/MPlayer/slack-desc b/patches/source/MPlayer/slack-desc new file mode 100644 index 000000000..033b41706 --- /dev/null +++ b/patches/source/MPlayer/slack-desc @@ -0,0 +1,20 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +MPlayer: MPlayer (Linux movie player) +MPlayer: +MPlayer: MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI, +MPlayer: Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, +MPlayer: YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, +MPlayer: and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, +MPlayer: DivX 3/4/5 and even WMV movies, too (without the avifile library). +MPlayer: MPlayer supports 10 types of subtitles formats: VobSub, +MPlayer: MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, MPsub. +MPlayer: +MPlayer: Homepage for MPLayer is http://www.mplayerhq.hu/ + diff --git a/patches/source/apr-util/apr-util.SlackBuild b/patches/source/apr-util/apr-util.SlackBuild new file mode 100755 index 000000000..aca6e5eb9 --- /dev/null +++ b/patches/source/apr-util/apr-util.SlackBuild @@ -0,0 +1,124 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo apr-util-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-apr-util + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf apr-util-$VERSION +tar xvf $CWD/apr-util-$VERSION.tar.bz2 || exit 1 +cd apr-util-$VERSION + +# For now, this isn't working with svn (here, anyway) and is probably +# more trouble than it's worth. Could be a grey area in regards to +# licensing, too -- the Apache people say it's fine for third parties +# to link this and distribute the result, but there are usually some +# differing opinions when it comes to this sort of thing... +#( cd dbd ; lftpget http://apache.webthing.com/svn/apache/apr/apr_dbd_mysql.c ) +# --with-mysql=/usr \ +# + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-apr=/usr \ + --with-dbm=db44 \ + --with-berkeley-db \ + --disable-util-dso \ + --without-gdbm \ + --with-ldap \ + --disable-static \ + --without-sqlite2 \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make dox || exit 1 +make install DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/apr-util-$VERSION +cp -a \ + INSTALL.MySQL LICENSE NOTICE \ + $PKG/usr/doc/apr-util-$VERSION + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +# This just seems like way too much stuff... +#mv docs/dox/html $PKG/usr/doc/apr-util-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/apr-util-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/apr-util/apr-util.url b/patches/source/apr-util/apr-util.url new file mode 100644 index 000000000..7bdef9de7 --- /dev/null +++ b/patches/source/apr-util/apr-util.url @@ -0,0 +1,2 @@ +http://www.apache.org/dist/apr/apr-util-1.5.3.tar.bz2 +http://www.apache.org/dist/apr/apr-util-1.5.3.tar.bz2.asc diff --git a/patches/source/apr-util/slack-desc b/patches/source/apr-util/slack-desc new file mode 100644 index 000000000..cec19063e --- /dev/null +++ b/patches/source/apr-util/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +apr-util: apr-util (Apache Portable Runtime utilities) +apr-util: +apr-util: The mission of the Apache Portable Runtime (APR) is to provide a +apr-util: free library of C data structures and routines, forming a system +apr-util: portability layer to as many operating systems as possible. +apr-util: +apr-util: This package contains additional utility interfaces for APR; +apr-util: including support for XML, LDAP, database interfaces, URI parsing, +apr-util: and more. +apr-util: +apr-util: diff --git a/patches/source/apr/apr.SlackBuild b/patches/source/apr/apr.SlackBuild new file mode 100755 index 000000000..e59dc4251 --- /dev/null +++ b/patches/source/apr/apr.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo apr-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-apr + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf apr-$VERSION +tar xvf $CWD/apr-$VERSION.tar.bz2 || exit 1 +cd apr-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-installbuilddir=/usr/lib${LIBDIRSUFFIX}/apr-${VERSION}/build-1 \ + --disable-static \ + --with-devrandom=/dev/urandom \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make dox || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/apr-$VERSION +cp -a \ + LICENSE NOTICE README* \ + $PKG/usr/doc/apr-$VERSION + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +# This just seems like way too much stuff... +#mv docs/dox/html $PKG/usr/doc/apr-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/apr-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/apr/apr.url b/patches/source/apr/apr.url new file mode 100644 index 000000000..7ef8d7752 --- /dev/null +++ b/patches/source/apr/apr.url @@ -0,0 +1,2 @@ +http://www.apache.org/dist/apr/apr-1.5.0.tar.bz2 +http://www.apache.org/dist/apr/apr-1.5.0.tar.bz2.asc diff --git a/patches/source/apr/slack-desc b/patches/source/apr/slack-desc new file mode 100644 index 000000000..2e52660d5 --- /dev/null +++ b/patches/source/apr/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +apr: apr (Apache Portable Runtime) +apr: +apr: The mission of the Apache Portable Runtime (APR) is to provide a +apr: free library of C data structures and routines, forming a system +apr: portability layer to as many operating systems as possible. +apr: +apr: +apr: +apr: +apr: +apr: diff --git a/patches/source/bash/bash-4.2-patches/bash42-001 b/patches/source/bash/bash-4.2-patches/bash42-001 new file mode 100644 index 000000000..547aaa06f --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-001 @@ -0,0 +1,78 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-001 + +Bug-Reported-by: Juergen Daubert +Bug-Reference-ID: <20110214175132.GA19813@jue.netz> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00125.html + +Bug-Description: + +When running in Posix mode, bash does not correctly expand the right-hand +side of a double-quoted word expansion containing single quotes. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500 +--- subst.c 2011-02-19 00:00:00.000000000 -0500 +*************** +*** 1380,1387 **** + + /* The handling of dolbrace_state needs to agree with the code in parse.y: +! parse_matched_pair() */ +! dolbrace_state = 0; +! if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) +! dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM; + + i = *sindex; +--- 1380,1389 ---- + + /* The handling of dolbrace_state needs to agree with the code in parse.y: +! parse_matched_pair(). The different initial value is to handle the +! case where this function is called to parse the word in +! ${param op word} (SX_WORD). */ +! dolbrace_state = (flags & SX_WORD) ? DOLBRACE_WORD : DOLBRACE_PARAM; +! if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && (flags & SX_POSIXEXP)) +! dolbrace_state = DOLBRACE_QUOTE; + + i = *sindex; +*************** +*** 7177,7181 **** + /* Extract the contents of the ${ ... } expansion + according to the Posix.2 rules. */ +! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0); + if (string[sindex] == RBRACE) + sindex++; +--- 7181,7185 ---- + /* Extract the contents of the ${ ... } expansion + according to the Posix.2 rules. */ +! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#' || c =='/' || c == '^' || c == ',' || c ==':') ? SX_POSIXEXP|SX_WORD : SX_WORD); + if (string[sindex] == RBRACE) + sindex++; +*** ../bash-4.2-patched/subst.h 2010-12-02 20:21:29.000000000 -0500 +--- subst.h 2011-02-16 21:12:09.000000000 -0500 +*************** +*** 57,60 **** +--- 57,61 ---- + #define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */ + #define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */ ++ #define SX_WORD 0x0200 /* extracting word in ${param op word} */ + + /* Remove backslashes which are quoting backquotes from STRING. Modifies +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 0 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-002 b/patches/source/bash/bash-4.2-patches/bash42-002 new file mode 100644 index 000000000..077c7e0f8 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-002 @@ -0,0 +1,60 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-002 + +Bug-Reported-by: Clark J. Wang +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html + +Bug-Description: + +The readline vi-mode `cc', `dd', and `yy' commands failed to modify the +entire line. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/readline/vi_mode.c 2010-11-20 19:51:39.000000000 -0500 +--- lib/readline/vi_mode.c 2011-02-17 20:24:25.000000000 -0500 +*************** +*** 1115,1119 **** + _rl_vi_last_motion = c; + RL_UNSETSTATE (RL_STATE_VIMOTION); +! return (0); + } + #if defined (READLINE_CALLBACKS) +--- 1115,1119 ---- + _rl_vi_last_motion = c; + RL_UNSETSTATE (RL_STATE_VIMOTION); +! return (vidomove_dispatch (m)); + } + #if defined (READLINE_CALLBACKS) +*** ../bash-4.2-patched/lib/readline/callback.c 2010-06-06 12:18:58.000000000 -0400 +--- lib/readline/callback.c 2011-02-17 20:43:28.000000000 -0500 +*************** +*** 149,152 **** +--- 149,155 ---- + /* Should handle everything, including cleanup, numeric arguments, + and turning off RL_STATE_VIMOTION */ ++ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) ++ _rl_internal_char_cleanup (); ++ + return; + } +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ + diff --git a/patches/source/bash/bash-4.2-patches/bash42-003 b/patches/source/bash/bash-4.2-patches/bash42-003 new file mode 100644 index 000000000..c488e96b2 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-003 @@ -0,0 +1,318 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-003 + +Bug-Reported-by: Clark J. Wang +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00136.html + +Bug-Description: + +When using the pattern replacement and pattern removal word expansions, bash +miscalculates the possible match length in the presence of an unescaped left +bracket without a closing right bracket, resulting in a failure to match +the pattern. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500 +--- lib/glob/gmisc.c 2011-02-18 23:53:42.000000000 -0500 +*************** +*** 78,83 **** + size_t wmax; + { +! wchar_t wc, *wbrack; +! int matlen, t, in_cclass, in_collsym, in_equiv; + + if (*wpat == 0) +--- 78,83 ---- + size_t wmax; + { +! wchar_t wc; +! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv; + + if (*wpat == 0) +*************** +*** 119,123 **** + case L'[': + /* scan for ending `]', skipping over embedded [:...:] */ +! wbrack = wpat; + wc = *wpat++; + do +--- 119,123 ---- + case L'[': + /* scan for ending `]', skipping over embedded [:...:] */ +! bracklen = 1; + wc = *wpat++; + do +*************** +*** 125,140 **** + if (wc == 0) + { +! matlen += wpat - wbrack - 1; /* incremented below */ +! break; + } + else if (wc == L'\\') + { +! wc = *wpat++; +! if (*wpat == 0) +! break; + } + else if (wc == L'[' && *wpat == L':') /* character class */ + { + wpat++; + in_cclass = 1; + } +--- 125,148 ---- + if (wc == 0) + { +! wpat--; /* back up to NUL */ +! matlen += bracklen; +! goto bad_bracket; + } + else if (wc == L'\\') + { +! /* *wpat == backslash-escaped character */ +! bracklen++; +! /* If the backslash or backslash-escape ends the string, +! bail. The ++wpat skips over the backslash escape */ +! if (*wpat == 0 || *++wpat == 0) +! { +! matlen += bracklen; +! goto bad_bracket; +! } + } + else if (wc == L'[' && *wpat == L':') /* character class */ + { + wpat++; ++ bracklen++; + in_cclass = 1; + } +*************** +*** 142,145 **** +--- 150,154 ---- + { + wpat++; ++ bracklen++; + in_cclass = 0; + } +*************** +*** 147,152 **** + { + wpat++; + if (*wpat == L']') /* right bracket can appear as collating symbol */ +! wpat++; + in_collsym = 1; + } +--- 156,165 ---- + { + wpat++; ++ bracklen++; + if (*wpat == L']') /* right bracket can appear as collating symbol */ +! { +! wpat++; +! bracklen++; +! } + in_collsym = 1; + } +*************** +*** 154,157 **** +--- 167,171 ---- + { + wpat++; ++ bracklen++; + in_collsym = 0; + } +*************** +*** 159,164 **** + { + wpat++; + if (*wpat == L']') /* right bracket can appear as equivalence class */ +! wpat++; + in_equiv = 1; + } +--- 173,182 ---- + { + wpat++; ++ bracklen++; + if (*wpat == L']') /* right bracket can appear as equivalence class */ +! { +! wpat++; +! bracklen++; +! } + in_equiv = 1; + } +*************** +*** 166,174 **** +--- 184,196 ---- + { + wpat++; ++ bracklen++; + in_equiv = 0; + } ++ else ++ bracklen++; + } + while ((wc = *wpat++) != L']'); + matlen++; /* bracket expression can only match one char */ ++ bad_bracket: + break; + } +*************** +*** 214,219 **** + size_t max; + { +! char c, *brack; +! int matlen, t, in_cclass, in_collsym, in_equiv; + + if (*pat == 0) +--- 236,241 ---- + size_t max; + { +! char c; +! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv; + + if (*pat == 0) +*************** +*** 255,259 **** + case '[': + /* scan for ending `]', skipping over embedded [:...:] */ +! brack = pat; + c = *pat++; + do +--- 277,281 ---- + case '[': + /* scan for ending `]', skipping over embedded [:...:] */ +! bracklen = 1; + c = *pat++; + do +*************** +*** 261,276 **** + if (c == 0) + { +! matlen += pat - brack - 1; /* incremented below */ +! break; + } + else if (c == '\\') + { +! c = *pat++; +! if (*pat == 0) +! break; + } + else if (c == '[' && *pat == ':') /* character class */ + { + pat++; + in_cclass = 1; + } +--- 283,306 ---- + if (c == 0) + { +! pat--; /* back up to NUL */ +! matlen += bracklen; +! goto bad_bracket; + } + else if (c == '\\') + { +! /* *pat == backslash-escaped character */ +! bracklen++; +! /* If the backslash or backslash-escape ends the string, +! bail. The ++pat skips over the backslash escape */ +! if (*pat == 0 || *++pat == 0) +! { +! matlen += bracklen; +! goto bad_bracket; +! } + } + else if (c == '[' && *pat == ':') /* character class */ + { + pat++; ++ bracklen++; + in_cclass = 1; + } +*************** +*** 278,281 **** +--- 308,312 ---- + { + pat++; ++ bracklen++; + in_cclass = 0; + } +*************** +*** 283,288 **** + { + pat++; + if (*pat == ']') /* right bracket can appear as collating symbol */ +! pat++; + in_collsym = 1; + } +--- 314,323 ---- + { + pat++; ++ bracklen++; + if (*pat == ']') /* right bracket can appear as collating symbol */ +! { +! pat++; +! bracklen++; +! } + in_collsym = 1; + } +*************** +*** 290,293 **** +--- 325,329 ---- + { + pat++; ++ bracklen++; + in_collsym = 0; + } +*************** +*** 295,300 **** + { + pat++; + if (*pat == ']') /* right bracket can appear as equivalence class */ +! pat++; + in_equiv = 1; + } +--- 331,340 ---- + { + pat++; ++ bracklen++; + if (*pat == ']') /* right bracket can appear as equivalence class */ +! { +! pat++; +! bracklen++; +! } + in_equiv = 1; + } +*************** +*** 302,310 **** +--- 342,354 ---- + { + pat++; ++ bracklen++; + in_equiv = 0; + } ++ else ++ bracklen++; + } + while ((c = *pat++) != ']'); + matlen++; /* bracket expression can only match one char */ ++ bad_bracket: + break; + } +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-004 b/patches/source/bash/bash-4.2-patches/bash42-004 new file mode 100644 index 000000000..fe29f82c7 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-004 @@ -0,0 +1,53 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-004 + +Bug-Reported-by: Mike Frysinger +Bug-Reference-ID: <201102182106.17834.vapier@gentoo.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html + +Bug-Description: + +When used in contexts where word splitting and quote removal were not +performed, such as pattern removal or pattern substitution, empty strings +(either literal or resulting from quoted variables that were unset or +null) were not matched correctly, resulting in failure. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500 +--- subst.c 2011-02-18 22:30:13.000000000 -0500 +*************** +*** 3373,3379 **** + if (string == 0 || *string == '\0') + return (WORD_LIST *)NULL; + +! td.flags = 0; + td.word = string; + tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); + return (tresult); +--- 3373,3379 ---- + if (string == 0 || *string == '\0') + return (WORD_LIST *)NULL; + +! td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */ + td.word = string; + tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); + return (tresult); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-005 b/patches/source/bash/bash-4.2-patches/bash42-005 new file mode 100644 index 000000000..3ca9fc1da --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-005 @@ -0,0 +1,131 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-005 + +Bug-Reported-by: Dennis Williamson +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html + +Bug-Description: + +Systems that use tzset() to set the local timezone require the TZ variable +to be in the environment. Bash must make sure the environment has been +modified with any updated value for TZ before calling tzset(). This +affects prompt string expansions and the `%T' printf conversion specification +on systems that do not allow bash to supply a replacement for getenv(3). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/variables.h 2010-12-02 20:22:01.000000000 -0500 +--- variables.h 2011-02-19 19:57:12.000000000 -0500 +*************** +*** 314,317 **** +--- 314,318 ---- + extern void sort_variables __P((SHELL_VAR **)); + ++ extern int chkexport __P((char *)); + extern void maybe_make_export_env __P((void)); + extern void update_export_env_inplace __P((char *, int, char *)); +*** ../bash-4.2-patched/variables.c 2011-01-24 20:07:48.000000000 -0500 +--- variables.c 2011-02-19 20:04:50.000000000 -0500 +*************** +*** 3654,3657 **** +--- 3654,3673 ---- + } + ++ int ++ chkexport (name) ++ char *name; ++ { ++ SHELL_VAR *v; ++ ++ v = find_variable (name); ++ if (exported_p (v)) ++ { ++ array_needs_making = 1; ++ maybe_make_export_env (); ++ return 1; ++ } ++ return 0; ++ } ++ + void + maybe_make_export_env () +*************** +*** 4215,4219 **** + { "TEXTDOMAINDIR", sv_locale }, + +! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE) + { "TZ", sv_tz }, + #endif +--- 4231,4235 ---- + { "TEXTDOMAINDIR", sv_locale }, + +! #if defined (HAVE_TZSET) + { "TZ", sv_tz }, + #endif +*************** +*** 4559,4568 **** + #endif /* HISTORY */ + +! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE) + void + sv_tz (name) + char *name; + { +! tzset (); + } + #endif +--- 4575,4585 ---- + #endif /* HISTORY */ + +! #if defined (HAVE_TZSET) + void + sv_tz (name) + char *name; + { +! if (chkexport (name)) +! tzset (); + } + #endif +*** ../bash-4.2-patched/parse.y 2011-01-02 15:48:11.000000000 -0500 +--- parse.y 2011-02-19 20:05:00.000000000 -0500 +*************** +*** 5136,5139 **** +--- 5136,5142 ---- + /* Make the current time/date into a string. */ + (void) time (&the_time); ++ #if defined (HAVE_TZSET) ++ sv_tz ("TZ"); /* XXX -- just make sure */ ++ #endif + tm = localtime (&the_time); + +*** ../bash-4.2-patched/builtins/printf.def 2010-11-23 10:02:55.000000000 -0500 +--- builtins/printf.def 2011-02-19 20:05:04.000000000 -0500 +*************** +*** 466,469 **** +--- 466,472 ---- + else + secs = arg; ++ #if defined (HAVE_TZSET) ++ sv_tz ("TZ"); /* XXX -- just make sure */ ++ #endif + tm = localtime (&secs); + n = strftime (timebuf, sizeof (timebuf), timefmt, tm); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-006 b/patches/source/bash/bash-4.2-patches/bash42-006 new file mode 100644 index 000000000..be6e49c72 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-006 @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-006 + +Bug-Reported-by: Allan McRae +Bug-Reference-ID: <4D6D0D0B.50908@archlinux.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00001.html + +Bug-Description: + +A problem with bash42-005 caused it to dump core if TZ was unset. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/variables.c 2011-02-25 12:07:41.000000000 -0500 +--- variables.c 2011-03-01 10:13:04.000000000 -0500 +*************** +*** 3661,3665 **** + + v = find_variable (name); +! if (exported_p (v)) + { + array_needs_making = 1; +--- 3661,3665 ---- + + v = find_variable (name); +! if (v && exported_p (v)) + { + array_needs_making = 1; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-007 b/patches/source/bash/bash-4.2-patches/bash42-007 new file mode 100644 index 000000000..d16156e27 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-007 @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-007 + +Bug-Reported-by: Matthias Klose +Bug-Reference-ID: <4D6FD2AC.1010500@debian.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00015.html + +Bug-Description: + +When used in contexts where word splitting and quote removal were not +performed, such as case statement word expansion, empty strings +(either literal or resulting from quoted variables that were unset or +null) were not expanded correctly, resulting in failure. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-02-25 12:03:58.000000000 -0500 +--- subst.c 2011-03-03 14:08:23.000000000 -0500 +*************** +*** 4609,4614 **** +--- 4611,4617 ---- + if (ifs_firstc == 0) + #endif + word->flags |= W_NOSPLIT; ++ word->flags |= W_NOSPLIT2; + result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL); + expand_no_split_dollar_star = 0; + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-008 b/patches/source/bash/bash-4.2-patches/bash42-008 new file mode 100644 index 000000000..631abbdf7 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-008 @@ -0,0 +1,74 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-008 + +Bug-Reported-by: Doug McMahon +Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html + +Bug-Description: + +Bash-4.2 does not attempt to save the shell history on receipt of a +terminating signal that is handled synchronously. Unfortunately, the +`close' button on most X11 terminal emulators sends SIGHUP, which +kills the shell. + +This is a very small patch to save the history in the case that an +interactive shell receives a SIGHUP or SIGTERM while in readline and +reading a command. + +The next version of bash will do this differently. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010 +--- sig.c Tue Mar 8 21:28:32 2011 +*************** +*** 47,50 **** +--- 47,51 ---- + #if defined (READLINE) + # include "bashline.h" ++ # include + #endif + +*************** +*** 63,66 **** +--- 64,68 ---- + extern int history_lines_this_session; + #endif ++ extern int no_line_editing; + + extern void initialize_siglist (); +*************** +*** 506,510 **** + #if defined (HISTORY) + /* XXX - will inhibit history file being written */ +! history_lines_this_session = 0; + #endif + terminate_immediately = 0; +--- 508,515 ---- + #if defined (HISTORY) + /* XXX - will inhibit history file being written */ +! # if defined (READLINE) +! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0)) +! # endif +! history_lines_this_session = 0; + #endif + terminate_immediately = 0; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-009 b/patches/source/bash/bash-4.2-patches/bash42-009 new file mode 100644 index 000000000..83a7e2c74 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-009 @@ -0,0 +1,82 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-009 + +Bug-Reported-by: +Bug-Reference-ID: <4DAAC0DB.7060606@piumalab.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00075.html + +Bug-Description: + +Under certain circumstances, running `fc -l' two times in succession with a +relative history offset at the end of the history will result in an incorrect +calculation of the last history entry and a seg fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/fc.def 2010-05-30 18:25:38.000000000 -0400 +--- builtins/fc.def 2011-04-19 15:46:17.000000000 -0400 +*************** +*** 305,309 **** + + /* XXX */ +! if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0) + while (last_hist >= 0 && hlist[last_hist] == 0) + last_hist--; +--- 305,309 ---- + + /* XXX */ +! if (i == last_hist && hlist[last_hist] == 0) + while (last_hist >= 0 && hlist[last_hist] == 0) + last_hist--; +*************** +*** 476,480 **** + { + int sign, n, clen, rh; +! register int i, j; + register char *s; + +--- 476,480 ---- + { + int sign, n, clen, rh; +! register int i, j, last_hist; + register char *s; + +*************** +*** 496,500 **** + calculation as if it were on. */ + rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list); +! i -= rh + hist_last_line_added; + + /* No specification defaults to most recent command. */ +--- 496,508 ---- + calculation as if it were on. */ + rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list); +! last_hist = i - rh - hist_last_line_added; +! +! if (i == last_hist && hlist[last_hist] == 0) +! while (last_hist >= 0 && hlist[last_hist] == 0) +! last_hist--; +! if (last_hist < 0) +! return (-1); +! +! i = last_hist; + + /* No specification defaults to most recent command. */ +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-010 b/patches/source/bash/bash-4.2-patches/bash42-010 new file mode 100644 index 000000000..e408abd61 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-010 @@ -0,0 +1,61 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-010 + +Bug-Reported-by: Mike Frysinger +Bug-Reference-ID: <201104122356.20160.vapier@gentoo.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00058.html + +Bug-Description: + +Bash did not correctly print/reproduce here documents attached to commands +inside compound commands such as arithmetic for loops and user-specified +subshells. This affected the execution of such commands inside a shell +function when the function definition is saved and later restored using +`.' or `eval'. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/print_cmd.c 2010-05-30 18:34:08.000000000 -0400 +--- print_cmd.c 2011-04-14 10:43:18.000000000 -0400 +*************** +*** 316,319 **** +--- 317,321 ---- + skip_this_indent++; + make_command_string_internal (command->value.Subshell->command); ++ PRINT_DEFERRED_HEREDOCS (""); + cprintf (" )"); + break; +*************** +*** 593,596 **** +--- 606,610 ---- + indentation += indentation_amount; + make_command_string_internal (arith_for_command->action); ++ PRINT_DEFERRED_HEREDOCS (""); + semicolon (); + indentation -= indentation_amount; +*************** +*** 654,657 **** +--- 668,672 ---- + + make_command_string_internal (group_command->command); ++ PRINT_DEFERRED_HEREDOCS (""); + + if (inside_function_def) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-011 b/patches/source/bash/bash-4.2-patches/bash42-011 new file mode 100644 index 000000000..26fdf65f6 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-011 @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-011 + +Bug-Reported-by: "David Parks" +Bug-Reference-ID: <014101cc82c6$46ac1540$d4043fc0$@com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00031.html + +Bug-Description: + +Overwriting a value in an associative array causes the memory allocated to +store the key on the second and subsequent assignments to leak. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/assoc.c 2009-08-05 20:19:40.000000000 -0400 +--- assoc.c 2011-10-04 20:23:07.000000000 -0400 +*************** +*** 78,81 **** +--- 78,86 ---- + if (b == 0) + return -1; ++ /* If we are overwriting an existing element's value, we're not going to ++ use the key. Nothing in the array assignment code path frees the key ++ string, so we can free it here to avoid a memory leak. */ ++ if (b->key != key) ++ free (key); + FREE (b->data); + b->data = value ? savestring (value) : (char *)0; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-012 b/patches/source/bash/bash-4.2-patches/bash42-012 new file mode 100644 index 000000000..70f0a56b6 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-012 @@ -0,0 +1,151 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-012 + +Bug-Reported-by: Rui Santos +Bug-Reference-ID: <4E04C6D0.2020507@grupopie.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00079.html + +Bug-Description: + +When calling the parser to recursively parse a command substitution within +an arithmetic expansion, the shell overwrote the saved shell input line and +associated state, resulting in a garbled command. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/parse.y 2011-02-26 19:19:05.000000000 -0500 +--- parse.y 2011-06-24 20:08:22.000000000 -0400 +*************** +*** 3843,3846 **** +--- 3849,3853 ---- + { + sh_parser_state_t ps; ++ sh_input_line_state_t ls; + int orig_ind, nc, sflags; + char *ret, *s, *ep, *ostring; +*************** +*** 3850,3857 **** +--- 3857,3866 ---- + ostring = string; + ++ /*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/ + sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE; + if (flags & SX_NOLONGJMP) + sflags |= SEVAL_NOLONGJMP; + save_parser_state (&ps); ++ save_input_line_state (&ls); + + /*(*/ +*************** +*** 3862,3865 **** +--- 3871,3876 ---- + restore_parser_state (&ps); + reset_parser (); ++ /* reset_parser clears shell_input_line and associated variables */ ++ restore_input_line_state (&ls); + if (interactive) + token_to_read = 0; +*************** +*** 5909,5912 **** +--- 5920,5929 ---- + ps->echo_input_at_read = echo_input_at_read; + ++ ps->token = token; ++ ps->token_buffer_size = token_buffer_size; ++ /* Force reallocation on next call to read_token_word */ ++ token = 0; ++ token_buffer_size = 0; ++ + return (ps); + } +*************** +*** 5950,5953 **** +--- 5967,6006 ---- + expand_aliases = ps->expand_aliases; + echo_input_at_read = ps->echo_input_at_read; ++ ++ FREE (token); ++ token = ps->token; ++ token_buffer_size = ps->token_buffer_size; ++ } ++ ++ sh_input_line_state_t * ++ save_input_line_state (ls) ++ sh_input_line_state_t *ls; ++ { ++ if (ls == 0) ++ ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t)); ++ if (ls == 0) ++ return ((sh_input_line_state_t *)NULL); ++ ++ ls->input_line = shell_input_line; ++ ls->input_line_size = shell_input_line_size; ++ ls->input_line_len = shell_input_line_len; ++ ls->input_line_index = shell_input_line_index; ++ ++ /* force reallocation */ ++ shell_input_line = 0; ++ shell_input_line_size = shell_input_line_len = shell_input_line_index = 0; ++ } ++ ++ void ++ restore_input_line_state (ls) ++ sh_input_line_state_t *ls; ++ { ++ FREE (shell_input_line); ++ shell_input_line = ls->input_line; ++ shell_input_line_size = ls->input_line_size; ++ shell_input_line_len = ls->input_line_len; ++ shell_input_line_index = ls->input_line_index; ++ ++ set_line_mbstate (); + } + +*** ../bash-4.2-patched/shell.h 2011-01-06 22:16:55.000000000 -0500 +--- shell.h 2011-06-24 19:12:25.000000000 -0400 +*************** +*** 137,140 **** +--- 139,145 ---- + int *token_state; + ++ char *token; ++ int token_buffer_size; ++ + /* input line state -- line number saved elsewhere */ + int input_line_terminator; +*************** +*** 167,171 **** +--- 172,186 ---- + } sh_parser_state_t; + ++ typedef struct _sh_input_line_state_t { ++ char *input_line; ++ int input_line_index; ++ int input_line_size; ++ int input_line_len; ++ } sh_input_line_state_t; ++ + /* Let's try declaring these here. */ + extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); + extern void restore_parser_state __P((sh_parser_state_t *)); ++ ++ extern sh_input_line_state_t *save_input_line_state __P((sh_input_line_state_t *)); ++ extern void restore_input_line_state __P((sh_input_line_state_t *)); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-013 b/patches/source/bash/bash-4.2-patches/bash42-013 new file mode 100644 index 000000000..5bb186b3a --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-013 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-013 + +Bug-Reported-by: Marten Wikstrom +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html + +Bug-Description: + +An off-by-one error caused the shell to skip over CTLNUL characters, +which are used internally to mark quoted null strings. The effect +was to have stray 0x7f characters left after expanding words like +""""""""aa. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-03-06 14:11:11.000000000 -0500 +--- subst.c 2011-05-11 11:23:33.000000000 -0400 +*************** +*** 3707,3711 **** + } + else if (string[i] == CTLNUL) +! i++; + + prev_i = i; +--- 3710,3717 ---- + } + else if (string[i] == CTLNUL) +! { +! i++; +! continue; +! } + + prev_i = i; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-014 b/patches/source/bash/bash-4.2-patches/bash42-014 new file mode 100644 index 000000000..a43271c34 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-014 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-014 + +Bug-Reported-by: Shawn Bohrer +Bug-Reference-ID: <20110504152320.6E8F28130527@dev1.rgmadvisors.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00018.html + +Bug-Description: + +The regular expression matching operator did not correctly match +expressions with an embedded ^A. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/pathexp.c 2010-08-13 23:21:57.000000000 -0400 +--- pathexp.c 2011-05-05 16:40:58.000000000 -0400 +*************** +*** 197,201 **** + if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') + continue; +! if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) + continue; + temp[j++] = '\\'; +--- 197,201 ---- + if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') + continue; +! if (pathname[i+1] != CTLESC && (qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) + continue; + temp[j++] = '\\'; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-015 b/patches/source/bash/bash-4.2-patches/bash42-015 new file mode 100644 index 000000000..865587385 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-015 @@ -0,0 +1,81 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-015 + +Bug-Reported-by: +Bug-Reference-ID: <728_1312188080_4E3666B0_728_118711_1_3B5D3E0F95CC5C478D6500CDCE8B691F7AAAA4AA3D@PUEXCB2B.nanterre.francetelecom.fr> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00000.html + +Bug-Description: + +When in a context where arithmetic evaluation is not taking place, the +evaluator should not check for division by 0. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/expr.c 2010-12-21 11:12:13.000000000 -0500 +--- expr.c 2011-08-02 20:58:28.000000000 -0400 +*************** +*** 477,480 **** +--- 481,492 ---- + if (special) + { ++ if ((op == DIV || op == MOD) && value == 0) ++ { ++ if (noeval == 0) ++ evalerror (_("division by 0")); ++ else ++ value = 1; ++ } ++ + switch (op) + { +*************** +*** 483,493 **** + break; + case DIV: +- if (value == 0) +- evalerror (_("division by 0")); + lvalue /= value; + break; + case MOD: +- if (value == 0) +- evalerror (_("division by 0")); + lvalue %= value; + break; +--- 495,501 ---- +*************** +*** 805,809 **** + + if (((op == DIV) || (op == MOD)) && (val2 == 0)) +! evalerror (_("division by 0")); + + if (op == MUL) +--- 813,822 ---- + + if (((op == DIV) || (op == MOD)) && (val2 == 0)) +! { +! if (noeval == 0) +! evalerror (_("division by 0")); +! else +! val2 = 1; +! } + + if (op == MUL) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-016 b/patches/source/bash/bash-4.2-patches/bash42-016 new file mode 100644 index 000000000..46025888b --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-016 @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-016 + +Bug-Reported-by: Martin von Gagern +Bug-Reference-ID: <4E43AD9E.8060501@gmx.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00141.html + +Bug-Description: + +Bash should not check for mail while executing the `eval' builtin. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/parse.y Fri Feb 25 12:07:41 2011 +--- parse.y Thu Aug 11 19:02:26 2011 +*************** +*** 2500,2504 **** + is the mail alarm reset; nothing takes place in check_mail () + except the checking of mail. Please don't change this. */ +! if (prompt_is_ps1 && time_to_check_mail ()) + { + check_mail (); +--- 2498,2502 ---- + is the mail alarm reset; nothing takes place in check_mail () + except the checking of mail. Please don't change this. */ +! if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ()) + { + check_mail (); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-017 b/patches/source/bash/bash-4.2-patches/bash42-017 new file mode 100644 index 000000000..010ed1e50 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-017 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-017 + +Bug-Reported-by: Curtis Doty +Bug-Reference-ID: <20110621035324.A4F70849F59@mx1.iParadigms.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00053.html + +Bug-Description: + +Using `read -a foo' where foo was an already-declared associative array +caused the shell to die with a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/read.def 2011-01-04 11:43:36.000000000 -0500 +--- builtins/read.def 2011-06-21 10:31:02.000000000 -0400 +*************** +*** 643,646 **** +--- 642,651 ---- + return EXECUTION_FAILURE; /* readonly or noassign */ + } ++ if (assoc_p (var)) ++ { ++ builtin_error (_("%s: cannot convert associative to indexed array"), arrayname); ++ xfree (input_string); ++ return EXECUTION_FAILURE; /* existing associative array */ ++ } + array_flush (array_cell (var)); + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-018 b/patches/source/bash/bash-4.2-patches/bash42-018 new file mode 100644 index 000000000..5d11dce16 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-018 @@ -0,0 +1,74 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-018 + +Bug-Reported-by: Thomas Cort +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html + +Bug-Description: + +Bash fails to compile unless JOB_CONTROL is defined. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/execute_cmd.c 2011-02-09 17:32:25.000000000 -0500 +--- execute_cmd.c 2011-11-06 15:12:48.000000000 -0500 +*************** +*** 2197,2200 **** +--- 2315,2319 ---- + cmd->flags |= CMD_IGNORE_RETURN; + ++ #if defined (JOB_CONTROL) + lastpipe_flag = 0; + begin_unwind_frame ("lastpipe-exec"); +*************** +*** 2216,2228 **** + add_unwind_protect (lastpipe_cleanup, lastpipe_jid); + } +! cmd->flags |= CMD_LASTPIPE; + } + if (prev >= 0) + add_unwind_protect (close, prev); + + exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); + + if (lstdin > 0) + restore_stdin (lstdin); + + if (prev >= 0) +--- 2335,2351 ---- + add_unwind_protect (lastpipe_cleanup, lastpipe_jid); + } +! if (cmd) +! cmd->flags |= CMD_LASTPIPE; + } + if (prev >= 0) + add_unwind_protect (close, prev); ++ #endif + + exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); + ++ #if defined (JOB_CONTROL) + if (lstdin > 0) + restore_stdin (lstdin); ++ #endif + + if (prev >= 0) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-019 b/patches/source/bash/bash-4.2-patches/bash42-019 new file mode 100644 index 000000000..5fce40ae5 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-019 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-019 + +Bug-Reported-by: Diego Augusto Molina +Bug-Reference-ID: +Bug-Reference-URL: lists.gnu.org/archive/html/bug-bash/2011-09/msg00047.html + +Bug-Description: + +Using `declare' with attributes and an invalid array variable name or +assignment reference resulted in a segmentation fault instead of a +declaration error. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/declare.def 2010-05-30 18:25:21.000000000 -0400 +--- builtins/declare.def 2011-09-15 15:20:20.000000000 -0400 +*************** +*** 514,517 **** +--- 514,522 ---- + var = assign_array_element (name, value, 0); /* XXX - not aflags */ + *subscript_start = '\0'; ++ if (var == 0) /* some kind of assignment error */ ++ { ++ assign_error++; ++ NEXT_VARIABLE (); ++ } + } + else if (simple_array_assign) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-020 b/patches/source/bash/bash-4.2-patches/bash42-020 new file mode 100644 index 000000000..a1dd0443e --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-020 @@ -0,0 +1,60 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-020 + +Bug-Reported-by: Vincent Sheffer +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html + +Bug-Description: + +The shared object helper script needs to be updated for Mac OS X 10.7 +(Lion, darwin11). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400 +--- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400 +*************** +*** 158,162 **** + + # Darwin/MacOS X +! darwin[89]*|darwin10*) + SHOBJ_STATUS=supported + SHLIB_STATUS=supported +--- 172,176 ---- + + # Darwin/MacOS X +! darwin[89]*|darwin1[012]*) + SHOBJ_STATUS=supported + SHLIB_STATUS=supported +*************** +*** 187,191 **** + + case "${host_os}" in +! darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; +--- 201,205 ---- + + case "${host_os}" in +! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-021 b/patches/source/bash/bash-4.2-patches/bash42-021 new file mode 100644 index 000000000..b6153c784 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-021 @@ -0,0 +1,61 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-021 + +Bug-Reported-by: Dan Douglas +Bug-Reference-ID: <4585554.nZWb4q7YoZ@smorgbox> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-12/msg00084.html + +Bug-Description: + +Using `read -N' to assign values to an array can result in NUL values being +assigned to some array elements. These values cause seg faults when referenced +later. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/read.def 2011-11-21 18:03:38.000000000 -0500 +--- builtins/read.def 2011-12-19 19:52:12.000000000 -0500 +*************** +*** 738,742 **** + } + else +! var = bind_read_variable (varname, t); + } + else +--- 775,779 ---- + } + else +! var = bind_read_variable (varname, t ? t : ""); + } + else +*************** +*** 799,803 **** + } + else +! var = bind_read_variable (list->word->word, input_string); + + if (var) +--- 836,840 ---- + } + else +! var = bind_read_variable (list->word->word, input_string ? input_string : ""); + + if (var) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-022 b/patches/source/bash/bash-4.2-patches/bash42-022 new file mode 100644 index 000000000..0067b1335 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-022 @@ -0,0 +1,61 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-022 + +Bug-Reported-by: Gregory Margo +Bug-Reference-ID: <20110727174529.GA3333@pacbell.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00102.html + +Bug-Description: + +The return value from lseek is `off_t'. This can cause corrupted return +values when the file offset is greater than 2**31 - 1. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/sh/zread.c Mon Mar 2 08:54:45 2009 +--- lib/sh/zread.c Thu Jul 28 18:16:53 2011 +*************** +*** 161,166 **** + int fd; + { +! off_t off; +! int r; + + off = lused - lind; +--- 161,165 ---- + int fd; + { +! off_t off, r; + + off = lused - lind; +*************** +*** 169,173 **** + r = lseek (fd, -off, SEEK_CUR); + +! if (r >= 0) + lused = lind = 0; + } +--- 168,172 ---- + r = lseek (fd, -off, SEEK_CUR); + +! if (r != -1) + lused = lind = 0; + } +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-023 b/patches/source/bash/bash-4.2-patches/bash42-023 new file mode 100644 index 000000000..4f204efb0 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-023 @@ -0,0 +1,62 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-023 + +Bug-Reported-by: Ewan Mellor +Bug-Reference-ID: <6005BE083BF501439A84DC3523BAC82DC4B964FD12@LONPMAILBOX01.citrite.net> +Bug-Reference-URL: + +Bug-Description: + +Under some circumstances, an exit trap triggered by a bad substitution +error when errexit is enabled will cause the shell to exit with an +incorrect exit status (0). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-11-21 12:04:38.000000000 -0500 +--- subst.c 2012-02-08 13:36:28.000000000 -0500 +*************** +*** 7275,7278 **** +--- 7281,7285 ---- + case '\0': + bad_substitution: ++ last_command_exit_value = EXECUTION_FAILURE; + report_error (_("%s: bad substitution"), string ? string : "??"); + FREE (value); +*** ../bash-4.2-patched/error.c 2009-08-21 22:31:31.000000000 -0400 +--- error.c 2012-02-25 15:54:40.000000000 -0500 +*************** +*** 201,205 **** + va_end (args); + if (exit_immediately_on_error) +! exit_shell (1); + } + +--- 201,209 ---- + va_end (args); + if (exit_immediately_on_error) +! { +! if (last_command_exit_value == 0) +! last_command_exit_value = 1; +! exit_shell (last_command_exit_value); +! } + } + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-024 b/patches/source/bash/bash-4.2-patches/bash42-024 new file mode 100644 index 000000000..b7b1158b8 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-024 @@ -0,0 +1,45 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-024 + +Bug-Reported-by: Jim Avera +Bug-Reference-ID: <4F29E07A.80405@yahoo.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html + +Bug-Description: + +When `printf -v' is used to set an array element, the format string contains +`%b', and the corresponding argument is the empty string, the buffer used +to store the value to be assigned can be NULL, which results in NUL being +assigned to the array element. This causes a seg fault when it's used later. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/printf.def 2011-02-25 12:07:41.000000000 -0500 +--- builtins/printf.def 2012-02-02 08:37:12.000000000 -0500 +*************** +*** 256,259 **** +--- 257,262 ---- + { + vflag = 1; ++ if (vbsize == 0) ++ vbuf = xmalloc (vbsize = 16); + vblen = 0; + if (vbuf) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 24 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-025 b/patches/source/bash/bash-4.2-patches/bash42-025 new file mode 100644 index 000000000..34ac34300 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-025 @@ -0,0 +1,143 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-025 + +Bug-Reported-by: Bill Gradwohl +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2012-03/msg00078.html + +Bug-Description: + +When used in a shell function, `declare -g -a array=(compound assignment)' +creates a local variable instead of a global one. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/command.h 2010-08-02 19:36:51.000000000 -0400 +--- command.h 2012-04-01 12:38:35.000000000 -0400 +*************** +*** 98,101 **** +--- 98,102 ---- + #define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */ + #define W_ARRAYIND 0x800000 /* word is an array index being expanded */ ++ #define W_ASSNGLOBAL 0x1000000 /* word is a global assignment to declare (declare/typeset -g) */ + + /* Possible values for subshell_environment */ +*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 18:03:41.000000000 -0500 +--- execute_cmd.c 2012-04-01 12:42:03.000000000 -0400 +*************** +*** 3581,3585 **** + WORD_LIST *w; + struct builtin *b; +! int assoc; + + if (words == 0) +--- 3581,3585 ---- + WORD_LIST *w; + struct builtin *b; +! int assoc, global; + + if (words == 0) +*************** +*** 3587,3591 **** + + b = 0; +! assoc = 0; + + for (w = words; w; w = w->next) +--- 3587,3591 ---- + + b = 0; +! assoc = global = 0; + + for (w = words; w; w = w->next) +*************** +*** 3604,3607 **** +--- 3604,3609 ---- + if (assoc) + w->word->flags |= W_ASSIGNASSOC; ++ if (global) ++ w->word->flags |= W_ASSNGLOBAL; + #endif + } +*************** +*** 3609,3613 **** + /* Note that we saw an associative array option to a builtin that takes + assignment statements. This is a bit of a kludge. */ +! else if (w->word->word[0] == '-' && strchr (w->word->word, 'A')) + { + if (b == 0) +--- 3611,3618 ---- + /* Note that we saw an associative array option to a builtin that takes + assignment statements. This is a bit of a kludge. */ +! else if (w->word->word[0] == '-' && (strchr (w->word->word+1, 'A') || strchr (w->word->word+1, 'g'))) +! #else +! else if (w->word->word[0] == '-' && strchr (w->word->word+1, 'g')) +! #endif + { + if (b == 0) +*************** +*** 3619,3626 **** + words->word->flags |= W_ASSNBLTIN; + } +! if (words->word->flags & W_ASSNBLTIN) + assoc = 1; + } +- #endif + } + +--- 3624,3632 ---- + words->word->flags |= W_ASSNBLTIN; + } +! if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'A')) + assoc = 1; ++ if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'g')) ++ global = 1; + } + } + +*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400 +--- subst.c 2012-04-01 12:38:35.000000000 -0400 +*************** +*** 367,370 **** +--- 367,375 ---- + fprintf (stderr, "W_ASSNBLTIN%s", f ? "|" : ""); + } ++ if (f & W_ASSNGLOBAL) ++ { ++ f &= ~W_ASSNGLOBAL; ++ fprintf (stderr, "W_ASSNGLOBAL%s", f ? "|" : ""); ++ } + if (f & W_COMPASSIGN) + { +*************** +*** 2804,2808 **** + else if (assign_list) + { +! if (word->flags & W_ASSIGNARG) + aflags |= ASS_MKLOCAL; + if (word->flags & W_ASSIGNASSOC) +--- 2809,2813 ---- + else if (assign_list) + { +! if ((word->flags & W_ASSIGNARG) && (word->flags & W_ASSNGLOBAL) == 0) + aflags |= ASS_MKLOCAL; + if (word->flags & W_ASSIGNASSOC) + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 24 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 25 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-026 b/patches/source/bash/bash-4.2-patches/bash42-026 new file mode 100644 index 000000000..e15d74807 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-026 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-026 + +Bug-Reported-by: Greg Wooledge +Bug-Reference-ID: <20120425180443.GO22241@eeg.ccf.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00172.html + +Bug-Description: + +The `lastpipe' option does not behave correctly on machines where the +open file limit is less than 256. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 12:04:47.000000000 -0500 +--- execute_cmd.c 2012-04-26 11:09:30.000000000 -0400 +*************** +*** 2206,2210 **** + if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) + { +! lstdin = move_to_high_fd (0, 0, 255); + if (lstdin > 0) + { +--- 2325,2329 ---- + if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) + { +! lstdin = move_to_high_fd (0, 1, -1); + if (lstdin > 0) + { +*************** +*** 2252,2256 **** +--- 2371,2377 ---- + } + ++ #if defined (JOB_CONTROL) + discard_unwind_frame ("lastpipe-exec"); ++ #endif + + return (exec_result); + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 25 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-027 b/patches/source/bash/bash-4.2-patches/bash42-027 new file mode 100644 index 000000000..c0c5d3f80 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-027 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-027 + +Bug-Reported-by: Mike Frysinger +Bug-Reference-ID: <201204211243.30163.vapier@gentoo.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00134.html + +Bug-Description: + +When the `extglob' shell option is enabled, pattern substitution does not +work correctly in the presence of multibyte characters. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2012-03-11 17:52:57.000000000 -0400 +--- subst.c 2012-04-22 16:19:10.000000000 -0400 +*************** +*** 4167,4171 **** + #if defined (EXTENDED_GLOB) + if (extended_glob) +! simple |= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/ + #endif + +--- 4167,4171 ---- + #if defined (EXTENDED_GLOB) + if (extended_glob) +! simple &= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/ + #endif + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-028 b/patches/source/bash/bash-4.2-patches/bash42-028 new file mode 100644 index 000000000..fa3be3b48 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-028 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-028 + +Bug-Reported-by: Mark Edgar +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-03/msg00109.html + +Bug-Description: + +When using a word expansion for which the right hand side is evaluated, +certain expansions of quoted null strings include spurious ^? characters. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400 +--- subst.c 2012-03-20 19:30:13.000000000 -0400 +*************** +*** 5810,5813 **** +--- 5810,5823 ---- + if (qdollaratp && ((hasdol && quoted) || l->next)) + *qdollaratp = 1; ++ /* If we have a quoted null result (QUOTED_NULL(temp)) and the word is ++ a quoted null (l->next == 0 && QUOTED_NULL(l->word->word)), the ++ flags indicate it (l->word->flags & W_HASQUOTEDNULL), and the ++ expansion is quoted (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) ++ (which is more paranoia than anything else), we need to return the ++ quoted null string and set the flags to indicate it. */ ++ if (l->next == 0 && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && QUOTED_NULL(temp) && QUOTED_NULL(l->word->word) && (l->word->flags & W_HASQUOTEDNULL)) ++ { ++ w->flags |= W_HASQUOTEDNULL; ++ } + dispose_words (l); + } + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 28 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-029 b/patches/source/bash/bash-4.2-patches/bash42-029 new file mode 100644 index 000000000..c51704ca7 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-029 @@ -0,0 +1,524 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-029 + +Bug-Reported-by: "Michael Kalisz" +Bug-Reference-ID: <50241.78.69.11.112.1298585641.squirrel@kalisz.homelinux.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html + +Bug-Description: + +Bash-4.2 tries to leave completed directory names as the user typed them, +without expanding them to a full pathname. One effect of this is that +shell variables used in pathnames being completed (e.g., $HOME) are left +unchanged, but the `$' is quoted by readline because it is a special +character to the shell. + +This patch introduces two things: + +1. A new shell option, `direxpand', which, if set, attempts to emulate the + bash-4.1 behavior of expanding words to full pathnames during + completion; +2. A set of heuristics that reduce the number of times special characters + such as `$' are quoted when the directory name is not expanded. + +Patch (apply with `patch -p0'): + +diff -NrC 2 ../bash-4.2-patched/bashline.c ./bashline.c +*** ../bash-4.2-patched/bashline.c 2011-01-16 15:32:47.000000000 -0500 +--- ./bashline.c 2012-05-07 16:27:18.000000000 -0400 +*************** +*** 122,125 **** +--- 122,128 ---- + static int bash_push_line __P((void)); + ++ static rl_icppfunc_t *save_directory_hook __P((void)); ++ static void reset_directory_hook __P((rl_icppfunc_t *)); ++ + static void cleanup_expansion_error __P((void)); + static void maybe_make_readline_line __P((char *)); +*************** +*** 244,251 **** +--- 247,261 ---- + int dircomplete_spelling = 0; + ++ /* Expand directory names during word/filename completion. */ ++ int dircomplete_expand = 0; ++ int dircomplete_expand_relpath = 0; ++ + static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; + static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; + /* )) */ + ++ static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ ++ static char *custom_filename_quote_characters = 0; ++ + static rl_hook_func_t *old_rl_startup_hook = (rl_hook_func_t *)NULL; + +*************** +*** 502,506 **** + /* Tell the completer that we might want to follow symbolic links or + do other expansion on directory names. */ +! rl_directory_rewrite_hook = bash_directory_completion_hook; + + rl_filename_rewrite_hook = bash_filename_rewrite_hook; +--- 512,516 ---- + /* Tell the completer that we might want to follow symbolic links or + do other expansion on directory names. */ +! set_directory_hook (); + + rl_filename_rewrite_hook = bash_filename_rewrite_hook; +*************** +*** 530,534 **** + + /* characters that need to be quoted when appearing in filenames. */ +! rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ + + rl_filename_quoting_function = bash_quote_filename; +--- 540,544 ---- + + /* characters that need to be quoted when appearing in filenames. */ +! rl_filename_quote_characters = default_filename_quote_characters; + + rl_filename_quoting_function = bash_quote_filename; +*************** +*** 565,570 **** + rl_attempted_completion_function = attempt_shell_completion; + rl_completion_entry_function = NULL; +- rl_directory_rewrite_hook = bash_directory_completion_hook; + rl_ignore_some_completions_function = filename_completion_ignore; + } + +--- 575,582 ---- + rl_attempted_completion_function = attempt_shell_completion; + rl_completion_entry_function = NULL; + rl_ignore_some_completions_function = filename_completion_ignore; ++ rl_filename_quote_characters = default_filename_quote_characters; ++ ++ set_directory_hook (); + } + +*************** +*** 1280,1283 **** +--- 1292,1298 ---- + rl_ignore_some_completions_function = filename_completion_ignore; + ++ rl_filename_quote_characters = default_filename_quote_characters; ++ set_directory_hook (); ++ + /* Determine if this could be a command word. It is if it appears at + the start of the line (ignoring preceding whitespace), or if it +*************** +*** 1592,1595 **** +--- 1607,1616 ---- + else + { ++ if (dircomplete_expand && dot_or_dotdot (filename_hint)) ++ { ++ dircomplete_expand = 0; ++ set_directory_hook (); ++ dircomplete_expand = 1; ++ } + mapping_over = 4; + goto inner; +*************** +*** 1792,1795 **** +--- 1813,1819 ---- + inner: + val = rl_filename_completion_function (filename_hint, istate); ++ if (mapping_over == 4 && dircomplete_expand) ++ set_directory_hook (); ++ + istate = 1; + +*************** +*** 2694,2697 **** +--- 2718,2767 ---- + } + ++ /* Functions to save and restore the appropriate directory hook */ ++ /* This is not static so the shopt code can call it */ ++ void ++ set_directory_hook () ++ { ++ if (dircomplete_expand) ++ { ++ rl_directory_completion_hook = bash_directory_completion_hook; ++ rl_directory_rewrite_hook = (rl_icppfunc_t *)0; ++ } ++ else ++ { ++ rl_directory_rewrite_hook = bash_directory_completion_hook; ++ rl_directory_completion_hook = (rl_icppfunc_t *)0; ++ } ++ } ++ ++ static rl_icppfunc_t * ++ save_directory_hook () ++ { ++ rl_icppfunc_t *ret; ++ ++ if (dircomplete_expand) ++ { ++ ret = rl_directory_completion_hook; ++ rl_directory_completion_hook = (rl_icppfunc_t *)NULL; ++ } ++ else ++ { ++ ret = rl_directory_rewrite_hook; ++ rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL; ++ } ++ ++ return ret; ++ } ++ ++ static void ++ restore_directory_hook (hookf) ++ rl_icppfunc_t *hookf; ++ { ++ if (dircomplete_expand) ++ rl_directory_completion_hook = hookf; ++ else ++ rl_directory_rewrite_hook = hookf; ++ } ++ + /* Handle symbolic link references and other directory name + expansions while hacking completion. This should return 1 if it modifies +*************** +*** 2703,2720 **** + { + char *local_dirname, *new_dirname, *t; +! int return_value, should_expand_dirname; + WORD_LIST *wl; + struct stat sb; + +! return_value = should_expand_dirname = 0; + local_dirname = *dirname; + +! if (mbschr (local_dirname, '$')) +! should_expand_dirname = 1; + else + { + t = mbschr (local_dirname, '`'); + if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0) +! should_expand_dirname = 1; + } + +--- 2773,2801 ---- + { + char *local_dirname, *new_dirname, *t; +! int return_value, should_expand_dirname, nextch, closer; + WORD_LIST *wl; + struct stat sb; + +! return_value = should_expand_dirname = nextch = closer = 0; + local_dirname = *dirname; + +! if (t = mbschr (local_dirname, '$')) +! { +! should_expand_dirname = '$'; +! nextch = t[1]; +! /* Deliberately does not handle the deprecated $[...] arithmetic +! expansion syntax */ +! if (nextch == '(') +! closer = ')'; +! else if (nextch == '{') +! closer = '}'; +! else +! nextch = 0; +! } + else + { + t = mbschr (local_dirname, '`'); + if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0) +! should_expand_dirname = '`'; + } + +*************** +*** 2740,2743 **** +--- 2821,2841 ---- + dispose_words (wl); + local_dirname = *dirname; ++ /* XXX - change rl_filename_quote_characters here based on ++ should_expand_dirname/nextch/closer. This is the only place ++ custom_filename_quote_characters is modified. */ ++ if (rl_filename_quote_characters && *rl_filename_quote_characters) ++ { ++ int i, j, c; ++ i = strlen (default_filename_quote_characters); ++ custom_filename_quote_characters = xrealloc (custom_filename_quote_characters, i+1); ++ for (i = j = 0; c = default_filename_quote_characters[i]; i++) ++ { ++ if (c == should_expand_dirname || c == nextch || c == closer) ++ continue; ++ custom_filename_quote_characters[j++] = c; ++ } ++ custom_filename_quote_characters[j] = '\0'; ++ rl_filename_quote_characters = custom_filename_quote_characters; ++ } + } + else +*************** +*** 2759,2762 **** +--- 2857,2871 ---- + } + ++ /* no_symbolic_links == 0 -> use (default) logical view of the file system. ++ local_dirname[0] == '.' && local_dirname[1] == '/' means files in the ++ current directory (./). ++ local_dirname[0] == '.' && local_dirname[1] == 0 means relative pathnames ++ in the current directory (e.g., lib/sh). ++ XXX - should we do spelling correction on these? */ ++ ++ /* This is test as it was in bash-4.2: skip relative pathnames in current ++ directory. Change test to ++ (local_dirname[0] != '.' || (local_dirname[1] && local_dirname[1] != '/')) ++ if we want to skip paths beginning with ./ also. */ + if (no_symbolic_links == 0 && (local_dirname[0] != '.' || local_dirname[1])) + { +*************** +*** 2764,2767 **** +--- 2873,2885 ---- + int len1, len2; + ++ /* If we have a relative path ++ (local_dirname[0] != '/' && local_dirname[0] != '.') ++ that is canonical after appending it to the current directory, then ++ temp1 = temp2+'/' ++ That is, ++ strcmp (temp1, temp2) == 0 ++ after adding a slash to temp2 below. It should be safe to not ++ change those. ++ */ + t = get_working_directory ("symlink-hook"); + temp1 = make_absolute (local_dirname, t); +*************** +*** 2798,2802 **** + } + } +! return_value |= STREQ (local_dirname, temp2) == 0; + free (local_dirname); + *dirname = temp2; +--- 2916,2928 ---- + } + } +! +! /* dircomplete_expand_relpath == 0 means we want to leave relative +! pathnames that are unchanged by canonicalization alone. +! *local_dirname != '/' && *local_dirname != '.' == relative pathname +! (consistent with general.c:absolute_pathname()) +! temp1 == temp2 (after appending a slash to temp2) means the pathname +! is not changed by canonicalization as described above. */ +! if (dircomplete_expand_relpath || ((local_dirname[0] != '/' && local_dirname[0] != '.') && STREQ (temp1, temp2) == 0)) +! return_value |= STREQ (local_dirname, temp2) == 0; + free (local_dirname); + *dirname = temp2; +*************** +*** 3003,3012 **** + orig_func = rl_completion_entry_function; + orig_attempt_func = rl_attempted_completion_function; +- orig_dir_func = rl_directory_rewrite_hook; + orig_ignore_func = rl_ignore_some_completions_function; + orig_rl_completer_word_break_characters = rl_completer_word_break_characters; + rl_completion_entry_function = rl_filename_completion_function; + rl_attempted_completion_function = (rl_completion_func_t *)NULL; +- rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL; + rl_ignore_some_completions_function = filename_completion_ignore; + rl_completer_word_break_characters = " \t\n\"\'"; +--- 3129,3139 ---- + orig_func = rl_completion_entry_function; + orig_attempt_func = rl_attempted_completion_function; + orig_ignore_func = rl_ignore_some_completions_function; + orig_rl_completer_word_break_characters = rl_completer_word_break_characters; ++ ++ orig_dir_func = save_directory_hook (); ++ + rl_completion_entry_function = rl_filename_completion_function; + rl_attempted_completion_function = (rl_completion_func_t *)NULL; + rl_ignore_some_completions_function = filename_completion_ignore; + rl_completer_word_break_characters = " \t\n\"\'"; +*************** +*** 3016,3023 **** + rl_completion_entry_function = orig_func; + rl_attempted_completion_function = orig_attempt_func; +- rl_directory_rewrite_hook = orig_dir_func; + rl_ignore_some_completions_function = orig_ignore_func; + rl_completer_word_break_characters = orig_rl_completer_word_break_characters; + + return r; + } +--- 3143,3151 ---- + rl_completion_entry_function = orig_func; + rl_attempted_completion_function = orig_attempt_func; + rl_ignore_some_completions_function = orig_ignore_func; + rl_completer_word_break_characters = orig_rl_completer_word_break_characters; + ++ restore_directory_hook (orig_dir_func); ++ + return r; + } +diff -NrC 2 ../bash-4.2-patched/bashline.h ./bashline.h +*** ../bash-4.2-patched/bashline.h 2009-01-04 14:32:22.000000000 -0500 +--- ./bashline.h 2012-05-07 16:27:18.000000000 -0400 +*************** +*** 34,41 **** +--- 34,46 ---- + extern int bash_re_edit __P((char *)); + ++ extern void bashline_set_event_hook __P((void)); ++ extern void bashline_reset_event_hook __P((void)); ++ + extern int bind_keyseq_to_unix_command __P((char *)); + + extern char **bash_default_completion __P((const char *, int, int, int, int)); + ++ void set_directory_hook __P((void)); ++ + /* Used by programmable completion code. */ + extern char *command_word_completion_function __P((const char *, int)); +diff -NrC 2 ../bash-4.2-patched/builtins/shopt.def ./builtins/shopt.def +*** ../bash-4.2-patched/builtins/shopt.def 2010-07-02 22:42:44.000000000 -0400 +--- ./builtins/shopt.def 2012-05-07 16:27:18.000000000 -0400 +*************** +*** 62,65 **** +--- 62,69 ---- + #include "bashgetopt.h" + ++ #if defined (READLINE) ++ # include "../bashline.h" ++ #endif ++ + #if defined (HISTORY) + # include "../bashhist.h" +*************** +*** 95,99 **** + extern int no_empty_command_completion; + extern int force_fignore; +! extern int dircomplete_spelling; + + extern int enable_hostname_completion __P((int)); +--- 99,103 ---- + extern int no_empty_command_completion; + extern int force_fignore; +! extern int dircomplete_spelling, dircomplete_expand; + + extern int enable_hostname_completion __P((int)); +*************** +*** 122,125 **** +--- 126,133 ---- + #endif + ++ #if defined (READLINE) ++ static int shopt_set_complete_direxpand __P((char *, int)); ++ #endif ++ + static int shopt_login_shell; + static int shopt_compat31; +*************** +*** 151,154 **** +--- 159,163 ---- + { "compat41", &shopt_compat41, set_compatibility_level }, + #if defined (READLINE) ++ { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand }, + { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL }, + #endif +*************** +*** 536,539 **** +--- 545,559 ---- + } + ++ #if defined (READLINE) ++ static int ++ shopt_set_complete_direxpand (option_name, mode) ++ char *option_name; ++ int mode; ++ { ++ set_directory_hook (); ++ return 0; ++ } ++ #endif ++ + #if defined (RESTRICTED_SHELL) + /* Don't allow the value of restricted_shell to be modified. */ +Binary files ../bash-4.2-patched/doc/._bashref.pdf and ./doc/._bashref.pdf differ +diff -NrC 2 ../bash-4.2-patched/doc/bash.1 ./doc/bash.1 +*** ../bash-4.2-patched/doc/bash.1 2011-01-16 15:31:39.000000000 -0500 +--- ./doc/bash.1 2012-05-07 16:27:18.000000000 -0400 +*************** +*** 8949,8952 **** +--- 8949,8962 ---- + The default bash behavior remains as in previous versions. + .TP 8 ++ .B direxpand ++ If set, ++ .B bash ++ replaces directory names with the results of word expansion when performing ++ filename completion. This changes the contents of the readline editing ++ buffer. ++ If not set, ++ .B bash ++ attempts to preserve what the user typed. ++ .TP 8 + .B dirspell + If set, +diff -NrC 2 ../bash-4.2-patched/doc/bashref.texi ./doc/bashref.texi +*** ../bash-4.2-patched/doc/bashref.texi 2011-01-16 15:31:57.000000000 -0500 +--- ./doc/bashref.texi 2012-05-07 16:27:18.000000000 -0400 +*************** +*** 4536,4539 **** +--- 4536,4546 ---- + The default Bash behavior remains as in previous versions. + ++ @item direxpand ++ If set, Bash ++ replaces directory names with the results of word expansion when performing ++ filename completion. This changes the contents of the readline editing ++ buffer. ++ If not set, Bash attempts to preserve what the user typed. ++ + @item dirspell + If set, Bash +diff -NrC 2 ../bash-4.2-patched/tests/shopt.right ./tests/shopt.right +*** ../bash-4.2-patched/tests/shopt.right 2010-07-02 23:36:30.000000000 -0400 +--- ./tests/shopt.right 2012-05-07 16:27:18.000000000 -0400 +*************** +*** 13,16 **** +--- 13,17 ---- + shopt -u compat40 + shopt -u compat41 ++ shopt -u direxpand + shopt -u dirspell + shopt -u dotglob +*************** +*** 69,72 **** +--- 70,74 ---- + shopt -u compat40 + shopt -u compat41 ++ shopt -u direxpand + shopt -u dirspell + shopt -u dotglob +*************** +*** 102,105 **** +--- 104,108 ---- + compat40 off + compat41 off ++ direxpand off + dirspell off + dotglob off +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 28 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-030 b/patches/source/bash/bash-4.2-patches/bash42-030 new file mode 100644 index 000000000..261a619bb --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-030 @@ -0,0 +1,178 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-030 + +Bug-Reported-by: Roman Rakus +Bug-Reference-ID: <4D7DD91E.7040808@redhat.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00126.html + +Bug-Description: + +When attempting to glob strings in a multibyte locale, and those strings +contain invalid multibyte characters that cause mbsnrtowcs to return 0, +the globbing code loops infinitely. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2010-05-30 18:36:27.000000000 -0400 +--- lib/glob/xmbsrtowcs.c 2011-03-22 16:06:47.000000000 -0400 +*************** +*** 36,39 **** +--- 36,41 ---- + #if HANDLE_MULTIBYTE + ++ #define WSBUF_INC 32 ++ + #ifndef FREE + # define FREE(x) do { if (x) free (x); } while (0) +*************** +*** 149,153 **** + size_t wcnum; /* Number of wide characters in WSBUF */ + mbstate_t state; /* Conversion State */ +! size_t wcslength; /* Number of wide characters produced by the conversion. */ + const char *end_or_backslash; + size_t nms; /* Number of multibyte characters to convert at one time. */ +--- 151,155 ---- + size_t wcnum; /* Number of wide characters in WSBUF */ + mbstate_t state; /* Conversion State */ +! size_t n, wcslength; /* Number of wide characters produced by the conversion. */ + const char *end_or_backslash; + size_t nms; /* Number of multibyte characters to convert at one time. */ +*************** +*** 172,176 **** + tmp_p = p; + tmp_state = state; +! wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state); + + /* Conversion failed. */ +--- 174,189 ---- + tmp_p = p; + tmp_state = state; +! +! if (nms == 0 && *p == '\\') /* special initial case */ +! nms = wcslength = 1; +! else +! wcslength = mbsnrtowcs (NULL, &tmp_p, nms, 0, &tmp_state); +! +! if (wcslength == 0) +! { +! tmp_p = p; /* will need below */ +! tmp_state = state; +! wcslength = 1; /* take a single byte */ +! } + + /* Conversion failed. */ +*************** +*** 187,191 **** + wchar_t *wstmp; + +! wsbuf_size = wcnum+wcslength+1; /* 1 for the L'\0' or the potential L'\\' */ + + wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); +--- 200,205 ---- + wchar_t *wstmp; + +! while (wsbuf_size < wcnum+wcslength+1) /* 1 for the L'\0' or the potential L'\\' */ +! wsbuf_size += WSBUF_INC; + + wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); +*************** +*** 200,207 **** + + /* Perform the conversion. This is assumed to return 'wcslength'. +! * It may set 'p' to NULL. */ +! mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); + +! wcnum += wcslength; + + if (mbsinit (&state) && (p != NULL) && (*p == '\\')) +--- 214,229 ---- + + /* Perform the conversion. This is assumed to return 'wcslength'. +! It may set 'p' to NULL. */ +! n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); + +! /* Compensate for taking single byte on wcs conversion failure above. */ +! if (wcslength == 1 && (n == 0 || n == (size_t)-1)) +! { +! state = tmp_state; +! p = tmp_p; +! wsbuf[wcnum++] = *p++; +! } +! else +! wcnum += wcslength; + + if (mbsinit (&state) && (p != NULL) && (*p == '\\')) +*************** +*** 231,236 **** + of DESTP and INDICESP are NULL. */ + +- #define WSBUF_INC 32 +- + size_t + xdupmbstowcs (destp, indicesp, src) +--- 253,256 ---- +*** ../bash-4.2-patched/lib/glob/glob.c 2009-11-14 18:39:30.000000000 -0500 +--- lib/glob/glob.c 2012-07-07 12:09:56.000000000 -0400 +*************** +*** 201,206 **** + size_t pat_n, dn_n; + + pat_n = xdupmbstowcs (&pat_wc, NULL, pat); +! dn_n = xdupmbstowcs (&dn_wc, NULL, dname); + + ret = 0; +--- 201,209 ---- + size_t pat_n, dn_n; + ++ pat_wc = dn_wc = (wchar_t *)NULL; ++ + pat_n = xdupmbstowcs (&pat_wc, NULL, pat); +! if (pat_n != (size_t)-1) +! dn_n = xdupmbstowcs (&dn_wc, NULL, dname); + + ret = 0; +*************** +*** 222,225 **** +--- 225,230 ---- + ret = 1; + } ++ else ++ ret = skipname (pat, dname, flags); + + FREE (pat_wc); +*************** +*** 267,272 **** + n = xdupmbstowcs (&wpathname, NULL, pathname); + if (n == (size_t) -1) +! /* Something wrong. */ +! return; + orig_wpathname = wpathname; + +--- 272,280 ---- + n = xdupmbstowcs (&wpathname, NULL, pathname); + if (n == (size_t) -1) +! { +! /* Something wrong. Fall back to single-byte */ +! udequote_pathname (pathname); +! return; +! } + orig_wpathname = wpathname; + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-031 b/patches/source/bash/bash-4.2-patches/bash42-031 new file mode 100644 index 000000000..419d4478e --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-031 @@ -0,0 +1,80 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-031 + +Bug-Reported-by: Max Horn +Bug-Reference-ID: <20CC5C60-07C3-4E41-9817-741E48D407C5@quendi.de> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html + +Bug-Description: + +A change between bash-4.1 and bash-4.2 to prevent the readline input hook +from being called too frequently had the side effect of causing delays +when reading pasted input on systems such as Mac OS X. This patch fixes +those delays while retaining the bash-4.2 behavior. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/readline/input.c 2010-05-30 18:33:01.000000000 -0400 +--- lib/readline/input.c 2012-06-25 21:08:42.000000000 -0400 +*************** +*** 410,414 **** + rl_read_key () + { +! int c; + + rl_key_sequence_length++; +--- 412,416 ---- + rl_read_key () + { +! int c, r; + + rl_key_sequence_length++; +*************** +*** 430,441 **** + while (rl_event_hook) + { +! if (rl_gather_tyi () < 0) /* XXX - EIO */ + { + rl_done = 1; + return ('\n'); + } + RL_CHECK_SIGNALS (); +- if (rl_get_char (&c) != 0) +- break; + if (rl_done) /* XXX - experimental */ + return ('\n'); +--- 432,447 ---- + while (rl_event_hook) + { +! if (rl_get_char (&c) != 0) +! break; +! +! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */ + { + rl_done = 1; + return ('\n'); + } ++ else if (r == 1) /* read something */ ++ continue; ++ + RL_CHECK_SIGNALS (); + if (rl_done) /* XXX - experimental */ + return ('\n'); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-032 b/patches/source/bash/bash-4.2-patches/bash42-032 new file mode 100644 index 000000000..d4f25ca03 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-032 @@ -0,0 +1,75 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-032 + +Bug-Reported-by: Ruediger Kuhlmann +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00010.html + +Bug-Description: + +Bash-4.2 has problems with DEL characters in the expanded value of variables +used in the same quoted string as variables that expand to nothing. + +Patch (apply with `patch -p0'): + +*** ../bash-20120427/subst.c 2012-04-22 16:19:10.000000000 -0400 +--- subst.c 2012-05-07 16:06:35.000000000 -0400 +*************** +*** 8152,8155 **** +--- 8152,8163 ---- + dispose_word_desc (tword); + ++ /* Kill quoted nulls; we will add them back at the end of ++ expand_word_internal if nothing else in the string */ ++ if (had_quoted_null && temp && QUOTED_NULL (temp)) ++ { ++ FREE (temp); ++ temp = (char *)NULL; ++ } ++ + goto add_string; + break; +*************** +*** 8556,8560 **** + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + tword->flags |= W_QUOTED; +! if (had_quoted_null) + tword->flags |= W_HASQUOTEDNULL; + list = make_word_list (tword, (WORD_LIST *)NULL); +--- 8564,8568 ---- + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + tword->flags |= W_QUOTED; +! if (had_quoted_null && QUOTED_NULL (istring)) + tword->flags |= W_HASQUOTEDNULL; + list = make_word_list (tword, (WORD_LIST *)NULL); +*************** +*** 8587,8591 **** + if (word->flags & W_NOEXPAND) + tword->flags |= W_NOEXPAND; +! if (had_quoted_null) + tword->flags |= W_HASQUOTEDNULL; /* XXX */ + list = make_word_list (tword, (WORD_LIST *)NULL); +--- 8595,8599 ---- + if (word->flags & W_NOEXPAND) + tword->flags |= W_NOEXPAND; +! if (had_quoted_null && QUOTED_NULL (istring)) + tword->flags |= W_HASQUOTEDNULL; /* XXX */ + list = make_word_list (tword, (WORD_LIST *)NULL); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-033 b/patches/source/bash/bash-4.2-patches/bash42-033 new file mode 100644 index 000000000..e58d7286e --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-033 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-033 + +Bug-Reported-by: David Leverton +Bug-Reference-ID: <4FCCE737.1060603@googlemail.com> +Bug-Reference-URL: + +Bug-Description: + +Bash uses a static buffer when expanding the /dev/fd prefix for the test +and conditional commands, among other uses, when it should use a dynamic +buffer to avoid buffer overflow. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/sh/eaccess.c 2011-01-08 20:50:10.000000000 -0500 +--- lib/sh/eaccess.c 2012-06-04 21:06:43.000000000 -0400 +*************** +*** 83,86 **** +--- 83,88 ---- + struct stat *finfo; + { ++ static char *pbuf = 0; ++ + if (*path == '\0') + { +*************** +*** 107,111 **** + On most systems, with the notable exception of linux, this is + effectively a no-op. */ +! char pbuf[32]; + strcpy (pbuf, DEV_FD_PREFIX); + strcat (pbuf, path + 8); +--- 109,113 ---- + On most systems, with the notable exception of linux, this is + effectively a no-op. */ +! pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8)); + strcpy (pbuf, DEV_FD_PREFIX); + strcat (pbuf, path + 8); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-034 b/patches/source/bash/bash-4.2-patches/bash42-034 new file mode 100644 index 000000000..e4f05e103 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-034 @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-034 + +Bug-Reported-by: "Davide Brini" +Bug-Reference-ID: <20120604164154.69781EC04B@imaps.oficinas.atrapalo.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00030.html + +Bug-Description: + +In bash-4.2, the history code would inappropriately add a semicolon to +multi-line compound array assignments when adding them to the history. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/parse.y 2011-11-21 18:03:36.000000000 -0500 +--- parse.y 2012-06-07 12:48:47.000000000 -0400 +*************** +*** 4900,4905 **** +--- 4916,4924 ---- + return (current_command_line_count == 2 ? "\n" : ""); + } + ++ if (parser_state & PST_COMPASSIGN) ++ return (" "); ++ + /* First, handle some special cases. */ + /*(*/ + /* If we just read `()', assume it's a function definition, and don't +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-035 b/patches/source/bash/bash-4.2-patches/bash42-035 new file mode 100644 index 000000000..6f0be6f90 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-035 @@ -0,0 +1,66 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-035 + +Bug-Reported-by: Dan Douglas +Bug-Reference-ID: <2766482.Ksm3GrSoYi@smorgbox> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00071.html + +Bug-Description: + +When given a number of lines to read, `mapfile -n lines' reads one too many. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/mapfile.def 2010-05-29 22:09:47.000000000 -0400 +--- builtins/mapfile.def 2012-06-20 09:48:33.000000000 -0400 +*************** +*** 196,206 **** + interrupt_immediately++; + for (array_index = origin, line_count = 1; +! zgetline (fd, &line, &line_length, unbuffered_read) != -1; +! array_index++, line_count++) + { +- /* Have we exceeded # of lines to store? */ +- if (line_count_goal != 0 && line_count > line_count_goal) +- break; +- + /* Remove trailing newlines? */ + if (flags & MAPF_CHOP) +--- 196,202 ---- + interrupt_immediately++; + for (array_index = origin, line_count = 1; +! zgetline (fd, &line, &line_length, unbuffered_read) != -1; +! array_index++) + { + /* Remove trailing newlines? */ + if (flags & MAPF_CHOP) +*************** +*** 218,221 **** +--- 214,222 ---- + + bind_array_element (entry, array_index, line, 0); ++ ++ /* Have we exceeded # of lines to store? */ ++ line_count++; ++ if (line_count_goal != 0 && line_count > line_count_goal) ++ break; + } + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-036 b/patches/source/bash/bash-4.2-patches/bash42-036 new file mode 100644 index 000000000..73fac408a --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-036 @@ -0,0 +1,92 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-036 + +Bug-Reported-by: gregrwm +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00108.html + +Bug-Description: + +Bash-4.2 produces incorrect word splitting results when expanding +double-quoted $@ in the same string as and adjacent to other variable +expansions. The $@ should be split, the other expansions should not. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2012-05-02 12:02:33.000000000 -0400 +--- subst.c 2012-07-08 21:19:32.000000000 -0400 +*************** +*** 7923,7927 **** + /* State flags */ + int had_quoted_null; +! int has_dollar_at; + int tflag; + int pflags; /* flags passed to param_expand */ +--- 7923,7927 ---- + /* State flags */ + int had_quoted_null; +! int has_dollar_at, temp_has_dollar_at; + int tflag; + int pflags; /* flags passed to param_expand */ +*************** +*** 8128,8138 **** + *expanded_something = 1; + +! has_dollar_at = 0; + pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0; + if (word->flags & W_NOSPLIT2) + pflags |= PF_NOSPLIT2; + tword = param_expand (string, &sindex, quoted, expanded_something, +! &has_dollar_at, "ed_dollar_at, + &had_quoted_null, pflags); + + if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) +--- 8128,8139 ---- + *expanded_something = 1; + +! temp_has_dollar_at = 0; + pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0; + if (word->flags & W_NOSPLIT2) + pflags |= PF_NOSPLIT2; + tword = param_expand (string, &sindex, quoted, expanded_something, +! &temp_has_dollar_at, "ed_dollar_at, + &had_quoted_null, pflags); ++ has_dollar_at += temp_has_dollar_at; + + if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) +*************** +*** 8275,8281 **** + temp = (char *)NULL; + +! has_dollar_at = 0; + /* Need to get W_HASQUOTEDNULL flag through this function. */ +! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &has_dollar_at, (int *)NULL); + + if (list == &expand_word_error || list == &expand_word_fatal) +--- 8276,8283 ---- + temp = (char *)NULL; + +! temp_has_dollar_at = 0; /* XXX */ + /* Need to get W_HASQUOTEDNULL flag through this function. */ +! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &temp_has_dollar_at, (int *)NULL); +! has_dollar_at += temp_has_dollar_at; + + if (list == &expand_word_error || list == &expand_word_fatal) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-037 b/patches/source/bash/bash-4.2-patches/bash42-037 new file mode 100644 index 000000000..a12b8a7ee --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-037 @@ -0,0 +1,112 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-037 + +Bug-Reported-by: Jakub Filak +Bug-Reference-ID: +Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=813289 + +Bug-Description: + +Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy' +commands leads to an infinite loop. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/readline/vi_mode.c 2011-02-25 11:17:02.000000000 -0500 +--- lib/readline/vi_mode.c 2012-06-02 12:24:47.000000000 -0400 +*************** +*** 1235,1243 **** + r = rl_domove_motion_callback (_rl_vimvcxt); + } +! else if (vi_redoing) + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } + #if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) +--- 1297,1313 ---- + r = rl_domove_motion_callback (_rl_vimvcxt); + } +! else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */ + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } ++ else if (vi_redoing) /* handle redoing `dd' here */ ++ { ++ _rl_vimvcxt->motion = _rl_vi_last_motion; ++ rl_mark = rl_end; ++ rl_beg_of_line (1, key); ++ RL_UNSETSTATE (RL_STATE_VIMOTION); ++ r = vidomove_dispatch (_rl_vimvcxt); ++ } + #if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) +*************** +*** 1317,1325 **** + r = rl_domove_motion_callback (_rl_vimvcxt); + } +! else if (vi_redoing) + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } + #if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) +--- 1387,1403 ---- + r = rl_domove_motion_callback (_rl_vimvcxt); + } +! else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */ + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } ++ else if (vi_redoing) /* handle redoing `cc' here */ ++ { ++ _rl_vimvcxt->motion = _rl_vi_last_motion; ++ rl_mark = rl_end; ++ rl_beg_of_line (1, key); ++ RL_UNSETSTATE (RL_STATE_VIMOTION); ++ r = vidomove_dispatch (_rl_vimvcxt); ++ } + #if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) +*************** +*** 1378,1381 **** +--- 1456,1472 ---- + r = rl_domove_motion_callback (_rl_vimvcxt); + } ++ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */ ++ { ++ _rl_vimvcxt->motion = _rl_vi_last_motion; ++ r = rl_domove_motion_callback (_rl_vimvcxt); ++ } ++ else if (vi_redoing) /* handle redoing `yy' here */ ++ { ++ _rl_vimvcxt->motion = _rl_vi_last_motion; ++ rl_mark = rl_end; ++ rl_beg_of_line (1, key); ++ RL_UNSETSTATE (RL_STATE_VIMOTION); ++ r = vidomove_dispatch (_rl_vimvcxt); ++ } + #if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-038 b/patches/source/bash/bash-4.2-patches/bash42-038 new file mode 100644 index 000000000..411e4dd54 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-038 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-038 + +Bug-Reported-by: armandsl@gmail.com +Bug-Reference-ID: <20120822112810.8D14920040@windmill.latviatours.lv> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-08/msg00049.html + +Bug-Description: + +If a backslash-newline (which is removed) with no other input is given as +input to `read', the shell tries to dereference a null pointer and seg faults. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/read.def 2012-03-11 17:52:44.000000000 -0400 +--- builtins/read.def 2012-08-22 11:53:09.000000000 -0400 +*************** +*** 792,796 **** + #endif + +! if (saw_escape) + { + t = dequote_string (input_string); +--- 847,851 ---- + #endif + +! if (saw_escape && input_string && *input_string) + { + t = dequote_string (input_string); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-039 b/patches/source/bash/bash-4.2-patches/bash42-039 new file mode 100644 index 000000000..21457af12 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-039 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-039 + +Bug-Reported-by: Dan Douglas +Bug-Reference-ID: <1498458.MpVlmOXDB7@smorgbox> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-09/msg00008.html + +Bug-Description: + +Under certain circumstances, bash attempts to expand variables in arithmetic +expressions even when evaluation is being suppressed. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/expr.c 2011-11-21 18:03:35.000000000 -0500 +--- expr.c 2012-09-09 16:31:18.000000000 -0400 +*************** +*** 1010,1013 **** +--- 1073,1082 ---- + #endif + ++ /*itrace("expr_streval: %s: noeval = %d", tok, noeval);*/ ++ /* If we are suppressing evaluation, just short-circuit here instead of ++ going through the rest of the evaluator. */ ++ if (noeval) ++ return (0); ++ + /* [[[[[ */ + #if defined (ARRAY_VARS) +*************** +*** 1183,1186 **** +--- 1256,1263 ---- + + *cp = '\0'; ++ /* XXX - watch out for pointer aliasing issues here */ ++ if (curlval.tokstr && curlval.tokstr == tokstr) ++ init_lvalue (&curlval); ++ + FREE (tokstr); + tokstr = savestring (tp); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-040 b/patches/source/bash/bash-4.2-patches/bash42-040 new file mode 100644 index 000000000..1de0fe370 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-040 @@ -0,0 +1,56 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-040 + +Bug-Reported-by: Andrey Zaitsev +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html + +Bug-Description: + +Output redirection applied to builtin commands missed I/O errors if +they happened when the file descriptor was closed, rather than on write +(e.g., like with an out-of-space error on a remote NFS file system). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/redir.c 2011-01-02 16:00:31.000000000 -0500 +--- redir.c 2012-04-24 20:42:12.000000000 -0400 +*************** +*** 1092,1099 **** + #if defined (BUFFERED_INPUT) + check_bash_input (redirector); +! close_buffered_fd (redirector); + #else /* !BUFFERED_INPUT */ +! close (redirector); + #endif /* !BUFFERED_INPUT */ + } + break; +--- 1092,1101 ---- + #if defined (BUFFERED_INPUT) + check_bash_input (redirector); +! r = close_buffered_fd (redirector); + #else /* !BUFFERED_INPUT */ +! r = close (redirector); + #endif /* !BUFFERED_INPUT */ ++ if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC)) ++ REDIRECTION_ERROR (r, errno, -1); + } + break; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-041 b/patches/source/bash/bash-4.2-patches/bash42-041 new file mode 100644 index 000000000..37d4ac704 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-041 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-041 + +Bug-Reported-by: Andrey Borzenkov +Bug-Reference-ID: <20121202205200.2134478e@opensuse.site> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html + +Bug-Description: + +Process substitution incorrectly inherited a flag that inhibited using the +(local) temporary environment for variable lookups if it was providing +the filename to a redirection. The intent the flag is to enforce the +Posix command expansion ordering rules. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2012-07-14 15:53:20.000000000 -0400 +--- subst.c 2012-12-02 22:26:54.000000000 -0500 +*************** +*** 5125,5128 **** +--- 5129,5136 ---- + #endif /* HAVE_DEV_FD */ + ++ /* subshells shouldn't have this flag, which controls using the temporary ++ environment for variable lookups. */ ++ expanding_redir = 0; ++ + result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST)); + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-042 b/patches/source/bash/bash-4.2-patches/bash42-042 new file mode 100644 index 000000000..1ce0cae30 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-042 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-042 + +Bug-Reported-by: Adam Pippin +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00087.html + +Bug-Description: + +Compilation failed after specifying the `--enable-minimal-config' option to +configure (more specifically, specifying `--disable-alias'). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/parse.y 2012-07-08 21:53:33.000000000 -0400 +--- parse.y 2012-10-14 20:20:34.000000000 -0400 +*************** +*** 2394,2397 **** +--- 2392,2396 ---- + to consume the quoted newline and move to the next character in + the expansion. */ ++ #if defined (ALIAS) + if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0') + { +*************** +*** 2404,2408 **** + goto next_alias_char; /* and get next character */ + } +! else + goto restart_read; + } +--- 2403,2408 ---- + goto next_alias_char; /* and get next character */ + } +! else +! #endif + goto restart_read; + } + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-043 b/patches/source/bash/bash-4.2-patches/bash42-043 new file mode 100644 index 000000000..b25a5ee38 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-043 @@ -0,0 +1,65 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-043 + +Bug-Reported-by: konsolebox +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-01/msg00138.html + +Bug-Description: + +When SIGCHLD is trapped, and a SIGCHLD trap handler runs when a pending +`read -t' invocation times out and generates SIGALRM, bash can crash with +a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/read.def 2012-10-31 21:22:51.000517000 -0400 +--- builtins/read.def 2013-01-25 10:28:16.000038000 -0500 +*************** +*** 386,393 **** + /* Tricky. The top of the unwind-protect stack is the free of + input_string. We want to run all the rest and use input_string, +! so we have to remove it from the stack. */ +! remove_unwind_protect (); +! run_unwind_frame ("read_builtin"); + input_string[i] = '\0'; /* make sure it's terminated */ + retval = 128+SIGALRM; + goto assign_vars; +--- 386,403 ---- + /* Tricky. The top of the unwind-protect stack is the free of + input_string. We want to run all the rest and use input_string, +! so we have to save input_string temporarily, run the unwind- +! protects, then restore input_string so we can use it later. */ +! + input_string[i] = '\0'; /* make sure it's terminated */ ++ if (i == 0) ++ { ++ t = (char *)xmalloc (1); ++ t[0] = 0; ++ } ++ else ++ t = savestring (input_string); ++ ++ run_unwind_frame ("read_builtin"); ++ input_string = t; + retval = 128+SIGALRM; + goto assign_vars; + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-044 b/patches/source/bash/bash-4.2-patches/bash42-044 new file mode 100644 index 000000000..e5bf28323 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-044 @@ -0,0 +1,70 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-044 + +Bug-Reported-by: "Dashing" +Bug-Reference-ID: <20130211175049.D90786F446@smtp.hushmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00030.html + +Bug-Description: + +When converting a multibyte string to a wide character string as part of +pattern matching, bash does not handle the end of the string correctly, +causing the search for the NUL to go beyond the end of the string and +reference random memory. Depending on the contents of that memory, bash +can produce errors or crash. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2012-07-08 21:53:19.000000000 -0400 +--- lib/glob/xmbsrtowcs.c 2013-02-12 12:00:39.000000000 -0500 +*************** +*** 217,220 **** +--- 217,226 ---- + n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); + ++ if (n == 0 && p == 0) ++ { ++ wsbuf[wcnum] = L'\0'; ++ break; ++ } ++ + /* Compensate for taking single byte on wcs conversion failure above. */ + if (wcslength == 1 && (n == 0 || n == (size_t)-1)) +*************** +*** 222,226 **** + state = tmp_state; + p = tmp_p; +! wsbuf[wcnum++] = *p++; + } + else +--- 228,238 ---- + state = tmp_state; + p = tmp_p; +! wsbuf[wcnum] = *p; +! if (*p == 0) +! break; +! else +! { +! wcnum++; p++; +! } + } + else + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-045 b/patches/source/bash/bash-4.2-patches/bash42-045 new file mode 100644 index 000000000..e0f8559ec --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-045 @@ -0,0 +1,53 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-045 + +Bug-Reported-by: Stephane Chazelas +Bug-Reference-ID: <20130218195539.GA9620@chaz.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00080.html + +Bug-Description: + +The <&n- and >&n- redirections, which move one file descriptor to another, +leave the file descriptor closed when applied to builtins or compound +commands. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/redir.c 2013-01-30 11:56:09.000000000 -0500 +--- redir.c 2013-02-19 09:38:36.000000000 -0500 +*************** +*** 1008,1011 **** +--- 1008,1021 ---- + REDIRECTION_ERROR (r, errno, -1); + } ++ if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output)) ++ { ++ /* r_move_input and r_move_output add an additional close() ++ that needs to be undone */ ++ if (fcntl (redirector, F_GETFD, 0) != -1) ++ { ++ r = add_undo_redirect (redir_fd, r_close_this, -1); ++ REDIRECTION_ERROR (r, errno, -1); ++ } ++ } + #if defined (BUFFERED_INPUT) + check_bash_input (redirector); + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-046 b/patches/source/bash/bash-4.2-patches/bash42-046 new file mode 100644 index 000000000..03a489e98 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-046 @@ -0,0 +1,55 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-046 + +Bug-Reported-by: "Theodoros V. Kalamatianos" +Bug-Reference-ID: <20140112011131.GE17667@infinity.metashade.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-01/msg00044.html + +Bug-Description: + +Bash-4.2 patch 32 introduced a problem with "$@" and arrays expanding empty +positional parameters or array elements when using substring expansion, +pattern substitution, or case modfication. The empty parameters or array +elements are removed instead of expanding to empty strings (""). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2012-12-31 11:52:56.000000000 -0500 +--- subst.c 2014-03-31 14:19:56.000000000 -0400 +*************** +*** 7243,7247 **** + ret = alloc_word_desc (); + ret->word = temp1; +! if (temp1 && QUOTED_NULL (temp1) && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + ret->flags |= W_QUOTED|W_HASQUOTEDNULL; + return ret; +--- 7243,7253 ---- + ret = alloc_word_desc (); + ret->word = temp1; +! /* We test quoted_dollar_atp because we want variants with double-quoted +! "$@" to take a different code path. In fact, we make sure at the end +! of expand_word_internal that we're only looking at these flags if +! quoted_dollar_at == 0. */ +! if (temp1 && +! (quoted_dollar_atp == 0 || *quoted_dollar_atp == 0) && +! QUOTED_NULL (temp1) && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + ret->flags |= W_QUOTED|W_HASQUOTEDNULL; + return ret; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-047 b/patches/source/bash/bash-4.2-patches/bash42-047 new file mode 100644 index 000000000..65aff1c1b --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-047 @@ -0,0 +1,49 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-047 + +Bug-Reported-by: Matthew Riley +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-03/msg00047.html + +Bug-Description: + +The function that shortens pathnames for $PS1 according to the value of +$PROMPT_DIRTRIM uses memcpy on potentially-overlapping regions of memory, +when it should use memmove. The result is garbled pathnames in prompt +strings. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/general.c 2010-12-12 15:06:27.000000000 -0500 +--- general.c 2014-01-30 16:46:15.000000000 -0500 +*************** +*** 767,771 **** + + nlen = nend - ntail; +! memcpy (nbeg, ntail, nlen); + nbeg[nlen] = '\0'; + +--- 767,771 ---- + + nlen = nend - ntail; +! memmove (nbeg, ntail, nlen); + nbeg[nlen] = '\0'; + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-048 b/patches/source/bash/bash-4.2-patches/bash42-048 new file mode 100644 index 000000000..d6097fbb2 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-048 @@ -0,0 +1,104 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-048 + +Bug-Reported-by: Stephane Chazelas +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +Under certain circumstances, bash will execute user code while processing the +environment for exported function definitions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2.47/builtins/common.h 2010-05-30 18:31:51.000000000 -0400 +--- builtins/common.h 2014-09-16 19:35:45.000000000 -0400 +*************** +*** 36,39 **** +--- 36,41 ---- + + /* Flags for describe_command, shared between type.def and command.def */ ++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ ++ #define SEVAL_ONECMD 0x100 /* only allow a single command */ + #define CDESC_ALL 0x001 /* type -a */ + #define CDESC_SHORTDESC 0x002 /* command -V */ +*** ../bash-4.2.47/builtins/evalstring.c 2010-11-23 08:22:15.000000000 -0500 +--- builtins/evalstring.c 2014-09-16 19:35:45.000000000 -0400 +*************** +*** 262,265 **** +--- 262,273 ---- + struct fd_bitmap *bitmap; + ++ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) ++ { ++ internal_warning ("%s: ignoring function definition attempt", from_file); ++ should_jump_to_top_level = 0; ++ last_result = last_command_exit_value = EX_BADUSAGE; ++ break; ++ } ++ + bitmap = new_fd_bitmap (FD_BITMAP_SIZE); + begin_unwind_frame ("pe_dispose"); +*************** +*** 322,325 **** +--- 330,336 ---- + dispose_fd_bitmap (bitmap); + discard_unwind_frame ("pe_dispose"); ++ ++ if (flags & SEVAL_ONECMD) ++ break; + } + } +*** ../bash-4.2.47/variables.c 2011-03-01 16:15:20.000000000 -0500 +--- variables.c 2014-09-16 19:35:45.000000000 -0400 +*************** +*** 348,357 **** + strcpy (temp_string + char_index + 1, string); + +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); +! +! /* Ancient backwards compatibility. Old versions of bash exported +! functions like name()=() {...} */ +! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') +! name[char_index - 2] = '\0'; + + if (temp_var = find_function (name)) +--- 348,355 ---- + strcpy (temp_string + char_index + 1, string); + +! /* Don't import function names that are invalid identifiers from the +! environment. */ +! if (legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + + if (temp_var = find_function (name)) +*************** +*** 362,369 **** + else + report_error (_("error importing function definition for `%s'"), name); +- +- /* ( */ +- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0') +- name[char_index - 2] = '('; /* ) */ + } + #if defined (ARRAY_VARS) +--- 360,363 ---- +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 48 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-049 b/patches/source/bash/bash-4.2-patches/bash42-049 new file mode 100644 index 000000000..bf3abcefd --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-049 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-049 + +Bug-Reported-by: Tavis Ormandy +Bug-Reference-ID: +Bug-Reference-URL: http://twitter.com/taviso/statuses/514887394294652929 + +Bug-Description: + +Under certain circumstances, bash can incorrectly save a lookahead character and +return it on a subsequent call, even when reading a new line. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2.48/parse.y 2012-12-31 11:52:57.000000000 -0500 +--- parse.y 2014-09-25 16:12:19.000000000 -0400 +*************** +*** 2851,2854 **** +--- 2851,2856 ---- + word_desc_to_read = (WORD_DESC *)NULL; + ++ eol_ungetc_lookahead = 0; ++ + current_token = '\n'; /* XXX */ + last_read_token = '\n'; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 48 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 49 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-050 b/patches/source/bash/bash-4.2-patches/bash42-050 new file mode 100644 index 000000000..76b37e528 --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-050 @@ -0,0 +1,217 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-050 + +Bug-Reported-by: Florian Weimer +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +This patch changes the encoding bash uses for exported functions to avoid +clashes with shell variables and to avoid depending only on an environment +variable's contents to determine whether or not to interpret it as a shell +function. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2.49/variables.c 2014-09-16 19:35:45.000000000 -0400 +--- variables.c 2014-09-27 20:54:00.000000000 -0400 +*************** +*** 80,83 **** +--- 80,88 ---- + #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0') + ++ #define BASHFUNC_PREFIX "BASH_FUNC_" ++ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */ ++ #define BASHFUNC_SUFFIX "%%" ++ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */ ++ + extern char **environ; + +*************** +*** 269,273 **** + static void dispose_temporary_env __P((sh_free_func_t *)); + +! static inline char *mk_env_string __P((const char *, const char *)); + static char **make_env_array_from_var_list __P((SHELL_VAR **)); + static char **make_var_export_array __P((VAR_CONTEXT *)); +--- 274,278 ---- + static void dispose_temporary_env __P((sh_free_func_t *)); + +! static inline char *mk_env_string __P((const char *, const char *, int)); + static char **make_env_array_from_var_list __P((SHELL_VAR **)); + static char **make_var_export_array __P((VAR_CONTEXT *)); +*************** +*** 339,357 **** + /* If exported function, define it now. Don't import functions from + the environment in privileged mode. */ +! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4)) + { + string_length = strlen (string); +! temp_string = (char *)xmalloc (3 + string_length + char_index); + +! strcpy (temp_string, name); +! temp_string[char_index] = ' '; +! strcpy (temp_string + char_index + 1, string); + + /* Don't import function names that are invalid identifiers from the + environment. */ +! if (legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + +! if (temp_var = find_function (name)) + { + VSETATTR (temp_var, (att_exported|att_imported)); +--- 344,373 ---- + /* If exported function, define it now. Don't import functions from + the environment in privileged mode. */ +! if (privmode == 0 && read_but_dont_execute == 0 && +! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && +! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && +! STREQN ("() {", string, 4)) + { ++ size_t namelen; ++ char *tname; /* desired imported function name */ ++ ++ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN; ++ ++ tname = name + BASHFUNC_PREFLEN; /* start of func name */ ++ tname[namelen] = '\0'; /* now tname == func name */ ++ + string_length = strlen (string); +! temp_string = (char *)xmalloc (namelen + string_length + 2); + +! memcpy (temp_string, tname, namelen); +! temp_string[namelen] = ' '; +! memcpy (temp_string + namelen + 1, string, string_length + 1); + + /* Don't import function names that are invalid identifiers from the + environment. */ +! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname))) +! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + +! if (temp_var = find_function (tname)) + { + VSETATTR (temp_var, (att_exported|att_imported)); +*************** +*** 359,363 **** + } + else +! report_error (_("error importing function definition for `%s'"), name); + } + #if defined (ARRAY_VARS) +--- 375,382 ---- + } + else +! report_error (_("error importing function definition for `%s'"), tname); +! +! /* Restore original suffix */ +! tname[namelen] = BASHFUNC_SUFFIX[0]; + } + #if defined (ARRAY_VARS) +*************** +*** 2538,2542 **** + + INVALIDATE_EXPORTSTR (var); +! var->exportstr = mk_env_string (name, value); + + array_needs_making = 1; +--- 2557,2561 ---- + + INVALIDATE_EXPORTSTR (var); +! var->exportstr = mk_env_string (name, value, 0); + + array_needs_making = 1; +*************** +*** 3390,3408 **** + + static inline char * +! mk_env_string (name, value) + const char *name, *value; + { +! int name_len, value_len; +! char *p; + + name_len = strlen (name); + value_len = STRLEN (value); +! p = (char *)xmalloc (2 + name_len + value_len); +! strcpy (p, name); +! p[name_len] = '='; + if (value && *value) +! strcpy (p + name_len + 1, value); + else +! p[name_len + 1] = '\0'; + return (p); + } +--- 3409,3448 ---- + + static inline char * +! mk_env_string (name, value, isfunc) + const char *name, *value; ++ int isfunc; + { +! size_t name_len, value_len; +! char *p, *q; + + name_len = strlen (name); + value_len = STRLEN (value); +! +! /* If we are exporting a shell function, construct the encoded function +! name. */ +! if (isfunc && value) +! { +! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2); +! q = p; +! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN); +! q += BASHFUNC_PREFLEN; +! memcpy (q, name, name_len); +! q += name_len; +! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN); +! q += BASHFUNC_SUFFLEN; +! } +! else +! { +! p = (char *)xmalloc (2 + name_len + value_len); +! memcpy (p, name, name_len); +! q = p + name_len; +! } +! +! q[0] = '='; + if (value && *value) +! memcpy (q + 1, value, value_len + 1); + else +! q[1] = '\0'; +! + return (p); + } +*************** +*** 3490,3494 **** + using the cached exportstr... */ + list[list_index] = USE_EXPORTSTR ? savestring (value) +! : mk_env_string (var->name, value); + + if (USE_EXPORTSTR == 0) +--- 3530,3534 ---- + using the cached exportstr... */ + list[list_index] = USE_EXPORTSTR ? savestring (value) +! : mk_env_string (var->name, value, function_p (var)); + + if (USE_EXPORTSTR == 0) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 49 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 50 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-051 b/patches/source/bash/bash-4.2-patches/bash42-051 new file mode 100644 index 000000000..4d5040aab --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-051 @@ -0,0 +1,173 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-051 + +Bug-Reported-by: Florian Weimer +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +There are two local buffer overflows in parse.y that can cause the shell +to dump core when given many here-documents attached to a single command +or many nested loops. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2.50/parse.y 2014-09-27 12:18:53.000000000 -0400 +--- parse.y 2014-09-30 19:24:19.000000000 -0400 +*************** +*** 168,171 **** +--- 168,174 ---- + static int reserved_word_acceptable __P((int)); + static int yylex __P((void)); ++ ++ static void push_heredoc __P((REDIRECT *)); ++ static char *mk_alexpansion __P((char *)); + static int alias_expand_token __P((char *)); + static int time_command_acceptable __P((void)); +*************** +*** 265,269 **** + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! static REDIRECT *redir_stack[10]; + int need_here_doc; + +--- 268,274 ---- + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! #define HEREDOC_MAX 16 +! +! static REDIRECT *redir_stack[HEREDOC_MAX]; + int need_here_doc; + +*************** +*** 307,311 **** + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST]; + static int word_top = -1; + +--- 312,316 ---- + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST+1]; + static int word_top = -1; + +*************** +*** 520,524 **** + redir.filename = $2; + $$ = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | NUMBER LESS_LESS WORD +--- 525,529 ---- + redir.filename = $2; + $$ = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ($$); + } + | NUMBER LESS_LESS WORD +*************** +*** 527,531 **** + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | REDIR_WORD LESS_LESS WORD +--- 532,536 ---- + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ($$); + } + | REDIR_WORD LESS_LESS WORD +*************** +*** 534,538 **** + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = $$; + } + | LESS_LESS_MINUS WORD +--- 539,543 ---- + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ($$); + } + | LESS_LESS_MINUS WORD +*************** +*** 541,545 **** + redir.filename = $2; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | NUMBER LESS_LESS_MINUS WORD +--- 546,550 ---- + redir.filename = $2; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ($$); + } + | NUMBER LESS_LESS_MINUS WORD +*************** +*** 548,552 **** + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | REDIR_WORD LESS_LESS_MINUS WORD +--- 553,557 ---- + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ($$); + } + | REDIR_WORD LESS_LESS_MINUS WORD +*************** +*** 555,559 **** + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = $$; + } + | LESS_LESS_LESS WORD +--- 560,564 ---- + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ($$); + } + | LESS_LESS_LESS WORD +*************** +*** 2534,2537 **** +--- 2539,2557 ---- + static int esacs_needed_count; + ++ static void ++ push_heredoc (r) ++ REDIRECT *r; ++ { ++ if (need_here_doc >= HEREDOC_MAX) ++ { ++ last_command_exit_value = EX_BADUSAGE; ++ need_here_doc = 0; ++ report_syntax_error (_("maximum here-document count exceeded")); ++ reset_parser (); ++ exit_shell (last_command_exit_value); ++ } ++ redir_stack[need_here_doc++] = r; ++ } ++ + void + gather_here_documents () +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 50 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 51 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-052 b/patches/source/bash/bash-4.2-patches/bash42-052 new file mode 100644 index 000000000..186af0aee --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-052 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-052 + +Bug-Reported-by: Michal Zalewski +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +When bash is parsing a function definition that contains a here-document +delimited by end-of-file (or end-of-string), it leaves the closing delimiter +uninitialized. This can result in an invalid memory access when the parsed +function is later copied. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2.51/make_cmd.c 2009-09-11 17:26:12.000000000 -0400 +--- make_cmd.c 2014-10-02 11:26:58.000000000 -0400 +*************** +*** 690,693 **** +--- 690,694 ---- + temp->redirector = source; + temp->redirectee = dest_and_filename; ++ temp->here_doc_eof = 0; + temp->instruction = instruction; + temp->flags = 0; +*** ../bash-4.2.51/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400 +--- copy_cmd.c 2014-10-02 11:26:58.000000000 -0400 +*************** +*** 127,131 **** + case r_reading_until: + case r_deblank_reading_until: +! new_redirect->here_doc_eof = savestring (redirect->here_doc_eof); + /*FALLTHROUGH*/ + case r_reading_string: +--- 127,131 ---- + case r_reading_until: + case r_deblank_reading_until: +! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0; + /*FALLTHROUGH*/ + case r_reading_string: +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 51 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 52 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash-4.2-patches/bash42-053 b/patches/source/bash/bash-4.2-patches/bash42-053 new file mode 100644 index 000000000..cffd622fa --- /dev/null +++ b/patches/source/bash/bash-4.2-patches/bash42-053 @@ -0,0 +1,132 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-053 + +Bug-Reported-by: Michal Zalewski +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +A combination of nested command substitutions and function importing from +the environment can cause bash to execute code appearing in the environment +variable value following the function definition. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2.52/builtins/evalstring.c 2014-09-16 19:35:45.000000000 -0400 +--- builtins/evalstring.c 2014-10-04 15:00:26.000000000 -0400 +*************** +*** 262,271 **** + struct fd_bitmap *bitmap; + +! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) + { +! internal_warning ("%s: ignoring function definition attempt", from_file); +! should_jump_to_top_level = 0; +! last_result = last_command_exit_value = EX_BADUSAGE; +! break; + } + +--- 262,284 ---- + struct fd_bitmap *bitmap; + +! if (flags & SEVAL_FUNCDEF) + { +! char *x; +! +! /* If the command parses to something other than a straight +! function definition, or if we have not consumed the entire +! string, or if the parser has transformed the function +! name (as parsing will if it begins or ends with shell +! whitespace, for example), reject the attempt */ +! if (command->type != cm_function_def || +! ((x = parser_remaining_input ()) && *x) || +! (STREQ (from_file, command->value.Function_def->name->word) == 0)) +! { +! internal_warning (_("%s: ignoring function definition attempt"), from_file); +! should_jump_to_top_level = 0; +! last_result = last_command_exit_value = EX_BADUSAGE; +! reset_parser (); +! break; +! } + } + +*************** +*** 332,336 **** + + if (flags & SEVAL_ONECMD) +! break; + } + } +--- 345,352 ---- + + if (flags & SEVAL_ONECMD) +! { +! reset_parser (); +! break; +! } + } + } +*** ../bash-4.2.52/parse.y 2014-09-30 19:24:19.000000000 -0400 +--- parse.y 2014-10-04 15:00:26.000000000 -0400 +*************** +*** 2436,2439 **** +--- 2436,2449 ---- + } + ++ char * ++ parser_remaining_input () ++ { ++ if (shell_input_line == 0) ++ return 0; ++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len) ++ return '\0'; /* XXX */ ++ return (shell_input_line + shell_input_line_index); ++ } ++ + #ifdef INCLUDE_UNUSED + /* Back the input pointer up by one, effectively `ungetting' a character. */ +*************** +*** 3891,3896 **** + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! if (interactive) +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +--- 3901,3906 ---- + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +*** ../bash-4.2.52/shell.h 2011-11-21 18:03:32.000000000 -0500 +--- shell.h 2014-10-04 15:00:26.000000000 -0400 +*************** +*** 178,181 **** +--- 178,183 ---- + + /* Let's try declaring these here. */ ++ extern char *parser_remaining_input __P((void)); ++ + extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); + extern void restore_parser_state __P((sh_parser_state_t *)); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 52 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 53 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash.CVE-2016-0634.bash43-047 b/patches/source/bash/bash.CVE-2016-0634.bash43-047 new file mode 100644 index 000000000..316e3afcd --- /dev/null +++ b/patches/source/bash/bash.CVE-2016-0634.bash43-047 @@ -0,0 +1,150 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-047 + +Bug-Reported-by: Bernd Dietzel +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1507025 + +Bug-Description: + +Bash performs word expansions on the prompt strings after the special +escape sequences are expanded. If a malicious user can modify the system +hostname or change the name of the bash executable and coerce a user into +executing it, and the new name contains word expansions (including +command substitution), bash will expand them in prompt strings containing +the \h or \H and \s escape sequences, respectively. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2015-08-13 15:11:54.000000000 -0400 +--- parse.y 2016-03-07 15:44:14.000000000 -0500 +*************** +*** 5259,5263 **** + int result_size, result_index; + int c, n, i; +! char *temp, octal_string[4]; + struct tm *tm; + time_t the_time; +--- 5259,5263 ---- + int result_size, result_index; + int c, n, i; +! char *temp, *t_host, octal_string[4]; + struct tm *tm; + time_t the_time; +*************** +*** 5407,5411 **** + case 's': + temp = base_pathname (shell_name); +! temp = savestring (temp); + goto add_string; + +--- 5407,5415 ---- + case 's': + temp = base_pathname (shell_name); +! /* Try to quote anything the user can set in the file system */ +! if (promptvars || posixly_correct) +! temp = sh_backslash_quote_for_double_quotes (temp); +! else +! temp = savestring (temp); + goto add_string; + +*************** +*** 5497,5503 **** + case 'h': + case 'H': +! temp = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (temp, '.'))) + *t = '\0'; + goto add_string; + +--- 5501,5515 ---- + case 'h': + case 'H': +! t_host = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (t_host, '.'))) + *t = '\0'; ++ if (promptvars || posixly_correct) ++ /* Make sure that expand_prompt_string is called with a ++ second argument of Q_DOUBLE_QUOTES if we use this ++ function here. */ ++ temp = sh_backslash_quote_for_double_quotes (t_host); ++ else ++ temp = savestring (t_host); ++ free (t_host); + goto add_string; + +*** ../bash-4.3-patched/y.tab.c 2015-08-13 15:11:54.000000000 -0400 +--- y.tab.c 2016-03-07 15:44:14.000000000 -0500 +*************** +*** 7571,7575 **** + int result_size, result_index; + int c, n, i; +! char *temp, octal_string[4]; + struct tm *tm; + time_t the_time; +--- 7571,7575 ---- + int result_size, result_index; + int c, n, i; +! char *temp, *t_host, octal_string[4]; + struct tm *tm; + time_t the_time; +*************** +*** 7719,7723 **** + case 's': + temp = base_pathname (shell_name); +! temp = savestring (temp); + goto add_string; + +--- 7719,7727 ---- + case 's': + temp = base_pathname (shell_name); +! /* Try to quote anything the user can set in the file system */ +! if (promptvars || posixly_correct) +! temp = sh_backslash_quote_for_double_quotes (temp); +! else +! temp = savestring (temp); + goto add_string; + +*************** +*** 7809,7815 **** + case 'h': + case 'H': +! temp = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (temp, '.'))) + *t = '\0'; + goto add_string; + +--- 7813,7827 ---- + case 'h': + case 'H': +! t_host = savestring (current_host_name); +! if (c == 'h' && (t = (char *)strchr (t_host, '.'))) + *t = '\0'; ++ if (promptvars || posixly_correct) ++ /* Make sure that expand_prompt_string is called with a ++ second argument of Q_DOUBLE_QUOTES if we use this ++ function here. */ ++ temp = sh_backslash_quote_for_double_quotes (t_host); ++ else ++ temp = savestring (t_host); ++ free (t_host); + goto add_string; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash.CVE-2016-7543.bash43-048 b/patches/source/bash/bash.CVE-2016-7543.bash43-048 new file mode 100644 index 000000000..6a8588ec0 --- /dev/null +++ b/patches/source/bash/bash.CVE-2016-7543.bash43-048 @@ -0,0 +1,54 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-048 + +Bug-Reported-by: up201407890@alunos.dcc.fc.up.pt +Bug-Reference-ID: <20151210201649.126444eionzfsam8@webmail.alunos.dcc.fc.up.pt> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-12/msg00054.html + +Bug-Description: + +If a malicious user can inject a value of $SHELLOPTS containing `xtrace' +and a value for $PS4 that includes a command substitution into a shell +running as root, bash will expand the command substitution as part of +expanding $PS4 when it executes a traced command. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/variables.c 2015-11-26 12:31:21.000000000 -0500 +--- variables.c 2015-12-23 10:19:01.000000000 -0500 +*************** +*** 496,500 **** + set_if_not ("PS2", secondary_prompt); + } +! set_if_not ("PS4", "+ "); + + /* Don't allow IFS to be imported from the environment. */ +--- 496,504 ---- + set_if_not ("PS2", secondary_prompt); + } +! +! if (current_user.euid == 0) +! bind_variable ("PS4", "+ ", 0); +! else +! set_if_not ("PS4", "+ "); + + /* Don't allow IFS to be imported from the environment. */ + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 48 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/patches/source/bash/bash.SlackBuild b/patches/source/bash/bash.SlackBuild new file mode 100755 index 000000000..9d030f098 --- /dev/null +++ b/patches/source/bash/bash.SlackBuild @@ -0,0 +1,173 @@ +#!/bin/sh + +# Copyright 2005-2017 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2011, 2012 by Eric Hameleers for ARM port. + + +# Set initial variables: +CWD=`pwd` +if [ "$TMP" = "" ]; then + TMP=/tmp +fi +PKG=$TMP/package-bash + +VERSION=${VERSION:-$(echo bash-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" +else + SLKCFLAGS="-O2" +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +if [ ! -d $TMP ]; then + mkdir -p $TMP # location to build the source +fi +rm -rf $PKG +mkdir -p $PKG + +# Determine bash patchlevel: +PATCHLEVEL="$( cd $CWD/bash-${VERSION}-patches ; /bin/ls bash4?-??? | tail -1 | cut -f 2 -d - 2> /dev/null )" +if [ "$PATCHLEVEL" = "" ]; then + PATCHLEVEL=0 +fi + +cd $TMP +rm -rf bash-$VERSION +tar xvf $CWD/bash-$VERSION.tar.?z* || exit 1 +cd bash-$VERSION || exit 1 +chown -R root:root . +find . -perm 664 | xargs chmod 644 +find . -perm 775 | xargs chmod 755 + +if [ -d $CWD/bash-${VERSION}-patches ]; then + ( cd $CWD/bash-${VERSION}-patches ; cat bash4?-??? ) | patch -p0 --verbose || exit 1 +fi + +# Patch security issues with upstream patches for bash-4.3. +# Don't worry about the patch rejections in patchlevel.h here. +zcat $CWD/bash.CVE-2016-0634.bash43-047.gz | patch -p0 --verbose +zcat $CWD/bash.CVE-2016-7543.bash43-048.gz | patch -p0 --verbose + +# End of preparations +if echo "$*" | grep -qw -- --prep ; then + exit 0 +fi + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --build=$TARGET + +make -j4 || make || exit 1 +make install DESTDIR=$PKG +mv $PKG/usr/share/doc $PKG/usr +mkdir -p $PKG/bin +mv $PKG/usr/bin/bash $PKG/bin/bash4.new +# We don't include the "bashbug" script. +rm -rf $PKG/usr/bin $PKG/usr/man/man1/bashbug.1 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# bash.1 is already installed by "make install" +( cd doc + for page in builtins.1 rbash.1 ; do + cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz + done +) + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +mkdir -p $PKG/usr/doc/bash-$VERSION +cp -a AUTHORS CHANGES COMPAT COPYING INSTALL MANIFEST NEWS NOTES \ + README Y2K doc/FAQ doc/INTRO \ + $PKG/usr/doc/bash-$VERSION +( cd doc ; groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +makepkg -l y -c n $TMP/bash-$VERSION.$PATCHLEVEL-$ARCH-$BUILD.txz + diff --git a/patches/source/bash/doinst.sh b/patches/source/bash/doinst.sh new file mode 100644 index 000000000..867958fb8 --- /dev/null +++ b/patches/source/bash/doinst.sh @@ -0,0 +1,18 @@ +if [ -r bin/bash ]; then + mv bin/bash bin/bash.old +fi +mv bin/bash4.new bin/bash +if [ -f bin/bash.old ]; then + rm -f bin/bash.old +fi +if [ ! -r etc/shells ]; then + touch etc/shells + chmod 644 etc/shells +fi +if grep -wq /bin/bash etc/shells ; then + true +else + echo /bin/bash >> etc/shells +fi +( cd usr/bin ; rm -rf bash ) +( cd usr/bin ; ln -sf /bin/bash bash ) diff --git a/patches/source/bash/slack-desc b/patches/source/bash/slack-desc new file mode 100644 index 000000000..f2fdb9292 --- /dev/null +++ b/patches/source/bash/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +bash: bash (sh-compatible shell) +bash: +bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command +bash: interpreter that executes commands read from the standard input or +bash: from a file. Bash also incorporates useful features from the Korn +bash: and C shells (ksh and csh). Bash is ultimately intended to be a +bash: conformant implementation of the IEEE Posix Shell and Tools +bash: specification (IEEE Working Group 1003.2). +bash: +bash: Bash must be present for the system to boot properly. +bash: diff --git a/patches/source/bind/3link.sh b/patches/source/bind/3link.sh new file mode 100644 index 000000000..ec8ba4d19 --- /dev/null +++ b/patches/source/bind/3link.sh @@ -0,0 +1,136 @@ +rm -f lwres_addr_parse.3 +ln -sf lwres_resutil.3 lwres_addr_parse.3 +rm -f lwres_buffer_add.3 +ln -sf lwres_buffer.3 lwres_buffer_add.3 +rm -f lwres_buffer_back.3 +ln -sf lwres_buffer.3 lwres_buffer_back.3 +rm -f lwres_buffer_clear.3 +ln -sf lwres_buffer.3 lwres_buffer_clear.3 +rm -f lwres_buffer_first.3 +ln -sf lwres_buffer.3 lwres_buffer_first.3 +rm -f lwres_buffer_forward.3 +ln -sf lwres_buffer.3 lwres_buffer_forward.3 +rm -f lwres_buffer_getmem.3 +ln -sf lwres_buffer.3 lwres_buffer_getmem.3 +rm -f lwres_buffer_getuint16.3 +ln -sf lwres_buffer.3 lwres_buffer_getuint16.3 +rm -f lwres_buffer_getuint32.3 +ln -sf lwres_buffer.3 lwres_buffer_getuint32.3 +rm -f lwres_buffer_getuint8.3 +ln -sf lwres_buffer.3 lwres_buffer_getuint8.3 +rm -f lwres_buffer_init.3 +ln -sf lwres_buffer.3 lwres_buffer_init.3 +rm -f lwres_buffer_invalidate.3 +ln -sf lwres_buffer.3 lwres_buffer_invalidate.3 +rm -f lwres_buffer_putmem.3 +ln -sf lwres_buffer.3 lwres_buffer_putmem.3 +rm -f lwres_buffer_putuint16.3 +ln -sf lwres_buffer.3 lwres_buffer_putuint16.3 +rm -f lwres_buffer_putuint32.3 +ln -sf lwres_buffer.3 lwres_buffer_putuint32.3 +rm -f lwres_buffer_putuint8.3 +ln -sf lwres_buffer.3 lwres_buffer_putuint8.3 +rm -f lwres_buffer_subtract.3 +ln -sf lwres_buffer.3 lwres_buffer_subtract.3 +rm -f lwres_conf_clear.3 +ln -sf lwres_config.3 lwres_conf_clear.3 +rm -f lwres_conf_get.3 +ln -sf lwres_config.3 lwres_conf_get.3 +rm -f lwres_conf_init.3 +ln -sf lwres_config.3 lwres_conf_init.3 +rm -f lwres_conf_parse.3 +ln -sf lwres_config.3 lwres_conf_parse.3 +rm -f lwres_conf_print.3 +ln -sf lwres_config.3 lwres_conf_print.3 +rm -f lwres_context_allocmem.3 +ln -sf lwres_context.3 lwres_context_allocmem.3 +rm -f lwres_context_create.3 +ln -sf lwres_context.3 lwres_context_create.3 +rm -f lwres_context_destroy.3 +ln -sf lwres_context.3 lwres_context_destroy.3 +rm -f lwres_context_freemem.3 +ln -sf lwres_context.3 lwres_context_freemem.3 +rm -f lwres_context_initserial.3 +ln -sf lwres_context.3 lwres_context_initserial.3 +rm -f lwres_context_nextserial.3 +ln -sf lwres_context.3 lwres_context_nextserial.3 +rm -f lwres_context_sendrecv.3 +ln -sf lwres_context.3 lwres_context_sendrecv.3 +rm -f lwres_endhostent.3 +ln -sf lwres_gethostent.3 lwres_endhostent.3 +rm -f lwres_endhostent_r.3 +ln -sf lwres_gethostent.3 lwres_endhostent_r.3 +rm -f lwres_freeaddrinfo.3 +ln -sf lwres_getaddrinfo.3 lwres_freeaddrinfo.3 +rm -f lwres_freehostent.3 +ln -sf lwres_getipnode.3 lwres_freehostent.3 +rm -f lwres_gabnrequest_free.3 +ln -sf lwres_gabn.3 lwres_gabnrequest_free.3 +rm -f lwres_gabnrequest_parse.3 +ln -sf lwres_gabn.3 lwres_gabnrequest_parse.3 +rm -f lwres_gabnrequest_render.3 +ln -sf lwres_gabn.3 lwres_gabnrequest_render.3 +rm -f lwres_gabnresponse_free.3 +ln -sf lwres_gabn.3 lwres_gabnresponse_free.3 +rm -f lwres_gabnresponse_parse.3 +ln -sf lwres_gabn.3 lwres_gabnresponse_parse.3 +rm -f lwres_gabnresponse_render.3 +ln -sf lwres_gabn.3 lwres_gabnresponse_render.3 +rm -f lwres_getaddrsbyname.3 +ln -sf lwres_resutil.3 lwres_getaddrsbyname.3 +rm -f lwres_gethostbyaddr.3 +ln -sf lwres_gethostent.3 lwres_gethostbyaddr.3 +rm -f lwres_gethostbyaddr_r.3 +ln -sf lwres_gethostent.3 lwres_gethostbyaddr_r.3 +rm -f lwres_gethostbyname.3 +ln -sf lwres_gethostent.3 lwres_gethostbyname.3 +rm -f lwres_gethostbyname2.3 +ln -sf lwres_gethostent.3 lwres_gethostbyname2.3 +rm -f lwres_gethostbyname_r.3 +ln -sf lwres_gethostent.3 lwres_gethostbyname_r.3 +rm -f lwres_gethostent_r.3 +ln -sf lwres_gethostent.3 lwres_gethostent_r.3 +rm -f lwres_getipnodebyaddr.3 +ln -sf lwres_getipnode.3 lwres_getipnodebyaddr.3 +rm -f lwres_getipnodebyname.3 +ln -sf lwres_getipnode.3 lwres_getipnodebyname.3 +rm -f lwres_getnamebyaddr.3 +ln -sf lwres_resutil.3 lwres_getnamebyaddr.3 +rm -f lwres_gnbarequest_free.3 +ln -sf lwres_gnba.3 lwres_gnbarequest_free.3 +rm -f lwres_gnbarequest_parse.3 +ln -sf lwres_gnba.3 lwres_gnbarequest_parse.3 +rm -f lwres_gnbarequest_render.3 +ln -sf lwres_gnba.3 lwres_gnbarequest_render.3 +rm -f lwres_gnbaresponse_free.3 +ln -sf lwres_gnba.3 lwres_gnbaresponse_free.3 +rm -f lwres_gnbaresponse_parse.3 +ln -sf lwres_gnba.3 lwres_gnbaresponse_parse.3 +rm -f lwres_gnbaresponse_render.3 +ln -sf lwres_gnba.3 lwres_gnbaresponse_render.3 +rm -f lwres_herror.3 +ln -sf lwres_hstrerror.3 lwres_herror.3 +rm -f lwres_lwpacket_parseheader.3 +ln -sf lwres_packet.3 lwres_lwpacket_parseheader.3 +rm -f lwres_lwpacket_renderheader.3 +ln -sf lwres_packet.3 lwres_lwpacket_renderheader.3 +rm -f lwres_net_ntop.3 +ln -sf lwres_inetntop.3 lwres_net_ntop.3 +rm -f lwres_nooprequest_free.3 +ln -sf lwres_noop.3 lwres_nooprequest_free.3 +rm -f lwres_nooprequest_parse.3 +ln -sf lwres_noop.3 lwres_nooprequest_parse.3 +rm -f lwres_nooprequest_render.3 +ln -sf lwres_noop.3 lwres_nooprequest_render.3 +rm -f lwres_noopresponse_free.3 +ln -sf lwres_noop.3 lwres_noopresponse_free.3 +rm -f lwres_noopresponse_parse.3 +ln -sf lwres_noop.3 lwres_noopresponse_parse.3 +rm -f lwres_noopresponse_render.3 +ln -sf lwres_noop.3 lwres_noopresponse_render.3 +rm -f lwres_sethostent.3 +ln -sf lwres_gethostent.3 lwres_sethostent.3 +rm -f lwres_sethostent_r.3 +ln -sf lwres_gethostent.3 lwres_sethostent_r.3 +rm -f lwres_string_parse.3 +ln -sf lwres_resutil.3 lwres_string_parse.3 diff --git a/patches/source/bind/bind.SlackBuild b/patches/source/bind/bind.SlackBuild new file mode 100755 index 000000000..380d95b90 --- /dev/null +++ b/patches/source/bind/bind.SlackBuild @@ -0,0 +1,166 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=bind +VERSION=${VERSION:-9.9.11-P1} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=/bind-$(mcookie) +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG/etc/default + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Remove use of SO_BSDCOMPAT which has been obsolete since the 2.2.x kernel +# series, and generates warnings under 2.6.x kernels. This _might_ be fixed +# upstream already, but an explicit #undef SO_BSDCOMPAT does not hurt: +zcat $CWD/bind.so_bsdcompat.diff.gz | patch -p1 --verbose || exit + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-libtool \ + --with-idn=/usr \ + --mandir=/usr/man \ + --enable-shared \ + --disable-static \ + --enable-threads \ + --with-openssl=/usr \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# We like symlinks. +( cd $PKG/usr/sbin + ln -sf named lwresd +) + +# We like a lot of symlinks. +( cd $PKG/usr/man/man3 + sh $CWD/3link.sh +) + +# Install init script: +mkdir -p $PKG/etc/rc.d +cp -a $CWD/rc.bind $PKG/etc/rc.d/rc.bind.new +chmod 644 $PKG/etc/rc.d/rc.bind.new + +# Add /var/run/named directory: +mkdir -p $PKG/var/run/named + +# Fix library perms: +chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/* + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* 2> /dev/null + ) + done + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + CHANGES COPYRIGHT FAQ* README* \ + doc/arm doc/misc \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# This one should have the correct perms of the config file: +chmod 644 $PKG/usr/doc/${PKGNAM}-$VERSION/misc/rndc.conf-sample + +# One format of this is plenty. Especially get rid of the bloated PDF. +( cd $PKG/usr/doc/bind-$VERSION/arm + rm -f Makefile* *.pdf *.xml README.SGML latex-fixup.pl +) + +# Add sample config files for a simple caching nameserver: +mkdir -p $PKG/var/named/caching-example +cat $CWD/caching-example/named.conf > $PKG/etc/named.conf.new +cat $CWD/caching-example/localhost.zone > $PKG/var/named/caching-example/localhost.zone +cat $CWD/caching-example/named.local > $PKG/var/named/caching-example/named.local +cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.root +# This name is deprecated, but having it here doesn't hurt in case +# an old configuration file wants it: +cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.ca + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz + diff --git a/patches/source/bind/bind.so_bsdcompat.diff b/patches/source/bind/bind.so_bsdcompat.diff new file mode 100644 index 000000000..5d78031b7 --- /dev/null +++ b/patches/source/bind/bind.so_bsdcompat.diff @@ -0,0 +1,11 @@ +--- ./lib/isc/unix/socket.c.orig 2005-11-03 17:08:42.000000000 -0600 ++++ ./lib/isc/unix/socket.c 2006-02-18 13:09:15.000000000 -0600 +@@ -245,6 +245,8 @@ + + #define SOCK_DEAD(s) ((s)->references == 0) + ++#undef SO_BSDCOMPAT ++ + static void + manager_log(isc_socketmgr_t *sockmgr, + isc_logcategory_t *category, isc_logmodule_t *module, int level, diff --git a/patches/source/bind/caching-example/localhost.zone b/patches/source/bind/caching-example/localhost.zone new file mode 100644 index 000000000..c47baf5f1 --- /dev/null +++ b/patches/source/bind/caching-example/localhost.zone @@ -0,0 +1,11 @@ +$TTL 86400 +$ORIGIN localhost. +@ 1D IN SOA @ root ( + 42 ; serial (d. adams) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum + + 1D IN NS @ + 1D IN A 127.0.0.1 diff --git a/patches/source/bind/caching-example/named.conf b/patches/source/bind/caching-example/named.conf new file mode 100644 index 000000000..a8ee2795f --- /dev/null +++ b/patches/source/bind/caching-example/named.conf @@ -0,0 +1,31 @@ +options { + directory "/var/named"; + /* + * If there is a firewall between you and nameservers you want + * to talk to, you might need to uncomment the query-source + * directive below. Previous versions of BIND always asked + * questions using port 53, but BIND 8.1 uses an unprivileged + * port by default. + */ + // query-source address * port 53; +}; + +// +// a caching only nameserver config +// +zone "." IN { + type hint; + file "caching-example/named.root"; +}; + +zone "localhost" IN { + type master; + file "caching-example/localhost.zone"; + allow-update { none; }; +}; + +zone "0.0.127.in-addr.arpa" IN { + type master; + file "caching-example/named.local"; + allow-update { none; }; +}; diff --git a/patches/source/bind/caching-example/named.local b/patches/source/bind/caching-example/named.local new file mode 100644 index 000000000..8f40bcf36 --- /dev/null +++ b/patches/source/bind/caching-example/named.local @@ -0,0 +1,10 @@ +$TTL 86400 +@ IN SOA localhost. root.localhost. ( + 2011032500 ; Serial + 28800 ; Refresh + 14400 ; Retry + 3600000 ; Expire + 86400 ) ; Minimum + IN NS localhost. + +1 IN PTR localhost. diff --git a/patches/source/bind/caching-example/named.root b/patches/source/bind/caching-example/named.root new file mode 100644 index 000000000..9cc20228c --- /dev/null +++ b/patches/source/bind/caching-example/named.root @@ -0,0 +1,90 @@ +; This file holds the information on root name servers needed to +; initialize cache of Internet domain name servers +; (e.g. reference this file in the "cache . " +; configuration file of BIND domain name servers). +; +; This file is made available by InterNIC +; under anonymous FTP as +; file /domain/named.cache +; on server FTP.INTERNIC.NET +; -OR- RS.INTERNIC.NET +; +; last update: November 05, 2014 +; related version of root zone: 2014110501 +; +; formerly NS.INTERNIC.NET +; +. 3600000 NS A.ROOT-SERVERS.NET. +A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 +A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30 +; +; FORMERLY NS1.ISI.EDU +; +. 3600000 NS B.ROOT-SERVERS.NET. +B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201 +B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:84::b +; +; FORMERLY C.PSI.NET +; +. 3600000 NS C.ROOT-SERVERS.NET. +C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 +C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c +; +; FORMERLY TERP.UMD.EDU +; +. 3600000 NS D.ROOT-SERVERS.NET. +D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 +D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d +; +; FORMERLY NS.NASA.GOV +; +. 3600000 NS E.ROOT-SERVERS.NET. +E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 +; +; FORMERLY NS.ISC.ORG +; +. 3600000 NS F.ROOT-SERVERS.NET. +F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 +F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f +; +; FORMERLY NS.NIC.DDN.MIL +; +. 3600000 NS G.ROOT-SERVERS.NET. +G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 +; +; FORMERLY AOS.ARL.ARMY.MIL +; +. 3600000 NS H.ROOT-SERVERS.NET. +H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 +H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803f:235 +; +; FORMERLY NIC.NORDU.NET +; +. 3600000 NS I.ROOT-SERVERS.NET. +I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 +I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53 +; +; OPERATED BY VERISIGN, INC. +; +. 3600000 NS J.ROOT-SERVERS.NET. +J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30 +J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:30 +; +; OPERATED BY RIPE NCC +; +. 3600000 NS K.ROOT-SERVERS.NET. +K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 +K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1 +; +; OPERATED BY ICANN +; +. 3600000 NS L.ROOT-SERVERS.NET. +L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 +L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42 +; +; OPERATED BY WIDE +; +. 3600000 NS M.ROOT-SERVERS.NET. +M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 +M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35 +; End of file diff --git a/patches/source/bind/doinst.sh b/patches/source/bind/doinst.sh new file mode 100644 index 000000000..afeff946f --- /dev/null +++ b/patches/source/bind/doinst.sh @@ -0,0 +1,36 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.bind.new: +if [ -e etc/rc.d/rc.bind ]; then + cp -a etc/rc.d/rc.bind etc/rc.d/rc.bind.new.incoming + cat etc/rc.d/rc.bind.new > etc/rc.d/rc.bind.new.incoming + mv etc/rc.d/rc.bind.new.incoming etc/rc.d/rc.bind.new +fi + +config etc/named.conf.new +config etc/rc.d/rc.bind.new + +# Add a /var/named if it doesn't exist: +if [ ! -d var/named ]; then + mkdir -p var/named + chmod 755 var/named +fi + +# Generate /etc/rndc.key if there's none there, +# and there also no /etc/rndc.conf (the other +# way to set this up). +if [ ! -r etc/rndc.key -a ! -r /etc/rndc.conf ]; then + chroot . /sbin/ldconfig + chroot . /usr/sbin/rndc-confgen -r /dev/urandom -a 2> /dev/null +fi diff --git a/patches/source/bind/rc.bind b/patches/source/bind/rc.bind new file mode 100644 index 000000000..6d77d73d9 --- /dev/null +++ b/patches/source/bind/rc.bind @@ -0,0 +1,112 @@ +#!/bin/sh +# Start/stop/restart the BIND name server daemon (named). + + +# Start bind. In the past it was more secure to run BIND as a non-root +# user (for example, with '-u daemon'), but the modern version of BIND +# knows how to use the kernel's capability mechanism to drop all root +# privileges except the ability to bind() to a privileged port and set +# process resource limits, so -u should not be needed. If you wish to +# use it anyway, chown the /var/run/named and /var/named directories to +# the non-root user. The command options can be set like this in +# /etc/default/named : +# NAMED_OPTIONS="-u daemon" +# So you will not have to edit this script. + +# You might also consider running BIND in a "chroot jail", +# a discussion of which may be found in +# /usr/doc/Linux-HOWTOs/Chroot-BIND-HOWTO. + +# One last note: rndc has a lot of other nice features that it is not +# within the scope of this start/stop/restart script to support. +# For more details, see "man rndc" or just type "rndc" to see the options. + +# Load command defaults: +if [ -f /etc/default/named ] ; then . /etc/default/named ; fi +if [ -f /etc/default/rndc ] ; then . /etc/default/rndc ; fi + +# Sanity check. If /usr/sbin/named is missing then it +# doesn't make much sense to try to run this script: +if [ ! -x /usr/sbin/named ]; then + echo "/etc/rc.d/rc.bind: no /usr/sbin/named found (or not executable); cannot start." + exit 1 +fi + +# Start BIND. As many times as you like. ;-) +# Seriously, don't run "rc.bind start" if BIND is already +# running or you'll get more than one copy running. +bind_start() { + if [ -x /usr/sbin/named ]; then + echo "Starting BIND: /usr/sbin/named $NAMED_OPTIONS" + /usr/sbin/named $NAMED_OPTIONS + sleep 1 + fi + if ! ps axc | grep -q named ; then + echo "WARNING: named did not start." + echo "Attempting to start named again: /usr/sbin/named $NAMED_OPTIONS" + /usr/sbin/named $NAMED_OPTIONS + sleep 1 + if ps axc | grep -q named ; then + echo "SUCCESS: named started." + else + echo "FAILED: Sorry, a second attempt to start named has also failed." + echo "There may be a configuration error that needs fixing. Good luck!" + fi + fi +} + +# Stop all running copies of BIND (/usr/sbin/named): +bind_stop() { + echo "Stopping BIND: /usr/sbin/rndc $RDNC_OPTIONS stop" + /usr/sbin/rndc $RDNC_OPTIONS stop + # A problem with using "/usr/sbin/rndc stop" is that if you + # managed to get multiple copies of named running it will + # only stop one of them and then can't stop the others even + # if you run it again. So, after doing things the nice way + # we'll do them the old-fashioned way. If you don't like + # it you can comment it out, but unless you have a lot of + # other programs you run called "named" this is unlikely + # to have any ill effects: + sleep 1 + if ps axc | grep -q named ; then + echo "Using "killall named" on additional BIND processes..." + /bin/killall named 2> /dev/null + fi +} + +# Reload BIND: +bind_reload() { + /usr/sbin/rndc $RDNC_OPTIONS reload +} + +# Restart BIND: +bind_restart() { + bind_stop + bind_start +} + +# Get BIND status: +bind_status() { + /usr/sbin/rndc $RDNC_OPTIONS status +} + +case "$1" in +'start') + bind_start + ;; +'stop') + bind_stop + ;; +'reload') + bind_reload + ;; +'restart') + bind_restart + ;; +'status') + bind_status + ;; +*) + echo "usage $0 start|stop|reload|restart|status" +esac + diff --git a/patches/source/bind/slack-desc b/patches/source/bind/slack-desc new file mode 100644 index 000000000..9e9b15d11 --- /dev/null +++ b/patches/source/bind/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +bind: bind (DNS server and utilities) +bind: +bind: The named daemon and support utilities such as dig, host, and +bind: nslookup. Sample configuration files for running a simple caching +bind: nameserver are included. Documentation for advanced name server +bind: setup can be found in /usr/doc/bind-9.x.x/. +bind: +bind: +bind: +bind: +bind: diff --git a/patches/source/blueman/blueman-open b/patches/source/blueman/blueman-open new file mode 100644 index 000000000..0cfa688fa --- /dev/null +++ b/patches/source/blueman/blueman-open @@ -0,0 +1,114 @@ +#!/bin/sh +# Blueman Mount Script for Slackware +# by Zarren Spry & Robby Workman +# Based on http://kde-apps.org/content/show.php/kde4+bluetooth+files+open?content=108869 + +# Set to 0 if you want more debugging messages +DEBUG=1 + +device_addr="$1" +device_name="$(hcitool name $device_addr)" +own_name="$(basename $0)" +basedir="${basedir:-$HOME/obexfs}" +mountpoint="${basedir}/${device_addr}" +browser=${browser:-"xdg-open"} + +# If we're running in kde, use kdialog +if [ "$KDE_FULL_SESSION" = "true" ]; then + if which kdialog 1>/dev/null 2>/dev/null; then + messagetype="kdialog" + fi +# If not, then see if libnotify is available +# Even if it is, there may not be a notification daemon running, but there's +# no good way to check for this, so oh well... +elif which notify-send 1>/dev/null 2>/dev/null; then + messagetype="libnotify" +# If no libnotify, then use kdialog if it's installed +elif which kdialog 1>/dev/null 2>/dev/null; then + messagetype="kdialog" +# If all else fails, just don't do notifications +else + messagetype="" +fi + +# Mount function +mount_device () +{ + [ ! -z $DEBUG ] && logger -i -t $own_name "Attempting to mount device $device_name to $mountpoint..." + [ ! -z $DEBUG ] && logger -i -t $own_name "Execute: obexfs -b $device_addr $mountpoint" + + mkdir -p $mountpoint + obexfs -b $device_addr $mountpoint 2>&1 + + if [ $? != 0 ]; then + MSG_TXT="Failed to mount $device_name to $mountpoint. $dbg_msg" + FAILZOR=definitely + if [ ! -z $DEBUG ]; then + logger -i -t $own_name "Failed to mount $device_name to $mountpoint." + fi + else + MSG_TXT="Successfully mounted $device_name to $mountpoint" + if [ ! -z $DEBUG ]; then + logger -i -t $own_name "Successfully mounted $device_name to $mountpoint." + fi + fi + + if [ $messagetype == "kdialog" ]; then + kdialog --passivepopup "$MSG_TXT" 2 + elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" + fi + + [ "$FAILZOR" = "definitely" ] && exit 1 + + [ ! -z $DEBUG ] && logger -i -t $own_name "Opening $mountpoint with $browser..." + $browser $mountpoint 2>&1 + +} + +# Unmount function +umount_device () +{ + if grep -qw $mountpoint /proc/mounts 2>/dev/null ; then + [ ! -z $DEBUG ] && logger -i -t $own_name \ + "$mountpoint has something mounted on it already - unmounting it..." + + fusermount -u $mountpoint 1>/dev/null 2>/dev/null + + if [ $? != 0 ]; then + [ ! -z $DEBUG ] && logger -i -t $own_name "Failed to unmount $mountpoint with fusermount..." + umount -f $mountpoint 1>/dev/null 2>/dev/null + if [ $? != 0 ]; then + [ ! -z $DEBUG ] && \ + logger -i -t $own_name \ + "Failed to unmount $mountpoint with umount - try it manually as root and then start over." + FAILZOR=definitely + MSG_TXT="Failed to unmount $mountpoint with fusermount and umount - try it as root first." + else + break + fi + else + [ ! -z $DEBUG ] && logger -i -t $own_name "Successfully unmounted $device_name." + fi + else + [ ! -z $DEBUG ] && logger -i -t $own_name "$mountpoint has nothing mounted on it - continuing..." + fi + + if [ $messagetype == "kdialog" ]; then + kdialog --passivepopup "$MSG_TXT" 3 + elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" + fi + [ "$FAILZOR" = "definitely" ] && exit 1 +} + +MSG_TXT="Attempting to mount $device_name - please wait..." +if [ $messagetype == "kdialog" ]; then + kdialog --passivepopup "$MSG_TXT" 4 +elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" +fi + +umount_device +mount_device + diff --git a/patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff b/patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff new file mode 100644 index 000000000..542ee6e5d --- /dev/null +++ b/patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff @@ -0,0 +1,12 @@ +diff -Nur blueman-1.21.orig/blueman/Constants.py.in blueman-1.21/blueman/Constants.py.in +--- blueman-1.21.orig/blueman/Constants.py.in 2009-09-20 05:01:26.000000000 -0500 ++++ blueman-1.21/blueman/Constants.py.in 2009-12-13 16:26:29.643850538 -0600 +@@ -10,7 +10,7 @@ + POLKIT = "@polkit_val@" == "yes" + HAL_ENABLED = "@hal_en@" == "yes" + +-DEF_BROWSE_COMMAND = "nautilus --browser obex://[%d]" ++DEF_BROWSE_COMMAND = "/usr/libexec/blueman-open %d" + + import os + import gettext diff --git a/patches/source/blueman/blueman.CVE-2015-8612.diff b/patches/source/blueman/blueman.CVE-2015-8612.diff new file mode 100644 index 000000000..163d66083 --- /dev/null +++ b/patches/source/blueman/blueman.CVE-2015-8612.diff @@ -0,0 +1,21 @@ +--- ./blueman/plugins/mechanism/Network.py.orig 2010-02-05 13:16:27.000000000 -0600 ++++ ./blueman/plugins/mechanism/Network.py 2015-12-19 16:07:25.509562573 -0600 +@@ -22,6 +22,9 @@ + import gobject + from blueman.main.NetConf import NetConf, DnsMasqHandler, DhcpdHandler + ++DHCPDHANDLERS = {"DnsMasqHandler": DnsMasqHandler, ++ "DhcpdHandler": DhcpdHandler}, ++ + class Network(MechanismPlugin): + def on_load(self): + self.add_dbus_method(self.SetGN, in_signature="b", out_signature="", sender_keyword="caller") +@@ -67,7 +70,7 @@ + def EnableNetwork(self, ip_address, netmask, dhcp_handler, caller): + nc = NetConf.get_default() + nc.set_ipv4(ip_address, netmask) +- eval("nc.set_dhcp_handler(%s)" % dhcp_handler) ++ nc.set_dhcp_handler(DHCPDHANDLERS[dhcp_handler]) + nc.apply_settings() + + def ReloadNetwork(self, caller): diff --git a/patches/source/blueman/blueman.SlackBuild b/patches/source/blueman/blueman.SlackBuild new file mode 100755 index 000000000..d6faeb32c --- /dev/null +++ b/patches/source/blueman/blueman.SlackBuild @@ -0,0 +1,134 @@ +#!/bin/sh + +# Slackware build script for blueman + +# Copyright 2009 Robby Workman, Northport, Alabama, USA +# Copyright 2010 Patrick Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=blueman +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Use blueman-open, a modified version of this, to browse obexfs shares: +# http://www.kde-apps.org/content/show.php/kde4+bluetooth+files+open?content=108869 +zcat $CWD/blueman-use_blueman-open_for_obexfs.diff.gz | patch -p1 --verbose || exit 1 + +zcat $CWD/blueman.CVE-2015-8612.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-static \ + --with-dhcp-config=/etc/dhcpd.conf \ + --disable-hal \ + --enable-polkit \ + --build=$ARCH-slackware-linux + +make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Add the blueman-open script to /usr/libexec for browsing obexfs shares +# I don't want to put this in PATH and have someone accidentally run it +mkdir -p $PKG/usr/libexec +cat $CWD/blueman-open > $PKG/usr/libexec/blueman-open +chmod 0755 $PKG/usr/libexec/blueman-open + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null || true + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null || true +) + +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +) + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -p -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/blueman/doinst.sh b/patches/source/blueman/doinst.sh new file mode 100644 index 000000000..17b18ef35 --- /dev/null +++ b/patches/source/blueman/doinst.sh @@ -0,0 +1,23 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + diff --git a/patches/source/blueman/slack-desc b/patches/source/blueman/slack-desc new file mode 100644 index 000000000..d9b80088d --- /dev/null +++ b/patches/source/blueman/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +blueman: Blueman (Graphical Bluetooth Manager) +blueman: +blueman: Blueman is a GTK+ Bluetooth Manager for tasks such as: +blueman: +blueman: - Connecting to 3G/EDGE/GPRS via DUN profile. +blueman: - Connecting to/Creating bluetooth networks +blueman: - Connecting to input and audio devices +blueman: - Sending/Receiving/Browsing files via OBEX +blueman: - Pairing +blueman: +blueman: Homepage: http://blueman-project.org diff --git a/patches/source/bluez/bluez-4.99.tar.sign b/patches/source/bluez/bluez-4.99.tar.sign new file mode 100644 index 000000000..a9a039be3 --- /dev/null +++ b/patches/source/bluez/bluez-4.99.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.12 (GNU/Linux) + +iQIcBAABAgAGBQJPVkejAAoJEAbKn10dzyZZ0rEP/1BvYxUAoYf0cP2pQIqDwzkV +l9PSVsxKq/n3rNwKEWBufo3heHYxVAG5prlPiY8yHj4Q0tFNiCSPL+zLObG++iDy +3x+wxmaNaqbYurXQolHOqmH1L4OeMqT3mdzlb7xN48RLHLiS0XwTUMu2VBcM00me +nd03q+7gV6c1v3bXrDalUJuQQYHeubSLT6YMDKmMj/7PiLfA8hEoOE1uWefcBcas +B9xi5IBY208Cdq5odL6ae8ybvvG/PTDSFAOZNCzqIjJMYEwBosh1TbPN1AvUu1z2 +bzbgAa3oaRXnGZNDJ07pwa+2A+jAAtDRNO2R6z5lovpT568nwY6bmDIvbcIHuMHj +xhrhbUvPnhIcn+no+WkAtYjNe8ydcdH8BkeA7o1oauRAYJlGoTIVugobu2a608NN +7bGChWnhTPaKty8p0NGuE5gFvMwwLeE3W3d50+JH6icNBZbZOYK+88q1OI9hTHSW +fUm/tydzqRwPDuqgt6CiYxT49AuwQ+MjfED0fwvlfta8A+tYUDkgaOkpUcJvq8v/ +Bnd0mUkT7l2fiymw7hfzJEh9EXBWmXJBs77zkYPBmzv/YDSCpMWZuEHI7gvcBu4j +BN/+pJfYwo/kPRS0nXc/Xt438H806SUdvD926MmRwmg5jYmBRVJSemYtPHfkC03L +MO/geWyy5aH5w/+THCgN +=BIdO +-----END PGP SIGNATURE----- diff --git a/patches/source/bluez/bluez.CVE-2017-1000251.diff b/patches/source/bluez/bluez.CVE-2017-1000251.diff new file mode 100644 index 000000000..8f820363d --- /dev/null +++ b/patches/source/bluez/bluez.CVE-2017-1000251.diff @@ -0,0 +1,27 @@ +From 9e009647b14e810e06626dde7f1bb9ea3c375d09 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Wed, 13 Sep 2017 10:01:40 +0300 +Subject: sdp: Fix Out-of-bounds heap read in service_search_attr_req function + +Check if there is enough data to continue otherwise return an error. +--- + src/sdpd-request.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sdpd-request.c b/src/sdpd-request.c +index 1eefdce..318d044 100644 +--- a/src/sdpd-request.c ++++ b/src/sdpd-request.c +@@ -917,7 +917,7 @@ static int service_search_attr_req(sdp_req_t *req, sdp_buf_t *buf) + } else { + /* continuation State exists -> get from cache */ + sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); +- if (pCache) { ++ if (pCache && cstate->cStateValue.maxBytesSent < pCache->data_size) { + uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); + pResponse = pCache->data; + memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); +-- +cgit v1.1 + + diff --git a/patches/source/bluez/bluez.SlackBuild b/patches/source/bluez/bluez.SlackBuild new file mode 100755 index 000000000..cae686e13 --- /dev/null +++ b/patches/source/bluez/bluez.SlackBuild @@ -0,0 +1,189 @@ +#!/bin/sh + +# Slackware build script for bluez - http://www.bluez.org + +# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=bluez +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/${PKGNAM}-${VERSION}.tar.xz || exit 1 +cd $PKGNAM-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Enable the audio socket in audio.conf: +zcat $CWD/bluez.enable.audio.socket.diff.gz | patch -p1 --verbose || exit 1 + +# Patch CVE-2017-1000251: +zcat $CWD/bluez.CVE-2017-1000251.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --localstatedir=/var \ + --enable-datafiles \ + --enable-audio \ + --enable-gstreamer \ + --enable-alsa \ + --enable-usb \ + --enable-tools\ + --enable-input \ + --enable-bccmd \ + --enable-hid2hci \ + --enable-dfutool \ + --enable-hidd \ + --enable-pand \ + --enable-dund \ + --enable-cups \ + --enable-service \ + --enable-network \ + --enable-serial \ + --enable-health \ + --enable-pnat \ + --enable-maemo6 \ + --enable-wiimote \ + --enable-test \ + --enable-dbusoob \ + --with-ouifile=/usr/share/hwdata/oui.txt \ + --disable-silent-rules \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +cp scripts/bluetooth-serial.rules $PKG/lib/udev/rules.d/97-bluetooth-serial.rules || exit 1 +cp -a scripts/bluetooth_serial $PKG/lib/udev/bluetooth_serial || exit 1 +chmod 0755 $PKG/lib/udev/bluetooth_serial + +mkdir -p $PKG/etc/bluetooth +cp -a audio/audio.conf $PKG/etc/bluetooth +cp -a input/input.conf $PKG/etc/bluetooth +cp -a network/network.conf $PKG/etc/bluetooth +cp -a serial/serial.conf $PKG/etc/bluetooth +chmod 644 $PKG/etc/bluetooth/*.conf + +mkdir -p $PKG/etc/alsa +mv $PKG/usr/share/alsa/bluetooth.conf $PKG/etc/alsa +( cd $PKG/usr/share/alsa ; ln -s ../../../etc/alsa/bluetooth.conf . ) + +# Do not overwrite configuration +# Well, let the dbus file be overwritten, as it is not usually user-edited. +( cd $PKG + for file in \ + etc/alsa/bluetooth.conf \ + etc/bluetooth/audio.conf \ + etc/bluetooth/input.conf \ + etc/bluetooth/network.conf \ + etc/bluetooth/serial.conf \ + etc/bluetooth/rfcomm.conf \ + etc/bluetooth/main.conf \ + etc/modprobe.d/bluetooth.conf ; do + mv ${file} ${file}.new + done +) + +# Add an init script +mkdir -p $PKG/etc/rc.d +cat $CWD/config/rc.bluetooth > $PKG/etc/rc.d/rc.bluetooth.new + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/bluez/bluez.enable.audio.socket.diff b/patches/source/bluez/bluez.enable.audio.socket.diff new file mode 100644 index 000000000..52b9d0c6b --- /dev/null +++ b/patches/source/bluez/bluez.enable.audio.socket.diff @@ -0,0 +1,12 @@ +--- ./audio/audio.conf.orig 2010-08-25 00:10:02.000000000 -0500 ++++ ./audio/audio.conf 2012-09-09 12:36:31.766492102 -0500 +@@ -4,6 +4,9 @@ + # particular interface + [General] + ++# Enable the audio socket ++Enable=Socket ++ + # Switch to master role for incoming connections (defaults to true) + #Master=true + diff --git a/patches/source/bluez/config/bluetooth.modprobe b/patches/source/bluez/config/bluetooth.modprobe new file mode 100644 index 000000000..3072d7885 --- /dev/null +++ b/patches/source/bluez/config/bluetooth.modprobe @@ -0,0 +1,3 @@ +# use "reset=1" as default, since it should be safe for recent devices and +# solves all kind of problems. +options btusb reset=1 diff --git a/patches/source/bluez/config/rc.bluetooth b/patches/source/bluez/config/rc.bluetooth new file mode 100644 index 000000000..296c45422 --- /dev/null +++ b/patches/source/bluez/config/rc.bluetooth @@ -0,0 +1,29 @@ +#!/bin/sh + +bluez_start() { + /usr/sbin/bluetoothd +} + +bluez_stop() { + udevadm trigger --subsystem-match=bluetooth --action=remove + pkill -TERM bluetoothd 1>/dev/null 2>/dev/null +} + +case "$1" in + start) + bluez_start + ;; + stop) + bluez_stop + ;; + restart) + bluez_stop + sleep 1 + bluez_start + ;; + *) + printf "Usage: $N {start|stop|restart}\n" + exit 1 + ;; +esac + diff --git a/patches/source/bluez/doinst.sh b/patches/source/bluez/doinst.sh new file mode 100644 index 000000000..fe68ad7f4 --- /dev/null +++ b/patches/source/bluez/doinst.sh @@ -0,0 +1,28 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.bluetooth.new: +if [ -e etc/rc.d/rc.bluetooth ]; then + cp -a etc/rc.d/rc.bluetooth etc/rc.d/rc.bluetooth.new.incoming + cat etc/rc.d/rc.bluetooth.new > etc/rc.d/rc.bluetooth.new.incoming + mv etc/rc.d/rc.bluetooth.new.incoming etc/rc.d/rc.bluetooth.new +fi + +config etc/rc.d/rc.bluetooth.new +config etc/alsa/bluetooth.conf.new +config etc/bluetooth/audio.conf.new +config etc/bluetooth/input.conf.new +config etc/bluetooth/main.conf.new +config etc/bluetooth/network.conf.new +config etc/bluetooth/serial.conf.new +config etc/bluetooth/rfcomm.conf.new + diff --git a/patches/source/bluez/slack-desc b/patches/source/bluez/slack-desc new file mode 100644 index 000000000..607fa4d96 --- /dev/null +++ b/patches/source/bluez/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +bluez: bluez (Bluetooth libraries and utilities) +bluez: +bluez: Bluez is the Bluetooth stack for Linux, allowing Bluetooth adaptors +bluez: and devices to be used with Linux. This package contains the Bluez +bluez: libraries, utilities, and other support files. +bluez: +bluez: For more info, visit: http://www.bluez.org +bluez: +bluez: +bluez: +bluez: diff --git a/patches/source/ca-certificates/ca-certificates.SlackBuild b/patches/source/ca-certificates/ca-certificates.SlackBuild new file mode 100755 index 000000000..319d2dd26 --- /dev/null +++ b/patches/source/ca-certificates/ca-certificates.SlackBuild @@ -0,0 +1,91 @@ +#!/bin/sh + +# Slackware build script for ca-certificates + +# Copyright 2009,2011 Robby Workman Northport, AL, USA +# Copyright 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=ca-certificates +VERSION=${VERSION:-20161130} +ARCH=noarch +BUILD=${BUILD:-1_slack14.0} + +TARVERSION=${VERSION}+nmu1 + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/share/ca-certificates $PKG/usr/sbin +cd $TMP + +# Need both $PKGNAM and $PKGNAM-$VERSION since upstream can't decide how +# to package their tarball: +rm -rf $PKGNAM $PKGNAM-$VERSION + +# Extract the tarball: +tar xvf $CWD/${PKGNAM}_$TARVERSION.tar.?z || exit 1 + +# Again, both $PKGNAM and $PKGNAM-$VERSION are needed here: +cd $PKGNAM-$VERSION || cd $PKGNAM || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Obsolete? +#zcat $CWD/patches/fixup_DESTDIR.diff.gz | patch -p1 || exit 1 + +# Remove incompatible command operators used to call 'run-parts': +zcat $CWD/patches/fixup_update-ca-certificates.diff.gz | patch -p1 || exit 1 + +make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/etc/ca-certificates/update.d +printf "# Automatically generated by $PKGNAM-$VERSION \n#\n" \ + > $PKG/etc/ca-certificates.conf.new +( cd $PKG/usr/share/ca-certificates + find . -name '*.crt' | sort | cut -b3- +) >> $PKG/etc/ca-certificates.conf.new + +mkdir -p $PKG/usr/man/man8 +gzip -9c sbin/update-ca-certificates.8 > \ + $PKG/usr/man/man8/update-ca-certificates.8.gz + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +mv debian/NEWS debian/NEWS.Debian +cp -a debian/NEWS.Debian debian/README.Debian $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/var/log/setup +cat $CWD/setup.11.cacerts > $PKG/var/log/setup/setup.11.cacerts +chmod 755 $PKG/var/log/setup/setup.11.cacerts + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/ca-certificates/doinst.sh b/patches/source/ca-certificates/doinst.sh new file mode 100644 index 000000000..cfd7d795e --- /dev/null +++ b/patches/source/ca-certificates/doinst.sh @@ -0,0 +1,19 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/ca-certificates.conf.new + +if [ -x /usr/sbin/update-ca-certificates ]; then + /usr/sbin/update-ca-certificates --fresh 1> /dev/null 2> /dev/null +fi + diff --git a/patches/source/ca-certificates/patches/fixup_DESTDIR.diff b/patches/source/ca-certificates/patches/fixup_DESTDIR.diff new file mode 100644 index 000000000..964064184 --- /dev/null +++ b/patches/source/ca-certificates/patches/fixup_DESTDIR.diff @@ -0,0 +1,49 @@ +--- ./cacert.org/Makefile.orig ++++ ./cacert.org/Makefile +@@ -7,6 +7,7 @@ + clean: + + install: ++ mkdir -p $(CERTSDIR) + for p in *.crt; do \ + install -m 644 $$p $(CERTSDIR)/cacert.org_$$p ; \ + done +--- ./mozilla/Makefile.orig ++++ ./mozilla/Makefile +@@ -9,6 +9,7 @@ + -rm -f *.crt + + install: ++ mkdir -p $(CERTSDIR) + for p in *.crt; do \ + install -m 644 $$p $(CERTSDIR)/$$p ; \ + done +--- ./sbin/Makefile.orig ++++ ./sbin/Makefile +@@ -8,4 +8,5 @@ + clean: + + install: ++ mkdir -p $(DESTDIR)/usr/sbin + install -m755 update-ca-certificates $(DESTDIR)/usr/sbin/ +--- ./Makefile.orig ++++ ./Makefile +@@ -17,7 +17,7 @@ + + install: + for dir in $(SUBDIRS); do \ +- mkdir $(DESTDIR)/$(CERTSDIR)/$$dir; \ ++ mkdir -p $(DESTDIR)/$(CERTSDIR)/$$dir; \ + $(MAKE) -C $$dir install CERTSDIR=$(DESTDIR)/$(CERTSDIR)/$$dir; \ + done + for dir in sbin; do \ +--- ./spi-inc.org/Makefile.orig ++++ ./spi-inc.org/Makefile +@@ -7,6 +7,7 @@ + clean: + + install: ++ mkdir -p $PKG/$(CERTSDIR) + for p in *.crt; do \ + install -m 644 $$p $(CERTSDIR)/$$p ; \ + done diff --git a/patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff b/patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff new file mode 100644 index 000000000..1c3940585 --- /dev/null +++ b/patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff @@ -0,0 +1,12 @@ +diff -urN ca-certificates-20150426.orig/sbin/update-ca-certificates ca-certificates-20150426/sbin/update-ca-certificates +--- ca-certificates-20150426.orig/sbin/update-ca-certificates 2015-04-01 13:47:25.000000000 +0100 ++++ ca-certificates-20150426/sbin/update-ca-certificates 2015-09-14 22:51:39.856021883 +0100 +@@ -193,7 +193,7 @@ + echo "Running hooks in $HOOKSDIR..." + VERBOSE_ARG= + [ "$verbose" = 0 ] || VERBOSE_ARG="--verbose" +- eval run-parts "$VERBOSE_ARG" --test -- "$HOOKSDIR" | while read hook ++ eval run-parts "$HOOKSDIR" | while read hook + do + ( cat "$ADDED" + cat "$REMOVED" ) | "$hook" || echo "E: $hook exited with code $?." diff --git a/patches/source/ca-certificates/setup.11.cacerts b/patches/source/ca-certificates/setup.11.cacerts new file mode 100644 index 000000000..328b61c0f --- /dev/null +++ b/patches/source/ca-certificates/setup.11.cacerts @@ -0,0 +1,3 @@ +#!/bin/sh +#BLURB="Rebuild SSL certificate database." +chroot . usr/sbin/update-ca-certificates --fresh 1> /dev/null 2> /dev/null diff --git a/patches/source/ca-certificates/slack-desc b/patches/source/ca-certificates/slack-desc new file mode 100644 index 000000000..c302e8283 --- /dev/null +++ b/patches/source/ca-certificates/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +ca-certificates: ca-certificates (PEM Files of CA Certificates) +ca-certificates: +ca-certificates: This package includes PEM files of CA certificates to allow SSL-based +ca-certificates: applications to check for the authenticity of SSL connections. +ca-certificates: +ca-certificates: Homepage: http://packages.qa.debian.org/c/ca-certificates.html +ca-certificates: +ca-certificates: +ca-certificates: +ca-certificates: +ca-certificates: diff --git a/patches/source/cups/cups.SlackBuild b/patches/source/cups/cups.SlackBuild new file mode 100755 index 000000000..ce089ed8b --- /dev/null +++ b/patches/source/cups/cups.SlackBuild @@ -0,0 +1,196 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# CUPS build script by volkerdi@slackware.com. + +VERSION=1.5.4 +BUILD=${BUILD:-3_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-cups + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf cups-$VERSION +tar xvf $CWD/cups-$VERSION-source.tar.?z* || exit 1 +cd cups-$VERSION || exit 1 + +# Fix for CUPS 1.5.4. Don't reload the obsolete usblp module, as this +# can cause partial printing with certain printers. +zcat $CWD/usb-backend-reset-after-job-only-for-specific-devices.patch.gz | patch -p0 --verbose || exit 1 + +zcat $CWD/str4609-1.5.patch.gz | patch -p0 --verbose || exit 1 + +sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure +./configure \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --enable-ssl \ + --enable-openssl=yes \ + --enable-gnutls=no \ + --enable-cdsassl=no \ + --docdir=/usr/doc \ + --without-php \ + --disable-pam \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || exit 1 +mkdir -p $PKG/etc/cups +mkdir -p $PKG/var/spool +make BUILDROOT=$PKG install || exit 1 + +# Hey, what's with the gigantic test files? Bloat is bad. +rm -f $PKG/usr/share/cups/ipptool/*.{pdf,ps,jpg} + +# I've added so many things like /etc/init.d/ to Slackware that CUPS +# is now installing init scripts to the Red Hat locations. We'll move +# them to the usual locations: +mkdir -p $PKG/etc/rc.d +# Handle this as a config file, and non-executable in a default install: +mv $PKG/etc/init.d/cups $PKG/etc/rc.d/rc.cups.new +chmod 644 $PKG/etc/rc.d/rc.cups.new +# Clear out the additions: +rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d + +# I'm not sure if overwriting this blindly could have ill effects, +# but it never hurts to play it safe. According to the dbus-daemon +# manpage, only files ending in .conf will be used, so there won't +# be any unintended doubling up. +mv $PKG/etc/dbus-1/system.d/cups.conf $PKG/etc/dbus-1/system.d/cups.conf.new + +# For full CUPS SMB support, you'll need to install the cups-samba +# package from the source in this directory. There's no easy way +# to add that to a package build, and the requests aren't pouring in, +# so you'll have to install it yourself. It's easy to do. + +# However, this will get you the most useful SMB support for free. +# Thanks to Boris Kurktchiev for the tip. :-) +( cd $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend + if [ ! -e smb ]; then + ln -sf /usr/bin/smbspool smb + fi +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Remove preformatted manpages and move the manpages to /usr/man: +( cd $PKG/usr/share/man + find . -type d -name "cat*" | xargs rm -rf + cd .. + mv man .. +) + +# Adjust/expand docs: +( mkdir -p $PKG/usr/doc + mv $PKG/usr/share/doc/cups $PKG/usr/doc/cups-$VERSION + rmdir $PKG/usr/share/doc + cd $PKG/usr/doc + ln -sf cups-$VERSION cups ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES.txt ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat CHANGES.txt | head -n 1000 > $DOCSDIR/CHANGES.txt + touch -r CHANGES.txt $DOCSDIR/CHANGES.txt +fi + +# I'm sorry, but PDF files are almost as bloated and annoying as +# MS Word documents. We'll retain the HTML files in /usr/doc. +( cd $PKG/usr/doc + find . -name "*.pdf" -exec rm -f {} \; ) + +# Apply no-clobber fix to conffiles: +( cd $PKG/etc/cups + for file in * ; do + if [ -f $file ]; then + mv $file $file.new + fi + done ) + +# Strip stuff: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Use symlinks to certain binaries so that CUPS and LPRng can coexist: +SUFFIX=cups +for file in \ +usr/bin/cancel \ +usr/bin/lp \ +usr/bin/lpq \ +usr/bin/lpr \ +usr/bin/lprm \ +usr/bin/lpstat \ +usr/sbin/lpc ; do + ( cd $PKG + mv ${file} ${file}-${SUFFIX} + ( cd `dirname ${file}` ; ln -sf `basename ${file}`-${SUFFIX} `basename ${file}` ) + ) +done +# Now fix the associated man pages: +mv $PKG/usr/man/man1/cancel.1.gz $PKG/usr/man/man1/cancel-${SUFFIX}.1.gz +mv $PKG/usr/man/man1/lp.1.gz $PKG/usr/man/man1/lp-${SUFFIX}.1.gz +mv $PKG/usr/man/man1/lpq.1.gz $PKG/usr/man/man1/lpq-${SUFFIX}.1.gz +mv $PKG/usr/man/man1/lpr.1.gz $PKG/usr/man/man1/lpr-${SUFFIX}.1.gz +mv $PKG/usr/man/man1/lprm.1.gz $PKG/usr/man/man1/lprm-${SUFFIX}.1.gz +mv $PKG/usr/man/man1/lpstat.1.gz $PKG/usr/man/man1/lpstat-${SUFFIX}.1.gz +mv $PKG/usr/man/man8/lpc.8.gz $PKG/usr/man/man8/lpc-${SUFFIX}.8.gz +( cd $PKG/usr/man/man1 + ln -sf cancel-${SUFFIX}.1.gz cancel.1.gz + ln -sf lp-${SUFFIX}.1.gz lp.1.gz + ln -sf lpq-${SUFFIX}.1.gz lpq.1.gz + ln -sf lpr-${SUFFIX}.1.gz lpr.1.gz + ln -sf lprm-${SUFFIX}.1.gz lprm.1.gz + ln -sf lpstat-${SUFFIX}.1.gz lpstat.1.gz +) +( cd $PKG/usr/man/man8 + ln -sf lpc-${SUFFIX}.8.gz lpc.8.gz +) + +# Add the doinst.sh that installs the .new conffiles: +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/cups-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/cups/cups.url b/patches/source/cups/cups.url new file mode 100644 index 000000000..fc83aeb6b --- /dev/null +++ b/patches/source/cups/cups.url @@ -0,0 +1 @@ +http://ftp.easysw.com/pub/cups/1.5.4/cups-1.5.4-source.tar.bz2 diff --git a/patches/source/cups/doinst.sh b/patches/source/cups/doinst.sh new file mode 100644 index 000000000..6807cc3ac --- /dev/null +++ b/patches/source/cups/doinst.sh @@ -0,0 +1,34 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +for file in etc/cups/*.new ; do + config $file +done +config etc/dbus-1/system.d/cups.conf.new + +# This file will just have to go. It appeared for a while during a -current +# devel period and has never been part of a stable release. +#config etc/modprobe.d/cups.blacklist.usblp.conf.new +rm -f etc/modprobe.d/cups.blacklist.usblp.conf.new +rm -f etc/modprobe.d/cups.blacklist.usblp.conf + +# Leave any new rc.cups with the same permissions as the old one: +# This is a kludge, but it's because there's no --reference option +# on busybox's 'chmod': +if [ -e etc/rc.d/rc.cups ]; then + if [ -x etc/rc.d/rc.cups ]; then + chmod 755 etc/rc.d/rc.cups.new + else + chmod 644 etc/rc.d/rc.cups.new + fi +fi +# Then config() it: +config etc/rc.d/rc.cups.new diff --git a/patches/source/cups/slack-desc b/patches/source/cups/slack-desc new file mode 100644 index 000000000..c2e1643c9 --- /dev/null +++ b/patches/source/cups/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +cups: CUPS (Common UNIX Printing System) +cups: +cups: The Common UNIX Printing System provides a portable printing layer for +cups: UNIX(R)-like operating systems. It has been developed by Easy Software +cups: Products to promote a standard printing solution for all UNIX vendors +cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the +cups: basis for managing print jobs and queues. The CUPS package includes +cups: System V and Berkeley command-line interfaces, a PostScript RIP +cups: package for supporting non-PostScript printer drivers, and tools for +cups: creating additional printer drivers and other CUPS services. +cups: diff --git a/patches/source/cups/str4609-1.5.patch b/patches/source/cups/str4609-1.5.patch new file mode 100644 index 000000000..f0d940ead --- /dev/null +++ b/patches/source/cups/str4609-1.5.patch @@ -0,0 +1,341 @@ +Index: cgi-bin/ipp-var.c +=================================================================== +--- cgi-bin/ipp-var.c (revision 12588) ++++ cgi-bin/ipp-var.c (working copy) +@@ -1230,21 +1230,7 @@ + * Rewrite URIs... + */ + +- if (!strcmp(name, "member_uris")) +- { +- char url[1024]; /* URL for class member... */ +- +- +- cgiRewriteURL(attr->values[i].string.text, url, +- sizeof(url), NULL); +- +- snprintf(valptr, sizeof(value) - (valptr - value), +- "%s", url, +- strrchr(attr->values[i].string.text, '/') + 1); +- } +- else +- cgiRewriteURL(attr->values[i].string.text, valptr, +- sizeof(value) - (valptr - value), NULL); ++ cgiRewriteURL(attr->values[i].string.text, valptr, sizeof(value) - (valptr - value), NULL); + break; + } + +Index: cgi-bin/template.c +=================================================================== +--- cgi-bin/template.c (revision 12588) ++++ cgi-bin/template.c (working copy) +@@ -659,39 +659,7 @@ + while (*s) + { + if (*s == '<') +- { +- /* +- * Pass and , otherwise quote it... +- */ +- +- if (!_cups_strncasecmp(s, "", out); +- } +- else if (!_cups_strncasecmp(s, "", 4)) +- { +- fputs("", out); +- s += 3; +- } +- else +- fputs("<", out); +- } ++ fputs("<", out); + else if (*s == '>') + fputs(">", out); + else if (*s == '\"') +Index: scheduler/ipp.c +=================================================================== +--- scheduler/ipp.c (revision 12588) ++++ scheduler/ipp.c (working copy) +@@ -509,8 +509,8 @@ + * Remote unauthenticated user masquerading as local root... + */ + +- _cupsStrFree(username->values[0].string.text); +- username->values[0].string.text = _cupsStrAlloc(RemoteRoot); ++ _cupsStrFree(username->values[0].string.text); ++ username->values[0].string.text = _cupsStrAlloc(RemoteRoot); + } + } + +@@ -1648,7 +1648,10 @@ + cupsdSetString(&job->username, con->username); + + if (attr) +- cupsdSetString(&attr->values[0].string.text, con->username); ++ { ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(con->username); ++ } + } + else if (attr) + { +@@ -1699,48 +1702,11 @@ + * Also, we can only have 1 value and it must be a name value. + */ + +- switch (attr->value_tag) +- { +- case IPP_TAG_STRING : +- case IPP_TAG_TEXTLANG : +- case IPP_TAG_NAMELANG : +- case IPP_TAG_TEXT : +- case IPP_TAG_NAME : +- case IPP_TAG_KEYWORD : +- case IPP_TAG_URI : +- case IPP_TAG_URISCHEME : +- case IPP_TAG_CHARSET : +- case IPP_TAG_LANGUAGE : +- case IPP_TAG_MIMETYPE : +- /* +- * Free old strings... +- */ +- +- for (i = 0; i < attr->num_values; i ++) +- { +- _cupsStrFree(attr->values[i].string.text); +- attr->values[i].string.text = NULL; +- if (attr->values[i].string.charset) +- { +- _cupsStrFree(attr->values[i].string.charset); +- attr->values[i].string.charset = NULL; +- } +- } +- +- default : +- break; +- } +- +- /* +- * Use the default connection hostname instead... +- */ +- +- attr->value_tag = IPP_TAG_NAME; +- attr->num_values = 1; +- attr->values[0].string.text = _cupsStrAlloc(con->http.hostname); ++ ippDeleteAttribute(job->attrs, attr); ++ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-originating-host-name", NULL, con->http.hostname); + } +- +- attr->group_tag = IPP_TAG_JOB; ++ else ++ attr->group_tag = IPP_TAG_JOB; + } + else + { +@@ -1832,8 +1798,8 @@ + + attr = ippAddStrings(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-sheets", + 2, NULL, NULL); +- attr->values[0].string.text = _cupsStrRetain(printer->job_sheets[0]); +- attr->values[1].string.text = _cupsStrRetain(printer->job_sheets[1]); ++ attr->values[0].string.text = _cupsStrAlloc(printer->job_sheets[0]); ++ attr->values[1].string.text = _cupsStrAlloc(printer->job_sheets[1]); + } + + job->job_sheets = attr; +@@ -1859,7 +1825,8 @@ + * Force the leading banner to have the classification on it... + */ + +- cupsdSetString(&attr->values[0].string.text, Classification); ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(Classification); + + cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED " + "job-sheets=\"%s,none\", " +@@ -1876,7 +1843,8 @@ + * Can't put two different security markings on the same document! + */ + +- cupsdSetString(&attr->values[1].string.text, attr->values[0].string.text); ++ _cupsStrFree(attr->values[1].string.text); ++ attr->values[1].string.text = _cupsStrAlloc(attr->values[0].string.text); + + cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED " + "job-sheets=\"%s,%s\", " +@@ -1916,18 +1884,26 @@ + if (attr->num_values > 1 && + !strcmp(attr->values[0].string.text, attr->values[1].string.text)) + { +- cupsdSetString(&(attr->values[0].string.text), Classification); +- cupsdSetString(&(attr->values[1].string.text), Classification); ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(Classification); ++ _cupsStrFree(attr->values[1].string.text); ++ attr->values[1].string.text = _cupsStrAlloc(Classification); + } + else + { + if (attr->num_values == 1 || + strcmp(attr->values[0].string.text, "none")) +- cupsdSetString(&(attr->values[0].string.text), Classification); ++ { ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(Classification); ++ } + + if (attr->num_values > 1 && + strcmp(attr->values[1].string.text, "none")) +- cupsdSetString(&(attr->values[1].string.text), Classification); ++ { ++ _cupsStrFree(attr->values[1].string.text); ++ attr->values[1].string.text = _cupsStrAlloc(Classification); ++ } + } + + if (attr->num_values > 1) +@@ -4150,7 +4126,8 @@ + if (attr) + { + attr->value_tag = IPP_TAG_KEYWORD; +- cupsdSetString(&(attr->values[0].string.text), "no-hold"); ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc("no-hold"); + } + + /* +@@ -9491,7 +9468,6 @@ + if (format) + { + _cupsStrFree(format->values[0].string.text); +- + format->values[0].string.text = _cupsStrAlloc(mimetype); + } + else +@@ -10028,9 +10004,8 @@ + + if (attr) + { ++ attr->value_tag = IPP_TAG_KEYWORD; + _cupsStrFree(attr->values[0].string.text); +- +- attr->value_tag = IPP_TAG_KEYWORD; + attr->values[0].string.text = _cupsStrAlloc("no-hold"); + + cupsdAddEvent(CUPSD_EVENT_JOB_CONFIG_CHANGED, cupsdFindDest(job->dest), job, +@@ -10719,7 +10694,6 @@ + IPP_TAG_MIMETYPE)) != NULL) + { + _cupsStrFree(jformat->values[0].string.text); +- + jformat->values[0].string.text = _cupsStrAlloc(mimetype); + } + else +Index: scheduler/job.c +=================================================================== +--- scheduler/job.c (revision 12588) ++++ scheduler/job.c (working copy) +@@ -406,7 +406,10 @@ + + if ((attr = ippFindAttribute(job->attrs, "job-actual-printer-uri", + IPP_TAG_URI)) != NULL) +- cupsdSetString(&attr->values[0].string.text, printer->uri); ++ { ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(printer->uri); ++ } + else + ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI, + "job-actual-printer-uri", NULL, printer->uri); +@@ -1846,7 +1849,7 @@ + } + else if (i >= (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0]))) + break; +- ++ + if (!strcmp(line, "username")) + cupsdSetStringf(job->auth_env + i, "AUTH_USERNAME=%s", data); + else if (!strcmp(line, "domain")) +@@ -1950,7 +1953,10 @@ + + if ((attr = ippFindAttribute(job->attrs, "job-printer-uri", + IPP_TAG_URI)) != NULL) +- cupsdSetString(&(attr->values[0].string.text), p->uri); ++ { ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(p->uri); ++ } + + cupsdAddEvent(CUPSD_EVENT_JOB_STOPPED, p, job, + "Job #%d moved from %s to %s.", job->id, olddest, +@@ -2153,7 +2159,10 @@ + attr = ippFindAttribute(job->attrs, "job-hold-until", IPP_TAG_NAME); + + if (attr) +- cupsdSetString(&(attr->values[0].string.text), when); ++ { ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc(when); ++ } + else + attr = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD, + "job-hold-until", NULL, when); +@@ -2399,7 +2408,8 @@ + if (attr) + { + attr->value_tag = IPP_TAG_KEYWORD; +- cupsdSetString(&(attr->values[0].string.text), "no-hold"); ++ _cupsStrFree(attr->values[0].string.text); ++ attr->values[0].string.text = _cupsStrAlloc("no-hold"); + } + + default : +@@ -4146,7 +4156,10 @@ + "job-printer-state-message", + IPP_TAG_TEXT); + if (job->printer_message) +- cupsdSetString(&(job->printer_message->values[0].string.text), ""); ++ { ++ _cupsStrFree(job->printer_message->values[0].string.text); ++ job->printer_message->values[0].string.text = _cupsStrAlloc(""); ++ } + + cupsdSetJobState(job, IPP_JOB_PROCESSING, CUPSD_JOB_DEFAULT, NULL); + cupsdSetPrinterState(printer, IPP_PRINTER_PROCESSING, 0); +@@ -4708,10 +4721,15 @@ + + if (job->state_value != IPP_JOB_PROCESSING && + job->status_level == CUPSD_LOG_INFO) +- cupsdSetString(&(job->printer_message->values[0].string.text), ""); ++ { ++ _cupsStrFree(job->printer_message->values[0].string.text); ++ job->printer_message->values[0].string.text = _cupsStrAlloc(""); ++ } + else if (job->printer->state_message[0] && do_message) +- cupsdSetString(&(job->printer_message->values[0].string.text), +- job->printer->state_message); ++ { ++ _cupsStrFree(job->printer_message->values[0].string.text); ++ job->printer_message->values[0].string.text = _cupsStrAlloc(job->printer->state_message); ++ } + + /* + * ... and the printer-state-reasons value... diff --git a/patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch b/patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch new file mode 100644 index 000000000..dcf91c833 --- /dev/null +++ b/patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch @@ -0,0 +1,74 @@ +--- backend/usb-libusb.c.orig 2012-07-16 19:10:55.000000000 +0200 ++++ backend/usb-libusb.c 2012-08-06 11:01:58.034150159 +0200 +@@ -70,7 +70,7 @@ + read_endp, /* Read endpoint */ + protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */ + usblp_attached, /* "usblp" kernel module attached? */ +- opened_for_job; /* Set to 1 by print_device() */ ++ reset_after_job; /* Set to 1 by print_device() */ + unsigned int quirks; /* Quirks flags */ + struct libusb_device_handle *handle; /* Open handle to device */ + } usb_printer_t; +@@ -122,6 +122,8 @@ + #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */ + #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific + Class or SubClass */ ++#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset ++ for clean-up */ + #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach + the usblp kernel module */ + +@@ -147,9 +149,11 @@ + { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt + Printer M129C */ + { 0x067b, 0x2305, USBLP_QUIRK_BIDIR | +- USBLP_QUIRK_NO_REATTACH }, ++ USBLP_QUIRK_NO_REATTACH | ++ USBLP_QUIRK_RESET }, + /* Prolific Technology, Inc. PL2305 Parallel Port + (USB -> Parallel adapter) */ ++ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */ + { 0, 0 } + }; + +@@ -256,7 +260,12 @@ + } + + g.print_fd = print_fd; +- g.printer->opened_for_job = 1; ++ ++ /* ++ * Some devices need a reset after finishing a job, these devices are ++ * marked with the USBLP_QUIRK_RESET quirk. ++ */ ++ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0); + + /* + * If we are printing data from a print driver on stdin, ignore SIGTERM +@@ -772,7 +781,7 @@ + * Reset the device to clean up after the job + */ + +- if (printer->opened_for_job == 1) ++ if (printer->reset_after_job == 1) + { + if ((errcode = libusb_reset_device(printer->handle)) < 0) + fprintf(stderr, +@@ -1288,7 +1297,7 @@ + } + + printer->usblp_attached = 0; +- printer->opened_for_job = 0; ++ printer->reset_after_job = 0; + + if (verbose) + fputs("STATE: +connecting-to-device\n", stderr); +@@ -1586,7 +1595,7 @@ + for (i = 0; quirk_printers[i].vendorId; i++) + { + if (vendor == quirk_printers[i].vendorId && +- product == quirk_printers[i].productId) ++ (product == 0x0000 || product == quirk_printers[i].productId)) + return quirk_printers[i].quirks; + } + return 0; diff --git a/patches/source/curl/cacert-fetch.sh b/patches/source/curl/cacert-fetch.sh new file mode 100755 index 000000000..d0f156e2d --- /dev/null +++ b/patches/source/curl/cacert-fetch.sh @@ -0,0 +1 @@ +lftpget http://curl.haxx.se/ca/cacert.pem && rm cacert.pem.bz2 && bzip2 -9 cacert.pem diff --git a/patches/source/curl/cacert.pem b/patches/source/curl/cacert.pem new file mode 100644 index 000000000..45654c0b9 --- /dev/null +++ b/patches/source/curl/cacert.pem @@ -0,0 +1,3338 @@ +## +## Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Wed Mar 7 04:12:06 2018 GMT +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## +## Conversion done with mk-ca-bundle.pl version 1.27. +## SHA256: 704f02707ec6b4c4a7597a8c6039b020def11e64f3ef0605a9c3543d48038a57 +## + + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ +KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy +T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT +J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e +nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +Visa eCommerce Root +=================== +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG +EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug +QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 +WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm +VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL +F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b +RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 +TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI +/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs +GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc +CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW +YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz +zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu +YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx +ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 +XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk +lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB +lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy +lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt +66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn +wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh +D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy +BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie +J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud +DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU +a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv +Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 +UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm +VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK ++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW +IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 +WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X +f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II +4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 +VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx +OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg +DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij +KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K +DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv +BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp +p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 +nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX +MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM +Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz +uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT +BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj +YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB +BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD +VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 +ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE +AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV +qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s +hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z +POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 +Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp +8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC +bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu +g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p +vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr +qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +Certplus Class 2 Primary CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE +BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN +OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy +dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR +5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ +Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO +YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e +e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME +CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ +YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t +L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD +P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R +TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ +7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW +//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw +EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN +MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp +c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq +t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C +jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg +vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF +ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR +AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend +jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO +peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR +7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi +GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 +OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm +5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr +44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf +Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m +Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp +mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk +vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf +KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br +NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj +viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT +BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X +DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 +aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 +N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm ++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH +6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu +MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h +qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 +FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs +ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc +celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X +CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB +tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P +4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F +kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L +3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx +/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa +DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP +e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu +WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ +DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub +DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +Deutsche Telekom Root CA 2 +========================== +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT +RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG +A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 +MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G +A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS +b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 +bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI +KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY +AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK +Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV +jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV +HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr +E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy +zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 +rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G +dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +======================================== +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG +EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz +MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu +QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ +03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK +ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU ++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC +PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT +OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK +F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK +0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ +0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB +leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID +AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ +SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG +NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l +Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga +kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q +hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs +g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 +aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 +nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC +ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo +Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z +WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM +BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE +AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky +MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz +IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ +wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa +by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 +zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f +YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 +oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l +EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 +hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 +EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 +jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY +iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI +WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 +JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx +K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ +Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC +4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo +2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz +lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem +OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 +vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe +Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE +LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD +ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA +BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv +KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z +p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC +AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ +4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y +eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw +MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G +PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw +OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm +2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV +dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph +X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 EV 2009 +================================= +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS +egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh +zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T +7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 +sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 +11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv +cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v +ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El +MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp +b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh +c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ +PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX +ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA +NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv +w9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +CA Disig Root R2 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC +w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia +xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 +A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S +GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV +g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa +5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE +koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A +Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i +Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u +Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV +sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je +dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 +1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx +mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 +utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 +sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg +UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV +7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +ACCVRAIZ1 +========= +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB +SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 +MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH +UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM +jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 +RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD +aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ +0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG +WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 +8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR +5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J +9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK +Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw +Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu +Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM +Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA +QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh +AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA +YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj +AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA +IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk +aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 +dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 +MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI +hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E +R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN +YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 +nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ +TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 +sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg +Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd +3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p +EfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +TWCA Global Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT +CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD +QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK +EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C +nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV +r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR +Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV +tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W +KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 +sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p +yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn +kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI +zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g +cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M +8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg +/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg +lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP +A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m +i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 +EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 +zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= +-----END CERTIFICATE----- + +TeliaSonera Root CA v1 +====================== +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE +CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 +MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW +VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ +6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA +3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k +B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn +Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH +oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 +F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ +oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 +gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc +TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB +AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW +DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm +zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW +pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV +G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc +c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT +JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 +qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 +Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems +WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +E-Tugra Certification Authority +=============================== +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w +DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls +ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw +NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx +QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl +cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD +DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd +hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K +CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g +ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ +BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 +E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz +rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq +jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 +dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB +/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG +MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK +kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO +XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 +VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo +a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc +dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV +KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT +Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 +8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G +C7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 2 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx +MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ +SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F +vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 +2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV +WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy +YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 +r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf +vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR +3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== +-----END CERTIFICATE----- + +Atos TrustedRoot 2011 +===================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU +cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 +MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG +A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV +hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr +54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ +DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 +HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR +z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R +l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ +bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h +k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh +TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 +61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G +3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +QuoVadis Root CA 1 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE +PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm +PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 +Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN +ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l +g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV +7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX +9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f +iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg +t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI +hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 +GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct +Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP ++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh +3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa +wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 +O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 +FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV +hMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +QuoVadis Root CA 2 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh +ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY +NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t +oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o +MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l +V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo +L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ +sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD +6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh +lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI +hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K +pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 +x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz +dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X +U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw +mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD +zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN +JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr +O3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +QuoVadis Root CA 3 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 +IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL +Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe +6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 +I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U +VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 +5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi +Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM +dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt +rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI +hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS +t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ +TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du +DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib +Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD +hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX +0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW +dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 +PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +DigiCert Assured ID Root G2 +=========================== +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw +MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH +35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq +bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw +VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP +YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn +lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO +w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv +0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz +d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW +hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M +jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +DigiCert Assured ID Root G3 +=========================== +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD +VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb +RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs +KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF +UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy +YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy +1vUhZscv6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +DigiCert Global Root G2 +======================= +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx +MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ +kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO +3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV +BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM +UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu +5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr +F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U +WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH +QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ +iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +DigiCert Global Root G3 +======================= +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD +VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw +MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k +aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C +AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O +YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp +Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y +3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 +VOKa5Vt8sycX +-----END CERTIFICATE----- + +DigiCert Trusted Root G4 +======================== +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw +HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp +pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o +k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa +vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY +QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 +MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm +mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 +f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH +dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 +oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY +ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr +yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy +7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah +ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN +5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb +/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa +5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK +G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP +82Z+ +-----END CERTIFICATE----- + +COMODO RSA Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn +dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ +FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ +5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG +x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX +2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL +OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 +sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C +GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 +WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt +rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ +nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg +tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW +sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp +pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA +zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq +ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 +7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- + +USERTrust RSA Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz +0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j +Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn +RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O ++T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq +/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE +Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM +lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 +yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ +eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW +FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ +7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ +Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM +8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi +FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi +yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c +J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw +sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx +Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +USERTrust ECC Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 +0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez +nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV +HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB +HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu +9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R4 +=========================== +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl +OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV +MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF +JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R5 +=========================== +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 +SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS +h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx +uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 +yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G3 +================================== +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y +olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t +x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy +EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K +Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur +mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5 +1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp +07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo +FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE +41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu +yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq +KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1 +v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA +8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b +8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r +mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq +1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI +JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV +tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk= +-----END CERTIFICATE----- + +Staat der Nederlanden EV Root CA +================================ +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M +MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl +cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk +SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW +O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r +0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 +Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV +XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr +08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV +0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd +74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx +fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa +ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu +c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq +5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN +b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN +f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi +5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 +WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK +DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy +eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== +-----END CERTIFICATE----- + +IdenTrust Commercial Root CA 1 +============================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS +b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES +MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB +IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld +hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ +mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi +1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C +XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl +3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy +NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV +WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg +xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix +uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI +hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg +ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt +ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV +YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX +feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro +kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe +2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz +Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R +cGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +IdenTrust Public Sector Root CA 1 +================================= +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv +ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV +UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS +b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy +P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 +Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI +rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf +qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS +mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn +ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh +LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v +iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL +4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B +Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw +DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A +mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt +GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt +m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx +NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 +Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI +ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC +ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ +3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy +bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug +b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw +HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT +DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx +OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP +/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz +HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU +s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y +TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx +AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 +0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z +iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi +nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ +vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO +e4pIb4tF9g== +-----END CERTIFICATE----- + +Entrust Root Certification Authority - EC1 +========================================== +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx +FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn +YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw +FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs +LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy +AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef +9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h +vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 +kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +CFCA EV ROOT +============ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE +CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB +IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw +MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD +DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV +BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD +7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN +uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW +ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 +xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f +py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K +gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol +hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ +tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf +BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q +ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua +4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG +E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX +BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn +aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy +PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX +kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C +ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5 +==================================================== +-----BEGIN CERTIFICATE----- +MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg +RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw +ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w +SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE +n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp +ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537 +jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m +ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP +9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV +4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH +HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo +BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq +URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl +lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8 +B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU= +-----END CERTIFICATE----- + +Certinomis - Root CA +==================== +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg +LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx +EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD +ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos +P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo +d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap +z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00 +8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x +RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE +6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t +FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV +PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH +i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj +YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I +6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV +WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw +Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX +lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ +y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9 +Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng +DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi +I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM +cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr +hkIGuUE= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GB CA +=============================== +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG +EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw +MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds +b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX +scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP +rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk +9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o +Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg +GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI +hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD +dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 +VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui +HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +SZAFIR ROOT CA2 +=============== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV +BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ +BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD +VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q +qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK +DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE +2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ +ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi +ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC +AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 +O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 +oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul +4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 ++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +Certum Trusted Network CA 2 +=========================== +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE +BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 +bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y +ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ +TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB +IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 +7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o +CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b +Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p +uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 +GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ +9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB +Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye +hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM +BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI +hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW +Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA +L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo +clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM +pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb +w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo +J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm +ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX +is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 +zAYspsbiDrW5viSP +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2015 +======================================================= +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT +BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 +aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl +YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx +MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg +QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV +BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw +MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv +bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh +iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ +6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd +FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr +i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F +GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 +fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu +iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI +hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ +D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM +d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y +d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn +82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb +davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F +Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt +J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa +JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q +p/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions ECC RootCA 2015 +=========================================================== +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 +aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj +aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw +MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj +IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD +VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 +Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP +dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK +Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA +GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn +dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +Certplus Root CA G1 +=================== +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUAMD4xCzAJBgNV +BAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTAe +Fw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhD +ZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHN +r49aiZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt6kuJPKNx +Qv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP0FG7Yn2ksYyy/yARujVj +BYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTv +LRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDEEW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2 +z4QTd28n6v+WZxcIbekN1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc +4nBvCGrch2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCTmehd +4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV4EJQeIQEQWGw9CEj +jy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPOWftwenMGE9nTdDckQQoRb5fc5+R+ +ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0G +A1UdDgQWBBSowcCbkahDFXxdBie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHY +lwuBsTANBgkqhkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh +66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7/SMNkPX0XtPG +YX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BSS7CTKtQ+FjPlnsZlFT5kOwQ/ +2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F +6ALEUz65noe8zDUa3qHpimOHZR4RKttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilX +CNQ314cnrUlZp5GrRHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWe +tUNy6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEVV/xuZDDC +VRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5g4VCXA9DO2pJNdWY9BW/ ++mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl++O/QmueD6i9a5jc2NvLi6Td11n0bt3+ +qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo= +-----END CERTIFICATE----- + +Certplus Root CA G2 +=================== +-----BEGIN CERTIFICATE----- +MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT +AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x +NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0 +cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN +Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud +IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV +HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl +vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw== +-----END CERTIFICATE----- + +OpenTrust Root CA G1 +==================== +-----BEGIN CERTIFICATE----- +MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUAMEAxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcx +MB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM +CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7fa +Yp6bwiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX/uMftk87 +ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR077F9jAHiOH3BX2pfJLKO +YheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGPuY4zbGneWK2gDqdkVBFpRGZPTBKnjix9 +xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLxp2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO +9z0M+Yo0FMT7MzUj8czxKselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq +3ywgsNw2TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+WG+Oi +n6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPwvFEVVJSmdz7QdFG9 +URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYYEQRVzXR7z2FwefR7LFxckvzluFqr +TJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUl0YhVyE12jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/Px +N3DlCPaTKbYwDQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E +PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kfgLMtMrpkZ2Cv +uVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbSFXJfLkur1J1juONI5f6ELlgK +n0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLh +X4SPgPL0DTatdrOjteFkdjpY3H1PXlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80 +nR14SohWZ25g/4/Ii+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcm +GS3tTAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L9109S5zvE/ +bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/KyPu1svf0OnWZzsD2097+o +4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJAwSQiumPv+i2tCqjI40cHLI5kqiPAlxA +OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx +-----END CERTIFICATE----- + +OpenTrust Root CA G2 +==================== +-----BEGIN CERTIFICATE----- +MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUAMEAxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcy +MB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM +CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+ +Ntmh/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78eCbY2albz +4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/61UWY0jUJ9gNDlP7ZvyCV +eYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fEFY8ElggGQgT4hNYdvJGmQr5J1WqIP7wt +UdGejeBSzFfdNTVY27SPJIjki9/ca1TSgSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz +3GIZ38i1MH/1PCZ1Eb3XG7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj +3CzMpSZyYhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaHvGOz +9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4t/bQWVyJ98LVtZR0 +0dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/gh7PU3+06yzbXfZqfUAkBXKJOAGT +y3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUajn6QiL35okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59 +M4PLuG53hq8wDQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz +Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0nXGEL8pZ0keI +mUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qTRmTFAHneIWv2V6CG1wZy7HBG +S4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpTwm+bREx50B1ws9efAvSyB7DH5fitIw6mVskp +EndI2S9G/Tvw/HRwkqWOOAgfZDC2t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ +6e18CL13zSdkzJTaTkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97kr +gCf2o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU3jg9CcCo +SmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eAiN1nE28daCSLT7d0geX0 +YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14fWKGVyasvc0rQLW6aWQ9VGHgtPFGml4vm +u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK +-----END CERTIFICATE----- + +OpenTrust Root CA G3 +==================== +-----BEGIN CERTIFICATE----- +MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X +DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w +ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B +ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB +/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf +BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM +BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta +3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB +-----END CERTIFICATE----- + +ISRG Root X1 +============ +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE +BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD +EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG +EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT +DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r +Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 +3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K +b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN +Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ +4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf +1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu +hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH +usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r +OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G +A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY +9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV +0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt +hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw +TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx +e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA +JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD +YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n +JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ +m+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM +================ +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT +AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw +MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD +TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf +qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr +btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL +j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou +08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw +WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT +tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ +47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC +ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa +i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o +dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s +D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ +j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT +Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW ++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 +Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d +8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm +5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG +rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +Amazon Root CA 1 +================ +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 +MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH +FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ +gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t +dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce +VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 +DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM +CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy +8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa +2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 +xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +Amazon Root CA 2 +================ +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 +MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 +kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp +N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 +AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd +fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx +kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS +btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 +Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN +c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ +3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw +DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA +A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE +YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW +xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ +gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW +aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV +Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 +KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi +JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= +-----END CERTIFICATE----- + +Amazon Root CA 3 +================ +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB +f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr +Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 +rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc +eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +Amazon Root CA 4 +================ +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN +/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri +83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA +MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 +AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +LuxTrust Global Root 2 +====================== +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG +A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh +bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW +MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm +Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2 +xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC +wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm +1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm +FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF +wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/ +a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U +ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ +MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB +/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5 +Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ +FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN +H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW +7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu +ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA +VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR +TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt +/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc +7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I +iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT +D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr +IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g +TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp +ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD +VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt +c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth +bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 +IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 +6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc +wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 +3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 +WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU +ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc +lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R +e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j +q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +GDCA TrustAUTH R5 ROOT +====================== +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw +BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD +DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow +YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs +AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p +OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr +pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ +9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ +xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM +R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ +D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 +oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx +9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 +H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 +6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd ++PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ +HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD +F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ +8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv +/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT +aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +TrustCor RootCert CA-1 +====================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP +MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig +U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx +MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu +YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe +VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy +dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq +jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4 +pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0 +JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h +gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw +/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j +BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5 +mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C +qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P +3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +TrustCor RootCert CA-2 +====================== +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w +DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT +eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0 +eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy +MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h +bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0 +IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb +ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk +RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1 +oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb +XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1 +/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q +jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP +eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg +rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU +2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h +Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp +kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv +2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3 +S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw +PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv +DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU +RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE +xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX +RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ +-----END CERTIFICATE----- + +TrustCor ECA-1 +============== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP +MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig +U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw +N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5 +MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y +IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR +MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23 +xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc +p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+ +fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj +YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL +f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u +/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs +J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC +jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g== +-----END CERTIFICATE----- + +SSL.com Root Certification Authority RSA +======================================== +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM +BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x +MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw +MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM +LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C +Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8 +P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge +oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp +k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z +fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ +gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2 +UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8 +1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s +bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr +dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf +ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl +u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq +erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj +MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ +vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI +Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y +wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI +WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +SSL.com Root Certification Authority ECC +======================================== +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv +BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy +MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO +BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ +8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR +hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT +jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW +e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z +5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority RSA R2 +============================================== +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w +DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u +MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI +DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD +VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh +hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w +cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO +Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ +B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh +CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim +9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto +RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm +JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 ++qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp +qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 +++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx +Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G +guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz +OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 +CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq +lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR +rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 +hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX +9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority ECC +=========================================== +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy +BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw +MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM +LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy +3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O +BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe +5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ +N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm +m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- diff --git a/patches/source/curl/curl.SlackBuild b/patches/source/curl/curl.SlackBuild new file mode 100755 index 000000000..d3449d48f --- /dev/null +++ b/patches/source/curl/curl.SlackBuild @@ -0,0 +1,152 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=curl +VERSION=${VERSION:-$(echo curl-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-curl + +# Uncomment to build a no-SSL version: +#SSLOPT=--without-ssl + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $PKG +cd $TMP +rm -rf curl-$VERSION +tar xvf $CWD/curl-$VERSION.tar.xz || exit 1 +cd curl-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --with-ca-bundle=/usr/share/curl/ca-bundle.crt \ + --enable-static=no \ + $SSLOPT || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# We have always installed the man3 documentation, so we'll keep doing it +# even though these are no longer installed by default. No || exit 1, if +# it works, it works, and if it doesn't, we tried. +( cd docs/libcurl + make install-man3 DESTDIR=$PKG + cd opts + make install-man3 DESTDIR=$PKG +) + +mkdir -p $PKG/usr/share/curl +cp -a $CWD/cacert.pem.bz2 $PKG/usr/share/curl +( cd $PKG/usr/share/curl + bzip2 -d cacert.pem.bz2 + mv cacert.pem ca-bundle.crt + chown root:root ca-bundle.crt + chmod 644 ca-bundle.crt +) + +# We don't ship the related perl script (yet): +rm -f $PKG/usr/man/man1/mk-ca-bundle.1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libcurl.a + +mkdir -p $PKG/usr/doc/curl-$VERSION +cp -a \ + COPYING* README* UPGRADE \ + $PKG/usr/doc/curl-$VERSION +( cd docs + cp -a \ + BUGS CONTRIBUTE FAQ FEATURES INSTALL INTERNALS MANUAL README* RESOURCES THANKS TODO examples \ + $PKG/usr/doc/curl-$VERSION ) +# Get rid of .deps cruft: +rm -rf $PKG/usr/doc/curl-$VERSION/examples/.deps + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat CHANGES | head -n 1000 > $DOCSDIR/ChangeLog + touch -r CHANGES $DOCSDIR/ChangeLog +fi + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/curl-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/curl/slack-desc b/patches/source/curl/slack-desc new file mode 100644 index 000000000..0fe5c532c --- /dev/null +++ b/patches/source/curl/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +curl: curl (command line URL data transfer tool) +curl: +curl: Curl is a command line tool for transferring data specified with URL +curl: syntax. The command is designed to work without user interaction or +curl: any kind of interactivity. Curl offers a busload of useful tricks +curl: like proxy support, user authentication, ftp upload, HTTP post, SSL +curl: (https:) connections, cookies, file transfer resume and more. +curl: +curl: libcurl is a library that Curl uses to do its job. It is readily +curl: available to be used by your software, too. +curl: diff --git a/patches/source/dbus/dbus-1.4.x-allow_root_globally.diff b/patches/source/dbus/dbus-1.4.x-allow_root_globally.diff new file mode 100644 index 000000000..6bd84833f --- /dev/null +++ b/patches/source/dbus/dbus-1.4.x-allow_root_globally.diff @@ -0,0 +1,18 @@ +diff -Nur dbus-1.4.0.orig//bus/system.conf.in dbus-1.4.0//bus/system.conf.in +--- dbus-1.4.0.orig//bus/system.conf.in 2010-08-31 16:44:19.000000000 -0500 ++++ dbus-1.4.0//bus/system.conf.in 2010-09-14 09:17:56.080373096 -0500 +@@ -70,6 +70,14 @@ + send_member="UpdateActivationEnvironment"/> + + ++ ++ ++ ++ ++ ++ + + system.d diff --git a/patches/source/dbus/dbus.CVE-2013-2168.diff b/patches/source/dbus/dbus.CVE-2013-2168.diff new file mode 100644 index 000000000..7ae8f4a0d --- /dev/null +++ b/patches/source/dbus/dbus.CVE-2013-2168.diff @@ -0,0 +1,91 @@ +From 954d75b2b64e4799f360d2a6bf9cff6d9fee37e7 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 10 Jun 2013 17:06:47 +0000 +Subject: CVE-2013-2168: _dbus_printf_string_upper_bound: copy the va_list for each use + +Using a va_list more than once is non-portable: it happens to work +under the ABI of (for instance) x86 Linux, but not x86-64 Linux. + +This led to _dbus_printf_string_upper_bound() crashing if it should +have returned exactly 1024 bytes. Many system services can be induced +to process a caller-controlled string in ways that +end up using _dbus_printf_string_upper_bound(), so this is a denial of +service. + +Reviewed-by: Thiago Macieira +--- +diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c +index fc67799..e31c735 100644 +--- a/dbus/dbus-sysdeps-unix.c ++++ b/dbus/dbus-sysdeps-unix.c +@@ -3121,8 +3121,11 @@ _dbus_printf_string_upper_bound (const char *format, + char static_buf[1024]; + int bufsize = sizeof (static_buf); + int len; ++ va_list args_copy; + +- len = vsnprintf (static_buf, bufsize, format, args); ++ DBUS_VA_COPY (args_copy, args); ++ len = vsnprintf (static_buf, bufsize, format, args_copy); ++ va_end (args_copy); + + /* If vsnprintf() returned non-negative, then either the string fits in + * static_buf, or this OS has the POSIX and C99 behaviour where vsnprintf +@@ -3138,8 +3141,12 @@ _dbus_printf_string_upper_bound (const char *format, + * or the real length could be coincidentally the same. Which is it? + * If vsnprintf returns the truncated length, we'll go to the slow + * path. */ +- if (vsnprintf (static_buf, 1, format, args) == 1) ++ DBUS_VA_COPY (args_copy, args); ++ ++ if (vsnprintf (static_buf, 1, format, args_copy) == 1) + len = -1; ++ ++ va_end (args_copy); + } + + /* If vsnprintf() returned negative, we have to do more work. +@@ -3155,7 +3162,10 @@ _dbus_printf_string_upper_bound (const char *format, + if (buf == NULL) + return -1; + +- len = vsnprintf (buf, bufsize, format, args); ++ DBUS_VA_COPY (args_copy, args); ++ len = vsnprintf (buf, bufsize, format, args_copy); ++ va_end (args_copy); ++ + dbus_free (buf); + + /* If the reported length is exactly the buffer size, round up to the +diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c +index bc4951b..c42316f 100644 +--- a/dbus/dbus-sysdeps-win.c ++++ b/dbus/dbus-sysdeps-win.c +@@ -538,9 +538,12 @@ int _dbus_printf_string_upper_bound (const char *format, + char buf[1024]; + int bufsize; + int len; ++ va_list args_copy; + + bufsize = sizeof (buf); +- len = _vsnprintf (buf, bufsize - 1, format, args); ++ DBUS_VA_COPY (args_copy, args); ++ len = _vsnprintf (buf, bufsize - 1, format, args_copy); ++ va_end (args_copy); + + while (len == -1) /* try again */ + { +@@ -553,7 +556,9 @@ int _dbus_printf_string_upper_bound (const char *format, + if (p == NULL) + return -1; + +- len = _vsnprintf (p, bufsize - 1, format, args); ++ DBUS_VA_COPY (args_copy, args); ++ len = _vsnprintf (p, bufsize - 1, format, args_copy); ++ va_end (args_copy); + free (p); + } + +-- +cgit v0.9.0.2-2-gbebe + diff --git a/patches/source/dbus/dbus.SlackBuild b/patches/source/dbus/dbus.SlackBuild new file mode 100755 index 000000000..554a09047 --- /dev/null +++ b/patches/source/dbus/dbus.SlackBuild @@ -0,0 +1,145 @@ +#!/bin/sh + +# Copyright 2007-2010 Robby Workman, Northport, Alabama, USA +# Copyright 2007-2012 Patrick Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=dbus +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-4_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/dbus-1.4.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/dbus.set.home.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/dbus.CVE-2013-2168.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-doxygen-docs \ + --enable-shared=yes \ + --enable-static=no \ + --enable-inotify \ + --enable-x11-autolaunch \ + --with-system-pid-file=/var/run/dbus/dbus.pid \ + --with-system-socket=/var/run/dbus/system_bus_socket \ + --with-init-scripts=slackware \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Install a custom init script for dbus - the included one is not good for us +rm $PKG/etc/rc.d/* +zcat $CWD/rc.messagebus.gz > $PKG/etc/rc.d/rc.messagebus.new +chmod 0755 $PKG/etc/rc.d/rc.messagebus.new + +# Fix some directory ownership +chown messagebus $PKG/var/lib/dbus + +# Add documentation +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* HACKING INSTALL NEWS README* doc/*.{txt,html,dtd} \ + $PKG/usr/doc/$PKGNAM-$VERSION +find $PKG/usr/doc/$PKGNAM-$VERSION -type f -exec chmod 0644 {} \; + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/dbus/dbus.set.home.diff b/patches/source/dbus/dbus.set.home.diff new file mode 100644 index 000000000..5c0f7976a --- /dev/null +++ b/patches/source/dbus/dbus.set.home.diff @@ -0,0 +1,22 @@ +Set HOME environment variable when switching user. + +2011-08-05 Egor Y. Egorov + +References: +https://bugs.freedesktop.org/show_bug.cgi?id=39857 +https://bugs.kde.org/show_bug.cgi?id=249217#c27 + +diff --git a/bus/activation-helper.c b/bus/activation-helper.c +index baba8f0..b75ea7c 100644 +--- a/bus/activation-helper.c ++++ b/bus/activation-helper.c +@@ -344,6 +344,8 @@ switch_user (char *user, DBusError *error) + "cannot setuid user %i", pw->pw_uid); + return FALSE; + } ++ ++ _dbus_setenv ("HOME", pw->pw_dir); + #endif + return TRUE; + } + diff --git a/patches/source/dbus/doinst.sh b/patches/source/dbus/doinst.sh new file mode 100644 index 000000000..d12d7756a --- /dev/null +++ b/patches/source/dbus/doinst.sh @@ -0,0 +1,22 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.messagebus.new: +if [ -e etc/rc.d/rc.messagebus ]; then + cp -a etc/rc.d/rc.messagebus etc/rc.d/rc.messagebus.new.incoming + cat etc/rc.d/rc.messagebus.new > etc/rc.d/rc.messagebus.new.incoming + mv etc/rc.d/rc.messagebus.new.incoming etc/rc.d/rc.messagebus.new +fi + +config etc/rc.d/rc.messagebus.new + diff --git a/patches/source/dbus/rc.messagebus b/patches/source/dbus/rc.messagebus new file mode 100644 index 000000000..fb035af54 --- /dev/null +++ b/patches/source/dbus/rc.messagebus @@ -0,0 +1,82 @@ +#!/bin/sh +# +# messagebus: The D-BUS systemwide message bus +# +# description: This is a daemon which broadcasts notifications of system events \ +# and other messages. See http://www.freedesktop.org/software/dbus/ +# +# processname: dbus-daemon +# pidfile: /var/run/dbus/pid + +# This is a modified version of the rc.messagebus script distributed with the +# dbus sources. Thanks to Don Tanner of the GWare 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..908a751d9 --- /dev/null +++ b/patches/source/dhcp/dhcp.SlackBuild @@ -0,0 +1,179 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=dhcp +# Leave this one .gz as other compressors do not help much and we can keep +# the original upstream .asc +VERSION=${VERSION:-$(basename $(echo $PKGNAM-*.tar.gz | cut -f 2- -d -) .tar.gz)} +BUILD=${BUILD:-1_slack14.0} + +PKG_VERSION=$(echo $VERSION | tr - _) + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-dhcp + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf dhcp-$VERSION +tar xvf $CWD/dhcp-$VERSION.tar.gz || exit 1 +cd dhcp-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Add PATH setting to /sbin/dhclient-script +zcat $CWD/dhclient-script.PATH.diff.gz | patch -p1 || exit 1 + +# Fix paths in manual pages +sed -i \ + -e "s,ETCDIR,/etc,g" \ + -e "s,DBDIR,/var/state/dhcp,g" \ + -e "s,RUNDIR,/var/run,g" \ + client/*.{5,8} \ + server/*.{5,8} \ + doc/*/*.{5,8} + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --docdir=/usr/doc/dhcp-$VERSION \ + --build=$ARCH-slackware-linux \ + --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \ + --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \ + --with-cli-lease-file=/var/state/dhcp/dhclient.leases \ + --with-cli6-lease-file=/var/state/dhcp/dhclient6.leases +# Default pid dir is still /var/run, so no need to declare it + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# DHCP libraries need not be included, yet. +rm -rf $PKG/usr/{include,lib${LIBDIRSUFFIX}} + +# We need this in /sbin +mkdir -p $PKG/sbin +mv $PKG/usr/sbin/dhclient $PKG/sbin + +# Install the dhclient-script for linux +cat client/scripts/linux > $PKG/sbin/dhclient-script +chmod 700 $PKG/sbin/dhclient-script + +# Create the initial *.leases files: +mkdir -p $PKG/var/state/dhcp +touch $PKG/var/state/dhcp/dhcpd.leases.new +touch $PKG/var/state/dhcp/dhcpd6.leases.new +touch $PKG/var/state/dhcp/dhclient.leases.new +touch $PKG/var/state/dhcp/dhclient6.leases.new + +cat << EOF > $PKG/etc/dhcpd.conf.new +# dhcpd.conf +# +# Configuration file for ISC dhcpd (see 'man dhcpd.conf') +# +EOF + +cat << EOF > $PKG/etc/dhclient.conf.new +# dhclient.conf +# +# Configuration file for ISC dhclient (see 'man dhclient.conf') +# +EOF + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/dhcp-$VERSION/examples +cp -a \ + LICENSE README RELNOTES \ + $PKG/usr/doc/dhcp-$VERSION +mv $PKG/etc/dhcpd.conf $PKG/etc/dhclient.conf \ + $PKG/usr/doc/dhcp-$VERSION/examples + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/dhcp-$PKG_VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/dhcp/doinst.sh b/patches/source/dhcp/doinst.sh new file mode 100644 index 000000000..a376034a5 --- /dev/null +++ b/patches/source/dhcp/doinst.sh @@ -0,0 +1,21 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/dhcpd.conf.new +config etc/dhclient.conf.new +config var/state/dhcp/dhcpd.leases.new +config var/state/dhcp/dhcpd6.leases.new +config var/state/dhcp/dhclient.leases.new +config var/state/dhcp/dhclient6.leases.new +rm -f var/state/dhcp/*.leases.new + diff --git a/patches/source/dhcp/slack-desc b/patches/source/dhcp/slack-desc new file mode 100644 index 000000000..f586e4e1b --- /dev/null +++ b/patches/source/dhcp/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +dhcp: dhcp (DHCP server and client utilities) +dhcp: +dhcp: This package provides the ISC's DHCP utilities, including both a +dhcp: server and client. The DHCP protocol allows a host to contact a +dhcp: central server which maintains a list of IP addresses which may be +dhcp: assigned on one or more subnets. A DHCP client may request an +dhcp: address from this pool, and then use it temporarily for communication +dhcp: on the network. The DHCP protocol also provides a mechanism whereby +dhcp: a client can learn important details about the network to which it is +dhcp: attached, such as the location of a default router or name server. +dhcp: diff --git a/patches/source/dhcpcd/COPYRIGHT b/patches/source/dhcpcd/COPYRIGHT new file mode 100644 index 000000000..a75c8ce10 --- /dev/null +++ b/patches/source/dhcpcd/COPYRIGHT @@ -0,0 +1,26 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright (c) 2006-2012 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ diff --git a/patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch b/patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch new file mode 100644 index 000000000..ca0273f36 --- /dev/null +++ b/patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch @@ -0,0 +1,32 @@ +From 293f23ad36f2c84cf67c483d944157834f4417a6 Mon Sep 17 00:00:00 2001 +From: Robby Workman +Date: Wed, 23 May 2012 21:33:30 -0500 +Subject: [PATCH] configure: Define SERVICE* for Slackware + +Slackware uses /etc/rc.d/rc.$service instead of just $service, +so configure doesn't find those. This patch overrides the +defaults for SERVICEEXISTS, SERVICECMD, and SERVICESTATUS. +--- + configure | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure b/configure +index b334497..e6554ca 100755 +--- a/configure ++++ b/configure +@@ -413,6 +413,12 @@ if [ -z "$SERVICECMD" ]; then + fi + done + fi ++if [ -e /etc/slackware-version ]; then ++ echo "Overriding service status check for Slackware Linux" ++ SERVICEEXISTS="[ -x /etc/rc.d/rc.\$1 ]" ++ SERVICECMD="/etc/rc.d/rc.\$1 \$2" ++ SERVICESTATUS="/etc/rc.d/rc.\$1 status 1>/dev/null 2>&1" ++fi + if [ -e /etc/arch-release ]; then + echo "Overriding service status check for Arch Linux" + SERVICESTATUS="[ -e /var/run/daemons/\$1 ]" +-- +1.7.10.1 + diff --git a/patches/source/dhcpcd/dhcpcd.SlackBuild b/patches/source/dhcpcd/dhcpcd.SlackBuild new file mode 100755 index 000000000..f24924701 --- /dev/null +++ b/patches/source/dhcpcd/dhcpcd.SlackBuild @@ -0,0 +1,134 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo dhcpcd-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-dhcpcd + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf dhcpcd-$VERSION +tar xvf $CWD/dhcpcd-$VERSION.tar.?z* || exit 1 +cd dhcpcd-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# At this point, it should be safe to assume that /var will be mounted by the +# time dhcpcd is called, as all non-root local filesystems are mounted from +# /etc/rc.d/rc.S, and /var should not be on a network filesystem. As such, +# we'll use the FHS layout instead of putting things in /etc/dhcpc + +zcat $CWD/define-SERVICEstuff-for-Slackware.patch.gz | patch -p1 || exit 1 + +# Security fix: +zcat $CWD/dhcpcd.dho_optionsoverloaded.dos.patch.gz | patch -p1 || exit 1 + +# Yes, /lib/dhcpcd is correct, even on x86_64. +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sbindir=/sbin \ + --sysconfdir=/etc \ + --dbdir=/var/lib/dhcpcd \ + --libexecdir=/lib/dhcpcd \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG HOOKSCRIPTS="50-ntp.conf 50-yp.conf" || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Let's not clobber the config file +mv $PKG/etc/dhcpcd.conf $PKG/etc/dhcpcd.conf.new + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/dhcpcd-$VERSION +cp -a README* $PKG/usr/doc/dhcpcd-$VERSION +zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/dhcpcd-$VERSION/COPYRIGHT + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/dhcpcd-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch b/patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch new file mode 100644 index 000000000..77007cf90 --- /dev/null +++ b/patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch @@ -0,0 +1,11 @@ +--- ./dhcp.c.orig 2013-08-02 15:12:22.000000000 -0500 ++++ ./dhcp.c 2014-08-01 15:34:23.681955373 -0500 +@@ -345,7 +345,7 @@ + case DHO_OPTIONSOVERLOADED: + /* Ensure we only get this option once */ + if (!overl) +- overl = p[1]; ++ overl = 0x80 | p[1]; + break; + } + l = *p++; diff --git a/patches/source/dhcpcd/doinst.sh b/patches/source/dhcpcd/doinst.sh new file mode 100644 index 000000000..a1a93b209 --- /dev/null +++ b/patches/source/dhcpcd/doinst.sh @@ -0,0 +1,15 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/dhcpcd.conf.new + diff --git a/patches/source/dhcpcd/slack-desc b/patches/source/dhcpcd/slack-desc new file mode 100644 index 000000000..04859d7cb --- /dev/null +++ b/patches/source/dhcpcd/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +dhcpcd: dhcpcd (DHCP client daemon) +dhcpcd: +dhcpcd: The DHCP client program dhcpcd is used to connect to a network by +dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other +dhcpcd: information from a corresponding DHCP server, configures the network +dhcpcd: interface automatically, and tries to renew the lease time according +dhcpcd: to RFC2131 or RFC1541 depending on the command line option. +dhcpcd: +dhcpcd: +dhcpcd: +dhcpcd: diff --git a/patches/source/dnsmasq/dnsmasq.SlackBuild b/patches/source/dnsmasq/dnsmasq.SlackBuild new file mode 100755 index 000000000..5f4eb2470 --- /dev/null +++ b/patches/source/dnsmasq/dnsmasq.SlackBuild @@ -0,0 +1,107 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2015, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo dnsmasq-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-dnsmasq + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf dnsmasq-$VERSION +tar xvf $CWD/dnsmasq-$VERSION.tar.xz || exit 1 +cd dnsmasq-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/dnsmasq.leasedir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + +make $NUMJOBS all-i18n PREFIX=/usr MANDIR=/usr/man || exit 1 +make install-i18n PREFIX=/usr DESTDIR=$PKG MANDIR=/usr/man || exit 1 +chmod 0755 $PKG/usr/sbin/dnsmasq + +mkdir -p $PKG/etc/dnsmasq.d + +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/var/state/dnsmasq + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/etc +cat dnsmasq.conf.example > $PKG/etc/dnsmasq.conf.new +mkdir -p $PKG/etc/rc.d +zcat $CWD/rc.dnsmasq.gz > $PKG/etc/rc.d/rc.dnsmasq.new + +mkdir -p $PKG/usr/doc/dnsmasq-$VERSION +cp -a \ + COPYING FAQ doc.html setup.html \ + $PKG/usr/doc/dnsmasq-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGELOG ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG + touch -r CHANGELOG $DOCSDIR/CHANGELOG +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/dnsmasq-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/dnsmasq/dnsmasq.leasedir.diff b/patches/source/dnsmasq/dnsmasq.leasedir.diff new file mode 100644 index 000000000..9fec6b439 --- /dev/null +++ b/patches/source/dnsmasq/dnsmasq.leasedir.diff @@ -0,0 +1,24 @@ +diff -Nur dnsmasq-2.52.orig/dnsmasq.conf.example dnsmasq-2.52/dnsmasq.conf.example +--- dnsmasq-2.52.orig/dnsmasq.conf.example 2009-11-25 06:55:16.000000000 -0600 ++++ dnsmasq-2.52/dnsmasq.conf.example 2010-01-22 15:32:41.137807274 -0600 +@@ -415,7 +415,7 @@ + # The DHCP server needs somewhere on disk to keep its lease database. + # This defaults to a sane location, but if you want to change it, use + # the line below. +-#dhcp-leasefile=/var/lib/misc/dnsmasq.leases ++#dhcp-leasefile=/var/state/dnsmasq/dnsmasq.leases + + # Set the DHCP server to authoritative mode. In this mode it will barge in + # and take over the lease for any client which broadcasts on the network, +diff -Nur dnsmasq-2.52.orig/src/config.h dnsmasq-2.52/src/config.h +--- dnsmasq-2.52.orig/src/config.h 2010-01-21 08:22:06.000000000 -0600 ++++ dnsmasq-2.52/src/config.h 2010-01-22 15:32:41.136833058 -0600 +@@ -47,7 +47,7 @@ + # elif defined(__sun__) || defined (__sun) + # define LEASEFILE "/var/cache/dnsmasq.leases" + # else +-# define LEASEFILE "/var/lib/misc/dnsmasq.leases" ++# define LEASEFILE "/var/state/dnsmasq/dnsmasq.leases" + # endif + #endif + diff --git a/patches/source/dnsmasq/doinst.sh b/patches/source/dnsmasq/doinst.sh new file mode 100644 index 000000000..9aadc3e55 --- /dev/null +++ b/patches/source/dnsmasq/doinst.sh @@ -0,0 +1,26 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + config ${NEW} +} +config etc/dnsmasq.conf.new +preserve_perms etc/rc.d/rc.dnsmasq.new + +# This should be mostly useless... +rm -f etc/rc.d/rc.dnsmasq.new diff --git a/patches/source/dnsmasq/rc.dnsmasq b/patches/source/dnsmasq/rc.dnsmasq new file mode 100644 index 000000000..ce584cbd2 --- /dev/null +++ b/patches/source/dnsmasq/rc.dnsmasq @@ -0,0 +1,36 @@ +#!/bin/sh +# Start/stop/restart dnsmasq (a small DNS/DHCP server): + +# Start dnsmasq: +dnsmasq_start() { + if [ -x /usr/sbin/dnsmasq ]; then + echo "Starting dnsmasq: /usr/sbin/dnsmasq" + /usr/sbin/dnsmasq + fi +} + +# Stop dnsmasq: +dnsmasq_stop() { + killall dnsmasq +} + +# Restart dnsmasq: +dnsmasq_restart() { + dnsmasq_stop + sleep 1 + dnsmasq_start +} + +case "$1" in +'start') + dnsmasq_start + ;; +'stop') + dnsmasq_stop + ;; +'restart') + dnsmasq_restart + ;; +*) + echo "usage rc.dnsmasq: start|stop|restart" +esac diff --git a/patches/source/dnsmasq/slack-desc b/patches/source/dnsmasq/slack-desc new file mode 100644 index 000000000..3db2c42e3 --- /dev/null +++ b/patches/source/dnsmasq/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +dnsmasq: dnsmasq (small DNS and DHCP server) +dnsmasq: +dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP +dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a +dnsmasq: small network, and can serve the names of local machines which are not +dnsmasq: in the global DNS. +dnsmasq: +dnsmasq: Dnsmasq was written by Simon Kelley. +dnsmasq: +dnsmasq: Homepage: http://www.thekelleys.org.uk/dnsmasq/ +dnsmasq: diff --git a/patches/source/emacs/doinst.sh b/patches/source/emacs/doinst.sh new file mode 100644 index 000000000..64a3adff1 --- /dev/null +++ b/patches/source/emacs/doinst.sh @@ -0,0 +1,10 @@ +# Vim ships a better (IMHO) version of ctags, and we don't want +# to overwrite it with this one. If you really want emacs' ctags +# either copy or link it into place yourself, or remove the vim +# packages and reinstall emacs. Besides, does anyone know/use +# *both* emacs and vi? I'd think that would bring the universe +# to an end. ;-) +if [ ! -e usr/bin/ctags ]; then + cp -a usr/bin/ctags-emacs usr/bin/ctags + cp -a usr/man/man1/ctags-emacs.1.gz usr/man/man1/ctags.1.gz +fi diff --git a/patches/source/emacs/emacs.SlackBuild b/patches/source/emacs/emacs.SlackBuild new file mode 100755 index 000000000..a843e2007 --- /dev/null +++ b/patches/source/emacs/emacs.SlackBuild @@ -0,0 +1,190 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Slackware build script for emacs-22 + +# Written by Dušan Stefanović (stefanovic.dusan@gmail.com) +# Modified by Robby Workman +# Modified by Patrick Volkerding + +PKGNAM=emacs +BUILD=${BUILD:-1_slack14.0} +# Determine version number the tarball is labeled with: +TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +# OK, now what's being used as the source directory version number... account +# for subversions a, b, c, and d in the $TARBALLVER: +SRCDIRVER=$(echo $TARBALLVER | tr -d a | tr -d b | tr -d c | tr -d d) +# I guess this is the main "version"... we don't use this variable anywhere below, but +# defining it is traditional: +VERSION=$SRCDIRVER + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i486 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" +else + SLKCFLAGS="-O2" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$TARBALLVER +tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1 +cd $PKGNAM-$SRCDIRVER || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --program-prefix="" \ + --program-suffix="" \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --without-gconf \ + --without-gsettings \ + --with-x \ + --with-x-toolkit=gtk2 \ + --build=${ARCH}-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +( cd $PKG/usr/bin + rm emacs + mv emacs-${SRCDIRVER} emacs-${TARBALLVER}-with-x11 + ln -sf emacs-${TARBALLVER}-with-x11 emacs +) + +# Also add a version of the binary that is not linked to X11: +cd $TMP +rm -rf $PKGNAM-$TARBALLVER +tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1 +cd $PKGNAM-$SRCDIRVER || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --program-prefix="" \ + --program-suffix="" \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --without-gconf \ + --without-gsettings \ + --with-x=no \ + --build=${ARCH}-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 + +# Install the non-x version: +cat src/emacs > $PKG/usr/bin/emacs-${TARBALLVER}-no-x11 +chown root:root $PKG/usr/bin/emacs-${TARBALLVER}-no-x11 +chmod 1755 $PKG/usr/bin/emacs-${TARBALLVER}-no-x11 + +# I don't care for broken permissions. +chmod 755 $PKG/var/games/emacs +chown -R root:games $PKG/var/games/emacs +chmod 664 $PKG/var/games/emacs/* + +# This avoids a collision with Exuberant Ctags... +mv $PKG/usr/bin/ctags $PKG/usr/bin/ctags-emacs +if [ -r $PKG/usr/man/man1/ctags.1 ]; then + mv $PKG/usr/man/man1/ctags.1 $PKG/usr/man/man1/ctags-emacs.1 +elif [ -r $PKG/usr/man/man1/ctags.1.gz ]; then + mv $PKG/usr/man/man1/ctags.1.gz $PKG/usr/man/man1/ctags-emacs.1.gz +fi + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +) + +( cd $PKG/usr/info + rm -f dir + gzip -9 * +) + +mkdir -p $PKG/usr/doc/$PKGNAM-$TARBALLVER +cp -a \ + AUTHORS COPYING* INSTALL README* \ + $PKG/usr/doc/$PKGNAM-$TARBALLVER + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$TARBALLVER) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$TARBALLVER-$ARCH-$BUILD.txz + diff --git a/patches/source/emacs/slack-desc b/patches/source/emacs/slack-desc new file mode 100644 index 000000000..94ba8e13e --- /dev/null +++ b/patches/source/emacs/slack-desc @@ -0,0 +1,12 @@ + |-----handy-ruler------------------------------------------------------| +emacs: emacs (GNU Emacs) +emacs: +emacs: Emacs is the extensible, customizable, self-documenting real-time +emacs: display editor. If this seems to be a bit of a mouthful, an +emacs: easier explanation is that Emacs is a text editor and more. At +emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp +emacs: programming language with extensions to support text editing. +emacs: This version supports X. +emacs: +emacs: http://www.gnu.org/software/emacs/ +emacs: diff --git a/patches/source/expat/expat.SlackBuild b/patches/source/expat/expat.SlackBuild new file mode 100755 index 000000000..868af88d8 --- /dev/null +++ b/patches/source/expat/expat.SlackBuild @@ -0,0 +1,101 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2013, 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=expat +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# Choose an entropy source: +if [ "$ENTROPY" = "" ]; then + #ENTROPY="-DHAVE_GETRANDOM" + #ENTROPY="-DHAVE_SYSCALL_GETRANDOM" + #ENTROPY="-DHAVE_ARC4RANDOM_BUF" + ENTROPY="-DXML_POOR_ENTROPY" +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686 $ENTROPY" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2 $ENTROPY" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC $ENTROPY" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2 $ENTROPY" + LIBDIRSUFFIX="" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-expat + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf expat-$VERSION +tar xvf $CWD/expat-$VERSION.tar.?z* || exit 1 +cd expat-$VERSION + +chown -R root:root . +find . -perm 777 -exec chmod 755 {} \; +find . -perm 664 -exec chmod 644 {} \; +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mkdir -p $PKG/usr/doc/expat-$VERSION +cp -a \ + COPYING* Changes README* doc/reference.html \ + $PKG/usr/doc/expat-$VERSION +gzip -9 $PKG/usr/man/man?/*.? +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +makepkg -l y -c n $TMP/expat-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/expat/slack-desc b/patches/source/expat/slack-desc new file mode 100644 index 000000000..348df3c3b --- /dev/null +++ b/patches/source/expat/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +expat: expat (C library for parsing XML) +expat: +expat: This is Expat, a C library for parsing XML, written by James Clark. +expat: Expat is a stream-oriented XML parser used by Python, GNOME, Xft2, +expat: and other things. +expat: +expat: +expat: +expat: +expat: +expat: diff --git a/patches/source/flac/flac.SlackBuild b/patches/source/flac/flac.SlackBuild new file mode 100755 index 000000000..ab214a3bb --- /dev/null +++ b/patches/source/flac/flac.SlackBuild @@ -0,0 +1,124 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=flac +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-flac + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf flac-$VERSION +tar xvf $CWD/flac-$VERSION.tar.?z* || exit 1 +cd flac-$VERSION +zcat $CWD/flac.man.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +if [ "$ARCH" != "x86_64" ]; then + # We disable assembly optimizations to ensure compatibility with older + # hardware, but you're welcome to comment this out and give it a try. + # I've heard it gives a noticable speedup. + DISABLE_ASM_OPTIMIZATIONS=${DISABLE_ASM_OPTIMIZATIONS:-"--disable-asm-optimizations"} +else + DISABLE_ASM_OPTIMIZATIONS=${DISABLE_ASM_OPTIMIZATIONS:-""} +fi + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-silent-rules \ + $DISABLE_ASM_OPTIMIZATIONS \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Adjust docs to traditional Slackware location: +mv $PKG/usr/share/doc $PKG/usr +rm $PKG/usr/doc/flac-$VERSION/FLAC.tag +mv $PKG/usr/doc/flac-$VERSION/html/* $PKG/usr/doc/flac-$VERSION +rmdir $PKG/usr/doc/flac-$VERSION/html +# we're not putting 3MB of API docs in the binary package... +( cd $PKG/usr/doc/flac-$VERSION/api && rm -r * ) +cat << EOF > $PKG/usr/doc/flac-$VERSION/api/README +Full HTML based API documentation may be found in the FLAC +source package. It is not included in the binary package due +to size. +EOF +# Add a few more docs: +cp -a \ + AUTHORS COPYING* README \ + $PKG/usr/doc/flac-$VERSION + +# Strip files +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/flac-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/flac/flac.man.diff b/patches/source/flac/flac.man.diff new file mode 100644 index 000000000..2f31e9590 --- /dev/null +++ b/patches/source/flac/flac.man.diff @@ -0,0 +1,12 @@ +--- ./man/flac.1.orig 2007-09-14 10:08:05.000000000 -0500 ++++ ./man/flac.1 2008-03-08 15:48:37.000000000 -0600 +@@ -325,7 +325,8 @@ + .PP + metaflac(1). + .PP +-The programs are documented fully by HTML format documentation, available in \fI/usr/share/doc/libflac-doc/html\fR on Debian GNU/Linux systems. ++The programs are documented fully by HTML format documentation, available in \fI/usr/doc/flac-*.*.*/html\fR on Slackware GNU/Linux systems. + .SH "AUTHOR" + .PP ++The flac program was developed by Josh Coalson. + This manual page was initially written by Matt Zimmerman for the Debian GNU/Linux system (but may be used by others). It has been kept up-to-date by the Xiph.org Foundation. diff --git a/patches/source/flac/slack-desc b/patches/source/flac/slack-desc new file mode 100644 index 000000000..9fde39d4e --- /dev/null +++ b/patches/source/flac/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +flac: flac (Free Lossless Audio Codec) +flac: +flac: FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, +flac: FLAC is similar to MP3, but lossless. "Free" means that the +flac: specification of the stream format is in the public domain, and that +flac: neither the FLAC format nor any of the implemented encoding/decoding +flac: methods are covered by any patent. It also means that the sources for +flac: libFLAC and libFLAC++ are available under the LGPL and the sources for +flac: flac, metaflac, and the plugins are available under the GPL. +flac: +flac: FLAC was developed by Josh Coalson. diff --git a/patches/source/freetype/freetype.CVE-2017-8287.diff b/patches/source/freetype/freetype.CVE-2017-8287.diff new file mode 100644 index 000000000..4f4b67b1d --- /dev/null +++ b/patches/source/freetype/freetype.CVE-2017-8287.diff @@ -0,0 +1,31 @@ +From 3774fc08b502c3e685afca098b6e8a195aded6a0 Mon Sep 17 00:00:00 2001 +From: Werner Lemberg +Date: Sun, 26 Mar 2017 08:32:09 +0200 +Subject: * src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard. + +Reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941 + +diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c +index d18e821..0baf836 100644 +--- a/src/psaux/psobjs.c ++++ b/src/psaux/psobjs.c +@@ -1718,6 +1718,14 @@ + first = outline->n_contours <= 1 + ? 0 : outline->contours[outline->n_contours - 2] + 1; + ++ /* in malformed fonts it can happen that a contour was started */ ++ /* but no points were added */ ++ if ( outline->n_contours && first == outline->n_points ) ++ { ++ outline->n_contours--; ++ return; ++ } ++ + /* We must not include the last point in the path if it */ + /* is located on the first point. */ + if ( outline->n_points > 1 ) +-- +cgit v1.0-41-gc330 + diff --git a/patches/source/freetype/freetype.SlackBuild b/patches/source/freetype/freetype.SlackBuild new file mode 100755 index 000000000..0869df8e7 --- /dev/null +++ b/patches/source/freetype/freetype.SlackBuild @@ -0,0 +1,123 @@ +#!/bin/sh + +# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=freetype +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-2_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-freetype + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf freetype-$VERSION +tar xvf $CWD/freetype-$VERSION.tar.xz || exit 1 +cd freetype-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# This breaks far too many things. Freetype2 developers will have to get their +# punishment on someone else's distribution. +zcat $CWD/freetype.illadvisederror.diff.gz | patch -p1 --verbose || exit 1 + +# The line below enables code patented by Microsoft, so don't uncomment it +# unless you have a license to use the code and take all legal responsibility +# for doing so. +# Please see this web site for more details: +# http://www.freetype.org/patents.html +#zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1 + +# Security fix: +zcat $CWD/freetype.CVE-2017-8287.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --build=$ARCH-slackware-linux" +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# This shouldn't be needed (apps should pick up -I/usr/include/freetype2 from +# `freetype-config --cflags` while compiling), but it's so often reported as +# a bug that I'll give in to the point. Now that Freetype1 is pretty much gone +# having this link shouldn't hurt anything. Try not to rely on it, though. +mkdir -p $PKG/usr/include +( cd $PKG/usr/include + rm -rf freetype + ln -sf freetype2 freetype +) + +# Can't imagine a lot of use for this: +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mv $PKG/usr/share/man $PKG/usr/man +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/usr/doc/freetype-$VERSION +cp -a \ + docs \ + README \ + $PKG/usr/doc/freetype-$VERSION +# too much +rm -rf $PKG/usr/doc/freetype-$VERSION/docs/reference + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/freetype-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/freetype/freetype.illadvisederror.diff b/patches/source/freetype/freetype.illadvisederror.diff new file mode 100644 index 000000000..b0a33694a --- /dev/null +++ b/patches/source/freetype/freetype.illadvisederror.diff @@ -0,0 +1,31 @@ +diff -Nur freetype-2.5.3.orig/include/freetype.h freetype-2.5.3/include/freetype.h +--- freetype-2.5.3.orig/include/freetype.h 2014-03-06 12:10:31.661681917 -0600 ++++ freetype-2.5.3/include/freetype.h 2014-05-12 01:41:42.002526416 -0500 +@@ -20,13 +20,20 @@ + #define __FREETYPE_H__ + + +-#ifndef FT_FREETYPE_H +-#error "`ft2build.h' hasn't been included yet!" +-#error "Please always use macros to include FreeType header files." +-#error "Example:" +-#error " #include " +-#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..ab3d479e4 --- /dev/null +++ b/patches/source/freetype/freetype.subpixel.rendering.diff @@ -0,0 +1,11 @@ +--- ./include/config/ftoption.h.orig 2014-03-01 05:27:34.842960857 -0600 ++++ ./include/config/ftoption.h 2014-08-27 13:43:07.351974078 -0500 +@@ -92,7 +92,7 @@ + /* This is done to allow FreeType clients to run unmodified, forcing */ + /* them to display normal gray-level anti-aliased glyphs. */ + /* */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /*************************************************************************/ diff --git a/patches/source/freetype/slack-desc b/patches/source/freetype/slack-desc new file mode 100644 index 000000000..0d179401f --- /dev/null +++ b/patches/source/freetype/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +freetype: freetype (A Free, High-Quality, and Portable Font Engine) +freetype: +freetype: The FreeType engine is a free and portable TrueType font rendering +freetype: engine. It has been developed to provide TrueType support to a +freetype: great variety of platforms and environments. +freetype: +freetype: +freetype: +freetype: +freetype: +freetype: diff --git a/patches/source/gdk-pixbuf2/doinst.sh b/patches/source/gdk-pixbuf2/doinst.sh new file mode 100644 index 000000000..57c9b7f0d --- /dev/null +++ b/patches/source/gdk-pixbuf2/doinst.sh @@ -0,0 +1 @@ +chroot . /usr/bin/update-gdk-pixbuf-loaders 1> /dev/null 2> /dev/null diff --git a/patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff b/patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff new file mode 100644 index 000000000..8d1b680e5 --- /dev/null +++ b/patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff @@ -0,0 +1,64 @@ +@@ -, +, @@ + gdk-pixbuf/pixops/pixops.c | 22 +++++++++++++++++----- + 1 file changed, 17 insertions(+), 5 deletions(-) +--- a/gdk-pixbuf/pixops/pixops.c ++++ a/gdk-pixbuf/pixops/pixops.c +@@ -1272,7 +1272,16 @@ make_filter_table (PixopsFilter *filter) + int i_offset, j_offset; + int n_x = filter->x.n; + int n_y = filter->y.n; +- int *weights = g_new (int, SUBSAMPLE * SUBSAMPLE * n_x * n_y); ++ gsize n_weights; ++ int *weights; ++ ++ n_weights = SUBSAMPLE * SUBSAMPLE * n_x * n_y; ++ if (n_weights / (SUBSAMPLE * SUBSAMPLE) != n_x * n_y) ++ return NULL; /* overflow, bail */ ++ ++ weights = g_new (int, n_weights); ++ if (!weights) ++ return NULL; /* overflow, bail */ + + for (i_offset=0; i_offset < SUBSAMPLE; i_offset++) + for (j_offset=0; j_offset < SUBSAMPLE; j_offset++) +@@ -1347,8 +1356,11 @@ pixops_process (guchar *dest_buf, + if (x_step == 0 || y_step == 0) + return; /* overflow, bail out */ + +- line_bufs = g_new (guchar *, filter->y.n); + filter_weights = make_filter_table (filter); ++ if (!filter_weights) ++ return; /* overflow, bail out */ ++ ++ line_bufs = g_new (guchar *, filter->y.n); + + check_shift = check_size ? get_check_shift (check_size) : 0; + +@@ -1468,7 +1480,7 @@ tile_make_weights (PixopsFilterDimension *dim, + double scale) + { + int n = ceil (1 / scale + 1); +- double *pixel_weights = g_new (double, SUBSAMPLE * n); ++ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n); + int offset; + int i; + +@@ -1526,7 +1538,7 @@ bilinear_magnify_make_weights (PixopsFilterDimension *dim, + } + + dim->n = n; +- dim->weights = g_new (double, SUBSAMPLE * n); ++ dim->weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n); + + pixel_weights = dim->weights; + +@@ -1617,7 +1629,7 @@ bilinear_box_make_weights (PixopsFilterDimension *dim, + double scale) + { + int n = ceil (1/scale + 3.0); +- double *pixel_weights = g_new (double, SUBSAMPLE * n); ++ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n); + double w; + int offset, i; + + diff --git a/patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff b/patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff new file mode 100644 index 000000000..b8ca9928f --- /dev/null +++ b/patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff @@ -0,0 +1,12 @@ +diff -Nur gdk-pixbuf-2.22.0.orig/gdk-pixbuf/Makefile.in gdk-pixbuf-2.22.0/gdk-pixbuf/Makefile.in +--- gdk-pixbuf-2.22.0.orig/gdk-pixbuf/Makefile.in 2010-09-21 13:28:57.000000000 -0500 ++++ gdk-pixbuf-2.22.0/gdk-pixbuf/Makefile.in 2010-10-09 10:24:16.917235308 -0500 +@@ -795,7 +795,7 @@ + LIBJASPER = @LIBJASPER@ + LIBJPEG = @LIBJPEG@ + LIBOBJS = @LIBOBJS@ +-LIBPNG = @LIBPNG@ ++LIBPNG = @LIBPNG@ -lz + LIBS = @LIBS@ + LIBTIFF = @LIBTIFF@ + LIBTOOL = @LIBTOOL@ diff --git a/patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild b/patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild new file mode 100755 index 000000000..45ec6ec8a --- /dev/null +++ b/patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild @@ -0,0 +1,155 @@ +#!/bin/sh + +# Slackware build script for gdk-pixbuf + +# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA +# Copyright 2010, 2011 Patrick Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=gdk-pixbuf +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# There's been this long standing debate about PNG and -lz +# and this patch is the workaround. ;-) +zcat $CWD/gdk-pixbuf.pnglz.diff.gz | patch -p1 || exit 1 + +zcat $CWD/gdk-pixbuf.CVE-2015-4491.diff.gz | patch -p1 || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-introspection \ + --with-x11 \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# We need to have separate 32-bit and 64-bit binaries +# for places where we have two copies of the GTK+ package installed. +# (we might have x86_64 and i486 packages on the same system, for example.) +host="$ARCH-slackware-linux" +case "$host" in + s390x*|x86_64*) + mv $PKG/usr/bin/gdk-pixbuf-query-loaders{,-64} + ( cd $PKG/usr/bin + ln -sf gdk-pixbuf-query-loaders-64 gdk-pixbuf-query-loaders + ) + ;; + *) + mv $PKG/usr/bin/gdk-pixbuf-query-loaders{,-32} + ( cd $PKG/usr/bin + ln -sf gdk-pixbuf-query-loaders-32 gdk-pixbuf-query-loaders + ) + ;; +esac + +# Install wrappers for the binaries: +cp $CWD/update-gdk-pixbuf-loaders $PKG/usr/bin/update-gdk-pixbuf-loaders +chmod 0755 $PKG/usr/bin/update-gdk-pixbuf-loaders + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}2-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gdk-pixbuf2/slack-desc b/patches/source/gdk-pixbuf2/slack-desc new file mode 100644 index 000000000..2fed0a6af --- /dev/null +++ b/patches/source/gdk-pixbuf2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gdk-pixbuf2: gdk-pixbuf2 (image library used by GTK+ v2) +gdk-pixbuf2: +gdk-pixbuf2: The gdk-pixbuf library provides a number of features: +gdk-pixbuf2: - GdkPixbuf structure for representing images. +gdk-pixbuf2: - Image loading facilities, both synchronous and progressive. +gdk-pixbuf2: - Rendering of a GdkPixbuf into various formats: +gdk-pixbuf2: drawables (windows, pixmaps), GdkRGB buffers. +gdk-pixbuf2: - Fast scaling and compositing of pixbufs. +gdk-pixbuf2: - Simple animation loading (ie. animated gifs). +gdk-pixbuf2: +gdk-pixbuf2: diff --git a/patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders b/patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders new file mode 100644 index 000000000..5848db838 --- /dev/null +++ b/patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders @@ -0,0 +1,60 @@ +#! /bin/sh +# Updates $(libdir)/gdk-pixbuf-2.0/2.10.0/loaders + +umask 022 + +# Get the machine type from uname: +host=$(uname -m)-slackware-linux + +# Fix $host for arm arch: +case "$host" in + arm*) host=arm-slackware-linux-gnueabi ;; +esac + +case "$host" in + s390x*|x86_64*) + if [ -x /usr/bin/gdk-pixbuf-query-loaders-64 ]; then + if [ "$1" = "--verbose" ]; then + echo "Updating gdk-pixbuf.loaders for ${host}:" + echo " /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache" + fi + /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache + # Check for x86_64 multilib: + if ls -d /etc/gtk-2.0/i?86* 1> /dev/null 2> /dev/null ; then + for d in $(ls -d /etc/pango/i?86*); do + mlhost=$(basename $d) + break + done + if [ -x /usr/bin/gdk-pixbuf-query-loaders-32 ]; then + if [ "$1" = "--verbose" ]; then + echo "Updating gdk-pixbuf.loaders for ${mlhost}:" + echo " /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache" + fi + /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache + fi + fi + else + if [ "$1" = "--verbose" ]; then + echo "Updating gdk-pixbuf.loaders for ${host}:" + echo " /usr/bin/gdk-pixbuf-query-loaders --update-cache" + fi + /usr/bin/gdk-pixbuf-query-loaders --update-cache + fi + ;; + *) + if [ -x /usr/bin/gdk-pixbuf-query-loaders-32 ]; then + if [ "$1" = "--verbose" ]; then + echo "Updating gdk-pixbuf.loaders for ${host}:" + echo " /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache" + fi + /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache + else + if [ "$1" = "--verbose" ]; then + echo "Updating gdk-pixbuf.loaders for ${host}:" + echo " /usr/bin/gdk-pixbuf-query-loaders --update-cache" + fi + /usr/bin/gdk-pixbuf-query-loaders --update-cache + fi + ;; +esac + diff --git a/patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch b/patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch new file mode 100644 index 000000000..53d7328e8 --- /dev/null +++ b/patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch @@ -0,0 +1,68 @@ +From 012b0b019ede3cfa7df20bf60c7915a771ecff78 Mon Sep 17 00:00:00 2001 +From: Kalev Lember +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..9fe3d0369 --- /dev/null +++ b/patches/source/gegl/gegl.SlackBuild @@ -0,0 +1,116 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009 Robby Workman, Northport, Alabama, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo gegl-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gegl + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf gegl-$VERSION +tar xvf $CWD/gegl-$VERSION.tar.?z* || exit 1 +cd gegl-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/gegl-0.2.0-lua-5.2.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gegl-0.2.0-CVE-2012-4433.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gegl-0.2.0-remove-src-over-op.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gegl-0.2.0-linker-flags.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gegl-0.2.0-libopenraw.patch.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --docdir=/usr/doc/gegl-$VERSION \ + --enable-gtk-doc \ + --disable-docs \ + --build=$ARCH-slackware-linux || exit 1 + +# Trust defaults: +# --enable-mmx \ +# --disable-sse \ + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/gegl-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* TODO \ + $PKG/usr/doc/gegl-$VERSION +#( cd $PKG/usr/doc/gegl-$VERSION ; ln -s /usr/share/gtk-doc/html/gegl/ html ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/gegl-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gegl/slack-desc b/patches/source/gegl/slack-desc new file mode 100644 index 000000000..75eea8ad7 --- /dev/null +++ b/patches/source/gegl/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------------| +gegl: GEGL (Generic Graphics Library) +gegl: +gegl: GEGL (Generic Graphics Library) is a graph based image processing +gegl: framework. +gegl: +gegl: GEGL provides infrastructure to do demand based cached non destructive +gegl: image editing on larger than RAM buffers. Through babl it provides +gegl: support for a wide range of color models and pixel storage formats for +gegl: input and output. +gegl: +gegl: diff --git a/patches/source/gimp/gimp.SlackBuild b/patches/source/gimp/gimp.SlackBuild new file mode 100755 index 000000000..631d06c7c --- /dev/null +++ b/patches/source/gimp/gimp.SlackBuild @@ -0,0 +1,135 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=gimp +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gimp +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +cd $TMP +rm -rf gimp-$VERSION +tar xvf $CWD/gimp-$VERSION.tar.?z* || exit 1 +cd gimp-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/gimp-$VERSION \ + --disable-static \ + --with-libcurl \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +mkdir -p $PKG/usr/share/applications $PKG/usr/share/application-registry +make install DESTDIR=$PKG || exit 1 + +# Add a manpage symlink for POLA-compliance +( cd $PKG/usr/man/man1 ; ln -sf gimptool-2.?.1 gimptool.1 ) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/gimp-$VERSION +cp -a \ + AUTHORS COPYING* HACKING INSTALL LICENSE NEWS README* docs/Wilber* \ + $PKG/usr/doc/gimp-$VERSION +( cd $PKG/usr/doc/gimp-$VERSION + for i in \ + libgimp libgimpbase libgimpcolor libgimpconfig libgimpmath \ + libgimpmodule libgimpthumb libgimpwidgets ; do \ + ln -s /usr/share/gtk-doc/html/$i $i-html ; + done +) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/gimp-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gimp/slack-desc b/patches/source/gimp/slack-desc new file mode 100644 index 000000000..9f9aca385 --- /dev/null +++ b/patches/source/gimp/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gimp: gimp (The GNU Image Manipulation Program) +gimp: +gimp: The GIMP is a powerful tool for the preparation and manipulation of +gimp: digital images. The GIMP provides the user with a wide variety of +gimp: image manipulation, painting, processing, and rendering tools. The +gimp: GIMP's open design and extensible architecture make for a very +gimp: powerful end product for photo and image retouching, web graphics +gimp: design, or digital illustration. +gimp: +gimp: +gimp: diff --git a/patches/source/git/git-2.14.1.tar.sign b/patches/source/git/git-2.14.1.tar.sign new file mode 100644 index 000000000..2dffd4d31 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..626a01ab5 --- /dev/null +++ b/patches/source/git/git.SlackBuild @@ -0,0 +1,170 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +BUILD=${BUILD:-1_slack14.0} + +PKGNAM=git +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +eval $(perl '-V:installvendorlib') +PERLDIR=$installvendorlib/$ARCH-linux-thread-multi/auto + +if ls /var/log/packages/git-* 1> /dev/null 2> /dev/null ; then + echo "The git package needs to be removed before building to ensure that" + echo "the perl modules are included in the new package." + echo + echo "Removing the git package in 15 seconds, and then continuing with the build." + sleep 15 + removepkg git +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-git + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf git-$VERSION +tar xvf $CWD/git-$VERSION.tar.?z* || exit 1 +cd git-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +mkdir -p $PKG/usr/doc/git-$VERSION +cp -a \ + COPYING* INSTALL README \ + Documentation \ + contrib \ + $PKG/usr/doc/git-$VERSION +( cd $PKG/usr/doc/git-$VERSION/Documentation ; rm *.1 *.3 *.7 ) +( cd $PKG/usr/doc/git-$VERSION && find . -name ".git*" -exec rm -r "{}" \; ) + +make $NUMJOBS \ + prefix=/usr \ + mandir=/usr/man \ + CFLAGS="$SLKCFLAGS" \ + INSTALLDIRS=vendor \ + ASCIIDOC8=YesPlease \ + all doc || exit 1 + +make \ + prefix=/usr \ + mandir=/usr/man \ + "CFLAGS=$SLKCFLAGS" \ + INSTALLDIRS=vendor \ + ASCIIDOC8=YesPlease \ + install \ + install-doc \ + DESTDIR=$PKG || exit 1 + +mv $PKG/usr/share/man/man3 $PKG/usr/man +rmdir $PKG/usr/share/man + +# Don't stomp on perl's file: +rm -f $PKG/usr/lib*/perl5/perllocal.pod + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Since Stuart Winter hates hard links. ;-) +# +# Switch a hard link with a soft link: +( cd $PKG/usr/bin + find . -links +1 -not -name git | while read gitfile ; do + if [ git -ef $gitfile ]; then + rm -vf $gitfile + ln -vfs git $gitfile + fi + done +) + +# This removes our DESTDIR from the packlist filenames, to keep perl's +# internal inventories consistent and correct. +find $PKG -name .packlist | while read plist ; do + sed -e "s%/share/man%/man%g" \ + -e "s%$PKG%%g" \ + -e "s%\.1$%\.1\.gz%g" \ + -e "s%\.2$%\.2\.gz%g" \ + -e "s%\.3$%\.3\.gz%g" \ + -e "s%\.3pm$%\.3pm\.gz%g" \ + -e "s%\.4$%\.4\.gz%g" \ + -e "s%\.5$%\.5\.gz%g" \ + -e "s%\.6$%\.6\.gz%g" \ + -e "s%\.7$%\.7\.gz%g" \ + -e "s%\.8$%\.8\.gz%g" \ + ${plist} > ${plist}.new + mv -f ${plist}.new ${plist} +done + +# This is junk: +eval $(perl '-V:privlib') +( cd $PKG$(dirname $privlib) && rm -rf 5.* ) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/git-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/git/git.url b/patches/source/git/git.url new file mode 100644 index 000000000..a4c15db38 --- /dev/null +++ b/patches/source/git/git.url @@ -0,0 +1 @@ +https://www.kernel.org/pub/software/scm/git/ diff --git a/patches/source/git/slack-desc b/patches/source/git/slack-desc new file mode 100644 index 000000000..271b863a2 --- /dev/null +++ b/patches/source/git/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +git: git (the stupid content tracker) +git: +git: Git is a fast, scalable, distributed revision control system with an +git: unusually rich command set that provides both high-level operations +git: and full access to internals. +git: +git: "git" can mean anything, depending on your mood. +git: +git: Git was originally written by Linus Torvalds and is currently +git: maintained by Junio C. Hamano. +git: diff --git a/patches/source/glibc-zoneinfo/doinst.sh b/patches/source/glibc-zoneinfo/doinst.sh new file mode 100644 index 000000000..3c86f65e4 --- /dev/null +++ b/patches/source/glibc-zoneinfo/doinst.sh @@ -0,0 +1,57 @@ +# In order to properly handle time before /usr is mounted (in +# the event that /usr is a separate partition, which for a number +# of reasons isn't really a great idea), the /etc/localtime file +# should be a copy of the desired zoneinfo file and not a symlink +# to a file in /usr/share/zoneinfo. But if we find a symlink here +# we should defer to the admin's wishes and leave it alone. +# +# Note that setting the timezone with timeconfig will wipe both +# /etc/localtime and /etc/localtime-copied from. +# /etc/localtime-copied-from will be a symlink to a file under +# /usr/share/zoneinfo, and /etc/localtime will be a copy of that file. + +# In a special case, we will handle the removal of the US/Pacific-New +# timezone. A bit of background information on this: +# +# "US/Pacific-New' stands for 'Pacific Presidential Election Time', +# which was passed by the House in April 1989 but never signed into law. +# In presidential election years, this rule would have delayed the +# PDT-to-PST switchover until after the election, to lessen the effect +# of broadcast news election projections on last-minute west-coast +# voters. " +# +# In nearly all cases, a machine that uses the US/Pacific-New timezone +# has chosen it by mistake. In 2016, having this as the system timezone +# actually led to clock errors, and after that it was decided that the +# timezone (only of historical interest anyway) should be removed from +# the timezone database. +# +# If we see that the machine's localtime-copied-from symlink is pointing +# to US/Pacific-New, change it to point to US/Pacific instead. +if [ "$(/bin/ls -l etc/localtime-copied-from | rev | cut -f 1,2 -d / | rev)" = "US/Pacific-New" ]; then + ( cd etc ; rm -rf localtime-copied-from ) + ( cd etc ; ln -sf /usr/share/zoneinfo/US/Pacific localtime-copied-from ) +fi + +# If we have no /etc/localtime, but we do have a localtime-copied-from +# symlink to locate what we would want there, then add a copy now: +if [ ! -r etc/localtime -a -L etc/localtime-copied-from ]; then + chroot . /bin/cp etc/localtime-copied-from etc/localtime +fi + +# Add the default timezone in /etc, if none exists: +if [ ! -r etc/localtime -a ! -L etc/localtime-copied-from ]; then + ( cd etc ; rm -rf localtime localtime-copied-from ) + ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from ) +fi + +# Make sure /etc/localtime is updated, unless it is a symlink (in which +# case leave it alone): +if [ ! -L etc/localtime ]; then + chroot . /bin/cp etc/localtime-copied-from etc/localtime +fi + +# Add a link to the timeconfig script in /usr/share/zoneinfo: +( cd usr/share/zoneinfo ; rm -rf timeconfig ) +( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig ) +### Make the rest of the symbolic links in the zoneinfo database: diff --git a/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild new file mode 100755 index 000000000..26cdadf4c --- /dev/null +++ b/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild @@ -0,0 +1,147 @@ +#!/bin/sh + +# Copyright 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=glibc-zoneinfo +ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)" +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i486 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG/etc + +# Build and install the zoneinfo database: +cd $TMP +rm -rf tzcodedata-build +mkdir tzcodedata-build +cd tzcodedata-build +tar xzf $CWD/tzdata?????.tar.gz +tar xzf $CWD/tzcode?????.tar.gz + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +sed -i "s,/usr/local,$(pwd),g" Makefile +sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile +sed -i "s,^CFLAGS=,CFLAGS= $SLKCFLAGS,g" Makefile +make +make install DESTDIR=$PKG/stage + +# Install the primary zone files: +mkdir -p $PKG/usr/share +mv $PKG/stage/usr/share/zoneinfo $PKG/usr/share + +# These are all identical to the normal zoneinfo files, so let's hard link +# them to save space: +cp -al $PKG/usr/share/zoneinfo $PKG/usr/share/posix +mv $PKG/usr/share/posix $PKG/usr/share/zoneinfo + +# Install the "right" files: +mkdir -p $PKG/usr/share/zoneinfo/right +cp -a $PKG/stage/usr/share/zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right + +# Clean up staged file residue: +rm -rf $PKG/stage + +# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will +# create it as a link to /etc/localtime. +rm -f $PKG/usr/share/zoneinfo/localtime + +# Install some scripts to help select a timezone: +mkdir -p $PKG/var/log/setup +cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup +chown root:root $PKG/var/log/setup/setup.timeconfig +chmod 755 $PKG/var/log/setup/setup.timeconfig +mkdir -p $PKG/usr/sbin +cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin +chown root:root $PKG/usr/sbin/timeconfig +chmod 755 $PKG/usr/sbin/timeconfig +( cd $CWD/timezone-scripts + # Try to rebuild this: + sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > $PKG/usr/sbin/timeconfig 2> /dev/null +) +# Note in timeconfig which zoneinfo database was used: +sed -i "s/# ChangeLog:/# ChangeLog:\n# $(date '+%Y-%m-%d'): Updated timezones from tzdata${ZONE_VERSIONS}./g" $PKG/usr/sbin/timeconfig + +# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :) +if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then + ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . ) +fi + +mkdir -p $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS +cp -a \ + CONTRIBUTING NEWS README Theory \ + $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz + diff --git a/patches/source/glibc-zoneinfo/slack-desc b/patches/source/glibc-zoneinfo/slack-desc new file mode 100644 index 000000000..69420f78d --- /dev/null +++ b/patches/source/glibc-zoneinfo/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-zoneinfo: glibc-zoneinfo (timezone database) +glibc-zoneinfo: +glibc-zoneinfo: This package allows you to configure your time zone. +glibc-zoneinfo: +glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by +glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information +glibc-zoneinfo: may be found at: http://www.iana.org/time-zones +glibc-zoneinfo: +glibc-zoneinfo: Use the timeconfig utility to set your local time zone. +glibc-zoneinfo: +glibc-zoneinfo: diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh b/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh new file mode 100755 index 000000000..268e4c6cc --- /dev/null +++ b/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh @@ -0,0 +1,60 @@ +#!/bin/sh +# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA. +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then + echo " Usage: output-updated-timeconfig.sh " + 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..1b3e03e3e --- /dev/null +++ b/patches/source/glibc/doinst.sh-glibc @@ -0,0 +1,192 @@ +#!/bin/sh +# Copyright (C) 2002, 2005 Slackware Linux, Inc. +# Copyright 2005, 2006, 2007, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# Swap glibc on the fly. +# +# If we're on a running system we have to handle this _very_ carefully. :-) +# The tricks involved here get trickier every time... + +# OK, now we have to be sure of a few things. First, you do have a 2.6 +# kernel running, right? + +if [ -r /proc/ksyms ]; then + echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade" + echo "to this version of glibc." + echo + sleep 999 + exit 1 +fi + +# Next, stop using the /lib/ntpl libraries. These are now obsolete and +# will break the installation if present: +if [ -d lib/tls ]; then + mkdir -p lib/obsolete + mv lib/tls lib/obsolete +fi +if [ -x sbin/ldconfig ]; then + sbin/ldconfig -r . +fi + +# Install NPTL glibc libraries: +if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly + # First create copies of the incoming libraries: + ( cd lib/incoming + for file in * ; do + if [ ! -r ../${file}.incoming ]; then + cp -a $file ../${file}.incoming + fi + done + ) + # Then switch to them all at once: + /sbin/ldconfig -l lib/*.incoming 2> /dev/null + # Finally, rename them and clean up: + ( cd lib + for file in *.incoming ; do + rm -f `basename $file .incoming` + cp -a $file `basename $file .incoming` + /sbin/ldconfig -l `basename $file .incoming` + rm -f $file + done + ) +else # no ldconfig? Good, it's safe to just jam it on home (and make links below): + ( cd lib/incoming + for file in * ; do + cp -a $file .. + done + ) +fi +# Now, get rid of the temporary directory: +rm -rf lib/incoming +# Done installing NPTL glibc libraries. + +# Timezone stuff: +if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then + mv etc/localtime etc/localtime-copied-from + chroot . /bin/cp etc/localtime-copied-from etc/localtime +fi +# Add the default timezone in /etc, if none exists: +if [ ! -r etc/localtime ]; then + ( cd etc ; rm -rf localtime localtime-copied-from ) + ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from ) + chroot . /bin/cp etc/localtime-copied-from etc/localtime +fi +# Add the default link in /usr/share/zoneinfo, if none exists: +if [ ! -L usr/share/zoneinfo/localtime ]; then + ( cd usr/share/zoneinfo ; rm -rf localtime ) + ( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime ) +fi +( cd usr/share/zoneinfo ; rm -rf timeconfig ) +( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig ) + +# Handle config files: +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/nscd.conf.new +config etc/profile.d/glibc.csh.new +config etc/profile.d/glibc.sh.new +# Clearly you already decided this issue. :-) +rm -f etc/profile.d/glibc.csh.new +rm -f etc/profile.d/glibc.sh.new + +# In case there's no ldconfig, make the links manually: +if [ ! -x /sbin/ldconfig ]; then +( cd lib ; rm -rf libnss_nis.so.2 ) +( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 ) +( cd lib ; rm -rf libm.so.6 ) +( cd lib ; ln -sf libm-2.15.so libm.so.6 ) +( cd lib ; rm -rf libnss_files.so.2 ) +( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 ) +( cd lib ; rm -rf libresolv.so.2 ) +( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 ) +( cd lib ; rm -rf libnsl.so.1 ) +( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 ) +( cd lib ; rm -rf libutil.so.1 ) +( cd lib ; ln -sf libutil-2.15.so libutil.so.1 ) +( cd lib ; rm -rf libnss_compat.so.2 ) +( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 ) +( cd lib ; rm -rf libthread_db.so.1 ) +( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 ) +( cd lib ; rm -rf libnss_hesiod.so.2 ) +( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 ) +( cd lib ; rm -rf libanl.so.1 ) +( cd lib ; ln -sf libanl-2.15.so libanl.so.1 ) +( cd lib ; rm -rf libcrypt.so.1 ) +( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 ) +( cd lib ; rm -rf libBrokenLocale.so.1 ) +( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 ) +( cd lib ; rm -rf ld-linux.so.2 ) +( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 ) +( cd lib ; rm -rf libdl.so.2 ) +( cd lib ; ln -sf libdl-2.15.so libdl.so.2 ) +( cd lib ; rm -rf libnss_dns.so.2 ) +( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 ) +( cd lib ; rm -rf libpthread.so.0 ) +( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 ) +( cd lib ; rm -rf libnss_nisplus.so.2 ) +( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 ) +( cd lib ; rm -rf libc.so.6 ) +( cd lib ; ln -sf libc-2.15.so libc.so.6 ) +( cd lib ; rm -rf librt.so.1 ) +( cd lib ; ln -sf librt-2.15.so librt.so.1 ) +fi + +# More links: +( cd usr/lib ; rm -rf libnss_nisplus.so ) +( cd usr/lib ; ln -sf ../../lib/libnss_nisplus.so.2 libnss_nisplus.so ) +# This is now a linker script: +#( cd usr/lib ; rm -rf libpthread.so ) +#( cd usr/lib ; ln -sf ../../lib/libpthread.so.0 libpthread.so ) +( cd usr/lib ; rm -rf libresolv.so ) +( cd usr/lib ; ln -sf ../../lib/libresolv.so.2 libresolv.so ) +( cd usr/lib ; rm -rf libnsl.so ) +( cd usr/lib ; ln -sf ../../lib/libnsl.so.1 libnsl.so ) +( cd usr/lib ; rm -rf libnss_hesiod.so ) +( cd usr/lib ; ln -sf ../../lib/libnss_hesiod.so.2 libnss_hesiod.so ) +( cd usr/lib ; rm -rf libnss_files.so ) +( cd usr/lib ; ln -sf ../../lib/libnss_files.so.2 libnss_files.so ) +( cd usr/lib ; rm -rf libm.so ) +( cd usr/lib ; ln -sf ../../lib/libm.so.6 libm.so ) +( cd usr/lib ; rm -rf libutil.so ) +( cd usr/lib ; ln -sf ../../lib/libutil.so.1 libutil.so ) +( cd usr/lib ; rm -rf libnss_compat.so ) +( cd usr/lib ; ln -sf ../../lib/libnss_compat.so.2 libnss_compat.so ) +( cd usr/lib ; rm -rf libthread_db.so ) +( cd usr/lib ; ln -sf ../../lib/libthread_db.so.1 libthread_db.so ) +( cd usr/lib ; rm -rf libcrypt.so ) +( cd usr/lib ; ln -sf ../../lib/libcrypt.so.1 libcrypt.so ) +( cd usr/lib ; rm -rf libBrokenLocale.so ) +( cd usr/lib ; ln -sf ../../lib/libBrokenLocale.so.1 libBrokenLocale.so ) +( cd usr/lib ; rm -rf libdl.so ) +( cd usr/lib ; ln -sf ../../lib/libdl.so.2 libdl.so ) +( cd usr/lib ; rm -rf libnss_dns.so ) +( cd usr/lib ; ln -sf ../../lib/libnss_dns.so.2 libnss_dns.so ) +( cd usr/lib ; rm -rf librt.so ) +( cd usr/lib ; ln -sf ../../lib/librt.so.1 librt.so ) +( cd usr/lib ; rm -rf libanl.so ) +( cd usr/lib ; ln -sf ../../lib/libanl.so.1 libanl.so ) +( cd usr/lib ; rm -rf libnss_nis.so ) +( cd usr/lib ; ln -sf ../../lib/libnss_nis.so.2 libnss_nis.so ) +( cd usr/share/zoneinfo ; rm -rf localtime ) +( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime ) +( cd bin ; rm -rf sln ) +( cd bin ; ln -sf /sbin/sln sln ) diff --git a/patches/source/glibc/doinst.sh-glibc-solibs b/patches/source/glibc/doinst.sh-glibc-solibs new file mode 100644 index 000000000..f6e41a96d --- /dev/null +++ b/patches/source/glibc/doinst.sh-glibc-solibs @@ -0,0 +1,131 @@ +#!/bin/sh +# Copyright (C) 2002, 2005 Slackware Linux, Inc. +# Copyright 2005, 2006, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# Swap glibc on the fly. +# +# If we're on a running system we have to handle this _very_ carefully. :-) +# The tricks involved here get trickier every time... + +# OK, now we have to be sure of a few things. First, you do have a 2.6 +# kernel running, right? + +if [ -r /proc/ksyms ]; then + echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade" + echo "to this version of glibc." + echo + sleep 999 + exit 1 +fi + +# Next, stop using the /lib/ntpl libraries. These are now obsolete and +# will break the installation if present: +if [ -d lib/tls ]; then + mkdir -p lib/obsolete + mv lib/tls lib/obsolete +fi +if [ -x sbin/ldconfig ]; then + sbin/ldconfig -r . +fi + +# Install NPTL glibc libraries: +if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly + # First create copies of the incoming libraries: + ( cd lib/incoming + for file in * ; do + if [ ! -r ../${file}.incoming ]; then + cp -a $file ../${file}.incoming + fi + done + ) + # Then switch to them all at once: + /sbin/ldconfig -l lib/*.incoming 2> /dev/null + # Finally, rename them and clean up: + ( cd lib + for file in *.incoming ; do + rm -f `basename $file .incoming` + cp -a $file `basename $file .incoming` + /sbin/ldconfig -l `basename $file .incoming` + rm -f $file + done + ) +else # no ldconfig? Good, it's safe to just jam it on home (and make links below): + ( cd lib/incoming + for file in * ; do + cp -a $file .. + done + ) +fi +# Now, get rid of the temporary directory: +rm -rf lib/incoming +# Done installing NPTL glibc libraries. + +# Handle config files: +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/profile.d/glibc.csh.new +config etc/profile.d/glibc.sh.new +# Clearly you already decided this issue. :-) +rm -f etc/profile.d/glibc.csh.new +rm -f etc/profile.d/glibc.sh.new + +# In case there's no ldconfig, make the links manually: +if [ ! -x /sbin/ldconfig ]; then +( cd lib ; rm -rf libnss_nis.so.2 ) +( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 ) +( cd lib ; rm -rf libm.so.6 ) +( cd lib ; ln -sf libm-2.15.so libm.so.6 ) +( cd lib ; rm -rf libnss_files.so.2 ) +( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 ) +( cd lib ; rm -rf libresolv.so.2 ) +( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 ) +( cd lib ; rm -rf libnsl.so.1 ) +( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 ) +( cd lib ; rm -rf libutil.so.1 ) +( cd lib ; ln -sf libutil-2.15.so libutil.so.1 ) +( cd lib ; rm -rf libnss_compat.so.2 ) +( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 ) +( cd lib ; rm -rf libthread_db.so.1 ) +( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 ) +( cd lib ; rm -rf libnss_hesiod.so.2 ) +( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 ) +( cd lib ; rm -rf libanl.so.1 ) +( cd lib ; ln -sf libanl-2.15.so libanl.so.1 ) +( cd lib ; rm -rf libcrypt.so.1 ) +( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 ) +( cd lib ; rm -rf libBrokenLocale.so.1 ) +( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 ) +( cd lib ; rm -rf ld-linux.so.2 ) +( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 ) +( cd lib ; rm -rf libdl.so.2 ) +( cd lib ; ln -sf libdl-2.15.so libdl.so.2 ) +( cd lib ; rm -rf libnss_dns.so.2 ) +( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 ) +( cd lib ; rm -rf libpthread.so.0 ) +( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 ) +( cd lib ; rm -rf libnss_nisplus.so.2 ) +( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 ) +( cd lib ; rm -rf libc.so.6 ) +( cd lib ; ln -sf libc-2.15.so libc.so.6 ) +( cd lib ; rm -rf librt.so.1 ) +( cd lib ; ln -sf librt-2.15.so librt.so.1 ) +fi diff --git a/patches/source/glibc/doinst.sh-glibc-zoneinfo b/patches/source/glibc/doinst.sh-glibc-zoneinfo new file mode 100644 index 000000000..04bfe8eff --- /dev/null +++ b/patches/source/glibc/doinst.sh-glibc-zoneinfo @@ -0,0 +1,17 @@ +# Prep the library links: +ldconfig -r . +# Fix existing old style /etc/localtime symlink: +if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then + mv etc/localtime etc/localtime-copied-from +fi +# Add the default timezone in /etc, if none exists: +if [ ! -r etc/localtime ]; then + ( cd etc ; rm -rf localtime localtime-copied-from ) + ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from ) +fi +# Make sure /etc/localtime is updated: +chroot . /bin/cp etc/localtime-copied-from etc/localtime +# Add the default link in /usr/share/zoneinfo: +( cd usr/share/zoneinfo ; rm -rf timeconfig ) +( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig ) +### Make the rest of the symbolic links in the zoneinfo database: diff --git a/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff b/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff new file mode 100644 index 000000000..3fa365afa --- /dev/null +++ b/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff @@ -0,0 +1,26 @@ +The gethostbyname4() lookup method is problematic since it fires out both +the A and AAAA DNS queries in parallel and over the same socket. This +should work in theory, but it turns out that many cheap DSL modems and +similar devices have buggy DNS servers - if the AAAA query arrives too +quickly after the A query, the server will generate only a single reply +with the A query id but returning an error for the AAAA query; we get +stuck waiting for the second reply. + +For gethostbyname4() users affected, disabling IPv6 in the system might +work around the issue, unfortunately it only helps with applications +using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect +to do that. + +Real fix should be using separate ports for the A and AAAA queries. + +--- resolv/Versions 2008-08-02 10:26:09.000000000 +0200 ++++ resolv/Versions 2008-12-08 12:51:53.000000000 +0100 +@@ -102,7 +102,7 @@ libnss_dns { + _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r; + _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r; + _nss_dns_gethostbyaddr2_r; +- _nss_dns_gethostbyname4_r; ++# _nss_dns_gethostbyname4_r; + } + } + diff --git a/patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch b/patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..a0a381624 --- /dev/null +++ b/patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch @@ -0,0 +1,26 @@ +diff --git a/include/libc-symbols.h b/include/libc-symbols.h +index 67e1ca2..5e7cca5 100644 +--- a/include/libc-symbols.h ++++ b/include/libc-symbols.h +@@ -635,7 +635,7 @@ for linking") + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libc_hidden_def(name) hidden_def (name) + # define libc_hidden_weak(name) hidden_weak (name) +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) ++# define libc_hidden_nolink(name, version) hidden_def (name) + # define libc_hidden_ver(local, name) hidden_ver (local, name) + # define libc_hidden_data_def(name) hidden_data_def (name) + # define libc_hidden_data_weak(name) hidden_data_weak (name) +diff --git a/sunrpc/Makefile b/sunrpc/Makefile +index 5134ce9..40c73d1 100644 +--- a/sunrpc/Makefile ++++ b/sunrpc/Makefile +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + des_crypt.h) + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-headers = rpc/netdb.h ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) + install-others = $(inst_sysconfdir)/rpc + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen \ No newline at end of file diff --git a/patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..554b9e56c --- /dev/null +++ b/patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch @@ -0,0 +1,27 @@ +From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Tue, 17 May 2011 17:42:30 +0200 +Subject: [PATCH] Reinstall NIS RPC headers + +--- + nis/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nis/Makefile b/nis/Makefile +index b5c9609..d2934d9 100644 +--- a/nis/Makefile ++++ b/nis/Makefile +@@ -23,9 +23,9 @@ subdir := nis + + aux := nis_hash + ++headers := $(wildcard rpcsvc/*.[hx]) + distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ +- nisplus-parser.h nis_xdr.h nss \ +- $(wildcard rpcsvc/*.[hx]) ++ nisplus-parser.h nis_xdr.h nss + + # These are the databases available for the nis (and perhaps later nisplus) + # service. This must be a superset of the services in nss. +-- +1.7.5.4 diff --git a/patches/source/glibc/glibc-2.14.1-fixes-1.patch b/patches/source/glibc/glibc-2.14.1-fixes-1.patch new file mode 100644 index 000000000..b2b87f12f --- /dev/null +++ b/patches/source/glibc/glibc-2.14.1-fixes-1.patch @@ -0,0 +1,159 @@ +Submitted By: Matt Burgess +Date: 2011-10-07 +Initial Package Version: 2.14.1 +Upstream Status: From upstream +Origin: Matt Burgess +Description: Fixes Firefox crashes and a bug when programs link to + SDL. + +diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c +--- glibc-2.14.1.orig/elf/dl-close.c 2011-10-07 09:48:55.000000000 +0000 ++++ glibc-2.14.1/elf/dl-close.c 2011-10-07 19:43:10.346411120 +0000 +@@ -119,17 +119,8 @@ + if (map->l_direct_opencount > 0 || map->l_type != lt_loaded + || dl_close_state != not_pending) + { +- if (map->l_direct_opencount == 0) +- { +- if (map->l_type == lt_loaded) +- dl_close_state = rerun; +- else if (map->l_type == lt_library) +- { +- struct link_map **oldp = map->l_initfini; +- map->l_initfini = map->l_orig_initfini; +- _dl_scope_free (oldp); +- } +- } ++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) ++ dl_close_state = rerun; + + /* There are still references to this object. Do nothing more. */ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) +diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c +--- glibc-2.14.1.orig/elf/dl-deps.c 2011-10-07 09:48:55.000000000 +0000 ++++ glibc-2.14.1/elf/dl-deps.c 2011-10-07 19:43:10.348432639 +0000 +@@ -478,6 +478,7 @@ + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -678,6 +679,7 @@ + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +@@ -686,7 +688,7 @@ + _dl_scope_free (old_l_reldeps); + } + if (old_l_initfini != NULL) +- map->l_orig_initfini = old_l_initfini; ++ _dl_scope_free (old_l_initfini); + + if (errno_reason) + _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, +diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c +--- glibc-2.14.1.orig/elf/dl-libc.c 2011-10-07 09:48:55.000000000 +0000 ++++ glibc-2.14.1/elf/dl-libc.c 2011-10-07 19:43:10.352411141 +0000 +@@ -279,6 +279,10 @@ + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c +--- glibc-2.14.1.orig/elf/rtld.c 2011-10-07 09:48:55.000000000 +0000 ++++ glibc-2.14.1/elf/rtld.c 2011-10-07 19:43:10.355406263 +0000 +@@ -2263,6 +2263,7 @@ + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h +--- glibc-2.14.1.orig/include/link.h 2011-10-07 09:48:55.000000000 +0000 ++++ glibc-2.14.1/include/link.h 2011-10-07 19:43:10.357462703 +0000 +@@ -192,6 +192,9 @@ + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +@@ -240,9 +243,6 @@ + + /* List of object in order of the init and fini calls. */ + struct link_map **l_initfini; +- /* The init and fini list generated at startup, saved when the +- object is also loaded dynamically. */ +- struct link_map **l_orig_initfini; + + /* List of the dependencies introduced through symbol binding. */ + struct link_map_reldeps +diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c +--- glibc-2.14.1.orig/resolv/res_query.c 2011-10-07 09:48:55.000000000 +0000 ++++ glibc-2.14.1/resolv/res_query.c 2011-10-07 19:43:10.361412711 +0000 +@@ -122,6 +122,7 @@ + int *resplen2) + { + HEADER *hp = (HEADER *) answer; ++ HEADER *hp2; + int n, use_malloc = 0; + u_int oflags = statp->_flags; + +@@ -239,26 +240,25 @@ + /* __libc_res_nsend might have reallocated the buffer. */ + hp = (HEADER *) *answerp; + +- /* We simplify the following tests by assigning HP to HP2. It +- is easy to verify that this is the same as ignoring all +- tests of HP2. */ +- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp; +- +- if (n < (int) sizeof (HEADER) && answerp2 != NULL +- && *resplen2 > (int) sizeof (HEADER)) ++ /* We simplify the following tests by assigning HP to HP2 or ++ vice versa. It is easy to verify that this is the same as ++ ignoring all tests of HP or HP2. */ ++ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER)) + { +- /* Special case of partial answer. */ +- assert (hp != hp2); +- hp = hp2; ++ hp2 = hp; + } +- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER) +- && n > (int) sizeof (HEADER)) ++ else + { +- /* Special case of partial answer. */ +- assert (hp != hp2); +- hp2 = hp; ++ hp2 = (HEADER *) *answerp2; ++ if (n < (int) sizeof (HEADER)) ++ { ++ hp = hp2; ++ } + } + ++ /* Make sure both hp and hp2 are defined */ ++ assert((hp != NULL) && (hp2 != NULL)); ++ + if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0) + && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) { + #ifdef DEBUG diff --git a/patches/source/glibc/glibc-2.15-revert-c5a0802a.diff b/patches/source/glibc/glibc-2.15-revert-c5a0802a.diff new file mode 100644 index 000000000..b53581b37 --- /dev/null +++ b/patches/source/glibc/glibc-2.15-revert-c5a0802a.diff @@ -0,0 +1,226 @@ +diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000 +@@ -137,7 +137,6 @@ __pthread_cond_wait: + cmpl $PI_BIT, %eax + jne 18f + +-90: + movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx + movl %ebp, %edx + xorl %esi, %esi +@@ -151,9 +150,6 @@ __pthread_cond_wait: + sete 16(%esp) + je 19f + +- cmpl $-EAGAIN, %eax +- je 91f +- + /* Normal and PI futexes dont mix. Use normal futex functions only + if the kernel does not support the PI futex functions. */ + cmpl $-ENOSYS, %eax +@@ -398,78 +394,6 @@ __pthread_cond_wait: + #endif + call __lll_unlock_wake + jmp 11b +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- +- /* Get internal lock. */ +- movl $1, %edx +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %edx, (%ebx) +-#else +- cmpxchgl %edx, cond_lock(%ebx) +-#endif +- jz 92f +- +-#if cond_lock == 0 +- movl %ebx, %edx +-#else +- leal cond_lock(%ebx), %edx +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_lock_wait +- +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- addl $1, cond_futex(%ebx) +- movl cond_futex(%ebx), %ebp +- +- /* Unlock. */ +- LOCK +-#if cond_lock == 0 +- subl $1, (%ebx) +-#else +- subl $1, cond_lock(%ebx) +-#endif +- je 93f +-#if cond_lock == 0 +- movl %ebx, %eax +-#else +- leal cond_lock(%ebx), %eax +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_unlock_wake +- +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorl %ecx, %ecx +- movl dep_mutex(%ebx), %edi +- jmp 90b +-.LcleanupEND2: +- + .size __pthread_cond_wait, .-__pthread_cond_wait + versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2) +@@ -642,10 +566,6 @@ __condvar_w_cleanup: + .long .LcleanupEND-.Lsub_cond_futex + .long __condvar_w_cleanup-.LSTARTCODE + .uleb128 0 +- .long .LcleanupSTART2-.LSTARTCODE +- .long .LcleanupEND2-.LcleanupSTART2 +- .long __condvar_w_cleanup-.LSTARTCODE +- .uleb128 0 + .long .LcallUR-.LSTARTCODE + .long .LENDCODE-.LcallUR + .long 0 +Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig +diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000 +@@ -23,7 +23,6 @@ + #include + #include + #include +-#include + + #include + +@@ -137,14 +136,11 @@ __pthread_cond_wait: + cmpl $PI_BIT, %eax + jne 61f + +-90: + movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi + movl $SYS_futex, %eax + syscall + + movl $1, %r8d +- cmpq $-EAGAIN, %rax +- je 91f + #ifdef __ASSUME_REQUEUE_PI + jmp 62f + #else +@@ -331,70 +327,6 @@ __pthread_cond_wait: + + 13: movq %r10, %rax + jmp 14b +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- movq 8(%rsp), %rdi +- +- /* Get internal lock. */ +- movl $1, %esi +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %esi, (%rdi) +-#else +- cmpxchgl %esi, cond_lock(%rdi) +-#endif +- jz 92f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- cmpq $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- callq __lll_lock_wait +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- incl cond_futex(%rdi) +- movl cond_futex(%rdi), %edx +- +- /* Release internal lock. */ +- LOCK +-#if cond_lock == 0 +- decl (%rdi) +-#else +- decl cond_lock(%rdi) +-#endif +- jz 93f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- cmpq $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- /* The call preserves %rdx. */ +- callq __lll_unlock_wake +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorq %r10, %r10 +- movq dep_mutex(%rdi), %r8 +- leaq cond_futex(%rdi), %rdi +- jmp 90b +-.LcleanupEND2: +- + .size __pthread_cond_wait, .-__pthread_cond_wait + versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2) +@@ -547,15 +479,11 @@ __condvar_cleanup1: + .uleb128 .LcleanupSTART-.LSTARTCODE + .uleb128 .LcleanupEND-.LcleanupSTART + .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 +- .uleb128 .LcleanupSTART2-.LSTARTCODE +- .uleb128 .LcleanupEND2-.LcleanupSTART2 +- .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 ++ .uleb128 0 + .uleb128 .LcallUR-.LSTARTCODE + .uleb128 .LENDCODE-.LcallUR + .uleb128 0 +- .uleb128 0 ++ .uleb128 0 + .Lcstend: + diff --git a/patches/source/glibc/glibc-2.15.nscd-race-fix.diff b/patches/source/glibc/glibc-2.15.nscd-race-fix.diff new file mode 100644 index 000000000..f1323570f --- /dev/null +++ b/patches/source/glibc/glibc-2.15.nscd-race-fix.diff @@ -0,0 +1,47 @@ +--- c/nscd/nscd_gethst_r.c 2012-01-01 05:16:32.000000000 -0700 ++++ c/nscd/nscd_gethst_r.c 2012-03-28 10:45:51.546600822 -0600 +@@ -101,9 +101,27 @@ libc_freeres_fn (hst_map_free) + uint32_t + __nscd_get_nl_timestamp (void) + { ++ uint32_t retval; + if (__nss_not_use_nscd_hosts != 0) + return 0; + ++ int cnt = 0; ++ /* __nscd_get_mapping can change hst_map_handle.mapped to NO_MAPPING. ++ However, __nscd_get_mapping assumes the prior value was not NO_MAPPING. ++ Thus we have to acquire the lock to prevent this thread from changing ++ hst_map_handle.mapped to NO_MAPPING while another thread is inside ++ __nscd_get_mapping. */ ++ while (__builtin_expect ++ (atomic_compare_and_exchange_val_acq (&__hst_map_handle.lock, ++ 1, 0) != 0, 0)) ++ { ++ // XXX Best number of rounds? ++ if (__builtin_expect (++cnt > 5, 0)) ++ return 0; ++ ++ atomic_delay (); ++ } ++ + struct mapped_database *map = __hst_map_handle.mapped; + + if (map == NULL +@@ -113,9 +131,14 @@ __nscd_get_nl_timestamp (void) + map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped); + + if (map == NO_MAPPING) +- return 0; ++ retval = 0; ++ else ++ retval = map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP]; ++ ++ /* Release the lock. */ ++ __hst_map_handle.lock = 0; + +- return map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP]; ++ return retval; + } + + diff --git a/patches/source/glibc/glibc-2.15_avx1.diff b/patches/source/glibc/glibc-2.15_avx1.diff new file mode 100644 index 000000000..d0616de0e --- /dev/null +++ b/patches/source/glibc/glibc-2.15_avx1.diff @@ -0,0 +1,54 @@ +From: Ulrich Drepper +Date: Thu, 26 Jan 2012 12:45:14 +0000 (-0500) +Subject: Reset bit_AVX in __cpu_features is OS support is missing +X-Git-Tag: glibc-2.16-tps~1053 +X-Git-Url: http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=afc5ed09cbce5d6fd48b3a8c5ec427b31f996880 + +Reset bit_AVX in __cpu_features is OS support is missing + +--- sysdeps/x86_64/multiarch/init-arch.c ++++ sysdeps/x86_64/multiarch/init-arch.c +@@ -1,6 +1,6 @@ + /* Initialize CPU feature data. + This file is part of the GNU C Library. +- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + Contributed by Ulrich Drepper . + + The GNU C Library is free software; you can redistribute it and/or +@@ -144,6 +144,18 @@ __init_cpu_features (void) + else + kind = arch_kind_other; + ++ if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX) ++ { ++ /* Reset the AVX bit in case OSXSAVE is disabled. */ ++ if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) == 0 ++ || ({ unsigned int xcrlow; ++ unsigned int xcrhigh; ++ asm ("xgetbv" ++ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0)); ++ (xcrlow & 6) != 6; })) ++ __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX; ++ } ++ + __cpu_features.family = family; + __cpu_features.model = model; + atomic_write_barrier (); +--- sysdeps/x86_64/multiarch/init-arch.h ++++ sysdeps/x86_64/multiarch/init-arch.h +@@ -1,5 +1,5 @@ + /* This file is part of the GNU C Library. +- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public +@@ -27,6 +27,7 @@ + #define bit_SSSE3 (1 << 9) + #define bit_SSE4_1 (1 << 19) + #define bit_SSE4_2 (1 << 20) ++#define bit_OSXSAVE (1 << 27) + #define bit_AVX (1 << 28) + #define bit_POPCOUNT (1 << 23) + #define bit_FMA (1 << 12) diff --git a/patches/source/glibc/glibc-2.15_avx2.diff b/patches/source/glibc/glibc-2.15_avx2.diff new file mode 100644 index 000000000..1b1b88be9 --- /dev/null +++ b/patches/source/glibc/glibc-2.15_avx2.diff @@ -0,0 +1,171 @@ +From: Ulrich Drepper +Date: Thu, 26 Jan 2012 14:45:54 +0000 (-0500) +Subject: Really fix AVX tests +X-Git-Tag: glibc-2.16-tps~1052 +X-Git-Url: http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=08cf777f9e7f6d826658a99c7d77a359f73a45bf + +Really fix AVX tests + +There is no problem with strcmp, it doesn't use the YMM registers. +The math routines might since gcc perhaps generates such code. +Introduce bit_YMM_USBALE and use it in the math routines. +--- + +--- sysdeps/x86_64/fpu/multiarch/e_atan2.c ++++ sysdeps/x86_64/fpu/multiarch/e_atan2.c +@@ -14,7 +14,7 @@ extern double __ieee754_atan2_fma4 (double, double); + + libm_ifunc (__ieee754_atan2, + HAS_FMA4 ? __ieee754_atan2_fma4 +- : (HAS_AVX ? __ieee754_atan2_avx : __ieee754_atan2_sse2)); ++ : (HAS_YMM_USABLE ? __ieee754_atan2_avx : __ieee754_atan2_sse2)); + strong_alias (__ieee754_atan2, __atan2_finite) + + # define __ieee754_atan2 __ieee754_atan2_sse2 +--- sysdeps/x86_64/fpu/multiarch/e_exp.c ++++ sysdeps/x86_64/fpu/multiarch/e_exp.c +@@ -14,7 +14,7 @@ extern double __ieee754_exp_fma4 (double); + + libm_ifunc (__ieee754_exp, + HAS_FMA4 ? __ieee754_exp_fma4 +- : (HAS_AVX ? __ieee754_exp_avx : __ieee754_exp_sse2)); ++ : (HAS_YMM_USABLE ? __ieee754_exp_avx : __ieee754_exp_sse2)); + strong_alias (__ieee754_exp, __exp_finite) + + # define __ieee754_exp __ieee754_exp_sse2 +--- sysdeps/x86_64/fpu/multiarch/e_log.c ++++ sysdeps/x86_64/fpu/multiarch/e_log.c +@@ -14,7 +14,7 @@ extern double __ieee754_log_fma4 (double); + + libm_ifunc (__ieee754_log, + HAS_FMA4 ? __ieee754_log_fma4 +- : (HAS_AVX ? __ieee754_log_avx ++ : (HAS_YMM_USABLE ? __ieee754_log_avx + : __ieee754_log_sse2)); + strong_alias (__ieee754_log, __log_finite) + +--- sysdeps/x86_64/fpu/multiarch/s_atan.c ++++ sysdeps/x86_64/fpu/multiarch/s_atan.c +@@ -12,7 +12,8 @@ extern double __atan_fma4 (double); + # define __atan_fma4 ((void *) 0) + # endif + +-libm_ifunc (atan, HAS_FMA4 ? __atan_fma4 : HAS_AVX ? __atan_avx : __atan_sse2); ++libm_ifunc (atan, (HAS_FMA4 ? __atan_fma4 : ++ HAS_YMM_USABLE ? __atan_avx : __atan_sse2)); + + # define atan __atan_sse2 + #endif +--- sysdeps/x86_64/fpu/multiarch/s_sin.c ++++ sysdeps/x86_64/fpu/multiarch/s_sin.c +@@ -17,10 +17,12 @@ extern double __sin_fma4 (double); + # define __sin_fma4 ((void *) 0) + # endif + +-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2); ++libm_ifunc (__cos, (HAS_FMA4 ? __cos_fma4 : ++ HAS_YMM_USABLE ? __cos_avx : __cos_sse2)); + weak_alias (__cos, cos) + +-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2); ++libm_ifunc (__sin, (HAS_FMA4 ? __sin_fma4 : ++ HAS_YMM_USABLE ? __sin_avx : __sin_sse2)); + weak_alias (__sin, sin) + + # define __cos __cos_sse2 +--- sysdeps/x86_64/fpu/multiarch/s_tan.c ++++ sysdeps/x86_64/fpu/multiarch/s_tan.c +@@ -12,7 +12,8 @@ extern double __tan_fma4 (double); + # define __tan_fma4 ((void *) 0) + # endif + +-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2); ++libm_ifunc (tan, (HAS_FMA4 ? __tan_fma4 : ++ HAS_YMM_USABLE ? __tan_avx : __tan_sse2)); + + # define tan __tan_sse2 + #endif +--- sysdeps/x86_64/multiarch/init-arch.c ++++ sysdeps/x86_64/multiarch/init-arch.c +@@ -147,13 +147,13 @@ __init_cpu_features (void) + if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX) + { + /* Reset the AVX bit in case OSXSAVE is disabled. */ +- if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) == 0 +- || ({ unsigned int xcrlow; +- unsigned int xcrhigh; +- asm ("xgetbv" +- : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0)); +- (xcrlow & 6) != 6; })) +- __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX; ++ if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) != 0 ++ && ({ unsigned int xcrlow; ++ unsigned int xcrhigh; ++ asm ("xgetbv" ++ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0)); ++ (xcrlow & 6) == 6; })) ++ __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable; + } + + __cpu_features.family = family; +--- sysdeps/x86_64/multiarch/init-arch.h ++++ sysdeps/x86_64/multiarch/init-arch.h +@@ -22,6 +22,7 @@ + #define bit_Prefer_SSE_for_memop (1 << 3) + #define bit_Fast_Unaligned_Load (1 << 4) + #define bit_Prefer_PMINUB_for_stringop (1 << 5) ++#define bit_YMM_Usable (1 << 6) + + #define bit_SSE2 (1 << 26) + #define bit_SSSE3 (1 << 9) +@@ -49,6 +50,7 @@ + # define index_Prefer_SSE_for_memop FEATURE_INDEX_1*FEATURE_SIZE + # define index_Fast_Unaligned_Load FEATURE_INDEX_1*FEATURE_SIZE + # define index_Prefer_PMINUB_for_stringop FEATURE_INDEX_1*FEATURE_SIZE ++# define index_YMM_Usable FEATURE_INDEX_1*FEATURE_SIZE + + #else /* __ASSEMBLER__ */ + +@@ -93,7 +95,7 @@ extern struct cpu_features + + + extern void __init_cpu_features (void) attribute_hidden; +-#define INIT_ARCH()\ ++# define INIT_ARCH() \ + do \ + if (__cpu_features.kind == arch_kind_unknown) \ + __init_cpu_features (); \ +@@ -126,23 +128,21 @@ extern const struct cpu_features *__get_cpu_features (void) + # define index_Slow_BSF FEATURE_INDEX_1 + # define index_Prefer_SSE_for_memop FEATURE_INDEX_1 + # define index_Fast_Unaligned_Load FEATURE_INDEX_1 ++# define index_YMM_Usable FEATURE_INDEX_1 + +-#define HAS_ARCH_FEATURE(idx, bit) \ +- ((__get_cpu_features ()->feature[idx] & (bit)) != 0) ++# define HAS_ARCH_FEATURE(name) \ ++ ((__get_cpu_features ()->feature[index_##name] & (bit_##name)) != 0) + +-#define HAS_FAST_REP_STRING \ +- HAS_ARCH_FEATURE (index_Fast_Rep_String, bit_Fast_Rep_String) ++# define HAS_FAST_REP_STRING HAS_ARCH_FEATURE (Fast_Rep_String) + +-#define HAS_FAST_COPY_BACKWARD \ +- HAS_ARCH_FEATURE (index_Fast_Copy_Backward, bit_Fast_Copy_Backward) ++# define HAS_FAST_COPY_BACKWARD HAS_ARCH_FEATURE (Fast_Copy_Backward) + +-#define HAS_SLOW_BSF \ +- HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF) ++# define HAS_SLOW_BSF HAS_ARCH_FEATURE (Slow_BSF) + +-#define HAS_PREFER_SSE_FOR_MEMOP \ +- HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop) ++# define HAS_PREFER_SSE_FOR_MEMOP HAS_ARCH_FEATURE (Prefer_SSE_for_memop) + +-#define HAS_FAST_UNALIGNED_LOAD \ +- HAS_ARCH_FEATURE (index_Fast_Unaligned_Load, bit_Fast_Unaligned_Load) ++# define HAS_FAST_UNALIGNED_LOAD HAS_ARCH_FEATURE (Fast_Unaligned_Load) ++ ++# define HAS_YMM_USABLE HAS_ARCH_FEATURE (YMM_Usable) + + #endif /* __ASSEMBLER__ */ diff --git a/patches/source/glibc/glibc-2.15_avx3.diff b/patches/source/glibc/glibc-2.15_avx3.diff new file mode 100644 index 000000000..adc806ae8 --- /dev/null +++ b/patches/source/glibc/glibc-2.15_avx3.diff @@ -0,0 +1,13 @@ +Source: https://bugzilla.redhat.com/show_bug.cgi?id=801650 + +--- sysdeps/x86_64/multiarch/init-arch.c 2012-05-10 14:06:54.607713791 -0600 ++++ sysdeps/x86_64/multiarch/init-arch.c 2012-05-10 14:15:37.855008615 -0600 +@@ -154,6 +154,8 @@ __init_cpu_features (void) + : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0)); + (xcrlow & 6) == 6; })) + __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable; ++ else ++ __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX; + } + + __cpu_features.family = family; diff --git a/patches/source/glibc/glibc-cvs-checkout.sh b/patches/source/glibc/glibc-cvs-checkout.sh new file mode 100755 index 000000000..022d0117b --- /dev/null +++ b/patches/source/glibc/glibc-cvs-checkout.sh @@ -0,0 +1,3 @@ +echo "The password below is \"anoncvs\":" +cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc login +cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc diff --git a/patches/source/glibc/glibc.CVE-2013-4332.diff b/patches/source/glibc/glibc.CVE-2013-4332.diff new file mode 100644 index 000000000..9f7f5886c --- /dev/null +++ b/patches/source/glibc/glibc.CVE-2013-4332.diff @@ -0,0 +1,64 @@ +From 0d6085cb1b4330b835ad08a3ec8f80b30f0cadb4 Mon Sep 17 00:00:00 2001 +From: mancha +Date: Wed, 11 Sep 2013 +Subject: CVE-2013-4332 + +malloc: Check for integer overflow in pvalloc, valloc, and memalign. + +A large bytes parameter to pvalloc, valloc, or memalign could cause +an integer overflow and corrupt allocator internals. Check the +overflow does not occur before continuing with the allocation. + +Note: This is a backport to glibc 2.17 of the following three commits: + * https://sourceware.org/git/?p=glibc.git;a=commit;h=1159a193696a + * https://sourceware.org/git/?p=glibc.git;a=commit;h=55e17aadc1ef + * https://sourceware.org/git/?p=glibc.git;a=commit;h=b73ed247781d +--- + +malloc.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -3020,6 +3020,13 @@ __libc_memalign(size_t alignment, size_t + /* Otherwise, ensure that it is at least a minimum chunk size */ + if (alignment < MINSIZE) alignment = MINSIZE; + ++ /* Check for overflow. */ ++ if (bytes > SIZE_MAX - alignment - MINSIZE) ++ { ++ __set_errno (ENOMEM); ++ return 0; ++ } ++ + arena_get(ar_ptr, bytes + alignment + MINSIZE); + if(!ar_ptr) + return 0; +@@ -3051,6 +3058,13 @@ __libc_valloc(size_t bytes) + + size_t pagesz = GLRO(dl_pagesize); + ++ /* Check for overflow. */ ++ if (bytes > SIZE_MAX - pagesz - MINSIZE) ++ { ++ __set_errno (ENOMEM); ++ return 0; ++ } ++ + __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t, + const __malloc_ptr_t)) = + force_reg (__memalign_hook); +@@ -3088,6 +3102,13 @@ __libc_pvalloc(size_t bytes) + size_t page_mask = GLRO(dl_pagesize) - 1; + size_t rounded_bytes = (bytes + page_mask) & ~(page_mask); + ++ /* Check for overflow. */ ++ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE) ++ { ++ __set_errno (ENOMEM); ++ return 0; ++ } ++ + __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t, + const __malloc_ptr_t)) = + force_reg (__memalign_hook); diff --git a/patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff b/patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff new file mode 100644 index 000000000..e9ecac94a --- /dev/null +++ b/patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff @@ -0,0 +1,208 @@ +--- ./nss/getXXbyYY_r.c.orig 2012-01-01 06:16:32.000000000 -0600 ++++ ./nss/getXXbyYY_r.c 2015-01-27 17:39:55.149064680 -0600 +@@ -180,6 +180,9 @@ + case -1: + return errno; + case 1: ++#ifdef NEED_H_ERRNO ++ any_service = true; ++#endif + goto done; + } + #endif +--- ./nss/digits_dots.c.orig 2012-01-01 06:16:32.000000000 -0600 ++++ ./nss/digits_dots.c 2015-01-27 17:39:55.146064680 -0600 +@@ -47,7 +47,10 @@ + { + if (h_errnop) + *h_errnop = NETDB_INTERNAL; +- *result = NULL; ++ if (buffer_size == NULL) ++ *status = NSS_STATUS_TRYAGAIN; ++ else ++ *result = NULL; + return -1; + } + +@@ -84,14 +87,16 @@ + } + + size_needed = (sizeof (*host_addr) +- + sizeof (*h_addr_ptrs) + strlen (name) + 1); ++ + sizeof (*h_addr_ptrs) ++ + sizeof (*h_alias_ptr) + strlen (name) + 1); + + if (buffer_size == NULL) + { + if (buflen < size_needed) + { ++ *status = NSS_STATUS_TRYAGAIN; + if (h_errnop != NULL) +- *h_errnop = TRY_AGAIN; ++ *h_errnop = NETDB_INTERNAL; + __set_errno (ERANGE); + goto done; + } +@@ -110,7 +115,7 @@ + *buffer_size = 0; + __set_errno (save); + if (h_errnop != NULL) +- *h_errnop = TRY_AGAIN; ++ *h_errnop = NETDB_INTERNAL; + *result = NULL; + goto done; + } +@@ -150,7 +155,9 @@ + if (! ok) + { + *h_errnop = HOST_NOT_FOUND; +- if (buffer_size) ++ if (buffer_size == NULL) ++ *status = NSS_STATUS_NOTFOUND; ++ else + *result = NULL; + goto done; + } +@@ -191,7 +198,7 @@ + if (buffer_size == NULL) + *status = NSS_STATUS_SUCCESS; + else +- *result = resbuf; ++ *result = resbuf; + goto done; + } + +@@ -202,15 +209,6 @@ + + if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':') + { +- const char *cp; +- char *hostname; +- typedef unsigned char host_addr_t[16]; +- host_addr_t *host_addr; +- typedef char *host_addr_list_t[2]; +- host_addr_list_t *h_addr_ptrs; +- size_t size_needed; +- int addr_size; +- + switch (af) + { + default: +@@ -226,7 +224,10 @@ + /* This is not possible. We cannot represent an IPv6 address + in an `struct in_addr' variable. */ + *h_errnop = HOST_NOT_FOUND; +- *result = NULL; ++ if (buffer_size == NULL) ++ *status = NSS_STATUS_NOTFOUND; ++ else ++ *result = NULL; + goto done; + + case AF_INET6: +@@ -234,42 +235,6 @@ + break; + } + +- size_needed = (sizeof (*host_addr) +- + sizeof (*h_addr_ptrs) + strlen (name) + 1); +- +- if (buffer_size == NULL && buflen < size_needed) +- { +- if (h_errnop != NULL) +- *h_errnop = TRY_AGAIN; +- __set_errno (ERANGE); +- goto done; +- } +- else if (buffer_size != NULL && *buffer_size < size_needed) +- { +- char *new_buf; +- *buffer_size = size_needed; +- new_buf = realloc (*buffer, *buffer_size); +- +- if (new_buf == NULL) +- { +- save = errno; +- free (*buffer); +- __set_errno (save); +- *buffer = NULL; +- *buffer_size = 0; +- *result = NULL; +- goto done; +- } +- *buffer = new_buf; +- } +- +- memset (*buffer, '\0', size_needed); +- +- host_addr = (host_addr_t *) *buffer; +- h_addr_ptrs = (host_addr_list_t *) +- ((char *) host_addr + sizeof (*host_addr)); +- hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs); +- + for (cp = name;; ++cp) + { + if (!*cp) +@@ -282,7 +247,9 @@ + if (inet_pton (AF_INET6, name, host_addr) <= 0) + { + *h_errnop = HOST_NOT_FOUND; +- if (buffer_size) ++ if (buffer_size == NULL) ++ *status = NSS_STATUS_NOTFOUND; ++ else + *result = NULL; + goto done; + } +--- ./nss/test-digits-dots.c.orig 2015-01-27 17:39:55.151064680 -0600 ++++ ./nss/test-digits-dots.c 2015-01-27 17:39:55.151064680 -0600 +@@ -0,0 +1,38 @@ ++/* Copyright (C) 2013 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* Testcase for BZ #15014 */ ++ ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ char buf[32]; ++ struct hostent *result = NULL; ++ struct hostent ret; ++ int h_err = 0; ++ int err; ++ ++ err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err); ++ return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE; ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +--- ./nss/Makefile.orig 2012-01-01 06:16:32.000000000 -0600 ++++ ./nss/Makefile 2015-01-27 17:39:55.136064681 -0600 +@@ -42,7 +42,7 @@ + makedb-modules = xmalloc hash-string + extra-objs += $(makedb-modules:=.o) + +-tests = test-netdb tst-nss-test1 ++tests = test-netdb tst-nss-test1 test-digits-dots + xtests = bug-erange + + include ../Makeconfig diff --git a/patches/source/glibc/glibc.SlackBuild b/patches/source/glibc/glibc.SlackBuild new file mode 100755 index 000000000..9c3035a3d --- /dev/null +++ b/patches/source/glibc/glibc.SlackBuild @@ -0,0 +1,520 @@ +#!/bin/sh + +# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## build glibc-$VERSION for Slackware + +VERSION=${VERSION:-2.15} +CHECKOUT=${CHECKOUT:-""} +BUILD=${BUILD:-9_slack14.0} + +## Included in glibc now: +## glibc-libidn version +#LIBIDNVER=2.10.1 + +# $ARCH may be preset, otherwise i486 compatibility with i686 binary +# structuring is the Slackware default, since this is what gcc-3.2+ +# requires for binary compatibility with previous releases. +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# I'll break this out as an option for fun :-) +case $ARCH in + i386) + OPTIMIZ="-O3 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" + ;; + i486) + OPTIMIZ="-O3 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + ;; + i586) + OPTIMIZ="-O3 -march=i586" + LIBDIRSUFFIX="" + ;; + i686) + OPTIMIZ="-O3 -march=i686" + LIBDIRSUFFIX="" + ;; + athlon) + OPTIMIZ="-O3 -march=athlon" + LIBDIRSUFFIX="" + ;; + s390) + OPTIMIZ="-O3" + LIBDIRSUFFIX="" + ;; + x86_64) + OPTIMIZ="-O3 -fPIC" + LIBDIRSUFFIX="64" + ;; + *) + OPTIMIZ="-O3" + LIBDIRSUFFIX="" + ;; +esac + +case $ARCH in + x86_64) + TARGET=${TARGET:-x86_64} + ;; + i486) + # This should be i486 for all 32-bit x86 arch: + TARGET=${TARGET:-i486} + ;; +esac + +# Hand off the $ARCH variable to $SLACKWARE_ARCH to avoid confusing glibc: +SLACKWARE_ARCH=$ARCH +unset ARCH + +CVSVER=${VERSION}${CHECKOUT} + +# NOTE!!! glibc needs to be built against the sanitized kernel headers, +# which will be installed under /usr/include by the kernel-headers package. +# Be sure the correct version of the headers package is installed BEFORE +# building glibc! + +CWD=$(pwd) +# Temporary build location. This should not be a directory +# path a non-root user could create later... +TMP=${TMP:-/glibc-tmp-$(mcookie)} +mkdir -p $TMP + +NUMJOBS=${NUMJOBS:--j4} + +# Sanity check on the version number in the install scripts: +if ! grep -vq libutil-${VERSION}.so $CWD/doinst.sh-glibc ; then + echo "FATAL: doinst.sh scripts have wrong version numbers." + exit 1 +fi + +# This function fixes a doinst.sh file for x86_64. +# With thanks to Fred Emmott. +fix_doinst() { + if [ "x$LIBDIRSUFFIX" = "x" ]; then + return; + fi; + # Fix "( cd usr/lib ;" occurrences + sed -i "s#lib ;#lib${LIBDIRSUFFIX} ;#" install/doinst.sh + # Fix "lib/" occurrences + sed -i "s#lib/#lib${LIBDIRSUFFIX}/#g" install/doinst.sh + # Fix "( cd lib" occurrences + sed -i "s#( cd lib\$#( cd lib${LIBDIRSUFFIX}#" install/doinst.sh + + if [ "$SLACKWARE_ARCH" = "x86_64" ]; then + sed -i 's#ld-linux.so.2#ld-linux-x86-64.so.2#' install/doinst.sh + fi +} + +# This is a patch function to put all glibc patches in the build script +# up near the top. +apply_patches() { + # Reexport the RPC interfaces that were removed in glibc-2.14. + # Sure, it's crufy code, but stuff needs it, so rather than pull the + # rug out from under you, we'll just humbly recommend that you consider + # transitioning away from it... :-) + zcat $CWD/glibc-2.14-reexport-rpc-interface.patch.gz | patch -p1 --verbose || exit 1 + # Add back the NIS and RPC headers: + zcat $CWD/glibc-2.14-reinstall-nis-rpc-headers.patch.gz | patch -p1 --verbose || exit 1 + # Use old-style locale directories rather than a single (and strangely + # formatted) /usr/lib/locale/locale-archive file: + zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1 + # The is_IS locale is causing a strange error about the "echn" command + # not existing. This patch reverts is_IS to the version shipped in + # glibc-2.5: + zcat $CWD/is_IS.diff.gz | patch -p1 --verbose || exit 1 + # Fix NIS netgroups: + zcat $CWD/glibc.nis-netgroups.diff.gz | patch -p1 --verbose || exit 1 + # Support ru_RU.CP1251 locale: + zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1 + # Fix missing MAX macro in getcwd.c: + zcat $CWD/glibc.getcwd.max.macro.diff.gz | patch -p1 --verbose || exit 1 + # Fix resolver problem with glibc-2.9: + zcat $CWD/glibc-2.10-dns-no-gethostbyname4.diff.gz | patch -p0 --verbose || exit 1 + # This reverts a patch that was made to glibc to fix "namespace leakage", + # which seems to cause some build failures (e.g. with conntrack): + zcat $CWD/glibc.revert.to.fix.build.breakages.diff.gz | patch -p1 --verbose || exit 1 + # This partial security patch still applies and might be needed: + zcat $CWD/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch.gz | patch -p1 --verbose || exit 1 + # Make it harder for people to trick ldd into running code: + zcat $CWD/glibc.ldd.trace.through.dynamic.linker.diff.gz | patch -p1 --verbose || exit 1 + # Make glibc compile with binutils using --enable-initfini-array. + # At this time, we do not recommend this due to probable ABI breakage. + # The also patch needs work before it would apply. + # ***NOT READY*** + #zcat $CWD/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch.gz | patch -p1 --verbose || exit 1 + # + # Avoid the Intel optimized asm routines for now because they break + # the flash player. We'll phase this in when it's safer to do so. + zcat $CWD/glibc.disable.broken.optimized.memcpy.diff.gz | patch -p1 --verbose || exit 1 + # Upstream fixes to avert Firefox crashes: (still applies to 2.15... probably better not to drop it) + zcat $CWD/glibc-2.14.1-fixes-1.patch.gz | patch -p1 --verbose || exit 1 + # Upstream patch to fix relocation sorting related crashes: + zcat $CWD/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz | patch -p1 --verbose || exit 1 + # Upstream patch to fix crashes when nscd is not running: + zcat $CWD/glibc-2.15.nscd-race-fix.diff.gz | patch -p1 --verbose || exit 1 + # Revert a patch that went into 2.15 that causes NPTL related crashes: + zcat $CWD/glibc-2.15-revert-c5a0802a.diff.gz | patch -p1 --verbose || exit 1 + # Patch integer overflows in strtod*() functions: + zcat $CWD/glibc.strtod.CVE-2012-3480.diff.gz | patch -p1 --verbose || exit 1 + # Fix check for AVX opcodes. The previous check was broken on Xen, causing + # the kernel to panic. + zcat $CWD/glibc-2.15_avx1.diff.gz | patch -p0 --verbose || exit 1 + zcat $CWD/glibc-2.15_avx2.diff.gz | patch -p0 --verbose || exit 1 + zcat $CWD/glibc-2.15_avx3.diff.gz | patch -p0 --verbose || exit 1 + # Patch integer overflows in pvalloc, valloc, and + # posix_memalign/memalign/aligned_alloc (CVE-2013-4332). + zcat $CWD/glibc.CVE-2013-4332.diff.gz | patch -p1 --verbose || exit 1 + # Fix parsing of numeric hosts in gethostbyname_r: + zcat $CWD/glibc.CVE-2015-0235.glibc215.diff.gz | patch -p1 --verbose || exit 1 +} + +# This is going to be the initial $DESTDIR: +export PKG=$TMP/package-glibc-incoming-tree +PGLIBC=$TMP/package-glibc +PSOLIBS=$TMP/package-glibc-solibs +PZONE=$TMP/package-glibc-zoneinfo +PI18N=$TMP/package-glibc-i18n +PPROFILE=$TMP/package-glibc-profile +PDEBUG=$TMP/package-glibc-debug + +# Empty these locations first: +for dir in $PKG $PGLIBC $PSOLIBS $PZONE $PI18N $PPROFILE $PDEBUG ; do + if [ -d $dir ]; then + rm -rf $dir + fi + mkdir -p $dir +done +if [ -d $TMP/glibc-$VERSION ]; then + rm -rf $TMP/glibc-$VERSION +fi + +# Create an incoming directory structure for glibc to be built into: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +mkdir -p $PKG/sbin +mkdir -p $PKG/usr/bin +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX} +mkdir -p $PKG/usr/sbin +mkdir -p $PKG/usr/include +mkdir -p $PKG/usr/doc +mkdir -p $PKG/usr/man +mkdir -p $PKG/usr/share +mkdir -p $PKG/var/db/nscd +mkdir -p $PKG/var/run/nscd + +# Begin extract/compile: +cd $TMP +rm -rf glibc-$CVSVER +tar xvf $CWD/glibc-$CVSVER.tar.xz \ + || tar xvf $CWD/glibc-$CVSVER.tar.bz2 \ + || tar xvf $CWD/glibc-$CVSVER.tar.gz +cd glibc-$CVSVER + +#tar xvf $CWD/glibc-libidn-$LIBIDNVER.tar.?z* +#mv glibc-libidn-$LIBIDNVER libidn + +chown -R root:root . +find . -perm 666 -exec chmod 644 {} \; +find . -perm 664 -exec chmod 644 {} \; +find . -perm 600 -exec chmod 644 {} \; +find . -perm 444 -exec chmod 644 {} \; +find . -perm 400 -exec chmod 644 {} \; +find . -perm 440 -exec chmod 644 {} \; +find . -perm 777 -exec chmod 755 {} \; +find . -perm 775 -exec chmod 755 {} \; +find . -perm 511 -exec chmod 755 {} \; +find . -perm 711 -exec chmod 755 {} \; +find . -perm 555 -exec chmod 755 {} \; + +# Clean up leftover CVS directories: +find . -type d -name CVS -exec rm -r {} \; 2> /dev/null + +# Apply patches; exit if any fail. +apply_patches +if [ ! $? = 0 ]; then + exit 1 +fi + +# Make build directory: +mkdir build-glibc-$VERSION +cd build-glibc-$VERSION || exit 1 + +echo "BUILDING DAS NPTL GLIBC" +CFLAGS="-g $OPTIMIZ" \ +../configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --enable-kernel=2.6.32 \ + --with-headers=/usr/include \ + --enable-add-ons=libidn,nptl \ + --enable-profile \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --with-tls \ + --with-__thread \ + --without-cvs \ + $TARGET-slackware-linux + +make $NUMJOBS || make || exit 1 +make install install_root=$PKG || exit 1 +make localedata/install-locales install_root=$PKG || exit 1 + +# The prevailing standard seems to be putting unstripped libraries in +# /usr/lib/debug/ and stripping the debugging symbols from all the other +# libraries. +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/debug +cp -a $PKG/lib${LIBDIRSUFFIX}/l*.so* $PKG/usr/lib${LIBDIRSUFFIX}/debug +cp -a $PKG/usr/lib${LIBDIRSUFFIX}/*.a $PKG/usr/lib${LIBDIRSUFFIX}/debug +# Don't need debug+profile: +( cd $PKG/usr/lib${LIBDIRSUFFIX}/debug ; rm -f *_p.* ) +# NOTE: Is there really a reason for the glibc-debug package? +# If you're debugging glibc, you can also compile it, right? + +## COMMENTED OUT: There's no reason for profile libs to include -g information. +## Put back unstripped profiling libraries: +#mv $PKG/usr/lib${LIBDIRSUFFIX}/debug/*_p.a $PKG/usr/lib${LIBDIRSUFFIX} +# It might be best to put the unstripped and profiling libraries in glibc-debug and glibc-profile. + +# I don't think "strip -g" causes the pthread problems. It's --strip-unneeded that does. +strip -g $PKG/lib${LIBDIRSUFFIX}/l*.so* +strip -g $PKG/usr/lib${LIBDIRSUFFIX}/l*.so* +strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a + +# Build and install the zoneinfo database: +cd $TMP +rm -rf tzcodedata-build +mkdir tzcodedata-build +cd tzcodedata-build +tar xzf $CWD/tzdata?????.tar.gz +tar xzf $CWD/tzcode?????.tar.gz +sed -i "s,/usr/local,$(pwd),g" Makefile +sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile +make +make install +mkdir -p $PKG/usr/share/zoneinfo/{posix,right} +cp -a zoneinfo/* $PKG/usr/share/zoneinfo +cp -a zoneinfo-posix/* $PKG/usr/share/zoneinfo/posix +cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right +# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will +# create it as a link to /etc/localtime. +rm -f $PKG/usr/share/zoneinfo/localtime + +# Back to the sources dir to add some files/docs: +cd $TMP/glibc-$CVSVER + +# We'll automatically install the config file for the Name Server Cache Daemon. +# Perhaps this should also have some commented-out startup code in rc.inet2... +mkdir -p $PKG/etc +cat nscd/nscd.conf > $PKG/etc/nscd.conf.new + +# Install some scripts to help select a timezone: +mkdir -p $PKG/var/log/setup +cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup +chown root:root $PKG/var/log/setup/setup.timeconfig +chmod 755 $PKG/var/log/setup/setup.timeconfig +mkdir -p $PKG/usr/sbin +cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin +chown root:root $PKG/usr/sbin/timeconfig +chmod 755 $PKG/usr/sbin/timeconfig + +## Install docs: +( mkdir -p $PKG/usr/doc/glibc-$VERSION + cp -a \ + BUGS CONFORMANCE COPYING COPYING.LIB FAQ INSTALL LICENSES NAMESPACE \ + NEWS NOTES PROJECTS README README.libm \ + $PKG/usr/doc/glibc-$VERSION +) + +# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :) +if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then + ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . ) +fi + +# OK, there are some very old Linux standards that say that any binaries in a /bin or +# /sbin directory (and the directories themselves) should be group bin rather than +# group root, unless a specific group is really needed for some reason. +# +# I can't find any mention of this in more recent standards docs, and always thought +# that it was pretty cosmetic anyway (hey, if there's a reason -- fill me in!), so +# it's possible that this ownership change won't be followed in the near future +# (it's a PITA, and causes many bug reports when the perms change is occasionally +# forgotten). +# +# But, it's hard to get me to break old habits, so we'll continue the tradition here: +# +# No, no we won't. You know how we love to break traditions. + +# Strip most binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null +) + +# Fix info dir: +rm $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +# This is junk +rm $PKG/etc/ld.so.cache +( cd $PKG + find . -name "*.orig" -exec rm {} \; +) + +################################## +# OK, time to make some packages # +################################## + +# glibc-zoneinfo. We will start with an easy one to avoid breaking a sweat. ;-) +cd $CWD +ZONE_VERSIONS="$(echo tzcode* | cut -f1 -d . | cut -b7-11)_$(echo tzdata* | cut -f1 -d . | cut -b7-11)" +echo $ZONE_VERSIONS +cd $PZONE +# Install some scripts to help select a timezone: +mkdir -p $PZONE/var/log/setup +cp -a $CWD/timezone-scripts/setup.timeconfig $PZONE/var/log/setup +chown root:root $PZONE/var/log/setup/setup.timeconfig +chmod 755 $PZONE/var/log/setup/setup.timeconfig +mkdir -p $PZONE/usr/sbin +cp -a $CWD/timezone-scripts/timeconfig $PZONE/usr/sbin +chown root:root $PZONE/usr/sbin/timeconfig +chmod 755 $PZONE/usr/sbin/timeconfig +mkdir $PZONE/install +cat $CWD/doinst.sh-glibc-zoneinfo > $PZONE/install/doinst.sh +cat $CWD/slack-desc.glibc-zoneinfo > $PZONE/install/slack-desc +mkdir -p $PZONE/usr/share +cd $PZONE/usr/share +cp -a --verbose $PKG/usr/share/zoneinfo . +cd $PZONE +mkdir -p $PZONE/etc +# This is already hard-coded into doinst.sh (like it'll be there anyway ;-): +rm -f etc/localtime +# Wrap it up: +makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz + +# glibc-profile: +cd $PPROFILE +mkdir -p usr/lib${LIBDIRSUFFIX} +# Might as well just grab these with 'mv' to simplify things later: +mv $PKG/usr/lib${LIBDIRSUFFIX}/lib*_p.a usr/lib${LIBDIRSUFFIX} +# Profile libs should be stripped. Use the debug libs to debug... +( cd usr/lib${LIBDIRSUFFIX} ; strip -g *.a ) +mkdir install +cp -a $CWD/slack-desc.glibc-profile install/slack-desc +makepkg -l y -c n $TMP/glibc-profile-$VERSION-$SLACKWARE_ARCH-$BUILD.txz + +# THIS IS NO LONGER PACKAGED (or is it? might be better to let it be made, and then ship it or not...) +# glibc-debug: +cd $PDEBUG +mkdir -p usr/lib${LIBDIRSUFFIX} +# Might as well just grab these with 'mv' to simplify things later: +mv $PKG/usr/lib${LIBDIRSUFFIX}/debug usr/lib${LIBDIRSUFFIX} +mkdir install +cp -a $CWD/slack-desc.glibc-debug install/slack-desc +makepkg -l y -c n $TMP/glibc-debug-$VERSION-$SLACKWARE_ARCH-$BUILD.txz +## INSTEAD, NUKE THESE LIBS +#rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/debug + +# glibc-i18n: +cd $PI18N +mkdir -p usr/lib${LIBDIRSUFFIX} +rm -rf usr/lib${LIBDIRSUFFIX}/locale +cp -a $PKG/usr/lib${LIBDIRSUFFIX}/locale usr/lib${LIBDIRSUFFIX} +mkdir -p usr/share +cp -a $PKG/usr/share/i18n usr/share +cp -a $PKG/usr/share/locale usr/share +mkdir install +cp -a $CWD/slack-desc.glibc-i18n install/slack-desc +makepkg -l y -c n $TMP/glibc-i18n-$VERSION-$SLACKWARE_ARCH-$BUILD.txz + +# glibc-solibs: +cd $PSOLIBS +mkdir -p etc/profile.d +cp -a $CWD/profile.d/* etc/profile.d +chown -R root:root etc +chmod 755 etc/profile.d/* +mkdir -p lib${LIBDIRSUFFIX} +cp -a $PKG/lib${LIBDIRSUFFIX}/* lib${LIBDIRSUFFIX} +( cd lib${LIBDIRSUFFIX} + mkdir incoming + mv *so* incoming + mv incoming/libSegFault.so . +) +mkdir -p usr +cp -a $PKG/usr/bin usr +mv usr/bin/ldd . +rm usr/bin/* +mv ldd usr/bin +mkdir -p usr/lib${LIBDIRSUFFIX} +# The gconv directory has a lot of stuff, but including it here will save some problems. +# Seems standard elsewhere. +cp -a $PKG/usr/lib${LIBDIRSUFFIX}/gconv usr/lib${LIBDIRSUFFIX} +# Another manpage abandoned by GNU... +#mkdir -p usr/man/man1 +#cp -a $PKG/usr/man/man1/ldd.1.gz usr/man/man1 +mkdir -p usr/libexec +cp -a $PKG/usr/libexec/pt_chown usr/libexec +# Same usr.bin deal: +cp -a $PKG/sbin . +mv sbin/ldconfig . +rm sbin/* +mv ldconfig sbin +mkdir install +cp -a $CWD/slack-desc.glibc-solibs install/slack-desc +cp -a $CWD/doinst.sh-glibc-solibs install/doinst.sh +fix_doinst +# Ditch links: +find . -type l -exec rm {} \; +# Build the package: +makepkg -l y -c n $TMP/glibc-solibs-$VERSION-$SLACKWARE_ARCH-$BUILD.txz + +# And finally, the complete "all-in-one" glibc package is created +# from whatever was leftover: +cd $PGLIBC +mv $PKG/* . +mkdir -p etc/profile.d +cp -a $CWD/profile.d/* etc/profile.d +chown -R root:root etc +chmod 755 etc/profile.d/* +# Ditch links (these are in doinst.sh-glibc): +find . -type l -exec rm {} \; +mkdir install +cp -a $CWD/slack-desc.glibc install/slack-desc +cp -a $CWD/doinst.sh-glibc install/doinst.sh +fix_doinst +( cd lib${LIBDIRSUFFIX} + mkdir incoming + mv *so* incoming + mv incoming/libSegFault.so . +) +# Build the package: +/sbin/makepkg -l y -c n $TMP/glibc-$VERSION-$SLACKWARE_ARCH-$BUILD.txz + +# Done! +echo +echo "glibc packages built in $TMP!" + diff --git a/patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff b/patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff new file mode 100644 index 000000000..8034f1201 --- /dev/null +++ b/patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff @@ -0,0 +1,30 @@ +--- ./sysdeps/x86_64/multiarch/memcpy.S.orig 2011-01-17 22:34:07.000000000 -0600 ++++ ./sysdeps/x86_64/multiarch/memcpy.S 2011-02-08 19:36:26.000000000 -0600 +@@ -32,12 +32,6 @@ + jne 1f + call __init_cpu_features + 1: leaq __memcpy_sse2(%rip), %rax +- testl $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip) +- jz 2f +- leaq __memcpy_ssse3(%rip), %rax +- testl $bit_Fast_Copy_Backward, __cpu_features+FEATURE_OFFSET+index_Fast_Copy_Backward(%rip) +- jz 2f +- leaq __memcpy_ssse3_back(%rip), %rax + 2: ret + END(memcpy) + +--- ./sysdeps/x86_64/multiarch/mempcpy.S.orig 2011-01-17 22:34:07.000000000 -0600 ++++ ./sysdeps/x86_64/multiarch/mempcpy.S 2011-02-08 19:36:37.000000000 -0600 +@@ -31,12 +31,6 @@ + jne 1f + call __init_cpu_features + 1: leaq __mempcpy_sse2(%rip), %rax +- testl $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip) +- jz 2f +- leaq __mempcpy_ssse3(%rip), %rax +- testl $bit_Fast_Copy_Backward, __cpu_features+FEATURE_OFFSET+index_Fast_Copy_Backward(%rip) +- jz 2f +- leaq __mempcpy_ssse3_back(%rip), %rax + 2: ret + END(__mempcpy) + diff --git a/patches/source/glibc/glibc.getcwd.max.macro.diff b/patches/source/glibc/glibc.getcwd.max.macro.diff new file mode 100644 index 000000000..e26e14d95 --- /dev/null +++ b/patches/source/glibc/glibc.getcwd.max.macro.diff @@ -0,0 +1,10 @@ +--- ./sysdeps/unix/sysv/linux/getcwd.c.orig 2006-04-02 12:58:28.000000000 -0500 ++++ ./sysdeps/unix/sysv/linux/getcwd.c 2006-10-10 22:11:02.000000000 -0500 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch b/patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch new file mode 100644 index 000000000..9b58674c7 --- /dev/null +++ b/patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch @@ -0,0 +1,1212 @@ +From 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 Mon Sep 17 00:00:00 2001 +From: H.J. Lu +Date: Fri, 24 Dec 2010 20:14:37 -0500 +Subject: [PATCH] Remove `.ctors' and `.dtors' output sections + +--- + ChangeLog | 15 ++ + config.h.in | 3 + + configure | 334 +++++++++++++++++--------------- + configure.in | 2 + + elf/sofini.c | 2 + + elf/soinit.c | 2 + + sysdeps/i386/init-first.c | 2 + + sysdeps/mach/hurd/i386/init-first.c | 2 +- + sysdeps/mach/hurd/powerpc/init-first.c | 2 +- + sysdeps/sh/init-first.c | 2 + + sysdeps/unix/sysv/linux/init-first.c | 2 +- + 11 files changed, 209 insertions(+), 159 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 958c76a..497de67 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,18 @@ ++2010-12-15 H.J. Lu ++ ++ * config.h.in (NO_CTORS_DTORS_SECTIONS): Define. ++ * configure.in: Define NO_CTORS_DTORS_SECTIONS if linker ++ script has SORT_BY_INIT_PRIORITY. ++ * elf/sofini.c: Remove `.ctors' and `.dtors' sections if ++ NO_CTORS_DTORS_SECTIONS is defined. ++ * elf/soinit.c: Likewise. ++ * sysdeps/i386/init-first.c: Don't call __libc_global_ctors if ++ NO_CTORS_DTORS_SECTIONS is defined. ++ * sysdeps/mach/hurd/i386/init-first.c: Likewise. ++ * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. ++ * sysdeps/sh/init-first.c: Likewise. ++ * sysdeps/unix/sysv/linux/init-first.c: Likewise. ++ + 2010-12-24 Ulrich Drepper + + * stdio-common/vfprintf.c (vfprintf): If printf handlers are installed +diff --git a/config.h.in b/config.h.in +index 18bf01a..9e797eb 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -201,6 +201,9 @@ + /* Define if multi-arch DSOs should be generated. */ + #undef USE_MULTIARCH + ++/* Define if `.ctors' and `.dtors' sections shouldn't be used. */ ++#undef NO_CTORS_DTORS_SECTIONS ++ + /* + */ + +diff --git a/configure b/configure +index eae35ba..823f15e 100755 +--- a/configure ++++ b/configure +@@ -1,14 +1,14 @@ + #! /bin/sh + # From configure.in CVSid. + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.65 for GNU C Library (see version.h). ++# Generated by GNU Autoconf 2.66 for GNU C Library (see version.h). + # + # Report bugs to . + # + # + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +-# Inc. ++# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software ++# Foundation, Inc. + # + # + # This configure script is free software; the Free Software Foundation +@@ -319,7 +319,7 @@ $as_echo X"$as_dir" | + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" +- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + + } # as_fn_mkdir_p +@@ -359,19 +359,19 @@ else + fi # as_fn_arith + + +-# as_fn_error ERROR [LINENO LOG_FD] +-# --------------------------------- ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- + # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are + # provided, also output the error to LOG_FD, referencing LINENO. Then exit the +-# script with status $?, using 1 if that was 0. ++# script with STATUS, using 1 if that was 0. + as_fn_error () + { +- as_status=$?; test $as_status -eq 0 && as_status=1 +- if test "$3"; then +- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $1" >&2 ++ $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + +@@ -533,7 +533,7 @@ test -n "$DJDIR" || exec 7<&0 &1 + + # Name of the host. +-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, + # so uname gets run too. + ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +@@ -907,7 +907,7 @@ do + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +- as_fn_error "invalid feature name: $ac_useropt" ++ as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in +@@ -933,7 +933,7 @@ do + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +- as_fn_error "invalid feature name: $ac_useropt" ++ as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in +@@ -1137,7 +1137,7 @@ do + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +- as_fn_error "invalid package name: $ac_useropt" ++ as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in +@@ -1153,7 +1153,7 @@ do + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && +- as_fn_error "invalid package name: $ac_useropt" ++ as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in +@@ -1183,8 +1183,8 @@ do + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + +- -*) as_fn_error "unrecognized option: \`$ac_option' +-Try \`$0 --help' for more information." ++ -*) as_fn_error $? "unrecognized option: \`$ac_option' ++Try \`$0 --help' for more information" + ;; + + *=*) +@@ -1192,7 +1192,7 @@ Try \`$0 --help' for more information." + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) +- as_fn_error "invalid variable name: \`$ac_envvar'" ;; ++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; +@@ -1210,13 +1210,13 @@ done + + if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` +- as_fn_error "missing argument to $ac_option" ++ as_fn_error $? "missing argument to $ac_option" + fi + + if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; +- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac + fi +@@ -1239,7 +1239,7 @@ do + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac +- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" + done + + # There might be people who depend on the old broken behavior: `$host' +@@ -1253,8 +1253,8 @@ target=$target_alias + if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe +- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. +- If a cross compiler is detected then cross compile mode will be used." >&2 ++ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. ++ If a cross compiler is detected then cross compile mode will be used" >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +@@ -1269,9 +1269,9 @@ test "$silent" = yes && exec 6>/dev/null + ac_pwd=`pwd` && test -n "$ac_pwd" && + ac_ls_di=`ls -di .` && + ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || +- as_fn_error "working directory cannot be determined" ++ as_fn_error $? "working directory cannot be determined" + test "X$ac_ls_di" = "X$ac_pwd_ls_di" || +- as_fn_error "pwd does not report name of working directory" ++ as_fn_error $? "pwd does not report name of working directory" + + + # Find the source files, if location was not specified. +@@ -1310,11 +1310,11 @@ else + fi + if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." +- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" + fi + ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" + ac_abs_confdir=`( +- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` + # When building in place, set srcdir=. + if test "$ac_abs_confdir" = "$ac_pwd"; then +@@ -1354,7 +1354,7 @@ Configuration: + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit +- -q, --quiet, --silent do not print \`checking...' messages ++ -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files +@@ -1544,9 +1544,9 @@ test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF + GNU C Library configure (see version.h) +-generated by GNU Autoconf 2.65 ++generated by GNU Autoconf 2.66 + +-Copyright (C) 2009 Free Software Foundation, Inc. ++Copyright (C) 2010 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +@@ -1945,7 +1945,7 @@ ac_fn_c_check_header_compile () + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 + $as_echo_n "checking for $2... " >&6; } +-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : ++if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -1971,7 +1971,7 @@ This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + + It was created by GNU C Library $as_me (see version.h), which was +-generated by GNU Autoconf 2.65. Invocation command line was ++generated by GNU Autoconf 2.66. Invocation command line was + + $ $0 $@ + +@@ -2081,11 +2081,9 @@ trap 'exit_status=$? + { + echo + +- cat <<\_ASBOX +-## ---------------- ## ++ $as_echo "## ---------------- ## + ## Cache variables. ## +-## ---------------- ## +-_ASBOX ++## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, + ( +@@ -2119,11 +2117,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + ) + echo + +- cat <<\_ASBOX +-## ----------------- ## ++ $as_echo "## ----------------- ## + ## Output variables. ## +-## ----------------- ## +-_ASBOX ++## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do +@@ -2136,11 +2132,9 @@ _ASBOX + echo + + if test -n "$ac_subst_files"; then +- cat <<\_ASBOX +-## ------------------- ## ++ $as_echo "## ------------------- ## + ## File substitutions. ## +-## ------------------- ## +-_ASBOX ++## ------------------- ##" + echo + for ac_var in $ac_subst_files + do +@@ -2154,11 +2148,9 @@ _ASBOX + fi + + if test -s confdefs.h; then +- cat <<\_ASBOX +-## ----------- ## ++ $as_echo "## ----------- ## + ## confdefs.h. ## +-## ----------- ## +-_ASBOX ++## ----------- ##" + echo + cat confdefs.h + echo +@@ -2213,7 +2205,12 @@ _ACEOF + ac_site_file1=NONE + ac_site_file2=NONE + if test -n "$CONFIG_SITE"; then +- ac_site_file1=$CONFIG_SITE ++ # We do not want a PATH search for config.site. ++ case $CONFIG_SITE in #(( ++ -*) ac_site_file1=./$CONFIG_SITE;; ++ */*) ac_site_file1=$CONFIG_SITE;; ++ *) ac_site_file1=./$CONFIG_SITE;; ++ esac + elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +@@ -2228,7 +2225,11 @@ do + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 + $as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 +- . "$ac_site_file" ++ . "$ac_site_file" \ ++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See \`config.log' for more details" "$LINENO" 5; } + fi + done + +@@ -2304,7 +2305,7 @@ if $ac_cache_corrupted; then + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 + $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} +- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 ++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + fi + ## -------------------- ## + ## Main body of script. ## +@@ -2322,16 +2323,22 @@ ac_config_headers="$ac_config_headers config.h" + + ac_aux_dir= + for ac_dir in scripts "$srcdir"/scripts; do +- for ac_t in install-sh install.sh shtool; do +- if test -f "$ac_dir/$ac_t"; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/$ac_t -c" +- break 2 +- fi +- done ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi + done + if test -z "$ac_aux_dir"; then +- as_fn_error "cannot find install-sh, install.sh, or shtool in scripts \"$srcdir\"/scripts" "$LINENO" 5 ++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in scripts \"$srcdir\"/scripts" "$LINENO" 5 + fi + + # These three variables are undocumented and unsupported, +@@ -2351,7 +2358,7 @@ subdirs="$subdirs " + + # Make sure we can run config.sub. + $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || +- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 ++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 + $as_echo_n "checking build system type... " >&6; } +@@ -2362,16 +2369,16 @@ else + test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + test "x$ac_build_alias" = x && +- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 ++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 + ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || +- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 + $as_echo "$ac_cv_build" >&6; } + case $ac_cv_build in + *-*-*) ;; +-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; + esac + build=$ac_cv_build + ac_save_IFS=$IFS; IFS='-' +@@ -2396,7 +2403,7 @@ else + ac_cv_host=$ac_cv_build + else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || +- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 ++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + fi + + fi +@@ -2404,7 +2411,7 @@ fi + $as_echo "$ac_cv_host" >&6; } + case $ac_cv_host in + *-*-*) ;; +-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; + esac + host=$ac_cv_host + ac_save_IFS=$IFS; IFS='-' +@@ -2721,8 +2728,8 @@ fi + + test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error "no acceptable C compiler found in \$PATH +-See \`config.log' for more details." "$LINENO" 5; } ++as_fn_error $? "no acceptable C compiler found in \$PATH ++See \`config.log' for more details" "$LINENO" 5; } + + # Provide some information about the compiler. + $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +@@ -2792,8 +2799,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 + + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error "cannot compute suffix of object files: cannot compile +-See \`config.log' for more details." "$LINENO" 5; } ++as_fn_error $? "cannot compute suffix of object files: cannot compile ++See \`config.log' for more details" "$LINENO" 5; } + fi + rm -f conftest.$ac_cv_objext conftest.$ac_ext + fi +@@ -3185,8 +3192,8 @@ if $ac_preproc_ok; then : + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error "C preprocessor \"$CPP\" fails sanity check +-See \`config.log' for more details." "$LINENO" 5; } ++as_fn_error $? "C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details" "$LINENO" 5; } + fi + + ac_ext=c +@@ -3455,7 +3462,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then +- as_fn_error "you must configure in a separate build directory" "$LINENO" 5 ++ as_fn_error $? "you must configure in a separate build directory" "$LINENO" 5 + fi + + # This will get text that should go into config.make. +@@ -3767,7 +3774,7 @@ fi + if test x$nss_crypt = xyes; then + nss_includes=-I$(nss-config --includedir 2>/dev/null) + if test $? -ne 0; then +- as_fn_error "cannot find include directory with nss-config" "$LINENO" 5 ++ as_fn_error $? "cannot find include directory with nss-config" "$LINENO" 5 + fi + old_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $nss_includes" +@@ -3782,7 +3789,7 @@ _ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + libc_cv_nss_crypt=yes + else +- as_fn_error " ++ as_fn_error $? " + cannot find NSS headers with lowlevel hash function interfaces" "$LINENO" 5 + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +@@ -3804,7 +3811,7 @@ _ACEOF + if ac_fn_c_try_link "$LINENO"; then : + libc_cv_nss_crypt=yes + else +- as_fn_error " ++ as_fn_error $? " + cannot link program using lowlevel NSS hash functions" "$LINENO" 5 + fi + rm -f core conftest.err conftest.$ac_objext \ +@@ -3880,7 +3887,7 @@ submachine= + # Check whether --with-cpu was given. + if test "${with_cpu+set}" = set; then : + withval=$with_cpu; case "$withval" in +- yes|'') as_fn_error "--with-cpu requires an argument" "$LINENO" 5 ;; ++ yes|'') as_fn_error $? "--with-cpu requires an argument" "$LINENO" 5 ;; + no) ;; + *) submachine="$withval" ;; + esac +@@ -3913,14 +3920,14 @@ if test x"$add_ons" != x; then + # Some sanity checks + case "$f" in + crypt) +- as_fn_error " ++ as_fn_error $? " + *** It seems that you're using an old \`crypt' add-on. crypt is now + *** part of glibc and using the old add-on will not work with this + *** release. Start again with fresh sources and without the old + *** \`crypt' add-on." "$LINENO" 5 + ;; + localedata) +- as_fn_error " ++ as_fn_error $? " + *** It seems that you're using an old \`localedata' add-on. localedata + *** is now part of glibc and using the old add-on will not work with + *** this release. Start again with fresh sources and without the old +@@ -3947,7 +3954,7 @@ if test x"$add_ons" != x; then + if test -d "$libc_add_on"; then + libc_add_on="`pwd`/$libc_add_on" + else +- as_fn_error "add-on directory \"$libc_add_on\" does not exist" "$LINENO" 5 ++ as_fn_error $? "add-on directory \"$libc_add_on\" does not exist" "$LINENO" 5 + fi + } + libc_add_on_srcdir=$srcdir/$libc_add_on +@@ -3966,7 +3973,7 @@ $as_echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;} + test -z "$libc_add_on" || { + configured_add_ons="$configured_add_ons $libc_add_on" + if test "x$libc_add_on_canonical" = xunknown; then +- as_fn_error "fragment must set \$libc_add_on_canonical" "$LINENO" 5 ++ as_fn_error $? "fragment must set \$libc_add_on_canonical" "$LINENO" 5 + fi + for d in $libc_add_on_subdirs; do + case "$libc_add_on" in +@@ -3991,13 +3998,13 @@ $d-srcdir = $subdir_srcdir" + done + for d in $libc_add_on_config_subdirs; do + case "$d" in +- /*) as_fn_error "fragment uses absolute path in \$libc_add_on_config_subdirs" "$LINENO" 5 ;; ++ /*) as_fn_error $? "fragment uses absolute path in \$libc_add_on_config_subdirs" "$LINENO" 5 ;; + esac + if test ! -d "$libc_add_on_srcdir/$d"; then +- as_fn_error "fragment wants to configure missing directory $d" "$LINENO" 5 ++ as_fn_error $? "fragment wants to configure missing directory $d" "$LINENO" 5 + fi + case "$libc_add_on" in +- /*) as_fn_error "relative path required for add-on using \$libc_add_on_config_subdirs" "$LINENO" 5 ;; ++ /*) as_fn_error $? "relative path required for add-on using \$libc_add_on_config_subdirs" "$LINENO" 5 ;; + esac + subdirs="$subdirs $libc_add_on/$d" + done +@@ -4174,7 +4181,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_global_directive" >&5 + $as_echo "$libc_cv_asm_global_directive" >&6; } + if test $libc_cv_asm_global_directive = UNKNOWN; then +- as_fn_error "cannot determine asm global directive" "$LINENO" 5 ++ as_fn_error $? "cannot determine asm global directive" "$LINENO" 5 + else + cat >>confdefs.h <<_ACEOF + #define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive} +@@ -4220,7 +4227,7 @@ fi + + if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then + if test x"$multi_arch" = xyes; then +- as_fn_error "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5 ++ as_fn_error $? "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5 + else + multi_arch=no + fi +@@ -4359,13 +4366,13 @@ fi + + + if test -z "$os_used" && test "$os" != none; then +- as_fn_error "Operating system $os is not supported." "$LINENO" 5 ++ as_fn_error $? "Operating system $os is not supported." "$LINENO" 5 + fi + if test -z "$machine_used" && test "$machine" != none; then +- as_fn_error "The $machine is not supported." "$LINENO" 5 ++ as_fn_error $? "The $machine is not supported." "$LINENO" 5 + fi + if test -z "$submachine_used" && test -n "$submachine"; then +- as_fn_error "The $submachine subspecies of $host_cpu is not supported." "$LINENO" 5 ++ as_fn_error $? "The $submachine subspecies of $host_cpu is not supported." "$LINENO" 5 + fi + + +@@ -4492,7 +4499,7 @@ for add_on in $add_ons; do + case "$configured_add_ons " in + *" $add_on "*) ;; + *|'') +- as_fn_error "add-on $add_on has no configure fragment or sysdeps tree" "$LINENO" 5 ++ as_fn_error $? "add-on $add_on has no configure fragment or sysdeps tree" "$LINENO" 5 + ;; + esac + continue +@@ -4978,7 +4985,7 @@ fi + + + if test "$PWD_P" = no; then +- as_fn_error "*** A pwd binary could not be found." "$LINENO" 5 ++ as_fn_error $? "*** A pwd binary could not be found." "$LINENO" 5 + fi + + # These programs are version sensitive. +@@ -5367,7 +5374,7 @@ if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then + aux_missing="$aux_missing autoconf" + fi + +-test -n "$critic_missing" && as_fn_error " ++test -n "$critic_missing" && as_fn_error $? " + *** These critical programs are missing or too old:$critic_missing + *** Check the INSTALL file for required versions." "$LINENO" 5 + +@@ -5450,7 +5457,7 @@ esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_library_path_setting" >&5 + $as_echo "$ld_library_path_setting" >&6; } + if test "$ld_library_path_setting" != "ok"; then +-as_fn_error " ++as_fn_error $? " + *** LD_LIBRARY_PATH shouldn't contain the current directory when + *** building glibc. Please change the environment variable + *** and run configure again." "$LINENO" 5 +@@ -6053,7 +6060,7 @@ EOF + test $ac_status = 0; }; }; then + libc_cv_asm_protected_directive=yes + else +- as_fn_error "assembler support for symbol visibility is required" "$LINENO" 5 ++ as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5 + fi + rm -f conftest* + fi +@@ -6089,7 +6096,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_visibility_attribute" >&5 + $as_echo "$libc_cv_visibility_attribute" >&6; } + if test $libc_cv_visibility_attribute != yes; then +- as_fn_error "compiler support for visibility attribute is required" "$LINENO" 5 ++ as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5 + fi + fi + +@@ -6121,7 +6128,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_visibility_attribute" >&5 + $as_echo "$libc_cv_broken_visibility_attribute" >&6; } + if test $libc_cv_broken_visibility_attribute = yes; then +- as_fn_error "working compiler support for visibility attribute is required" "$LINENO" 5 ++ as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5 + fi + fi + +@@ -6156,7 +6163,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_alias_attribute" >&5 + $as_echo "$libc_cv_broken_alias_attribute" >&6; } + if test $libc_cv_broken_alias_attribute = yes; then +- as_fn_error "working alias attribute support required" "$LINENO" 5 ++ as_fn_error $? "working alias attribute support required" "$LINENO" 5 + fi + + if test $libc_cv_visibility_attribute = yes; then +@@ -6214,7 +6221,15 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5 + $as_echo "$libc_cv_initfini_array" >&6; } + if test $libc_cv_initfini_array != yes; then +- as_fn_error "Need linker with .init_array/.fini_array support." "$LINENO" 5 ++ as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5 ++ elif { ac_try='${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&5' ++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h ++ + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5 +@@ -6262,7 +6277,7 @@ EOF + then + libc_cv_z_nodelete=yes + else +- as_fn_error "linker with -z nodelete support required" "$LINENO" 5 ++ as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5 + fi + rm -f conftest* + fi +@@ -6289,7 +6304,7 @@ EOF + then + libc_cv_z_nodlopen=yes + else +- as_fn_error "linker with -z nodlopen support required" "$LINENO" 5 ++ as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5 + fi + rm -f conftest* + fi +@@ -6316,7 +6331,7 @@ EOF + then + libc_cv_z_initfirst=yes + else +- as_fn_error "linker with -z initfirst support required" "$LINENO" 5 ++ as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5 + fi + rm -f conftest* + fi +@@ -6352,7 +6367,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_relro" >&5 + $as_echo "$libc_cv_z_relro" >&6; } + if test "$libc_cv_z_relro" = no; then +- as_fn_error "linker with -z relro support required" "$LINENO" 5 ++ as_fn_error $? "linker with -z relro support required" "$LINENO" 5 + fi + ;; + *) ;; +@@ -7202,7 +7217,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_submachine" >&5 + $as_echo "$libc_cv_cc_submachine" >&6; } + if test "x$libc_cv_cc_submachine" = xno; then +- as_fn_error "${CC-cc} does not support $submachine" "$LINENO" 5 ++ as_fn_error $? "${CC-cc} does not support $submachine" "$LINENO" 5 + fi + fi + +@@ -7322,7 +7337,7 @@ $as_echo "$have_selinux" >&6; } + + if test x$with_selinux = xyes ; then + if test x$have_selinux = xno ; then +- as_fn_error "SELinux explicitly required, but sufficiently recent SELinux library not found" "$LINENO" 5 ++ as_fn_error $? "SELinux explicitly required, but sufficiently recent SELinux library not found" "$LINENO" 5 + fi + fi + fi +@@ -7486,7 +7501,7 @@ esac + done + IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then +- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 ++ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi + else + ac_cv_path_GREP=$GREP +@@ -7552,7 +7567,7 @@ esac + done + IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then +- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 ++ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi + else + ac_cv_path_EGREP=$EGREP +@@ -7684,8 +7699,7 @@ do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` + ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default + " +-eval as_val=\$$as_ac_Header +- if test "x$as_val" = x""yes; then : ++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF + #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 + _ACEOF +@@ -7710,9 +7724,8 @@ else + if test "$ac_cv_type_long_double" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-{ as_fn_set_status 77 +-as_fn_error "cannot compute sizeof (long double) +-See \`config.log' for more details." "$LINENO" 5; }; } ++as_fn_error 77 "cannot compute sizeof (long double) ++See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long_double=0 + fi +@@ -7943,6 +7956,7 @@ DEFS=-DHAVE_CONFIG_H + + ac_libobjs= + ac_ltlibobjs= ++U= + for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' +@@ -8104,19 +8118,19 @@ export LANGUAGE + (unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +-# as_fn_error ERROR [LINENO LOG_FD] +-# --------------------------------- ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- + # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are + # provided, also output the error to LOG_FD, referencing LINENO. Then exit the +-# script with status $?, using 1 if that was 0. ++# script with STATUS, using 1 if that was 0. + as_fn_error () + { +- as_status=$?; test $as_status -eq 0 && as_status=1 +- if test "$3"; then +- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi +- $as_echo "$as_me: error: $1" >&2 ++ $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status + } # as_fn_error + +@@ -8312,7 +8326,7 @@ $as_echo X"$as_dir" | + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" +- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + + } # as_fn_mkdir_p +@@ -8366,7 +8380,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + # values after options handling. + ac_log=" + This file was extended by GNU C Library $as_me (see version.h), which was +-generated by GNU Autoconf 2.65. Invocation command line was ++generated by GNU Autoconf 2.66. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -8434,10 +8448,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" + ac_cs_version="\\ + GNU C Library config.status (see version.h) +-configured by $0, generated by GNU Autoconf 2.65, ++configured by $0, generated by GNU Autoconf 2.66, + with options \\"\$ac_cs_config\\" + +-Copyright (C) 2009 Free Software Foundation, Inc. ++Copyright (C) 2010 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +@@ -8492,7 +8506,7 @@ do + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header +- as_fn_error "ambiguous option: \`$1' ++ as_fn_error $? "ambiguous option: \`$1' + Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; +@@ -8501,7 +8515,7 @@ Try \`$0 --help' for more information.";; + ac_cs_silent=: ;; + + # This is an error. +- -*) as_fn_error "unrecognized option: \`$1' ++ -*) as_fn_error $? "unrecognized option: \`$1' + Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" +@@ -8560,7 +8574,7 @@ do + "${config_makefile}") CONFIG_FILES="$CONFIG_FILES ${config_makefile}" ;; + "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; + +- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac + done + +@@ -8598,7 +8612,7 @@ $debug || + { + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 + + # Set up the scripts for CONFIG_FILES section. + # No need to generate them if there are no CONFIG_FILES. +@@ -8615,7 +8629,7 @@ if test "x$ac_cr" = x; then + fi + ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` + if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then +- ac_cs_awk_cr='\r' ++ ac_cs_awk_cr='\\r' + else + ac_cs_awk_cr=$ac_cr + fi +@@ -8629,18 +8643,18 @@ _ACEOF + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" + } >conf$$subs.sh || +- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 +-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` + ac_delim='%!_!# ' + for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || +- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then +- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +@@ -8729,20 +8743,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + else + cat + fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ +- || as_fn_error "could not setup config files machinery" "$LINENO" 5 ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 + _ACEOF + +-# VPATH may cause trouble with some makes, so we remove $(srcdir), +-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and + # trailing colons and then remove the whole line if VPATH becomes empty + # (actually we leave an empty line to preserve line numbers). + if test "x$srcdir" = x.; then +- ac_vpsub='/^[ ]*VPATH[ ]*=/{ +-s/:*\$(srcdir):*/:/ +-s/:*\${srcdir}:*/:/ +-s/:*@srcdir@:*/:/ +-s/^\([^=]*=[ ]*\):*/\1/ ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:\$(srcdir):/:/g ++s/:\${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// + s/:*$// ++x ++s/\(=[ ]*\).*/\1/ ++G ++s/\n// + s/^[^=]*=[ ]*$// + }' + fi +@@ -8770,7 +8792,7 @@ for ac_last_try in false false :; do + if test -z "$ac_t"; then + break + elif $ac_last_try; then +- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +@@ -8855,7 +8877,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + _ACAWK + _ACEOF + cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +- as_fn_error "could not setup config headers machinery" "$LINENO" 5 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 + fi # test -n "$CONFIG_HEADERS" + + +@@ -8868,7 +8890,7 @@ do + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; +- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac +@@ -8896,7 +8918,7 @@ do + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || +- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" +@@ -8923,7 +8945,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ +- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac +@@ -9054,22 +9076,22 @@ s&@INSTALL@&$ac_INSTALL&;t t + $ac_datarootdir_hack + " + eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ +- || as_fn_error "could not create $ac_file" "$LINENO" 5 ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + + test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +-which seems to be undefined. Please make sure it is defined." >&5 ++which seems to be undefined. Please make sure it is defined" >&5 + $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +-which seems to be undefined. Please make sure it is defined." >&2;} ++which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ +- || as_fn_error "could not create $ac_file" "$LINENO" 5 ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # +@@ -9080,19 +9102,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ +- || as_fn_error "could not create $ac_file" "$LINENO" 5 ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 + $as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ +- || as_fn_error "could not create $ac_file" "$LINENO" 5 ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ +- || as_fn_error "could not create -" "$LINENO" 5 ++ || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + +@@ -9118,7 +9140,7 @@ _ACEOF + ac_clean_files=$ac_clean_files_save + + test $ac_write_fail = 0 || +- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + + # configure is writing to config.log, and then calls config.status. +@@ -9139,7 +9161,7 @@ if test "$no_create" != yes; then + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. +- $ac_cs_success || as_fn_exit $? ++ $ac_cs_success || as_fn_exit 1 + fi + + # +@@ -9280,7 +9302,7 @@ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cach + # The eval makes quoting arguments work. + eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ + --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || +- as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5 ++ as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5 + fi + + cd "$ac_popdir" +diff --git a/configure.in b/configure.in +index d8cd5f1..ad25b9b 100644 +--- a/configure.in ++++ b/configure.in +@@ -1497,6 +1497,8 @@ EOF + rm -f conftest*]) + if test $libc_cv_initfini_array != yes; then + AC_MSG_ERROR([Need linker with .init_array/.fini_array support.]) ++ elif AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&AS_MESSAGE_LOG_FD]); then ++ AC_DEFINE(NO_CTORS_DTORS_SECTIONS) + fi + + AC_CACHE_CHECK(for libunwind-support in compiler, +diff --git a/elf/sofini.c b/elf/sofini.c +index 5e06f0c..13e74b7 100644 +--- a/elf/sofini.c ++++ b/elf/sofini.c +@@ -1,12 +1,14 @@ + /* Finalizer module for ELF shared C library. This provides terminating + null pointer words in the `.ctors' and `.dtors' sections. */ + ++#ifndef NO_CTORS_DTORS_SECTIONS + static void (*const __CTOR_END__[1]) (void) + __attribute__ ((used, section (".ctors"))) + = { 0 }; + static void (*const __DTOR_END__[1]) (void) + __attribute__ ((used, section (".dtors"))) + = { 0 }; ++#endif + + /* Terminate the frame unwind info section with a 4byte 0 as a sentinel; + this would be the 'length' field in a real FDE. */ +diff --git a/elf/soinit.c b/elf/soinit.c +index 6fecbb5..1db676a 100644 +--- a/elf/soinit.c ++++ b/elf/soinit.c +@@ -3,6 +3,7 @@ + the `.ctors' and `.dtors' sections so the lists are terminated, and + calling those lists of functions. */ + ++#ifndef NO_CTORS_DTORS_SECTIONS + #include + #include + +@@ -40,3 +41,4 @@ __libc_fini (void) + + void (*_fini_ptr) (void) __attribute__ ((section (".fini_array"))) + = &__libc_fini; ++#endif +diff --git a/sysdeps/i386/init-first.c b/sysdeps/i386/init-first.c +index c6355a8..2af042f 100644 +--- a/sysdeps/i386/init-first.c ++++ b/sysdeps/i386/init-first.c +@@ -59,7 +59,9 @@ _init (int argc, ...) + { + init (&argc); + ++#ifndef NO_CTORS_DTORS_SECTIONS + __libc_global_ctors (); ++#endif + } + #endif + +diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c +index f9a7a58..60823bd 100644 +--- a/sysdeps/mach/hurd/i386/init-first.c ++++ b/sysdeps/mach/hurd/i386/init-first.c +@@ -92,7 +92,7 @@ posixland_init (int argc, char **argv, char **envp) + __getopt_clean_environment (envp); + #endif + +-#ifdef SHARED ++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS + __libc_global_ctors (); + #endif + } +diff --git a/sysdeps/mach/hurd/powerpc/init-first.c b/sysdeps/mach/hurd/powerpc/init-first.c +index 20fa1d4..21b5054 100644 +--- a/sysdeps/mach/hurd/powerpc/init-first.c ++++ b/sysdeps/mach/hurd/powerpc/init-first.c +@@ -82,7 +82,7 @@ posixland_init (int argc, char **argv, char **envp) + __getopt_clean_environment (__environ); + #endif + +-#ifdef SHARED ++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS + __libc_global_ctors (); + #endif + } +diff --git a/sysdeps/sh/init-first.c b/sysdeps/sh/init-first.c +index d816625..1f3a821 100644 +--- a/sysdeps/sh/init-first.c ++++ b/sysdeps/sh/init-first.c +@@ -59,7 +59,9 @@ _init (int argc, ...) + { + init (&argc); + ++#ifndef NO_CTORS_DTORS_SECTIONS + __libc_global_ctors (); ++#endif + } + #endif + +diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c +index 7b2333d..a60212f 100644 +--- a/sysdeps/unix/sysv/linux/init-first.c ++++ b/sysdeps/unix/sysv/linux/init-first.c +@@ -93,7 +93,7 @@ _init (int argc, char **argv, char **envp) + __getopt_clean_environment (envp); + #endif + +-#ifdef SHARED ++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS + __libc_global_ctors (); + #endif + } +-- +1.7.3.4 + diff --git a/patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff b/patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff new file mode 100644 index 000000000..e9b3ba400 --- /dev/null +++ b/patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff @@ -0,0 +1,322 @@ +From 6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4 Mon Sep 17 00:00:00 2001 +From: Ulrich Drepper +Date: Fri, 27 Jan 2012 15:05:19 -0500 +Subject: [PATCH] Sort objects before relocations + +--- + ChangeLog | 11 ++++ + Makeconfig | 6 ++ + NEWS | 4 +- + elf/Makefile | 15 +++++- + elf/dl-open.c | 128 ++++++++++++++++++++++++++++++++++++------------ + elf/tst-relsort1.c | 19 +++++++ + elf/tst-relsort1mod1.c | 7 +++ + elf/tst-relsort1mod2.c | 7 +++ + 8 files changed, 160 insertions(+), 37 deletions(-) + create mode 100644 elf/tst-relsort1.c + create mode 100644 elf/tst-relsort1mod1.c + create mode 100644 elf/tst-relsort1mod2.c + +#diff --git a/ChangeLog b/ChangeLog +#index 24c9550..2efe17a 100644 +#--- a/ChangeLog +#+++ b/ChangeLog +#@@ -1,3 +1,14 @@ +#+2012-01-27 Ulrich Drepper +#+ +#+ [BZ #13618] +#+ * elf/dl-open.c (dl_open_worker): Sort objects by dependency before +#+ relocation. +#+ * Makeconfig (libm): Define. +#+ * elf/Makefile: Add rules to build and run tst-relsort1. +#+ * elf/tst-relsort1.c: New file. +#+ * elf/tst-relsort1mod1.c: New file. +#+ * elf/tst-relsort1mod2.c: New file. +#+ + 2012-01-26 Joseph Myers + + * crypt/md5.h: Remove __STDC__ conditionals. +diff --git a/Makeconfig b/Makeconfig +index 2db2821..68547b2 100644 +--- a/Makeconfig ++++ b/Makeconfig +@@ -900,6 +900,12 @@ else + libdl = $(common-objpfx)dlfcn/libdl.a + endif + ++ifeq ($(build-shared),yes) ++libm = $(common-objpfx)math/libm.so$(libm.so-version) ++else ++libm = $(common-objpfx)math/libm.a ++endif ++ + # These are the subdirectories containing the library source. The order + # is more or less arbitrary. The sorting step will take care of the + # dependencies. +#diff --git a/NEWS b/NEWS +#index 42e09c1..3b502b7 100644 +#--- a/NEWS +#+++ b/NEWS +#@@ -1,4 +1,4 @@ +#-GNU C Library NEWS -- history of user-visible changes. 2012-1-26 +#+GNU C Library NEWS -- history of user-visible changes. 2012-1-27 + #Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc. + #See the end for copying conditions. +# +#@@ -10,7 +10,7 @@ Version 2.16 + #* The following bugs are resolved with this release: +# + #13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530, +#- 13551, 13552, 13553, 13555, 13559, 13583 +#+ 13551, 13552, 13553, 13555, 13559, 13583, 13618 +# + #* ISO C11 support: +# +diff --git a/elf/Makefile b/elf/Makefile +index 052e763..3f1772a 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -124,7 +124,8 @@ distribute := rtld-Rules \ + tst-initordera1.c tst-initordera2.c tst-initorderb1.c \ + tst-initorderb2.c tst-initordera3.c tst-initordera4.c \ + tst-initorder.c \ +- tst-initorder2.c ++ tst-initorder2.c \ ++ tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c + + CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables + CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables +@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ + tst-audit1 tst-audit2 \ + tst-stackguard1 tst-addr1 tst-thrlock \ + tst-unique1 tst-unique2 tst-unique3 tst-unique4 \ +- tst-initorder tst-initorder2 ++ tst-initorder tst-initorder2 tst-relsort1 + # reldep9 + test-srcs = tst-pathopt + selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) +@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ + tst-initordera1 tst-initorderb1 \ + tst-initordera2 tst-initorderb2 \ + tst-initordera3 tst-initordera4 \ +- tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d ++ tst-initorder2a tst-initorder2b tst-initorder2c \ ++ tst-initorder2d \ ++ tst-relsort1mod1 tst-relsort1mod2 + ifeq (yes,$(have-initfini-array)) + modules-names += tst-array2dep tst-array5dep + endif +@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS) + CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS) + CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS) + endif ++ ++$(objpfx)tst-relsort1: $(libdl) ++$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so ++$(objpfx)tst-relsort1mod2.so: $(libm) ++$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \ ++ $(objpfx)tst-relsort1mod2.so +diff --git a/elf/dl-open.c b/elf/dl-open.c +index a0b5c50..a56bdc1 100644 +--- a/elf/dl-open.c ++++ b/elf/dl-open.c +@@ -1,5 +1,5 @@ + /* Load a shared object at runtime, relocate it, and run its initializer. +- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -302,45 +302,109 @@ dl_open_worker (void *a) + if (GLRO(dl_lazy)) + reloc_mode |= mode & RTLD_LAZY; + +- /* Relocate the objects loaded. We do this in reverse order so that copy +- relocs of earlier objects overwrite the data written by later objects. */ +- ++ /* Sort the objects by dependency for the relocation process. This ++ allows IFUNC relocations to work and it also means copy ++ relocation of dependencies are if necessary overwritten. */ ++ size_t nmaps = 0; + struct link_map *l = new; +- while (l->l_next) +- l = l->l_next; +- while (1) ++ do ++ { ++ if (! l->l_real->l_relocated) ++ ++nmaps; ++ l = l->l_next; ++ } ++ while (l != NULL); ++ struct link_map *maps[nmaps]; ++ nmaps = 0; ++ l = new; ++ do + { + if (! l->l_real->l_relocated) ++ maps[nmaps++] = l; ++ l = l->l_next; ++ } ++ while (l != NULL); ++ if (nmaps > 1) ++ { ++ char seen[nmaps]; ++ memset (seen, '\0', nmaps); ++ size_t i = 0; ++ while (1) + { +-#ifdef SHARED +- if (__builtin_expect (GLRO(dl_profile) != NULL, 0)) ++ ++seen[i]; ++ struct link_map *thisp = maps[i]; ++ ++ /* Find the last object in the list for which the current one is ++ a dependency and move the current object behind the object ++ with the dependency. */ ++ size_t k = nmaps - 1; ++ while (k > i) + { +- /* If this here is the shared object which we want to profile +- make sure the profile is started. We can find out whether +- this is necessary or not by observing the `_dl_profile_map' +- variable. If was NULL but is not NULL afterwars we must +- start the profiling. */ +- struct link_map *old_profile_map = GL(dl_profile_map); ++ struct link_map **runp = maps[k]->l_initfini; ++ if (runp != NULL) ++ /* Look through the dependencies of the object. */ ++ while (*runp != NULL) ++ if (__builtin_expect (*runp++ == thisp, 0)) ++ { ++ /* Move the current object to the back past the last ++ object with it as the dependency. */ ++ memmove (&maps[i], &maps[i + 1], ++ (k - i) * sizeof (maps[0])); ++ maps[k] = thisp; ++ ++ if (seen[i + 1] > 1) ++ { ++ ++i; ++ goto next_clear; ++ } ++ ++ char this_seen = seen[i]; ++ memmove (&seen[i], &seen[i + 1], ++ (k - i) * sizeof (seen[0])); ++ seen[k] = this_seen; ++ ++ goto next; ++ } ++ ++ --k; ++ } + +- _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1); ++ if (++i == nmaps) ++ break; ++ next_clear: ++ memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0])); ++ next:; ++ } ++ } + +- if (old_profile_map == NULL && GL(dl_profile_map) != NULL) +- { +- /* We must prepare the profiling. */ +- _dl_start_profile (); ++ for (size_t i = nmaps; i-- > 0; ) ++ { ++ l = maps[i]; + +- /* Prevent unloading the object. */ +- GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; +- } ++#ifdef SHARED ++ if (__builtin_expect (GLRO(dl_profile) != NULL, 0)) ++ { ++ /* If this here is the shared object which we want to profile ++ make sure the profile is started. We can find out whether ++ this is necessary or not by observing the `_dl_profile_map' ++ variable. If it was NULL but is not NULL afterwars we must ++ start the profiling. */ ++ struct link_map *old_profile_map = GL(dl_profile_map); ++ ++ _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1); ++ ++ if (old_profile_map == NULL && GL(dl_profile_map) != NULL) ++ { ++ /* We must prepare the profiling. */ ++ _dl_start_profile (); ++ ++ /* Prevent unloading the object. */ ++ GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; + } +- else +-#endif +- _dl_relocate_object (l, l->l_scope, reloc_mode, 0); + } +- +- if (l == new) +- break; +- l = l->l_prev; ++ else ++#endif ++ _dl_relocate_object (l, l->l_scope, reloc_mode, 0); + } + + /* If the file is not loaded now as a dependency, add the search +diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c +new file mode 100644 +index 0000000..972100c +--- /dev/null ++++ b/elf/tst-relsort1.c +@@ -0,0 +1,19 @@ ++#include ++#include ++ ++ ++static int ++do_test () ++{ ++ const char lib[] = "$ORIGIN/tst-relsort1mod1.so"; ++ void *h = dlopen (lib, RTLD_NOW); ++ if (h == NULL) ++ { ++ puts (dlerror ()); ++ return 1; ++ } ++ return 0; ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c +new file mode 100644 +index 0000000..9e4a943 +--- /dev/null ++++ b/elf/tst-relsort1mod1.c +@@ -0,0 +1,7 @@ ++extern int foo (double); ++ ++int ++bar (void) ++{ ++ return foo (1.2); ++} +diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c +new file mode 100644 +index 0000000..a2c3e55 +--- /dev/null ++++ b/elf/tst-relsort1mod2.c +@@ -0,0 +1,7 @@ ++#include ++ ++int ++foo (double d) ++{ ++ return floor (d) != 0.0; ++} +-- +1.7.3.4 + diff --git a/patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch b/patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch new file mode 100644 index 000000000..b33b5a0db --- /dev/null +++ b/patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch @@ -0,0 +1,27 @@ +From 96611391ad8823ba58405325d78cefeae5cdf699 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 5d15ce1..a34e902 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.3.4 + diff --git a/patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff b/patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff new file mode 100644 index 000000000..6b1f5c843 --- /dev/null +++ b/patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff @@ -0,0 +1,49 @@ +2009-11-08 Aurelien Jarno + + * 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.nis-netgroups.diff b/patches/source/glibc/glibc.nis-netgroups.diff new file mode 100644 index 000000000..2473e9766 --- /dev/null +++ b/patches/source/glibc/glibc.nis-netgroups.diff @@ -0,0 +1,12 @@ +--- ./nis/nss_nis/nis-netgrp.c.orig 2006-04-08 21:08:28.000000000 -0500 ++++ ./nis/nss_nis/nis-netgrp.c 2006-10-10 20:49:11.000000000 -0500 +@@ -72,7 +72,8 @@ + and the last byte is filled with NUL. So we can simply + use that buffer. */ + assert (len >= 0); +- assert (malloc_usable_size (netgrp->data) >= len + 1); ++ /* The next line break NIS netgroups on non-PAM systems, so we will comment it out */ ++ /* assert (malloc_usable_size (netgrp->data) >= len + 1); */ + assert (netgrp->data[len] == '\0'); + + netgrp->data_size = len; diff --git a/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff b/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff new file mode 100644 index 000000000..9c8e93b9b --- /dev/null +++ b/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff @@ -0,0 +1,13 @@ +--- ./sysdeps/unix/sysv/linux/bits/socket.h.orig 2008-07-27 03:25:30.000000000 -0500 ++++ ./sysdeps/unix/sysv/linux/bits/socket.h 2009-02-24 17:38:52.000000000 -0600 +@@ -26,8 +26,9 @@ + #endif + + #define __need_size_t ++#define __need_NULL + #include +- ++#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/glibc.strtod.CVE-2012-3480.diff b/patches/source/glibc/glibc.strtod.CVE-2012-3480.diff new file mode 100644 index 000000000..7a7bdeb7d --- /dev/null +++ b/patches/source/glibc/glibc.strtod.CVE-2012-3480.diff @@ -0,0 +1,407 @@ +From 8a780f7f68a1cd4c575bb17973a9e18826b05ef9 Mon Sep 17 00:00:00 2001 +From: Joseph Myers +Date: Mon, 27 Aug 2012 15:59:24 +0000 +Subject: [PATCH 1/1] Fix strtod integer/buffer overflow (bug 14459). + (cherry picked from commit d6e70f4368533224e66d10b7f2126b899a3fd5e4) + +Conflicts: + + ChangeLog + NEWS + stdlib/Makefile +--- + ChangeLog | 17 +++++ + NEWS | 2 +- + stdlib/Makefile | 2 +- + stdlib/strtod_l.c | 142 ++++++++++++++++++++++++++++++++--------- + stdlib/tst-strtod-overflow.c | 48 ++++++++++++++ + 5 files changed, 178 insertions(+), 33 deletions(-) + create mode 100644 stdlib/tst-strtod-overflow.c + +diff --git a/stdlib/Makefile b/stdlib/Makefile +index 04c6ac5..b55f573 100644 +--- a/stdlib/Makefile ++++ b/stdlib/Makefile +@@ -71,7 +71,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \ + tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \ + tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2 \ + tst-makecontext2 tst-strtod6 tst-unsetenv1 \ +- tst-makecontext3 bug-getcontext ++ tst-makecontext3 bug-getcontext tst-strtod-overflow + + include ../Makeconfig + +diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c +index f24d4de..0deaebf 100644 +--- a/stdlib/strtod_l.c ++++ b/stdlib/strtod_l.c +@@ -62,6 +62,7 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **, + #include + #include + #include ++#include + + /* The gmp headers need some configuration frobs. */ + #define HAVE_ALLOCA 1 +@@ -74,7 +75,6 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **, + #include "longlong.h" + #include "fpioconst.h" + +-#define NDEBUG 1 + #include + + +@@ -176,19 +176,19 @@ extern const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1]; + /* Return a floating point number of the needed type according to the given + multi-precision number after possible rounding. */ + static FLOAT +-round_and_return (mp_limb_t *retval, int exponent, int negative, ++round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, + mp_limb_t round_limb, mp_size_t round_bit, int more_bits) + { + if (exponent < MIN_EXP - 1) + { +- mp_size_t shift = MIN_EXP - 1 - exponent; +- +- if (shift > MANT_DIG) ++ if (exponent < MIN_EXP - 1 - MANT_DIG) + { + __set_errno (ERANGE); + return 0.0; + } + ++ mp_size_t shift = MIN_EXP - 1 - exponent; ++ + more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0; + if (shift == MANT_DIG) + /* This is a special case to handle the very seldom case where +@@ -235,6 +235,9 @@ round_and_return (mp_limb_t *retval, int exponent, int negative, + __set_errno (ERANGE); + } + ++ if (exponent > MAX_EXP) ++ goto overflow; ++ + if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0 + && (more_bits || (retval[0] & 1) != 0 + || (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0)) +@@ -260,6 +263,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative, + } + + if (exponent > MAX_EXP) ++ overflow: + return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL; + + return MPN2FLOAT (retval, exponent, negative); +@@ -273,7 +277,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative, + factor for the resulting number (see code) multiply by it. */ + static const STRING_TYPE * + str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize, +- int *exponent ++ intmax_t *exponent + #ifndef USE_WIDE_CHAR + , const char *decimal, size_t decimal_len, const char *thousands + #endif +@@ -303,6 +307,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize, + cy += __mpn_add_1 (n, n, *nsize, low); + if (cy != 0) + { ++ assert (*nsize < MPNSIZE); + n[*nsize] = cy; + ++(*nsize); + } +@@ -337,7 +342,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize, + } + while (--digcnt > 0); + +- if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB) ++ if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt) + { + low *= _tens_in_limb[*exponent]; + start = _tens_in_limb[cnt + *exponent]; +@@ -357,7 +362,10 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize, + cy = __mpn_mul_1 (n, n, *nsize, start); + cy += __mpn_add_1 (n, n, *nsize, low); + if (cy != 0) +- n[(*nsize)++] = cy; ++ { ++ assert (*nsize < MPNSIZE); ++ n[(*nsize)++] = cy; ++ } + } + + return str; +@@ -415,7 +423,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + { + int negative; /* The sign of the number. */ + MPN_VAR (num); /* MP representation of the number. */ +- int exponent; /* Exponent of the number. */ ++ intmax_t exponent; /* Exponent of the number. */ + + /* Numbers starting `0X' or `0x' have to be processed with base 16. */ + int base = 10; +@@ -437,7 +445,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + /* Points at the character following the integer and fractional digits. */ + const STRING_TYPE *expp; + /* Total number of digit and number of digits in integer part. */ +- int dig_no, int_no, lead_zero; ++ size_t dig_no, int_no, lead_zero; + /* Contains the last character read. */ + CHAR_TYPE c; + +@@ -769,7 +777,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + are all or any is really a fractional digit will be decided + later. */ + int_no = dig_no; +- lead_zero = int_no == 0 ? -1 : 0; ++ lead_zero = int_no == 0 ? (size_t) -1 : 0; + + /* Read the fractional digits. A special case are the 'american + style' numbers like `16.' i.e. with decimal point but without +@@ -791,12 +799,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + (base == 16 && ({ CHAR_TYPE lo = TOLOWER (c); + lo >= L_('a') && lo <= L_('f'); }))) + { +- if (c != L_('0') && lead_zero == -1) ++ if (c != L_('0') && lead_zero == (size_t) -1) + lead_zero = dig_no - int_no; + ++dig_no; + c = *++cp; + } + } ++ assert (dig_no <= (uintmax_t) INTMAX_MAX); + + /* Remember start of exponent (if any). */ + expp = cp; +@@ -819,24 +828,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + + if (c >= L_('0') && c <= L_('9')) + { +- int exp_limit; ++ intmax_t exp_limit; + + /* Get the exponent limit. */ + if (base == 16) +- exp_limit = (exp_negative ? +- -MIN_EXP + MANT_DIG + 4 * int_no : +- MAX_EXP - 4 * int_no + 4 * lead_zero + 3); ++ { ++ if (exp_negative) ++ { ++ assert (int_no <= (uintmax_t) (INTMAX_MAX ++ + MIN_EXP - MANT_DIG) / 4); ++ exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no; ++ } ++ else ++ { ++ if (int_no) ++ { ++ assert (lead_zero == 0 ++ && int_no <= (uintmax_t) INTMAX_MAX / 4); ++ exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3; ++ } ++ else if (lead_zero == (size_t) -1) ++ { ++ /* The number is zero and this limit is ++ arbitrary. */ ++ exp_limit = MAX_EXP + 3; ++ } ++ else ++ { ++ assert (lead_zero ++ <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4); ++ exp_limit = (MAX_EXP ++ + 4 * (intmax_t) lead_zero ++ + 3); ++ } ++ } ++ } + else +- exp_limit = (exp_negative ? +- -MIN_10_EXP + MANT_DIG + int_no : +- MAX_10_EXP - int_no + lead_zero + 1); ++ { ++ if (exp_negative) ++ { ++ assert (int_no ++ <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG)); ++ exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no; ++ } ++ else ++ { ++ if (int_no) ++ { ++ assert (lead_zero == 0 ++ && int_no <= (uintmax_t) INTMAX_MAX); ++ exp_limit = MAX_10_EXP - (intmax_t) int_no + 1; ++ } ++ else if (lead_zero == (size_t) -1) ++ { ++ /* The number is zero and this limit is ++ arbitrary. */ ++ exp_limit = MAX_10_EXP + 1; ++ } ++ else ++ { ++ assert (lead_zero ++ <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1)); ++ exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1; ++ } ++ } ++ } ++ ++ if (exp_limit < 0) ++ exp_limit = 0; + + do + { +- exponent *= 10; +- exponent += c - L_('0'); +- +- if (__builtin_expect (exponent > exp_limit, 0)) ++ if (__builtin_expect ((exponent > exp_limit / 10 ++ || (exponent == exp_limit / 10 ++ && c - L_('0') > exp_limit % 10)), 0)) + /* The exponent is too large/small to represent a valid + number. */ + { +@@ -845,7 +910,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + /* We have to take care for special situation: a joker + might have written "0.0e100000" which is in fact + zero. */ +- if (lead_zero == -1) ++ if (lead_zero == (size_t) -1) + result = negative ? -0.0 : 0.0; + else + { +@@ -864,6 +929,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + /* NOTREACHED */ + } + ++ exponent *= 10; ++ exponent += c - L_('0'); ++ + c = *++cp; + } + while (c >= L_('0') && c <= L_('9')); +@@ -932,7 +1000,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + } + #endif + startp += lead_zero + decimal_len; +- exponent -= base == 16 ? 4 * lead_zero : lead_zero; ++ assert (lead_zero <= (base == 16 ++ ? (uintmax_t) INTMAX_MAX / 4 ++ : (uintmax_t) INTMAX_MAX)); ++ assert (lead_zero <= (base == 16 ++ ? ((uintmax_t) exponent ++ - (uintmax_t) INTMAX_MIN) / 4 ++ : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN))); ++ exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero; + dig_no -= lead_zero; + } + +@@ -974,7 +1049,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + } + + /* Adjust the exponent for the bits we are shifting in. */ +- exponent += bits - 1 + (int_no - 1) * 4; ++ assert (int_no <= (uintmax_t) (exponent < 0 ++ ? (INTMAX_MAX - bits + 1) / 4 ++ : (INTMAX_MAX - exponent - bits + 1) / 4)); ++ exponent += bits - 1 + ((intmax_t) int_no - 1) * 4; + + while (--dig_no > 0 && idx >= 0) + { +@@ -1014,13 +1092,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + really integer digits or belong to the fractional part; i.e. we normalize + 123e-2 to 1.23. */ + { +- register int incr = (exponent < 0 ? MAX (-int_no, exponent) +- : MIN (dig_no - int_no, exponent)); ++ register intmax_t incr = (exponent < 0 ++ ? MAX (-(intmax_t) int_no, exponent) ++ : MIN ((intmax_t) dig_no - (intmax_t) int_no, ++ exponent)); + int_no += incr; + exponent -= incr; + } + +- if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0)) ++ if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0)) + { + __set_errno (ERANGE); + return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL; +@@ -1205,7 +1285,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + digits we should have enough bits for the result. The remaining + decimal digits give us the information that more bits are following. + This can be used while rounding. (Two added as a safety margin.) */ +- if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2) ++ if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2) + { + dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2; + more_bits = 1; +@@ -1213,7 +1293,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) + else + more_bits = 0; + +- neg_exp = dig_no - int_no - exponent; ++ neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent; + + /* Construct the denominator. */ + densize = 0; +diff --git a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c +new file mode 100644 +index 0000000..668d55b +--- /dev/null ++++ b/stdlib/tst-strtod-overflow.c +@@ -0,0 +1,48 @@ ++/* Test for integer/buffer overflow in strtod. ++ Copyright (C) 2012 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++ ++#define EXPONENT "e-2147483649" ++#define SIZE 214748364 ++ ++static int ++do_test (void) ++{ ++ char *p = malloc (1 + SIZE + sizeof (EXPONENT)); ++ if (p == NULL) ++ { ++ puts ("malloc failed, cannot test for overflow"); ++ return 0; ++ } ++ p[0] = '1'; ++ memset (p + 1, '0', SIZE); ++ memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT)); ++ double d = strtod (p, NULL); ++ if (d != 0) ++ { ++ printf ("strtod returned wrong value: %a\n", d); ++ return 1; ++ } ++ return 0; ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +-- +1.7.3.4 diff --git a/patches/source/glibc/is_IS.diff b/patches/source/glibc/is_IS.diff new file mode 100644 index 000000000..52a99696c --- /dev/null +++ b/patches/source/glibc/is_IS.diff @@ -0,0 +1,19 @@ +--- ./localedata/locales/is_IS.orig 2007-09-30 17:30:17.000000000 -0500 ++++ ./localedata/locales/is_IS 2006-07-30 17:19:43.000000000 -0500 +@@ -947,6 +947,7 @@ + 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..71f5336c0 --- /dev/null +++ b/patches/source/glibc/slack-desc.glibc-i18n @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-i18n: glibc-i18n (locale files from glibc) +glibc-i18n: +glibc-i18n: These files go in /usr/lib/locale and /usr/share/i18n/ to provide +glibc-i18n: internationalization support. You'll need this package unless you +glibc-i18n: will be using US English only. +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: +glibc-i18n: diff --git a/patches/source/glibc/slack-desc.glibc-profile b/patches/source/glibc/slack-desc.glibc-profile new file mode 100644 index 000000000..8c873fd92 --- /dev/null +++ b/patches/source/glibc/slack-desc.glibc-profile @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-profile: glibc-profile (GNU C libraries with profiling support) +glibc-profile: +glibc-profile: This package contains static versions of the GNU C libraries with +glibc-profile: support for profiling binaries using gprof. gprof calculates how +glibc-profile: much time a program spends in each routine which can suggest where +glibc-profile: to concentrate efforts to improve performance. +glibc-profile: +glibc-profile: See the gprof man page for more details. +glibc-profile: +glibc-profile: +glibc-profile: diff --git a/patches/source/glibc/slack-desc.glibc-solibs b/patches/source/glibc/slack-desc.glibc-solibs new file mode 100644 index 000000000..807df645a --- /dev/null +++ b/patches/source/glibc/slack-desc.glibc-solibs @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-solibs: glibc-solibs (shared GNU C libraries) +glibc-solibs: +glibc-solibs: This package contains the shared libraries, binaries, and support +glibc-solibs: files required to run most Linux applications linked with glibc. +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: +glibc-solibs: diff --git a/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads b/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads new file mode 100644 index 000000000..9efe3bf1d --- /dev/null +++ b/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads @@ -0,0 +1,18 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-solibs-linuxthreads: glibc-solibs-linuxthreads (LinuxThreads shared GNU C libraries) +glibc-solibs-linuxthreads: +glibc-solibs-linuxthreads: This package contains the shared libraries for glibc that uses +glibc-solibs-linuxthreads: LinuxThreads, the threading implementation in Linux 2.4.x and +glibc-solibs-linuxthreads: earlier kernels. In some cases you'll need to use these libraries +glibc-solibs-linuxthreads: to run old binaries by setting these environment variables: +glibc-solibs-linuxthreads: export LD_ASSUME_KERNEL=2.4.33 +glibc-solibs-linuxthreads: export LD_LIBRARY_PATH=/lib/obsolete/linuxthreads +glibc-solibs-linuxthreads: old-program +glibc-solibs-linuxthreads: Most users should have no need for this package. Recompile. :-) diff --git a/patches/source/glibc/slack-desc.glibc-zoneinfo b/patches/source/glibc/slack-desc.glibc-zoneinfo new file mode 100644 index 000000000..69420f78d --- /dev/null +++ b/patches/source/glibc/slack-desc.glibc-zoneinfo @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-zoneinfo: glibc-zoneinfo (timezone database) +glibc-zoneinfo: +glibc-zoneinfo: This package allows you to configure your time zone. +glibc-zoneinfo: +glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by +glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information +glibc-zoneinfo: may be found at: http://www.iana.org/time-zones +glibc-zoneinfo: +glibc-zoneinfo: Use the timeconfig utility to set your local time zone. +glibc-zoneinfo: +glibc-zoneinfo: diff --git a/patches/source/glibc/slack-desc.glibc-zoneinfo.olson b/patches/source/glibc/slack-desc.glibc-zoneinfo.olson new file mode 100644 index 000000000..24dfd0e9f --- /dev/null +++ b/patches/source/glibc/slack-desc.glibc-zoneinfo.olson @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-zoneinfo: glibc-zoneinfo (timezone database) +glibc-zoneinfo: +glibc-zoneinfo: This package allows you to configure your time zone. +glibc-zoneinfo: +glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by +glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information +glibc-zoneinfo: may be found at ftp://elsie.nci.nih.gov/pub/ +glibc-zoneinfo: +glibc-zoneinfo: Use the timeconfig utility to set your local time zone. +glibc-zoneinfo: +glibc-zoneinfo: diff --git a/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh b/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh new file mode 100644 index 000000000..a04f1b67f --- /dev/null +++ b/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA. +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then + echo " Usage: output-updated-timeconfig.sh " + exit 1 +fi + +CWD=$(pwd) +cat $CWD/parts/00 +# Sorry, I'd rather not be US-centric but some people here have a hard +# time finding things. ;-) +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do + echo "\"${zone}\" \" \" \\" + done +) +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | while read zone ; do + echo "\"${zone}\" \" \" \\" + done +) +cat $CWD/parts/02 +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do + echo "${zone}" + done +) +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | while read zone ; do + echo "${zone}" + done +) +cat $CWD/parts/04 diff --git a/patches/source/glibc/timezone-scripts/parts/00 b/patches/source/glibc/timezone-scripts/parts/00 new file mode 100644 index 000000000..a1601faaf --- /dev/null +++ b/patches/source/glibc/timezone-scripts/parts/00 @@ -0,0 +1,131 @@ +#!/bin/sh +# +# timeconfig Slackware Linux timezone configuration utility. +# +# Author: Patrick Volkerding +# 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 + ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from + rm -f localtime + cd .. + chroot . cp etc/localtime-copied-from etc/localtime + fi +} + +# writeconf( $CLOCK_SET_TO ) +# +# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock +# value is stored. +writeconf() +{ + echo "# /etc/hardwareclock" > $HWCLOCK_CONF + echo "#" >> $HWCLOCK_CONF + echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF + echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF + echo >> $HWCLOCK_CONF + echo $1 >> $HWCLOCK_CONF +} + +# ask the user if the hardware clock is set for UTC/GMT +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \ +to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \ +hardware clock is set to the current local time (this is how most PCs are set \ +up), then say NO here. If you are not sure what this is, you should answer NO \ +here." 13 60 2 \ + "NO" "Hardware clock is set to local time" \ + "YES" "Hardware clock is set to UTC" \ + 2> $TMP/utc + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/utc + exit + fi + if [ "`cat $TMP/utc`" = "YES" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else # must be NO + writeconf "localtime" + fi + rm -f $TMP/utc +else + ### + ### use text prompts + ### + echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?" + echo "If it is, select 'y' here. If the hardware clock is set to the" + echo "current local time (this is how most PCs are set up), then say 'n'" + echo "here. If you are not sure what this is, you should answer 'n' here." + echo + echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? " + read HEJAZ + + if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else + # default to localtime + writeconf "localtime" + fi +fi + +# Now set the correct timezone link: +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \ diff --git a/patches/source/glibc/timezone-scripts/parts/01 b/patches/source/glibc/timezone-scripts/parts/01 new file mode 100644 index 000000000..7fc8fb1d4 --- /dev/null +++ b/patches/source/glibc/timezone-scripts/parts/01 @@ -0,0 +1,1658 @@ +"US/Alaska" " " \ +"US/Aleutian" " " \ +"US/Arizona" " " \ +"US/Central" " " \ +"US/East-Indiana" " " \ +"US/Eastern" " " \ +"US/Hawaii" " " \ +"US/Indiana-Starke" " " \ +"US/Michigan" " " \ +"US/Mountain" " " \ +"US/Pacific" " " \ +"US/Pacific-New" " " \ +"US/Samoa" " " \ +"Africa/Abidjan" " " \ +"Africa/Accra" " " \ +"Africa/Addis_Ababa" " " \ +"Africa/Algiers" " " \ +"Africa/Asmera" " " \ +"Africa/Bamako" " " \ +"Africa/Bangui" " " \ +"Africa/Banjul" " " \ +"Africa/Bissau" " " \ +"Africa/Blantyre" " " \ +"Africa/Brazzaville" " " \ +"Africa/Bujumbura" " " \ +"Africa/Cairo" " " \ +"Africa/Casablanca" " " \ +"Africa/Ceuta" " " \ +"Africa/Conakry" " " \ +"Africa/Dakar" " " \ +"Africa/Dar_es_Salaam" " " \ +"Africa/Djibouti" " " \ +"Africa/Douala" " " \ +"Africa/El_Aaiun" " " \ +"Africa/Freetown" " " \ +"Africa/Gaborone" " " \ +"Africa/Harare" " " \ +"Africa/Johannesburg" " " \ +"Africa/Kampala" " " \ +"Africa/Khartoum" " " \ +"Africa/Kigali" " " \ +"Africa/Kinshasa" " " \ +"Africa/Lagos" " " \ +"Africa/Libreville" " " \ +"Africa/Lome" " " \ +"Africa/Luanda" " " \ +"Africa/Lubumbashi" " " \ +"Africa/Lusaka" " " \ +"Africa/Malabo" " " \ +"Africa/Maputo" " " \ +"Africa/Maseru" " " \ +"Africa/Mbabane" " " \ +"Africa/Mogadishu" " " \ +"Africa/Monrovia" " " \ +"Africa/Nairobi" " " \ +"Africa/Ndjamena" " " \ +"Africa/Niamey" " " \ +"Africa/Nouakchott" " " \ +"Africa/Ouagadougou" " " \ +"Africa/Porto-Novo" " " \ +"Africa/Sao_Tome" " " \ +"Africa/Timbuktu" " " \ +"Africa/Tripoli" " " \ +"Africa/Tunis" " " \ +"Africa/Windhoek" " " \ +"America/Adak" " " \ +"America/Anchorage" " " \ +"America/Anguilla" " " \ +"America/Antigua" " " \ +"America/Araguaina" " " \ +"America/Argentina/Buenos_Aires" " " \ +"America/Argentina/Catamarca" " " \ +"America/Argentina/ComodRivadavia" " " \ +"America/Argentina/Cordoba" " " \ +"America/Argentina/Jujuy" " " \ +"America/Argentina/La_Rioja" " " \ +"America/Argentina/Mendoza" " " \ +"America/Argentina/Rio_Gallegos" " " \ +"America/Argentina/San_Juan" " " \ +"America/Argentina/Tucuman" " " \ +"America/Argentina/Ushuaia" " " \ +"America/Aruba" " " \ +"America/Asuncion" " " \ +"America/Atikokan" " " \ +"America/Atka" " " \ +"America/Bahia" " " \ +"America/Barbados" " " \ +"America/Belem" " " \ +"America/Belize" " " \ +"America/Blanc-Sablon" " " \ +"America/Boa_Vista" " " \ +"America/Bogota" " " \ +"America/Boise" " " \ +"America/Buenos_Aires" " " \ +"America/Cambridge_Bay" " " \ +"America/Campo_Grande" " " \ +"America/Cancun" " " \ +"America/Caracas" " " \ +"America/Catamarca" " " \ +"America/Cayenne" " " \ +"America/Cayman" " " \ +"America/Chicago" " " \ +"America/Chihuahua" " " \ +"America/Coral_Harbour" " " \ +"America/Cordoba" " " \ +"America/Costa_Rica" " " \ +"America/Cuiaba" " " \ +"America/Curacao" " " \ +"America/Danmarkshavn" " " \ +"America/Dawson" " " \ +"America/Dawson_Creek" " " \ +"America/Denver" " " \ +"America/Detroit" " " \ +"America/Dominica" " " \ +"America/Edmonton" " " \ +"America/Eirunepe" " " \ +"America/El_Salvador" " " \ +"America/Ensenada" " " \ +"America/Fort_Wayne" " " \ +"America/Fortaleza" " " \ +"America/Glace_Bay" " " \ +"America/Godthab" " " \ +"America/Goose_Bay" " " \ +"America/Grand_Turk" " " \ +"America/Grenada" " " \ +"America/Guadeloupe" " " \ +"America/Guatemala" " " \ +"America/Guayaquil" " " \ +"America/Guyana" " " \ +"America/Halifax" " " \ +"America/Havana" " " \ +"America/Hermosillo" " " \ +"America/Indiana/Indianapolis" " " \ +"America/Indiana/Knox" " " \ +"America/Indiana/Marengo" " " \ +"America/Indiana/Petersburg" " " \ +"America/Indiana/Tell_City" " " \ +"America/Indiana/Vevay" " " \ +"America/Indiana/Vincennes" " " \ +"America/Indianapolis" " " \ +"America/Inuvik" " " \ +"America/Iqaluit" " " \ +"America/Jamaica" " " \ +"America/Jujuy" " " \ +"America/Juneau" " " \ +"America/Kentucky/Louisville" " " \ +"America/Kentucky/Monticello" " " \ +"America/Knox_IN" " " \ +"America/La_Paz" " " \ +"America/Lima" " " \ +"America/Los_Angeles" " " \ +"America/Louisville" " " \ +"America/Maceio" " " \ +"America/Managua" " " \ +"America/Manaus" " " \ +"America/Martinique" " " \ +"America/Mazatlan" " " \ +"America/Mendoza" " " \ +"America/Menominee" " " \ +"America/Merida" " " \ +"America/Mexico_City" " " \ +"America/Miquelon" " " \ +"America/Moncton" " " \ +"America/Monterrey" " " \ +"America/Montevideo" " " \ +"America/Montreal" " " \ +"America/Montserrat" " " \ +"America/Nassau" " " \ +"America/New_York" " " \ +"America/Nipigon" " " \ +"America/Nome" " " \ +"America/Noronha" " " \ +"America/North_Dakota/Center" " " \ +"America/North_Dakota/New_Salem" " " \ +"America/Panama" " " \ +"America/Pangnirtung" " " \ +"America/Paramaribo" " " \ +"America/Phoenix" " " \ +"America/Port-au-Prince" " " \ +"America/Port_of_Spain" " " \ +"America/Porto_Acre" " " \ +"America/Porto_Velho" " " \ +"America/Puerto_Rico" " " \ +"America/Rainy_River" " " \ +"America/Rankin_Inlet" " " \ +"America/Recife" " " \ +"America/Regina" " " \ +"America/Rio_Branco" " " \ +"America/Rosario" " " \ +"America/Santiago" " " \ +"America/Santo_Domingo" " " \ +"America/Sao_Paulo" " " \ +"America/Scoresbysund" " " \ +"America/Shiprock" " " \ +"America/St_Johns" " " \ +"America/St_Kitts" " " \ +"America/St_Lucia" " " \ +"America/St_Thomas" " " \ +"America/St_Vincent" " " \ +"America/Swift_Current" " " \ +"America/Tegucigalpa" " " \ +"America/Thule" " " \ +"America/Thunder_Bay" " " \ +"America/Tijuana" " " \ +"America/Toronto" " " \ +"America/Tortola" " " \ +"America/Vancouver" " " \ +"America/Virgin" " " \ +"America/Whitehorse" " " \ +"America/Winnipeg" " " \ +"America/Yakutat" " " \ +"America/Yellowknife" " " \ +"Antarctica/Casey" " " \ +"Antarctica/Davis" " " \ +"Antarctica/DumontDUrville" " " \ +"Antarctica/Mawson" " " \ +"Antarctica/McMurdo" " " \ +"Antarctica/Palmer" " " \ +"Antarctica/Rothera" " " \ +"Antarctica/South_Pole" " " \ +"Antarctica/Syowa" " " \ +"Antarctica/Troll" " " \ +"Antarctica/Vostok" " " \ +"Arctic/Longyearbyen" " " \ +"Asia/Aden" " " \ +"Asia/Almaty" " " \ +"Asia/Amman" " " \ +"Asia/Anadyr" " " \ +"Asia/Aqtau" " " \ +"Asia/Aqtobe" " " \ +"Asia/Ashgabat" " " \ +"Asia/Ashkhabad" " " \ +"Asia/Baghdad" " " \ +"Asia/Bahrain" " " \ +"Asia/Baku" " " \ +"Asia/Bangkok" " " \ +"Asia/Beirut" " " \ +"Asia/Bishkek" " " \ +"Asia/Brunei" " " \ +"Asia/Calcutta" " " \ +"Asia/Chita" " " \ +"Asia/Choibalsan" " " \ +"Asia/Chongqing" " " \ +"Asia/Chungking" " " \ +"Asia/Colombo" " " \ +"Asia/Dacca" " " \ +"Asia/Damascus" " " \ +"Asia/Dhaka" " " \ +"Asia/Dili" " " \ +"Asia/Dubai" " " \ +"Asia/Dushanbe" " " \ +"Asia/Gaza" " " \ +"Asia/Harbin" " " \ +"Asia/Hong_Kong" " " \ +"Asia/Hovd" " " \ +"Asia/Irkutsk" " " \ +"Asia/Istanbul" " " \ +"Asia/Jakarta" " " \ +"Asia/Jayapura" " " \ +"Asia/Jerusalem" " " \ +"Asia/Kabul" " " \ +"Asia/Kamchatka" " " \ +"Asia/Karachi" " " \ +"Asia/Kashgar" " " \ +"Asia/Katmandu" " " \ +"Asia/Khandyga" " " \ +"Asia/Khandyga" " " \ +"Asia/Krasnoyarsk" " " \ +"Asia/Kuala_Lumpur" " " \ +"Asia/Kuching" " " \ +"Asia/Kuwait" " " \ +"Asia/Macao" " " \ +"Asia/Macau" " " \ +"Asia/Magadan" " " \ +"Asia/Makassar" " " \ +"Asia/Manila" " " \ +"Asia/Muscat" " " \ +"Asia/Nicosia" " " \ +"Asia/Novosibirsk" " " \ +"Asia/Omsk" " " \ +"Asia/Oral" " " \ +"Asia/Phnom_Penh" " " \ +"Asia/Pontianak" " " \ +"Asia/Pyongyang" " " \ +"Asia/Qatar" " " \ +"Asia/Qyzylorda" " " \ +"Asia/Rangoon" " " \ +"Asia/Riyadh" " " \ +"Asia/Saigon" " " \ +"Asia/Sakhalin" " " \ +"Asia/Samarkand" " " \ +"Asia/Seoul" " " \ +"Asia/Shanghai" " " \ +"Asia/Singapore" " " \ +"Asia/Srednekolymsk" " " \ +"Asia/Taipei" " " \ +"Asia/Tashkent" " " \ +"Asia/Tbilisi" " " \ +"Asia/Tehran" " " \ +"Asia/Tel_Aviv" " " \ +"Asia/Thimbu" " " \ +"Asia/Thimphu" " " \ +"Asia/Tokyo" " " \ +"Asia/Ujung_Pandang" " " \ +"Asia/Ulaanbaatar" " " \ +"Asia/Ulan_Bator" " " \ +"Asia/Urumqi" " " \ +"Asia/Ust-Nera" " " \ +"Asia/Vientiane" " " \ +"Asia/Vladivostok" " " \ +"Asia/Yakutsk" " " \ +"Asia/Yekaterinburg" " " \ +"Asia/Yerevan" " " \ +"Atlantic/Azores" " " \ +"Atlantic/Bermuda" " " \ +"Atlantic/Canary" " " \ +"Atlantic/Cape_Verde" " " \ +"Atlantic/Faeroe" " " \ +"Atlantic/Jan_Mayen" " " \ +"Atlantic/Madeira" " " \ +"Atlantic/Reykjavik" " " \ +"Atlantic/South_Georgia" " " \ +"Atlantic/St_Helena" " " \ +"Atlantic/Stanley" " " \ +"Australia/ACT" " " \ +"Australia/Adelaide" " " \ +"Australia/Brisbane" " " \ +"Australia/Broken_Hill" " " \ +"Australia/Canberra" " " \ +"Australia/Currie" " " \ +"Australia/Darwin" " " \ +"Australia/Hobart" " " \ +"Australia/LHI" " " \ +"Australia/Lindeman" " " \ +"Australia/Lord_Howe" " " \ +"Australia/Melbourne" " " \ +"Australia/NSW" " " \ +"Australia/North" " " \ +"Australia/Perth" " " \ +"Australia/Queensland" " " \ +"Australia/South" " " \ +"Australia/Sydney" " " \ +"Australia/Tasmania" " " \ +"Australia/Victoria" " " \ +"Australia/West" " " \ +"Australia/Yancowinna" " " \ +"Brazil/Acre" " " \ +"Brazil/DeNoronha" " " \ +"Brazil/East" " " \ +"Brazil/West" " " \ +"CET" " " \ +"CST6CDT" " " \ +"Canada/Atlantic" " " \ +"Canada/Central" " " \ +"Canada/East-Saskatchewan" " " \ +"Canada/Eastern" " " \ +"Canada/Mountain" " " \ +"Canada/Newfoundland" " " \ +"Canada/Pacific" " " \ +"Canada/Saskatchewan" " " \ +"Canada/Yukon" " " \ +"Chile/Continental" " " \ +"Chile/EasterIsland" " " \ +"Cuba" " " \ +"EET" " " \ +"EST" " " \ +"EST5EDT" " " \ +"Egypt" " " \ +"Eire" " " \ +"Etc/GMT" " " \ +"Etc/GMT+0" " " \ +"Etc/GMT+1" " " \ +"Etc/GMT+10" " " \ +"Etc/GMT+11" " " \ +"Etc/GMT+12" " " \ +"Etc/GMT+2" " " \ +"Etc/GMT+3" " " \ +"Etc/GMT+4" " " \ +"Etc/GMT+5" " " \ +"Etc/GMT+6" " " \ +"Etc/GMT+7" " " \ +"Etc/GMT+8" " " \ +"Etc/GMT+9" " " \ +"Etc/GMT-0" " " \ +"Etc/GMT-1" " " \ +"Etc/GMT-10" " " \ +"Etc/GMT-11" " " \ +"Etc/GMT-12" " " \ +"Etc/GMT-13" " " \ +"Etc/GMT-14" " " \ +"Etc/GMT-2" " " \ +"Etc/GMT-3" " " \ +"Etc/GMT-4" " " \ +"Etc/GMT-5" " " \ +"Etc/GMT-6" " " \ +"Etc/GMT-7" " " \ +"Etc/GMT-8" " " \ +"Etc/GMT-9" " " \ +"Etc/GMT0" " " \ +"Etc/Greenwich" " " \ +"Etc/UCT" " " \ +"Etc/UTC" " " \ +"Etc/Universal" " " \ +"Etc/Zulu" " " \ +"Europe/Amsterdam" " " \ +"Europe/Andorra" " " \ +"Europe/Athens" " " \ +"Europe/Belfast" " " \ +"Europe/Belgrade" " " \ +"Europe/Berlin" " " \ +"Europe/Bratislava" " " \ +"Europe/Brussels" " " \ +"Europe/Bucharest" " " \ +"Europe/Budapest" " " \ +"Europe/Busingen" " " \ +"Europe/Chisinau" " " \ +"Europe/Copenhagen" " " \ +"Europe/Dublin" " " \ +"Europe/Gibraltar" " " \ +"Europe/Guernsey" " " \ +"Europe/Helsinki" " " \ +"Europe/Isle_of_Man" " " \ +"Europe/Istanbul" " " \ +"Europe/Jersey" " " \ +"Europe/Kaliningrad" " " \ +"Europe/Kiev" " " \ +"Europe/Lisbon" " " \ +"Europe/Ljubljana" " " \ +"Europe/London" " " \ +"Europe/Luxembourg" " " \ +"Europe/Madrid" " " \ +"Europe/Malta" " " \ +"Europe/Mariehamn" " " \ +"Europe/Minsk" " " \ +"Europe/Monaco" " " \ +"Europe/Moscow" " " \ +"Europe/Nicosia" " " \ +"Europe/Oslo" " " \ +"Europe/Paris" " " \ +"Europe/Podgorica" " " \ +"Europe/Prague" " " \ +"Europe/Riga" " " \ +"Europe/Rome" " " \ +"Europe/Samara" " " \ +"Europe/San_Marino" " " \ +"Europe/Sarajevo" " " \ +"Europe/Simferopol" " " \ +"Europe/Skopje" " " \ +"Europe/Sofia" " " \ +"Europe/Stockholm" " " \ +"Europe/Tallinn" " " \ +"Europe/Tirane" " " \ +"Europe/Tiraspol" " " \ +"Europe/Uzhgorod" " " \ +"Europe/Vaduz" " " \ +"Europe/Vatican" " " \ +"Europe/Vienna" " " \ +"Europe/Vilnius" " " \ +"Europe/Volgograd" " " \ +"Europe/Warsaw" " " \ +"Europe/Zagreb" " " \ +"Europe/Zaporozhye" " " \ +"Europe/Zurich" " " \ +"Factory" " " \ +"GB" " " \ +"GB-Eire" " " \ +"GMT" " " \ +"GMT+0" " " \ +"GMT-0" " " \ +"GMT0" " " \ +"Greenwich" " " \ +"HST" " " \ +"Hongkong" " " \ +"Iceland" " " \ +"Indian/Antananarivo" " " \ +"Indian/Chagos" " " \ +"Indian/Christmas" " " \ +"Indian/Cocos" " " \ +"Indian/Comoro" " " \ +"Indian/Kerguelen" " " \ +"Indian/Mahe" " " \ +"Indian/Maldives" " " \ +"Indian/Mauritius" " " \ +"Indian/Mayotte" " " \ +"Indian/Reunion" " " \ +"Iran" " " \ +"Israel" " " \ +"Jamaica" " " \ +"Japan" " " \ +"Kwajalein" " " \ +"Libya" " " \ +"MET" " " \ +"MST" " " \ +"MST7MDT" " " \ +"Mexico/BajaNorte" " " \ +"Mexico/BajaSur" " " \ +"Mexico/General" " " \ +"NZ" " " \ +"NZ-CHAT" " " \ +"Navajo" " " \ +"PRC" " " \ +"PST8PDT" " " \ +"Pacific/Apia" " " \ +"Pacific/Auckland" " " \ +"Pacific/Bougainville" " " \ +"Pacific/Chatham" " " \ +"Pacific/Easter" " " \ +"Pacific/Efate" " " \ +"Pacific/Enderbury" " " \ +"Pacific/Fakaofo" " " \ +"Pacific/Fiji" " " \ +"Pacific/Funafuti" " " \ +"Pacific/Galapagos" " " \ +"Pacific/Gambier" " " \ +"Pacific/Guadalcanal" " " \ +"Pacific/Guam" " " \ +"Pacific/Honolulu" " " \ +"Pacific/Johnston" " " \ +"Pacific/Kiritimati" " " \ +"Pacific/Kosrae" " " \ +"Pacific/Kwajalein" " " \ +"Pacific/Majuro" " " \ +"Pacific/Marquesas" " " \ +"Pacific/Midway" " " \ +"Pacific/Nauru" " " \ +"Pacific/Niue" " " \ +"Pacific/Norfolk" " " \ +"Pacific/Noumea" " " \ +"Pacific/Pago_Pago" " " \ +"Pacific/Palau" " " \ +"Pacific/Pitcairn" " " \ +"Pacific/Ponape" " " \ +"Pacific/Port_Moresby" " " \ +"Pacific/Rarotonga" " " \ +"Pacific/Saipan" " " \ +"Pacific/Samoa" " " \ +"Pacific/Tahiti" " " \ +"Pacific/Tarawa" " " \ +"Pacific/Tongatapu" " " \ +"Pacific/Truk" " " \ +"Pacific/Wake" " " \ +"Pacific/Wallis" " " \ +"Pacific/Yap" " " \ +"Poland" " " \ +"Portugal" " " \ +"ROC" " " \ +"ROK" " " \ +"Singapore" " " \ +"Turkey" " " \ +"UCT" " " \ +"UTC" " " \ +"Universal" " " \ +"W-SU" " " \ +"WET" " " \ +"Zulu" " " \ +"posix/Africa/Abidjan" " " \ +"posix/Africa/Accra" " " \ +"posix/Africa/Addis_Ababa" " " \ +"posix/Africa/Algiers" " " \ +"posix/Africa/Asmera" " " \ +"posix/Africa/Bamako" " " \ +"posix/Africa/Bangui" " " \ +"posix/Africa/Banjul" " " \ +"posix/Africa/Bissau" " " \ +"posix/Africa/Blantyre" " " \ +"posix/Africa/Brazzaville" " " \ +"posix/Africa/Bujumbura" " " \ +"posix/Africa/Cairo" " " \ +"posix/Africa/Casablanca" " " \ +"posix/Africa/Ceuta" " " \ +"posix/Africa/Conakry" " " \ +"posix/Africa/Dakar" " " \ +"posix/Africa/Dar_es_Salaam" " " \ +"posix/Africa/Djibouti" " " \ +"posix/Africa/Douala" " " \ +"posix/Africa/El_Aaiun" " " \ +"posix/Africa/Freetown" " " \ +"posix/Africa/Gaborone" " " \ +"posix/Africa/Harare" " " \ +"posix/Africa/Johannesburg" " " \ +"posix/Africa/Kampala" " " \ +"posix/Africa/Khartoum" " " \ +"posix/Africa/Kigali" " " \ +"posix/Africa/Kinshasa" " " \ +"posix/Africa/Lagos" " " \ +"posix/Africa/Libreville" " " \ +"posix/Africa/Lome" " " \ +"posix/Africa/Luanda" " " \ +"posix/Africa/Lubumbashi" " " \ +"posix/Africa/Lusaka" " " \ +"posix/Africa/Malabo" " " \ +"posix/Africa/Maputo" " " \ +"posix/Africa/Maseru" " " \ +"posix/Africa/Mbabane" " " \ +"posix/Africa/Mogadishu" " " \ +"posix/Africa/Monrovia" " " \ +"posix/Africa/Nairobi" " " \ +"posix/Africa/Ndjamena" " " \ +"posix/Africa/Niamey" " " \ +"posix/Africa/Nouakchott" " " \ +"posix/Africa/Ouagadougou" " " \ +"posix/Africa/Porto-Novo" " " \ +"posix/Africa/Sao_Tome" " " \ +"posix/Africa/Timbuktu" " " \ +"posix/Africa/Tripoli" " " \ +"posix/Africa/Tunis" " " \ +"posix/Africa/Windhoek" " " \ +"posix/America/Adak" " " \ +"posix/America/Anchorage" " " \ +"posix/America/Anguilla" " " \ +"posix/America/Antigua" " " \ +"posix/America/Araguaina" " " \ +"posix/America/Argentina/Buenos_Aires" " " \ +"posix/America/Argentina/Catamarca" " " \ +"posix/America/Argentina/ComodRivadavia" " " \ +"posix/America/Argentina/Cordoba" " " \ +"posix/America/Argentina/Jujuy" " " \ +"posix/America/Argentina/La_Rioja" " " \ +"posix/America/Argentina/Mendoza" " " \ +"posix/America/Argentina/Rio_Gallegos" " " \ +"posix/America/Argentina/San_Juan" " " \ +"posix/America/Argentina/Tucuman" " " \ +"posix/America/Argentina/Ushuaia" " " \ +"posix/America/Aruba" " " \ +"posix/America/Asuncion" " " \ +"posix/America/Atikokan" " " \ +"posix/America/Atka" " " \ +"posix/America/Bahia" " " \ +"posix/America/Barbados" " " \ +"posix/America/Belem" " " \ +"posix/America/Belize" " " \ +"posix/America/Blanc-Sablon" " " \ +"posix/America/Boa_Vista" " " \ +"posix/America/Bogota" " " \ +"posix/America/Boise" " " \ +"posix/America/Buenos_Aires" " " \ +"posix/America/Cambridge_Bay" " " \ +"posix/America/Campo_Grande" " " \ +"posix/America/Cancun" " " \ +"posix/America/Caracas" " " \ +"posix/America/Catamarca" " " \ +"posix/America/Cayenne" " " \ +"posix/America/Cayman" " " \ +"posix/America/Chicago" " " \ +"posix/America/Chihuahua" " " \ +"posix/America/Coral_Harbour" " " \ +"posix/America/Cordoba" " " \ +"posix/America/Costa_Rica" " " \ +"posix/America/Cuiaba" " " \ +"posix/America/Curacao" " " \ +"posix/America/Danmarkshavn" " " \ +"posix/America/Dawson" " " \ +"posix/America/Dawson_Creek" " " \ +"posix/America/Denver" " " \ +"posix/America/Detroit" " " \ +"posix/America/Dominica" " " \ +"posix/America/Edmonton" " " \ +"posix/America/Eirunepe" " " \ +"posix/America/El_Salvador" " " \ +"posix/America/Ensenada" " " \ +"posix/America/Fort_Wayne" " " \ +"posix/America/Fortaleza" " " \ +"posix/America/Glace_Bay" " " \ +"posix/America/Godthab" " " \ +"posix/America/Goose_Bay" " " \ +"posix/America/Grand_Turk" " " \ +"posix/America/Grenada" " " \ +"posix/America/Guadeloupe" " " \ +"posix/America/Guatemala" " " \ +"posix/America/Guayaquil" " " \ +"posix/America/Guyana" " " \ +"posix/America/Halifax" " " \ +"posix/America/Havana" " " \ +"posix/America/Hermosillo" " " \ +"posix/America/Indiana/Indianapolis" " " \ +"posix/America/Indiana/Knox" " " \ +"posix/America/Indiana/Marengo" " " \ +"posix/America/Indiana/Petersburg" " " \ +"posix/America/Indiana/Tell_City" " " \ +"posix/America/Indiana/Vevay" " " \ +"posix/America/Indiana/Vincennes" " " \ +"posix/America/Indianapolis" " " \ +"posix/America/Inuvik" " " \ +"posix/America/Iqaluit" " " \ +"posix/America/Jamaica" " " \ +"posix/America/Jujuy" " " \ +"posix/America/Juneau" " " \ +"posix/America/Kentucky/Louisville" " " \ +"posix/America/Kentucky/Monticello" " " \ +"posix/America/Knox_IN" " " \ +"posix/America/La_Paz" " " \ +"posix/America/Lima" " " \ +"posix/America/Los_Angeles" " " \ +"posix/America/Louisville" " " \ +"posix/America/Maceio" " " \ +"posix/America/Managua" " " \ +"posix/America/Manaus" " " \ +"posix/America/Martinique" " " \ +"posix/America/Mazatlan" " " \ +"posix/America/Mendoza" " " \ +"posix/America/Menominee" " " \ +"posix/America/Merida" " " \ +"posix/America/Mexico_City" " " \ +"posix/America/Miquelon" " " \ +"posix/America/Moncton" " " \ +"posix/America/Monterrey" " " \ +"posix/America/Montevideo" " " \ +"posix/America/Montreal" " " \ +"posix/America/Montserrat" " " \ +"posix/America/Nassau" " " \ +"posix/America/New_York" " " \ +"posix/America/Nipigon" " " \ +"posix/America/Nome" " " \ +"posix/America/Noronha" " " \ +"posix/America/North_Dakota/Center" " " \ +"posix/America/North_Dakota/New_Salem" " " \ +"posix/America/Panama" " " \ +"posix/America/Pangnirtung" " " \ +"posix/America/Paramaribo" " " \ +"posix/America/Phoenix" " " \ +"posix/America/Port-au-Prince" " " \ +"posix/America/Port_of_Spain" " " \ +"posix/America/Porto_Acre" " " \ +"posix/America/Porto_Velho" " " \ +"posix/America/Puerto_Rico" " " \ +"posix/America/Rainy_River" " " \ +"posix/America/Rankin_Inlet" " " \ +"posix/America/Recife" " " \ +"posix/America/Regina" " " \ +"posix/America/Rio_Branco" " " \ +"posix/America/Rosario" " " \ +"posix/America/Santiago" " " \ +"posix/America/Santo_Domingo" " " \ +"posix/America/Sao_Paulo" " " \ +"posix/America/Scoresbysund" " " \ +"posix/America/Shiprock" " " \ +"posix/America/St_Johns" " " \ +"posix/America/St_Kitts" " " \ +"posix/America/St_Lucia" " " \ +"posix/America/St_Thomas" " " \ +"posix/America/St_Vincent" " " \ +"posix/America/Swift_Current" " " \ +"posix/America/Tegucigalpa" " " \ +"posix/America/Thule" " " \ +"posix/America/Thunder_Bay" " " \ +"posix/America/Tijuana" " " \ +"posix/America/Toronto" " " \ +"posix/America/Tortola" " " \ +"posix/America/Vancouver" " " \ +"posix/America/Virgin" " " \ +"posix/America/Whitehorse" " " \ +"posix/America/Winnipeg" " " \ +"posix/America/Yakutat" " " \ +"posix/America/Yellowknife" " " \ +"posix/Antarctica/Casey" " " \ +"posix/Antarctica/Davis" " " \ +"posix/Antarctica/DumontDUrville" " " \ +"posix/Antarctica/Mawson" " " \ +"posix/Antarctica/McMurdo" " " \ +"posix/Antarctica/Palmer" " " \ +"posix/Antarctica/Rothera" " " \ +"posix/Antarctica/South_Pole" " " \ +"posix/Antarctica/Syowa" " " \ +"posix/Antarctica/Troll" " " \ +"posix/Antarctica/Vostok" " " \ +"posix/Arctic/Longyearbyen" " " \ +"posix/Asia/Aden" " " \ +"posix/Asia/Almaty" " " \ +"posix/Asia/Amman" " " \ +"posix/Asia/Anadyr" " " \ +"posix/Asia/Aqtau" " " \ +"posix/Asia/Aqtobe" " " \ +"posix/Asia/Ashgabat" " " \ +"posix/Asia/Ashkhabad" " " \ +"posix/Asia/Baghdad" " " \ +"posix/Asia/Bahrain" " " \ +"posix/Asia/Baku" " " \ +"posix/Asia/Bangkok" " " \ +"posix/Asia/Beirut" " " \ +"posix/Asia/Bishkek" " " \ +"posix/Asia/Brunei" " " \ +"posix/Asia/Calcutta" " " \ +"posix/Asia/Chita" " " \ +"posix/Asia/Choibalsan" " " \ +"posix/Asia/Chongqing" " " \ +"posix/Asia/Chungking" " " \ +"posix/Asia/Colombo" " " \ +"posix/Asia/Dacca" " " \ +"posix/Asia/Damascus" " " \ +"posix/Asia/Dhaka" " " \ +"posix/Asia/Dili" " " \ +"posix/Asia/Dubai" " " \ +"posix/Asia/Dushanbe" " " \ +"posix/Asia/Gaza" " " \ +"posix/Asia/Harbin" " " \ +"posix/Asia/Hong_Kong" " " \ +"posix/Asia/Hovd" " " \ +"posix/Asia/Irkutsk" " " \ +"posix/Asia/Istanbul" " " \ +"posix/Asia/Jakarta" " " \ +"posix/Asia/Jayapura" " " \ +"posix/Asia/Jerusalem" " " \ +"posix/Asia/Kabul" " " \ +"posix/Asia/Kamchatka" " " \ +"posix/Asia/Karachi" " " \ +"posix/Asia/Kashgar" " " \ +"posix/Asia/Katmandu" " " \ +"posix/Asia/Krasnoyarsk" " " \ +"posix/Asia/Kuala_Lumpur" " " \ +"posix/Asia/Kuching" " " \ +"posix/Asia/Kuwait" " " \ +"posix/Asia/Macao" " " \ +"posix/Asia/Macau" " " \ +"posix/Asia/Magadan" " " \ +"posix/Asia/Makassar" " " \ +"posix/Asia/Manila" " " \ +"posix/Asia/Muscat" " " \ +"posix/Asia/Nicosia" " " \ +"posix/Asia/Novosibirsk" " " \ +"posix/Asia/Omsk" " " \ +"posix/Asia/Oral" " " \ +"posix/Asia/Phnom_Penh" " " \ +"posix/Asia/Pontianak" " " \ +"posix/Asia/Pyongyang" " " \ +"posix/Asia/Qatar" " " \ +"posix/Asia/Qyzylorda" " " \ +"posix/Asia/Rangoon" " " \ +"posix/Asia/Riyadh" " " \ +"posix/Asia/Saigon" " " \ +"posix/Asia/Sakhalin" " " \ +"posix/Asia/Samarkand" " " \ +"posix/Asia/Seoul" " " \ +"posix/Asia/Shanghai" " " \ +"posix/Asia/Singapore" " " \ +"posix/Asia/Srednekolymsk" " " \ +"posix/Asia/Taipei" " " \ +"posix/Asia/Tashkent" " " \ +"posix/Asia/Tbilisi" " " \ +"posix/Asia/Tehran" " " \ +"posix/Asia/Tel_Aviv" " " \ +"posix/Asia/Thimbu" " " \ +"posix/Asia/Thimphu" " " \ +"posix/Asia/Tokyo" " " \ +"posix/Asia/Ujung_Pandang" " " \ +"posix/Asia/Ulaanbaatar" " " \ +"posix/Asia/Ulan_Bator" " " \ +"posix/Asia/Urumqi" " " \ +"posix/Asia/Vientiane" " " \ +"posix/Asia/Vladivostok" " " \ +"posix/Asia/Yakutsk" " " \ +"posix/Asia/Yekaterinburg" " " \ +"posix/Asia/Yerevan" " " \ +"posix/Atlantic/Azores" " " \ +"posix/Atlantic/Bermuda" " " \ +"posix/Atlantic/Canary" " " \ +"posix/Atlantic/Cape_Verde" " " \ +"posix/Atlantic/Faeroe" " " \ +"posix/Atlantic/Jan_Mayen" " " \ +"posix/Atlantic/Madeira" " " \ +"posix/Atlantic/Reykjavik" " " \ +"posix/Atlantic/South_Georgia" " " \ +"posix/Atlantic/St_Helena" " " \ +"posix/Atlantic/Stanley" " " \ +"posix/Australia/ACT" " " \ +"posix/Australia/Adelaide" " " \ +"posix/Australia/Brisbane" " " \ +"posix/Australia/Broken_Hill" " " \ +"posix/Australia/Canberra" " " \ +"posix/Australia/Currie" " " \ +"posix/Australia/Darwin" " " \ +"posix/Australia/Hobart" " " \ +"posix/Australia/LHI" " " \ +"posix/Australia/Lindeman" " " \ +"posix/Australia/Lord_Howe" " " \ +"posix/Australia/Melbourne" " " \ +"posix/Australia/NSW" " " \ +"posix/Australia/North" " " \ +"posix/Australia/Perth" " " \ +"posix/Australia/Queensland" " " \ +"posix/Australia/South" " " \ +"posix/Australia/Sydney" " " \ +"posix/Australia/Tasmania" " " \ +"posix/Australia/Victoria" " " \ +"posix/Australia/West" " " \ +"posix/Australia/Yancowinna" " " \ +"posix/Brazil/Acre" " " \ +"posix/Brazil/DeNoronha" " " \ +"posix/Brazil/East" " " \ +"posix/Brazil/West" " " \ +"posix/CET" " " \ +"posix/CST6CDT" " " \ +"posix/Canada/Atlantic" " " \ +"posix/Canada/Central" " " \ +"posix/Canada/East-Saskatchewan" " " \ +"posix/Canada/Eastern" " " \ +"posix/Canada/Mountain" " " \ +"posix/Canada/Newfoundland" " " \ +"posix/Canada/Pacific" " " \ +"posix/Canada/Saskatchewan" " " \ +"posix/Canada/Yukon" " " \ +"posix/Chile/Continental" " " \ +"posix/Chile/EasterIsland" " " \ +"posix/Cuba" " " \ +"posix/EET" " " \ +"posix/EST" " " \ +"posix/EST5EDT" " " \ +"posix/Egypt" " " \ +"posix/Eire" " " \ +"posix/Etc/GMT" " " \ +"posix/Etc/GMT+0" " " \ +"posix/Etc/GMT+1" " " \ +"posix/Etc/GMT+10" " " \ +"posix/Etc/GMT+11" " " \ +"posix/Etc/GMT+12" " " \ +"posix/Etc/GMT+2" " " \ +"posix/Etc/GMT+3" " " \ +"posix/Etc/GMT+4" " " \ +"posix/Etc/GMT+5" " " \ +"posix/Etc/GMT+6" " " \ +"posix/Etc/GMT+7" " " \ +"posix/Etc/GMT+8" " " \ +"posix/Etc/GMT+9" " " \ +"posix/Etc/GMT-0" " " \ +"posix/Etc/GMT-1" " " \ +"posix/Etc/GMT-10" " " \ +"posix/Etc/GMT-11" " " \ +"posix/Etc/GMT-12" " " \ +"posix/Etc/GMT-13" " " \ +"posix/Etc/GMT-14" " " \ +"posix/Etc/GMT-2" " " \ +"posix/Etc/GMT-3" " " \ +"posix/Etc/GMT-4" " " \ +"posix/Etc/GMT-5" " " \ +"posix/Etc/GMT-6" " " \ +"posix/Etc/GMT-7" " " \ +"posix/Etc/GMT-8" " " \ +"posix/Etc/GMT-9" " " \ +"posix/Etc/GMT0" " " \ +"posix/Etc/Greenwich" " " \ +"posix/Etc/UCT" " " \ +"posix/Etc/UTC" " " \ +"posix/Etc/Universal" " " \ +"posix/Etc/Zulu" " " \ +"posix/Europe/Amsterdam" " " \ +"posix/Europe/Andorra" " " \ +"posix/Europe/Athens" " " \ +"posix/Europe/Belfast" " " \ +"posix/Europe/Belgrade" " " \ +"posix/Europe/Berlin" " " \ +"posix/Europe/Bratislava" " " \ +"posix/Europe/Brussels" " " \ +"posix/Europe/Bucharest" " " \ +"posix/Europe/Budapest" " " \ +"posix/Europe/Chisinau" " " \ +"posix/Europe/Copenhagen" " " \ +"posix/Europe/Dublin" " " \ +"posix/Europe/Gibraltar" " " \ +"posix/Europe/Guernsey" " " \ +"posix/Europe/Helsinki" " " \ +"posix/Europe/Isle_of_Man" " " \ +"posix/Europe/Istanbul" " " \ +"posix/Europe/Jersey" " " \ +"posix/Europe/Kaliningrad" " " \ +"posix/Europe/Kiev" " " \ +"posix/Europe/Lisbon" " " \ +"posix/Europe/Ljubljana" " " \ +"posix/Europe/London" " " \ +"posix/Europe/Luxembourg" " " \ +"posix/Europe/Madrid" " " \ +"posix/Europe/Malta" " " \ +"posix/Europe/Mariehamn" " " \ +"posix/Europe/Minsk" " " \ +"posix/Europe/Monaco" " " \ +"posix/Europe/Moscow" " " \ +"posix/Europe/Nicosia" " " \ +"posix/Europe/Oslo" " " \ +"posix/Europe/Paris" " " \ +"posix/Europe/Podgorica" " " \ +"posix/Europe/Prague" " " \ +"posix/Europe/Riga" " " \ +"posix/Europe/Rome" " " \ +"posix/Europe/Samara" " " \ +"posix/Europe/San_Marino" " " \ +"posix/Europe/Sarajevo" " " \ +"posix/Europe/Simferopol" " " \ +"posix/Europe/Skopje" " " \ +"posix/Europe/Sofia" " " \ +"posix/Europe/Stockholm" " " \ +"posix/Europe/Tallinn" " " \ +"posix/Europe/Tirane" " " \ +"posix/Europe/Tiraspol" " " \ +"posix/Europe/Uzhgorod" " " \ +"posix/Europe/Vaduz" " " \ +"posix/Europe/Vatican" " " \ +"posix/Europe/Vienna" " " \ +"posix/Europe/Vilnius" " " \ +"posix/Europe/Volgograd" " " \ +"posix/Europe/Warsaw" " " \ +"posix/Europe/Zagreb" " " \ +"posix/Europe/Zaporozhye" " " \ +"posix/Europe/Zurich" " " \ +"posix/Factory" " " \ +"posix/GB" " " \ +"posix/GB-Eire" " " \ +"posix/GMT" " " \ +"posix/GMT+0" " " \ +"posix/GMT-0" " " \ +"posix/GMT0" " " \ +"posix/Greenwich" " " \ +"posix/HST" " " \ +"posix/Hongkong" " " \ +"posix/Iceland" " " \ +"posix/Indian/Antananarivo" " " \ +"posix/Indian/Chagos" " " \ +"posix/Indian/Christmas" " " \ +"posix/Indian/Cocos" " " \ +"posix/Indian/Comoro" " " \ +"posix/Indian/Kerguelen" " " \ +"posix/Indian/Mahe" " " \ +"posix/Indian/Maldives" " " \ +"posix/Indian/Mauritius" " " \ +"posix/Indian/Mayotte" " " \ +"posix/Indian/Reunion" " " \ +"posix/Iran" " " \ +"posix/Israel" " " \ +"posix/Jamaica" " " \ +"posix/Japan" " " \ +"posix/Kwajalein" " " \ +"posix/Libya" " " \ +"posix/MET" " " \ +"posix/MST" " " \ +"posix/MST7MDT" " " \ +"posix/Mexico/BajaNorte" " " \ +"posix/Mexico/BajaSur" " " \ +"posix/Mexico/General" " " \ +"posix/NZ" " " \ +"posix/NZ-CHAT" " " \ +"posix/Navajo" " " \ +"posix/PRC" " " \ +"posix/PST8PDT" " " \ +"posix/Pacific/Apia" " " \ +"posix/Pacific/Auckland" " " \ +"posix/Pacific/Bougainville" " " \ +"posix/Pacific/Chatham" " " \ +"posix/Pacific/Easter" " " \ +"posix/Pacific/Efate" " " \ +"posix/Pacific/Enderbury" " " \ +"posix/Pacific/Fakaofo" " " \ +"posix/Pacific/Fiji" " " \ +"posix/Pacific/Funafuti" " " \ +"posix/Pacific/Galapagos" " " \ +"posix/Pacific/Gambier" " " \ +"posix/Pacific/Guadalcanal" " " \ +"posix/Pacific/Guam" " " \ +"posix/Pacific/Honolulu" " " \ +"posix/Pacific/Johnston" " " \ +"posix/Pacific/Kiritimati" " " \ +"posix/Pacific/Kosrae" " " \ +"posix/Pacific/Kwajalein" " " \ +"posix/Pacific/Majuro" " " \ +"posix/Pacific/Marquesas" " " \ +"posix/Pacific/Midway" " " \ +"posix/Pacific/Nauru" " " \ +"posix/Pacific/Niue" " " \ +"posix/Pacific/Norfolk" " " \ +"posix/Pacific/Noumea" " " \ +"posix/Pacific/Pago_Pago" " " \ +"posix/Pacific/Palau" " " \ +"posix/Pacific/Pitcairn" " " \ +"posix/Pacific/Ponape" " " \ +"posix/Pacific/Port_Moresby" " " \ +"posix/Pacific/Rarotonga" " " \ +"posix/Pacific/Saipan" " " \ +"posix/Pacific/Samoa" " " \ +"posix/Pacific/Tahiti" " " \ +"posix/Pacific/Tarawa" " " \ +"posix/Pacific/Tongatapu" " " \ +"posix/Pacific/Truk" " " \ +"posix/Pacific/Wake" " " \ +"posix/Pacific/Wallis" " " \ +"posix/Pacific/Yap" " " \ +"posix/Poland" " " \ +"posix/Portugal" " " \ +"posix/ROC" " " \ +"posix/ROK" " " \ +"posix/Singapore" " " \ +"posix/Turkey" " " \ +"posix/UCT" " " \ +"posix/US/Alaska" " " \ +"posix/US/Aleutian" " " \ +"posix/US/Arizona" " " \ +"posix/US/Central" " " \ +"posix/US/East-Indiana" " " \ +"posix/US/Eastern" " " \ +"posix/US/Hawaii" " " \ +"posix/US/Indiana-Starke" " " \ +"posix/US/Michigan" " " \ +"posix/US/Mountain" " " \ +"posix/US/Pacific" " " \ +"posix/US/Pacific-New" " " \ +"posix/US/Samoa" " " \ +"posix/UTC" " " \ +"posix/Universal" " " \ +"posix/W-SU" " " \ +"posix/WET" " " \ +"posix/Zulu" " " \ +"posixrules" " " \ +"right/Africa/Abidjan" " " \ +"right/Africa/Accra" " " \ +"right/Africa/Addis_Ababa" " " \ +"right/Africa/Algiers" " " \ +"right/Africa/Asmera" " " \ +"right/Africa/Bamako" " " \ +"right/Africa/Bangui" " " \ +"right/Africa/Banjul" " " \ +"right/Africa/Bissau" " " \ +"right/Africa/Blantyre" " " \ +"right/Africa/Brazzaville" " " \ +"right/Africa/Bujumbura" " " \ +"right/Africa/Cairo" " " \ +"right/Africa/Casablanca" " " \ +"right/Africa/Ceuta" " " \ +"right/Africa/Conakry" " " \ +"right/Africa/Dakar" " " \ +"right/Africa/Dar_es_Salaam" " " \ +"right/Africa/Djibouti" " " \ +"right/Africa/Douala" " " \ +"right/Africa/El_Aaiun" " " \ +"right/Africa/Freetown" " " \ +"right/Africa/Gaborone" " " \ +"right/Africa/Harare" " " \ +"right/Africa/Johannesburg" " " \ +"right/Africa/Kampala" " " \ +"right/Africa/Khartoum" " " \ +"right/Africa/Kigali" " " \ +"right/Africa/Kinshasa" " " \ +"right/Africa/Lagos" " " \ +"right/Africa/Libreville" " " \ +"right/Africa/Lome" " " \ +"right/Africa/Luanda" " " \ +"right/Africa/Lubumbashi" " " \ +"right/Africa/Lusaka" " " \ +"right/Africa/Malabo" " " \ +"right/Africa/Maputo" " " \ +"right/Africa/Maseru" " " \ +"right/Africa/Mbabane" " " \ +"right/Africa/Mogadishu" " " \ +"right/Africa/Monrovia" " " \ +"right/Africa/Nairobi" " " \ +"right/Africa/Ndjamena" " " \ +"right/Africa/Niamey" " " \ +"right/Africa/Nouakchott" " " \ +"right/Africa/Ouagadougou" " " \ +"right/Africa/Porto-Novo" " " \ +"right/Africa/Sao_Tome" " " \ +"right/Africa/Timbuktu" " " \ +"right/Africa/Tripoli" " " \ +"right/Africa/Tunis" " " \ +"right/Africa/Windhoek" " " \ +"right/America/Adak" " " \ +"right/America/Anchorage" " " \ +"right/America/Anguilla" " " \ +"right/America/Antigua" " " \ +"right/America/Araguaina" " " \ +"right/America/Argentina/Buenos_Aires" " " \ +"right/America/Argentina/Catamarca" " " \ +"right/America/Argentina/ComodRivadavia" " " \ +"right/America/Argentina/Cordoba" " " \ +"right/America/Argentina/Jujuy" " " \ +"right/America/Argentina/La_Rioja" " " \ +"right/America/Argentina/Mendoza" " " \ +"right/America/Argentina/Rio_Gallegos" " " \ +"right/America/Argentina/San_Juan" " " \ +"right/America/Argentina/Tucuman" " " \ +"right/America/Argentina/Ushuaia" " " \ +"right/America/Aruba" " " \ +"right/America/Asuncion" " " \ +"right/America/Atikokan" " " \ +"right/America/Atka" " " \ +"right/America/Bahia" " " \ +"right/America/Barbados" " " \ +"right/America/Belem" " " \ +"right/America/Belize" " " \ +"right/America/Blanc-Sablon" " " \ +"right/America/Boa_Vista" " " \ +"right/America/Bogota" " " \ +"right/America/Boise" " " \ +"right/America/Buenos_Aires" " " \ +"right/America/Cambridge_Bay" " " \ +"right/America/Campo_Grande" " " \ +"right/America/Cancun" " " \ +"right/America/Caracas" " " \ +"right/America/Catamarca" " " \ +"right/America/Cayenne" " " \ +"right/America/Cayman" " " \ +"right/America/Chicago" " " \ +"right/America/Chihuahua" " " \ +"right/America/Coral_Harbour" " " \ +"right/America/Cordoba" " " \ +"right/America/Costa_Rica" " " \ +"right/America/Cuiaba" " " \ +"right/America/Curacao" " " \ +"right/America/Danmarkshavn" " " \ +"right/America/Dawson" " " \ +"right/America/Dawson_Creek" " " \ +"right/America/Denver" " " \ +"right/America/Detroit" " " \ +"right/America/Dominica" " " \ +"right/America/Edmonton" " " \ +"right/America/Eirunepe" " " \ +"right/America/El_Salvador" " " \ +"right/America/Ensenada" " " \ +"right/America/Fort_Wayne" " " \ +"right/America/Fortaleza" " " \ +"right/America/Glace_Bay" " " \ +"right/America/Godthab" " " \ +"right/America/Goose_Bay" " " \ +"right/America/Grand_Turk" " " \ +"right/America/Grenada" " " \ +"right/America/Guadeloupe" " " \ +"right/America/Guatemala" " " \ +"right/America/Guayaquil" " " \ +"right/America/Guyana" " " \ +"right/America/Halifax" " " \ +"right/America/Havana" " " \ +"right/America/Hermosillo" " " \ +"right/America/Indiana/Indianapolis" " " \ +"right/America/Indiana/Knox" " " \ +"right/America/Indiana/Marengo" " " \ +"right/America/Indiana/Petersburg" " " \ +"right/America/Indiana/Tell_City" " " \ +"right/America/Indiana/Vevay" " " \ +"right/America/Indiana/Vincennes" " " \ +"right/America/Indianapolis" " " \ +"right/America/Inuvik" " " \ +"right/America/Iqaluit" " " \ +"right/America/Jamaica" " " \ +"right/America/Jujuy" " " \ +"right/America/Juneau" " " \ +"right/America/Kentucky/Louisville" " " \ +"right/America/Kentucky/Monticello" " " \ +"right/America/Knox_IN" " " \ +"right/America/La_Paz" " " \ +"right/America/Lima" " " \ +"right/America/Los_Angeles" " " \ +"right/America/Louisville" " " \ +"right/America/Maceio" " " \ +"right/America/Managua" " " \ +"right/America/Manaus" " " \ +"right/America/Martinique" " " \ +"right/America/Mazatlan" " " \ +"right/America/Mendoza" " " \ +"right/America/Menominee" " " \ +"right/America/Merida" " " \ +"right/America/Mexico_City" " " \ +"right/America/Miquelon" " " \ +"right/America/Moncton" " " \ +"right/America/Monterrey" " " \ +"right/America/Montevideo" " " \ +"right/America/Montreal" " " \ +"right/America/Montserrat" " " \ +"right/America/Nassau" " " \ +"right/America/New_York" " " \ +"right/America/Nipigon" " " \ +"right/America/Nome" " " \ +"right/America/Noronha" " " \ +"right/America/North_Dakota/Center" " " \ +"right/America/North_Dakota/New_Salem" " " \ +"right/America/Panama" " " \ +"right/America/Pangnirtung" " " \ +"right/America/Paramaribo" " " \ +"right/America/Phoenix" " " \ +"right/America/Port-au-Prince" " " \ +"right/America/Port_of_Spain" " " \ +"right/America/Porto_Acre" " " \ +"right/America/Porto_Velho" " " \ +"right/America/Puerto_Rico" " " \ +"right/America/Rainy_River" " " \ +"right/America/Rankin_Inlet" " " \ +"right/America/Recife" " " \ +"right/America/Regina" " " \ +"right/America/Rio_Branco" " " \ +"right/America/Rosario" " " \ +"right/America/Santiago" " " \ +"right/America/Santo_Domingo" " " \ +"right/America/Sao_Paulo" " " \ +"right/America/Scoresbysund" " " \ +"right/America/Shiprock" " " \ +"right/America/St_Johns" " " \ +"right/America/St_Kitts" " " \ +"right/America/St_Lucia" " " \ +"right/America/St_Thomas" " " \ +"right/America/St_Vincent" " " \ +"right/America/Swift_Current" " " \ +"right/America/Tegucigalpa" " " \ +"right/America/Thule" " " \ +"right/America/Thunder_Bay" " " \ +"right/America/Tijuana" " " \ +"right/America/Toronto" " " \ +"right/America/Tortola" " " \ +"right/America/Vancouver" " " \ +"right/America/Virgin" " " \ +"right/America/Whitehorse" " " \ +"right/America/Winnipeg" " " \ +"right/America/Yakutat" " " \ +"right/America/Yellowknife" " " \ +"right/Antarctica/Casey" " " \ +"right/Antarctica/Davis" " " \ +"right/Antarctica/DumontDUrville" " " \ +"right/Antarctica/Mawson" " " \ +"right/Antarctica/McMurdo" " " \ +"right/Antarctica/Palmer" " " \ +"right/Antarctica/Rothera" " " \ +"right/Antarctica/South_Pole" " " \ +"right/Antarctica/Syowa" " " \ +"right/Antarctica/Troll" " " \ +"right/Antarctica/Vostok" " " \ +"right/Arctic/Longyearbyen" " " \ +"right/Asia/Aden" " " \ +"right/Asia/Almaty" " " \ +"right/Asia/Amman" " " \ +"right/Asia/Anadyr" " " \ +"right/Asia/Aqtau" " " \ +"right/Asia/Aqtobe" " " \ +"right/Asia/Ashgabat" " " \ +"right/Asia/Ashkhabad" " " \ +"right/Asia/Baghdad" " " \ +"right/Asia/Bahrain" " " \ +"right/Asia/Baku" " " \ +"right/Asia/Bangkok" " " \ +"right/Asia/Beirut" " " \ +"right/Asia/Bishkek" " " \ +"right/Asia/Brunei" " " \ +"right/Asia/Calcutta" " " \ +"right/Asia/Chita" " " \ +"right/Asia/Choibalsan" " " \ +"right/Asia/Chongqing" " " \ +"right/Asia/Chungking" " " \ +"right/Asia/Colombo" " " \ +"right/Asia/Dacca" " " \ +"right/Asia/Damascus" " " \ +"right/Asia/Dhaka" " " \ +"right/Asia/Dili" " " \ +"right/Asia/Dubai" " " \ +"right/Asia/Dushanbe" " " \ +"right/Asia/Gaza" " " \ +"right/Asia/Harbin" " " \ +"right/Asia/Hong_Kong" " " \ +"right/Asia/Hovd" " " \ +"right/Asia/Irkutsk" " " \ +"right/Asia/Istanbul" " " \ +"right/Asia/Jakarta" " " \ +"right/Asia/Jayapura" " " \ +"right/Asia/Jerusalem" " " \ +"right/Asia/Kabul" " " \ +"right/Asia/Kamchatka" " " \ +"right/Asia/Karachi" " " \ +"right/Asia/Kashgar" " " \ +"right/Asia/Katmandu" " " \ +"right/Asia/Krasnoyarsk" " " \ +"right/Asia/Kuala_Lumpur" " " \ +"right/Asia/Kuching" " " \ +"right/Asia/Kuwait" " " \ +"right/Asia/Macao" " " \ +"right/Asia/Macau" " " \ +"right/Asia/Magadan" " " \ +"right/Asia/Makassar" " " \ +"right/Asia/Manila" " " \ +"right/Asia/Muscat" " " \ +"right/Asia/Nicosia" " " \ +"right/Asia/Novosibirsk" " " \ +"right/Asia/Omsk" " " \ +"right/Asia/Oral" " " \ +"right/Asia/Phnom_Penh" " " \ +"right/Asia/Pontianak" " " \ +"right/Asia/Pyongyang" " " \ +"right/Asia/Qatar" " " \ +"right/Asia/Qyzylorda" " " \ +"right/Asia/Rangoon" " " \ +"right/Asia/Riyadh" " " \ +"right/Asia/Saigon" " " \ +"right/Asia/Sakhalin" " " \ +"right/Asia/Samarkand" " " \ +"right/Asia/Seoul" " " \ +"right/Asia/Shanghai" " " \ +"right/Asia/Singapore" " " \ +"right/Asia/Srednekolymsk" " " \ +"right/Asia/Taipei" " " \ +"right/Asia/Tashkent" " " \ +"right/Asia/Tbilisi" " " \ +"right/Asia/Tehran" " " \ +"right/Asia/Tel_Aviv" " " \ +"right/Asia/Thimbu" " " \ +"right/Asia/Thimphu" " " \ +"right/Asia/Tokyo" " " \ +"right/Asia/Ujung_Pandang" " " \ +"right/Asia/Ulaanbaatar" " " \ +"right/Asia/Ulan_Bator" " " \ +"right/Asia/Urumqi" " " \ +"right/Asia/Vientiane" " " \ +"right/Asia/Vladivostok" " " \ +"right/Asia/Yakutsk" " " \ +"right/Asia/Yekaterinburg" " " \ +"right/Asia/Yerevan" " " \ +"right/Atlantic/Azores" " " \ +"right/Atlantic/Bermuda" " " \ +"right/Atlantic/Canary" " " \ +"right/Atlantic/Cape_Verde" " " \ +"right/Atlantic/Faeroe" " " \ +"right/Atlantic/Jan_Mayen" " " \ +"right/Atlantic/Madeira" " " \ +"right/Atlantic/Reykjavik" " " \ +"right/Atlantic/South_Georgia" " " \ +"right/Atlantic/St_Helena" " " \ +"right/Atlantic/Stanley" " " \ +"right/Australia/ACT" " " \ +"right/Australia/Adelaide" " " \ +"right/Australia/Brisbane" " " \ +"right/Australia/Broken_Hill" " " \ +"right/Australia/Canberra" " " \ +"right/Australia/Currie" " " \ +"right/Australia/Darwin" " " \ +"right/Australia/Hobart" " " \ +"right/Australia/LHI" " " \ +"right/Australia/Lindeman" " " \ +"right/Australia/Lord_Howe" " " \ +"right/Australia/Melbourne" " " \ +"right/Australia/NSW" " " \ +"right/Australia/North" " " \ +"right/Australia/Perth" " " \ +"right/Australia/Queensland" " " \ +"right/Australia/South" " " \ +"right/Australia/Sydney" " " \ +"right/Australia/Tasmania" " " \ +"right/Australia/Victoria" " " \ +"right/Australia/West" " " \ +"right/Australia/Yancowinna" " " \ +"right/Brazil/Acre" " " \ +"right/Brazil/DeNoronha" " " \ +"right/Brazil/East" " " \ +"right/Brazil/West" " " \ +"right/CET" " " \ +"right/CST6CDT" " " \ +"right/Canada/Atlantic" " " \ +"right/Canada/Central" " " \ +"right/Canada/East-Saskatchewan" " " \ +"right/Canada/Eastern" " " \ +"right/Canada/Mountain" " " \ +"right/Canada/Newfoundland" " " \ +"right/Canada/Pacific" " " \ +"right/Canada/Saskatchewan" " " \ +"right/Canada/Yukon" " " \ +"right/Chile/Continental" " " \ +"right/Chile/EasterIsland" " " \ +"right/Cuba" " " \ +"right/EET" " " \ +"right/EST" " " \ +"right/EST5EDT" " " \ +"right/Egypt" " " \ +"right/Eire" " " \ +"right/Etc/GMT" " " \ +"right/Etc/GMT+0" " " \ +"right/Etc/GMT+1" " " \ +"right/Etc/GMT+10" " " \ +"right/Etc/GMT+11" " " \ +"right/Etc/GMT+12" " " \ +"right/Etc/GMT+2" " " \ +"right/Etc/GMT+3" " " \ +"right/Etc/GMT+4" " " \ +"right/Etc/GMT+5" " " \ +"right/Etc/GMT+6" " " \ +"right/Etc/GMT+7" " " \ +"right/Etc/GMT+8" " " \ +"right/Etc/GMT+9" " " \ +"right/Etc/GMT-0" " " \ +"right/Etc/GMT-1" " " \ +"right/Etc/GMT-10" " " \ +"right/Etc/GMT-11" " " \ +"right/Etc/GMT-12" " " \ +"right/Etc/GMT-13" " " \ +"right/Etc/GMT-14" " " \ +"right/Etc/GMT-2" " " \ +"right/Etc/GMT-3" " " \ +"right/Etc/GMT-4" " " \ +"right/Etc/GMT-5" " " \ +"right/Etc/GMT-6" " " \ +"right/Etc/GMT-7" " " \ +"right/Etc/GMT-8" " " \ +"right/Etc/GMT-9" " " \ +"right/Etc/GMT0" " " \ +"right/Etc/Greenwich" " " \ +"right/Etc/UCT" " " \ +"right/Etc/UTC" " " \ +"right/Etc/Universal" " " \ +"right/Etc/Zulu" " " \ +"right/Europe/Amsterdam" " " \ +"right/Europe/Andorra" " " \ +"right/Europe/Athens" " " \ +"right/Europe/Belfast" " " \ +"right/Europe/Belgrade" " " \ +"right/Europe/Berlin" " " \ +"right/Europe/Bratislava" " " \ +"right/Europe/Brussels" " " \ +"right/Europe/Bucharest" " " \ +"right/Europe/Budapest" " " \ +"right/Europe/Chisinau" " " \ +"right/Europe/Copenhagen" " " \ +"right/Europe/Dublin" " " \ +"right/Europe/Gibraltar" " " \ +"right/Europe/Guernsey" " " \ +"right/Europe/Helsinki" " " \ +"right/Europe/Isle_of_Man" " " \ +"right/Europe/Istanbul" " " \ +"right/Europe/Jersey" " " \ +"right/Europe/Kaliningrad" " " \ +"right/Europe/Kiev" " " \ +"right/Europe/Lisbon" " " \ +"right/Europe/Ljubljana" " " \ +"right/Europe/London" " " \ +"right/Europe/Luxembourg" " " \ +"right/Europe/Madrid" " " \ +"right/Europe/Malta" " " \ +"right/Europe/Mariehamn" " " \ +"right/Europe/Minsk" " " \ +"right/Europe/Monaco" " " \ +"right/Europe/Moscow" " " \ +"right/Europe/Nicosia" " " \ +"right/Europe/Oslo" " " \ +"right/Europe/Paris" " " \ +"right/Europe/Podgorica" " " \ +"right/Europe/Prague" " " \ +"right/Europe/Riga" " " \ +"right/Europe/Rome" " " \ +"right/Europe/Samara" " " \ +"right/Europe/San_Marino" " " \ +"right/Europe/Sarajevo" " " \ +"right/Europe/Simferopol" " " \ +"right/Europe/Skopje" " " \ +"right/Europe/Sofia" " " \ +"right/Europe/Stockholm" " " \ +"right/Europe/Tallinn" " " \ +"right/Europe/Tirane" " " \ +"right/Europe/Tiraspol" " " \ +"right/Europe/Uzhgorod" " " \ +"right/Europe/Vaduz" " " \ +"right/Europe/Vatican" " " \ +"right/Europe/Vienna" " " \ +"right/Europe/Vilnius" " " \ +"right/Europe/Volgograd" " " \ +"right/Europe/Warsaw" " " \ +"right/Europe/Zagreb" " " \ +"right/Europe/Zaporozhye" " " \ +"right/Europe/Zurich" " " \ +"right/Factory" " " \ +"right/GB" " " \ +"right/GB-Eire" " " \ +"right/GMT" " " \ +"right/GMT+0" " " \ +"right/GMT-0" " " \ +"right/GMT0" " " \ +"right/Greenwich" " " \ +"right/HST" " " \ +"right/Hongkong" " " \ +"right/Iceland" " " \ +"right/Indian/Antananarivo" " " \ +"right/Indian/Chagos" " " \ +"right/Indian/Christmas" " " \ +"right/Indian/Cocos" " " \ +"right/Indian/Comoro" " " \ +"right/Indian/Kerguelen" " " \ +"right/Indian/Mahe" " " \ +"right/Indian/Maldives" " " \ +"right/Indian/Mauritius" " " \ +"right/Indian/Mayotte" " " \ +"right/Indian/Reunion" " " \ +"right/Iran" " " \ +"right/Israel" " " \ +"right/Jamaica" " " \ +"right/Japan" " " \ +"right/Kwajalein" " " \ +"right/Libya" " " \ +"right/MET" " " \ +"right/MST" " " \ +"right/MST7MDT" " " \ +"right/Mexico/BajaNorte" " " \ +"right/Mexico/BajaSur" " " \ +"right/Mexico/General" " " \ +"right/NZ" " " \ +"right/NZ-CHAT" " " \ +"right/Navajo" " " \ +"right/PRC" " " \ +"right/PST8PDT" " " \ +"right/Pacific/Apia" " " \ +"right/Pacific/Auckland" " " \ +"right/Pacific/Bougainville" " " \ +"right/Pacific/Chatham" " " \ +"right/Pacific/Easter" " " \ +"right/Pacific/Efate" " " \ +"right/Pacific/Enderbury" " " \ +"right/Pacific/Fakaofo" " " \ +"right/Pacific/Fiji" " " \ +"right/Pacific/Funafuti" " " \ +"right/Pacific/Galapagos" " " \ +"right/Pacific/Gambier" " " \ +"right/Pacific/Guadalcanal" " " \ +"right/Pacific/Guam" " " \ +"right/Pacific/Honolulu" " " \ +"right/Pacific/Johnston" " " \ +"right/Pacific/Kiritimati" " " \ +"right/Pacific/Kosrae" " " \ +"right/Pacific/Kwajalein" " " \ +"right/Pacific/Majuro" " " \ +"right/Pacific/Marquesas" " " \ +"right/Pacific/Midway" " " \ +"right/Pacific/Nauru" " " \ +"right/Pacific/Niue" " " \ +"right/Pacific/Norfolk" " " \ +"right/Pacific/Noumea" " " \ +"right/Pacific/Pago_Pago" " " \ +"right/Pacific/Palau" " " \ +"right/Pacific/Pitcairn" " " \ +"right/Pacific/Ponape" " " \ +"right/Pacific/Port_Moresby" " " \ +"right/Pacific/Rarotonga" " " \ +"right/Pacific/Saipan" " " \ +"right/Pacific/Samoa" " " \ +"right/Pacific/Tahiti" " " \ +"right/Pacific/Tarawa" " " \ +"right/Pacific/Tongatapu" " " \ +"right/Pacific/Truk" " " \ +"right/Pacific/Wake" " " \ +"right/Pacific/Wallis" " " \ +"right/Pacific/Yap" " " \ +"right/Poland" " " \ +"right/Portugal" " " \ +"right/ROC" " " \ +"right/ROK" " " \ +"right/Singapore" " " \ +"right/Turkey" " " \ +"right/UCT" " " \ +"right/US/Alaska" " " \ +"right/US/Aleutian" " " \ +"right/US/Arizona" " " \ +"right/US/Central" " " \ +"right/US/East-Indiana" " " \ +"right/US/Eastern" " " \ +"right/US/Hawaii" " " \ +"right/US/Indiana-Starke" " " \ +"right/US/Michigan" " " \ +"right/US/Mountain" " " \ +"right/US/Pacific" " " \ +"right/US/Pacific-New" " " \ +"right/US/Samoa" " " \ +"right/UTC" " " \ +"right/Universal" " " \ +"right/W-SU" " " \ +"right/WET" " " \ +"right/Zulu" " " \ diff --git a/patches/source/glibc/timezone-scripts/parts/02 b/patches/source/glibc/timezone-scripts/parts/02 new file mode 100644 index 000000000..bd5a50bb0 --- /dev/null +++ b/patches/source/glibc/timezone-scripts/parts/02 @@ -0,0 +1,28 @@ + 2> $TMP/tz + + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/tz + exit + fi + + TIMEZONE="`cat $TMP/tz`" + rm -f $TMP/tz + + setzone $TIMEZONE + exit +else + ### + ### use text prompts + ### + while [ 0 ]; do + echo -n "Would you like to configure your timezone ([y]es, [n]o)? " + read TIMECONF; + echo + + if [ "$TIMECONF" = "n" ]; then + break + fi + + cat << EOF +Select one of these timezones: + diff --git a/patches/source/glibc/timezone-scripts/parts/03 b/patches/source/glibc/timezone-scripts/parts/03 new file mode 100644 index 000000000..7da2043d8 --- /dev/null +++ b/patches/source/glibc/timezone-scripts/parts/03 @@ -0,0 +1,1658 @@ +US/Alaska +US/Aleutian +US/Arizona +US/Central +US/East-Indiana +US/Eastern +US/Hawaii +US/Indiana-Starke +US/Michigan +US/Mountain +US/Pacific +US/Pacific-New +US/Samoa +Africa/Abidjan +Africa/Accra +Africa/Addis_Ababa +Africa/Algiers +Africa/Asmera +Africa/Bamako +Africa/Bangui +Africa/Banjul +Africa/Bissau +Africa/Blantyre +Africa/Brazzaville +Africa/Bujumbura +Africa/Cairo +Africa/Casablanca +Africa/Ceuta +Africa/Conakry +Africa/Dakar +Africa/Dar_es_Salaam +Africa/Djibouti +Africa/Douala +Africa/El_Aaiun +Africa/Freetown +Africa/Gaborone +Africa/Harare +Africa/Johannesburg +Africa/Kampala +Africa/Khartoum +Africa/Kigali +Africa/Kinshasa +Africa/Lagos +Africa/Libreville +Africa/Lome +Africa/Luanda +Africa/Lubumbashi +Africa/Lusaka +Africa/Malabo +Africa/Maputo +Africa/Maseru +Africa/Mbabane +Africa/Mogadishu +Africa/Monrovia +Africa/Nairobi +Africa/Ndjamena +Africa/Niamey +Africa/Nouakchott +Africa/Ouagadougou +Africa/Porto-Novo +Africa/Sao_Tome +Africa/Timbuktu +Africa/Tripoli +Africa/Tunis +Africa/Windhoek +America/Adak +America/Anchorage +America/Anguilla +America/Antigua +America/Araguaina +America/Argentina/Buenos_Aires +America/Argentina/Catamarca +America/Argentina/ComodRivadavia +America/Argentina/Cordoba +America/Argentina/Jujuy +America/Argentina/La_Rioja +America/Argentina/Mendoza +America/Argentina/Rio_Gallegos +America/Argentina/San_Juan +America/Argentina/Tucuman +America/Argentina/Ushuaia +America/Aruba +America/Asuncion +America/Atikokan +America/Atka +America/Bahia +America/Barbados +America/Belem +America/Belize +America/Blanc-Sablon +America/Boa_Vista +America/Bogota +America/Boise +America/Buenos_Aires +America/Cambridge_Bay +America/Campo_Grande +America/Cancun +America/Caracas +America/Catamarca +America/Cayenne +America/Cayman +America/Chicago +America/Chihuahua +America/Coral_Harbour +America/Cordoba +America/Costa_Rica +America/Cuiaba +America/Curacao +America/Danmarkshavn +America/Dawson +America/Dawson_Creek +America/Denver +America/Detroit +America/Dominica +America/Edmonton +America/Eirunepe +America/El_Salvador +America/Ensenada +America/Fort_Wayne +America/Fortaleza +America/Glace_Bay +America/Godthab +America/Goose_Bay +America/Grand_Turk +America/Grenada +America/Guadeloupe +America/Guatemala +America/Guayaquil +America/Guyana +America/Halifax +America/Havana +America/Hermosillo +America/Indiana/Indianapolis +America/Indiana/Knox +America/Indiana/Marengo +America/Indiana/Petersburg +America/Indiana/Tell_City +America/Indiana/Vevay +America/Indiana/Vincennes +America/Indianapolis +America/Inuvik +America/Iqaluit +America/Jamaica +America/Jujuy +America/Juneau +America/Kentucky/Louisville +America/Kentucky/Monticello +America/Knox_IN +America/La_Paz +America/Lima +America/Los_Angeles +America/Louisville +America/Maceio +America/Managua +America/Manaus +America/Martinique +America/Mazatlan +America/Mendoza +America/Menominee +America/Merida +America/Mexico_City +America/Miquelon +America/Moncton +America/Monterrey +America/Montevideo +America/Montreal +America/Montserrat +America/Nassau +America/New_York +America/Nipigon +America/Nome +America/Noronha +America/North_Dakota/Center +America/North_Dakota/New_Salem +America/Panama +America/Pangnirtung +America/Paramaribo +America/Phoenix +America/Port-au-Prince +America/Port_of_Spain +America/Porto_Acre +America/Porto_Velho +America/Puerto_Rico +America/Rainy_River +America/Rankin_Inlet +America/Recife +America/Regina +America/Rio_Branco +America/Rosario +America/Santiago +America/Santo_Domingo +America/Sao_Paulo +America/Scoresbysund +America/Shiprock +America/St_Johns +America/St_Kitts +America/St_Lucia +America/St_Thomas +America/St_Vincent +America/Swift_Current +America/Tegucigalpa +America/Thule +America/Thunder_Bay +America/Tijuana +America/Toronto +America/Tortola +America/Vancouver +America/Virgin +America/Whitehorse +America/Winnipeg +America/Yakutat +America/Yellowknife +Antarctica/Casey +Antarctica/Davis +Antarctica/DumontDUrville +Antarctica/Mawson +Antarctica/McMurdo +Antarctica/Palmer +Antarctica/Rothera +Antarctica/South_Pole +Antarctica/Syowa +Antarctica/Troll +Antarctica/Vostok +Arctic/Longyearbyen +Asia/Aden +Asia/Almaty +Asia/Amman +Asia/Anadyr +Asia/Aqtau +Asia/Aqtobe +Asia/Ashgabat +Asia/Ashkhabad +Asia/Baghdad +Asia/Bahrain +Asia/Baku +Asia/Bangkok +Asia/Beirut +Asia/Bishkek +Asia/Brunei +Asia/Calcutta +Asia/Chita +Asia/Choibalsan +Asia/Chongqing +Asia/Chungking +Asia/Colombo +Asia/Dacca +Asia/Damascus +Asia/Dhaka +Asia/Dili +Asia/Dubai +Asia/Dushanbe +Asia/Gaza +Asia/Harbin +Asia/Hong_Kong +Asia/Hovd +Asia/Irkutsk +Asia/Istanbul +Asia/Jakarta +Asia/Jayapura +Asia/Jerusalem +Asia/Kabul +Asia/Kamchatka +Asia/Karachi +Asia/Kashgar +Asia/Katmandu +Asia/Khandyga +Asia/Kolkata +Asia/Krasnoyarsk +Asia/Kuala_Lumpur +Asia/Kuching +Asia/Kuwait +Asia/Macao +Asia/Macau +Asia/Magadan +Asia/Makassar +Asia/Manila +Asia/Muscat +Asia/Nicosia +Asia/Novosibirsk +Asia/Omsk +Asia/Oral +Asia/Phnom_Penh +Asia/Pontianak +Asia/Pyongyang +Asia/Qatar +Asia/Qyzylorda +Asia/Rangoon +Asia/Riyadh +Asia/Saigon +Asia/Sakhalin +Asia/Samarkand +Asia/Seoul +Asia/Shanghai +Asia/Singapore +Asia/Srednekolymsk +Asia/Taipei +Asia/Tashkent +Asia/Tbilisi +Asia/Tehran +Asia/Tel_Aviv +Asia/Thimbu +Asia/Thimphu +Asia/Tokyo +Asia/Ujung_Pandang +Asia/Ulaanbaatar +Asia/Ulan_Bator +Asia/Urumqi +Asia/Ust-Nera +Asia/Vientiane +Asia/Vladivostok +Asia/Yakutsk +Asia/Yekaterinburg +Asia/Yerevan +Atlantic/Azores +Atlantic/Bermuda +Atlantic/Canary +Atlantic/Cape_Verde +Atlantic/Faeroe +Atlantic/Jan_Mayen +Atlantic/Madeira +Atlantic/Reykjavik +Atlantic/South_Georgia +Atlantic/St_Helena +Atlantic/Stanley +Australia/ACT +Australia/Adelaide +Australia/Brisbane +Australia/Broken_Hill +Australia/Canberra +Australia/Currie +Australia/Darwin +Australia/Hobart +Australia/LHI +Australia/Lindeman +Australia/Lord_Howe +Australia/Melbourne +Australia/NSW +Australia/North +Australia/Perth +Australia/Queensland +Australia/South +Australia/Sydney +Australia/Tasmania +Australia/Victoria +Australia/West +Australia/Yancowinna +Brazil/Acre +Brazil/DeNoronha +Brazil/East +Brazil/West +CET +CST6CDT +Canada/Atlantic +Canada/Central +Canada/East-Saskatchewan +Canada/Eastern +Canada/Mountain +Canada/Newfoundland +Canada/Pacific +Canada/Saskatchewan +Canada/Yukon +Chile/Continental +Chile/EasterIsland +Cuba +EET +EST +EST5EDT +Egypt +Eire +Etc/GMT +Etc/GMT+0 +Etc/GMT+1 +Etc/GMT+10 +Etc/GMT+11 +Etc/GMT+12 +Etc/GMT+2 +Etc/GMT+3 +Etc/GMT+4 +Etc/GMT+5 +Etc/GMT+6 +Etc/GMT+7 +Etc/GMT+8 +Etc/GMT+9 +Etc/GMT-0 +Etc/GMT-1 +Etc/GMT-10 +Etc/GMT-11 +Etc/GMT-12 +Etc/GMT-13 +Etc/GMT-14 +Etc/GMT-2 +Etc/GMT-3 +Etc/GMT-4 +Etc/GMT-5 +Etc/GMT-6 +Etc/GMT-7 +Etc/GMT-8 +Etc/GMT-9 +Etc/GMT0 +Etc/Greenwich +Etc/UCT +Etc/UTC +Etc/Universal +Etc/Zulu +Europe/Amsterdam +Europe/Andorra +Europe/Athens +Europe/Belfast +Europe/Belgrade +Europe/Berlin +Europe/Bratislava +Europe/Brussels +Europe/Bucharest +Europe/Budapest +Europe/Busingen +Europe/Chisinau +Europe/Copenhagen +Europe/Dublin +Europe/Gibraltar +Europe/Guernsey +Europe/Helsinki +Europe/Isle_of_Man +Europe/Istanbul +Europe/Jersey +Europe/Kaliningrad +Europe/Kiev +Europe/Lisbon +Europe/Ljubljana +Europe/London +Europe/Luxembourg +Europe/Madrid +Europe/Malta +Europe/Mariehamn +Europe/Minsk +Europe/Monaco +Europe/Moscow +Europe/Nicosia +Europe/Oslo +Europe/Paris +Europe/Podgorica +Europe/Prague +Europe/Riga +Europe/Rome +Europe/Samara +Europe/San_Marino +Europe/Sarajevo +Europe/Simferopol +Europe/Skopje +Europe/Sofia +Europe/Stockholm +Europe/Tallinn +Europe/Tirane +Europe/Tiraspol +Europe/Uzhgorod +Europe/Vaduz +Europe/Vatican +Europe/Vienna +Europe/Vilnius +Europe/Volgograd +Europe/Warsaw +Europe/Zagreb +Europe/Zaporozhye +Europe/Zurich +Factory +GB +GB-Eire +GMT +GMT+0 +GMT-0 +GMT0 +Greenwich +HST +Hongkong +Iceland +Indian/Antananarivo +Indian/Chagos +Indian/Christmas +Indian/Cocos +Indian/Comoro +Indian/Kerguelen +Indian/Mahe +Indian/Maldives +Indian/Mauritius +Indian/Mayotte +Indian/Reunion +Iran +Israel +Jamaica +Japan +Kwajalein +Libya +MET +MST +MST7MDT +Mexico/BajaNorte +Mexico/BajaSur +Mexico/General +NZ +NZ-CHAT +Navajo +PRC +PST8PDT +Pacific/Apia +Pacific/Auckland +Pacific/Bougainville +Pacific/Chatham +Pacific/Easter +Pacific/Efate +Pacific/Enderbury +Pacific/Fakaofo +Pacific/Fiji +Pacific/Funafuti +Pacific/Galapagos +Pacific/Gambier +Pacific/Guadalcanal +Pacific/Guam +Pacific/Honolulu +Pacific/Johnston +Pacific/Kiritimati +Pacific/Kosrae +Pacific/Kwajalein +Pacific/Majuro +Pacific/Marquesas +Pacific/Midway +Pacific/Nauru +Pacific/Niue +Pacific/Norfolk +Pacific/Noumea +Pacific/Pago_Pago +Pacific/Palau +Pacific/Pitcairn +Pacific/Ponape +Pacific/Port_Moresby +Pacific/Rarotonga +Pacific/Saipan +Pacific/Samoa +Pacific/Tahiti +Pacific/Tarawa +Pacific/Tongatapu +Pacific/Truk +Pacific/Wake +Pacific/Wallis +Pacific/Yap +Poland +Portugal +ROC +ROK +Singapore +Turkey +UCT +UTC +Universal +W-SU +WET +Zulu +posix/Africa/Abidjan +posix/Africa/Accra +posix/Africa/Addis_Ababa +posix/Africa/Algiers +posix/Africa/Asmera +posix/Africa/Bamako +posix/Africa/Bangui +posix/Africa/Banjul +posix/Africa/Bissau +posix/Africa/Blantyre +posix/Africa/Brazzaville +posix/Africa/Bujumbura +posix/Africa/Cairo +posix/Africa/Casablanca +posix/Africa/Ceuta +posix/Africa/Conakry +posix/Africa/Dakar +posix/Africa/Dar_es_Salaam +posix/Africa/Djibouti +posix/Africa/Douala +posix/Africa/El_Aaiun +posix/Africa/Freetown +posix/Africa/Gaborone +posix/Africa/Harare +posix/Africa/Johannesburg +posix/Africa/Kampala +posix/Africa/Khartoum +posix/Africa/Kigali +posix/Africa/Kinshasa +posix/Africa/Lagos +posix/Africa/Libreville +posix/Africa/Lome +posix/Africa/Luanda +posix/Africa/Lubumbashi +posix/Africa/Lusaka +posix/Africa/Malabo +posix/Africa/Maputo +posix/Africa/Maseru +posix/Africa/Mbabane +posix/Africa/Mogadishu +posix/Africa/Monrovia +posix/Africa/Nairobi +posix/Africa/Ndjamena +posix/Africa/Niamey +posix/Africa/Nouakchott +posix/Africa/Ouagadougou +posix/Africa/Porto-Novo +posix/Africa/Sao_Tome +posix/Africa/Timbuktu +posix/Africa/Tripoli +posix/Africa/Tunis +posix/Africa/Windhoek +posix/America/Adak +posix/America/Anchorage +posix/America/Anguilla +posix/America/Antigua +posix/America/Araguaina +posix/America/Argentina/Buenos_Aires +posix/America/Argentina/Catamarca +posix/America/Argentina/ComodRivadavia +posix/America/Argentina/Cordoba +posix/America/Argentina/Jujuy +posix/America/Argentina/La_Rioja +posix/America/Argentina/Mendoza +posix/America/Argentina/Rio_Gallegos +posix/America/Argentina/San_Juan +posix/America/Argentina/Tucuman +posix/America/Argentina/Ushuaia +posix/America/Aruba +posix/America/Asuncion +posix/America/Atikokan +posix/America/Atka +posix/America/Bahia +posix/America/Barbados +posix/America/Belem +posix/America/Belize +posix/America/Blanc-Sablon +posix/America/Boa_Vista +posix/America/Bogota +posix/America/Boise +posix/America/Buenos_Aires +posix/America/Cambridge_Bay +posix/America/Campo_Grande +posix/America/Cancun +posix/America/Caracas +posix/America/Catamarca +posix/America/Cayenne +posix/America/Cayman +posix/America/Chicago +posix/America/Chihuahua +posix/America/Coral_Harbour +posix/America/Cordoba +posix/America/Costa_Rica +posix/America/Cuiaba +posix/America/Curacao +posix/America/Danmarkshavn +posix/America/Dawson +posix/America/Dawson_Creek +posix/America/Denver +posix/America/Detroit +posix/America/Dominica +posix/America/Edmonton +posix/America/Eirunepe +posix/America/El_Salvador +posix/America/Ensenada +posix/America/Fort_Wayne +posix/America/Fortaleza +posix/America/Glace_Bay +posix/America/Godthab +posix/America/Goose_Bay +posix/America/Grand_Turk +posix/America/Grenada +posix/America/Guadeloupe +posix/America/Guatemala +posix/America/Guayaquil +posix/America/Guyana +posix/America/Halifax +posix/America/Havana +posix/America/Hermosillo +posix/America/Indiana/Indianapolis +posix/America/Indiana/Knox +posix/America/Indiana/Marengo +posix/America/Indiana/Petersburg +posix/America/Indiana/Tell_City +posix/America/Indiana/Vevay +posix/America/Indiana/Vincennes +posix/America/Indianapolis +posix/America/Inuvik +posix/America/Iqaluit +posix/America/Jamaica +posix/America/Jujuy +posix/America/Juneau +posix/America/Kentucky/Louisville +posix/America/Kentucky/Monticello +posix/America/Knox_IN +posix/America/La_Paz +posix/America/Lima +posix/America/Los_Angeles +posix/America/Louisville +posix/America/Maceio +posix/America/Managua +posix/America/Manaus +posix/America/Martinique +posix/America/Mazatlan +posix/America/Mendoza +posix/America/Menominee +posix/America/Merida +posix/America/Mexico_City +posix/America/Miquelon +posix/America/Moncton +posix/America/Monterrey +posix/America/Montevideo +posix/America/Montreal +posix/America/Montserrat +posix/America/Nassau +posix/America/New_York +posix/America/Nipigon +posix/America/Nome +posix/America/Noronha +posix/America/North_Dakota/Center +posix/America/North_Dakota/New_Salem +posix/America/Panama +posix/America/Pangnirtung +posix/America/Paramaribo +posix/America/Phoenix +posix/America/Port-au-Prince +posix/America/Port_of_Spain +posix/America/Porto_Acre +posix/America/Porto_Velho +posix/America/Puerto_Rico +posix/America/Rainy_River +posix/America/Rankin_Inlet +posix/America/Recife +posix/America/Regina +posix/America/Rio_Branco +posix/America/Rosario +posix/America/Santiago +posix/America/Santo_Domingo +posix/America/Sao_Paulo +posix/America/Scoresbysund +posix/America/Shiprock +posix/America/St_Johns +posix/America/St_Kitts +posix/America/St_Lucia +posix/America/St_Thomas +posix/America/St_Vincent +posix/America/Swift_Current +posix/America/Tegucigalpa +posix/America/Thule +posix/America/Thunder_Bay +posix/America/Tijuana +posix/America/Toronto +posix/America/Tortola +posix/America/Vancouver +posix/America/Virgin +posix/America/Whitehorse +posix/America/Winnipeg +posix/America/Yakutat +posix/America/Yellowknife +posix/Antarctica/Casey +posix/Antarctica/Davis +posix/Antarctica/DumontDUrville +posix/Antarctica/Mawson +posix/Antarctica/McMurdo +posix/Antarctica/Palmer +posix/Antarctica/Rothera +posix/Antarctica/South_Pole +posix/Antarctica/Syowa +posix/Antarctica/Troll +posix/Antarctica/Vostok +posix/Arctic/Longyearbyen +posix/Asia/Aden +posix/Asia/Almaty +posix/Asia/Amman +posix/Asia/Anadyr +posix/Asia/Aqtau +posix/Asia/Aqtobe +posix/Asia/Ashgabat +posix/Asia/Ashkhabad +posix/Asia/Baghdad +posix/Asia/Bahrain +posix/Asia/Baku +posix/Asia/Bangkok +posix/Asia/Beirut +posix/Asia/Bishkek +posix/Asia/Brunei +posix/Asia/Calcutta +posix/Asia/Chita +posix/Asia/Choibalsan +posix/Asia/Chongqing +posix/Asia/Chungking +posix/Asia/Colombo +posix/Asia/Dacca +posix/Asia/Damascus +posix/Asia/Dhaka +posix/Asia/Dili +posix/Asia/Dubai +posix/Asia/Dushanbe +posix/Asia/Gaza +posix/Asia/Harbin +posix/Asia/Hong_Kong +posix/Asia/Hovd +posix/Asia/Irkutsk +posix/Asia/Istanbul +posix/Asia/Jakarta +posix/Asia/Jayapura +posix/Asia/Jerusalem +posix/Asia/Kabul +posix/Asia/Kamchatka +posix/Asia/Karachi +posix/Asia/Kashgar +posix/Asia/Katmandu +posix/Asia/Krasnoyarsk +posix/Asia/Kuala_Lumpur +posix/Asia/Kuching +posix/Asia/Kuwait +posix/Asia/Macao +posix/Asia/Macau +posix/Asia/Magadan +posix/Asia/Makassar +posix/Asia/Manila +posix/Asia/Muscat +posix/Asia/Nicosia +posix/Asia/Novosibirsk +posix/Asia/Omsk +posix/Asia/Oral +posix/Asia/Phnom_Penh +posix/Asia/Pontianak +posix/Asia/Pyongyang +posix/Asia/Qatar +posix/Asia/Qyzylorda +posix/Asia/Rangoon +posix/Asia/Riyadh +posix/Asia/Saigon +posix/Asia/Sakhalin +posix/Asia/Samarkand +posix/Asia/Seoul +posix/Asia/Shanghai +posix/Asia/Singapore +posix/Asia/Srednekolymsk +posix/Asia/Taipei +posix/Asia/Tashkent +posix/Asia/Tbilisi +posix/Asia/Tehran +posix/Asia/Tel_Aviv +posix/Asia/Thimbu +posix/Asia/Thimphu +posix/Asia/Tokyo +posix/Asia/Ujung_Pandang +posix/Asia/Ulaanbaatar +posix/Asia/Ulan_Bator +posix/Asia/Urumqi +posix/Asia/Vientiane +posix/Asia/Vladivostok +posix/Asia/Yakutsk +posix/Asia/Yekaterinburg +posix/Asia/Yerevan +posix/Atlantic/Azores +posix/Atlantic/Bermuda +posix/Atlantic/Canary +posix/Atlantic/Cape_Verde +posix/Atlantic/Faeroe +posix/Atlantic/Jan_Mayen +posix/Atlantic/Madeira +posix/Atlantic/Reykjavik +posix/Atlantic/South_Georgia +posix/Atlantic/St_Helena +posix/Atlantic/Stanley +posix/Australia/ACT +posix/Australia/Adelaide +posix/Australia/Brisbane +posix/Australia/Broken_Hill +posix/Australia/Canberra +posix/Australia/Currie +posix/Australia/Darwin +posix/Australia/Hobart +posix/Australia/LHI +posix/Australia/Lindeman +posix/Australia/Lord_Howe +posix/Australia/Melbourne +posix/Australia/NSW +posix/Australia/North +posix/Australia/Perth +posix/Australia/Queensland +posix/Australia/South +posix/Australia/Sydney +posix/Australia/Tasmania +posix/Australia/Victoria +posix/Australia/West +posix/Australia/Yancowinna +posix/Brazil/Acre +posix/Brazil/DeNoronha +posix/Brazil/East +posix/Brazil/West +posix/CET +posix/CST6CDT +posix/Canada/Atlantic +posix/Canada/Central +posix/Canada/East-Saskatchewan +posix/Canada/Eastern +posix/Canada/Mountain +posix/Canada/Newfoundland +posix/Canada/Pacific +posix/Canada/Saskatchewan +posix/Canada/Yukon +posix/Chile/Continental +posix/Chile/EasterIsland +posix/Cuba +posix/EET +posix/EST +posix/EST5EDT +posix/Egypt +posix/Eire +posix/Etc/GMT +posix/Etc/GMT+0 +posix/Etc/GMT+1 +posix/Etc/GMT+10 +posix/Etc/GMT+11 +posix/Etc/GMT+12 +posix/Etc/GMT+2 +posix/Etc/GMT+3 +posix/Etc/GMT+4 +posix/Etc/GMT+5 +posix/Etc/GMT+6 +posix/Etc/GMT+7 +posix/Etc/GMT+8 +posix/Etc/GMT+9 +posix/Etc/GMT-0 +posix/Etc/GMT-1 +posix/Etc/GMT-10 +posix/Etc/GMT-11 +posix/Etc/GMT-12 +posix/Etc/GMT-13 +posix/Etc/GMT-14 +posix/Etc/GMT-2 +posix/Etc/GMT-3 +posix/Etc/GMT-4 +posix/Etc/GMT-5 +posix/Etc/GMT-6 +posix/Etc/GMT-7 +posix/Etc/GMT-8 +posix/Etc/GMT-9 +posix/Etc/GMT0 +posix/Etc/Greenwich +posix/Etc/UCT +posix/Etc/UTC +posix/Etc/Universal +posix/Etc/Zulu +posix/Europe/Amsterdam +posix/Europe/Andorra +posix/Europe/Athens +posix/Europe/Belfast +posix/Europe/Belgrade +posix/Europe/Berlin +posix/Europe/Bratislava +posix/Europe/Brussels +posix/Europe/Bucharest +posix/Europe/Budapest +posix/Europe/Chisinau +posix/Europe/Copenhagen +posix/Europe/Dublin +posix/Europe/Gibraltar +posix/Europe/Guernsey +posix/Europe/Helsinki +posix/Europe/Isle_of_Man +posix/Europe/Istanbul +posix/Europe/Jersey +posix/Europe/Kaliningrad +posix/Europe/Kiev +posix/Europe/Lisbon +posix/Europe/Ljubljana +posix/Europe/London +posix/Europe/Luxembourg +posix/Europe/Madrid +posix/Europe/Malta +posix/Europe/Mariehamn +posix/Europe/Minsk +posix/Europe/Monaco +posix/Europe/Moscow +posix/Europe/Nicosia +posix/Europe/Oslo +posix/Europe/Paris +posix/Europe/Podgorica +posix/Europe/Prague +posix/Europe/Riga +posix/Europe/Rome +posix/Europe/Samara +posix/Europe/San_Marino +posix/Europe/Sarajevo +posix/Europe/Simferopol +posix/Europe/Skopje +posix/Europe/Sofia +posix/Europe/Stockholm +posix/Europe/Tallinn +posix/Europe/Tirane +posix/Europe/Tiraspol +posix/Europe/Uzhgorod +posix/Europe/Vaduz +posix/Europe/Vatican +posix/Europe/Vienna +posix/Europe/Vilnius +posix/Europe/Volgograd +posix/Europe/Warsaw +posix/Europe/Zagreb +posix/Europe/Zaporozhye +posix/Europe/Zurich +posix/Factory +posix/GB +posix/GB-Eire +posix/GMT +posix/GMT+0 +posix/GMT-0 +posix/GMT0 +posix/Greenwich +posix/HST +posix/Hongkong +posix/Iceland +posix/Indian/Antananarivo +posix/Indian/Chagos +posix/Indian/Christmas +posix/Indian/Cocos +posix/Indian/Comoro +posix/Indian/Kerguelen +posix/Indian/Mahe +posix/Indian/Maldives +posix/Indian/Mauritius +posix/Indian/Mayotte +posix/Indian/Reunion +posix/Iran +posix/Israel +posix/Jamaica +posix/Japan +posix/Kwajalein +posix/Libya +posix/MET +posix/MST +posix/MST7MDT +posix/Mexico/BajaNorte +posix/Mexico/BajaSur +posix/Mexico/General +posix/NZ +posix/NZ-CHAT +posix/Navajo +posix/PRC +posix/PST8PDT +posix/Pacific/Apia +posix/Pacific/Auckland +posix/Pacific/Bougainville +posix/Pacific/Chatham +posix/Pacific/Easter +posix/Pacific/Efate +posix/Pacific/Enderbury +posix/Pacific/Fakaofo +posix/Pacific/Fiji +posix/Pacific/Funafuti +posix/Pacific/Galapagos +posix/Pacific/Gambier +posix/Pacific/Guadalcanal +posix/Pacific/Guam +posix/Pacific/Honolulu +posix/Pacific/Johnston +posix/Pacific/Kiritimati +posix/Pacific/Kosrae +posix/Pacific/Kwajalein +posix/Pacific/Majuro +posix/Pacific/Marquesas +posix/Pacific/Midway +posix/Pacific/Nauru +posix/Pacific/Niue +posix/Pacific/Norfolk +posix/Pacific/Noumea +posix/Pacific/Pago_Pago +posix/Pacific/Palau +posix/Pacific/Pitcairn +posix/Pacific/Ponape +posix/Pacific/Port_Moresby +posix/Pacific/Rarotonga +posix/Pacific/Saipan +posix/Pacific/Samoa +posix/Pacific/Tahiti +posix/Pacific/Tarawa +posix/Pacific/Tongatapu +posix/Pacific/Truk +posix/Pacific/Wake +posix/Pacific/Wallis +posix/Pacific/Yap +posix/Poland +posix/Portugal +posix/ROC +posix/ROK +posix/Singapore +posix/Turkey +posix/UCT +posix/US/Alaska +posix/US/Aleutian +posix/US/Arizona +posix/US/Central +posix/US/East-Indiana +posix/US/Eastern +posix/US/Hawaii +posix/US/Indiana-Starke +posix/US/Michigan +posix/US/Mountain +posix/US/Pacific +posix/US/Pacific-New +posix/US/Samoa +posix/UTC +posix/Universal +posix/W-SU +posix/WET +posix/Zulu +posixrules +right/Africa/Abidjan +right/Africa/Accra +right/Africa/Addis_Ababa +right/Africa/Algiers +right/Africa/Asmera +right/Africa/Bamako +right/Africa/Bangui +right/Africa/Banjul +right/Africa/Bissau +right/Africa/Blantyre +right/Africa/Brazzaville +right/Africa/Bujumbura +right/Africa/Cairo +right/Africa/Casablanca +right/Africa/Ceuta +right/Africa/Conakry +right/Africa/Dakar +right/Africa/Dar_es_Salaam +right/Africa/Djibouti +right/Africa/Douala +right/Africa/El_Aaiun +right/Africa/Freetown +right/Africa/Gaborone +right/Africa/Harare +right/Africa/Johannesburg +right/Africa/Kampala +right/Africa/Khartoum +right/Africa/Kigali +right/Africa/Kinshasa +right/Africa/Lagos +right/Africa/Libreville +right/Africa/Lome +right/Africa/Luanda +right/Africa/Lubumbashi +right/Africa/Lusaka +right/Africa/Malabo +right/Africa/Maputo +right/Africa/Maseru +right/Africa/Mbabane +right/Africa/Mogadishu +right/Africa/Monrovia +right/Africa/Nairobi +right/Africa/Ndjamena +right/Africa/Niamey +right/Africa/Nouakchott +right/Africa/Ouagadougou +right/Africa/Porto-Novo +right/Africa/Sao_Tome +right/Africa/Timbuktu +right/Africa/Tripoli +right/Africa/Tunis +right/Africa/Windhoek +right/America/Adak +right/America/Anchorage +right/America/Anguilla +right/America/Antigua +right/America/Araguaina +right/America/Argentina/Buenos_Aires +right/America/Argentina/Catamarca +right/America/Argentina/ComodRivadavia +right/America/Argentina/Cordoba +right/America/Argentina/Jujuy +right/America/Argentina/La_Rioja +right/America/Argentina/Mendoza +right/America/Argentina/Rio_Gallegos +right/America/Argentina/San_Juan +right/America/Argentina/Tucuman +right/America/Argentina/Ushuaia +right/America/Aruba +right/America/Asuncion +right/America/Atikokan +right/America/Atka +right/America/Bahia +right/America/Barbados +right/America/Belem +right/America/Belize +right/America/Blanc-Sablon +right/America/Boa_Vista +right/America/Bogota +right/America/Boise +right/America/Buenos_Aires +right/America/Cambridge_Bay +right/America/Campo_Grande +right/America/Cancun +right/America/Caracas +right/America/Catamarca +right/America/Cayenne +right/America/Cayman +right/America/Chicago +right/America/Chihuahua +right/America/Coral_Harbour +right/America/Cordoba +right/America/Costa_Rica +right/America/Cuiaba +right/America/Curacao +right/America/Danmarkshavn +right/America/Dawson +right/America/Dawson_Creek +right/America/Denver +right/America/Detroit +right/America/Dominica +right/America/Edmonton +right/America/Eirunepe +right/America/El_Salvador +right/America/Ensenada +right/America/Fort_Wayne +right/America/Fortaleza +right/America/Glace_Bay +right/America/Godthab +right/America/Goose_Bay +right/America/Grand_Turk +right/America/Grenada +right/America/Guadeloupe +right/America/Guatemala +right/America/Guayaquil +right/America/Guyana +right/America/Halifax +right/America/Havana +right/America/Hermosillo +right/America/Indiana/Indianapolis +right/America/Indiana/Knox +right/America/Indiana/Marengo +right/America/Indiana/Petersburg +right/America/Indiana/Tell_City +right/America/Indiana/Vevay +right/America/Indiana/Vincennes +right/America/Indianapolis +right/America/Inuvik +right/America/Iqaluit +right/America/Jamaica +right/America/Jujuy +right/America/Juneau +right/America/Kentucky/Louisville +right/America/Kentucky/Monticello +right/America/Knox_IN +right/America/La_Paz +right/America/Lima +right/America/Los_Angeles +right/America/Louisville +right/America/Maceio +right/America/Managua +right/America/Manaus +right/America/Martinique +right/America/Mazatlan +right/America/Mendoza +right/America/Menominee +right/America/Merida +right/America/Mexico_City +right/America/Miquelon +right/America/Moncton +right/America/Monterrey +right/America/Montevideo +right/America/Montreal +right/America/Montserrat +right/America/Nassau +right/America/New_York +right/America/Nipigon +right/America/Nome +right/America/Noronha +right/America/North_Dakota/Center +right/America/North_Dakota/New_Salem +right/America/Panama +right/America/Pangnirtung +right/America/Paramaribo +right/America/Phoenix +right/America/Port-au-Prince +right/America/Port_of_Spain +right/America/Porto_Acre +right/America/Porto_Velho +right/America/Puerto_Rico +right/America/Rainy_River +right/America/Rankin_Inlet +right/America/Recife +right/America/Regina +right/America/Rio_Branco +right/America/Rosario +right/America/Santiago +right/America/Santo_Domingo +right/America/Sao_Paulo +right/America/Scoresbysund +right/America/Shiprock +right/America/St_Johns +right/America/St_Kitts +right/America/St_Lucia +right/America/St_Thomas +right/America/St_Vincent +right/America/Swift_Current +right/America/Tegucigalpa +right/America/Thule +right/America/Thunder_Bay +right/America/Tijuana +right/America/Toronto +right/America/Tortola +right/America/Vancouver +right/America/Virgin +right/America/Whitehorse +right/America/Winnipeg +right/America/Yakutat +right/America/Yellowknife +right/Antarctica/Casey +right/Antarctica/Davis +right/Antarctica/DumontDUrville +right/Antarctica/Mawson +right/Antarctica/McMurdo +right/Antarctica/Palmer +right/Antarctica/Rothera +right/Antarctica/South_Pole +right/Antarctica/Syowa +right/Antarctica/Troll +right/Antarctica/Vostok +right/Arctic/Longyearbyen +right/Asia/Aden +right/Asia/Almaty +right/Asia/Amman +right/Asia/Anadyr +right/Asia/Aqtau +right/Asia/Aqtobe +right/Asia/Ashgabat +right/Asia/Ashkhabad +right/Asia/Baghdad +right/Asia/Bahrain +right/Asia/Baku +right/Asia/Bangkok +right/Asia/Beirut +right/Asia/Bishkek +right/Asia/Brunei +right/Asia/Calcutta +right/Asia/Chita +right/Asia/Choibalsan +right/Asia/Chongqing +right/Asia/Chungking +right/Asia/Colombo +right/Asia/Dacca +right/Asia/Damascus +right/Asia/Dhaka +right/Asia/Dili +right/Asia/Dubai +right/Asia/Dushanbe +right/Asia/Gaza +right/Asia/Harbin +right/Asia/Hong_Kong +right/Asia/Hovd +right/Asia/Irkutsk +right/Asia/Istanbul +right/Asia/Jakarta +right/Asia/Jayapura +right/Asia/Jerusalem +right/Asia/Kabul +right/Asia/Kamchatka +right/Asia/Karachi +right/Asia/Kashgar +right/Asia/Katmandu +right/Asia/Krasnoyarsk +right/Asia/Kuala_Lumpur +right/Asia/Kuching +right/Asia/Kuwait +right/Asia/Macao +right/Asia/Macau +right/Asia/Magadan +right/Asia/Makassar +right/Asia/Manila +right/Asia/Muscat +right/Asia/Nicosia +right/Asia/Novosibirsk +right/Asia/Omsk +right/Asia/Oral +right/Asia/Phnom_Penh +right/Asia/Pontianak +right/Asia/Pyongyang +right/Asia/Qatar +right/Asia/Qyzylorda +right/Asia/Rangoon +right/Asia/Riyadh +right/Asia/Saigon +right/Asia/Sakhalin +right/Asia/Samarkand +right/Asia/Seoul +right/Asia/Shanghai +right/Asia/Singapore +right/Asia/Srednekolymsk +right/Asia/Taipei +right/Asia/Tashkent +right/Asia/Tbilisi +right/Asia/Tehran +right/Asia/Tel_Aviv +right/Asia/Thimbu +right/Asia/Thimphu +right/Asia/Tokyo +right/Asia/Ujung_Pandang +right/Asia/Ulaanbaatar +right/Asia/Ulan_Bator +right/Asia/Urumqi +right/Asia/Vientiane +right/Asia/Vladivostok +right/Asia/Yakutsk +right/Asia/Yekaterinburg +right/Asia/Yerevan +right/Atlantic/Azores +right/Atlantic/Bermuda +right/Atlantic/Canary +right/Atlantic/Cape_Verde +right/Atlantic/Faeroe +right/Atlantic/Jan_Mayen +right/Atlantic/Madeira +right/Atlantic/Reykjavik +right/Atlantic/South_Georgia +right/Atlantic/St_Helena +right/Atlantic/Stanley +right/Australia/ACT +right/Australia/Adelaide +right/Australia/Brisbane +right/Australia/Broken_Hill +right/Australia/Canberra +right/Australia/Currie +right/Australia/Darwin +right/Australia/Hobart +right/Australia/LHI +right/Australia/Lindeman +right/Australia/Lord_Howe +right/Australia/Melbourne +right/Australia/NSW +right/Australia/North +right/Australia/Perth +right/Australia/Queensland +right/Australia/South +right/Australia/Sydney +right/Australia/Tasmania +right/Australia/Victoria +right/Australia/West +right/Australia/Yancowinna +right/Brazil/Acre +right/Brazil/DeNoronha +right/Brazil/East +right/Brazil/West +right/CET +right/CST6CDT +right/Canada/Atlantic +right/Canada/Central +right/Canada/East-Saskatchewan +right/Canada/Eastern +right/Canada/Mountain +right/Canada/Newfoundland +right/Canada/Pacific +right/Canada/Saskatchewan +right/Canada/Yukon +right/Chile/Continental +right/Chile/EasterIsland +right/Cuba +right/EET +right/EST +right/EST5EDT +right/Egypt +right/Eire +right/Etc/GMT +right/Etc/GMT+0 +right/Etc/GMT+1 +right/Etc/GMT+10 +right/Etc/GMT+11 +right/Etc/GMT+12 +right/Etc/GMT+2 +right/Etc/GMT+3 +right/Etc/GMT+4 +right/Etc/GMT+5 +right/Etc/GMT+6 +right/Etc/GMT+7 +right/Etc/GMT+8 +right/Etc/GMT+9 +right/Etc/GMT-0 +right/Etc/GMT-1 +right/Etc/GMT-10 +right/Etc/GMT-11 +right/Etc/GMT-12 +right/Etc/GMT-13 +right/Etc/GMT-14 +right/Etc/GMT-2 +right/Etc/GMT-3 +right/Etc/GMT-4 +right/Etc/GMT-5 +right/Etc/GMT-6 +right/Etc/GMT-7 +right/Etc/GMT-8 +right/Etc/GMT-9 +right/Etc/GMT0 +right/Etc/Greenwich +right/Etc/UCT +right/Etc/UTC +right/Etc/Universal +right/Etc/Zulu +right/Europe/Amsterdam +right/Europe/Andorra +right/Europe/Athens +right/Europe/Belfast +right/Europe/Belgrade +right/Europe/Berlin +right/Europe/Bratislava +right/Europe/Brussels +right/Europe/Bucharest +right/Europe/Budapest +right/Europe/Chisinau +right/Europe/Copenhagen +right/Europe/Dublin +right/Europe/Gibraltar +right/Europe/Guernsey +right/Europe/Helsinki +right/Europe/Isle_of_Man +right/Europe/Istanbul +right/Europe/Jersey +right/Europe/Kaliningrad +right/Europe/Kiev +right/Europe/Lisbon +right/Europe/Ljubljana +right/Europe/London +right/Europe/Luxembourg +right/Europe/Madrid +right/Europe/Malta +right/Europe/Mariehamn +right/Europe/Minsk +right/Europe/Monaco +right/Europe/Moscow +right/Europe/Nicosia +right/Europe/Oslo +right/Europe/Paris +right/Europe/Podgorica +right/Europe/Prague +right/Europe/Riga +right/Europe/Rome +right/Europe/Samara +right/Europe/San_Marino +right/Europe/Sarajevo +right/Europe/Simferopol +right/Europe/Skopje +right/Europe/Sofia +right/Europe/Stockholm +right/Europe/Tallinn +right/Europe/Tirane +right/Europe/Tiraspol +right/Europe/Uzhgorod +right/Europe/Vaduz +right/Europe/Vatican +right/Europe/Vienna +right/Europe/Vilnius +right/Europe/Volgograd +right/Europe/Warsaw +right/Europe/Zagreb +right/Europe/Zaporozhye +right/Europe/Zurich +right/Factory +right/GB +right/GB-Eire +right/GMT +right/GMT+0 +right/GMT-0 +right/GMT0 +right/Greenwich +right/HST +right/Hongkong +right/Iceland +right/Indian/Antananarivo +right/Indian/Chagos +right/Indian/Christmas +right/Indian/Cocos +right/Indian/Comoro +right/Indian/Kerguelen +right/Indian/Mahe +right/Indian/Maldives +right/Indian/Mauritius +right/Indian/Mayotte +right/Indian/Reunion +right/Iran +right/Israel +right/Jamaica +right/Japan +right/Kwajalein +right/Libya +right/MET +right/MST +right/MST7MDT +right/Mexico/BajaNorte +right/Mexico/BajaSur +right/Mexico/General +right/NZ +right/NZ-CHAT +right/Navajo +right/PRC +right/PST8PDT +right/Pacific/Apia +right/Pacific/Auckland +right/Pacific/Bougainville +right/Pacific/Chatham +right/Pacific/Easter +right/Pacific/Efate +right/Pacific/Enderbury +right/Pacific/Fakaofo +right/Pacific/Fiji +right/Pacific/Funafuti +right/Pacific/Galapagos +right/Pacific/Gambier +right/Pacific/Guadalcanal +right/Pacific/Guam +right/Pacific/Honolulu +right/Pacific/Johnston +right/Pacific/Kiritimati +right/Pacific/Kosrae +right/Pacific/Kwajalein +right/Pacific/Majuro +right/Pacific/Marquesas +right/Pacific/Midway +right/Pacific/Nauru +right/Pacific/Niue +right/Pacific/Norfolk +right/Pacific/Noumea +right/Pacific/Pago_Pago +right/Pacific/Palau +right/Pacific/Pitcairn +right/Pacific/Ponape +right/Pacific/Port_Moresby +right/Pacific/Rarotonga +right/Pacific/Saipan +right/Pacific/Samoa +right/Pacific/Tahiti +right/Pacific/Tarawa +right/Pacific/Tongatapu +right/Pacific/Truk +right/Pacific/Wake +right/Pacific/Wallis +right/Pacific/Yap +right/Poland +right/Portugal +right/ROC +right/ROK +right/Singapore +right/Turkey +right/UCT +right/US/Alaska +right/US/Aleutian +right/US/Arizona +right/US/Central +right/US/East-Indiana +right/US/Eastern +right/US/Hawaii +right/US/Indiana-Starke +right/US/Michigan +right/US/Mountain +right/US/Pacific +right/US/Pacific-New +right/US/Samoa +right/UTC +right/Universal +right/W-SU +right/WET +right/Zulu diff --git a/patches/source/glibc/timezone-scripts/parts/04 b/patches/source/glibc/timezone-scripts/parts/04 new file mode 100644 index 000000000..ec36338b1 --- /dev/null +++ b/patches/source/glibc/timezone-scripts/parts/04 @@ -0,0 +1,32 @@ + +Type it at the prompt below exactly as it appears above. (NOTE: If you don't +see your timezone, use "timeconfig" again after booting for the verbose list) + +EOF + echo -n "Timezone? " + read TIMEZONE; + echo + + if [ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \ + -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then + echo "Creating link from $TIMEZONE to localtime in /etc..." + echo + setzone $TIMEZONE + exit + else + cat << EOF + +Timezone $TIMEZONE could not be found. You may try again if you wish. +Make sure you type the name exactly as it appears - this configuration script +is case sensitive. + +Press [enter] to continue. + +EOF + read JUNK; + fi + done +fi + diff --git a/patches/source/glibc/timezone-scripts/parts/README b/patches/source/glibc/timezone-scripts/parts/README new file mode 100644 index 000000000..80d5cf5b4 --- /dev/null +++ b/patches/source/glibc/timezone-scripts/parts/README @@ -0,0 +1,2 @@ +Files 01 and 03 are samples, showing the format, and are +not necessarily up to date... diff --git a/patches/source/glibc/timezone-scripts/setup.timeconfig b/patches/source/glibc/timezone-scripts/setup.timeconfig new file mode 100644 index 000000000..81ff7055f --- /dev/null +++ b/patches/source/glibc/timezone-scripts/setup.timeconfig @@ -0,0 +1,3 @@ +#!/bin/sh +#BLURB="Select your timezone" +sh usr/sbin/timeconfig $* diff --git a/patches/source/glibc/timezone-scripts/timeconfig b/patches/source/glibc/timezone-scripts/timeconfig new file mode 100644 index 000000000..9f939b360 --- /dev/null +++ b/patches/source/glibc/timezone-scripts/timeconfig @@ -0,0 +1,3695 @@ +#!/bin/sh +# +# timeconfig Slackware Linux timezone configuration utility. +# +# Author: Patrick Volkerding +# 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 + ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from + rm -f localtime + cd .. + chroot . cp etc/localtime-copied-from etc/localtime + fi +} + +# writeconf( $CLOCK_SET_TO ) +# +# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock +# value is stored. +writeconf() +{ + echo "# /etc/hardwareclock" > $HWCLOCK_CONF + echo "#" >> $HWCLOCK_CONF + echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF + echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF + echo >> $HWCLOCK_CONF + echo $1 >> $HWCLOCK_CONF +} + +# ask the user if the hardware clock is set for UTC/GMT +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \ +to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \ +hardware clock is set to the current local time (this is how most PCs are set \ +up), then say NO here. If you are not sure what this is, you should answer NO \ +here." 13 60 2 \ + "NO" "Hardware clock is set to local time" \ + "YES" "Hardware clock is set to UTC" \ + 2> $TMP/utc + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/utc + exit + fi + if [ "`cat $TMP/utc`" = "YES" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else # must be NO + writeconf "localtime" + fi + rm -f $TMP/utc +else + ### + ### use text prompts + ### + echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?" + echo "If it is, select 'y' here. If the hardware clock is set to the" + echo "current local time (this is how most PCs are set up), then say 'n'" + echo "here. If you are not sure what this is, you should answer 'n' here." + echo + echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? " + read HEJAZ + + if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else + # default to localtime + writeconf "localtime" + fi +fi + +# Now set the correct timezone link: +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \ +"US/Alaska" " " \ +"US/Aleutian" " " \ +"US/Arizona" " " \ +"US/Central" " " \ +"US/East-Indiana" " " \ +"US/Eastern" " " \ +"US/Hawaii" " " \ +"US/Indiana-Starke" " " \ +"US/Michigan" " " \ +"US/Mountain" " " \ +"US/Pacific" " " \ +"US/Pacific-New" " " \ +"US/Samoa" " " \ +"Africa/Abidjan" " " \ +"Africa/Accra" " " \ +"Africa/Addis_Ababa" " " \ +"Africa/Algiers" " " \ +"Africa/Asmara" " " \ +"Africa/Asmera" " " \ +"Africa/Bamako" " " \ +"Africa/Bangui" " " \ +"Africa/Banjul" " " \ +"Africa/Bissau" " " \ +"Africa/Blantyre" " " \ +"Africa/Brazzaville" " " \ +"Africa/Bujumbura" " " \ +"Africa/Cairo" " " \ +"Africa/Casablanca" " " \ +"Africa/Ceuta" " " \ +"Africa/Conakry" " " \ +"Africa/Dakar" " " \ +"Africa/Dar_es_Salaam" " " \ +"Africa/Djibouti" " " \ +"Africa/Douala" " " \ +"Africa/El_Aaiun" " " \ +"Africa/Freetown" " " \ +"Africa/Gaborone" " " \ +"Africa/Harare" " " \ +"Africa/Johannesburg" " " \ +"Africa/Juba" " " \ +"Africa/Kampala" " " \ +"Africa/Khartoum" " " \ +"Africa/Kigali" " " \ +"Africa/Kinshasa" " " \ +"Africa/Lagos" " " \ +"Africa/Libreville" " " \ +"Africa/Lome" " " \ +"Africa/Luanda" " " \ +"Africa/Lubumbashi" " " \ +"Africa/Lusaka" " " \ +"Africa/Malabo" " " \ +"Africa/Maputo" " " \ +"Africa/Maseru" " " \ +"Africa/Mbabane" " " \ +"Africa/Mogadishu" " " \ +"Africa/Monrovia" " " \ +"Africa/Nairobi" " " \ +"Africa/Ndjamena" " " \ +"Africa/Niamey" " " \ +"Africa/Nouakchott" " " \ +"Africa/Ouagadougou" " " \ +"Africa/Porto-Novo" " " \ +"Africa/Sao_Tome" " " \ +"Africa/Timbuktu" " " \ +"Africa/Tripoli" " " \ +"Africa/Tunis" " " \ +"Africa/Windhoek" " " \ +"America/Adak" " " \ +"America/Anchorage" " " \ +"America/Anguilla" " " \ +"America/Antigua" " " \ +"America/Araguaina" " " \ +"America/Argentina/Buenos_Aires" " " \ +"America/Argentina/Catamarca" " " \ +"America/Argentina/ComodRivadavia" " " \ +"America/Argentina/Cordoba" " " \ +"America/Argentina/Jujuy" " " \ +"America/Argentina/La_Rioja" " " \ +"America/Argentina/Mendoza" " " \ +"America/Argentina/Rio_Gallegos" " " \ +"America/Argentina/Salta" " " \ +"America/Argentina/San_Juan" " " \ +"America/Argentina/San_Luis" " " \ +"America/Argentina/Tucuman" " " \ +"America/Argentina/Ushuaia" " " \ +"America/Aruba" " " \ +"America/Asuncion" " " \ +"America/Atikokan" " " \ +"America/Atka" " " \ +"America/Bahia" " " \ +"America/Bahia_Banderas" " " \ +"America/Barbados" " " \ +"America/Belem" " " \ +"America/Belize" " " \ +"America/Blanc-Sablon" " " \ +"America/Boa_Vista" " " \ +"America/Bogota" " " \ +"America/Boise" " " \ +"America/Buenos_Aires" " " \ +"America/Cambridge_Bay" " " \ +"America/Campo_Grande" " " \ +"America/Cancun" " " \ +"America/Caracas" " " \ +"America/Catamarca" " " \ +"America/Cayenne" " " \ +"America/Cayman" " " \ +"America/Chicago" " " \ +"America/Chihuahua" " " \ +"America/Coral_Harbour" " " \ +"America/Cordoba" " " \ +"America/Costa_Rica" " " \ +"America/Creston" " " \ +"America/Cuiaba" " " \ +"America/Curacao" " " \ +"America/Danmarkshavn" " " \ +"America/Dawson" " " \ +"America/Dawson_Creek" " " \ +"America/Denver" " " \ +"America/Detroit" " " \ +"America/Dominica" " " \ +"America/Edmonton" " " \ +"America/Eirunepe" " " \ +"America/El_Salvador" " " \ +"America/Ensenada" " " \ +"America/Fort_Wayne" " " \ +"America/Fortaleza" " " \ +"America/Glace_Bay" " " \ +"America/Godthab" " " \ +"America/Goose_Bay" " " \ +"America/Grand_Turk" " " \ +"America/Grenada" " " \ +"America/Guadeloupe" " " \ +"America/Guatemala" " " \ +"America/Guayaquil" " " \ +"America/Guyana" " " \ +"America/Halifax" " " \ +"America/Havana" " " \ +"America/Hermosillo" " " \ +"America/Indiana/Indianapolis" " " \ +"America/Indiana/Knox" " " \ +"America/Indiana/Marengo" " " \ +"America/Indiana/Petersburg" " " \ +"America/Indiana/Tell_City" " " \ +"America/Indiana/Vevay" " " \ +"America/Indiana/Vincennes" " " \ +"America/Indiana/Winamac" " " \ +"America/Indianapolis" " " \ +"America/Inuvik" " " \ +"America/Iqaluit" " " \ +"America/Jamaica" " " \ +"America/Jujuy" " " \ +"America/Juneau" " " \ +"America/Kentucky/Louisville" " " \ +"America/Kentucky/Monticello" " " \ +"America/Knox_IN" " " \ +"America/Kralendijk" " " \ +"America/La_Paz" " " \ +"America/Lima" " " \ +"America/Los_Angeles" " " \ +"America/Louisville" " " \ +"America/Lower_Princes" " " \ +"America/Maceio" " " \ +"America/Managua" " " \ +"America/Manaus" " " \ +"America/Marigot" " " \ +"America/Martinique" " " \ +"America/Matamoros" " " \ +"America/Mazatlan" " " \ +"America/Mendoza" " " \ +"America/Menominee" " " \ +"America/Merida" " " \ +"America/Metlakatla" " " \ +"America/Mexico_City" " " \ +"America/Miquelon" " " \ +"America/Moncton" " " \ +"America/Monterrey" " " \ +"America/Montevideo" " " \ +"America/Montreal" " " \ +"America/Montserrat" " " \ +"America/Nassau" " " \ +"America/New_York" " " \ +"America/Nipigon" " " \ +"America/Nome" " " \ +"America/Noronha" " " \ +"America/North_Dakota/Beulah" " " \ +"America/North_Dakota/Center" " " \ +"America/North_Dakota/New_Salem" " " \ +"America/Ojinaga" " " \ +"America/Panama" " " \ +"America/Pangnirtung" " " \ +"America/Paramaribo" " " \ +"America/Phoenix" " " \ +"America/Port-au-Prince" " " \ +"America/Port_of_Spain" " " \ +"America/Porto_Acre" " " \ +"America/Porto_Velho" " " \ +"America/Puerto_Rico" " " \ +"America/Rainy_River" " " \ +"America/Rankin_Inlet" " " \ +"America/Recife" " " \ +"America/Regina" " " \ +"America/Resolute" " " \ +"America/Rio_Branco" " " \ +"America/Rosario" " " \ +"America/Santa_Isabel" " " \ +"America/Santarem" " " \ +"America/Santiago" " " \ +"America/Santo_Domingo" " " \ +"America/Sao_Paulo" " " \ +"America/Scoresbysund" " " \ +"America/Shiprock" " " \ +"America/Sitka" " " \ +"America/St_Barthelemy" " " \ +"America/St_Johns" " " \ +"America/St_Kitts" " " \ +"America/St_Lucia" " " \ +"America/St_Thomas" " " \ +"America/St_Vincent" " " \ +"America/Swift_Current" " " \ +"America/Tegucigalpa" " " \ +"America/Thule" " " \ +"America/Thunder_Bay" " " \ +"America/Tijuana" " " \ +"America/Toronto" " " \ +"America/Tortola" " " \ +"America/Vancouver" " " \ +"America/Virgin" " " \ +"America/Whitehorse" " " \ +"America/Winnipeg" " " \ +"America/Yakutat" " " \ +"America/Yellowknife" " " \ +"Antarctica/Casey" " " \ +"Antarctica/Davis" " " \ +"Antarctica/DumontDUrville" " " \ +"Antarctica/Macquarie" " " \ +"Antarctica/Mawson" " " \ +"Antarctica/McMurdo" " " \ +"Antarctica/Palmer" " " \ +"Antarctica/Rothera" " " \ +"Antarctica/South_Pole" " " \ +"Antarctica/Syowa" " " \ +"Antarctica/Troll" " " \ +"Antarctica/Vostok" " " \ +"Arctic/Longyearbyen" " " \ +"Asia/Aden" " " \ +"Asia/Almaty" " " \ +"Asia/Amman" " " \ +"Asia/Anadyr" " " \ +"Asia/Aqtau" " " \ +"Asia/Aqtobe" " " \ +"Asia/Ashgabat" " " \ +"Asia/Ashkhabad" " " \ +"Asia/Baghdad" " " \ +"Asia/Bahrain" " " \ +"Asia/Baku" " " \ +"Asia/Bangkok" " " \ +"Asia/Beirut" " " \ +"Asia/Bishkek" " " \ +"Asia/Brunei" " " \ +"Asia/Calcutta" " " \ +"Asia/Chita" " " \ +"Asia/Choibalsan" " " \ +"Asia/Chongqing" " " \ +"Asia/Chungking" " " \ +"Asia/Colombo" " " \ +"Asia/Dacca" " " \ +"Asia/Damascus" " " \ +"Asia/Dhaka" " " \ +"Asia/Dili" " " \ +"Asia/Dubai" " " \ +"Asia/Dushanbe" " " \ +"Asia/Gaza" " " \ +"Asia/Harbin" " " \ +"Asia/Hebron" " " \ +"Asia/Ho_Chi_Minh" " " \ +"Asia/Hong_Kong" " " \ +"Asia/Hovd" " " \ +"Asia/Irkutsk" " " \ +"Asia/Istanbul" " " \ +"Asia/Jakarta" " " \ +"Asia/Jayapura" " " \ +"Asia/Jerusalem" " " \ +"Asia/Kabul" " " \ +"Asia/Kamchatka" " " \ +"Asia/Karachi" " " \ +"Asia/Kashgar" " " \ +"Asia/Kathmandu" " " \ +"Asia/Katmandu" " " \ +"Asia/Khandyga" " " \ +"Asia/Kolkata" " " \ +"Asia/Krasnoyarsk" " " \ +"Asia/Kuala_Lumpur" " " \ +"Asia/Kuching" " " \ +"Asia/Kuwait" " " \ +"Asia/Macao" " " \ +"Asia/Macau" " " \ +"Asia/Magadan" " " \ +"Asia/Makassar" " " \ +"Asia/Manila" " " \ +"Asia/Muscat" " " \ +"Asia/Nicosia" " " \ +"Asia/Novokuznetsk" " " \ +"Asia/Novosibirsk" " " \ +"Asia/Omsk" " " \ +"Asia/Oral" " " \ +"Asia/Phnom_Penh" " " \ +"Asia/Pontianak" " " \ +"Asia/Pyongyang" " " \ +"Asia/Qatar" " " \ +"Asia/Qyzylorda" " " \ +"Asia/Rangoon" " " \ +"Asia/Riyadh" " " \ +"Asia/Saigon" " " \ +"Asia/Sakhalin" " " \ +"Asia/Samarkand" " " \ +"Asia/Seoul" " " \ +"Asia/Shanghai" " " \ +"Asia/Singapore" " " \ +"Asia/Srednekolymsk" " " \ +"Asia/Taipei" " " \ +"Asia/Tashkent" " " \ +"Asia/Tbilisi" " " \ +"Asia/Tehran" " " \ +"Asia/Tel_Aviv" " " \ +"Asia/Thimbu" " " \ +"Asia/Thimphu" " " \ +"Asia/Tokyo" " " \ +"Asia/Ujung_Pandang" " " \ +"Asia/Ulaanbaatar" " " \ +"Asia/Ulan_Bator" " " \ +"Asia/Urumqi" " " \ +"Asia/Ust-Nera" " " \ +"Asia/Vientiane" " " \ +"Asia/Vladivostok" " " \ +"Asia/Yakutsk" " " \ +"Asia/Yekaterinburg" " " \ +"Asia/Yerevan" " " \ +"Atlantic/Azores" " " \ +"Atlantic/Bermuda" " " \ +"Atlantic/Canary" " " \ +"Atlantic/Cape_Verde" " " \ +"Atlantic/Faeroe" " " \ +"Atlantic/Faroe" " " \ +"Atlantic/Jan_Mayen" " " \ +"Atlantic/Madeira" " " \ +"Atlantic/Reykjavik" " " \ +"Atlantic/South_Georgia" " " \ +"Atlantic/St_Helena" " " \ +"Atlantic/Stanley" " " \ +"Australia/ACT" " " \ +"Australia/Adelaide" " " \ +"Australia/Brisbane" " " \ +"Australia/Broken_Hill" " " \ +"Australia/Canberra" " " \ +"Australia/Currie" " " \ +"Australia/Darwin" " " \ +"Australia/Eucla" " " \ +"Australia/Hobart" " " \ +"Australia/LHI" " " \ +"Australia/Lindeman" " " \ +"Australia/Lord_Howe" " " \ +"Australia/Melbourne" " " \ +"Australia/NSW" " " \ +"Australia/North" " " \ +"Australia/Perth" " " \ +"Australia/Queensland" " " \ +"Australia/South" " " \ +"Australia/Sydney" " " \ +"Australia/Tasmania" " " \ +"Australia/Victoria" " " \ +"Australia/West" " " \ +"Australia/Yancowinna" " " \ +"Brazil/Acre" " " \ +"Brazil/DeNoronha" " " \ +"Brazil/East" " " \ +"Brazil/West" " " \ +"CET" " " \ +"CST6CDT" " " \ +"Canada/Atlantic" " " \ +"Canada/Central" " " \ +"Canada/East-Saskatchewan" " " \ +"Canada/Eastern" " " \ +"Canada/Mountain" " " \ +"Canada/Newfoundland" " " \ +"Canada/Pacific" " " \ +"Canada/Saskatchewan" " " \ +"Canada/Yukon" " " \ +"Chile/Continental" " " \ +"Chile/EasterIsland" " " \ +"Cuba" " " \ +"EET" " " \ +"EST" " " \ +"EST5EDT" " " \ +"Egypt" " " \ +"Eire" " " \ +"Etc/GMT" " " \ +"Etc/GMT+0" " " \ +"Etc/GMT+1" " " \ +"Etc/GMT+10" " " \ +"Etc/GMT+11" " " \ +"Etc/GMT+12" " " \ +"Etc/GMT+2" " " \ +"Etc/GMT+3" " " \ +"Etc/GMT+4" " " \ +"Etc/GMT+5" " " \ +"Etc/GMT+6" " " \ +"Etc/GMT+7" " " \ +"Etc/GMT+8" " " \ +"Etc/GMT+9" " " \ +"Etc/GMT-0" " " \ +"Etc/GMT-1" " " \ +"Etc/GMT-10" " " \ +"Etc/GMT-11" " " \ +"Etc/GMT-12" " " \ +"Etc/GMT-13" " " \ +"Etc/GMT-14" " " \ +"Etc/GMT-2" " " \ +"Etc/GMT-3" " " \ +"Etc/GMT-4" " " \ +"Etc/GMT-5" " " \ +"Etc/GMT-6" " " \ +"Etc/GMT-7" " " \ +"Etc/GMT-8" " " \ +"Etc/GMT-9" " " \ +"Etc/GMT0" " " \ +"Etc/Greenwich" " " \ +"Etc/UCT" " " \ +"Etc/UTC" " " \ +"Etc/Universal" " " \ +"Etc/Zulu" " " \ +"Europe/Amsterdam" " " \ +"Europe/Andorra" " " \ +"Europe/Athens" " " \ +"Europe/Belfast" " " \ +"Europe/Belgrade" " " \ +"Europe/Berlin" " " \ +"Europe/Bratislava" " " \ +"Europe/Brussels" " " \ +"Europe/Bucharest" " " \ +"Europe/Budapest" " " \ +"Europe/Busingen" " " \ +"Europe/Chisinau" " " \ +"Europe/Copenhagen" " " \ +"Europe/Dublin" " " \ +"Europe/Gibraltar" " " \ +"Europe/Guernsey" " " \ +"Europe/Helsinki" " " \ +"Europe/Isle_of_Man" " " \ +"Europe/Istanbul" " " \ +"Europe/Jersey" " " \ +"Europe/Kaliningrad" " " \ +"Europe/Kiev" " " \ +"Europe/Lisbon" " " \ +"Europe/Ljubljana" " " \ +"Europe/London" " " \ +"Europe/Luxembourg" " " \ +"Europe/Madrid" " " \ +"Europe/Malta" " " \ +"Europe/Mariehamn" " " \ +"Europe/Minsk" " " \ +"Europe/Monaco" " " \ +"Europe/Moscow" " " \ +"Europe/Nicosia" " " \ +"Europe/Oslo" " " \ +"Europe/Paris" " " \ +"Europe/Podgorica" " " \ +"Europe/Prague" " " \ +"Europe/Riga" " " \ +"Europe/Rome" " " \ +"Europe/Samara" " " \ +"Europe/San_Marino" " " \ +"Europe/Sarajevo" " " \ +"Europe/Simferopol" " " \ +"Europe/Skopje" " " \ +"Europe/Sofia" " " \ +"Europe/Stockholm" " " \ +"Europe/Tallinn" " " \ +"Europe/Tirane" " " \ +"Europe/Tiraspol" " " \ +"Europe/Uzhgorod" " " \ +"Europe/Vaduz" " " \ +"Europe/Vatican" " " \ +"Europe/Vienna" " " \ +"Europe/Vilnius" " " \ +"Europe/Volgograd" " " \ +"Europe/Warsaw" " " \ +"Europe/Zagreb" " " \ +"Europe/Zaporozhye" " " \ +"Europe/Zurich" " " \ +"Factory" " " \ +"GB" " " \ +"GB-Eire" " " \ +"GMT" " " \ +"GMT+0" " " \ +"GMT-0" " " \ +"GMT0" " " \ +"Greenwich" " " \ +"HST" " " \ +"Hongkong" " " \ +"Iceland" " " \ +"Indian/Antananarivo" " " \ +"Indian/Chagos" " " \ +"Indian/Christmas" " " \ +"Indian/Cocos" " " \ +"Indian/Comoro" " " \ +"Indian/Kerguelen" " " \ +"Indian/Mahe" " " \ +"Indian/Maldives" " " \ +"Indian/Mauritius" " " \ +"Indian/Mayotte" " " \ +"Indian/Reunion" " " \ +"Iran" " " \ +"Israel" " " \ +"Jamaica" " " \ +"Japan" " " \ +"Kwajalein" " " \ +"Libya" " " \ +"MET" " " \ +"MST" " " \ +"MST7MDT" " " \ +"Mexico/BajaNorte" " " \ +"Mexico/BajaSur" " " \ +"Mexico/General" " " \ +"NZ" " " \ +"NZ-CHAT" " " \ +"Navajo" " " \ +"PRC" " " \ +"PST8PDT" " " \ +"Pacific/Apia" " " \ +"Pacific/Auckland" " " \ +"Pacific/Bougainville" " " \ +"Pacific/Chatham" " " \ +"Pacific/Chuuk" " " \ +"Pacific/Easter" " " \ +"Pacific/Efate" " " \ +"Pacific/Enderbury" " " \ +"Pacific/Fakaofo" " " \ +"Pacific/Fiji" " " \ +"Pacific/Funafuti" " " \ +"Pacific/Galapagos" " " \ +"Pacific/Gambier" " " \ +"Pacific/Guadalcanal" " " \ +"Pacific/Guam" " " \ +"Pacific/Honolulu" " " \ +"Pacific/Johnston" " " \ +"Pacific/Kiritimati" " " \ +"Pacific/Kosrae" " " \ +"Pacific/Kwajalein" " " \ +"Pacific/Majuro" " " \ +"Pacific/Marquesas" " " \ +"Pacific/Midway" " " \ +"Pacific/Nauru" " " \ +"Pacific/Niue" " " \ +"Pacific/Norfolk" " " \ +"Pacific/Noumea" " " \ +"Pacific/Pago_Pago" " " \ +"Pacific/Palau" " " \ +"Pacific/Pitcairn" " " \ +"Pacific/Pohnpei" " " \ +"Pacific/Ponape" " " \ +"Pacific/Port_Moresby" " " \ +"Pacific/Rarotonga" " " \ +"Pacific/Saipan" " " \ +"Pacific/Samoa" " " \ +"Pacific/Tahiti" " " \ +"Pacific/Tarawa" " " \ +"Pacific/Tongatapu" " " \ +"Pacific/Truk" " " \ +"Pacific/Wake" " " \ +"Pacific/Wallis" " " \ +"Pacific/Yap" " " \ +"Poland" " " \ +"Portugal" " " \ +"ROC" " " \ +"ROK" " " \ +"Singapore" " " \ +"Turkey" " " \ +"UCT" " " \ +"UTC" " " \ +"Universal" " " \ +"W-SU" " " \ +"WET" " " \ +"Zulu" " " \ +"posix/Africa/Abidjan" " " \ +"posix/Africa/Accra" " " \ +"posix/Africa/Addis_Ababa" " " \ +"posix/Africa/Algiers" " " \ +"posix/Africa/Asmara" " " \ +"posix/Africa/Asmera" " " \ +"posix/Africa/Bamako" " " \ +"posix/Africa/Bangui" " " \ +"posix/Africa/Banjul" " " \ +"posix/Africa/Bissau" " " \ +"posix/Africa/Blantyre" " " \ +"posix/Africa/Brazzaville" " " \ +"posix/Africa/Bujumbura" " " \ +"posix/Africa/Cairo" " " \ +"posix/Africa/Casablanca" " " \ +"posix/Africa/Ceuta" " " \ +"posix/Africa/Conakry" " " \ +"posix/Africa/Dakar" " " \ +"posix/Africa/Dar_es_Salaam" " " \ +"posix/Africa/Djibouti" " " \ +"posix/Africa/Douala" " " \ +"posix/Africa/El_Aaiun" " " \ +"posix/Africa/Freetown" " " \ +"posix/Africa/Gaborone" " " \ +"posix/Africa/Harare" " " \ +"posix/Africa/Johannesburg" " " \ +"posix/Africa/Juba" " " \ +"posix/Africa/Kampala" " " \ +"posix/Africa/Khartoum" " " \ +"posix/Africa/Kigali" " " \ +"posix/Africa/Kinshasa" " " \ +"posix/Africa/Lagos" " " \ +"posix/Africa/Libreville" " " \ +"posix/Africa/Lome" " " \ +"posix/Africa/Luanda" " " \ +"posix/Africa/Lubumbashi" " " \ +"posix/Africa/Lusaka" " " \ +"posix/Africa/Malabo" " " \ +"posix/Africa/Maputo" " " \ +"posix/Africa/Maseru" " " \ +"posix/Africa/Mbabane" " " \ +"posix/Africa/Mogadishu" " " \ +"posix/Africa/Monrovia" " " \ +"posix/Africa/Nairobi" " " \ +"posix/Africa/Ndjamena" " " \ +"posix/Africa/Niamey" " " \ +"posix/Africa/Nouakchott" " " \ +"posix/Africa/Ouagadougou" " " \ +"posix/Africa/Porto-Novo" " " \ +"posix/Africa/Sao_Tome" " " \ +"posix/Africa/Timbuktu" " " \ +"posix/Africa/Tripoli" " " \ +"posix/Africa/Tunis" " " \ +"posix/Africa/Windhoek" " " \ +"posix/America/Adak" " " \ +"posix/America/Anchorage" " " \ +"posix/America/Anguilla" " " \ +"posix/America/Antigua" " " \ +"posix/America/Araguaina" " " \ +"posix/America/Argentina/Buenos_Aires" " " \ +"posix/America/Argentina/Catamarca" " " \ +"posix/America/Argentina/ComodRivadavia" " " \ +"posix/America/Argentina/Cordoba" " " \ +"posix/America/Argentina/Jujuy" " " \ +"posix/America/Argentina/La_Rioja" " " \ +"posix/America/Argentina/Mendoza" " " \ +"posix/America/Argentina/Rio_Gallegos" " " \ +"posix/America/Argentina/Salta" " " \ +"posix/America/Argentina/San_Juan" " " \ +"posix/America/Argentina/San_Luis" " " \ +"posix/America/Argentina/Tucuman" " " \ +"posix/America/Argentina/Ushuaia" " " \ +"posix/America/Aruba" " " \ +"posix/America/Asuncion" " " \ +"posix/America/Atikokan" " " \ +"posix/America/Atka" " " \ +"posix/America/Bahia" " " \ +"posix/America/Bahia_Banderas" " " \ +"posix/America/Barbados" " " \ +"posix/America/Belem" " " \ +"posix/America/Belize" " " \ +"posix/America/Blanc-Sablon" " " \ +"posix/America/Boa_Vista" " " \ +"posix/America/Bogota" " " \ +"posix/America/Boise" " " \ +"posix/America/Buenos_Aires" " " \ +"posix/America/Cambridge_Bay" " " \ +"posix/America/Campo_Grande" " " \ +"posix/America/Cancun" " " \ +"posix/America/Caracas" " " \ +"posix/America/Catamarca" " " \ +"posix/America/Cayenne" " " \ +"posix/America/Cayman" " " \ +"posix/America/Chicago" " " \ +"posix/America/Chihuahua" " " \ +"posix/America/Coral_Harbour" " " \ +"posix/America/Cordoba" " " \ +"posix/America/Costa_Rica" " " \ +"posix/America/Creston" " " \ +"posix/America/Cuiaba" " " \ +"posix/America/Curacao" " " \ +"posix/America/Danmarkshavn" " " \ +"posix/America/Dawson" " " \ +"posix/America/Dawson_Creek" " " \ +"posix/America/Denver" " " \ +"posix/America/Detroit" " " \ +"posix/America/Dominica" " " \ +"posix/America/Edmonton" " " \ +"posix/America/Eirunepe" " " \ +"posix/America/El_Salvador" " " \ +"posix/America/Ensenada" " " \ +"posix/America/Fort_Wayne" " " \ +"posix/America/Fortaleza" " " \ +"posix/America/Glace_Bay" " " \ +"posix/America/Godthab" " " \ +"posix/America/Goose_Bay" " " \ +"posix/America/Grand_Turk" " " \ +"posix/America/Grenada" " " \ +"posix/America/Guadeloupe" " " \ +"posix/America/Guatemala" " " \ +"posix/America/Guayaquil" " " \ +"posix/America/Guyana" " " \ +"posix/America/Halifax" " " \ +"posix/America/Havana" " " \ +"posix/America/Hermosillo" " " \ +"posix/America/Indiana/Indianapolis" " " \ +"posix/America/Indiana/Knox" " " \ +"posix/America/Indiana/Marengo" " " \ +"posix/America/Indiana/Petersburg" " " \ +"posix/America/Indiana/Tell_City" " " \ +"posix/America/Indiana/Vevay" " " \ +"posix/America/Indiana/Vincennes" " " \ +"posix/America/Indiana/Winamac" " " \ +"posix/America/Indianapolis" " " \ +"posix/America/Inuvik" " " \ +"posix/America/Iqaluit" " " \ +"posix/America/Jamaica" " " \ +"posix/America/Jujuy" " " \ +"posix/America/Juneau" " " \ +"posix/America/Kentucky/Louisville" " " \ +"posix/America/Kentucky/Monticello" " " \ +"posix/America/Knox_IN" " " \ +"posix/America/Kralendijk" " " \ +"posix/America/La_Paz" " " \ +"posix/America/Lima" " " \ +"posix/America/Los_Angeles" " " \ +"posix/America/Louisville" " " \ +"posix/America/Lower_Princes" " " \ +"posix/America/Maceio" " " \ +"posix/America/Managua" " " \ +"posix/America/Manaus" " " \ +"posix/America/Marigot" " " \ +"posix/America/Martinique" " " \ +"posix/America/Matamoros" " " \ +"posix/America/Mazatlan" " " \ +"posix/America/Mendoza" " " \ +"posix/America/Menominee" " " \ +"posix/America/Merida" " " \ +"posix/America/Metlakatla" " " \ +"posix/America/Mexico_City" " " \ +"posix/America/Miquelon" " " \ +"posix/America/Moncton" " " \ +"posix/America/Monterrey" " " \ +"posix/America/Montevideo" " " \ +"posix/America/Montreal" " " \ +"posix/America/Montserrat" " " \ +"posix/America/Nassau" " " \ +"posix/America/New_York" " " \ +"posix/America/Nipigon" " " \ +"posix/America/Nome" " " \ +"posix/America/Noronha" " " \ +"posix/America/North_Dakota/Beulah" " " \ +"posix/America/North_Dakota/Center" " " \ +"posix/America/North_Dakota/New_Salem" " " \ +"posix/America/Ojinaga" " " \ +"posix/America/Panama" " " \ +"posix/America/Pangnirtung" " " \ +"posix/America/Paramaribo" " " \ +"posix/America/Phoenix" " " \ +"posix/America/Port-au-Prince" " " \ +"posix/America/Port_of_Spain" " " \ +"posix/America/Porto_Acre" " " \ +"posix/America/Porto_Velho" " " \ +"posix/America/Puerto_Rico" " " \ +"posix/America/Rainy_River" " " \ +"posix/America/Rankin_Inlet" " " \ +"posix/America/Recife" " " \ +"posix/America/Regina" " " \ +"posix/America/Resolute" " " \ +"posix/America/Rio_Branco" " " \ +"posix/America/Rosario" " " \ +"posix/America/Santa_Isabel" " " \ +"posix/America/Santarem" " " \ +"posix/America/Santiago" " " \ +"posix/America/Santo_Domingo" " " \ +"posix/America/Sao_Paulo" " " \ +"posix/America/Scoresbysund" " " \ +"posix/America/Shiprock" " " \ +"posix/America/Sitka" " " \ +"posix/America/St_Barthelemy" " " \ +"posix/America/St_Johns" " " \ +"posix/America/St_Kitts" " " \ +"posix/America/St_Lucia" " " \ +"posix/America/St_Thomas" " " \ +"posix/America/St_Vincent" " " \ +"posix/America/Swift_Current" " " \ +"posix/America/Tegucigalpa" " " \ +"posix/America/Thule" " " \ +"posix/America/Thunder_Bay" " " \ +"posix/America/Tijuana" " " \ +"posix/America/Toronto" " " \ +"posix/America/Tortola" " " \ +"posix/America/Vancouver" " " \ +"posix/America/Virgin" " " \ +"posix/America/Whitehorse" " " \ +"posix/America/Winnipeg" " " \ +"posix/America/Yakutat" " " \ +"posix/America/Yellowknife" " " \ +"posix/Antarctica/Casey" " " \ +"posix/Antarctica/Davis" " " \ +"posix/Antarctica/DumontDUrville" " " \ +"posix/Antarctica/Macquarie" " " \ +"posix/Antarctica/Mawson" " " \ +"posix/Antarctica/McMurdo" " " \ +"posix/Antarctica/Palmer" " " \ +"posix/Antarctica/Rothera" " " \ +"posix/Antarctica/South_Pole" " " \ +"posix/Antarctica/Syowa" " " \ +"posix/Antarctica/Troll" " " \ +"posix/Antarctica/Vostok" " " \ +"posix/Arctic/Longyearbyen" " " \ +"posix/Asia/Aden" " " \ +"posix/Asia/Almaty" " " \ +"posix/Asia/Amman" " " \ +"posix/Asia/Anadyr" " " \ +"posix/Asia/Aqtau" " " \ +"posix/Asia/Aqtobe" " " \ +"posix/Asia/Ashgabat" " " \ +"posix/Asia/Ashkhabad" " " \ +"posix/Asia/Baghdad" " " \ +"posix/Asia/Bahrain" " " \ +"posix/Asia/Baku" " " \ +"posix/Asia/Bangkok" " " \ +"posix/Asia/Beirut" " " \ +"posix/Asia/Bishkek" " " \ +"posix/Asia/Brunei" " " \ +"posix/Asia/Calcutta" " " \ +"posix/Asia/Chita" " " \ +"posix/Asia/Choibalsan" " " \ +"posix/Asia/Chongqing" " " \ +"posix/Asia/Chungking" " " \ +"posix/Asia/Colombo" " " \ +"posix/Asia/Dacca" " " \ +"posix/Asia/Damascus" " " \ +"posix/Asia/Dhaka" " " \ +"posix/Asia/Dili" " " \ +"posix/Asia/Dubai" " " \ +"posix/Asia/Dushanbe" " " \ +"posix/Asia/Gaza" " " \ +"posix/Asia/Harbin" " " \ +"posix/Asia/Hebron" " " \ +"posix/Asia/Ho_Chi_Minh" " " \ +"posix/Asia/Hong_Kong" " " \ +"posix/Asia/Hovd" " " \ +"posix/Asia/Irkutsk" " " \ +"posix/Asia/Istanbul" " " \ +"posix/Asia/Jakarta" " " \ +"posix/Asia/Jayapura" " " \ +"posix/Asia/Jerusalem" " " \ +"posix/Asia/Kabul" " " \ +"posix/Asia/Kamchatka" " " \ +"posix/Asia/Karachi" " " \ +"posix/Asia/Kashgar" " " \ +"posix/Asia/Kathmandu" " " \ +"posix/Asia/Katmandu" " " \ +"posix/Asia/Khandyga" " " \ +"posix/Asia/Kolkata" " " \ +"posix/Asia/Krasnoyarsk" " " \ +"posix/Asia/Kuala_Lumpur" " " \ +"posix/Asia/Kuching" " " \ +"posix/Asia/Kuwait" " " \ +"posix/Asia/Macao" " " \ +"posix/Asia/Macau" " " \ +"posix/Asia/Magadan" " " \ +"posix/Asia/Makassar" " " \ +"posix/Asia/Manila" " " \ +"posix/Asia/Muscat" " " \ +"posix/Asia/Nicosia" " " \ +"posix/Asia/Novokuznetsk" " " \ +"posix/Asia/Novosibirsk" " " \ +"posix/Asia/Omsk" " " \ +"posix/Asia/Oral" " " \ +"posix/Asia/Phnom_Penh" " " \ +"posix/Asia/Pontianak" " " \ +"posix/Asia/Pyongyang" " " \ +"posix/Asia/Qatar" " " \ +"posix/Asia/Qyzylorda" " " \ +"posix/Asia/Rangoon" " " \ +"posix/Asia/Riyadh" " " \ +"posix/Asia/Saigon" " " \ +"posix/Asia/Sakhalin" " " \ +"posix/Asia/Samarkand" " " \ +"posix/Asia/Seoul" " " \ +"posix/Asia/Shanghai" " " \ +"posix/Asia/Singapore" " " \ +"posix/Asia/Srednekolymsk" " " \ +"posix/Asia/Taipei" " " \ +"posix/Asia/Tashkent" " " \ +"posix/Asia/Tbilisi" " " \ +"posix/Asia/Tehran" " " \ +"posix/Asia/Tel_Aviv" " " \ +"posix/Asia/Thimbu" " " \ +"posix/Asia/Thimphu" " " \ +"posix/Asia/Tokyo" " " \ +"posix/Asia/Ujung_Pandang" " " \ +"posix/Asia/Ulaanbaatar" " " \ +"posix/Asia/Ulan_Bator" " " \ +"posix/Asia/Urumqi" " " \ +"posix/Asia/Ust-Nera" " " \ +"posix/Asia/Vientiane" " " \ +"posix/Asia/Vladivostok" " " \ +"posix/Asia/Yakutsk" " " \ +"posix/Asia/Yekaterinburg" " " \ +"posix/Asia/Yerevan" " " \ +"posix/Atlantic/Azores" " " \ +"posix/Atlantic/Bermuda" " " \ +"posix/Atlantic/Canary" " " \ +"posix/Atlantic/Cape_Verde" " " \ +"posix/Atlantic/Faeroe" " " \ +"posix/Atlantic/Faroe" " " \ +"posix/Atlantic/Jan_Mayen" " " \ +"posix/Atlantic/Madeira" " " \ +"posix/Atlantic/Reykjavik" " " \ +"posix/Atlantic/South_Georgia" " " \ +"posix/Atlantic/St_Helena" " " \ +"posix/Atlantic/Stanley" " " \ +"posix/Australia/ACT" " " \ +"posix/Australia/Adelaide" " " \ +"posix/Australia/Brisbane" " " \ +"posix/Australia/Broken_Hill" " " \ +"posix/Australia/Canberra" " " \ +"posix/Australia/Currie" " " \ +"posix/Australia/Darwin" " " \ +"posix/Australia/Eucla" " " \ +"posix/Australia/Hobart" " " \ +"posix/Australia/LHI" " " \ +"posix/Australia/Lindeman" " " \ +"posix/Australia/Lord_Howe" " " \ +"posix/Australia/Melbourne" " " \ +"posix/Australia/NSW" " " \ +"posix/Australia/North" " " \ +"posix/Australia/Perth" " " \ +"posix/Australia/Queensland" " " \ +"posix/Australia/South" " " \ +"posix/Australia/Sydney" " " \ +"posix/Australia/Tasmania" " " \ +"posix/Australia/Victoria" " " \ +"posix/Australia/West" " " \ +"posix/Australia/Yancowinna" " " \ +"posix/Brazil/Acre" " " \ +"posix/Brazil/DeNoronha" " " \ +"posix/Brazil/East" " " \ +"posix/Brazil/West" " " \ +"posix/CET" " " \ +"posix/CST6CDT" " " \ +"posix/Canada/Atlantic" " " \ +"posix/Canada/Central" " " \ +"posix/Canada/East-Saskatchewan" " " \ +"posix/Canada/Eastern" " " \ +"posix/Canada/Mountain" " " \ +"posix/Canada/Newfoundland" " " \ +"posix/Canada/Pacific" " " \ +"posix/Canada/Saskatchewan" " " \ +"posix/Canada/Yukon" " " \ +"posix/Chile/Continental" " " \ +"posix/Chile/EasterIsland" " " \ +"posix/Cuba" " " \ +"posix/EET" " " \ +"posix/EST" " " \ +"posix/EST5EDT" " " \ +"posix/Egypt" " " \ +"posix/Eire" " " \ +"posix/Etc/GMT" " " \ +"posix/Etc/GMT+0" " " \ +"posix/Etc/GMT+1" " " \ +"posix/Etc/GMT+10" " " \ +"posix/Etc/GMT+11" " " \ +"posix/Etc/GMT+12" " " \ +"posix/Etc/GMT+2" " " \ +"posix/Etc/GMT+3" " " \ +"posix/Etc/GMT+4" " " \ +"posix/Etc/GMT+5" " " \ +"posix/Etc/GMT+6" " " \ +"posix/Etc/GMT+7" " " \ +"posix/Etc/GMT+8" " " \ +"posix/Etc/GMT+9" " " \ +"posix/Etc/GMT-0" " " \ +"posix/Etc/GMT-1" " " \ +"posix/Etc/GMT-10" " " \ +"posix/Etc/GMT-11" " " \ +"posix/Etc/GMT-12" " " \ +"posix/Etc/GMT-13" " " \ +"posix/Etc/GMT-14" " " \ +"posix/Etc/GMT-2" " " \ +"posix/Etc/GMT-3" " " \ +"posix/Etc/GMT-4" " " \ +"posix/Etc/GMT-5" " " \ +"posix/Etc/GMT-6" " " \ +"posix/Etc/GMT-7" " " \ +"posix/Etc/GMT-8" " " \ +"posix/Etc/GMT-9" " " \ +"posix/Etc/GMT0" " " \ +"posix/Etc/Greenwich" " " \ +"posix/Etc/UCT" " " \ +"posix/Etc/UTC" " " \ +"posix/Etc/Universal" " " \ +"posix/Etc/Zulu" " " \ +"posix/Europe/Amsterdam" " " \ +"posix/Europe/Andorra" " " \ +"posix/Europe/Athens" " " \ +"posix/Europe/Belfast" " " \ +"posix/Europe/Belgrade" " " \ +"posix/Europe/Berlin" " " \ +"posix/Europe/Bratislava" " " \ +"posix/Europe/Brussels" " " \ +"posix/Europe/Bucharest" " " \ +"posix/Europe/Budapest" " " \ +"posix/Europe/Busingen" " " \ +"posix/Europe/Chisinau" " " \ +"posix/Europe/Copenhagen" " " \ +"posix/Europe/Dublin" " " \ +"posix/Europe/Gibraltar" " " \ +"posix/Europe/Guernsey" " " \ +"posix/Europe/Helsinki" " " \ +"posix/Europe/Isle_of_Man" " " \ +"posix/Europe/Istanbul" " " \ +"posix/Europe/Jersey" " " \ +"posix/Europe/Kaliningrad" " " \ +"posix/Europe/Kiev" " " \ +"posix/Europe/Lisbon" " " \ +"posix/Europe/Ljubljana" " " \ +"posix/Europe/London" " " \ +"posix/Europe/Luxembourg" " " \ +"posix/Europe/Madrid" " " \ +"posix/Europe/Malta" " " \ +"posix/Europe/Mariehamn" " " \ +"posix/Europe/Minsk" " " \ +"posix/Europe/Monaco" " " \ +"posix/Europe/Moscow" " " \ +"posix/Europe/Nicosia" " " \ +"posix/Europe/Oslo" " " \ +"posix/Europe/Paris" " " \ +"posix/Europe/Podgorica" " " \ +"posix/Europe/Prague" " " \ +"posix/Europe/Riga" " " \ +"posix/Europe/Rome" " " \ +"posix/Europe/Samara" " " \ +"posix/Europe/San_Marino" " " \ +"posix/Europe/Sarajevo" " " \ +"posix/Europe/Simferopol" " " \ +"posix/Europe/Skopje" " " \ +"posix/Europe/Sofia" " " \ +"posix/Europe/Stockholm" " " \ +"posix/Europe/Tallinn" " " \ +"posix/Europe/Tirane" " " \ +"posix/Europe/Tiraspol" " " \ +"posix/Europe/Uzhgorod" " " \ +"posix/Europe/Vaduz" " " \ +"posix/Europe/Vatican" " " \ +"posix/Europe/Vienna" " " \ +"posix/Europe/Vilnius" " " \ +"posix/Europe/Volgograd" " " \ +"posix/Europe/Warsaw" " " \ +"posix/Europe/Zagreb" " " \ +"posix/Europe/Zaporozhye" " " \ +"posix/Europe/Zurich" " " \ +"posix/Factory" " " \ +"posix/GB" " " \ +"posix/GB-Eire" " " \ +"posix/GMT" " " \ +"posix/GMT+0" " " \ +"posix/GMT-0" " " \ +"posix/GMT0" " " \ +"posix/Greenwich" " " \ +"posix/HST" " " \ +"posix/Hongkong" " " \ +"posix/Iceland" " " \ +"posix/Indian/Antananarivo" " " \ +"posix/Indian/Chagos" " " \ +"posix/Indian/Christmas" " " \ +"posix/Indian/Cocos" " " \ +"posix/Indian/Comoro" " " \ +"posix/Indian/Kerguelen" " " \ +"posix/Indian/Mahe" " " \ +"posix/Indian/Maldives" " " \ +"posix/Indian/Mauritius" " " \ +"posix/Indian/Mayotte" " " \ +"posix/Indian/Reunion" " " \ +"posix/Iran" " " \ +"posix/Israel" " " \ +"posix/Jamaica" " " \ +"posix/Japan" " " \ +"posix/Kwajalein" " " \ +"posix/Libya" " " \ +"posix/MET" " " \ +"posix/MST" " " \ +"posix/MST7MDT" " " \ +"posix/Mexico/BajaNorte" " " \ +"posix/Mexico/BajaSur" " " \ +"posix/Mexico/General" " " \ +"posix/NZ" " " \ +"posix/NZ-CHAT" " " \ +"posix/Navajo" " " \ +"posix/PRC" " " \ +"posix/PST8PDT" " " \ +"posix/Pacific/Apia" " " \ +"posix/Pacific/Auckland" " " \ +"posix/Pacific/Bougainville" " " \ +"posix/Pacific/Chatham" " " \ +"posix/Pacific/Chuuk" " " \ +"posix/Pacific/Easter" " " \ +"posix/Pacific/Efate" " " \ +"posix/Pacific/Enderbury" " " \ +"posix/Pacific/Fakaofo" " " \ +"posix/Pacific/Fiji" " " \ +"posix/Pacific/Funafuti" " " \ +"posix/Pacific/Galapagos" " " \ +"posix/Pacific/Gambier" " " \ +"posix/Pacific/Guadalcanal" " " \ +"posix/Pacific/Guam" " " \ +"posix/Pacific/Honolulu" " " \ +"posix/Pacific/Johnston" " " \ +"posix/Pacific/Kiritimati" " " \ +"posix/Pacific/Kosrae" " " \ +"posix/Pacific/Kwajalein" " " \ +"posix/Pacific/Majuro" " " \ +"posix/Pacific/Marquesas" " " \ +"posix/Pacific/Midway" " " \ +"posix/Pacific/Nauru" " " \ +"posix/Pacific/Niue" " " \ +"posix/Pacific/Norfolk" " " \ +"posix/Pacific/Noumea" " " \ +"posix/Pacific/Pago_Pago" " " \ +"posix/Pacific/Palau" " " \ +"posix/Pacific/Pitcairn" " " \ +"posix/Pacific/Pohnpei" " " \ +"posix/Pacific/Ponape" " " \ +"posix/Pacific/Port_Moresby" " " \ +"posix/Pacific/Rarotonga" " " \ +"posix/Pacific/Saipan" " " \ +"posix/Pacific/Samoa" " " \ +"posix/Pacific/Tahiti" " " \ +"posix/Pacific/Tarawa" " " \ +"posix/Pacific/Tongatapu" " " \ +"posix/Pacific/Truk" " " \ +"posix/Pacific/Wake" " " \ +"posix/Pacific/Wallis" " " \ +"posix/Pacific/Yap" " " \ +"posix/Poland" " " \ +"posix/Portugal" " " \ +"posix/ROC" " " \ +"posix/ROK" " " \ +"posix/Singapore" " " \ +"posix/Turkey" " " \ +"posix/UCT" " " \ +"posix/US/Alaska" " " \ +"posix/US/Aleutian" " " \ +"posix/US/Arizona" " " \ +"posix/US/Central" " " \ +"posix/US/East-Indiana" " " \ +"posix/US/Eastern" " " \ +"posix/US/Hawaii" " " \ +"posix/US/Indiana-Starke" " " \ +"posix/US/Michigan" " " \ +"posix/US/Mountain" " " \ +"posix/US/Pacific" " " \ +"posix/US/Pacific-New" " " \ +"posix/US/Samoa" " " \ +"posix/UTC" " " \ +"posix/Universal" " " \ +"posix/W-SU" " " \ +"posix/WET" " " \ +"posix/Zulu" " " \ +"posix/localtime" " " \ +"posix/posixrules" " " \ +"posixrules" " " \ +"right/Africa/Abidjan" " " \ +"right/Africa/Accra" " " \ +"right/Africa/Addis_Ababa" " " \ +"right/Africa/Algiers" " " \ +"right/Africa/Asmara" " " \ +"right/Africa/Asmera" " " \ +"right/Africa/Bamako" " " \ +"right/Africa/Bangui" " " \ +"right/Africa/Banjul" " " \ +"right/Africa/Bissau" " " \ +"right/Africa/Blantyre" " " \ +"right/Africa/Brazzaville" " " \ +"right/Africa/Bujumbura" " " \ +"right/Africa/Cairo" " " \ +"right/Africa/Casablanca" " " \ +"right/Africa/Ceuta" " " \ +"right/Africa/Conakry" " " \ +"right/Africa/Dakar" " " \ +"right/Africa/Dar_es_Salaam" " " \ +"right/Africa/Djibouti" " " \ +"right/Africa/Douala" " " \ +"right/Africa/El_Aaiun" " " \ +"right/Africa/Freetown" " " \ +"right/Africa/Gaborone" " " \ +"right/Africa/Harare" " " \ +"right/Africa/Johannesburg" " " \ +"right/Africa/Juba" " " \ +"right/Africa/Kampala" " " \ +"right/Africa/Khartoum" " " \ +"right/Africa/Kigali" " " \ +"right/Africa/Kinshasa" " " \ +"right/Africa/Lagos" " " \ +"right/Africa/Libreville" " " \ +"right/Africa/Lome" " " \ +"right/Africa/Luanda" " " \ +"right/Africa/Lubumbashi" " " \ +"right/Africa/Lusaka" " " \ +"right/Africa/Malabo" " " \ +"right/Africa/Maputo" " " \ +"right/Africa/Maseru" " " \ +"right/Africa/Mbabane" " " \ +"right/Africa/Mogadishu" " " \ +"right/Africa/Monrovia" " " \ +"right/Africa/Nairobi" " " \ +"right/Africa/Ndjamena" " " \ +"right/Africa/Niamey" " " \ +"right/Africa/Nouakchott" " " \ +"right/Africa/Ouagadougou" " " \ +"right/Africa/Porto-Novo" " " \ +"right/Africa/Sao_Tome" " " \ +"right/Africa/Timbuktu" " " \ +"right/Africa/Tripoli" " " \ +"right/Africa/Tunis" " " \ +"right/Africa/Windhoek" " " \ +"right/America/Adak" " " \ +"right/America/Anchorage" " " \ +"right/America/Anguilla" " " \ +"right/America/Antigua" " " \ +"right/America/Araguaina" " " \ +"right/America/Argentina/Buenos_Aires" " " \ +"right/America/Argentina/Catamarca" " " \ +"right/America/Argentina/ComodRivadavia" " " \ +"right/America/Argentina/Cordoba" " " \ +"right/America/Argentina/Jujuy" " " \ +"right/America/Argentina/La_Rioja" " " \ +"right/America/Argentina/Mendoza" " " \ +"right/America/Argentina/Rio_Gallegos" " " \ +"right/America/Argentina/Salta" " " \ +"right/America/Argentina/San_Juan" " " \ +"right/America/Argentina/San_Luis" " " \ +"right/America/Argentina/Tucuman" " " \ +"right/America/Argentina/Ushuaia" " " \ +"right/America/Aruba" " " \ +"right/America/Asuncion" " " \ +"right/America/Atikokan" " " \ +"right/America/Atka" " " \ +"right/America/Bahia" " " \ +"right/America/Bahia_Banderas" " " \ +"right/America/Barbados" " " \ +"right/America/Belem" " " \ +"right/America/Belize" " " \ +"right/America/Blanc-Sablon" " " \ +"right/America/Boa_Vista" " " \ +"right/America/Bogota" " " \ +"right/America/Boise" " " \ +"right/America/Buenos_Aires" " " \ +"right/America/Cambridge_Bay" " " \ +"right/America/Campo_Grande" " " \ +"right/America/Cancun" " " \ +"right/America/Caracas" " " \ +"right/America/Catamarca" " " \ +"right/America/Cayenne" " " \ +"right/America/Cayman" " " \ +"right/America/Chicago" " " \ +"right/America/Chihuahua" " " \ +"right/America/Coral_Harbour" " " \ +"right/America/Cordoba" " " \ +"right/America/Costa_Rica" " " \ +"right/America/Creston" " " \ +"right/America/Cuiaba" " " \ +"right/America/Curacao" " " \ +"right/America/Danmarkshavn" " " \ +"right/America/Dawson" " " \ +"right/America/Dawson_Creek" " " \ +"right/America/Denver" " " \ +"right/America/Detroit" " " \ +"right/America/Dominica" " " \ +"right/America/Edmonton" " " \ +"right/America/Eirunepe" " " \ +"right/America/El_Salvador" " " \ +"right/America/Ensenada" " " \ +"right/America/Fort_Wayne" " " \ +"right/America/Fortaleza" " " \ +"right/America/Glace_Bay" " " \ +"right/America/Godthab" " " \ +"right/America/Goose_Bay" " " \ +"right/America/Grand_Turk" " " \ +"right/America/Grenada" " " \ +"right/America/Guadeloupe" " " \ +"right/America/Guatemala" " " \ +"right/America/Guayaquil" " " \ +"right/America/Guyana" " " \ +"right/America/Halifax" " " \ +"right/America/Havana" " " \ +"right/America/Hermosillo" " " \ +"right/America/Indiana/Indianapolis" " " \ +"right/America/Indiana/Knox" " " \ +"right/America/Indiana/Marengo" " " \ +"right/America/Indiana/Petersburg" " " \ +"right/America/Indiana/Tell_City" " " \ +"right/America/Indiana/Vevay" " " \ +"right/America/Indiana/Vincennes" " " \ +"right/America/Indiana/Winamac" " " \ +"right/America/Indianapolis" " " \ +"right/America/Inuvik" " " \ +"right/America/Iqaluit" " " \ +"right/America/Jamaica" " " \ +"right/America/Jujuy" " " \ +"right/America/Juneau" " " \ +"right/America/Kentucky/Louisville" " " \ +"right/America/Kentucky/Monticello" " " \ +"right/America/Knox_IN" " " \ +"right/America/Kralendijk" " " \ +"right/America/La_Paz" " " \ +"right/America/Lima" " " \ +"right/America/Los_Angeles" " " \ +"right/America/Louisville" " " \ +"right/America/Lower_Princes" " " \ +"right/America/Maceio" " " \ +"right/America/Managua" " " \ +"right/America/Manaus" " " \ +"right/America/Marigot" " " \ +"right/America/Martinique" " " \ +"right/America/Matamoros" " " \ +"right/America/Mazatlan" " " \ +"right/America/Mendoza" " " \ +"right/America/Menominee" " " \ +"right/America/Merida" " " \ +"right/America/Metlakatla" " " \ +"right/America/Mexico_City" " " \ +"right/America/Miquelon" " " \ +"right/America/Moncton" " " \ +"right/America/Monterrey" " " \ +"right/America/Montevideo" " " \ +"right/America/Montreal" " " \ +"right/America/Montserrat" " " \ +"right/America/Nassau" " " \ +"right/America/New_York" " " \ +"right/America/Nipigon" " " \ +"right/America/Nome" " " \ +"right/America/Noronha" " " \ +"right/America/North_Dakota/Beulah" " " \ +"right/America/North_Dakota/Center" " " \ +"right/America/North_Dakota/New_Salem" " " \ +"right/America/Ojinaga" " " \ +"right/America/Panama" " " \ +"right/America/Pangnirtung" " " \ +"right/America/Paramaribo" " " \ +"right/America/Phoenix" " " \ +"right/America/Port-au-Prince" " " \ +"right/America/Port_of_Spain" " " \ +"right/America/Porto_Acre" " " \ +"right/America/Porto_Velho" " " \ +"right/America/Puerto_Rico" " " \ +"right/America/Rainy_River" " " \ +"right/America/Rankin_Inlet" " " \ +"right/America/Recife" " " \ +"right/America/Regina" " " \ +"right/America/Resolute" " " \ +"right/America/Rio_Branco" " " \ +"right/America/Rosario" " " \ +"right/America/Santa_Isabel" " " \ +"right/America/Santarem" " " \ +"right/America/Santiago" " " \ +"right/America/Santo_Domingo" " " \ +"right/America/Sao_Paulo" " " \ +"right/America/Scoresbysund" " " \ +"right/America/Shiprock" " " \ +"right/America/Sitka" " " \ +"right/America/St_Barthelemy" " " \ +"right/America/St_Johns" " " \ +"right/America/St_Kitts" " " \ +"right/America/St_Lucia" " " \ +"right/America/St_Thomas" " " \ +"right/America/St_Vincent" " " \ +"right/America/Swift_Current" " " \ +"right/America/Tegucigalpa" " " \ +"right/America/Thule" " " \ +"right/America/Thunder_Bay" " " \ +"right/America/Tijuana" " " \ +"right/America/Toronto" " " \ +"right/America/Tortola" " " \ +"right/America/Vancouver" " " \ +"right/America/Virgin" " " \ +"right/America/Whitehorse" " " \ +"right/America/Winnipeg" " " \ +"right/America/Yakutat" " " \ +"right/America/Yellowknife" " " \ +"right/Antarctica/Casey" " " \ +"right/Antarctica/Davis" " " \ +"right/Antarctica/DumontDUrville" " " \ +"right/Antarctica/Macquarie" " " \ +"right/Antarctica/Mawson" " " \ +"right/Antarctica/McMurdo" " " \ +"right/Antarctica/Palmer" " " \ +"right/Antarctica/Rothera" " " \ +"right/Antarctica/South_Pole" " " \ +"right/Antarctica/Syowa" " " \ +"right/Antarctica/Troll" " " \ +"right/Antarctica/Vostok" " " \ +"right/Arctic/Longyearbyen" " " \ +"right/Asia/Aden" " " \ +"right/Asia/Almaty" " " \ +"right/Asia/Amman" " " \ +"right/Asia/Anadyr" " " \ +"right/Asia/Aqtau" " " \ +"right/Asia/Aqtobe" " " \ +"right/Asia/Ashgabat" " " \ +"right/Asia/Ashkhabad" " " \ +"right/Asia/Baghdad" " " \ +"right/Asia/Bahrain" " " \ +"right/Asia/Baku" " " \ +"right/Asia/Bangkok" " " \ +"right/Asia/Beirut" " " \ +"right/Asia/Bishkek" " " \ +"right/Asia/Brunei" " " \ +"right/Asia/Calcutta" " " \ +"right/Asia/Chita" " " \ +"right/Asia/Choibalsan" " " \ +"right/Asia/Chongqing" " " \ +"right/Asia/Chungking" " " \ +"right/Asia/Colombo" " " \ +"right/Asia/Dacca" " " \ +"right/Asia/Damascus" " " \ +"right/Asia/Dhaka" " " \ +"right/Asia/Dili" " " \ +"right/Asia/Dubai" " " \ +"right/Asia/Dushanbe" " " \ +"right/Asia/Gaza" " " \ +"right/Asia/Harbin" " " \ +"right/Asia/Hebron" " " \ +"right/Asia/Ho_Chi_Minh" " " \ +"right/Asia/Hong_Kong" " " \ +"right/Asia/Hovd" " " \ +"right/Asia/Irkutsk" " " \ +"right/Asia/Istanbul" " " \ +"right/Asia/Jakarta" " " \ +"right/Asia/Jayapura" " " \ +"right/Asia/Jerusalem" " " \ +"right/Asia/Kabul" " " \ +"right/Asia/Kamchatka" " " \ +"right/Asia/Karachi" " " \ +"right/Asia/Kashgar" " " \ +"right/Asia/Kathmandu" " " \ +"right/Asia/Katmandu" " " \ +"right/Asia/Khandyga" " " \ +"right/Asia/Kolkata" " " \ +"right/Asia/Krasnoyarsk" " " \ +"right/Asia/Kuala_Lumpur" " " \ +"right/Asia/Kuching" " " \ +"right/Asia/Kuwait" " " \ +"right/Asia/Macao" " " \ +"right/Asia/Macau" " " \ +"right/Asia/Magadan" " " \ +"right/Asia/Makassar" " " \ +"right/Asia/Manila" " " \ +"right/Asia/Muscat" " " \ +"right/Asia/Nicosia" " " \ +"right/Asia/Novokuznetsk" " " \ +"right/Asia/Novosibirsk" " " \ +"right/Asia/Omsk" " " \ +"right/Asia/Oral" " " \ +"right/Asia/Phnom_Penh" " " \ +"right/Asia/Pontianak" " " \ +"right/Asia/Pyongyang" " " \ +"right/Asia/Qatar" " " \ +"right/Asia/Qyzylorda" " " \ +"right/Asia/Rangoon" " " \ +"right/Asia/Riyadh" " " \ +"right/Asia/Saigon" " " \ +"right/Asia/Sakhalin" " " \ +"right/Asia/Samarkand" " " \ +"right/Asia/Seoul" " " \ +"right/Asia/Shanghai" " " \ +"right/Asia/Singapore" " " \ +"right/Asia/Srednekolymsk" " " \ +"right/Asia/Taipei" " " \ +"right/Asia/Tashkent" " " \ +"right/Asia/Tbilisi" " " \ +"right/Asia/Tehran" " " \ +"right/Asia/Tel_Aviv" " " \ +"right/Asia/Thimbu" " " \ +"right/Asia/Thimphu" " " \ +"right/Asia/Tokyo" " " \ +"right/Asia/Ujung_Pandang" " " \ +"right/Asia/Ulaanbaatar" " " \ +"right/Asia/Ulan_Bator" " " \ +"right/Asia/Urumqi" " " \ +"right/Asia/Ust-Nera" " " \ +"right/Asia/Vientiane" " " \ +"right/Asia/Vladivostok" " " \ +"right/Asia/Yakutsk" " " \ +"right/Asia/Yekaterinburg" " " \ +"right/Asia/Yerevan" " " \ +"right/Atlantic/Azores" " " \ +"right/Atlantic/Bermuda" " " \ +"right/Atlantic/Canary" " " \ +"right/Atlantic/Cape_Verde" " " \ +"right/Atlantic/Faeroe" " " \ +"right/Atlantic/Faroe" " " \ +"right/Atlantic/Jan_Mayen" " " \ +"right/Atlantic/Madeira" " " \ +"right/Atlantic/Reykjavik" " " \ +"right/Atlantic/South_Georgia" " " \ +"right/Atlantic/St_Helena" " " \ +"right/Atlantic/Stanley" " " \ +"right/Australia/ACT" " " \ +"right/Australia/Adelaide" " " \ +"right/Australia/Brisbane" " " \ +"right/Australia/Broken_Hill" " " \ +"right/Australia/Canberra" " " \ +"right/Australia/Currie" " " \ +"right/Australia/Darwin" " " \ +"right/Australia/Eucla" " " \ +"right/Australia/Hobart" " " \ +"right/Australia/LHI" " " \ +"right/Australia/Lindeman" " " \ +"right/Australia/Lord_Howe" " " \ +"right/Australia/Melbourne" " " \ +"right/Australia/NSW" " " \ +"right/Australia/North" " " \ +"right/Australia/Perth" " " \ +"right/Australia/Queensland" " " \ +"right/Australia/South" " " \ +"right/Australia/Sydney" " " \ +"right/Australia/Tasmania" " " \ +"right/Australia/Victoria" " " \ +"right/Australia/West" " " \ +"right/Australia/Yancowinna" " " \ +"right/Brazil/Acre" " " \ +"right/Brazil/DeNoronha" " " \ +"right/Brazil/East" " " \ +"right/Brazil/West" " " \ +"right/CET" " " \ +"right/CST6CDT" " " \ +"right/Canada/Atlantic" " " \ +"right/Canada/Central" " " \ +"right/Canada/East-Saskatchewan" " " \ +"right/Canada/Eastern" " " \ +"right/Canada/Mountain" " " \ +"right/Canada/Newfoundland" " " \ +"right/Canada/Pacific" " " \ +"right/Canada/Saskatchewan" " " \ +"right/Canada/Yukon" " " \ +"right/Chile/Continental" " " \ +"right/Chile/EasterIsland" " " \ +"right/Cuba" " " \ +"right/EET" " " \ +"right/EST" " " \ +"right/EST5EDT" " " \ +"right/Egypt" " " \ +"right/Eire" " " \ +"right/Etc/GMT" " " \ +"right/Etc/GMT+0" " " \ +"right/Etc/GMT+1" " " \ +"right/Etc/GMT+10" " " \ +"right/Etc/GMT+11" " " \ +"right/Etc/GMT+12" " " \ +"right/Etc/GMT+2" " " \ +"right/Etc/GMT+3" " " \ +"right/Etc/GMT+4" " " \ +"right/Etc/GMT+5" " " \ +"right/Etc/GMT+6" " " \ +"right/Etc/GMT+7" " " \ +"right/Etc/GMT+8" " " \ +"right/Etc/GMT+9" " " \ +"right/Etc/GMT-0" " " \ +"right/Etc/GMT-1" " " \ +"right/Etc/GMT-10" " " \ +"right/Etc/GMT-11" " " \ +"right/Etc/GMT-12" " " \ +"right/Etc/GMT-13" " " \ +"right/Etc/GMT-14" " " \ +"right/Etc/GMT-2" " " \ +"right/Etc/GMT-3" " " \ +"right/Etc/GMT-4" " " \ +"right/Etc/GMT-5" " " \ +"right/Etc/GMT-6" " " \ +"right/Etc/GMT-7" " " \ +"right/Etc/GMT-8" " " \ +"right/Etc/GMT-9" " " \ +"right/Etc/GMT0" " " \ +"right/Etc/Greenwich" " " \ +"right/Etc/UCT" " " \ +"right/Etc/UTC" " " \ +"right/Etc/Universal" " " \ +"right/Etc/Zulu" " " \ +"right/Europe/Amsterdam" " " \ +"right/Europe/Andorra" " " \ +"right/Europe/Athens" " " \ +"right/Europe/Belfast" " " \ +"right/Europe/Belgrade" " " \ +"right/Europe/Berlin" " " \ +"right/Europe/Bratislava" " " \ +"right/Europe/Brussels" " " \ +"right/Europe/Bucharest" " " \ +"right/Europe/Budapest" " " \ +"right/Europe/Busingen" " " \ +"right/Europe/Chisinau" " " \ +"right/Europe/Copenhagen" " " \ +"right/Europe/Dublin" " " \ +"right/Europe/Gibraltar" " " \ +"right/Europe/Guernsey" " " \ +"right/Europe/Helsinki" " " \ +"right/Europe/Isle_of_Man" " " \ +"right/Europe/Istanbul" " " \ +"right/Europe/Jersey" " " \ +"right/Europe/Kaliningrad" " " \ +"right/Europe/Kiev" " " \ +"right/Europe/Lisbon" " " \ +"right/Europe/Ljubljana" " " \ +"right/Europe/London" " " \ +"right/Europe/Luxembourg" " " \ +"right/Europe/Madrid" " " \ +"right/Europe/Malta" " " \ +"right/Europe/Mariehamn" " " \ +"right/Europe/Minsk" " " \ +"right/Europe/Monaco" " " \ +"right/Europe/Moscow" " " \ +"right/Europe/Nicosia" " " \ +"right/Europe/Oslo" " " \ +"right/Europe/Paris" " " \ +"right/Europe/Podgorica" " " \ +"right/Europe/Prague" " " \ +"right/Europe/Riga" " " \ +"right/Europe/Rome" " " \ +"right/Europe/Samara" " " \ +"right/Europe/San_Marino" " " \ +"right/Europe/Sarajevo" " " \ +"right/Europe/Simferopol" " " \ +"right/Europe/Skopje" " " \ +"right/Europe/Sofia" " " \ +"right/Europe/Stockholm" " " \ +"right/Europe/Tallinn" " " \ +"right/Europe/Tirane" " " \ +"right/Europe/Tiraspol" " " \ +"right/Europe/Uzhgorod" " " \ +"right/Europe/Vaduz" " " \ +"right/Europe/Vatican" " " \ +"right/Europe/Vienna" " " \ +"right/Europe/Vilnius" " " \ +"right/Europe/Volgograd" " " \ +"right/Europe/Warsaw" " " \ +"right/Europe/Zagreb" " " \ +"right/Europe/Zaporozhye" " " \ +"right/Europe/Zurich" " " \ +"right/Factory" " " \ +"right/GB" " " \ +"right/GB-Eire" " " \ +"right/GMT" " " \ +"right/GMT+0" " " \ +"right/GMT-0" " " \ +"right/GMT0" " " \ +"right/Greenwich" " " \ +"right/HST" " " \ +"right/Hongkong" " " \ +"right/Iceland" " " \ +"right/Indian/Antananarivo" " " \ +"right/Indian/Chagos" " " \ +"right/Indian/Christmas" " " \ +"right/Indian/Cocos" " " \ +"right/Indian/Comoro" " " \ +"right/Indian/Kerguelen" " " \ +"right/Indian/Mahe" " " \ +"right/Indian/Maldives" " " \ +"right/Indian/Mauritius" " " \ +"right/Indian/Mayotte" " " \ +"right/Indian/Reunion" " " \ +"right/Iran" " " \ +"right/Israel" " " \ +"right/Jamaica" " " \ +"right/Japan" " " \ +"right/Kwajalein" " " \ +"right/Libya" " " \ +"right/MET" " " \ +"right/MST" " " \ +"right/MST7MDT" " " \ +"right/Mexico/BajaNorte" " " \ +"right/Mexico/BajaSur" " " \ +"right/Mexico/General" " " \ +"right/NZ" " " \ +"right/NZ-CHAT" " " \ +"right/Navajo" " " \ +"right/PRC" " " \ +"right/PST8PDT" " " \ +"right/Pacific/Apia" " " \ +"right/Pacific/Auckland" " " \ +"right/Pacific/Bougainville" " " \ +"right/Pacific/Chatham" " " \ +"right/Pacific/Chuuk" " " \ +"right/Pacific/Easter" " " \ +"right/Pacific/Efate" " " \ +"right/Pacific/Enderbury" " " \ +"right/Pacific/Fakaofo" " " \ +"right/Pacific/Fiji" " " \ +"right/Pacific/Funafuti" " " \ +"right/Pacific/Galapagos" " " \ +"right/Pacific/Gambier" " " \ +"right/Pacific/Guadalcanal" " " \ +"right/Pacific/Guam" " " \ +"right/Pacific/Honolulu" " " \ +"right/Pacific/Johnston" " " \ +"right/Pacific/Kiritimati" " " \ +"right/Pacific/Kosrae" " " \ +"right/Pacific/Kwajalein" " " \ +"right/Pacific/Majuro" " " \ +"right/Pacific/Marquesas" " " \ +"right/Pacific/Midway" " " \ +"right/Pacific/Nauru" " " \ +"right/Pacific/Niue" " " \ +"right/Pacific/Norfolk" " " \ +"right/Pacific/Noumea" " " \ +"right/Pacific/Pago_Pago" " " \ +"right/Pacific/Palau" " " \ +"right/Pacific/Pitcairn" " " \ +"right/Pacific/Pohnpei" " " \ +"right/Pacific/Ponape" " " \ +"right/Pacific/Port_Moresby" " " \ +"right/Pacific/Rarotonga" " " \ +"right/Pacific/Saipan" " " \ +"right/Pacific/Samoa" " " \ +"right/Pacific/Tahiti" " " \ +"right/Pacific/Tarawa" " " \ +"right/Pacific/Tongatapu" " " \ +"right/Pacific/Truk" " " \ +"right/Pacific/Wake" " " \ +"right/Pacific/Wallis" " " \ +"right/Pacific/Yap" " " \ +"right/Poland" " " \ +"right/Portugal" " " \ +"right/ROC" " " \ +"right/ROK" " " \ +"right/Singapore" " " \ +"right/Turkey" " " \ +"right/UCT" " " \ +"right/US/Alaska" " " \ +"right/US/Aleutian" " " \ +"right/US/Arizona" " " \ +"right/US/Central" " " \ +"right/US/East-Indiana" " " \ +"right/US/Eastern" " " \ +"right/US/Hawaii" " " \ +"right/US/Indiana-Starke" " " \ +"right/US/Michigan" " " \ +"right/US/Mountain" " " \ +"right/US/Pacific" " " \ +"right/US/Pacific-New" " " \ +"right/US/Samoa" " " \ +"right/UTC" " " \ +"right/Universal" " " \ +"right/W-SU" " " \ +"right/WET" " " \ +"right/Zulu" " " \ + 2> $TMP/tz + + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/tz + exit + fi + + TIMEZONE="`cat $TMP/tz`" + rm -f $TMP/tz + + setzone $TIMEZONE + exit +else + ### + ### use text prompts + ### + while [ 0 ]; do + echo -n "Would you like to configure your timezone ([y]es, [n]o)? " + read TIMECONF; + echo + + if [ "$TIMECONF" = "n" ]; then + break + fi + + cat << EOF +Select one of these timezones: + +US/Alaska +US/Aleutian +US/Arizona +US/Central +US/East-Indiana +US/Eastern +US/Hawaii +US/Indiana-Starke +US/Michigan +US/Mountain +US/Pacific +US/Pacific-New +US/Samoa +Africa/Abidjan +Africa/Accra +Africa/Addis_Ababa +Africa/Algiers +Africa/Asmara +Africa/Asmera +Africa/Bamako +Africa/Bangui +Africa/Banjul +Africa/Bissau +Africa/Blantyre +Africa/Brazzaville +Africa/Bujumbura +Africa/Cairo +Africa/Casablanca +Africa/Ceuta +Africa/Conakry +Africa/Dakar +Africa/Dar_es_Salaam +Africa/Djibouti +Africa/Douala +Africa/El_Aaiun +Africa/Freetown +Africa/Gaborone +Africa/Harare +Africa/Johannesburg +Africa/Juba +Africa/Kampala +Africa/Khartoum +Africa/Kigali +Africa/Kinshasa +Africa/Lagos +Africa/Libreville +Africa/Lome +Africa/Luanda +Africa/Lubumbashi +Africa/Lusaka +Africa/Malabo +Africa/Maputo +Africa/Maseru +Africa/Mbabane +Africa/Mogadishu +Africa/Monrovia +Africa/Nairobi +Africa/Ndjamena +Africa/Niamey +Africa/Nouakchott +Africa/Ouagadougou +Africa/Porto-Novo +Africa/Sao_Tome +Africa/Timbuktu +Africa/Tripoli +Africa/Tunis +Africa/Windhoek +America/Adak +America/Anchorage +America/Anguilla +America/Antigua +America/Araguaina +America/Argentina/Buenos_Aires +America/Argentina/Catamarca +America/Argentina/ComodRivadavia +America/Argentina/Cordoba +America/Argentina/Jujuy +America/Argentina/La_Rioja +America/Argentina/Mendoza +America/Argentina/Rio_Gallegos +America/Argentina/Salta +America/Argentina/San_Juan +America/Argentina/San_Luis +America/Argentina/Tucuman +America/Argentina/Ushuaia +America/Aruba +America/Asuncion +America/Atikokan +America/Atka +America/Bahia +America/Bahia_Banderas +America/Barbados +America/Belem +America/Belize +America/Blanc-Sablon +America/Boa_Vista +America/Bogota +America/Boise +America/Buenos_Aires +America/Cambridge_Bay +America/Campo_Grande +America/Cancun +America/Caracas +America/Catamarca +America/Cayenne +America/Cayman +America/Chicago +America/Chihuahua +America/Coral_Harbour +America/Cordoba +America/Costa_Rica +America/Creston +America/Cuiaba +America/Curacao +America/Danmarkshavn +America/Dawson +America/Dawson_Creek +America/Denver +America/Detroit +America/Dominica +America/Edmonton +America/Eirunepe +America/El_Salvador +America/Ensenada +America/Fort_Wayne +America/Fortaleza +America/Glace_Bay +America/Godthab +America/Goose_Bay +America/Grand_Turk +America/Grenada +America/Guadeloupe +America/Guatemala +America/Guayaquil +America/Guyana +America/Halifax +America/Havana +America/Hermosillo +America/Indiana/Indianapolis +America/Indiana/Knox +America/Indiana/Marengo +America/Indiana/Petersburg +America/Indiana/Tell_City +America/Indiana/Vevay +America/Indiana/Vincennes +America/Indiana/Winamac +America/Indianapolis +America/Inuvik +America/Iqaluit +America/Jamaica +America/Jujuy +America/Juneau +America/Kentucky/Louisville +America/Kentucky/Monticello +America/Knox_IN +America/Kralendijk +America/La_Paz +America/Lima +America/Los_Angeles +America/Louisville +America/Lower_Princes +America/Maceio +America/Managua +America/Manaus +America/Marigot +America/Martinique +America/Matamoros +America/Mazatlan +America/Mendoza +America/Menominee +America/Merida +America/Metlakatla +America/Mexico_City +America/Miquelon +America/Moncton +America/Monterrey +America/Montevideo +America/Montreal +America/Montserrat +America/Nassau +America/New_York +America/Nipigon +America/Nome +America/Noronha +America/North_Dakota/Beulah +America/North_Dakota/Center +America/North_Dakota/New_Salem +America/Ojinaga +America/Panama +America/Pangnirtung +America/Paramaribo +America/Phoenix +America/Port-au-Prince +America/Port_of_Spain +America/Porto_Acre +America/Porto_Velho +America/Puerto_Rico +America/Rainy_River +America/Rankin_Inlet +America/Recife +America/Regina +America/Resolute +America/Rio_Branco +America/Rosario +America/Santa_Isabel +America/Santarem +America/Santiago +America/Santo_Domingo +America/Sao_Paulo +America/Scoresbysund +America/Shiprock +America/Sitka +America/St_Barthelemy +America/St_Johns +America/St_Kitts +America/St_Lucia +America/St_Thomas +America/St_Vincent +America/Swift_Current +America/Tegucigalpa +America/Thule +America/Thunder_Bay +America/Tijuana +America/Toronto +America/Tortola +America/Vancouver +America/Virgin +America/Whitehorse +America/Winnipeg +America/Yakutat +America/Yellowknife +Antarctica/Casey +Antarctica/Davis +Antarctica/DumontDUrville +Antarctica/Macquarie +Antarctica/Mawson +Antarctica/McMurdo +Antarctica/Palmer +Antarctica/Rothera +Antarctica/South_Pole +Antarctica/Syowa +Antarctica/Troll +Antarctica/Vostok +Arctic/Longyearbyen +Asia/Aden +Asia/Almaty +Asia/Amman +Asia/Anadyr +Asia/Aqtau +Asia/Aqtobe +Asia/Ashgabat +Asia/Ashkhabad +Asia/Baghdad +Asia/Bahrain +Asia/Baku +Asia/Bangkok +Asia/Beirut +Asia/Bishkek +Asia/Brunei +Asia/Calcutta +Asia/Chita +Asia/Choibalsan +Asia/Chongqing +Asia/Chungking +Asia/Colombo +Asia/Dacca +Asia/Damascus +Asia/Dhaka +Asia/Dili +Asia/Dubai +Asia/Dushanbe +Asia/Gaza +Asia/Harbin +Asia/Hebron +Asia/Ho_Chi_Minh +Asia/Hong_Kong +Asia/Hovd +Asia/Irkutsk +Asia/Istanbul +Asia/Jakarta +Asia/Jayapura +Asia/Jerusalem +Asia/Kabul +Asia/Kamchatka +Asia/Karachi +Asia/Kashgar +Asia/Kathmandu +Asia/Katmandu +Asia/Khandyga +Asia/Kolkata +Asia/Krasnoyarsk +Asia/Kuala_Lumpur +Asia/Kuching +Asia/Kuwait +Asia/Macao +Asia/Macau +Asia/Magadan +Asia/Makassar +Asia/Manila +Asia/Muscat +Asia/Nicosia +Asia/Novokuznetsk +Asia/Novosibirsk +Asia/Omsk +Asia/Oral +Asia/Phnom_Penh +Asia/Pontianak +Asia/Pyongyang +Asia/Qatar +Asia/Qyzylorda +Asia/Rangoon +Asia/Riyadh +Asia/Saigon +Asia/Sakhalin +Asia/Samarkand +Asia/Seoul +Asia/Shanghai +Asia/Singapore +Asia/Srednekolymsk +Asia/Taipei +Asia/Tashkent +Asia/Tbilisi +Asia/Tehran +Asia/Tel_Aviv +Asia/Thimbu +Asia/Thimphu +Asia/Tokyo +Asia/Ujung_Pandang +Asia/Ulaanbaatar +Asia/Ulan_Bator +Asia/Urumqi +Asia/Ust-Nera +Asia/Vientiane +Asia/Vladivostok +Asia/Yakutsk +Asia/Yekaterinburg +Asia/Yerevan +Atlantic/Azores +Atlantic/Bermuda +Atlantic/Canary +Atlantic/Cape_Verde +Atlantic/Faeroe +Atlantic/Faroe +Atlantic/Jan_Mayen +Atlantic/Madeira +Atlantic/Reykjavik +Atlantic/South_Georgia +Atlantic/St_Helena +Atlantic/Stanley +Australia/ACT +Australia/Adelaide +Australia/Brisbane +Australia/Broken_Hill +Australia/Canberra +Australia/Currie +Australia/Darwin +Australia/Eucla +Australia/Hobart +Australia/LHI +Australia/Lindeman +Australia/Lord_Howe +Australia/Melbourne +Australia/NSW +Australia/North +Australia/Perth +Australia/Queensland +Australia/South +Australia/Sydney +Australia/Tasmania +Australia/Victoria +Australia/West +Australia/Yancowinna +Brazil/Acre +Brazil/DeNoronha +Brazil/East +Brazil/West +CET +CST6CDT +Canada/Atlantic +Canada/Central +Canada/East-Saskatchewan +Canada/Eastern +Canada/Mountain +Canada/Newfoundland +Canada/Pacific +Canada/Saskatchewan +Canada/Yukon +Chile/Continental +Chile/EasterIsland +Cuba +EET +EST +EST5EDT +Egypt +Eire +Etc/GMT +Etc/GMT+0 +Etc/GMT+1 +Etc/GMT+10 +Etc/GMT+11 +Etc/GMT+12 +Etc/GMT+2 +Etc/GMT+3 +Etc/GMT+4 +Etc/GMT+5 +Etc/GMT+6 +Etc/GMT+7 +Etc/GMT+8 +Etc/GMT+9 +Etc/GMT-0 +Etc/GMT-1 +Etc/GMT-10 +Etc/GMT-11 +Etc/GMT-12 +Etc/GMT-13 +Etc/GMT-14 +Etc/GMT-2 +Etc/GMT-3 +Etc/GMT-4 +Etc/GMT-5 +Etc/GMT-6 +Etc/GMT-7 +Etc/GMT-8 +Etc/GMT-9 +Etc/GMT0 +Etc/Greenwich +Etc/UCT +Etc/UTC +Etc/Universal +Etc/Zulu +Europe/Amsterdam +Europe/Andorra +Europe/Athens +Europe/Belfast +Europe/Belgrade +Europe/Berlin +Europe/Bratislava +Europe/Brussels +Europe/Bucharest +Europe/Budapest +Europe/Busingen +Europe/Chisinau +Europe/Copenhagen +Europe/Dublin +Europe/Gibraltar +Europe/Guernsey +Europe/Helsinki +Europe/Isle_of_Man +Europe/Istanbul +Europe/Jersey +Europe/Kaliningrad +Europe/Kiev +Europe/Lisbon +Europe/Ljubljana +Europe/London +Europe/Luxembourg +Europe/Madrid +Europe/Malta +Europe/Mariehamn +Europe/Minsk +Europe/Monaco +Europe/Moscow +Europe/Nicosia +Europe/Oslo +Europe/Paris +Europe/Podgorica +Europe/Prague +Europe/Riga +Europe/Rome +Europe/Samara +Europe/San_Marino +Europe/Sarajevo +Europe/Simferopol +Europe/Skopje +Europe/Sofia +Europe/Stockholm +Europe/Tallinn +Europe/Tirane +Europe/Tiraspol +Europe/Uzhgorod +Europe/Vaduz +Europe/Vatican +Europe/Vienna +Europe/Vilnius +Europe/Volgograd +Europe/Warsaw +Europe/Zagreb +Europe/Zaporozhye +Europe/Zurich +Factory +GB +GB-Eire +GMT +GMT+0 +GMT-0 +GMT0 +Greenwich +HST +Hongkong +Iceland +Indian/Antananarivo +Indian/Chagos +Indian/Christmas +Indian/Cocos +Indian/Comoro +Indian/Kerguelen +Indian/Mahe +Indian/Maldives +Indian/Mauritius +Indian/Mayotte +Indian/Reunion +Iran +Israel +Jamaica +Japan +Kwajalein +Libya +MET +MST +MST7MDT +Mexico/BajaNorte +Mexico/BajaSur +Mexico/General +NZ +NZ-CHAT +Navajo +PRC +PST8PDT +Pacific/Apia +Pacific/Auckland +Pacific/Bougainville +Pacific/Chatham +Pacific/Chuuk +Pacific/Easter +Pacific/Efate +Pacific/Enderbury +Pacific/Fakaofo +Pacific/Fiji +Pacific/Funafuti +Pacific/Galapagos +Pacific/Gambier +Pacific/Guadalcanal +Pacific/Guam +Pacific/Honolulu +Pacific/Johnston +Pacific/Kiritimati +Pacific/Kosrae +Pacific/Kwajalein +Pacific/Majuro +Pacific/Marquesas +Pacific/Midway +Pacific/Nauru +Pacific/Niue +Pacific/Norfolk +Pacific/Noumea +Pacific/Pago_Pago +Pacific/Palau +Pacific/Pitcairn +Pacific/Pohnpei +Pacific/Ponape +Pacific/Port_Moresby +Pacific/Rarotonga +Pacific/Saipan +Pacific/Samoa +Pacific/Tahiti +Pacific/Tarawa +Pacific/Tongatapu +Pacific/Truk +Pacific/Wake +Pacific/Wallis +Pacific/Yap +Poland +Portugal +ROC +ROK +Singapore +Turkey +UCT +UTC +Universal +W-SU +WET +Zulu +posix/Africa/Abidjan +posix/Africa/Accra +posix/Africa/Addis_Ababa +posix/Africa/Algiers +posix/Africa/Asmara +posix/Africa/Asmera +posix/Africa/Bamako +posix/Africa/Bangui +posix/Africa/Banjul +posix/Africa/Bissau +posix/Africa/Blantyre +posix/Africa/Brazzaville +posix/Africa/Bujumbura +posix/Africa/Cairo +posix/Africa/Casablanca +posix/Africa/Ceuta +posix/Africa/Conakry +posix/Africa/Dakar +posix/Africa/Dar_es_Salaam +posix/Africa/Djibouti +posix/Africa/Douala +posix/Africa/El_Aaiun +posix/Africa/Freetown +posix/Africa/Gaborone +posix/Africa/Harare +posix/Africa/Johannesburg +posix/Africa/Juba +posix/Africa/Kampala +posix/Africa/Khartoum +posix/Africa/Kigali +posix/Africa/Kinshasa +posix/Africa/Lagos +posix/Africa/Libreville +posix/Africa/Lome +posix/Africa/Luanda +posix/Africa/Lubumbashi +posix/Africa/Lusaka +posix/Africa/Malabo +posix/Africa/Maputo +posix/Africa/Maseru +posix/Africa/Mbabane +posix/Africa/Mogadishu +posix/Africa/Monrovia +posix/Africa/Nairobi +posix/Africa/Ndjamena +posix/Africa/Niamey +posix/Africa/Nouakchott +posix/Africa/Ouagadougou +posix/Africa/Porto-Novo +posix/Africa/Sao_Tome +posix/Africa/Timbuktu +posix/Africa/Tripoli +posix/Africa/Tunis +posix/Africa/Windhoek +posix/America/Adak +posix/America/Anchorage +posix/America/Anguilla +posix/America/Antigua +posix/America/Araguaina +posix/America/Argentina/Buenos_Aires +posix/America/Argentina/Catamarca +posix/America/Argentina/ComodRivadavia +posix/America/Argentina/Cordoba +posix/America/Argentina/Jujuy +posix/America/Argentina/La_Rioja +posix/America/Argentina/Mendoza +posix/America/Argentina/Rio_Gallegos +posix/America/Argentina/Salta +posix/America/Argentina/San_Juan +posix/America/Argentina/San_Luis +posix/America/Argentina/Tucuman +posix/America/Argentina/Ushuaia +posix/America/Aruba +posix/America/Asuncion +posix/America/Atikokan +posix/America/Atka +posix/America/Bahia +posix/America/Bahia_Banderas +posix/America/Barbados +posix/America/Belem +posix/America/Belize +posix/America/Blanc-Sablon +posix/America/Boa_Vista +posix/America/Bogota +posix/America/Boise +posix/America/Buenos_Aires +posix/America/Cambridge_Bay +posix/America/Campo_Grande +posix/America/Cancun +posix/America/Caracas +posix/America/Catamarca +posix/America/Cayenne +posix/America/Cayman +posix/America/Chicago +posix/America/Chihuahua +posix/America/Coral_Harbour +posix/America/Cordoba +posix/America/Costa_Rica +posix/America/Creston +posix/America/Cuiaba +posix/America/Curacao +posix/America/Danmarkshavn +posix/America/Dawson +posix/America/Dawson_Creek +posix/America/Denver +posix/America/Detroit +posix/America/Dominica +posix/America/Edmonton +posix/America/Eirunepe +posix/America/El_Salvador +posix/America/Ensenada +posix/America/Fort_Wayne +posix/America/Fortaleza +posix/America/Glace_Bay +posix/America/Godthab +posix/America/Goose_Bay +posix/America/Grand_Turk +posix/America/Grenada +posix/America/Guadeloupe +posix/America/Guatemala +posix/America/Guayaquil +posix/America/Guyana +posix/America/Halifax +posix/America/Havana +posix/America/Hermosillo +posix/America/Indiana/Indianapolis +posix/America/Indiana/Knox +posix/America/Indiana/Marengo +posix/America/Indiana/Petersburg +posix/America/Indiana/Tell_City +posix/America/Indiana/Vevay +posix/America/Indiana/Vincennes +posix/America/Indiana/Winamac +posix/America/Indianapolis +posix/America/Inuvik +posix/America/Iqaluit +posix/America/Jamaica +posix/America/Jujuy +posix/America/Juneau +posix/America/Kentucky/Louisville +posix/America/Kentucky/Monticello +posix/America/Knox_IN +posix/America/Kralendijk +posix/America/La_Paz +posix/America/Lima +posix/America/Los_Angeles +posix/America/Louisville +posix/America/Lower_Princes +posix/America/Maceio +posix/America/Managua +posix/America/Manaus +posix/America/Marigot +posix/America/Martinique +posix/America/Matamoros +posix/America/Mazatlan +posix/America/Mendoza +posix/America/Menominee +posix/America/Merida +posix/America/Metlakatla +posix/America/Mexico_City +posix/America/Miquelon +posix/America/Moncton +posix/America/Monterrey +posix/America/Montevideo +posix/America/Montreal +posix/America/Montserrat +posix/America/Nassau +posix/America/New_York +posix/America/Nipigon +posix/America/Nome +posix/America/Noronha +posix/America/North_Dakota/Beulah +posix/America/North_Dakota/Center +posix/America/North_Dakota/New_Salem +posix/America/Ojinaga +posix/America/Panama +posix/America/Pangnirtung +posix/America/Paramaribo +posix/America/Phoenix +posix/America/Port-au-Prince +posix/America/Port_of_Spain +posix/America/Porto_Acre +posix/America/Porto_Velho +posix/America/Puerto_Rico +posix/America/Rainy_River +posix/America/Rankin_Inlet +posix/America/Recife +posix/America/Regina +posix/America/Resolute +posix/America/Rio_Branco +posix/America/Rosario +posix/America/Santa_Isabel +posix/America/Santarem +posix/America/Santiago +posix/America/Santo_Domingo +posix/America/Sao_Paulo +posix/America/Scoresbysund +posix/America/Shiprock +posix/America/Sitka +posix/America/St_Barthelemy +posix/America/St_Johns +posix/America/St_Kitts +posix/America/St_Lucia +posix/America/St_Thomas +posix/America/St_Vincent +posix/America/Swift_Current +posix/America/Tegucigalpa +posix/America/Thule +posix/America/Thunder_Bay +posix/America/Tijuana +posix/America/Toronto +posix/America/Tortola +posix/America/Vancouver +posix/America/Virgin +posix/America/Whitehorse +posix/America/Winnipeg +posix/America/Yakutat +posix/America/Yellowknife +posix/Antarctica/Casey +posix/Antarctica/Davis +posix/Antarctica/DumontDUrville +posix/Antarctica/Macquarie +posix/Antarctica/Mawson +posix/Antarctica/McMurdo +posix/Antarctica/Palmer +posix/Antarctica/Rothera +posix/Antarctica/South_Pole +posix/Antarctica/Syowa +posix/Antarctica/Troll +posix/Antarctica/Vostok +posix/Arctic/Longyearbyen +posix/Asia/Aden +posix/Asia/Almaty +posix/Asia/Amman +posix/Asia/Anadyr +posix/Asia/Aqtau +posix/Asia/Aqtobe +posix/Asia/Ashgabat +posix/Asia/Ashkhabad +posix/Asia/Baghdad +posix/Asia/Bahrain +posix/Asia/Baku +posix/Asia/Bangkok +posix/Asia/Beirut +posix/Asia/Bishkek +posix/Asia/Brunei +posix/Asia/Calcutta +posix/Asia/Chita +posix/Asia/Choibalsan +posix/Asia/Chongqing +posix/Asia/Chungking +posix/Asia/Colombo +posix/Asia/Dacca +posix/Asia/Damascus +posix/Asia/Dhaka +posix/Asia/Dili +posix/Asia/Dubai +posix/Asia/Dushanbe +posix/Asia/Gaza +posix/Asia/Harbin +posix/Asia/Hebron +posix/Asia/Ho_Chi_Minh +posix/Asia/Hong_Kong +posix/Asia/Hovd +posix/Asia/Irkutsk +posix/Asia/Istanbul +posix/Asia/Jakarta +posix/Asia/Jayapura +posix/Asia/Jerusalem +posix/Asia/Kabul +posix/Asia/Kamchatka +posix/Asia/Karachi +posix/Asia/Kashgar +posix/Asia/Kathmandu +posix/Asia/Katmandu +posix/Asia/Khandyga +posix/Asia/Kolkata +posix/Asia/Krasnoyarsk +posix/Asia/Kuala_Lumpur +posix/Asia/Kuching +posix/Asia/Kuwait +posix/Asia/Macao +posix/Asia/Macau +posix/Asia/Magadan +posix/Asia/Makassar +posix/Asia/Manila +posix/Asia/Muscat +posix/Asia/Nicosia +posix/Asia/Novokuznetsk +posix/Asia/Novosibirsk +posix/Asia/Omsk +posix/Asia/Oral +posix/Asia/Phnom_Penh +posix/Asia/Pontianak +posix/Asia/Pyongyang +posix/Asia/Qatar +posix/Asia/Qyzylorda +posix/Asia/Rangoon +posix/Asia/Riyadh +posix/Asia/Saigon +posix/Asia/Sakhalin +posix/Asia/Samarkand +posix/Asia/Seoul +posix/Asia/Shanghai +posix/Asia/Singapore +posix/Asia/Srednekolymsk +posix/Asia/Taipei +posix/Asia/Tashkent +posix/Asia/Tbilisi +posix/Asia/Tehran +posix/Asia/Tel_Aviv +posix/Asia/Thimbu +posix/Asia/Thimphu +posix/Asia/Tokyo +posix/Asia/Ujung_Pandang +posix/Asia/Ulaanbaatar +posix/Asia/Ulan_Bator +posix/Asia/Urumqi +posix/Asia/Ust-Nera +posix/Asia/Vientiane +posix/Asia/Vladivostok +posix/Asia/Yakutsk +posix/Asia/Yekaterinburg +posix/Asia/Yerevan +posix/Atlantic/Azores +posix/Atlantic/Bermuda +posix/Atlantic/Canary +posix/Atlantic/Cape_Verde +posix/Atlantic/Faeroe +posix/Atlantic/Faroe +posix/Atlantic/Jan_Mayen +posix/Atlantic/Madeira +posix/Atlantic/Reykjavik +posix/Atlantic/South_Georgia +posix/Atlantic/St_Helena +posix/Atlantic/Stanley +posix/Australia/ACT +posix/Australia/Adelaide +posix/Australia/Brisbane +posix/Australia/Broken_Hill +posix/Australia/Canberra +posix/Australia/Currie +posix/Australia/Darwin +posix/Australia/Eucla +posix/Australia/Hobart +posix/Australia/LHI +posix/Australia/Lindeman +posix/Australia/Lord_Howe +posix/Australia/Melbourne +posix/Australia/NSW +posix/Australia/North +posix/Australia/Perth +posix/Australia/Queensland +posix/Australia/South +posix/Australia/Sydney +posix/Australia/Tasmania +posix/Australia/Victoria +posix/Australia/West +posix/Australia/Yancowinna +posix/Brazil/Acre +posix/Brazil/DeNoronha +posix/Brazil/East +posix/Brazil/West +posix/CET +posix/CST6CDT +posix/Canada/Atlantic +posix/Canada/Central +posix/Canada/East-Saskatchewan +posix/Canada/Eastern +posix/Canada/Mountain +posix/Canada/Newfoundland +posix/Canada/Pacific +posix/Canada/Saskatchewan +posix/Canada/Yukon +posix/Chile/Continental +posix/Chile/EasterIsland +posix/Cuba +posix/EET +posix/EST +posix/EST5EDT +posix/Egypt +posix/Eire +posix/Etc/GMT +posix/Etc/GMT+0 +posix/Etc/GMT+1 +posix/Etc/GMT+10 +posix/Etc/GMT+11 +posix/Etc/GMT+12 +posix/Etc/GMT+2 +posix/Etc/GMT+3 +posix/Etc/GMT+4 +posix/Etc/GMT+5 +posix/Etc/GMT+6 +posix/Etc/GMT+7 +posix/Etc/GMT+8 +posix/Etc/GMT+9 +posix/Etc/GMT-0 +posix/Etc/GMT-1 +posix/Etc/GMT-10 +posix/Etc/GMT-11 +posix/Etc/GMT-12 +posix/Etc/GMT-13 +posix/Etc/GMT-14 +posix/Etc/GMT-2 +posix/Etc/GMT-3 +posix/Etc/GMT-4 +posix/Etc/GMT-5 +posix/Etc/GMT-6 +posix/Etc/GMT-7 +posix/Etc/GMT-8 +posix/Etc/GMT-9 +posix/Etc/GMT0 +posix/Etc/Greenwich +posix/Etc/UCT +posix/Etc/UTC +posix/Etc/Universal +posix/Etc/Zulu +posix/Europe/Amsterdam +posix/Europe/Andorra +posix/Europe/Athens +posix/Europe/Belfast +posix/Europe/Belgrade +posix/Europe/Berlin +posix/Europe/Bratislava +posix/Europe/Brussels +posix/Europe/Bucharest +posix/Europe/Budapest +posix/Europe/Busingen +posix/Europe/Chisinau +posix/Europe/Copenhagen +posix/Europe/Dublin +posix/Europe/Gibraltar +posix/Europe/Guernsey +posix/Europe/Helsinki +posix/Europe/Isle_of_Man +posix/Europe/Istanbul +posix/Europe/Jersey +posix/Europe/Kaliningrad +posix/Europe/Kiev +posix/Europe/Lisbon +posix/Europe/Ljubljana +posix/Europe/London +posix/Europe/Luxembourg +posix/Europe/Madrid +posix/Europe/Malta +posix/Europe/Mariehamn +posix/Europe/Minsk +posix/Europe/Monaco +posix/Europe/Moscow +posix/Europe/Nicosia +posix/Europe/Oslo +posix/Europe/Paris +posix/Europe/Podgorica +posix/Europe/Prague +posix/Europe/Riga +posix/Europe/Rome +posix/Europe/Samara +posix/Europe/San_Marino +posix/Europe/Sarajevo +posix/Europe/Simferopol +posix/Europe/Skopje +posix/Europe/Sofia +posix/Europe/Stockholm +posix/Europe/Tallinn +posix/Europe/Tirane +posix/Europe/Tiraspol +posix/Europe/Uzhgorod +posix/Europe/Vaduz +posix/Europe/Vatican +posix/Europe/Vienna +posix/Europe/Vilnius +posix/Europe/Volgograd +posix/Europe/Warsaw +posix/Europe/Zagreb +posix/Europe/Zaporozhye +posix/Europe/Zurich +posix/Factory +posix/GB +posix/GB-Eire +posix/GMT +posix/GMT+0 +posix/GMT-0 +posix/GMT0 +posix/Greenwich +posix/HST +posix/Hongkong +posix/Iceland +posix/Indian/Antananarivo +posix/Indian/Chagos +posix/Indian/Christmas +posix/Indian/Cocos +posix/Indian/Comoro +posix/Indian/Kerguelen +posix/Indian/Mahe +posix/Indian/Maldives +posix/Indian/Mauritius +posix/Indian/Mayotte +posix/Indian/Reunion +posix/Iran +posix/Israel +posix/Jamaica +posix/Japan +posix/Kwajalein +posix/Libya +posix/MET +posix/MST +posix/MST7MDT +posix/Mexico/BajaNorte +posix/Mexico/BajaSur +posix/Mexico/General +posix/NZ +posix/NZ-CHAT +posix/Navajo +posix/PRC +posix/PST8PDT +posix/Pacific/Apia +posix/Pacific/Auckland +posix/Pacific/Bougainville +posix/Pacific/Chatham +posix/Pacific/Chuuk +posix/Pacific/Easter +posix/Pacific/Efate +posix/Pacific/Enderbury +posix/Pacific/Fakaofo +posix/Pacific/Fiji +posix/Pacific/Funafuti +posix/Pacific/Galapagos +posix/Pacific/Gambier +posix/Pacific/Guadalcanal +posix/Pacific/Guam +posix/Pacific/Honolulu +posix/Pacific/Johnston +posix/Pacific/Kiritimati +posix/Pacific/Kosrae +posix/Pacific/Kwajalein +posix/Pacific/Majuro +posix/Pacific/Marquesas +posix/Pacific/Midway +posix/Pacific/Nauru +posix/Pacific/Niue +posix/Pacific/Norfolk +posix/Pacific/Noumea +posix/Pacific/Pago_Pago +posix/Pacific/Palau +posix/Pacific/Pitcairn +posix/Pacific/Pohnpei +posix/Pacific/Ponape +posix/Pacific/Port_Moresby +posix/Pacific/Rarotonga +posix/Pacific/Saipan +posix/Pacific/Samoa +posix/Pacific/Tahiti +posix/Pacific/Tarawa +posix/Pacific/Tongatapu +posix/Pacific/Truk +posix/Pacific/Wake +posix/Pacific/Wallis +posix/Pacific/Yap +posix/Poland +posix/Portugal +posix/ROC +posix/ROK +posix/Singapore +posix/Turkey +posix/UCT +posix/US/Alaska +posix/US/Aleutian +posix/US/Arizona +posix/US/Central +posix/US/East-Indiana +posix/US/Eastern +posix/US/Hawaii +posix/US/Indiana-Starke +posix/US/Michigan +posix/US/Mountain +posix/US/Pacific +posix/US/Pacific-New +posix/US/Samoa +posix/UTC +posix/Universal +posix/W-SU +posix/WET +posix/Zulu +posix/localtime +posix/posixrules +posixrules +right/Africa/Abidjan +right/Africa/Accra +right/Africa/Addis_Ababa +right/Africa/Algiers +right/Africa/Asmara +right/Africa/Asmera +right/Africa/Bamako +right/Africa/Bangui +right/Africa/Banjul +right/Africa/Bissau +right/Africa/Blantyre +right/Africa/Brazzaville +right/Africa/Bujumbura +right/Africa/Cairo +right/Africa/Casablanca +right/Africa/Ceuta +right/Africa/Conakry +right/Africa/Dakar +right/Africa/Dar_es_Salaam +right/Africa/Djibouti +right/Africa/Douala +right/Africa/El_Aaiun +right/Africa/Freetown +right/Africa/Gaborone +right/Africa/Harare +right/Africa/Johannesburg +right/Africa/Juba +right/Africa/Kampala +right/Africa/Khartoum +right/Africa/Kigali +right/Africa/Kinshasa +right/Africa/Lagos +right/Africa/Libreville +right/Africa/Lome +right/Africa/Luanda +right/Africa/Lubumbashi +right/Africa/Lusaka +right/Africa/Malabo +right/Africa/Maputo +right/Africa/Maseru +right/Africa/Mbabane +right/Africa/Mogadishu +right/Africa/Monrovia +right/Africa/Nairobi +right/Africa/Ndjamena +right/Africa/Niamey +right/Africa/Nouakchott +right/Africa/Ouagadougou +right/Africa/Porto-Novo +right/Africa/Sao_Tome +right/Africa/Timbuktu +right/Africa/Tripoli +right/Africa/Tunis +right/Africa/Windhoek +right/America/Adak +right/America/Anchorage +right/America/Anguilla +right/America/Antigua +right/America/Araguaina +right/America/Argentina/Buenos_Aires +right/America/Argentina/Catamarca +right/America/Argentina/ComodRivadavia +right/America/Argentina/Cordoba +right/America/Argentina/Jujuy +right/America/Argentina/La_Rioja +right/America/Argentina/Mendoza +right/America/Argentina/Rio_Gallegos +right/America/Argentina/Salta +right/America/Argentina/San_Juan +right/America/Argentina/San_Luis +right/America/Argentina/Tucuman +right/America/Argentina/Ushuaia +right/America/Aruba +right/America/Asuncion +right/America/Atikokan +right/America/Atka +right/America/Bahia +right/America/Bahia_Banderas +right/America/Barbados +right/America/Belem +right/America/Belize +right/America/Blanc-Sablon +right/America/Boa_Vista +right/America/Bogota +right/America/Boise +right/America/Buenos_Aires +right/America/Cambridge_Bay +right/America/Campo_Grande +right/America/Cancun +right/America/Caracas +right/America/Catamarca +right/America/Cayenne +right/America/Cayman +right/America/Chicago +right/America/Chihuahua +right/America/Coral_Harbour +right/America/Cordoba +right/America/Costa_Rica +right/America/Creston +right/America/Cuiaba +right/America/Curacao +right/America/Danmarkshavn +right/America/Dawson +right/America/Dawson_Creek +right/America/Denver +right/America/Detroit +right/America/Dominica +right/America/Edmonton +right/America/Eirunepe +right/America/El_Salvador +right/America/Ensenada +right/America/Fort_Wayne +right/America/Fortaleza +right/America/Glace_Bay +right/America/Godthab +right/America/Goose_Bay +right/America/Grand_Turk +right/America/Grenada +right/America/Guadeloupe +right/America/Guatemala +right/America/Guayaquil +right/America/Guyana +right/America/Halifax +right/America/Havana +right/America/Hermosillo +right/America/Indiana/Indianapolis +right/America/Indiana/Knox +right/America/Indiana/Marengo +right/America/Indiana/Petersburg +right/America/Indiana/Tell_City +right/America/Indiana/Vevay +right/America/Indiana/Vincennes +right/America/Indiana/Winamac +right/America/Indianapolis +right/America/Inuvik +right/America/Iqaluit +right/America/Jamaica +right/America/Jujuy +right/America/Juneau +right/America/Kentucky/Louisville +right/America/Kentucky/Monticello +right/America/Knox_IN +right/America/Kralendijk +right/America/La_Paz +right/America/Lima +right/America/Los_Angeles +right/America/Louisville +right/America/Lower_Princes +right/America/Maceio +right/America/Managua +right/America/Manaus +right/America/Marigot +right/America/Martinique +right/America/Matamoros +right/America/Mazatlan +right/America/Mendoza +right/America/Menominee +right/America/Merida +right/America/Metlakatla +right/America/Mexico_City +right/America/Miquelon +right/America/Moncton +right/America/Monterrey +right/America/Montevideo +right/America/Montreal +right/America/Montserrat +right/America/Nassau +right/America/New_York +right/America/Nipigon +right/America/Nome +right/America/Noronha +right/America/North_Dakota/Beulah +right/America/North_Dakota/Center +right/America/North_Dakota/New_Salem +right/America/Ojinaga +right/America/Panama +right/America/Pangnirtung +right/America/Paramaribo +right/America/Phoenix +right/America/Port-au-Prince +right/America/Port_of_Spain +right/America/Porto_Acre +right/America/Porto_Velho +right/America/Puerto_Rico +right/America/Rainy_River +right/America/Rankin_Inlet +right/America/Recife +right/America/Regina +right/America/Resolute +right/America/Rio_Branco +right/America/Rosario +right/America/Santa_Isabel +right/America/Santarem +right/America/Santiago +right/America/Santo_Domingo +right/America/Sao_Paulo +right/America/Scoresbysund +right/America/Shiprock +right/America/Sitka +right/America/St_Barthelemy +right/America/St_Johns +right/America/St_Kitts +right/America/St_Lucia +right/America/St_Thomas +right/America/St_Vincent +right/America/Swift_Current +right/America/Tegucigalpa +right/America/Thule +right/America/Thunder_Bay +right/America/Tijuana +right/America/Toronto +right/America/Tortola +right/America/Vancouver +right/America/Virgin +right/America/Whitehorse +right/America/Winnipeg +right/America/Yakutat +right/America/Yellowknife +right/Antarctica/Casey +right/Antarctica/Davis +right/Antarctica/DumontDUrville +right/Antarctica/Macquarie +right/Antarctica/Mawson +right/Antarctica/McMurdo +right/Antarctica/Palmer +right/Antarctica/Rothera +right/Antarctica/South_Pole +right/Antarctica/Syowa +right/Antarctica/Troll +right/Antarctica/Vostok +right/Arctic/Longyearbyen +right/Asia/Aden +right/Asia/Almaty +right/Asia/Amman +right/Asia/Anadyr +right/Asia/Aqtau +right/Asia/Aqtobe +right/Asia/Ashgabat +right/Asia/Ashkhabad +right/Asia/Baghdad +right/Asia/Bahrain +right/Asia/Baku +right/Asia/Bangkok +right/Asia/Beirut +right/Asia/Bishkek +right/Asia/Brunei +right/Asia/Calcutta +right/Asia/Chita +right/Asia/Choibalsan +right/Asia/Chongqing +right/Asia/Chungking +right/Asia/Colombo +right/Asia/Dacca +right/Asia/Damascus +right/Asia/Dhaka +right/Asia/Dili +right/Asia/Dubai +right/Asia/Dushanbe +right/Asia/Gaza +right/Asia/Harbin +right/Asia/Hebron +right/Asia/Ho_Chi_Minh +right/Asia/Hong_Kong +right/Asia/Hovd +right/Asia/Irkutsk +right/Asia/Istanbul +right/Asia/Jakarta +right/Asia/Jayapura +right/Asia/Jerusalem +right/Asia/Kabul +right/Asia/Kamchatka +right/Asia/Karachi +right/Asia/Kashgar +right/Asia/Kathmandu +right/Asia/Katmandu +right/Asia/Khandyga +right/Asia/Kolkata +right/Asia/Krasnoyarsk +right/Asia/Kuala_Lumpur +right/Asia/Kuching +right/Asia/Kuwait +right/Asia/Macao +right/Asia/Macau +right/Asia/Magadan +right/Asia/Makassar +right/Asia/Manila +right/Asia/Muscat +right/Asia/Nicosia +right/Asia/Novokuznetsk +right/Asia/Novosibirsk +right/Asia/Omsk +right/Asia/Oral +right/Asia/Phnom_Penh +right/Asia/Pontianak +right/Asia/Pyongyang +right/Asia/Qatar +right/Asia/Qyzylorda +right/Asia/Rangoon +right/Asia/Riyadh +right/Asia/Saigon +right/Asia/Sakhalin +right/Asia/Samarkand +right/Asia/Seoul +right/Asia/Shanghai +right/Asia/Singapore +right/Asia/Srednekolymsk +right/Asia/Taipei +right/Asia/Tashkent +right/Asia/Tbilisi +right/Asia/Tehran +right/Asia/Tel_Aviv +right/Asia/Thimbu +right/Asia/Thimphu +right/Asia/Tokyo +right/Asia/Ujung_Pandang +right/Asia/Ulaanbaatar +right/Asia/Ulan_Bator +right/Asia/Urumqi +right/Asia/Ust-Nera +right/Asia/Vientiane +right/Asia/Vladivostok +right/Asia/Yakutsk +right/Asia/Yekaterinburg +right/Asia/Yerevan +right/Atlantic/Azores +right/Atlantic/Bermuda +right/Atlantic/Canary +right/Atlantic/Cape_Verde +right/Atlantic/Faeroe +right/Atlantic/Faroe +right/Atlantic/Jan_Mayen +right/Atlantic/Madeira +right/Atlantic/Reykjavik +right/Atlantic/South_Georgia +right/Atlantic/St_Helena +right/Atlantic/Stanley +right/Australia/ACT +right/Australia/Adelaide +right/Australia/Brisbane +right/Australia/Broken_Hill +right/Australia/Canberra +right/Australia/Currie +right/Australia/Darwin +right/Australia/Eucla +right/Australia/Hobart +right/Australia/LHI +right/Australia/Lindeman +right/Australia/Lord_Howe +right/Australia/Melbourne +right/Australia/NSW +right/Australia/North +right/Australia/Perth +right/Australia/Queensland +right/Australia/South +right/Australia/Sydney +right/Australia/Tasmania +right/Australia/Victoria +right/Australia/West +right/Australia/Yancowinna +right/Brazil/Acre +right/Brazil/DeNoronha +right/Brazil/East +right/Brazil/West +right/CET +right/CST6CDT +right/Canada/Atlantic +right/Canada/Central +right/Canada/East-Saskatchewan +right/Canada/Eastern +right/Canada/Mountain +right/Canada/Newfoundland +right/Canada/Pacific +right/Canada/Saskatchewan +right/Canada/Yukon +right/Chile/Continental +right/Chile/EasterIsland +right/Cuba +right/EET +right/EST +right/EST5EDT +right/Egypt +right/Eire +right/Etc/GMT +right/Etc/GMT+0 +right/Etc/GMT+1 +right/Etc/GMT+10 +right/Etc/GMT+11 +right/Etc/GMT+12 +right/Etc/GMT+2 +right/Etc/GMT+3 +right/Etc/GMT+4 +right/Etc/GMT+5 +right/Etc/GMT+6 +right/Etc/GMT+7 +right/Etc/GMT+8 +right/Etc/GMT+9 +right/Etc/GMT-0 +right/Etc/GMT-1 +right/Etc/GMT-10 +right/Etc/GMT-11 +right/Etc/GMT-12 +right/Etc/GMT-13 +right/Etc/GMT-14 +right/Etc/GMT-2 +right/Etc/GMT-3 +right/Etc/GMT-4 +right/Etc/GMT-5 +right/Etc/GMT-6 +right/Etc/GMT-7 +right/Etc/GMT-8 +right/Etc/GMT-9 +right/Etc/GMT0 +right/Etc/Greenwich +right/Etc/UCT +right/Etc/UTC +right/Etc/Universal +right/Etc/Zulu +right/Europe/Amsterdam +right/Europe/Andorra +right/Europe/Athens +right/Europe/Belfast +right/Europe/Belgrade +right/Europe/Berlin +right/Europe/Bratislava +right/Europe/Brussels +right/Europe/Bucharest +right/Europe/Budapest +right/Europe/Busingen +right/Europe/Chisinau +right/Europe/Copenhagen +right/Europe/Dublin +right/Europe/Gibraltar +right/Europe/Guernsey +right/Europe/Helsinki +right/Europe/Isle_of_Man +right/Europe/Istanbul +right/Europe/Jersey +right/Europe/Kaliningrad +right/Europe/Kiev +right/Europe/Lisbon +right/Europe/Ljubljana +right/Europe/London +right/Europe/Luxembourg +right/Europe/Madrid +right/Europe/Malta +right/Europe/Mariehamn +right/Europe/Minsk +right/Europe/Monaco +right/Europe/Moscow +right/Europe/Nicosia +right/Europe/Oslo +right/Europe/Paris +right/Europe/Podgorica +right/Europe/Prague +right/Europe/Riga +right/Europe/Rome +right/Europe/Samara +right/Europe/San_Marino +right/Europe/Sarajevo +right/Europe/Simferopol +right/Europe/Skopje +right/Europe/Sofia +right/Europe/Stockholm +right/Europe/Tallinn +right/Europe/Tirane +right/Europe/Tiraspol +right/Europe/Uzhgorod +right/Europe/Vaduz +right/Europe/Vatican +right/Europe/Vienna +right/Europe/Vilnius +right/Europe/Volgograd +right/Europe/Warsaw +right/Europe/Zagreb +right/Europe/Zaporozhye +right/Europe/Zurich +right/Factory +right/GB +right/GB-Eire +right/GMT +right/GMT+0 +right/GMT-0 +right/GMT0 +right/Greenwich +right/HST +right/Hongkong +right/Iceland +right/Indian/Antananarivo +right/Indian/Chagos +right/Indian/Christmas +right/Indian/Cocos +right/Indian/Comoro +right/Indian/Kerguelen +right/Indian/Mahe +right/Indian/Maldives +right/Indian/Mauritius +right/Indian/Mayotte +right/Indian/Reunion +right/Iran +right/Israel +right/Jamaica +right/Japan +right/Kwajalein +right/Libya +right/MET +right/MST +right/MST7MDT +right/Mexico/BajaNorte +right/Mexico/BajaSur +right/Mexico/General +right/NZ +right/NZ-CHAT +right/Navajo +right/PRC +right/PST8PDT +right/Pacific/Apia +right/Pacific/Auckland +right/Pacific/Bougainville +right/Pacific/Chatham +right/Pacific/Chuuk +right/Pacific/Easter +right/Pacific/Efate +right/Pacific/Enderbury +right/Pacific/Fakaofo +right/Pacific/Fiji +right/Pacific/Funafuti +right/Pacific/Galapagos +right/Pacific/Gambier +right/Pacific/Guadalcanal +right/Pacific/Guam +right/Pacific/Honolulu +right/Pacific/Johnston +right/Pacific/Kiritimati +right/Pacific/Kosrae +right/Pacific/Kwajalein +right/Pacific/Majuro +right/Pacific/Marquesas +right/Pacific/Midway +right/Pacific/Nauru +right/Pacific/Niue +right/Pacific/Norfolk +right/Pacific/Noumea +right/Pacific/Pago_Pago +right/Pacific/Palau +right/Pacific/Pitcairn +right/Pacific/Pohnpei +right/Pacific/Ponape +right/Pacific/Port_Moresby +right/Pacific/Rarotonga +right/Pacific/Saipan +right/Pacific/Samoa +right/Pacific/Tahiti +right/Pacific/Tarawa +right/Pacific/Tongatapu +right/Pacific/Truk +right/Pacific/Wake +right/Pacific/Wallis +right/Pacific/Yap +right/Poland +right/Portugal +right/ROC +right/ROK +right/Singapore +right/Turkey +right/UCT +right/US/Alaska +right/US/Aleutian +right/US/Arizona +right/US/Central +right/US/East-Indiana +right/US/Eastern +right/US/Hawaii +right/US/Indiana-Starke +right/US/Michigan +right/US/Mountain +right/US/Pacific +right/US/Pacific-New +right/US/Samoa +right/UTC +right/Universal +right/W-SU +right/WET +right/Zulu + +Type it at the prompt below exactly as it appears above. (NOTE: If you don't +see your timezone, use "timeconfig" again after booting for the verbose list) + +EOF + echo -n "Timezone? " + read TIMEZONE; + echo + + if [ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \ + -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then + echo "Creating link from $TIMEZONE to localtime in /etc..." + echo + setzone $TIMEZONE + exit + else + cat << EOF + +Timezone $TIMEZONE could not be found. You may try again if you wish. +Make sure you type the name exactly as it appears - this configuration script +is case sensitive. + +Press [enter] to continue. + +EOF + read JUNK; + fi + done +fi + diff --git a/patches/source/gnupg/gnupg.SlackBuild b/patches/source/gnupg/gnupg.SlackBuild new file mode 100755 index 000000000..87b88668c --- /dev/null +++ b/patches/source/gnupg/gnupg.SlackBuild @@ -0,0 +1,115 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=gnupg +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gnupg + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +rm -rf $PKG +mkdir -p $PKG $PKG + +cd $TMP +rm -rf gnupg-$VERSION +tar xvf $CWD/gnupg-$VERSION.tar.?z* || exit 1 +cd gnupg-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +gzip -9 $PKG/usr/man/*/* + +mkdir -p $PKG/usr/doc/gnupg-$VERSION +cp -a \ + ABOUT-NLS AUTHORS BUGS COPYING* INSTALL NEWS PROJECTS README* THANKS TODO VERSION \ + $PKG/usr/doc/gnupg-$VERSION +if [ -r $PKG/usr/share/gnupg/FAQ ]; then + ( cd $PKG/usr/doc/gnupg-$VERSION + ln -sf /usr/share/gnupg/FAQ . ) +fi + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Add slack-desc files: +mkdir -p $PKG/install +cat $CWD/slack-desc.gnupg > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/gnupg-$VERSION-$ARCH-$BUILD.txz + +# Clean up the extra stuff: +if [ "$1" = "--cleanup" ]; then + rm -rf $TMP/gnupg-$VERSION + rm -rf $PKG +fi diff --git a/patches/source/gnupg/slack-desc.gnupg b/patches/source/gnupg/slack-desc.gnupg new file mode 100644 index 000000000..496005e9b --- /dev/null +++ b/patches/source/gnupg/slack-desc.gnupg @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gnupg: gnupg (The GNU Privacy Guard) +gnupg: +gnupg: GnuPG is GNU's tool for secure communication and data storage. It can +gnupg: be used to encrypt data and to create digital signatures. It includes +gnupg: an advanced key management facility and is compliant with the proposed +gnupg: OpenPGP Internet standard as described in RFC2440. +gnupg: +gnupg: +gnupg: +gnupg: +gnupg: diff --git a/patches/source/gnupg2/gnupg2.SlackBuild b/patches/source/gnupg2/gnupg2.SlackBuild new file mode 100755 index 000000000..1843e2474 --- /dev/null +++ b/patches/source/gnupg2/gnupg2.SlackBuild @@ -0,0 +1,163 @@ +#!/bin/sh + +# Copyright 2006-2010 Robby Workman, Northport, AL, USA +# Copyright 2007-2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SCRIPT IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=gnupg2 +VERSION=${VERSION:-$(echo gnupg-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-gnupg + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf gnupg-$VERSION +tar xvf $CWD/gnupg-$VERSION.tar.?z* || exit 1 +cd gnupg-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/gnupg2-$VERSION \ + --program-prefix="" \ + --program-suffix="" \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Create directory for global gpg.conf: +mkdir -p $PKG/etc/gnupg + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +mkdir -p $PKG/usr/doc/gnupg2-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* THANKS TODO VERSION \ + $PKG/usr/doc/gnupg2-$VERSION +# Build html docs +( cd doc + make gnupg.html + mv gnupg.html $PKG/usr/doc/gnupg2-$VERSION/html +) +# Fix some filenames in the html directory +( cd $PKG/usr/doc/gnupg2-$VERSION/html +mv how_002dto_002dspecify_002da_002duser_002did.html howto_specify_user_id.html +mv GnuPG_002d1-and-GnuPG_002d2.html GnuPG_1-and-GnuPG_2.html +mv gpg_002dpreset_002dpassphrase.html gpg_preset_passphrase.html +mv gpgsm_002dgencert_002esh.html gpgsm_gencert_sh.html +mv Invoking-gpg_002dpreset_002dpassphrase.html Invoking-gpg_preset_passphrase.html +mv Invoking-gpg_002dconnect_002dagent.html Invoking-gpg_connect_agent.html +mv gpg_002dconnect_002dagent.html gpg_connect_agent.html +mv Agent-GET_005fCONFIRMATION.html Agent-GET_CONFIRMATION.html +mv option-_002d_002denable_002dssh_002dsupport.html option-enable_ssh_support.html +mv option-_002d_002doptions.html option-options.html +mv Invoking-GPG_002dAGENT.html Invoking-GPG_AGENT.html +mv gpg_002dzip.html gpg_zip.html +mv option-_002d_002dp12_002dcharset.html option-p12_charset.html +mv option-_002d_002dallow_002dmark_002dtrusted.html option-allow_mark_trusted.html +mv Controlling-gpg_002dconnect_002dagent.html Controlling-gpg_connect_agent.html +mv Agent-GET_005fPASSPHRASE.html Agent-GET_PASSPHRASE.html +mv option-_002d_002dhomedir.html option-homedir.html +mv PKCS_002315-Card.html PKCS-15-Card.html +mv option-_002d_002dexport_002downertrust.html option-export_ownertrust.html +mv option-_002d_002dlog_002dfile.html option-logfile.html +mv option-watchgnupg-_002d_002dtcp.html option-watchgnupg-tcp.html +) +# Move html doc to the proper location +mv $PKG/usr/doc/gnupg2-$VERSION/faq.html $PKG/usr/doc/gnupg2-$VERSION/html/ + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gnupg2/slack-desc b/patches/source/gnupg2/slack-desc new file mode 100644 index 000000000..c64d7fb67 --- /dev/null +++ b/patches/source/gnupg2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gnupg2: GnuPG2 (The GNU Privacy Guard version 2.x) +gnupg2: +gnupg2: GnuPG is GNU's tool for secure communication and data storage. It can +gnupg2: be used to encrypt data and to create digital signatures. It includes +gnupg2: an advanced key management facility and is compliant with the proposed +gnupg2: OpenPGP Internet standard as described in RFC2440 and the S/MIME +gnupg2: standard as described by several RFCs. +gnupg2: +gnupg2: GnuPG 2.0 is the stable version of GnuPG integrating support for +gnupg2: OpenPGP and S/MIME. It does not conflict with an installed 1.4.x +gnupg2: OpenPGP-only version. diff --git a/patches/source/gnutls/gnutls.SlackBuild b/patches/source/gnutls/gnutls.SlackBuild new file mode 100755 index 000000000..ee1c7f01e --- /dev/null +++ b/patches/source/gnutls/gnutls.SlackBuild @@ -0,0 +1,150 @@ +#!/bin/sh + +# Copyright 2007, 2008, 2009, 2010 Patrick Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=gnutls +VERSION=${VERSION:-$(echo gnutls-*.tar.?z* | rev | cut -f 4- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP + +rm -rf $PKGNAM-$VERSION +if [ -r $CWD/$PKGNAM-$VERSION.tar.gz ]; then + tar xf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1 +elif [ -r $CWD/$PKGNAM-$VERSION.tar.bz2 ]; then + tar xf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1 +elif [ -r $CWD/$PKGNAM-$VERSION.tar.xz ]; then + tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +elif [ -r $CWD/$PKGNAM-$VERSION.tar.lzma ]; then + tar xf $CWD/$PKGNAM-$VERSION.tar.lzma || exit 1 +else + exit 1 +fi + + +cd $PKGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --enable-static=no \ + --disable-rpath \ + --with-included-libtasn1 \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +( cd $PKG/usr/info + rm -f dir + gzip -9 *.info* +) + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* THANKS \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Likewise for the bloated NEWS: +if [ -r NEWS ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat NEWS | head -n 1000 > $DOCSDIR/NEWS + touch -r NEWS $DOCSDIR/NEWS +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n -p $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/gnutls/slack-desc b/patches/source/gnutls/slack-desc new file mode 100644 index 000000000..49fdb9f0c --- /dev/null +++ b/patches/source/gnutls/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gnutls: gnutls (GNU TLS library) +gnutls: +gnutls: This is a TLS (Transport Layer Security) 1.0 and SSL (Secure Sockets +gnutls: Layer) 3.0 implementation. In brief, GnuTLS can be described as a +gnutls: library which offers an API to access secure communication protocols. +gnutls: These protocols provide privacy over insecure lines, and were designed +gnutls: to prevent eavesdropping, tampering, or message forgery. +gnutls: +gnutls: Homepage: http://www.gnu.org/software/gnutls/ +gnutls: +gnutls: diff --git a/patches/source/hplip/doinst.sh b/patches/source/hplip/doinst.sh new file mode 100644 index 000000000..8f9648e07 --- /dev/null +++ b/patches/source/hplip/doinst.sh @@ -0,0 +1,4 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1 +fi + diff --git a/patches/source/hplip/hplip.CVE-2010-4267.diff b/patches/source/hplip/hplip.CVE-2010-4267.diff new file mode 100644 index 000000000..d7adcdba2 --- /dev/null +++ b/patches/source/hplip/hplip.CVE-2010-4267.diff @@ -0,0 +1,12 @@ +--- hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:35:12.046894255 -0500 ++++ hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:34:35.018894207 -0500 +@@ -504,6 +504,8 @@ enum HPMUD_RESULT hpmud_get_pml(HPMUD_DE + p += 2; /* eat type and length */ + } + ++ if (dLen > buf_size) ++ dLen = buf_size; + memcpy(buf, p, dLen); + *bytes_read = dLen; + *type = dt; + diff --git a/patches/source/hplip/hplip.CVE-2013-4325.diff b/patches/source/hplip/hplip.CVE-2013-4325.diff new file mode 100644 index 000000000..7f3bd8203 --- /dev/null +++ b/patches/source/hplip/hplip.CVE-2013-4325.diff @@ -0,0 +1,38 @@ +From 6d7ddfd19733f2a8197c1e7ad8fdfef2b7e17c1a Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 22 Aug 2013 17:37:31 -0400 +Subject: [PATCH] pkit: Pass system-bus-name as subject, not pid + +Previously, we were forcing polkit to scrape /proc/pid itself for the +uid, which is subject to a race condition if the caller execve()s a +setuid binary. Passing system-bus-name as a subject allows polkit to +use the valid information from the system bus. +--- + base/pkit.py | 9 ++------- + 1 files changed, 2 insertions(+), 7 deletions(-) + +diff --git a/base/pkit.py b/base/pkit.py +index 0acc124..08bebc8 100644 +--- a/base/pkit.py ++++ b/base/pkit.py +@@ -176,15 +176,10 @@ class PolicyKitService(dbus.service.Object): + "/org/freedesktop/PolicyKit1/Authority", + "org.freedesktop.PolicyKit1.Authority") + policy_kit = dbus.Interface(obj, "org.freedesktop.PolicyKit1.Authority") +- info = dbus.Interface(connection.get_object("org.freedesktop.DBus", +- "/org/freedesktop/DBus/Bus", +- False), +- "org.freedesktop.DBus") +- pid = info.GetConnectionUnixProcessID(sender) + + subject = ( +- 'unix-process', +- { 'pid' : dbus.UInt32(pid, variant_level = 1) } ++ 'system-bus-name', ++ { 'name' : dbus.String(sender, variant_level = 1) } + ) + details = { '' : '' } + flags = dbus.UInt32(1) # AllowUserInteraction = 0x00000001 +-- +1.7.1 + diff --git a/patches/source/hplip/hplip.SlackBuild b/patches/source/hplip/hplip.SlackBuild new file mode 100755 index 000000000..85a650fc6 --- /dev/null +++ b/patches/source/hplip/hplip.SlackBuild @@ -0,0 +1,128 @@ +#!/bin/sh + +# Slackware build script for hplip + +# Copyright 2006-2010 Robby Workman, Northport, Alabama, USA +# Copyright 2006-2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=hplip +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-4_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +zcat $CWD/hplip.CVE-2010-4267.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/hplip.CVE-2013-4325.diff.gz | patch -p1 -l --verbose || exit 1 +# upgrade feature deemed insecure and disabled (CVE-2013-6427): +zcat $CWD/hplip.no.upgrade.diff.gz | patch -p1 -l --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Fix udev rules for current versions of udev +sed -i 's/SYSFS/ATTR/g' data/rules/*.rules +# Fix ownership in udev rules file +sed -i 's%OWNER="lp"%OWNER="root"%g' data/rules/*.rules + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-cupsbackenddir=/usr/lib${LIBDIRSUFFIX}/cups/backend \ + --with-cupsfilterdir=/usr/lib${LIBDIRSUFFIX}/cups/filter \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --docdir=/usr/doc/hplip-$VERSION \ + --with-docdir=/usr/doc/hplip-$VERSION \ + --with-hpppddir=/usr/share/cups/model/HP \ + --with-drvdir=/usr/share/cups/drv/hp \ + --enable-hpijs-install \ + --enable-shadow-build \ + --enable-scan-build \ + --enable-gui-build \ + --enable-fax-build \ + --enable-foomatic-rip-hplip-install \ + --disable-foomatic-ppd-install \ + --enable-foomatic-drv-install \ + --enable-network-build=yes \ + --enable-qt4 \ + --enable-policykit \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux \ + || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG rulesdir=/lib/udev/rules.d || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# No thanks, we don't replace/add files which are part of other packages +rm -rf $PKG/etc/sane.d + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/hplip/hplip.no.upgrade.diff b/patches/source/hplip/hplip.no.upgrade.diff new file mode 100644 index 000000000..c818049fa --- /dev/null +++ b/patches/source/hplip/hplip.no.upgrade.diff @@ -0,0 +1,16 @@ +--- ./upgrade.py.orig 2013-12-05 15:50:58.546488767 -0600 ++++ ./upgrade.py 2013-12-05 15:52:53.186498261 -0600 +@@ -194,6 +194,13 @@ + change_spinner_state(False) + core = CoreInstall(MODE_CHECK) + # core.init() ++ ++ # To reenable upgrade in Slackware (although it probably won't work), ++ # delete the following 3 lines: ++ log.info("HPLIP upgrade function is disabled in Slackware.") ++ log.info("Not attempting to download upgrades.") ++ clean_exit(0) ++ + if not core.check_network_connection(): + log.error("Either Internet is not working or Wget is not installed.") + clean_exit(0) diff --git a/patches/source/hplip/slack-desc b/patches/source/hplip/slack-desc new file mode 100644 index 000000000..874e6ed69 --- /dev/null +++ b/patches/source/hplip/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------------| +hplip: hplip (HP print/scan/fax support) +hplip: +hplip: HPLIP is an HP developed solution for printing, scanning, and faxing +hplip: with HP inkjet and laser based printers in Linux. The HPLIP project +hplip: provides printing support for more than 1400 HP printer models, +hplip: including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy), +hplip: Business Inkjet, LaserJet, and LaserJet MFP. +hplip: +hplip: For more information, see: http://hplipopensource.com +hplip: +hplip: diff --git a/patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch b/patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch new file mode 100644 index 000000000..be590f294 --- /dev/null +++ b/patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch @@ -0,0 +1,15 @@ +--- httpd/httpd/branches/2.4.x/server/core.c 2017/08/16 16:50:29 1805223 ++++ httpd/httpd/branches/2.4.x/server/core.c 2017/09/08 13:13:11 1807754 +@@ -2266,6 +2266,12 @@ + /* method has not been registered yet, but resource restriction + * is always checked before method handling, so register it. + */ ++ if (cmd->pool == cmd->temp_pool) { ++ /* In .htaccess, we can't globally register new methods. */ ++ return apr_psprintf(cmd->pool, "Could not register method '%s' " ++ "for %s from .htaccess configuration", ++ method, cmd->cmd->name); ++ } + methnum = ap_method_register(cmd->pool, + apr_pstrdup(cmd->pool, method)); + } diff --git a/patches/source/httpd/doinst.sh b/patches/source/httpd/doinst.sh new file mode 100644 index 000000000..e233c362b --- /dev/null +++ b/patches/source/httpd/doinst.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + # Don't use config() -- we always want to install this, changed or unchanged. + #config ${NEW} +} + +if [ ! -e var/log/httpd ]; then + mkdir -p var/log/httpd + chmod 755 var/log/httpd +fi + +# Don't wipe out an existing document root with symlinks. If someone has +# replaced the symlinks that are created on a fresh installation, assume +# that they know what they are doing and leave things as-is. +if [ ! -e srv/www ]; then + ( cd srv ; ln -sf /var/www www ) +fi +if [ ! -e srv/httpd ]; then + ( cd srv ; ln -sf /var/www httpd ) +fi + +# Once again, our intent is not to wipe out anyone's +# site, but building in Apache's docs tree is not as +# good an idea as picking a unique DocumentRoot. +# +# Still, we will do what we can here to mitigate +# possible site damage: +if [ -r var/www/htdocs/index.html ]; then + if [ ! -r "var/log/packages/httpd-*upgraded*" ]; then + if [ var/www/htdocs/index.html -nt var/log/packages/httpd-*-? ]; then + cp -a var/www/htdocs/index.html var/www/htdocs/index.html.bak.$$ + fi + fi +fi + +# Keep same perms when installing rc.httpd.new: +preserve_perms etc/rc.d/rc.httpd.new +# Always install the new rc.httpd: +mv etc/rc.d/rc.httpd.new etc/rc.d/rc.httpd + +# Handle config files. Unless this is a fresh installation, the +# admin will have to move the .new files into place to complete +# the package installation, as we don't want to clobber files that +# may contain local customizations. +config etc/httpd/httpd.conf.new +config etc/logrotate.d/httpd.new +for conf_file in etc/httpd/extra/*.new; do + config $conf_file +done +config var/www/htdocs/index.html.new + diff --git a/patches/source/httpd/httpd.SlackBuild b/patches/source/httpd/httpd.SlackBuild new file mode 100755 index 000000000..cf729415a --- /dev/null +++ b/patches/source/httpd/httpd.SlackBuild @@ -0,0 +1,246 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This script was written using the one from slackbuilds.org as a reference, +# so thanks to Adis Nezirovic ( adis _at_ linux.org.ba ) for the original work. + + +PKGNAM=httpd +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# A brief note about mpms: +# +# "prefork" is the legacy forked mpm, used with mod_php. Starting with httpd +# 2.4.0, new threaded mpms are available, and previously experimental mpms are +# now stable +# +# Non-threaded mpms are no longer required, since php applications can now be +# deployed with the help of mod_fcgid, essentially a set of fixed dedicated cgi +# processes spawned for the whole purpose of executing dynamic applications +# +# Threaded mpms, by their very nature, are far more scalable than the +# traditional preforking solution. They consume less memory for the same +# workload, when serving the same amount of clients. httpd 2.4 ships with two +# options, "event" and "worker", where the former is the default mpm used if +# none is specified at the ./configure line +# +# Lastly, the "prefork" mpm can be used with mod_php as of version 5.4.0, +# which yields a much improved stability, even with most mod_php extensions +# loaded. +# +# The running mpm can be changed by simply loading the module. Here is a sample: +# LoadModule mpm_event_module lib(64)/httpd/modules/mod_mpm_event.so +# +# When upgrading from 2.2, please make sure to stop the deamon first, or your +# new instance may segfault. + +# Fix config.layout to use lib${LIBDIRSUFFIX}: +sed -i -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" config.layout + +# If /var/run becomes a tmpfs or a link to /run, subdirectories could be a problem. +# Just use /var/run rather than /var/run/httpd. +sed -i -e "s#/run/httpd#/run#" config.layout + +# Configure: +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --enable-layout=Slackware-FHS \ + --with-apr=/usr \ + --with-apr-util=/usr \ + --enable-mods-shared=all \ + --enable-so \ + --enable-mpms-shared=all \ + --enable-pie \ + --enable-cgi \ + --with-pcre \ + --enable-ssl \ + --enable-rewrite \ + --enable-vhost-alias \ + --enable-proxy \ + --enable-proxy-http \ + --enable-proxy-ftp \ + --enable-cache \ + --enable-mem-cache \ + --enable-file-cache \ + --enable-disk-cache \ + --enable-dav \ + --enable-ldap \ + --enable-authnz-ldap \ + --enable-authn-anon \ + --enable-authn-alias \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +rmdir $PKG/usr/bin + +# Tweak default apache configuration +( cd $PKG + zcat $CWD/httpd.runasapache.diff.gz | patch -p1 --verbose || exit 1 + # mod_proxy_balancer should be commented out, as otherwise httpd + # will not start without additional configuration: + sed -i "s/^LoadModule proxy_balancer_module/#LoadModule proxy_balancer_module/g" $PKG/etc/httpd/httpd.conf + # This module issues a warning unless some non-default modules are loaded: + sed -i "s/^LoadModule lbmethod_heartbeat_module/#LoadModule lbmethod_heartbeat_module/g" $PKG/etc/httpd/httpd.conf + rm -f $PKG/etc/httpd/httpd.conf~ $PKG/etc/httpd/httpd.conf.orig +) || exit 1 +# Change config files to .new: +( cd $PKG/etc/httpd + mv httpd.conf httpd.conf.new + for file in extra/*; do + mv $file "${file}.new" + done +) + +cat << EOF >> $PKG/etc/httpd/httpd.conf.new + +# Uncomment the following line to enable PHP: +# +#Include /etc/httpd/mod_php.conf + +# Uncomment the following lines (and mod_dav above) to enable svn support: +# +#LoadModule dav_svn_module lib${LIBDIRSUFFIX}/httpd/modules/mod_dav_svn.so +#LoadModule authz_svn_module lib${LIBDIRSUFFIX}/httpd/modules/mod_authz_svn.so + +EOF + +rmdir $PKG/var/log/httpd + +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.httpd > $PKG/etc/rc.d/rc.httpd.new + +mkdir -p $PKG/etc/logrotate.d +cat $CWD/logrotate.httpd > $PKG/etc/logrotate.d/httpd.new + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/ +cp -a \ + ABOUT_APACHE Apache.dsw BuildBin.dsp CHANGES INSTALL InstallBin.dsp LAYOUT LICENSE NOTICE NWGNUmakefile README* ROADMAP VERSIONING \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# Other distributions also strip the manual down to just English. +# If this isn't your language of choice, mea culpa. +( cd $PKG/srv/httpd/htdocs/manual + for file in $(find . -type f -name "*.html") ; do + if [ -f ${file}.en ]; then + cp ${file}.en ${file} + rm -f ${file}.* + fi + done +) + +# On Slackware, the traditional location for the Apache document root has always +# been "/var/www/htdocs/". We can avoid an unpleasant surprise for people by +# leaving things where they've always been, and comply with the FHS by providing +# symlinks allowing access through the FHS-approved pathnames. KDE, for example, +# will look for htdig's htsearch here: /var/www/cgi-bin/htsearch +mv $PKG/srv/httpd $PKG/var/www + +## DISABLED. Don't make these symlinks prior to packaging any more, as it is +## possibly dangerous to an existing document root created in the place where +## these symlinks are normally found. Instead, we make them in the install +## script (only if nothing exists there already) +#( cd $PKG/srv +# ln -sf /var/www . +# ln -sf /var/www httpd +#) + +# OK, it's just not generally good form to put your web site in /var/www/htdocs, +# but people do it every day. Like all new .new files, this won't save them this +# time, but if they don't learn their lesson now then it will the next time: +mv $PKG/var/www/htdocs/index.html $PKG/var/www/htdocs/index.html.new + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) +fi + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/httpd/httpd.runasapache.diff b/patches/source/httpd/httpd.runasapache.diff new file mode 100644 index 000000000..c1954ec33 --- /dev/null +++ b/patches/source/httpd/httpd.runasapache.diff @@ -0,0 +1,13 @@ +--- ./etc/httpd/httpd.conf.orig 2008-02-14 15:24:21.000000000 -0600 ++++ ./etc/httpd/httpd.conf 2008-02-14 15:34:58.000000000 -0600 +@@ -125,8 +125,8 @@ + # It is usually good practice to create a dedicated user and group for + # running httpd, as with most system services. + # +-User daemon +-Group daemon ++User apache ++Group apache + + + diff --git a/patches/source/httpd/httpd.url b/patches/source/httpd/httpd.url new file mode 100644 index 000000000..b86771d42 --- /dev/null +++ b/patches/source/httpd/httpd.url @@ -0,0 +1,2 @@ +http://www.apache.org/dist/httpd/httpd-2.4.29.tar.bz2 +http://www.apache.org/dist/httpd/httpd-2.4.29.tar.bz2.asc diff --git a/patches/source/httpd/logrotate.httpd b/patches/source/httpd/logrotate.httpd new file mode 100644 index 000000000..cc6383674 --- /dev/null +++ b/patches/source/httpd/logrotate.httpd @@ -0,0 +1,12 @@ +/var/log/httpd/*_log { + rotate 10 + notifempty + missingok + size=5M + compress + delaycompress + sharedscripts + postrotate + /etc/rc.d/rc.httpd restart + endscript +} diff --git a/patches/source/httpd/rc.httpd b/patches/source/httpd/rc.httpd new file mode 100644 index 000000000..81189098f --- /dev/null +++ b/patches/source/httpd/rc.httpd @@ -0,0 +1,44 @@ +#!/bin/sh +# +# /etc/rc.d/rc.httpd +# +# Start/stop/restart/graceful[ly restart]/graceful[ly]-stop +# the Apache (httpd) web server. +# +# To make Apache start automatically at boot, make this +# file executable: chmod 755 /etc/rc.d/rc.httpd +# +# For information on these options, "man apachectl". + +case "$1" in + 'start') + /usr/sbin/apachectl -k start + ;; + 'stop') + /usr/sbin/apachectl -k stop + killall httpd + # Remove both old and new .pid locations: + rm -f /var/run/httpd.pid /var/run/httpd/httpd.pid + ;; + 'force-restart') + # Because sometimes restarting through apachectl just doesn't do the trick... + /usr/sbin/apachectl -k stop + killall httpd + # Remove both old and new .pid locations: + rm -f /var/run/httpd.pid /var/run/httpd/httpd.pid + /usr/sbin/apachectl -k start + ;; + 'restart') + /usr/sbin/apachectl -k restart + ;; + 'graceful') + /usr/sbin/apachectl -k graceful + ;; + 'graceful-stop') + /usr/sbin/apachectl -k graceful-stop + ;; + *) + echo "Usage: $0 {start|stop|restart|graceful|graceful-stop}" + ;; +esac + diff --git a/patches/source/httpd/slack-desc b/patches/source/httpd/slack-desc new file mode 100644 index 000000000..38d240b6b --- /dev/null +++ b/patches/source/httpd/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +httpd: httpd (The Apache HTTP Server) +httpd: +httpd: Apache is an HTTP server designed as a plug-in replacement for the +httpd: NCSA HTTP server. It fixes numerous bugs in the NCSA server and +httpd: includes many frequently requested new features, and has an API which +httpd: allows it to be extended to meet users' needs more easily. +httpd: +httpd: Apache is the most popular web server in the known universe; over +httpd: half of the servers on the Internet are running Apache or one of +httpd: its variants. +httpd: diff --git a/patches/source/imagemagick/blob.c.undef.have_popen.diff b/patches/source/imagemagick/blob.c.undef.have_popen.diff new file mode 100644 index 000000000..9e33cab77 --- /dev/null +++ b/patches/source/imagemagick/blob.c.undef.have_popen.diff @@ -0,0 +1,10 @@ +--- ./magick/blob.c.orig 2016-05-30 06:55:02.000000000 -0500 ++++ ./magick/blob.c 2016-05-30 14:48:36.139925266 -0500 +@@ -80,6 +80,7 @@ + Define declarations. + */ + #define MagickMaxBlobExtent 65541 ++#undef MAGICKCORE_HAVE_POPEN + #if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) + # define MAP_ANONYMOUS MAP_ANON + #endif diff --git a/patches/source/imagemagick/imagemagick.SlackBuild b/patches/source/imagemagick/imagemagick.SlackBuild new file mode 100755 index 000000000..9f6fb46ce --- /dev/null +++ b/patches/source/imagemagick/imagemagick.SlackBuild @@ -0,0 +1,182 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +BUILD=${BUILD:-3_slack14.0} + +# NOTE: This is to cope with ImageMagick version numbers such as 5.4.7-4, +# which occur fairly often (but not always). If these numbers are all the same, +# then this is not one of those versions. + +# This is a bit messy, so we'll explain it well. :-) + +# This is the base version number, which is needed to cd into the source tree +BASEVER=6.7.7-10 + +# This is the version number used in the source tarball filename +FILEVER=6.7.7-10 + +# This is the version number used in the package, where a version number cannot +# contain a '-' +PKGVER=6.7.7_10 + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-imagemagick +rm -rf $PKG +mkdir -p $TMP $PKG + +# --with-x or not --with-x, that is the question. It seems many other +# distributions don't compile with X support, but it's been traditional +# here. I am moving the prefix to /usr (instead of /usr/X11R6) though, +# because many X-linked things are put into /usr now (like GNOME), and +# I've heard a few reports of compile failures when this isn't in /usr. +# Everyone else does it -- time to follow the path of least resistance. + +cd $TMP +rm -rf ImageMagick-$BASEVER +tar xvf $CWD/ImageMagick-$FILEVER.tar.?z* || exit 1 +cd ImageMagick-$BASEVER || exit 1 + +# Harden the default settings in policy.xml to prevent security issues: +zcat $CWD/policy.xml.diff.gz | patch -p1 --verbose || exit 1 + +# undef HAVE_POPEN as additional hardening against shell injection: +zcat $CWD/blob.c.undef.have_popen.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# --without-modules seems to avoid a segfault when identifying +# or converting ps or eps files... + +# --disable-openmp seems to keep the perl Image::Magick from +# eating up all RAM, and may help other script bindings. + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --program-prefix= \ + --with-x \ + --with-frozenpaths=no \ + --without-modules \ + --disable-openmp \ + --enable-static=no \ + --enable-shared \ + --with-perl \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS INSTALLDIRS=vendor || make INSTALLDIRS=vendor || exit 1 +# First, spam the running development system, as ImageMagick is unable to +# properly link the utilities against a new shared library major version +# otherwise which has led to several broken packages over the years: +make install INSTALLDIRS=vendor || exit 1 +/sbin/ldconfig + +# Now build again against the new libraries and headers: +make clean +make $NUMJOBS INSTALLDIRS=vendor || make INSTALLDIRS=vendor || exit 1 +make install INSTALLDIRS=vendor DESTDIR=$PKG || exit 1 + +# This should certainly not be included. +# It stomps on the libtool package. +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libltdl.* + +# .la files in /usr/lib${LIBDIRSUFFIX}/ should be removed. +# Other .la files should be left alone, as ImageMagick uses them internally +# to locate modules. +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la + +( cd $PKG + # Nothing but a perl upgrade should replace this (and maybe not even that) + find . -name perllocal.pod | xargs rm -f +) + +# DESTDIR is still broken about this, but works well enough otherwise: +chmod 644 $PKG/usr/share/man/man3/* +mv $PKG/usr/share/man/man3 $PKG/usr/man +rmdir $PKG/usr/share/man + +( cd $PKG/usr/lib${LIBDIRSUFFIX}/perl5 + # Ditch empty dirs: + rmdir */* 2> /dev/null + rmdir * 2> /dev/null +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/usr +mv $PKG/usr/share/doc $PKG/usr +cp -a \ + AUTHORS LICENSE NEWS NOTICE Platforms.txt QuickStart.txt README.txt \ + $PKG/usr/doc/Imag* + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/imagemagick-$PKGVER-$ARCH-$BUILD.txz + diff --git a/patches/source/imagemagick/policy.xml.diff b/patches/source/imagemagick/policy.xml.diff new file mode 100644 index 000000000..de11fccec --- /dev/null +++ b/patches/source/imagemagick/policy.xml.diff @@ -0,0 +1,19 @@ +--- ./config/policy.xml.orig 2012-03-02 19:18:13.000000000 -0600 ++++ ./config/policy.xml 2016-05-10 15:59:23.651232588 -0500 +@@ -45,6 +45,16 @@ + exceeds policy maximum so memory limit is 1GB). + --> + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + diff --git a/patches/source/imagemagick/slack-desc b/patches/source/imagemagick/slack-desc new file mode 100644 index 000000000..80ac9a678 --- /dev/null +++ b/patches/source/imagemagick/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +imagemagick: imagemagick (a robust collection of image processing tools) +imagemagick: +imagemagick: ImageMagick is a collection of tools for manipulating and displaying +imagemagick: digital images. It can merge images, transform image dimensions, +imagemagick: do screen captures, create animation sequences, and convert between +imagemagick: many different image formats. +imagemagick: +imagemagick: ImageMagick was written by John Cristy of ImageMagick Studio. +imagemagick: +imagemagick: Home page: http://www.imagemagick.org/ +imagemagick: diff --git a/patches/source/inputproto/arch.use.flags b/patches/source/inputproto/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/inputproto/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/inputproto/build/inputproto b/patches/source/inputproto/build/inputproto new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/inputproto/build/inputproto @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/inputproto/configure/configure b/patches/source/inputproto/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/inputproto/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/inputproto/inputproto.SlackBuild b/patches/source/inputproto/inputproto.SlackBuild new file mode 100755 index 000000000..d5fe7abae --- /dev/null +++ b/patches/source/inputproto/inputproto.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild proto inputproto +mv /tmp/x11-build/inputproto*txz /tmp diff --git a/patches/source/inputproto/modularize b/patches/source/inputproto/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/inputproto/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/inputproto/noarch b/patches/source/inputproto/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/inputproto/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/inputproto/package-blacklist b/patches/source/inputproto/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/inputproto/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/inputproto/slack-desc/inputproto b/patches/source/inputproto/slack-desc/inputproto new file mode 100644 index 000000000..d5e586792 --- /dev/null +++ b/patches/source/inputproto/slack-desc/inputproto @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +inputproto: inputproto (C prototypes for X Input extension) +inputproto: +inputproto: inputproto is part of X11. +inputproto: +inputproto: For more information about the X.Org Foundation (the providers of the +inputproto: X.Org implementation of the X Window System), see their website: +inputproto: +inputproto: http://www.x.org +inputproto: +inputproto: +inputproto: diff --git a/patches/source/inputproto/x11.SlackBuild b/patches/source/inputproto/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/inputproto/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/iptables/iptables.SlackBuild b/patches/source/iptables/iptables.SlackBuild new file mode 100755 index 000000000..d99c2dc27 --- /dev/null +++ b/patches/source/iptables/iptables.SlackBuild @@ -0,0 +1,122 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=${VERSION:-$(echo iptables-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-iptables + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf iptables-$VERSION +tar xvf $CWD/iptables-$VERSION.tar.?z* || exit 1 +cd iptables-$VERSION || exit 1 + +zcat $CWD/iptables.fixrestore.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/iptables-$VERSION \ + --enable-devel \ + --enable-libipq \ + --disable-static \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/iptables-$VERSION +cp -a \ + COPYING* INCOMPATIBILITIES INSTALL \ + $PKG/usr/doc/iptables-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/iptables-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/iptables/iptables.fixrestore.diff b/patches/source/iptables/iptables.fixrestore.diff new file mode 100644 index 000000000..db50bb1f8 --- /dev/null +++ b/patches/source/iptables/iptables.fixrestore.diff @@ -0,0 +1,29 @@ +diff -Nur iptables-1.4.12.2/iptables/ip6tables-restore.c iptables-1.4.12.2-fixrestore/iptables/ip6tables-restore.c +--- iptables-1.4.12.2/iptables/ip6tables-restore.c 2012-01-03 02:19:09.000000000 +0900 ++++ iptables-1.4.12.2-fixrestore/iptables/ip6tables-restore.c 2012-03-01 10:56:10.000000000 +0900 +@@ -380,9 +380,9 @@ + quote_open = 0; + escaped = 0; + param_len = 0; ++ char param_buffer[1024]; + + for (curchar = parsestart; *curchar; curchar++) { +- char param_buffer[1024]; + + if (quote_open) { + if (escaped) { +diff -Nur iptables-1.4.12.2/iptables/iptables-restore.c iptables-1.4.12.2-fixrestore/iptables/iptables-restore.c +--- iptables-1.4.12.2/iptables/iptables-restore.c 2012-01-03 02:19:09.000000000 +0900 ++++ iptables-1.4.12.2-fixrestore/iptables/iptables-restore.c 2012-03-01 10:56:00.000000000 +0900 +@@ -377,9 +377,9 @@ + quote_open = 0; + escaped = 0; + param_len = 0; ++ char param_buffer[1024]; + + for (curchar = parsestart; *curchar; curchar++) { +- char param_buffer[1024]; + + if (quote_open) { + if (escaped) { + diff --git a/patches/source/iptables/slack-desc b/patches/source/iptables/slack-desc new file mode 100644 index 000000000..55423f5f4 --- /dev/null +++ b/patches/source/iptables/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +iptables: iptables (IP packet filter administration) +iptables: +iptables: iptables is a packet filter administration tool. +iptables: +iptables: Iptables can be used to build internet firewalls based on stateless +iptables: and stateful packet filtering, use NAT and masquerading for sharing +iptables: internet access if you don't have enough public IP addresses, use NAT +iptables: to implement transparent proxies, aid the tc and iproute2 systems +iptables: used to build sophisticated QoS and policy routers, do further packet +iptables: manipulation (mangling) like altering the TOS/DSCP/ECN bits of the IP +iptables: header, and much more. See: http://www.netfilter.org diff --git a/patches/source/irssi/doinst.sh b/patches/source/irssi/doinst.sh new file mode 100644 index 000000000..197eddcef --- /dev/null +++ b/patches/source/irssi/doinst.sh @@ -0,0 +1,12 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/irssi.conf.new diff --git a/patches/source/irssi/irssi.SlackBuild b/patches/source/irssi/irssi.SlackBuild new file mode 100755 index 000000000..8a5e27796 --- /dev/null +++ b/patches/source/irssi/irssi.SlackBuild @@ -0,0 +1,143 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-irssi + +VERSION=${VERSION:-$(echo irssi-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +DIRCD=${VERSION} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf irssi-$VERSION +tar xvf $CWD/irssi-$VERSION.tar.xz || exit 1 +cd irssi-$DIRCD + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 -o -perm 2777 -o -perm 2775 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --docdir=/usr/doc/irssi-$VERSION \ + --enable-true-color \ + --with-textui \ + --with-perl-lib=vendor \ + --with-proxy \ + --build=$ARCH-slackware-linux || exit 1 + +make \ + docdir=/usr/doc/irssi-$VERSION \ + $NUMJOBS || make || exit 1 +make install \ + docdir=/usr/doc/irssi-$VERSION \ + DESTDIR=$PKG || exit 1 + +# This removes our DESTDIR from the packlist filenames, to keep perl's +# internal inventories consistent and correct. +find $PKG -name .packlist | while read plist ; do + sed -e "s%$PKG%%g" \ + -e "s%/share/man%/man%g" \ + -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \ + ${plist} > ${plist}.new + mv -f ${plist}.new ${plist} +done + +mv $PKG/etc/irssi.conf $PKG/etc/irssi.conf.new + +find $PKG -name perllocal.pod | xargs rm -f +eval $(perl '-V:archlib') ; rmdir -p $PKG/$archlib 2> /dev/null + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* TODO \ + $PKG/usr/doc/irssi-$VERSION +( cd $PKG/usr/doc/irssi-$VERSION ; ln -sf /usr/share/irssi/help . ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/irssi-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/irssi/slack-desc b/patches/source/irssi/slack-desc new file mode 100644 index 000000000..2a0578921 --- /dev/null +++ b/patches/source/irssi/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +irssi: irssi (Internet Relay Chat client) +irssi: +irssi: Irssi is an Internet Relay Chat client. Designed to be both secure +irssi: and expandable, irssi is easily customized using modules and scripts. +irssi: +irssi: For more information, visit: http://irssi.org +irssi: +irssi: irssi was written by Timo Sirainen. +irssi: +irssi: +irssi: diff --git a/patches/source/jasper/jasper.SlackBuild b/patches/source/jasper/jasper.SlackBuild new file mode 100755 index 000000000..a1fb0b709 --- /dev/null +++ b/patches/source/jasper/jasper.SlackBuild @@ -0,0 +1,137 @@ +#!/bin/sh + +# Copyright 2007, 2008 Eric Hameleers, Eijdhoven, NL +# Copyright 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. + +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + + +PKGNAM=jasper +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-4_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +case "$ARCH" in + i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + ;; + s390) SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + ;; + powerpc) SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + ;; + athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" + LIBDIRSUFFIX="" + ;; + *) SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + ;; +esac + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786 +zcat $CWD/patches/jpc_dec.c.patch.gz | patch -p1 --verbose || exit 1 + +# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413041;msg=88 +zcat $CWD/patches/patch-libjasper-stepsizes-overflow.diff.gz | patch -p1 --verbose || exit 1 + +# Apply security fixes - taken from fedora +zcat $CWD/patches/jasper-1.900.1-CVE-2008-3520.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-CVE-2008-3522.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-CVE-2014-8138.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-CVE-2014-8157.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-CVE-2014-8158.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-CVE-2014-8137.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-CVE-2014-9029.patch.gz | patch -p1 --verbose || exit 1 + +# Apply fixes for issues discovered by coverity - taken from fedora +zcat $CWD/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-Coverity-RESOURCE_LEAKS.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS -fno-strict-overflow" \ +CXXFLAGS="$SLKCFLAGS -fno-strict-overflow" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --enable-shared \ + --disable-static \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux + +make || exit 1 +make DESTDIR=$PKG install + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + COPYRIGHT INSTALL LICENSE NEWS README \ + $PKG/usr/doc/$PKGNAM-$VERSION +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; +for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz + diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch new file mode 100644 index 000000000..0f5e3b746 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch @@ -0,0 +1,928 @@ +https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3520 + +OpenBSD jas_malloc hardening patches + +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_cm.c jasper-1.900.1/src/libjasper/base/jas_cm.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_cm.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2009-10-22 10:27:45.000000000 +0200 +@@ -704,8 +704,7 @@ static int jas_cmpxformseq_resize(jas_cm + { + jas_cmpxform_t **p; + assert(n >= pxformseq->numpxforms); +- p = (!pxformseq->pxforms) ? jas_malloc(n * sizeof(jas_cmpxform_t *)) : +- jas_realloc(pxformseq->pxforms, n * sizeof(jas_cmpxform_t *)); ++ p = jas_realloc2(pxformseq->pxforms, n, sizeof(jas_cmpxform_t *)); + if (!p) { + return -1; + } +@@ -889,13 +888,13 @@ static int jas_cmshapmatlut_set(jas_cmsh + jas_cmshapmatlut_cleanup(lut); + if (curv->numents == 0) { + lut->size = 2; +- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t)))) ++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t)))) + goto error; + lut->data[0] = 0.0; + lut->data[1] = 1.0; + } else if (curv->numents == 1) { + lut->size = 256; +- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t)))) ++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t)))) + goto error; + gamma = curv->ents[0] / 256.0; + for (i = 0; i < lut->size; ++i) { +@@ -903,7 +902,7 @@ static int jas_cmshapmatlut_set(jas_cmsh + } + } else { + lut->size = curv->numents; +- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t)))) ++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t)))) + goto error; + for (i = 0; i < lut->size; ++i) { + lut->data[i] = curv->ents[i] / 65535.0; +@@ -953,7 +952,7 @@ static int jas_cmshapmatlut_invert(jas_c + return -1; + } + } +- if (!(invlut->data = jas_malloc(n * sizeof(jas_cmreal_t)))) ++ if (!(invlut->data = jas_alloc2(n, sizeof(jas_cmreal_t)))) + return -1; + invlut->size = n; + for (i = 0; i < invlut->size; ++i) { +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_icc.c jasper-1.900.1/src/libjasper/base/jas_icc.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -373,7 +373,7 @@ int jas_iccprof_save(jas_iccprof_t *prof + jas_icctagtab_t *tagtab; + + tagtab = &prof->tagtab; +- if (!(tagtab->ents = jas_malloc(prof->attrtab->numattrs * ++ if (!(tagtab->ents = jas_alloc2(prof->attrtab->numattrs, + sizeof(jas_icctagtabent_t)))) + goto error; + tagtab->numents = prof->attrtab->numattrs; +@@ -522,7 +522,7 @@ static int jas_iccprof_gettagtab(jas_str + } + if (jas_iccgetuint32(in, &tagtab->numents)) + goto error; +- if (!(tagtab->ents = jas_malloc(tagtab->numents * ++ if (!(tagtab->ents = jas_alloc2(tagtab->numents, + sizeof(jas_icctagtabent_t)))) + goto error; + tagtabent = tagtab->ents; +@@ -743,8 +743,7 @@ static int jas_iccattrtab_resize(jas_icc + { + jas_iccattr_t *newattrs; + assert(maxents >= tab->numattrs); +- newattrs = tab->attrs ? jas_realloc(tab->attrs, maxents * +- sizeof(jas_iccattr_t)) : jas_malloc(maxents * sizeof(jas_iccattr_t)); ++ newattrs = jas_realloc2(tab->attrs, maxents, sizeof(jas_iccattr_t)); + if (!newattrs) + return -1; + tab->attrs = newattrs; +@@ -999,7 +998,7 @@ static int jas_icccurv_input(jas_iccattr + + if (jas_iccgetuint32(in, &curv->numents)) + goto error; +- if (!(curv->ents = jas_malloc(curv->numents * sizeof(jas_iccuint16_t)))) ++ if (!(curv->ents = jas_alloc2(curv->numents, sizeof(jas_iccuint16_t)))) + goto error; + for (i = 0; i < curv->numents; ++i) { + if (jas_iccgetuint16(in, &curv->ents[i])) +@@ -1100,7 +1099,7 @@ static int jas_icctxtdesc_input(jas_icca + if (jas_iccgetuint32(in, &txtdesc->uclangcode) || + jas_iccgetuint32(in, &txtdesc->uclen)) + goto error; +- if (!(txtdesc->ucdata = jas_malloc(txtdesc->uclen * 2))) ++ if (!(txtdesc->ucdata = jas_alloc2(txtdesc->uclen, 2))) + goto error; + if (jas_stream_read(in, txtdesc->ucdata, txtdesc->uclen * 2) != + JAS_CAST(int, txtdesc->uclen * 2)) +@@ -1292,17 +1291,17 @@ static int jas_icclut8_input(jas_iccattr + jas_iccgetuint16(in, &lut8->numouttabents)) + goto error; + clutsize = jas_iccpowi(lut8->clutlen, lut8->numinchans) * lut8->numoutchans; +- if (!(lut8->clut = jas_malloc(clutsize * sizeof(jas_iccuint8_t))) || +- !(lut8->intabsbuf = jas_malloc(lut8->numinchans * +- lut8->numintabents * sizeof(jas_iccuint8_t))) || +- !(lut8->intabs = jas_malloc(lut8->numinchans * ++ if (!(lut8->clut = jas_alloc2(clutsize, sizeof(jas_iccuint8_t))) || ++ !(lut8->intabsbuf = jas_alloc3(lut8->numinchans, ++ lut8->numintabents, sizeof(jas_iccuint8_t))) || ++ !(lut8->intabs = jas_alloc2(lut8->numinchans, + sizeof(jas_iccuint8_t *)))) + goto error; + for (i = 0; i < lut8->numinchans; ++i) + lut8->intabs[i] = &lut8->intabsbuf[i * lut8->numintabents]; +- if (!(lut8->outtabsbuf = jas_malloc(lut8->numoutchans * +- lut8->numouttabents * sizeof(jas_iccuint8_t))) || +- !(lut8->outtabs = jas_malloc(lut8->numoutchans * ++ if (!(lut8->outtabsbuf = jas_alloc3(lut8->numoutchans, ++ lut8->numouttabents, sizeof(jas_iccuint8_t))) || ++ !(lut8->outtabs = jas_alloc2(lut8->numoutchans, + sizeof(jas_iccuint8_t *)))) + goto error; + for (i = 0; i < lut8->numoutchans; ++i) +@@ -1461,17 +1460,17 @@ static int jas_icclut16_input(jas_iccatt + jas_iccgetuint16(in, &lut16->numouttabents)) + goto error; + clutsize = jas_iccpowi(lut16->clutlen, lut16->numinchans) * lut16->numoutchans; +- if (!(lut16->clut = jas_malloc(clutsize * sizeof(jas_iccuint16_t))) || +- !(lut16->intabsbuf = jas_malloc(lut16->numinchans * +- lut16->numintabents * sizeof(jas_iccuint16_t))) || +- !(lut16->intabs = jas_malloc(lut16->numinchans * ++ if (!(lut16->clut = jas_alloc2(clutsize, sizeof(jas_iccuint16_t))) || ++ !(lut16->intabsbuf = jas_alloc3(lut16->numinchans, ++ lut16->numintabents, sizeof(jas_iccuint16_t))) || ++ !(lut16->intabs = jas_alloc2(lut16->numinchans, + sizeof(jas_iccuint16_t *)))) + goto error; + for (i = 0; i < lut16->numinchans; ++i) + lut16->intabs[i] = &lut16->intabsbuf[i * lut16->numintabents]; +- if (!(lut16->outtabsbuf = jas_malloc(lut16->numoutchans * +- lut16->numouttabents * sizeof(jas_iccuint16_t))) || +- !(lut16->outtabs = jas_malloc(lut16->numoutchans * ++ if (!(lut16->outtabsbuf = jas_alloc3(lut16->numoutchans, ++ lut16->numouttabents, sizeof(jas_iccuint16_t))) || ++ !(lut16->outtabs = jas_alloc2(lut16->numoutchans, + sizeof(jas_iccuint16_t *)))) + goto error; + for (i = 0; i < lut16->numoutchans; ++i) +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_image.c jasper-1.900.1/src/libjasper/base/jas_image.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_image.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2009-10-22 10:27:45.000000000 +0200 +@@ -142,7 +142,7 @@ jas_image_t *jas_image_create(int numcmp + image->inmem_ = true; + + /* Allocate memory for the per-component information. */ +- if (!(image->cmpts_ = jas_malloc(image->maxcmpts_ * ++ if (!(image->cmpts_ = jas_alloc2(image->maxcmpts_, + sizeof(jas_image_cmpt_t *)))) { + jas_image_destroy(image); + return 0; +@@ -774,8 +774,7 @@ static int jas_image_growcmpts(jas_image + jas_image_cmpt_t **newcmpts; + int cmptno; + +- newcmpts = (!image->cmpts_) ? jas_malloc(maxcmpts * sizeof(jas_image_cmpt_t *)) : +- jas_realloc(image->cmpts_, maxcmpts * sizeof(jas_image_cmpt_t *)); ++ newcmpts = jas_realloc2(image->cmpts_, maxcmpts, sizeof(jas_image_cmpt_t *)); + if (!newcmpts) { + return -1; + } +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c jasper-1.900.1/src/libjasper/base/jas_malloc.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_malloc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -76,6 +76,9 @@ + + /* We need the prototype for memset. */ + #include ++#include ++#include ++#include + + #include "jasper/jas_malloc.h" + +@@ -113,18 +116,50 @@ void jas_free(void *ptr) + + void *jas_realloc(void *ptr, size_t size) + { +- return realloc(ptr, size); ++ return ptr ? realloc(ptr, size) : malloc(size); + } + +-void *jas_calloc(size_t nmemb, size_t size) ++void *jas_realloc2(void *ptr, size_t nmemb, size_t size) ++{ ++ if (!ptr) ++ return jas_alloc2(nmemb, size); ++ if (nmemb && SIZE_MAX / nmemb < size) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ return jas_realloc(ptr, nmemb * size); ++ ++} ++ ++void *jas_alloc2(size_t nmemb, size_t size) ++{ ++ if (nmemb && SIZE_MAX / nmemb < size) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ return jas_malloc(nmemb * size); ++} ++ ++void *jas_alloc3(size_t a, size_t b, size_t c) + { +- void *ptr; + size_t n; +- n = nmemb * size; +- if (!(ptr = jas_malloc(n * sizeof(char)))) { +- return 0; ++ ++ if (a && SIZE_MAX / a < b) { ++ errno = ENOMEM; ++ return NULL; + } +- memset(ptr, 0, n); ++ ++ return jas_alloc2(a*b, c); ++} ++ ++void *jas_calloc(size_t nmemb, size_t size) ++{ ++ void *ptr; ++ ++ ptr = jas_alloc2(nmemb, size); ++ if (ptr) ++ memset(ptr, 0, nmemb*size); + return ptr; + } + +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_seq.c jasper-1.900.1/src/libjasper/base/jas_seq.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_seq.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2009-10-22 10:27:45.000000000 +0200 +@@ -114,7 +114,7 @@ jas_matrix_t *jas_matrix_create(int numr + matrix->datasize_ = numrows * numcols; + + if (matrix->maxrows_ > 0) { +- if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ * ++ if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_, + sizeof(jas_seqent_t *)))) { + jas_matrix_destroy(matrix); + return 0; +@@ -122,7 +122,7 @@ jas_matrix_t *jas_matrix_create(int numr + } + + if (matrix->datasize_ > 0) { +- if (!(matrix->data_ = jas_malloc(matrix->datasize_ * ++ if (!(matrix->data_ = jas_alloc2(matrix->datasize_, + sizeof(jas_seqent_t)))) { + jas_matrix_destroy(matrix); + return 0; +@@ -220,7 +220,7 @@ void jas_matrix_bindsub(jas_matrix_t *ma + mat0->numrows_ = r1 - r0 + 1; + mat0->numcols_ = c1 - c0 + 1; + mat0->maxrows_ = mat0->numrows_; +- mat0->rows_ = jas_malloc(mat0->maxrows_ * sizeof(jas_seqent_t *)); ++ mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *)); + for (i = 0; i < mat0->numrows_; ++i) { + mat0->rows_[i] = mat1->rows_[r0 + i] + c0; + } +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200 +@@ -212,7 +212,7 @@ jas_stream_t *jas_stream_memopen(char *b + if (buf) { + obj->buf_ = (unsigned char *) buf; + } else { +- obj->buf_ = jas_malloc(obj->bufsize_ * sizeof(char)); ++ obj->buf_ = jas_malloc(obj->bufsize_); + obj->myalloc_ = 1; + } + if (!obj->buf_) { +@@ -992,7 +992,7 @@ static int mem_resize(jas_stream_memobj_ + unsigned char *buf; + + assert(m->buf_); +- if (!(buf = jas_realloc(m->buf_, bufsize * sizeof(unsigned char)))) { ++ if (!(buf = jas_realloc(m->buf_, bufsize))) { + return -1; + } + m->buf_ = buf; +diff -pruN jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c jasper-1.900.1/src/libjasper/bmp/bmp_dec.c +--- jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/bmp/bmp_dec.c 2009-10-22 10:27:45.000000000 +0200 +@@ -283,7 +283,7 @@ static bmp_info_t *bmp_getinfo(jas_strea + } + + if (info->numcolors > 0) { +- if (!(info->palents = jas_malloc(info->numcolors * ++ if (!(info->palents = jas_alloc2(info->numcolors, + sizeof(bmp_palent_t)))) { + bmp_info_destroy(info); + return 0; +diff -pruN jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h +--- jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h 2007-01-19 22:43:04.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h 2009-10-22 10:27:45.000000000 +0200 +@@ -95,6 +95,9 @@ extern "C" { + #define jas_free MEMFREE + #define jas_realloc MEMREALLOC + #define jas_calloc MEMCALLOC ++#define jas_alloc2(a, b) MEMALLOC((a)*(b)) ++#define jas_alloc3(a, b, c) MEMALLOC((a)*(b)*(c)) ++#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b)) + #endif + + /******************************************************************************\ +@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size + /* Allocate a block of memory and initialize the contents to zero. */ + void *jas_calloc(size_t nmemb, size_t size); + ++/* size-checked double allocation .*/ ++void *jas_alloc2(size_t, size_t); ++ ++void *jas_alloc3(size_t, size_t, size_t); ++ ++void *jas_realloc2(void *, size_t, size_t); + #endif + + #ifdef __cplusplus +diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c jasper-1.900.1/src/libjasper/jp2/jp2_cod.c +--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2009-10-22 10:30:24.000000000 +0200 +@@ -247,7 +247,7 @@ jp2_box_t *jp2_box_get(jas_stream_t *in) + box = 0; + tmpstream = 0; + +- if (!(box = jas_malloc(sizeof(jp2_box_t)))) { ++ if (!(box = jas_calloc(1, sizeof(jp2_box_t)))) { + goto error; + } + box->ops = &jp2_boxinfo_unk.ops; +@@ -372,7 +372,7 @@ static int jp2_bpcc_getdata(jp2_box_t *b + jp2_bpcc_t *bpcc = &box->data.bpcc; + unsigned int i; + bpcc->numcmpts = box->datalen; +- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts * sizeof(uint_fast8_t)))) { ++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) { + return -1; + } + for (i = 0; i < bpcc->numcmpts; ++i) { +@@ -416,7 +416,7 @@ static int jp2_colr_getdata(jp2_box_t *b + break; + case JP2_COLR_ICC: + colr->iccplen = box->datalen - 3; +- if (!(colr->iccp = jas_malloc(colr->iccplen * sizeof(uint_fast8_t)))) { ++ if (!(colr->iccp = jas_alloc2(colr->iccplen, sizeof(uint_fast8_t)))) { + return -1; + } + if (jas_stream_read(in, colr->iccp, colr->iccplen) != colr->iccplen) { +@@ -453,7 +453,7 @@ static int jp2_cdef_getdata(jp2_box_t *b + if (jp2_getuint16(in, &cdef->numchans)) { + return -1; + } +- if (!(cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t)))) { ++ if (!(cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t)))) { + return -1; + } + for (channo = 0; channo < cdef->numchans; ++channo) { +@@ -766,7 +766,7 @@ static int jp2_cmap_getdata(jp2_box_t *b + unsigned int i; + + cmap->numchans = (box->datalen) / 4; +- if (!(cmap->ents = jas_malloc(cmap->numchans * sizeof(jp2_cmapent_t)))) { ++ if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) { + return -1; + } + for (i = 0; i < cmap->numchans; ++i) { +@@ -828,10 +828,10 @@ static int jp2_pclr_getdata(jp2_box_t *b + return -1; + } + lutsize = pclr->numlutents * pclr->numchans; +- if (!(pclr->lutdata = jas_malloc(lutsize * sizeof(int_fast32_t)))) { ++ if (!(pclr->lutdata = jas_alloc2(lutsize, sizeof(int_fast32_t)))) { + return -1; + } +- if (!(pclr->bpc = jas_malloc(pclr->numchans * sizeof(uint_fast8_t)))) { ++ if (!(pclr->bpc = jas_alloc2(pclr->numchans, sizeof(uint_fast8_t)))) { + return -1; + } + for (i = 0; i < pclr->numchans; ++i) { +diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c jasper-1.900.1/src/libjasper/jp2/jp2_dec.c +--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2009-10-22 10:27:45.000000000 +0200 +@@ -336,7 +336,7 @@ jas_image_t *jp2_decode(jas_stream_t *in + } + + /* Allocate space for the channel-number to component-number LUT. */ +- if (!(dec->chantocmptlut = jas_malloc(dec->numchans * sizeof(uint_fast16_t)))) { ++ if (!(dec->chantocmptlut = jas_alloc2(dec->numchans, sizeof(uint_fast16_t)))) { + jas_eprintf("error: no memory\n"); + goto error; + } +@@ -354,7 +354,7 @@ jas_image_t *jp2_decode(jas_stream_t *in + if (cmapent->map == JP2_CMAP_DIRECT) { + dec->chantocmptlut[channo] = channo; + } else if (cmapent->map == JP2_CMAP_PALETTE) { +- lutents = jas_malloc(pclrd->numlutents * sizeof(int_fast32_t)); ++ lutents = jas_alloc2(pclrd->numlutents, sizeof(int_fast32_t)); + for (i = 0; i < pclrd->numlutents; ++i) { + lutents[i] = pclrd->lutdata[cmapent->pcol + i * pclrd->numchans]; + } +diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c jasper-1.900.1/src/libjasper/jp2/jp2_enc.c +--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -191,7 +191,7 @@ int sgnd; + } + bpcc = &box->data.bpcc; + bpcc->numcmpts = jas_image_numcmpts(image); +- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts * ++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, + sizeof(uint_fast8_t)))) { + goto error; + } +@@ -285,7 +285,7 @@ int sgnd; + } + cdef = &box->data.cdef; + cdef->numchans = jas_image_numcmpts(image); +- cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t)); ++ cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t)); + for (i = 0; i < jas_image_numcmpts(image); ++i) { + cdefchanent = &cdef->ents[i]; + cdefchanent->channo = i; +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c jasper-1.900.1/src/libjasper/jpc/jpc_cs.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2009-10-22 09:58:16.000000000 +0200 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2009-10-22 10:27:45.000000000 +0200 +@@ -502,7 +502,7 @@ static int jpc_siz_getparms(jpc_ms_t *ms + !siz->tileheight || !siz->numcomps) { + return -1; + } +- if (!(siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t)))) { ++ if (!(siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t)))) { + return -1; + } + for (i = 0; i < siz->numcomps; ++i) { +@@ -986,7 +986,7 @@ static int jpc_qcx_getcompparms(jpc_qcxc + jpc_qcx_destroycompparms(compparms); + return -1; + } else if (compparms->numstepsizes > 0) { +- compparms->stepsizes = jas_malloc(compparms->numstepsizes * ++ compparms->stepsizes = jas_alloc2(compparms->numstepsizes, + sizeof(uint_fast16_t)); + assert(compparms->stepsizes); + for (i = 0; i < compparms->numstepsizes; ++i) { +@@ -1094,7 +1094,7 @@ static int jpc_ppm_getparms(jpc_ms_t *ms + + ppm->len = ms->len - 1; + if (ppm->len > 0) { +- if (!(ppm->data = jas_malloc(ppm->len * sizeof(unsigned char)))) { ++ if (!(ppm->data = jas_malloc(ppm->len))) { + goto error; + } + if (JAS_CAST(uint, jas_stream_read(in, ppm->data, ppm->len)) != ppm->len) { +@@ -1163,7 +1163,7 @@ static int jpc_ppt_getparms(jpc_ms_t *ms + } + ppt->len = ms->len - 1; + if (ppt->len > 0) { +- if (!(ppt->data = jas_malloc(ppt->len * sizeof(unsigned char)))) { ++ if (!(ppt->data = jas_malloc(ppt->len))) { + goto error; + } + if (jas_stream_read(in, (char *) ppt->data, ppt->len) != JAS_CAST(int, ppt->len)) { +@@ -1226,7 +1226,7 @@ static int jpc_poc_getparms(jpc_ms_t *ms + uint_fast8_t tmp; + poc->numpchgs = (cstate->numcomps > 256) ? (ms->len / 9) : + (ms->len / 7); +- if (!(poc->pchgs = jas_malloc(poc->numpchgs * sizeof(jpc_pocpchg_t)))) { ++ if (!(poc->pchgs = jas_alloc2(poc->numpchgs, sizeof(jpc_pocpchg_t)))) { + goto error; + } + for (pchgno = 0, pchg = poc->pchgs; pchgno < poc->numpchgs; ++pchgno, +@@ -1331,7 +1331,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms + jpc_crgcomp_t *comp; + uint_fast16_t compno; + crg->numcomps = cstate->numcomps; +- if (!(crg->comps = jas_malloc(cstate->numcomps * sizeof(uint_fast16_t)))) { ++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) { + return -1; + } + for (compno = 0, comp = crg->comps; compno < cstate->numcomps; +@@ -1470,7 +1470,7 @@ static int jpc_unk_getparms(jpc_ms_t *ms + cstate = 0; + + if (ms->len > 0) { +- if (!(unk->data = jas_malloc(ms->len * sizeof(unsigned char)))) { ++ if (!(unk->data = jas_malloc(ms->len))) { + return -1; + } + if (jas_stream_read(in, (char *) unk->data, ms->len) != JAS_CAST(int, ms->len)) { +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c jasper-1.900.1/src/libjasper/jpc/jpc_dec.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2009-10-22 09:58:16.000000000 +0200 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2009-10-22 10:30:50.000000000 +0200 +@@ -449,7 +449,7 @@ static int jpc_dec_process_sot(jpc_dec_t + + if (dec->state == JPC_MH) { + +- compinfos = jas_malloc(dec->numcomps * sizeof(jas_image_cmptparm_t)); ++ compinfos = jas_alloc2(dec->numcomps, sizeof(jas_image_cmptparm_t)); + assert(compinfos); + for (cmptno = 0, cmpt = dec->cmpts, compinfo = compinfos; + cmptno < dec->numcomps; ++cmptno, ++cmpt, ++compinfo) { +@@ -692,7 +692,7 @@ static int jpc_dec_tileinit(jpc_dec_t *d + tile->realmode = 1; + } + tcomp->numrlvls = ccp->numrlvls; +- if (!(tcomp->rlvls = jas_malloc(tcomp->numrlvls * ++ if (!(tcomp->rlvls = jas_alloc2(tcomp->numrlvls, + sizeof(jpc_dec_rlvl_t)))) { + return -1; + } +@@ -764,7 +764,7 @@ rlvl->bands = 0; + rlvl->cbgheightexpn); + + rlvl->numbands = (!rlvlno) ? 1 : 3; +- if (!(rlvl->bands = jas_malloc(rlvl->numbands * ++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands, + sizeof(jpc_dec_band_t)))) { + return -1; + } +@@ -797,7 +797,7 @@ rlvl->bands = 0; + + assert(rlvl->numprcs); + +- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_dec_prc_t)))) { ++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_dec_prc_t)))) { + return -1; + } + +@@ -834,7 +834,7 @@ rlvl->bands = 0; + if (!(prc->numimsbstagtree = jpc_tagtree_create(prc->numhcblks, prc->numvcblks))) { + return -1; + } +- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_dec_cblk_t)))) { ++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_dec_cblk_t)))) { + return -1; + } + +@@ -1181,7 +1181,7 @@ static int jpc_dec_process_siz(jpc_dec_t + return -1; + } + +- if (!(dec->cmpts = jas_malloc(dec->numcomps * sizeof(jpc_dec_cmpt_t)))) { ++ if (!(dec->cmpts = jas_alloc2(dec->numcomps, sizeof(jpc_dec_cmpt_t)))) { + return -1; + } + +@@ -1204,7 +1204,7 @@ static int jpc_dec_process_siz(jpc_dec_t + dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth); + dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, dec->tileheight); + dec->numtiles = dec->numhtiles * dec->numvtiles; +- if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) { ++ if (!(dec->tiles = jas_calloc(dec->numtiles, sizeof(jpc_dec_tile_t)))) { + return -1; + } + +@@ -1228,7 +1228,7 @@ static int jpc_dec_process_siz(jpc_dec_t + tile->pkthdrstreampos = 0; + tile->pptstab = 0; + tile->cp = 0; +- if (!(tile->tcomps = jas_malloc(dec->numcomps * ++ if (!(tile->tcomps = jas_calloc(dec->numcomps, + sizeof(jpc_dec_tcomp_t)))) { + return -1; + } +@@ -1489,7 +1489,7 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u + cp->numlyrs = 0; + cp->mctid = 0; + cp->csty = 0; +- if (!(cp->ccps = jas_malloc(cp->numcomps * sizeof(jpc_dec_ccp_t)))) { ++ if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) { + return 0; + } + if (!(cp->pchglist = jpc_pchglist_create())) { +@@ -2048,7 +2048,7 @@ jpc_streamlist_t *jpc_streamlist_create( + } + streamlist->numstreams = 0; + streamlist->maxstreams = 100; +- if (!(streamlist->streams = jas_malloc(streamlist->maxstreams * ++ if (!(streamlist->streams = jas_alloc2(streamlist->maxstreams, + sizeof(jas_stream_t *)))) { + jas_free(streamlist); + return 0; +@@ -2068,8 +2068,8 @@ int jpc_streamlist_insert(jpc_streamlist + /* Grow the array of streams if necessary. */ + if (streamlist->numstreams >= streamlist->maxstreams) { + newmaxstreams = streamlist->maxstreams + 1024; +- if (!(newstreams = jas_realloc(streamlist->streams, +- (newmaxstreams + 1024) * sizeof(jas_stream_t *)))) { ++ if (!(newstreams = jas_realloc2(streamlist->streams, ++ (newmaxstreams + 1024), sizeof(jas_stream_t *)))) { + return -1; + } + for (i = streamlist->numstreams; i < streamlist->maxstreams; ++i) { +@@ -2155,8 +2155,7 @@ int jpc_ppxstab_grow(jpc_ppxstab_t *tab, + { + jpc_ppxstabent_t **newents; + if (tab->maxents < maxents) { +- newents = (tab->ents) ? jas_realloc(tab->ents, maxents * +- sizeof(jpc_ppxstabent_t *)) : jas_malloc(maxents * sizeof(jpc_ppxstabent_t *)); ++ newents = jas_realloc2(tab->ents, maxents, sizeof(jpc_ppxstabent_t *)); + if (!newents) { + return -1; + } +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c jasper-1.900.1/src/libjasper/jpc/jpc_enc.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -403,7 +403,7 @@ static jpc_enc_cp_t *cp_create(char *opt + vsteplcm *= jas_image_cmptvstep(image, cmptno); + } + +- if (!(cp->ccps = jas_malloc(cp->numcmpts * sizeof(jpc_enc_ccp_t)))) { ++ if (!(cp->ccps = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_ccp_t)))) { + goto error; + } + for (cmptno = 0, ccp = cp->ccps; cmptno < JAS_CAST(int, cp->numcmpts); ++cmptno, +@@ -656,7 +656,7 @@ static jpc_enc_cp_t *cp_create(char *opt + + if (ilyrrates && numilyrrates > 0) { + tcp->numlyrs = numilyrrates + 1; +- if (!(tcp->ilyrrates = jas_malloc((tcp->numlyrs - 1) * ++ if (!(tcp->ilyrrates = jas_alloc2((tcp->numlyrs - 1), + sizeof(jpc_fix_t)))) { + goto error; + } +@@ -940,7 +940,7 @@ startoff = jas_stream_getrwcount(enc->ou + siz->tilewidth = cp->tilewidth; + siz->tileheight = cp->tileheight; + siz->numcomps = cp->numcmpts; +- siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t)); ++ siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t)); + assert(siz->comps); + for (i = 0; i < JAS_CAST(int, cp->numcmpts); ++i) { + siz->comps[i].prec = cp->ccps[i].prec; +@@ -977,7 +977,7 @@ startoff = jas_stream_getrwcount(enc->ou + return -1; + } + crg = &enc->mrk->parms.crg; +- crg->comps = jas_malloc(crg->numcomps * sizeof(jpc_crgcomp_t)); ++ crg->comps = jas_alloc2(crg->numcomps, sizeof(jpc_crgcomp_t)); + if (jpc_putms(enc->out, enc->cstate, enc->mrk)) { + jas_eprintf("cannot write CRG marker\n"); + return -1; +@@ -1955,7 +1955,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_ + tile->mctid = cp->tcp.mctid; + + tile->numlyrs = cp->tcp.numlyrs; +- if (!(tile->lyrsizes = jas_malloc(tile->numlyrs * ++ if (!(tile->lyrsizes = jas_alloc2(tile->numlyrs, + sizeof(uint_fast32_t)))) { + goto error; + } +@@ -1964,7 +1964,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_ + } + + /* Allocate an array for the per-tile-component information. */ +- if (!(tile->tcmpts = jas_malloc(cp->numcmpts * sizeof(jpc_enc_tcmpt_t)))) { ++ if (!(tile->tcmpts = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_tcmpt_t)))) { + goto error; + } + /* Initialize a few members critical for error recovery. */ +@@ -2110,7 +2110,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc + jas_seq2d_ystart(tcmpt->data), jas_seq2d_xend(tcmpt->data), + jas_seq2d_yend(tcmpt->data), bandinfos); + +- if (!(tcmpt->rlvls = jas_malloc(tcmpt->numrlvls * sizeof(jpc_enc_rlvl_t)))) { ++ if (!(tcmpt->rlvls = jas_alloc2(tcmpt->numrlvls, sizeof(jpc_enc_rlvl_t)))) { + goto error; + } + for (rlvlno = 0, rlvl = tcmpt->rlvls; rlvlno < tcmpt->numrlvls; +@@ -2213,7 +2213,7 @@ static jpc_enc_rlvl_t *rlvl_create(jpc_e + rlvl->numvprcs = JPC_FLOORDIVPOW2(brprcbry - tlprctly, rlvl->prcheightexpn); + rlvl->numprcs = rlvl->numhprcs * rlvl->numvprcs; + +- if (!(rlvl->bands = jas_malloc(rlvl->numbands * sizeof(jpc_enc_band_t)))) { ++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands, sizeof(jpc_enc_band_t)))) { + goto error; + } + for (bandno = 0, band = rlvl->bands; bandno < rlvl->numbands; +@@ -2290,7 +2290,7 @@ if (bandinfo->xstart != bandinfo->xend & + band->synweight = bandinfo->synenergywt; + + if (band->data) { +- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_enc_prc_t)))) { ++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_enc_prc_t)))) { + goto error; + } + for (prcno = 0, prc = band->prcs; prcno < rlvl->numprcs; ++prcno, +@@ -2422,7 +2422,7 @@ if (!rlvlno) { + goto error; + } + +- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_enc_cblk_t)))) { ++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_enc_cblk_t)))) { + goto error; + } + for (cblkno = 0, cblk = prc->cblks; cblkno < prc->numcblks; +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c 2009-10-22 10:27:45.000000000 +0200 +@@ -118,7 +118,7 @@ jpc_mqdec_t *jpc_mqdec_create(int maxctx + mqdec->in = in; + mqdec->maxctxs = maxctxs; + /* Allocate memory for the per-context state information. */ +- if (!(mqdec->ctxs = jas_malloc(mqdec->maxctxs * sizeof(jpc_mqstate_t *)))) { ++ if (!(mqdec->ctxs = jas_alloc2(mqdec->maxctxs, sizeof(jpc_mqstate_t *)))) { + goto error; + } + /* Set the current context to the first context. */ +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -197,7 +197,7 @@ jpc_mqenc_t *jpc_mqenc_create(int maxctx + mqenc->maxctxs = maxctxs; + + /* Allocate memory for the per-context state information. */ +- if (!(mqenc->ctxs = jas_malloc(mqenc->maxctxs * sizeof(jpc_mqstate_t *)))) { ++ if (!(mqenc->ctxs = jas_alloc2(mqenc->maxctxs, sizeof(jpc_mqstate_t *)))) { + goto error; + } + +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2009-10-22 10:27:45.000000000 +0200 +@@ -321,7 +321,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in + #if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide in this case. */ + abort(); + } +@@ -389,7 +389,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in + #if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide in this case. */ + abort(); + } +@@ -460,7 +460,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, + #if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide in this case. */ + abort(); + } +@@ -549,7 +549,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + #if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide in this case. */ + abort(); + } +@@ -633,7 +633,7 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int + #if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide. */ + abort(); + } +@@ -698,7 +698,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int + #if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide. */ + abort(); + } +@@ -766,7 +766,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, + #if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide. */ + abort(); + } +@@ -852,7 +852,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, + #if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { +- if (!(buf = jas_malloc(bufsize * numcols * sizeof(jpc_fix_t)))) { ++ if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) { + /* We have no choice but to commit suicide. */ + abort(); + } +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -219,7 +219,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_ + + cblk->numpasses = (cblk->numbps > 0) ? (3 * cblk->numbps - 2) : 0; + if (cblk->numpasses > 0) { +- cblk->passes = jas_malloc(cblk->numpasses * sizeof(jpc_enc_pass_t)); ++ cblk->passes = jas_alloc2(cblk->numpasses, sizeof(jpc_enc_pass_t)); + assert(cblk->passes); + } else { + cblk->passes = 0; +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c 2009-10-22 10:27:45.000000000 +0200 +@@ -573,7 +573,7 @@ int jpc_pchglist_insert(jpc_pchglist_t * + } + if (pchglist->numpchgs >= pchglist->maxpchgs) { + newmaxpchgs = pchglist->maxpchgs + 128; +- if (!(newpchgs = jas_realloc(pchglist->pchgs, newmaxpchgs * sizeof(jpc_pchg_t *)))) { ++ if (!(newpchgs = jas_realloc2(pchglist->pchgs, newmaxpchgs, sizeof(jpc_pchg_t *)))) { + return -1; + } + pchglist->maxpchgs = newmaxpchgs; +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c 2009-10-22 10:27:45.000000000 +0200 +@@ -478,7 +478,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d + return 0; + } + pi->numcomps = dec->numcomps; +- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) { ++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) { + jpc_pi_destroy(pi); + return 0; + } +@@ -490,7 +490,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d + for (compno = 0, tcomp = tile->tcomps, picomp = pi->picomps; + compno < pi->numcomps; ++compno, ++tcomp, ++picomp) { + picomp->numrlvls = tcomp->numrlvls; +- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls * ++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls, + sizeof(jpc_pirlvl_t)))) { + jpc_pi_destroy(pi); + return 0; +@@ -503,7 +503,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d + rlvlno < picomp->numrlvls; ++rlvlno, ++pirlvl, ++rlvl) { + /* XXX sizeof(long) should be sizeof different type */ + pirlvl->numprcs = rlvl->numprcs; +- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs * ++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs, + sizeof(long)))) { + jpc_pi_destroy(pi); + return 0; +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2009-10-22 10:27:45.000000000 +0200 +@@ -565,7 +565,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t + } + pi->pktno = -1; + pi->numcomps = cp->numcmpts; +- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) { ++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) { + jpc_pi_destroy(pi); + return 0; + } +@@ -577,7 +577,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t + for (compno = 0, tcomp = tile->tcmpts, picomp = pi->picomps; + compno < pi->numcomps; ++compno, ++tcomp, ++picomp) { + picomp->numrlvls = tcomp->numrlvls; +- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls * ++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls, + sizeof(jpc_pirlvl_t)))) { + jpc_pi_destroy(pi); + return 0; +@@ -591,7 +591,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t + /* XXX sizeof(long) should be sizeof different type */ + pirlvl->numprcs = rlvl->numprcs; + if (rlvl->numprcs) { +- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs * ++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs, + sizeof(long)))) { + jpc_pi_destroy(pi); + return 0; +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2009-10-22 10:27:45.000000000 +0200 +@@ -125,7 +125,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu + ++numlvls; + } while (n > 1); + +- if (!(tree->nodes_ = jas_malloc(tree->numnodes_ * sizeof(jpc_tagtreenode_t)))) { ++ if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) { + return 0; + } + +diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c jasper-1.900.1/src/libjasper/jpc/jpc_util.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_util.c 2009-10-22 10:27:45.000000000 +0200 +@@ -109,7 +109,7 @@ int jpc_atoaf(char *s, int *numvalues, d + } + + if (n) { +- if (!(vs = jas_malloc(n * sizeof(double)))) { ++ if (!(vs = jas_alloc2(n, sizeof(double)))) { + return -1; + } + +diff -pruN jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1/src/libjasper/mif/mif_cod.c +--- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2009-10-22 10:27:45.000000000 +0200 +@@ -438,8 +438,7 @@ static int mif_hdr_growcmpts(mif_hdr_t * + int cmptno; + mif_cmpt_t **newcmpts; + assert(maxcmpts >= hdr->numcmpts); +- newcmpts = (!hdr->cmpts) ? jas_malloc(maxcmpts * sizeof(mif_cmpt_t *)) : +- jas_realloc(hdr->cmpts, maxcmpts * sizeof(mif_cmpt_t *)); ++ newcmpts = jas_realloc2(hdr->cmpts, maxcmpts, sizeof(mif_cmpt_t *)); + if (!newcmpts) { + return -1; + } diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch new file mode 100644 index 000000000..4bf2e9b52 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch @@ -0,0 +1,14 @@ +https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3522 + +diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200 ++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:35:53.000000000 +0200 +@@ -553,7 +553,7 @@ int jas_stream_printf(jas_stream_t *stre + int ret; + + va_start(ap, fmt); +- ret = vsprintf(buf, fmt, ap); ++ ret = vsnprintf(buf, sizeof buf, fmt, ap); + jas_stream_puts(stream, buf); + va_end(ap); + return ret; diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch new file mode 100644 index 000000000..f753080a3 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch @@ -0,0 +1,23 @@ +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 jasper-1.900.1/src/libjasper/jpc/jpc_cs.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 2011-10-25 17:25:39.000000000 +0200 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-10-25 17:29:14.379371908 +0200 +@@ -744,6 +744,10 @@ static int jpc_cox_getcompparms(jpc_ms_t + return -1; + } + compparms->numrlvls = compparms->numdlvls + 1; ++ if (compparms->numrlvls > JPC_MAXRLVLS) { ++ jpc_cox_destroycompparms(compparms); ++ return -1; ++ } + if (prtflag) { + for (i = 0; i < compparms->numrlvls; ++i) { + if (jpc_getuint8(in, &tmp)) { +@@ -1331,7 +1335,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms + jpc_crgcomp_t *comp; + uint_fast16_t compno; + crg->numcomps = cstate->numcomps; +- if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) { ++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(jpc_crgcomp_t)))) { + return -1; + } + for (compno = 0, comp = crg->comps; compno < cstate->numcomps; diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch new file mode 100644 index 000000000..197740057 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch @@ -0,0 +1,17 @@ +Error: BAD_SIZEOF +jpc/jpc_enc.c:2105: bad_sizeof: Taking the size of binary expression "tcmpt->numstepsizes * sizeof (uint_fast16_t) /*8*/" is suspicious. + Did you intend "sizeof(tcmpt->numstepsizes) * sizeof (uint_fast16_t) /*8*/"? + +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.bad_sizeof jasper-1.900.1/src/libjasper/jpc/jpc_enc.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.bad_sizeof 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2011-06-23 17:28:17.085690561 +0200 +@@ -2102,8 +2102,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc + + tcmpt->numstepsizes = tcmpt->numbands; + assert(tcmpt->numstepsizes <= JPC_MAXBANDS); +- memset(tcmpt->stepsizes, 0, sizeof(tcmpt->numstepsizes * +- sizeof(uint_fast16_t))); ++ memset(tcmpt->stepsizes, 0, tcmpt->numstepsizes * sizeof(uint_fast16_t)); + + /* Retrieve information about the various bands. */ + jpc_tsfb_getbands(tcmpt->tsfb, jas_seq2d_xstart(tcmpt->data), diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch new file mode 100644 index 000000000..ea330f2c1 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch @@ -0,0 +1,141 @@ +Error: CHECKED_RETURN +jpc/jpc_cs.c:924: check_return: Calling function "jpc_putuint16" without checking return value (as is done elsewhere 11 out of 13 times). +jpc/jpc_cs.c:924: unchecked_value: No check of the return value of "jpc_putuint16(out, qcc->compno)". + +jpc/jpc_cs.c:1021: check_return: Calling function "jpc_putuint16" without checking return value (as is done elsewhere 11 out of 13 times). +jpc/jpc_cs.c:1021: unchecked_value: No check of the return value of "jpc_putuint16(out, compparms->stepsizes[i])". + +jpc/jpc_cs.c:994: check_return: Calling function "jpc_getuint16" without checking return value (as is done elsewhere 14 out of 16 times). +jpc/jpc_cs.c:994: unchecked_value: No check of the return value of "jpc_getuint16(in, compparms->stepsizes + i)". + +jpc/jpc_cs.c:905: check_return: Calling function "jpc_getuint16" without checking return value (as is done elsewhere 14 out of 16 times). +jpc/jpc_cs.c:905: unchecked_value: No check of the return value of "jpc_getuint16(in, &qcc->compno)". + +jpc/jpc_cs.c:969: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times). +jpc/jpc_cs.c:969: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)". + +jpc/jpc_cs.c:991: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times). +jpc/jpc_cs.c:991: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)". + +jpc/jpc_cs.c:901: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times). +jpc/jpc_cs.c:901: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)". + +jpc/jpc_t2enc.c:338: check_return: Calling function "jpc_putms" without checking return value (as is done elsewhere 12 out of 13 times). +jpc/jpc_t2enc.c:338: unchecked_value: No check of the return value of "jpc_putms(out, enc->cstate, ms)". + +ras/ras_enc.c:245: check_return: Calling function "jas_image_readcmpt" without checking return value (as is done elsewhere 9 out of 10 times). +ras/ras_enc.c:245: unchecked_value: No check of the return value of "jas_image_readcmpt(image, cmpts[i], 0L, y, image->brx_ - image->tlx_, 1L, data[i])". + +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.checked_return jasper-1.900.1/src/libjasper/jpc/jpc_cs.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.checked_return 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-06-24 13:52:25.636551844 +0200 +@@ -898,11 +898,15 @@ static int jpc_qcc_getparms(jpc_ms_t *ms + int len; + len = ms->len; + if (cstate->numcomps <= 256) { +- jpc_getuint8(in, &tmp); ++ if (jpc_getuint8(in, &tmp)) { ++ return -1; ++ } + qcc->compno = tmp; + --len; + } else { +- jpc_getuint16(in, &qcc->compno); ++ if (jpc_getuint16(in, &qcc->compno)) { ++ return -1; ++ } + len -= 2; + } + if (jpc_qcx_getcompparms(&qcc->compparms, cstate, in, len)) { +@@ -919,9 +923,13 @@ static int jpc_qcc_putparms(jpc_ms_t *ms + { + jpc_qcc_t *qcc = &ms->parms.qcc; + if (cstate->numcomps <= 256) { +- jpc_putuint8(out, qcc->compno); ++ if (jpc_putuint8(out, qcc->compno)) { ++ return -1; ++ } + } else { +- jpc_putuint16(out, qcc->compno); ++ if (jpc_putuint16(out, qcc->compno)) { ++ return -1; ++ } + } + if (jpc_qcx_putcompparms(&qcc->compparms, cstate, out)) { + return -1; +@@ -966,7 +974,9 @@ static int jpc_qcx_getcompparms(jpc_qcxc + cstate = 0; + + n = 0; +- jpc_getuint8(in, &tmp); ++ if (jpc_getuint8(in, &tmp)) { ++ return -1; ++ } + ++n; + compparms->qntsty = tmp & 0x1f; + compparms->numguard = (tmp >> 5) & 7; +@@ -988,10 +998,14 @@ static int jpc_qcx_getcompparms(jpc_qcxc + assert(compparms->stepsizes); + for (i = 0; i < compparms->numstepsizes; ++i) { + if (compparms->qntsty == JPC_QCX_NOQNT) { +- jpc_getuint8(in, &tmp); ++ if (jpc_getuint8(in, &tmp)) { ++ return -1; ++ } + compparms->stepsizes[i] = JPC_QCX_EXPN(tmp >> 3); + } else { +- jpc_getuint16(in, &compparms->stepsizes[i]); ++ if (jpc_getuint16(in, &compparms->stepsizes[i])) { ++ return -1; ++ } + } + } + } else { +@@ -1015,10 +1029,14 @@ static int jpc_qcx_putcompparms(jpc_qcxc + jpc_putuint8(out, ((compparms->numguard & 7) << 5) | compparms->qntsty); + for (i = 0; i < compparms->numstepsizes; ++i) { + if (compparms->qntsty == JPC_QCX_NOQNT) { +- jpc_putuint8(out, JPC_QCX_GETEXPN( +- compparms->stepsizes[i]) << 3); ++ if (jpc_putuint8(out, JPC_QCX_GETEXPN( ++ compparms->stepsizes[i]) << 3)) { ++ return -1; ++ } + } else { +- jpc_putuint16(out, compparms->stepsizes[i]); ++ if (jpc_putuint16(out, compparms->stepsizes[i])) { ++ return -1; ++ } + } + } + return 0; +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c.checked_return jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c.checked_return 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2011-06-24 12:29:32.069578992 +0200 +@@ -335,7 +335,9 @@ assert(jpc_firstone(datalen) < cblk->num + if (!(ms = jpc_ms_create(JPC_MS_EPH))) { + return -1; + } +- jpc_putms(out, enc->cstate, ms); ++ if (jpc_putms(out, enc->cstate, ms)) { ++ return -1; ++ } + jpc_ms_destroy(ms); + } + +diff -up jasper-1.900.1/src/libjasper/ras/ras_enc.c.checked_return jasper-1.900.1/src/libjasper/ras/ras_enc.c +--- jasper-1.900.1/src/libjasper/ras/ras_enc.c.checked_return 2007-01-19 22:43:04.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/ras/ras_enc.c 2011-06-24 14:05:31.233482612 +0200 +@@ -242,8 +242,10 @@ static int ras_putdatastd(jas_stream_t * + + for (y = 0; y < hdr->height; y++) { + for (i = 0; i < numcmpts; ++i) { +- jas_image_readcmpt(image, cmpts[i], 0, y, jas_image_width(image), +- 1, data[i]); ++ if (jas_image_readcmpt(image, cmpts[i], 0, y, ++ jas_image_width(image), 1, data[i])) { ++ return -1; ++ } + } + z = 0; + nz = 0; diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch new file mode 100644 index 000000000..ff526b4d1 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch @@ -0,0 +1,44 @@ +Error: FORWARD_NULL +jpc/jpc_dec.c:2207: var_compare_op: Comparing "streams" to null implies that "streams" might be null. +jpc/jpc_dec.c:2270: var_deref_model: Passing null variable "streams" to function "jpc_streamlist_destroy", which dereferences it. +jpc/jpc_dec.c:2108: deref_parm: Directly dereferencing parameter "streamlist". + +jpc/jpc_t1enc.c:225: assign_zero: Assigning: "cblk->passes" = 0. +jpc/jpc_t1enc.c:228: alias_transfer: Assigning null: "pass" = "cblk->passes". +jpc/jpc_t1enc.c:229: var_deref_op: Dereferencing null variable "pass". + +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.forward_null jasper-1.900.1/src/libjasper/jpc/jpc_dec.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.forward_null 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2011-06-24 15:01:39.200600146 +0200 +@@ -2267,7 +2267,9 @@ jpc_streamlist_t *jpc_ppmstabtostreams(j + return streams; + + error: +- jpc_streamlist_destroy(streams); ++ if (streams) { ++ jpc_streamlist_destroy(streams); ++ } + return 0; + } + +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c.forward_null jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c.forward_null 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2011-06-24 14:58:33.061248133 +0200 +@@ -224,7 +224,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_ + } else { + cblk->passes = 0; + } +- endpasses = &cblk->passes[cblk->numpasses]; ++ endpasses = (cblk->passes) ? &cblk->passes[cblk->numpasses] : 0; + for (pass = cblk->passes; pass != endpasses; ++pass) { + pass->start = 0; + pass->end = 0; +@@ -352,7 +352,7 @@ dump_passes(cblk->passes, cblk->numpasse + #endif + + n = 0; +- endpasses = &cblk->passes[cblk->numpasses]; ++ endpasses = (cblk->passes) ? &cblk->passes[cblk->numpasses] : 0; + for (pass = cblk->passes; pass != endpasses; ++pass) { + if (pass->start < n) { + pass->start = n; diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch new file mode 100644 index 000000000..4c7227028 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch @@ -0,0 +1,61 @@ +Error: NULL_RETURNS +base/jas_image.c:213: returned_null: Function "jas_image_create0" returns null (checked 6 out of 7 times). +base/jas_image.c:213: var_assigned: Assigning: "newimage" = null return value from "jas_image_create0". +base/jas_image.c:214: dereference: Dereferencing a pointer that might be null "newimage" when calling "jas_image_growcmpts". +base/jas_image.c:777: deref_parm: Directly dereferencing parameter "image". + +base/jas_seq.c:223: returned_null: Function "jas_malloc" returns null (checked 110 out of 119 times). +base/jas_seq.c:223: var_assigned: Assigning: "mat0->rows_" = null return value from "jas_malloc". +base/jas_seq.c:225: dereference: Dereferencing a null pointer "mat0->rows_". + +jp2/jp2_cod.c:484: returned_null: Function "jas_stream_memopen" returns null (checked 12 out of 15 times). +jp2/jp2_cod.c:484: var_assigned: Assigning: "tmpstream" = null return value from "jas_stream_memopen". +jp2/jp2_cod.c:490: dereference: Dereferencing a pointer that might be null "tmpstream" when calling "jas_stream_tell". +base/jas_stream.c:677: deref_parm: Directly dereferencing parameter "stream". + + +diff -up jasper-1.900.1/src/libjasper/base/jas_image.c.NULL_RETURNS jasper-1.900.1/src/libjasper/base/jas_image.c +--- jasper-1.900.1/src/libjasper/base/jas_image.c.NULL_RETURNS 2011-12-08 14:00:05.350020869 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2011-12-08 14:00:06.638004766 +0100 +@@ -210,7 +210,10 @@ jas_image_t *jas_image_copy(jas_image_t + jas_image_t *newimage; + int cmptno; + +- newimage = jas_image_create0(); ++ if (!(newimage = jas_image_create0())) { ++ goto error; ++ } ++ + if (jas_image_growcmpts(newimage, image->numcmpts_)) { + goto error; + } +diff -up jasper-1.900.1/src/libjasper/base/jas_seq.c.NULL_RETURNS jasper-1.900.1/src/libjasper/base/jas_seq.c +--- jasper-1.900.1/src/libjasper/base/jas_seq.c.NULL_RETURNS 2011-12-08 14:00:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2011-12-08 14:15:12.449680562 +0100 +@@ -220,7 +220,11 @@ void jas_matrix_bindsub(jas_matrix_t *ma + mat0->numrows_ = r1 - r0 + 1; + mat0->numcols_ = c1 - c0 + 1; + mat0->maxrows_ = mat0->numrows_; +- mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *)); ++ if (!(mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *)))) { ++ jas_matrix_destroy(mat0); ++ return; ++ } ++ + for (i = 0; i < mat0->numrows_; ++i) { + mat0->rows_[i] = mat1->rows_[r0 + i] + c0; + } +diff -up jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.NULL_RETURNS jasper-1.900.1/src/libjasper/jp2/jp2_cod.c +--- jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.NULL_RETURNS 2011-12-08 14:00:05.633017331 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2011-12-08 14:00:06.677004279 +0100 +@@ -481,7 +481,9 @@ int jp2_box_put(jp2_box_t *box, jas_stre + dataflag = !(box->info->flags & (JP2_BOX_SUPER | JP2_BOX_NODATA)); + + if (dataflag) { +- tmpstream = jas_stream_memopen(0, 0); ++ if (!(tmpstream = jas_stream_memopen(0, 0))) { ++ goto error; ++ } + if (box->ops->putdata) { + if ((*box->ops->putdata)(box, tmpstream)) { + goto error; diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch new file mode 100644 index 000000000..76f5da77f --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch @@ -0,0 +1,202 @@ +Error: RESOURCE_LEAK +src/appl/imgcmp.c:504: var_assign: Assigning: "diffimage" = storage returned from "jas_image_create(3, compparms, 1025)". +src/appl/imgcmp.c:511: leaked_storage: Variable "diffimage" going out of scope leaks the storage it points to. +src/appl/imgcmp.c:537: leaked_storage: Variable "diffimage" going out of scope leaks the storage it points to. + +base/jas_image.c:254: var_assign: Assigning: "newcmpt" = storage returned from "jas_image_cmpt_create0()". +base/jas_image.c:268: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to. +base/jas_image.c:271: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to. +base/jas_image.c:274: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to. +base/jas_image.c:277: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to. + +base/jas_cm.c:611: var_assign: Assigning: "newpxformseq" = storage returned from "jas_cmpxformseq_create()". +base/jas_cm.c:617: leaked_storage: Variable "newpxformseq" going out of scope leaks the storage it points to. + +base/jas_cm.c:343: var_assign: Assigning: "newprof" = storage returned from "jas_cmprof_create()". +base/jas_cm.c:358: leaked_storage: Variable "newprof" going out of scope leaks the storage it points to. + +base/jas_cm.c:380: var_assign: Assigning: "xform" = storage returned from "jas_malloc(sizeof (jas_cmxform_t) /*16*/)". +base/jas_cm.c:461: leaked_storage: Variable "xform" going out of scope leaks the storage it points to. + +base/jas_image.c:1379: var_assign: Assigning: "xform" = storage returned from "jas_cmxform_create(inprof, outprof, NULL, 0, intent, 0)". +base/jas_image.c:1444: leaked_storage: Variable "xform" going out of scope leaks the storage it points to. + +base/jas_image.c:1306: var_assign: Assigning: "inimage" = storage returned from "jas_image_copy(image)". +base/jas_image.c:1444: leaked_storage: Variable "inimage" going out of scope leaks the storage it points to. + +base/jas_image.c:1345: var_assign: Assigning: "outimage" = storage returned from "jas_image_create0()". +base/jas_image.c:1444: leaked_storage: Variable "outimage" going out of scope leaks the storage it points to. + +bmp/bmp_enc.c:187: var_assign: Assigning: "info" = storage returned from "bmp_info_create()". +bmp/bmp_enc.c:208: leaked_storage: Variable "info" going out of scope leaks the storage it points to. + +jpc/jpc_tagtree.c:111: var_assign: Assigning: "tree" = storage returned from "jpc_tagtree_alloc()". +jpc/jpc_tagtree.c:129: leaked_storage: Variable "tree" going out of scope leaks the storage it points to. + +jpc/jpc_dec.c:452: var_assign: Assigning: "compinfos" = storage returned from "jas_malloc(dec->numcomps * sizeof (jas_image_cmptparm_t) /*56*/)". +jpc/jpc_dec.c:468: leaked_storage: Variable "compinfos" going out of scope leaks the storage it points to. + +jpc/jpc_dec.c:1483: var_assign: Assigning: "cp" = storage returned from "jas_malloc(sizeof (jpc_dec_cp_t) /*48*/)". +jpc/jpc_dec.c:1493: leaked_storage: Variable "cp" going out of scope leaks the storage it points to. +jpc/jpc_dec.c:1497: leaked_storage: Variable "cp" going out of scope leaks the storage it points to. + +mif/mif_cod.c:523: var_assign: Assigning: "cmpt" = storage returned from "mif_cmpt_create()". +mif/mif_cod.c:568: leaked_storage: Variable "cmpt" going out of scope leaks the storage it points to. + +mif/mif_cod.c:568: leaked_storage: Variable "tvp" going out of scope leaks the storage it points to. + + +diff -up jasper-1.900.1/src/appl/imgcmp.c.RESOURCE_LEAK jasper-1.900.1/src/appl/imgcmp.c +--- jasper-1.900.1/src/appl/imgcmp.c.RESOURCE_LEAK 2007-01-19 22:43:08.000000000 +0100 ++++ jasper-1.900.1/src/appl/imgcmp.c 2011-12-08 14:16:04.727027007 +0100 +@@ -507,6 +507,7 @@ jas_image_t *makediffimage(jas_matrix_t + + for (i = 0; i < 3; ++i) { + if (!(diffdata[i] = jas_matrix_create(height, width))) { ++ jas_image_destroy(diffimage); + fprintf(stderr, "internal error\n"); + return 0; + } +@@ -534,6 +535,7 @@ jas_image_t *makediffimage(jas_matrix_t + + for (i = 0; i < 3; ++i) { + if (jas_image_writecmpt(diffimage, i, 0, 0, width, height, diffdata[i])) { ++ jas_image_destroy(diffimage); + return 0; + } + } +diff -up jasper-1.900.1/src/libjasper/base/jas_cm.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/base/jas_cm.c +--- jasper-1.900.1/src/libjasper/base/jas_cm.c.RESOURCE_LEAK 2011-12-08 14:16:03.387043758 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2011-12-08 14:16:04.728026994 +0100 +@@ -355,6 +355,8 @@ jas_cmprof_t *jas_cmprof_copy(jas_cmprof + } + return newprof; + error: ++ if (newprof) ++ jas_cmprof_destroy(newprof); + return 0; + } + +@@ -458,6 +460,8 @@ jas_cmxform_t *jas_cmxform_create(jas_cm + } + return xform; + error: ++ if (xform) ++ jas_cmxform_destroy(xform); + return 0; + } + +@@ -614,6 +618,8 @@ static jas_cmpxformseq_t *jas_cmpxformse + goto error; + return newpxformseq; + error: ++ if (newpxformseq) ++ jas_cmpxformseq_destroy(newpxformseq); + return 0; + } + +diff -up jasper-1.900.1/src/libjasper/base/jas_image.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/base/jas_image.c +--- jasper-1.900.1/src/libjasper/base/jas_image.c.RESOURCE_LEAK 2011-12-08 14:16:04.635028156 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2011-12-08 14:16:04.776026394 +0100 +@@ -268,15 +268,19 @@ static jas_image_cmpt_t *jas_image_cmpt_ + newcmpt->cps_ = cmpt->cps_; + newcmpt->type_ = cmpt->type_; + if (!(newcmpt->stream_ = jas_stream_memopen(0, 0))) { ++ jas_image_cmpt_destroy(newcmpt); + return 0; + } + if (jas_stream_seek(cmpt->stream_, 0, SEEK_SET)) { ++ jas_image_cmpt_destroy(newcmpt); + return 0; + } + if (jas_stream_copy(newcmpt->stream_, cmpt->stream_, -1)) { ++ jas_image_cmpt_destroy(newcmpt); + return 0; + } + if (jas_stream_seek(newcmpt->stream_, 0, SEEK_SET)) { ++ jas_image_cmpt_destroy(newcmpt); + return 0; + } + return newcmpt; +@@ -1443,5 +1447,11 @@ jas_image_dump(outimage, stderr); + #endif + return outimage; + error: ++ if (xform) ++ jas_cmxform_destroy(xform); ++ if (inimage) ++ jas_image_destroy(inimage); ++ if (outimage) ++ jas_image_destroy(outimage); + return 0; + } +diff -up jasper-1.900.1/src/libjasper/bmp/bmp_enc.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/bmp/bmp_enc.c +--- jasper-1.900.1/src/libjasper/bmp/bmp_enc.c.RESOURCE_LEAK 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/bmp/bmp_enc.c 2011-12-08 14:16:04.826025768 +0100 +@@ -205,16 +205,19 @@ int bmp_encode(jas_image_t *image, jas_s + + /* Write the bitmap header. */ + if (bmp_puthdr(out, &hdr)) { ++ bmp_info_destroy(info); + return -1; + } + + /* Write the bitmap information. */ + if (bmp_putinfo(out, info)) { ++ bmp_info_destroy(info); + return -1; + } + + /* Write the bitmap data. */ + if (bmp_putdata(out, info, image, enc->cmpts)) { ++ bmp_info_destroy(info); + return -1; + } + +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/jpc/jpc_dec.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.RESOURCE_LEAK 2011-12-08 14:16:04.594028668 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2011-12-08 14:17:25.677014992 +0100 +@@ -465,6 +465,7 @@ static int jpc_dec_process_sot(jpc_dec_t + + if (!(dec->image = jas_image_create(dec->numcomps, compinfos, + JAS_CLRSPC_UNKNOWN))) { ++ jas_free(compinfos); + return -1; + } + jas_free(compinfos); +@@ -1490,10 +1491,11 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u + cp->mctid = 0; + cp->csty = 0; + if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) { ++ jpc_dec_cp_destroy(cp); + return 0; + } + if (!(cp->pchglist = jpc_pchglist_create())) { +- jas_free(cp->ccps); ++ jpc_dec_cp_destroy(cp); + return 0; + } + for (compno = 0, ccp = cp->ccps; compno < cp->numcomps; +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c.RESOURCE_LEAK 2011-12-08 14:16:04.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2011-12-08 14:17:55.905637082 +0100 +@@ -126,6 +126,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu + } while (n > 1); + + if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) { ++ jpc_tagtree_destroy(tree); + return 0; + } + +diff -up jasper-1.900.1/src/libjasper/mif/mif_cod.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/mif/mif_cod.c +--- jasper-1.900.1/src/libjasper/mif/mif_cod.c.RESOURCE_LEAK 2011-12-08 14:16:04.250032970 +0100 ++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2011-12-08 14:16:04.967024005 +0100 +@@ -564,7 +564,7 @@ static int mif_process_cmpt(mif_hdr_t *h + break; + case MIF_DATA: + if (!(cmpt->data = jas_strdup(jas_tvparser_getval(tvp)))) { +- return -1; ++ goto error; + } + break; + } diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch new file mode 100644 index 000000000..3cae29403 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch @@ -0,0 +1,37 @@ +Error: UNREACHABLE +jp2/jp2_cod.c:304: unreachable: This code cannot be reached: "abort();". + +jp2/jp2_cod.c:514: unreachable: This code cannot be reached: "abort();". + +jp2/jp2_enc.c:354: unreachable: This code cannot be reached: "abort();". + +diff -up jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.unreachable jasper-1.900.1/src/libjasper/jp2/jp2_cod.c +--- jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.unreachable 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2011-06-27 15:28:13.083137952 +0200 +@@ -301,7 +301,6 @@ jp2_box_t *jp2_box_get(jas_stream_t *in) + } + + return box; +- abort(); + + error: + if (box) { +@@ -511,7 +510,6 @@ int jp2_box_put(jp2_box_t *box, jas_stre + } + + return 0; +- abort(); + + error: + +diff -up jasper-1.900.1/src/libjasper/jp2/jp2_enc.c.unreachable jasper-1.900.1/src/libjasper/jp2/jp2_enc.c +--- jasper-1.900.1/src/libjasper/jp2/jp2_enc.c.unreachable 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2011-06-27 15:27:58.858353979 +0200 +@@ -351,7 +351,6 @@ int sgnd; + } + + return 0; +- abort(); + + error: + diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch new file mode 100644 index 000000000..e7d4cb591 --- /dev/null +++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch @@ -0,0 +1,41 @@ +Error: UNUSED_VALUE +base/jas_icc.c:328: returned_pointer: Pointer "attrvalinfo" returned by "jas_iccattrvalinfo_lookup(type)" is never used. + +jpc/jpc_enc.c:788: returned_pointer: Pointer "cp" returned by "strchr(s, 66)" is never used. + +diff -up jasper-1.900.1/src/libjasper/base/jas_icc.c.unused_value jasper-1.900.1/src/libjasper/base/jas_icc.c +--- jasper-1.900.1/src/libjasper/base/jas_icc.c.unused_value 2007-01-19 22:43:05.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2011-06-27 15:35:52.815263000 +0200 +@@ -266,7 +266,6 @@ jas_iccprof_t *jas_iccprof_load(jas_stre + jas_iccattrval_t *attrval; + jas_iccattrval_t *prevattrval; + jas_icctagtabent_t *tagtabent; +- jas_iccattrvalinfo_t *attrvalinfo; + int i; + int len; + +@@ -325,7 +324,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stre + goto error; + } + curoff += 8; +- if (!(attrvalinfo = jas_iccattrvalinfo_lookup(type))) { ++ if (!jas_iccattrvalinfo_lookup(type)) { + #if 0 + jas_eprintf("warning: skipping unknown tag type\n"); + #endif +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.unused_value jasper-1.900.1/src/libjasper/jpc/jpc_enc.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.unused_value 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2011-06-27 15:36:17.437900180 +0200 +@@ -781,11 +781,10 @@ void jpc_enc_cp_destroy(jpc_enc_cp_t *cp + + int ratestrtosize(char *s, uint_fast32_t rawsize, uint_fast32_t *size) + { +- char *cp; + jpc_flt_t f; + + /* Note: This function must not modify output size on failure. */ +- if ((cp = strchr(s, 'B'))) { ++ if (strchr(s, 'B')) { + *size = atoi(s); + } else { + f = atof(s); diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8137.patch b/patches/source/jasper/patches/jasper-CVE-2014-8137.patch new file mode 100644 index 000000000..9600cd323 --- /dev/null +++ b/patches/source/jasper/patches/jasper-CVE-2014-8137.patch @@ -0,0 +1,57 @@ +--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2014-12-11 14:06:44.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2014-12-11 15:16:37.971272386 +0100 +@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr + return 0; + + error: +- jas_icccurv_destroy(attrval); + return -1; + } + +@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca + #endif + return 0; + error: +- jas_icctxtdesc_destroy(attrval); + return -1; + } + +@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv + goto error; + return 0; + error: +- if (txt->string) +- jas_free(txt->string); + return -1; + } + +@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr + goto error; + return 0; + error: +- jas_icclut8_destroy(attrval); + return -1; + } + +@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt + goto error; + return 0; + error: +- jas_icclut16_destroy(attrval); + return -1; + } + +--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:30:54.193209780 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:36:46.313217814 +0100 +@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in + case JP2_COLR_ICC: + iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp, + dec->colr->data.colr.iccplen); +- assert(iccprof); ++ if (!iccprof) { ++ jas_eprintf("error: failed to parse ICC profile\n"); ++ goto error; ++ } + jas_iccprof_gethdr(iccprof, &icchdr); + jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc); + jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc)); diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8138.patch b/patches/source/jasper/patches/jasper-CVE-2014-8138.patch new file mode 100644 index 000000000..5aaf8abb1 --- /dev/null +++ b/patches/source/jasper/patches/jasper-CVE-2014-8138.patch @@ -0,0 +1,14 @@ +--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:44.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:26.000000000 +0100 +@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in + /* Determine the type of each component. */ + if (dec->cdef) { + for (i = 0; i < dec->numchans; ++i) { ++ /* Is the channel number reasonable? */ ++ if (dec->cdef->data.cdef.ents[i].channo >= dec->numchans) { ++ jas_eprintf("error: invalid channel number in CDEF box\n"); ++ goto error; ++ } + jas_image_setcmpttype(dec->image, + dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo], + jp2_getct(jas_image_clrspc(dec->image), diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8157.patch b/patches/source/jasper/patches/jasper-CVE-2014-8157.patch new file mode 100644 index 000000000..ebfc1b2d0 --- /dev/null +++ b/patches/source/jasper/patches/jasper-CVE-2014-8157.patch @@ -0,0 +1,12 @@ +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 2015-01-19 16:59:36.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2015-01-19 17:07:41.609863268 +0100 +@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t + dec->curtileendoff = 0; + } + +- if (JAS_CAST(int, sot->tileno) > dec->numtiles) { ++ if (JAS_CAST(int, sot->tileno) >= dec->numtiles) { + jas_eprintf("invalid tile number in SOT marker segment\n"); + return -1; + } diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8158.patch b/patches/source/jasper/patches/jasper-CVE-2014-8158.patch new file mode 100644 index 000000000..ce9e4b497 --- /dev/null +++ b/patches/source/jasper/patches/jasper-CVE-2014-8158.patch @@ -0,0 +1,329 @@ +diff -up jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 2015-01-19 17:25:28.730195502 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2015-01-19 17:27:20.214663127 +0100 +@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in + { + + int bufsize = JPC_CEILDIVPOW2(numcols, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; +-#else +- jpc_fix_t splitbuf[bufsize]; +-#endif + jpc_fix_t *buf = splitbuf; + register jpc_fix_t *srcptr; + register jpc_fix_t *dstptr; +@@ -318,7 +314,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in + register int m; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { +@@ -326,7 +321,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in + abort(); + } + } +-#endif + + if (numcols >= 2) { + hstartcol = (numcols + 1 - parity) >> 1; +@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in + } + } + +-#if !defined(HAVE_VLA) + /* If the split buffer was allocated on the heap, free this memory. */ + if (buf != splitbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in + { + + int bufsize = JPC_CEILDIVPOW2(numrows, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; +-#else +- jpc_fix_t splitbuf[bufsize]; +-#endif + jpc_fix_t *buf = splitbuf; + register jpc_fix_t *srcptr; + register jpc_fix_t *dstptr; +@@ -386,7 +374,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in + register int m; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { +@@ -394,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in + abort(); + } + } +-#endif + + if (numrows >= 2) { + hstartcol = (numrows + 1 - parity) >> 1; +@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in + } + } + +-#if !defined(HAVE_VLA) + /* If the split buffer was allocated on the heap, free this memory. */ + if (buf != splitbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, + { + + int bufsize = JPC_CEILDIVPOW2(numrows, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; +-#else +- jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE]; +-#endif + jpc_fix_t *buf = splitbuf; + jpc_fix_t *srcptr; + jpc_fix_t *dstptr; +@@ -457,7 +437,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, + int m; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { +@@ -465,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, + abort(); + } + } +-#endif + + if (numrows >= 2) { + hstartcol = (numrows + 1 - parity) >> 1; +@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, + } + } + +-#if !defined(HAVE_VLA) + /* If the split buffer was allocated on the heap, free this memory. */ + if (buf != splitbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + { + + int bufsize = JPC_CEILDIVPOW2(numrows, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; +-#else +- jpc_fix_t splitbuf[bufsize * numcols]; +-#endif + jpc_fix_t *buf = splitbuf; + jpc_fix_t *srcptr; + jpc_fix_t *dstptr; +@@ -546,7 +518,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + int m; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Get a buffer. */ + if (bufsize > QMFB_SPLITBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { +@@ -554,7 +525,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + abort(); + } + } +-#endif + + if (numrows >= 2) { + hstartcol = (numrows + 1 - parity) >> 1; +@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + } + } + +-#if !defined(HAVE_VLA) + /* If the split buffer was allocated on the heap, free this memory. */ + if (buf != splitbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -619,18 +587,13 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int + { + + int bufsize = JPC_CEILDIVPOW2(numcols, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; +-#else +- jpc_fix_t joinbuf[bufsize]; +-#endif + jpc_fix_t *buf = joinbuf; + register jpc_fix_t *srcptr; + register jpc_fix_t *dstptr; + register int n; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { +@@ -638,7 +601,6 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int + abort(); + } + } +-#endif + + hstartcol = (numcols + 1 - parity) >> 1; + +@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int + ++srcptr; + } + +-#if !defined(HAVE_VLA) + /* If the join buffer was allocated on the heap, free this memory. */ + if (buf != joinbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -684,18 +644,13 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int + { + + int bufsize = JPC_CEILDIVPOW2(numrows, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; +-#else +- jpc_fix_t joinbuf[bufsize]; +-#endif + jpc_fix_t *buf = joinbuf; + register jpc_fix_t *srcptr; + register jpc_fix_t *dstptr; + register int n; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { +@@ -703,7 +658,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int + abort(); + } + } +-#endif + + hstartcol = (numrows + 1 - parity) >> 1; + +@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int + ++srcptr; + } + +-#if !defined(HAVE_VLA) + /* If the join buffer was allocated on the heap, free this memory. */ + if (buf != joinbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, + { + + int bufsize = JPC_CEILDIVPOW2(numrows, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; +-#else +- jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE]; +-#endif + jpc_fix_t *buf = joinbuf; + jpc_fix_t *srcptr; + jpc_fix_t *dstptr; +@@ -763,7 +711,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, + register int i; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { + if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) { +@@ -771,7 +718,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, + abort(); + } + } +-#endif + + hstartcol = (numrows + 1 - parity) >> 1; + +@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, + srcptr += JPC_QMFB_COLGRPSIZE; + } + +-#if !defined(HAVE_VLA) + /* If the join buffer was allocated on the heap, free this memory. */ + if (buf != joinbuf) { + jas_free(buf); + } +-#endif + + } + +@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, + { + + int bufsize = JPC_CEILDIVPOW2(numrows, 1); +-#if !defined(HAVE_VLA) + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; +-#else +- jpc_fix_t joinbuf[bufsize * numcols]; +-#endif + jpc_fix_t *buf = joinbuf; + jpc_fix_t *srcptr; + jpc_fix_t *dstptr; +@@ -849,7 +789,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, + register int i; + int hstartcol; + +-#if !defined(HAVE_VLA) + /* Allocate memory for the join buffer from the heap. */ + if (bufsize > QMFB_JOINBUFSIZE) { + if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) { +@@ -857,7 +796,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, + abort(); + } + } +-#endif + + hstartcol = (numrows + 1 - parity) >> 1; + +@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, + srcptr += numcols; + } + +-#if !defined(HAVE_VLA) + /* If the join buffer was allocated on the heap, free this memory. */ + if (buf != joinbuf) { + jas_free(buf); + } +-#endif + + } + diff --git a/patches/source/jasper/patches/jasper-CVE-2014-9029.patch b/patches/source/jasper/patches/jasper-CVE-2014-9029.patch new file mode 100644 index 000000000..98a203599 --- /dev/null +++ b/patches/source/jasper/patches/jasper-CVE-2014-9029.patch @@ -0,0 +1,29 @@ +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:45:44.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:44:58.000000000 +0100 +@@ -1281,7 +1281,7 @@ static int jpc_dec_process_coc(jpc_dec_t + jpc_coc_t *coc = &ms->parms.coc; + jpc_dec_tile_t *tile; + +- if (JAS_CAST(int, coc->compno) > dec->numcomps) { ++ if (JAS_CAST(int, coc->compno) >= dec->numcomps) { + jas_eprintf("invalid component number in COC marker segment\n"); + return -1; + } +@@ -1307,7 +1307,7 @@ static int jpc_dec_process_rgn(jpc_dec_t + jpc_rgn_t *rgn = &ms->parms.rgn; + jpc_dec_tile_t *tile; + +- if (JAS_CAST(int, rgn->compno) > dec->numcomps) { ++ if (JAS_CAST(int, rgn->compno) >= dec->numcomps) { + jas_eprintf("invalid component number in RGN marker segment\n"); + return -1; + } +@@ -1356,7 +1356,7 @@ static int jpc_dec_process_qcc(jpc_dec_t + jpc_qcc_t *qcc = &ms->parms.qcc; + jpc_dec_tile_t *tile; + +- if (JAS_CAST(int, qcc->compno) > dec->numcomps) { ++ if (JAS_CAST(int, qcc->compno) >= dec->numcomps) { + jas_eprintf("invalid component number in QCC marker segment\n"); + return -1; + } diff --git a/patches/source/jasper/patches/jpc_dec.c.patch b/patches/source/jasper/patches/jpc_dec.c.patch new file mode 100644 index 000000000..ae1cd0617 --- /dev/null +++ b/patches/source/jasper/patches/jpc_dec.c.patch @@ -0,0 +1,18 @@ +diff -urN jasper-1.900.1/src/libjasper/jpc/jpc_dec.c jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c +--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2007-01-19 14:43:07.000000000 -0700 ++++ jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c 2008-03-06 16:51:12.000000000 -0700 +@@ -1069,12 +1069,12 @@ + /* Apply an inverse intercomponent transform if necessary. */ + switch (tile->cp->mctid) { + case JPC_MCT_RCT: +- assert(dec->numcomps == 3); ++ assert(dec->numcomps >= 3); + jpc_irct(tile->tcomps[0].data, tile->tcomps[1].data, + tile->tcomps[2].data); + break; + case JPC_MCT_ICT: +- assert(dec->numcomps == 3); ++ assert(dec->numcomps >= 3); + jpc_iict(tile->tcomps[0].data, tile->tcomps[1].data, + tile->tcomps[2].data); + break; diff --git a/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff b/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff new file mode 100644 index 000000000..097559f68 --- /dev/null +++ b/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff @@ -0,0 +1,14 @@ +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2007-01-19 22:43:07.000000000 +0100 ++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2007-04-06 01:29:02.000000000 +0200 +@@ -982,7 +982,10 @@ static int jpc_qcx_getcompparms(jpc_qcxc + compparms->numstepsizes = (len - n) / 2; + break; + } +- if (compparms->numstepsizes > 0) { ++ if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) { ++ jpc_qcx_destroycompparms(compparms); ++ return -1; ++ } else if (compparms->numstepsizes > 0) { + compparms->stepsizes = jas_malloc(compparms->numstepsizes * + sizeof(uint_fast16_t)); + assert(compparms->stepsizes); diff --git a/patches/source/jasper/slack-desc b/patches/source/jasper/slack-desc new file mode 100644 index 000000000..c79751af3 --- /dev/null +++ b/patches/source/jasper/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +jasper: jasper (free implementation of the JPEG-2000 standard) +jasper: +jasper: The JasPer Project is an open-source initiative to provide a free +jasper: software-based reference implementation of the codec specified in the +jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).jasper: +jasper: +jasper: jasper home: http://www.ece.uvic.ca/~mdadams/jasper/ +jasper: +jasper: +jasper: +jasper: diff --git a/patches/source/kdelibs/KDE.SlackBuild b/patches/source/kdelibs/KDE.SlackBuild new file mode 100755 index 000000000..ea663a694 --- /dev/null +++ b/patches/source/kdelibs/KDE.SlackBuild @@ -0,0 +1,532 @@ +#!/bin/sh +# Copyright 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Adapted by Eric Hameleers 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..debc6ea12 --- /dev/null +++ b/patches/source/kdelibs/KDE.options @@ -0,0 +1,58 @@ +# Set default version/arch/build. You can override these settings +# in the SlackBuild scripts for each package (koffice, for example, +# usually has a different version number), or by setting your own +# environment variables. + +[ -z $VERSION ] && export VERSION=4.8.5 +[ -z $BUILD ] && export BUILD=1 + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +[ -z $PKGARCH ] && export PKGARCH=$ARCH + +# Use this as CFLAGS and CXXFLAGS: +if [ -z "$SLKCFLAGS" ]; then + if [ "$ARCH" = "i486" ]; then + export SLKCFLAGS="-O2 -march=i486 -mtune=i686" + export LIBDIRSUFFIX="" + elif [ "$ARCH" = "s390" ]; then + export SLKCFLAGS="-O2" + export LIBDIRSUFFIX="" + elif [ "$ARCH" = "x86_64" ]; then + export SLKCFLAGS="-O2 -fPIC" + export LIBDIRSUFFIX="64" + elif [ "$ARCH" = "arm" ]; then + export SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" + export LIBDIRSUFFIX="" + elif [ "$ARCH" = "armel" ]; then + export SLKCFLAGS="-O2 -march=armv4t" + export LIBDIRSUFFIX="" + elif [ "$ARCH" = "armv7hl" ]; then + export SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + export LIBDIRSUFFIX="" + else + export SLKCFLAGS="-O2" + export LIBDIRSUFFIX="" + fi +fi + +# Use this to set the number of parallel make jobs: +if [ -z "$NUMJOBS" ]; then + export NUMJOBS="-j7" +fi + +# Additional cmake flags that are spanned across the KDE modules +# Do not use "final build" unless we build an actual release. +#export KDE_OPT_ARGS=" -DKDE4_ENABLE_FINAL=\"ON\" -DSITE=\"slackware.com\" " +export KDE_OPT_ARGS=" -DSITE=\"slackware.com\" -DKDE_DISTRIBUTION_TEXT=\"volkerdi@slackware.com\" " + diff --git a/patches/source/kdelibs/build/kdelibs b/patches/source/kdelibs/build/kdelibs new file mode 100644 index 000000000..3c4481e07 --- /dev/null +++ b/patches/source/kdelibs/build/kdelibs @@ -0,0 +1 @@ +2_slack14.0 diff --git a/patches/source/kdelibs/cmake/kdelibs b/patches/source/kdelibs/cmake/kdelibs new file mode 100644 index 000000000..92015a911 --- /dev/null +++ b/patches/source/kdelibs/cmake/kdelibs @@ -0,0 +1,17 @@ +mkdir -p build +cd build + cmake \ + $KDE_OPT_ARGS \ + -DWITH_HAL=OFF \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMAN_INSTALL_DIR=/usr/man \ + -DSYSCONF_INSTALL_DIR=/etc/kde \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DKDE_DISTRIBUTION_TEXT="volkerdi@slackware.com" \ + .. + diff --git a/patches/source/kdelibs/doinst.sh/kdelibs b/patches/source/kdelibs/doinst.sh/kdelibs new file mode 100644 index 000000000..d7006c70a --- /dev/null +++ b/patches/source/kdelibs/doinst.sh/kdelibs @@ -0,0 +1,9 @@ + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1 +fi + +if [ -x usr/bin/update-mime-database ]; then + /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1 +fi + diff --git a/patches/source/kdelibs/kdelibs.SlackBuild b/patches/source/kdelibs/kdelibs.SlackBuild new file mode 100755 index 000000000..542ddb604 --- /dev/null +++ b/patches/source/kdelibs/kdelibs.SlackBuild @@ -0,0 +1,2 @@ +./KDE.SlackBuild kdelibs:kdelibs +mv /tmp/kde_build/kdelibs*txz /tmp diff --git a/patches/source/kdelibs/modularize b/patches/source/kdelibs/modularize new file mode 100644 index 000000000..4dd401b5a --- /dev/null +++ b/patches/source/kdelibs/modularize @@ -0,0 +1,268 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. +# +# Things to note: +# +# Listing a package here will not cause it to be built. To do that, +# make sure it is added to one of the files in the modules/ directory +# that is built by the main KDE.SlackBuild script. +# +# If a subpackage name happens to be the same as the "grab bag" package +# that contains it, you need to be a bit careful. Unless everything +# in that collection will be built modular, *do not* list that name +# here! If you do, first the module by that name will be built, and +# then everything that's not modular in that collection will be built +# into a "grab bag" that will replace that first package. +# +# If the goal is to build the most combined packages possible, the +# easiest way to accomplish that is just to move this file out of the +# way and replace it with an empty one before building. + +# kdeaccessibility +jovie +kaccessible +kmouth +kmousetool +kmag + +# kdelibs: +kdelibs + +# kdebase: +baloo +baloo-widgets +nepomuk-core +nepomuk-widgets +kfilemetadata +kde-baseapps +kactivities +konsole +kate +kde-wallpapers +kde-workspace +kde-runtime +kde-base-artwork + +# kdeedu: +libkdeedu +analitza +artikulate +blinken +cantor +kalgebra +kalzium +kanagram +kbruch +kgeography +khangman +kig +kiten +klettres +kmplot +kqtquickcharts +kstars +ktouch +kturtle +kwordquiz +marble +parley +pairs +rocs +step + +# kdeadmin +kcron +ksystemlog +kuser +#kdeadmin + +# kdeartwork +kdeartwork + +# kdegraphics: +libkipi +libkexiv2 +libkdcraw +libksane +okular +kdegraphics-mobipocket +kdegraphics-strigi-analyzer +kdegraphics-thumbnailers +gwenview +kamera +kcolorchooser +kgamma +kolourpaint +kruler +ksaneplugin +ksnapshot +svgpart + +# kdebindings +smokegen +smokeqt +qtruby +perlqt +smokekde +korundum +perlkde +pykde4 +kross-interpreters +kimono +qyoto + +# kdemultimedia +libkcddb +libkcompactdisc +audiocd-kio +dragon +ffmpegthumbs +mplayerthumbs +juk +kmix +kscd + +# kdenetwork +kdenetwork-filesharing +kdenetwork-strigi-analyzers +#kdnssd +zeroconf-ioslave +kget +kopete +kppp +krdc +krfb +#kdenetwork + +# kdeutils +ark +filelight +kcalc +kcharselect +kdf +kfloppy +kgpg +#printer-applet +print-manager +kremotecontrol +ktimer +kwalletmanager +superkaramba +sweeper + +# kdegames +libkdegames +libkmahjongg +klickety +ksudoku +ksquares +kpat +klines +ksnakeduel +kollision +kshisen +kblocks +lskat +kreversi +bovo +kajongg +granatier +kmines +kiriki +kigo +bomber +kolf +kdiamond +kbounce +konquest +kapman +knavalbattle +killbots +kubrick +kgoldrunner +knetwalk +kbreakout +ksirk +kfourinline +picmi +kblackbox +palapeli +katomic +ktuberling +kjumpingcube +kmahjongg +kspaceduel + +# kdewebdev +kdewebdev + +# kdepim +kdepim +kdepim-runtime + +# kdepimlibs +kdepimlibs + +# kdeplasma-addons +kdeplasma-addons + +# kdesdk +cervisia +dolphin-plugins +kapptemplate +kcachegrind +kde-dev-scripts +kde-dev-utils +kdesdk-kioslaves +kdesdk-strigi-analyzers +kdesdk-thumbnailers +libkomparediff2 +kompare +lokalize +okteta +poxml +umbrello +#kdesdk + +# kdetoys +amor +kteatime +ktux +#kdetoys + +# oxygen-icons +oxygen-icons + +# polkit-kde +polkit-kde-agent-1 +polkit-kde-kcmodules-1 + +# extragear +bluedevil +k3b +kaudiocreator +kplayer +kwebkitpart +oxygen-gtk2 +kdevplatform +kdevelop-pg-qt +kdevelop +kdev-python +kdevelop-php +kdevelop-php-docs +#quanta +wicd-kde +libmm-qt +libnm-qt +plasma-nm +skanlite +kio-mtp +libktorrent +ktorrent +amarok +calligra +libkscreen +kscreen +partitionmanager +kdeconnect-kde + diff --git a/patches/source/kdelibs/modules/kdelibs b/patches/source/kdelibs/modules/kdelibs new file mode 100644 index 000000000..473159785 --- /dev/null +++ b/patches/source/kdelibs/modules/kdelibs @@ -0,0 +1 @@ +kdelibs diff --git a/patches/source/kdelibs/noarch b/patches/source/kdelibs/noarch new file mode 100644 index 000000000..0c1318f12 --- /dev/null +++ b/patches/source/kdelibs/noarch @@ -0,0 +1,5 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: + +kde-wallpapers + diff --git a/patches/source/kdelibs/package-blacklist b/patches/source/kdelibs/package-blacklist new file mode 100644 index 000000000..71e99c40c --- /dev/null +++ b/patches/source/kdelibs/package-blacklist @@ -0,0 +1,9 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +## kdebindings: +# needs c-sharp: +kimono +qyoto + diff --git a/patches/source/kdelibs/patch/kdelibs.patch b/patches/source/kdelibs/patch/kdelibs.patch new file mode 100644 index 000000000..15dec87d2 --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs.patch @@ -0,0 +1,11 @@ +# Slackware ships a different version of XML DTDs: +zcat $CWD/patch/kdelibs/kdelibs.docbook.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Make uPnP support depend on the environment variable SOLID_UPNP, +# e.g. by creating an /etc/profile.d/upnp.sh file with the following contents: +# export SOLID_UPNP=1 +cat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Fix KAuth local root security issue: +zcat $CWD/patch/kdelibs/kdelibs.CVE-2017-8422.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + diff --git a/patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff b/patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff new file mode 100644 index 000000000..221dc8f98 --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff @@ -0,0 +1,201 @@ +From 264e97625abe2e0334f97de17f6ffb52582888ab Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Wed, 10 May 2017 10:06:07 +0200 +Subject: Verify that whoever is calling us is actually who he says he is + +CVE-2017-8422 +--- + kdecore/auth/AuthBackend.cpp | 5 ++++ + kdecore/auth/AuthBackend.h | 7 ++++++ + kdecore/auth/backends/dbus/DBusHelperProxy.cpp | 27 ++++++++++++++++++++-- + kdecore/auth/backends/dbus/DBusHelperProxy.h | 6 ++++- + .../auth/backends/policykit/PolicyKitBackend.cpp | 5 ++++ + kdecore/auth/backends/policykit/PolicyKitBackend.h | 1 + + kdecore/auth/backends/polkit-1/Polkit1Backend.cpp | 5 ++++ + kdecore/auth/backends/polkit-1/Polkit1Backend.h | 1 + + 8 files changed, 54 insertions(+), 3 deletions(-) + +diff --git a/kdecore/auth/AuthBackend.cpp b/kdecore/auth/AuthBackend.cpp +index c953b81..0ba4650 100644 +--- a/kdecore/auth/AuthBackend.cpp ++++ b/kdecore/auth/AuthBackend.cpp +@@ -54,6 +54,11 @@ void AuthBackend::setCapabilities(AuthBackend::Capabilities capabilities) + d->capabilities = capabilities; + } + ++AuthBackend::ExtraCallerIDVerificationMethod AuthBackend::extraCallerIDVerificationMethod() const ++{ ++ return NoExtraCallerIDVerificationMethod; ++} ++ + bool AuthBackend::actionExists(const QString& action) + { + Q_UNUSED(action); +diff --git a/kdecore/auth/AuthBackend.h b/kdecore/auth/AuthBackend.h +index a86732e..6f4b1bc 100644 +--- a/kdecore/auth/AuthBackend.h ++++ b/kdecore/auth/AuthBackend.h +@@ -43,6 +43,12 @@ public: + }; + Q_DECLARE_FLAGS(Capabilities, Capability) + ++ enum ExtraCallerIDVerificationMethod { ++ NoExtraCallerIDVerificationMethod, ++ VerifyAgainstDBusServiceName, ++ VerifyAgainstDBusServicePid, ++ }; ++ + AuthBackend(); + virtual ~AuthBackend(); + virtual void setupAction(const QString &action) = 0; +@@ -50,6 +56,7 @@ public: + virtual Action::AuthStatus authorizeAction(const QString &action) = 0; + virtual Action::AuthStatus actionStatus(const QString &action) = 0; + virtual QByteArray callerID() const = 0; ++ virtual ExtraCallerIDVerificationMethod extraCallerIDVerificationMethod() const; + virtual bool isCallerAuthorized(const QString &action, QByteArray callerID) = 0; + virtual bool actionExists(const QString &action); + +diff --git a/kdecore/auth/backends/dbus/DBusHelperProxy.cpp b/kdecore/auth/backends/dbus/DBusHelperProxy.cpp +index 9557a0f..ca59f1c 100644 +--- a/kdecore/auth/backends/dbus/DBusHelperProxy.cpp ++++ b/kdecore/auth/backends/dbus/DBusHelperProxy.cpp +@@ -271,6 +271,29 @@ void DBusHelperProxy::performActions(QByteArray blob, const QByteArray &callerID + } + } + ++bool DBusHelperProxy::isCallerAuthorized(const QString &action, const QByteArray &callerID) ++{ ++ // Check the caller is really who it says it is ++ switch (BackendsManager::authBackend()->extraCallerIDVerificationMethod()) { ++ case AuthBackend::NoExtraCallerIDVerificationMethod: ++ break; ++ ++ case AuthBackend::VerifyAgainstDBusServiceName: ++ if (message().service().toUtf8() != callerID) { ++ return false; ++ } ++ break; ++ ++ case AuthBackend::VerifyAgainstDBusServicePid: ++ if (connection().interface()->servicePid(message().service()).value() != callerID.toUInt()) { ++ return false; ++ } ++ break; ++ } ++ ++ return BackendsManager::authBackend()->isCallerAuthorized(action, callerID); ++} ++ + QByteArray DBusHelperProxy::performAction(const QString &action, const QByteArray &callerID, QByteArray arguments) + { + if (!responder) { +@@ -295,7 +318,7 @@ QByteArray DBusHelperProxy::performAction(const QString &action, const QByteArra + QTimer *timer = responder->property("__KAuth_Helper_Shutdown_Timer").value(); + timer->stop(); + +- if (BackendsManager::authBackend()->isCallerAuthorized(action, callerID)) { ++ if (isCallerAuthorized(action, callerID)) { + QString slotname = action; + if (slotname.startsWith(m_name + QLatin1Char('.'))) { + slotname = slotname.right(slotname.length() - m_name.length() - 1); +@@ -338,7 +361,7 @@ uint DBusHelperProxy::authorizeAction(const QString& action, const QByteArray& c + QTimer *timer = responder->property("__KAuth_Helper_Shutdown_Timer").value(); + timer->stop(); + +- if (BackendsManager::authBackend()->isCallerAuthorized(action, callerID)) { ++ if (isCallerAuthorized(action, callerID)) { + retVal = static_cast(Action::Authorized); + } else { + retVal = static_cast(Action::Denied); +diff --git a/kdecore/auth/backends/dbus/DBusHelperProxy.h b/kdecore/auth/backends/dbus/DBusHelperProxy.h +index 455cf51..264f6cc 100644 +--- a/kdecore/auth/backends/dbus/DBusHelperProxy.h ++++ b/kdecore/auth/backends/dbus/DBusHelperProxy.h +@@ -21,6 +21,7 @@ + #ifndef DBUS_HELPER_PROXY_H + #define DBUS_HELPER_PROXY_H + ++#include + #include + #include "HelperProxy.h" + #include "kauthactionreply.h" +@@ -28,7 +29,7 @@ + namespace KAuth + { + +-class DBusHelperProxy : public HelperProxy ++class DBusHelperProxy : public HelperProxy, protected QDBusContext + { + Q_OBJECT + Q_INTERFACES(KAuth::HelperProxy) +@@ -73,6 +74,9 @@ signals: + + private slots: + void remoteSignalReceived(int type, const QString &action, QByteArray blob); ++ ++private: ++ bool isCallerAuthorized(const QString &action, const QByteArray &callerID); + }; + + } // namespace Auth +diff --git a/kdecore/auth/backends/policykit/PolicyKitBackend.cpp b/kdecore/auth/backends/policykit/PolicyKitBackend.cpp +index 3be97f2..9d041d1 100644 +--- a/kdecore/auth/backends/policykit/PolicyKitBackend.cpp ++++ b/kdecore/auth/backends/policykit/PolicyKitBackend.cpp +@@ -78,6 +78,11 @@ QByteArray PolicyKitBackend::callerID() const + return a; + } + ++AuthBackend::ExtraCallerIDVerificationMethod Polkit1Backend::extraCallerIDVerificationMethod() const ++{ ++ return VerifyAgainstDBusServicePid; ++} ++ + bool PolicyKitBackend::isCallerAuthorized(const QString &action, QByteArray callerID) + { + QDataStream s(&callerID, QIODevice::ReadOnly); +diff --git a/kdecore/auth/backends/policykit/PolicyKitBackend.h b/kdecore/auth/backends/policykit/PolicyKitBackend.h +index 7154e93..0d3d8f9 100644 +--- a/kdecore/auth/backends/policykit/PolicyKitBackend.h ++++ b/kdecore/auth/backends/policykit/PolicyKitBackend.h +@@ -40,6 +40,7 @@ public: + virtual Action::AuthStatus authorizeAction(const QString&); + virtual Action::AuthStatus actionStatus(const QString&); + virtual QByteArray callerID() const; ++ virtual ExtraCallerIDVerificationMethod extraCallerIDVerificationMethod() const; + virtual bool isCallerAuthorized(const QString &action, QByteArray callerID); + + private Q_SLOTS: +diff --git a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp +index 732d2cb..63c0e1e 100644 +--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp ++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp +@@ -163,6 +163,11 @@ QByteArray Polkit1Backend::callerID() const + return QDBusConnection::systemBus().baseService().toUtf8(); + } + ++AuthBackend::ExtraCallerIDVerificationMethod Polkit1Backend::extraCallerIDVerificationMethod() const ++{ ++ return VerifyAgainstDBusServiceName; ++} ++ + bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID) + { + PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID)); +diff --git a/kdecore/auth/backends/polkit-1/Polkit1Backend.h b/kdecore/auth/backends/polkit-1/Polkit1Backend.h +index 18ed1a2..d579da2 100644 +--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.h ++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.h +@@ -48,6 +48,7 @@ public: + virtual Action::AuthStatus authorizeAction(const QString&); + virtual Action::AuthStatus actionStatus(const QString&); + virtual QByteArray callerID() const; ++ virtual ExtraCallerIDVerificationMethod extraCallerIDVerificationMethod() const; + virtual bool isCallerAuthorized(const QString &action, QByteArray callerID); + virtual bool actionExists(const QString& action); + +-- +cgit v0.11.2 + + diff --git a/patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch b/patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch new file mode 100644 index 000000000..6a20cd279 --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch @@ -0,0 +1,11 @@ +--- kdelibs-4.4.85/cmake/modules/FindDocBookXML.cmake.orig 2010-05-27 19:25:00.000000000 +0200 ++++ kdelibs-4.4.85/cmake/modules/FindDocBookXML.cmake 2010-06-07 16:18:35.000000000 +0200 +@@ -12,7 +12,7 @@ + # Redistribution and use is allowed according to the terms of the BSD license. + # For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +-set (DOCBOOKXML_CURRENTDTD_VERSION "4.2" ++set (DOCBOOKXML_CURRENTDTD_VERSION "4.5" + CACHE INTERNAL "Required version of XML DTDs") + + set (DTD_PATH_LIST diff --git a/patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch b/patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch new file mode 100644 index 000000000..3a1944774 --- /dev/null +++ b/patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch @@ -0,0 +1,15 @@ +--- kdelibs-4.8.0/solid/solid/managerbase.cpp.orig 2011-07-27 20:34:39.000000000 +0200 ++++ kdelibs-4.8.0/solid/solid/managerbase.cpp 2012-01-26 09:17:49.409993419 +0100 +@@ -90,7 +90,11 @@ + # endif + + # if defined (HUPNP_FOUND) +- m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0); ++ bool solidUpnpEnabled ++ = QString::fromLocal8Bit(qgetenv("SOLID_UPNP")).toInt()==1; ++ if (solidUpnpEnabled) { ++ m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0); ++ } + # endif + } + } diff --git a/patches/source/kdelibs/post-install/kdelibs.post-install b/patches/source/kdelibs/post-install/kdelibs.post-install new file mode 100644 index 000000000..9239a3e5f --- /dev/null +++ b/patches/source/kdelibs/post-install/kdelibs.post-install @@ -0,0 +1,2 @@ +# Move the polkit dbus configuration files to the proper place: +mv $PKG/etc/kde/dbus-1 $PKG/etc/ diff --git a/patches/source/kdelibs/slack-desc/kdelibs b/patches/source/kdelibs/slack-desc/kdelibs new file mode 100644 index 000000000..a89ea3c8a --- /dev/null +++ b/patches/source/kdelibs/slack-desc/kdelibs @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +kdelibs: kdelibs (KDE libraries) +kdelibs: +kdelibs: System libraries and other resources required for the KDE Platform. +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: diff --git a/patches/source/libX11/arch.use.flags b/patches/source/libX11/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libX11/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libX11/build/libX11 b/patches/source/libX11/build/libX11 new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libX11/build/libX11 @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libX11/configure/libX11 b/patches/source/libX11/configure/libX11 new file mode 100644 index 000000000..cf85e58d4 --- /dev/null +++ b/patches/source/libX11/configure/libX11 @@ -0,0 +1,12 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libX11/libX11.SlackBuild b/patches/source/libX11/libX11.SlackBuild new file mode 100755 index 000000000..6db227798 --- /dev/null +++ b/patches/source/libX11/libX11.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libX11 +mv /tmp/x11-build/libX11*txz /tmp diff --git a/patches/source/libX11/modularize b/patches/source/libX11/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libX11/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libX11/noarch b/patches/source/libX11/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libX11/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libX11/package-blacklist b/patches/source/libX11/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libX11/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libX11/post-install/libX11.post-install b/patches/source/libX11/post-install/libX11.post-install new file mode 100644 index 000000000..7232b6802 --- /dev/null +++ b/patches/source/libX11/post-install/libX11.post-install @@ -0,0 +1,2 @@ +mkdir -p $PKG/usr/share/X11 +zcat $CWD/post-install/libX11/XKeysymDB.gz > $PKG/usr/share/X11/XKeysymDB diff --git a/patches/source/libX11/slack-desc/libX11 b/patches/source/libX11/slack-desc/libX11 new file mode 100644 index 000000000..2ec4f39a3 --- /dev/null +++ b/patches/source/libX11/slack-desc/libX11 @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libX11: libX11 (Core X11 protocol client library) +libX11: +libX11: libX11 is part of X11. +libX11: +libX11: For more information about the X.Org Foundation (the providers of the +libX11: X.Org implementation of the X Window System), see their website: +libX11: +libX11: http://www.x.org +libX11: +libX11: +libX11: diff --git a/patches/source/libX11/x11.SlackBuild b/patches/source/libX11/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libX11/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXcursor/arch.use.flags b/patches/source/libXcursor/arch.use.flags new file mode 100644 index 000000000..f28a6ccab --- /dev/null +++ b/patches/source/libXcursor/arch.use.flags @@ -0,0 +1,7 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXcursor/build/increment.sh b/patches/source/libXcursor/build/increment.sh new file mode 100755 index 000000000..6de5d0da6 --- /dev/null +++ b/patches/source/libXcursor/build/increment.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# A script to increment build numbers. +# Call it with the list of the build numbers to increase by one: +# +# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick +# +# If a build file does not exist, it will be created with a value of 2. + +for build in $* ; do + if [ ! -r $build ]; then + echo "Creating $build with value 2" + echo 2 > $build + else + echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)" + echo $(expr $(cat $build) + 1) > $build + fi +done diff --git a/patches/source/libXcursor/build/libXcursor b/patches/source/libXcursor/build/libXcursor new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXcursor/build/libXcursor @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXcursor/configure/configure b/patches/source/libXcursor/configure/configure new file mode 100644 index 000000000..0f3bccf24 --- /dev/null +++ b/patches/source/libXcursor/configure/configure @@ -0,0 +1,12 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXcursor/libXcursor.SlackBuild b/patches/source/libXcursor/libXcursor.SlackBuild new file mode 100755 index 000000000..4d4f81d27 --- /dev/null +++ b/patches/source/libXcursor/libXcursor.SlackBuild @@ -0,0 +1,26 @@ +#!/bin/sh + +# Copyright 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +UPGRADE_PACKAGES=no sh x11-build-script.sh lib libXcursor +mv --verbose /tmp/x11-build/*.txz /tmp + diff --git a/patches/source/libXcursor/modularize b/patches/source/libXcursor/modularize new file mode 100644 index 000000000..38762ffda --- /dev/null +++ b/patches/source/libXcursor/modularize @@ -0,0 +1,272 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXcursor/noarch b/patches/source/libXcursor/noarch new file mode 100644 index 000000000..480ffc26c --- /dev/null +++ b/patches/source/libXcursor/noarch @@ -0,0 +1,76 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-cf-files +xorg-docs +xproto +xtrans diff --git a/patches/source/libXcursor/package-blacklist b/patches/source/libXcursor/package-blacklist new file mode 100644 index 000000000..8e2f3eb5c --- /dev/null +++ b/patches/source/libXcursor/package-blacklist @@ -0,0 +1,43 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXcursor/slack-desc/libXcursor b/patches/source/libXcursor/slack-desc/libXcursor new file mode 100644 index 000000000..2906c6aaf --- /dev/null +++ b/patches/source/libXcursor/slack-desc/libXcursor @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXcursor: libXcursor (X Window System Cursor management library) +libXcursor: +libXcursor: libXcursor is part of X11. +libXcursor: +libXcursor: For more information about the X.Org Foundation (the providers of the +libXcursor: X.Org implementation of the X Window System), see their website: +libXcursor: +libXcursor: http://www.x.org +libXcursor: +libXcursor: +libXcursor: diff --git a/patches/source/libXcursor/x11-build-script.sh b/patches/source/libXcursor/x11-build-script.sh new file mode 100755 index 000000000..6da53346f --- /dev/null +++ b/patches/source/libXcursor/x11-build-script.sh @@ -0,0 +1,374 @@ +#!/bin/sh +# Copyright 2007-2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else). +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXext/arch.use.flags b/patches/source/libXext/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXext/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXext/build/libXext b/patches/source/libXext/build/libXext new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXext/build/libXext @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXext/configure/configure b/patches/source/libXext/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXext/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXext/libXext.SlackBuild b/patches/source/libXext/libXext.SlackBuild new file mode 100755 index 000000000..1f6fdb31a --- /dev/null +++ b/patches/source/libXext/libXext.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXext +mv /tmp/x11-build/libXext*txz /tmp diff --git a/patches/source/libXext/modularize b/patches/source/libXext/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXext/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXext/noarch b/patches/source/libXext/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXext/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXext/package-blacklist b/patches/source/libXext/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXext/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXext/slack-desc/libXext b/patches/source/libXext/slack-desc/libXext new file mode 100644 index 000000000..a636363a5 --- /dev/null +++ b/patches/source/libXext/slack-desc/libXext @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXext: libXext (library for common extensions to the X11 protocol) +libXext: +libXext: libXext is part of X11. +libXext: +libXext: For more information about the X.Org Foundation (the providers of the +libXext: X.Org implementation of the X Window System), see their website: +libXext: +libXext: http://www.x.org +libXext: +libXext: +libXext: diff --git a/patches/source/libXext/x11.SlackBuild b/patches/source/libXext/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXext/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXfixes/arch.use.flags b/patches/source/libXfixes/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXfixes/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXfixes/build/libXfixes b/patches/source/libXfixes/build/libXfixes new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXfixes/build/libXfixes @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXfixes/configure/configure b/patches/source/libXfixes/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXfixes/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXfixes/libXfixes.SlackBuild b/patches/source/libXfixes/libXfixes.SlackBuild new file mode 100755 index 000000000..8d5116f4e --- /dev/null +++ b/patches/source/libXfixes/libXfixes.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXfixes +mv /tmp/x11-build/libXfixes*txz /tmp diff --git a/patches/source/libXfixes/modularize b/patches/source/libXfixes/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXfixes/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXfixes/noarch b/patches/source/libXfixes/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXfixes/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXfixes/package-blacklist b/patches/source/libXfixes/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXfixes/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXfixes/slack-desc/libXfixes b/patches/source/libXfixes/slack-desc/libXfixes new file mode 100644 index 000000000..3c44fa46f --- /dev/null +++ b/patches/source/libXfixes/slack-desc/libXfixes @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXfixes: libXfixes (client library for the Xfixes extension) +libXfixes: +libXfixes: libXfixes is part of X11. +libXfixes: +libXfixes: For more information about the X.Org Foundation (the providers of the +libXfixes: X.Org implementation of the X Window System), see their website: +libXfixes: +libXfixes: http://www.x.org +libXfixes: +libXfixes: +libXfixes: diff --git a/patches/source/libXfixes/x11.SlackBuild b/patches/source/libXfixes/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXfixes/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXfont/arch.use.flags b/patches/source/libXfont/arch.use.flags new file mode 100644 index 000000000..f28a6ccab --- /dev/null +++ b/patches/source/libXfont/arch.use.flags @@ -0,0 +1,7 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXfont/build/increment.sh b/patches/source/libXfont/build/increment.sh new file mode 100755 index 000000000..6de5d0da6 --- /dev/null +++ b/patches/source/libXfont/build/increment.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# A script to increment build numbers. +# Call it with the list of the build numbers to increase by one: +# +# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick +# +# If a build file does not exist, it will be created with a value of 2. + +for build in $* ; do + if [ ! -r $build ]; then + echo "Creating $build with value 2" + echo 2 > $build + else + echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)" + echo $(expr $(cat $build) + 1) > $build + fi +done diff --git a/patches/source/libXfont/build/libXfont b/patches/source/libXfont/build/libXfont new file mode 100644 index 000000000..3c4481e07 --- /dev/null +++ b/patches/source/libXfont/build/libXfont @@ -0,0 +1 @@ +2_slack14.0 diff --git a/patches/source/libXfont/configure/configure b/patches/source/libXfont/configure/configure new file mode 100644 index 000000000..0f3bccf24 --- /dev/null +++ b/patches/source/libXfont/configure/configure @@ -0,0 +1,12 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXfont/libXfont.SlackBuild b/patches/source/libXfont/libXfont.SlackBuild new file mode 100755 index 000000000..25821f171 --- /dev/null +++ b/patches/source/libXfont/libXfont.SlackBuild @@ -0,0 +1,26 @@ +#!/bin/sh + +# Copyright 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +UPGRADE_PACKAGES=no sh x11-build-script.sh lib libXfont +mv --verbose /tmp/x11-build/*.txz /tmp + diff --git a/patches/source/libXfont/modularize b/patches/source/libXfont/modularize new file mode 100644 index 000000000..38762ffda --- /dev/null +++ b/patches/source/libXfont/modularize @@ -0,0 +1,272 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXfont/noarch b/patches/source/libXfont/noarch new file mode 100644 index 000000000..480ffc26c --- /dev/null +++ b/patches/source/libXfont/noarch @@ -0,0 +1,76 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-cf-files +xorg-docs +xproto +xtrans diff --git a/patches/source/libXfont/package-blacklist b/patches/source/libXfont/package-blacklist new file mode 100644 index 000000000..8e2f3eb5c --- /dev/null +++ b/patches/source/libXfont/package-blacklist @@ -0,0 +1,43 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXfont/patch/libXfont.patch b/patches/source/libXfont/patch/libXfont.patch new file mode 100644 index 000000000..7b6e24570 --- /dev/null +++ b/patches/source/libXfont/patch/libXfont.patch @@ -0,0 +1 @@ +zcat $CWD/patch/libXfont/libXfont.CVE-2017-16611.diff.gz | patch -p1 || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff new file mode 100644 index 000000000..352d00f03 --- /dev/null +++ b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff @@ -0,0 +1,85 @@ +--- ./src/fontfile/fileio.c.orig 2014-01-07 10:25:08.000000000 -0600 ++++ ./src/fontfile/fileio.c 2017-11-29 00:37:05.450068487 -0600 +@@ -36,6 +36,9 @@ + #ifndef O_BINARY + #define O_BINARY O_RDONLY + #endif ++#ifndef O_NOFOLLOW ++#define O_NOFOLLOW 0 ++#endif + + FontFilePtr + FontFileOpen (const char *name) +@@ -44,7 +47,7 @@ + int len; + BufFilePtr raw, cooked; + +- fd = open (name, O_BINARY); ++ fd = open (name, O_BINARY|O_CLOEXEC|O_NOFOLLOW); + if (fd < 0) + return 0; + raw = BufFileOpenRead (fd); +--- ./src/fontfile/dirfile.c.orig 2014-01-07 10:25:08.000000000 -0600 ++++ ./src/fontfile/dirfile.c 2017-11-29 00:35:44.400069349 -0600 +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + + static Bool AddFileNameAliases ( FontDirectoryPtr dir ); +@@ -57,8 +58,9 @@ + char dir_file[MAXFONTFILENAMELEN]; + char dir_path[MAXFONTFILENAMELEN]; + char *ptr; +- FILE *file; +- int count, ++ FILE *file = 0; ++ int file_fd, ++ count, + num_fonts, + status; + struct stat statb; +@@ -88,7 +90,14 @@ + if (dir_file[strlen(dir_file) - 1] != '/') + strcat(dir_file, "/"); + strcat(dir_file, FontDirFile); ++#ifndef WIN32 ++ file_fd = open(dir_file, O_RDONLY | O_NOFOLLOW); ++ if (file_fd >= 0) { ++ file = fdopen(file_fd, "rt"); ++ } ++#else + file = fopen(dir_file, "rt"); ++#endif + if (file) { + #ifndef WIN32 + if (fstat (fileno(file), &statb) == -1) +@@ -258,7 +267,8 @@ + char alias[MAXFONTNAMELEN]; + char font_name[MAXFONTNAMELEN]; + char alias_file[MAXFONTFILENAMELEN]; +- FILE *file; ++ int file_fd; ++ FILE *file = 0; + FontDirectoryPtr dir; + int token; + char *lexToken; +@@ -276,7 +286,16 @@ + strcat(alias_file, "/"); + strcat(alias_file, FontAliasFile); + } ++ ++#ifndef WIN32 ++ file_fd = open(alias_file, O_RDONLY | O_NOFOLLOW); ++ if (file_fd >= 0) { ++ file = fdopen(file_fd, "rt"); ++ } ++#else + file = fopen(alias_file, "rt"); ++#endif ++ + if (!file) + return ((errno == ENOENT) ? Successful : BadFontPath); + if (!dir) diff --git a/patches/source/libXfont/slack-desc/libXfont b/patches/source/libXfont/slack-desc/libXfont new file mode 100644 index 000000000..d78d6a0e9 --- /dev/null +++ b/patches/source/libXfont/slack-desc/libXfont @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXfont: libXfont (library for legacy X11 font system) +libXfont: +libXfont: libXfont provides the core of the legacy X11 font system, handling the +libXfont: index files (fonts.dir, fonts.alias, fonts.scale), the various font +libXfont: file formats, and rasterizing them. It is used by the X servers, the +libXfont: X Font Server (xfs), and some font utilities (bdftopcf for instance), +libXfont: but should not be used by normal X11 clients. X11 clients access fonts +libXfont: via either the new API's in libXft, or the legacy API's in libX11. +libXfont: +libXfont: +libXfont: diff --git a/patches/source/libXfont/x11-build-script.sh b/patches/source/libXfont/x11-build-script.sh new file mode 100755 index 000000000..6da53346f --- /dev/null +++ b/patches/source/libXfont/x11-build-script.sh @@ -0,0 +1,374 @@ +#!/bin/sh +# Copyright 2007-2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else). +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXi/arch.use.flags b/patches/source/libXi/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXi/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXi/build/libXi b/patches/source/libXi/build/libXi new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXi/build/libXi @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXi/configure/configure b/patches/source/libXi/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXi/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXi/libXi.SlackBuild b/patches/source/libXi/libXi.SlackBuild new file mode 100755 index 000000000..eea1be6d5 --- /dev/null +++ b/patches/source/libXi/libXi.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXi +mv /tmp/x11-build/libXi*txz /tmp diff --git a/patches/source/libXi/modularize b/patches/source/libXi/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXi/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXi/noarch b/patches/source/libXi/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXi/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXi/package-blacklist b/patches/source/libXi/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXi/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXi/slack-desc/libXi b/patches/source/libXi/slack-desc/libXi new file mode 100644 index 000000000..4585f82e1 --- /dev/null +++ b/patches/source/libXi/slack-desc/libXi @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXi: libXi (library for the X Input Extension) +libXi: +libXi: libXi is part of X11. +libXi: +libXi: For more information about the X.Org Foundation (the providers of the +libXi: X.Org implementation of the X Window System), see their website: +libXi: +libXi: http://www.x.org +libXi: +libXi: +libXi: diff --git a/patches/source/libXi/slack-desc/libXinerama b/patches/source/libXi/slack-desc/libXinerama new file mode 100644 index 000000000..3b16b81f7 --- /dev/null +++ b/patches/source/libXi/slack-desc/libXinerama @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXinerama: libXinerama (library for Xinerama extension to X11 Protocol) +libXinerama: +libXinerama: libXinerama is part of X11. +libXinerama: +libXinerama: For more information about the X.Org Foundation (the providers of the +libXinerama: X.Org implementation of the X Window System), see their website: +libXinerama: +libXinerama: http://www.x.org +libXinerama: +libXinerama: +libXinerama: diff --git a/patches/source/libXi/x11.SlackBuild b/patches/source/libXi/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXi/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXrandr/arch.use.flags b/patches/source/libXrandr/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXrandr/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXrandr/build/libXrandr b/patches/source/libXrandr/build/libXrandr new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXrandr/build/libXrandr @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXrandr/configure/configure b/patches/source/libXrandr/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXrandr/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXrandr/libXrandr.SlackBuild b/patches/source/libXrandr/libXrandr.SlackBuild new file mode 100755 index 000000000..8bc75df35 --- /dev/null +++ b/patches/source/libXrandr/libXrandr.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXrandr +mv /tmp/x11-build/libXrandr*txz /tmp diff --git a/patches/source/libXrandr/modularize b/patches/source/libXrandr/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXrandr/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXrandr/noarch b/patches/source/libXrandr/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXrandr/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXrandr/package-blacklist b/patches/source/libXrandr/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXrandr/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXrandr/slack-desc/libXrandr b/patches/source/libXrandr/slack-desc/libXrandr new file mode 100644 index 000000000..ad2e243b8 --- /dev/null +++ b/patches/source/libXrandr/slack-desc/libXrandr @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXrandr: libXrandr (X Resize, Rotate and Reflection extension library) +libXrandr: +libXrandr: libXrandr is part of X11. +libXrandr: +libXrandr: For more information about the X.Org Foundation (the providers of the +libXrandr: X.Org implementation of the X Window System), see their website: +libXrandr: +libXrandr: http://www.x.org +libXrandr: +libXrandr: +libXrandr: diff --git a/patches/source/libXrandr/x11.SlackBuild b/patches/source/libXrandr/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXrandr/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXrender/arch.use.flags b/patches/source/libXrender/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXrender/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXrender/build/libXrender b/patches/source/libXrender/build/libXrender new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXrender/build/libXrender @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXrender/configure/configure b/patches/source/libXrender/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXrender/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXrender/libXrender.SlackBuild b/patches/source/libXrender/libXrender.SlackBuild new file mode 100755 index 000000000..b18aef0ea --- /dev/null +++ b/patches/source/libXrender/libXrender.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXrender +mv /tmp/x11-build/libXrender*txz /tmp diff --git a/patches/source/libXrender/modularize b/patches/source/libXrender/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXrender/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXrender/noarch b/patches/source/libXrender/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXrender/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXrender/package-blacklist b/patches/source/libXrender/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXrender/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXrender/slack-desc/libXrender b/patches/source/libXrender/slack-desc/libXrender new file mode 100644 index 000000000..c5fe72697 --- /dev/null +++ b/patches/source/libXrender/slack-desc/libXrender @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXrender: libXrender (library for the Render Extension to the X11 protocol) +libXrender: +libXrender: libXrender is part of X11. +libXrender: +libXrender: For more information about the X.Org Foundation (the providers of the +libXrender: X.Org implementation of the X Window System), see their website: +libXrender: +libXrender: http://www.x.org +libXrender: +libXrender: +libXrender: diff --git a/patches/source/libXrender/x11.SlackBuild b/patches/source/libXrender/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXrender/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXtst/arch.use.flags b/patches/source/libXtst/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXtst/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXtst/build/libXtst b/patches/source/libXtst/build/libXtst new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXtst/build/libXtst @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXtst/configure/configure b/patches/source/libXtst/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXtst/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXtst/libXtst.SlackBuild b/patches/source/libXtst/libXtst.SlackBuild new file mode 100755 index 000000000..0a4bb9400 --- /dev/null +++ b/patches/source/libXtst/libXtst.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXtst +mv /tmp/x11-build/libXtst*txz /tmp diff --git a/patches/source/libXtst/modularize b/patches/source/libXtst/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXtst/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXtst/noarch b/patches/source/libXtst/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXtst/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXtst/package-blacklist b/patches/source/libXtst/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXtst/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXtst/slack-desc/libXtst b/patches/source/libXtst/slack-desc/libXtst new file mode 100644 index 000000000..63b93c019 --- /dev/null +++ b/patches/source/libXtst/slack-desc/libXtst @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXtst: libXtst (client library for the XTEST & RECORD extensions) +libXtst: +libXtst: libXtst is part of X11. +libXtst: +libXtst: For more information about the X.Org Foundation (the providers of the +libXtst: X.Org implementation of the X Window System), see their website: +libXtst: +libXtst: http://www.x.org +libXtst: +libXtst: +libXtst: diff --git a/patches/source/libXtst/x11.SlackBuild b/patches/source/libXtst/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXtst/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXv/arch.use.flags b/patches/source/libXv/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXv/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXv/build/libXv b/patches/source/libXv/build/libXv new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXv/build/libXv @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXv/configure/configure b/patches/source/libXv/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXv/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXv/libXv.SlackBuild b/patches/source/libXv/libXv.SlackBuild new file mode 100755 index 000000000..b4a99f6c8 --- /dev/null +++ b/patches/source/libXv/libXv.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXv +mv /tmp/x11-build/libXv*txz /tmp diff --git a/patches/source/libXv/modularize b/patches/source/libXv/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXv/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXv/noarch b/patches/source/libXv/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXv/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXv/package-blacklist b/patches/source/libXv/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXv/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXv/slack-desc/libXv b/patches/source/libXv/slack-desc/libXv new file mode 100644 index 000000000..d72865bf0 --- /dev/null +++ b/patches/source/libXv/slack-desc/libXv @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXv: libXv (library for the X Video (Xv) extension to the X Window System) +libXv: +libXv: libXv is part of X11. +libXv: +libXv: For more information about the X.Org Foundation (the providers of the +libXv: X.Org implementation of the X Window System), see their website: +libXv: +libXv: http://www.x.org +libXv: +libXv: +libXv: diff --git a/patches/source/libXv/slack-desc/libXvMC b/patches/source/libXv/slack-desc/libXvMC new file mode 100644 index 000000000..aecd7f3aa --- /dev/null +++ b/patches/source/libXv/slack-desc/libXvMC @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXvMC: libXvMC (X.Org X11 libXvMC runtime library) +libXvMC: +libXvMC: libXvMC is part of X11. +libXvMC: +libXvMC: For more information about the X.Org Foundation (the providers of the +libXvMC: X.Org implementation of the X Window System), see their website: +libXvMC: +libXvMC: http://www.x.org +libXvMC: +libXvMC: +libXvMC: diff --git a/patches/source/libXv/x11.SlackBuild b/patches/source/libXv/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXv/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libXvMC/arch.use.flags b/patches/source/libXvMC/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libXvMC/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libXvMC/build/libXvMC b/patches/source/libXvMC/build/libXvMC new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/libXvMC/build/libXvMC @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/libXvMC/configure/configure b/patches/source/libXvMC/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/libXvMC/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libXvMC/libXvMC.SlackBuild b/patches/source/libXvMC/libXvMC.SlackBuild new file mode 100755 index 000000000..2b6579726 --- /dev/null +++ b/patches/source/libXvMC/libXvMC.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXvMC +mv /tmp/x11-build/libXvMC*txz /tmp diff --git a/patches/source/libXvMC/modularize b/patches/source/libXvMC/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libXvMC/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libXvMC/noarch b/patches/source/libXvMC/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libXvMC/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libXvMC/package-blacklist b/patches/source/libXvMC/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libXvMC/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libXvMC/slack-desc/libXvMC b/patches/source/libXvMC/slack-desc/libXvMC new file mode 100644 index 000000000..aecd7f3aa --- /dev/null +++ b/patches/source/libXvMC/slack-desc/libXvMC @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libXvMC: libXvMC (X.Org X11 libXvMC runtime library) +libXvMC: +libXvMC: libXvMC is part of X11. +libXvMC: +libXvMC: For more information about the X.Org Foundation (the providers of the +libXvMC: X.Org implementation of the X Window System), see their website: +libXvMC: +libXvMC: http://www.x.org +libXvMC: +libXvMC: +libXvMC: diff --git a/patches/source/libXvMC/x11.SlackBuild b/patches/source/libXvMC/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libXvMC/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libgcrypt/libgcrypt.SlackBuild b/patches/source/libgcrypt/libgcrypt.SlackBuild new file mode 100755 index 000000000..8c5432cd6 --- /dev/null +++ b/patches/source/libgcrypt/libgcrypt.SlackBuild @@ -0,0 +1,124 @@ +#!/bin/sh + +# Copyright 2006-2009 Robby Workman, Northport, AL, USA +# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=libgcrypt +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1 +cd $PKGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --infodir=/usr/info \ + --docdir=/usr/doc/libgcrypt-$VERSION \ + --enable-shared=yes \ + --enable-static=no \ + --program-prefix="" \ + --program-suffix="" \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Move the shared library to $PKG/lib${LIBDIRSUFFIX}: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.??.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.?? ../../lib${LIBDIRSUFFIX} +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS BUGS COPYING* ChangeLog INSTALL NEWS \ + README* THANKS TODO VERSION \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libgcrypt/slack-desc b/patches/source/libgcrypt/slack-desc new file mode 100644 index 000000000..365fab642 --- /dev/null +++ b/patches/source/libgcrypt/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libgcrypt: libgcrypt (General purpose crypto library) +libgcrypt: +libgcrypt: Libgcrypt is a general purpose crypto library based on the code +libgcrypt: used in GnuPG. +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: +libgcrypt: diff --git a/patches/source/libgpg-error/libgpg-error.SlackBuild b/patches/source/libgpg-error/libgpg-error.SlackBuild new file mode 100755 index 000000000..641fac568 --- /dev/null +++ b/patches/source/libgpg-error/libgpg-error.SlackBuild @@ -0,0 +1,118 @@ +#!/bin/sh + +# Copyright 2006, 2009 Robby Workman, Northport, AL, USA +# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SCRIPT IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=libgpg-error +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --infodir=/usr/info \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-shared=yes \ + --enable-static=yes \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Move the shared library to $PKG/lib${LIBDIRSUFFIX}: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* THANKS VERSION \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libgpg-error/slack-desc b/patches/source/libgpg-error/slack-desc new file mode 100644 index 000000000..1d0969cd8 --- /dev/null +++ b/patches/source/libgpg-error/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libgpg-error: libgpg-error (GnuPG Error Definitions Library) +libgpg-error: +libgpg-error: This is a library that defines common error values for all GnuPG +libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, +libgpg-error: libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon, and more. +libgpg-error: +libgpg-error: +libgpg-error: +libgpg-error: +libgpg-error: +libgpg-error: diff --git a/patches/source/libidn/libidn.SlackBuild b/patches/source/libidn/libidn.SlackBuild new file mode 100755 index 000000000..87184ac18 --- /dev/null +++ b/patches/source/libidn/libidn.SlackBuild @@ -0,0 +1,137 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=libidn +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-libidn + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf libidn-$VERSION +tar xvf $CWD/libidn-$VERSION.tar.?z || exit 1 +cd libidn-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Compress info pages and purge "dir" file from the package: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +mkdir -p $PKG/usr/doc/libidn-$VERSION +cp -a \ + ABOUT-NLS AUTHORS COPYING* FAQ INSTALL NEWS README* THANKS TODO \ + contrib \ + libidn/libidn.html \ + $PKG/usr/doc/libidn-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libidn-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libidn/slack-desc b/patches/source/libidn/slack-desc new file mode 100644 index 000000000..a10cfe7b5 --- /dev/null +++ b/patches/source/libidn/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libidn: libidn (GNU Internationalized Domain Name library) +libidn: +libidn: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA +libidn: specifications defined by the IETF Internationalized Domain Names +libidn: (IDN) working group, used for internationalized domain names. +libidn: +libidn: +libidn: +libidn: +libidn: +libidn: diff --git a/patches/source/libiodbc/libiodbc.SlackBuild b/patches/source/libiodbc/libiodbc.SlackBuild new file mode 100755 index 000000000..1be29dda2 --- /dev/null +++ b/patches/source/libiodbc/libiodbc.SlackBuild @@ -0,0 +1,126 @@ +#!/bin/sh + +# Copyright 2009, 2010 Eric Hameleers, Eindhoven, NL +# Copyright 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. + +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=libiodbc +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} +NUMJOBS=${NUMJOBS:--j6} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libiodbc + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf libiodbc-$VERSION +tar xvf $CWD/libiodbc-$VERSION.tar.?z* || exit 1 +cd libiodbc-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +# We add '--disable-libodbc'. This way, a libodbc.so library does not get +# installed so that this package won't clash with an already present unixodbc. +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --docdir=/usr/doc/libiodbc-$VERSION \ + --disable-static \ + --disable-libodbc \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux + +# Disable rpath: +zcat $CWD/libiodbc.disable.rpath.diff.gz | patch -p1 --verbose || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/libiodbc-$VERSION +cp -a \ + AUTHORS COPYING* ChangeLog INSTALL README TODO \ + $PKG/usr/doc/libiodbc-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libiodbc-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libiodbc/libiodbc.disable.rpath.diff b/patches/source/libiodbc/libiodbc.disable.rpath.diff new file mode 100644 index 000000000..a5f9701db --- /dev/null +++ b/patches/source/libiodbc/libiodbc.disable.rpath.diff @@ -0,0 +1,11 @@ +--- ./libtool.orig 2013-12-11 17:33:25.828622889 -0600 ++++ ./libtool 2013-12-11 17:39:28.910619029 -0600 +@@ -363,7 +363,7 @@ + + # Flag to hardcode $libdir into a binary during linking. + # This must work even if $libdir does not exist +-hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir" ++hardcode_libdir_flag_spec="" + + # If ld is used when linking, flag to hardcode $libdir into a binary + # during linking. This must work even if $libdir does not exist. diff --git a/patches/source/libiodbc/slack-desc b/patches/source/libiodbc/slack-desc new file mode 100644 index 000000000..6844c9274 --- /dev/null +++ b/patches/source/libiodbc/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +libiodbc: libiodbc (Independent Open DataBase Connectivity) +libiodbc: +libiodbc: iODBC is the acronym for Independent Open DataBase Connectivity, +libiodbc: an Open Source platform independent implementation of both the ODBC +libiodbc: and X/Open specifications. It allows for developing solutions +libiodbc: that are language, platform and database independent. +libiodbc: +libiodbc: +libiodbc: +libiodbc: Homepage: http://iodbc.org/ +libiodbc: diff --git a/patches/source/libjpeg/jpeg.CVE-2013-6629.diff b/patches/source/libjpeg/jpeg.CVE-2013-6629.diff new file mode 100644 index 000000000..37c267a1d --- /dev/null +++ b/patches/source/libjpeg/jpeg.CVE-2013-6629.diff @@ -0,0 +1,32 @@ +From f457207b57d0e234cf7a174d20a7db424b82173d Mon Sep 17 00:00:00 2001 +From: mancha +Date: Fri, 22 Nov 2013 +Subject: CVE-2013-6629 + +get_sos() in jdmarker.c does not check for duplication of component data +while reading segments following Start Of Scan (SOS) JPEG markers. This +allows remote attackers to obtain sensitive information from uninitialized +memory locations via crafted JPEG images. + +Adapted from: +https://codereview.chromium.org/download/issue31603002_1.diff + +--- + jdmarker.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/jdmarker.c ++++ b/jdmarker.c +@@ -347,6 +347,12 @@ get_sos (j_decompress_ptr cinfo) + + TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc, + compptr->dc_tbl_no, compptr->ac_tbl_no); ++ ++ /* This CSi (cc) should differ from the previous CSi */ ++ for (ci = 0; ci < i; ci++) { ++ if (cinfo->cur_comp_info[ci] == compptr) ++ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); ++ } + } + + /* Collect the additional scan parameters Ss, Se, Ah/Al. */ diff --git a/patches/source/libjpeg/libjpeg.SlackBuild b/patches/source/libjpeg/libjpeg.SlackBuild new file mode 100755 index 000000000..958022a22 --- /dev/null +++ b/patches/source/libjpeg/libjpeg.SlackBuild @@ -0,0 +1,112 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-v8a} +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libjpeg + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf jpeg-$(echo $VERSION | cut -f 2 -d v) +tar xvf $CWD/jpegsrc.${VERSION}.tar.?z* || exit 1 +cd jpeg-$(echo $VERSION | cut -f 2 -d v) + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/jpeg.CVE-2013-6629.diff.gz | patch -p1 --verbose || exit 1 + +export CFLAGS="$SLKCFLAGS" +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --libdir=/usr/lib${LIBDIRSUFFIX} +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/libjpeg-$VERSION +cp -a README $PKG/usr/doc/libjpeg-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +makepkg -c y -l y $TMP/libjpeg-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libjpeg/slack-desc b/patches/source/libjpeg/slack-desc new file mode 100644 index 000000000..d1add7fdf --- /dev/null +++ b/patches/source/libjpeg/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libjpeg: libjpeg (Independent JPEG Group's JPEG software) +libjpeg: +libjpeg: Software to implement JPEG image compression and decompression. JPEG +libjpeg: (pronounced 'jay-peg') is a standardized compression method for +libjpeg: full-color and gray-scale images. JPEG is intended for compressing +libjpeg: 'real-world' scenes; cartoons and other non-realistic images are not +libjpeg: its strong suit. JPEG is lossy, however, on typical images of +libjpeg: real-world scenes, very good compression levels can be obtained with +libjpeg: no visible change, and amazingly high compression levels are possible +libjpeg: if you can tolerate a low-quality image. +libjpeg: diff --git a/patches/source/libpcap/libpcap.SlackBuild b/patches/source/libpcap/libpcap.SlackBuild new file mode 100755 index 000000000..c2120845d --- /dev/null +++ b/patches/source/libpcap/libpcap.SlackBuild @@ -0,0 +1,128 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=libpcap +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libpcap + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf libpcap-$VERSION +tar xvf $CWD/libpcap-$VERSION.tar.gz || exit 1 +cd libpcap-$VERSION || exit 1 + +find . -type d -name CVS -depth -exec rm -rf {} \; +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$(getconf LFS_CFLAGS)" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/libpcap-$VERSION \ + --enable-ipv6 \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make shared $NUMJOBS || make || exit 1 + +mkdir -p $PKG/usr/bin # otherwise it errors out on install +make install DESTDIR=$PKG || exit 1 + +strip --strip-debug libpcap.so.1.?.? + +mkdir -p $PKG/usr/doc/libpcap-$VERSION +cp -a \ + CHANGES CREDITS INSTALL.txt LICENSE README* TODO VERSION \ + $PKG/usr/doc/libpcap-$VERSION + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Use symbolic links in the man pages: +( cd $PKG/usr/man/man3 + ln -sf pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description.3pcap + ln -sf pcap_dump_open.3pcap pcap_dump_fopen.3pcap + ln -sf pcap_geterr.3pcap pcap_perror.3pcap + ln -sf pcap_inject.3pcap pcap_sendpacket.3pcap + ln -sf pcap_loop.3pcap pcap_dispatch.3pcap + ln -sf pcap_major_version.3pcap pcap_minor_version.3pcap + ln -sf pcap_next_ex.3pcap pcap_next.3pcap + ln -sf pcap_open_offline.3pcap pcap_fopen_offline.3pcap + ln -sf pcap_setnonblock.3pcap pcap_getnonblock.3pcap + ln -sf pcap_findalldevs.3pcap pcap_freealldevs.3pcap + ln -sf pcap_free_tstamp_types.3pcap pcap_list_tstamp_types.3pcap + ln -sf pcap_free_datalinks.3pcap pcap_list_datalinks.3pcap +) + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + gzip -9 *.?pcap + ) + done + ) +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libpcap/slack-desc b/patches/source/libpcap/slack-desc new file mode 100644 index 000000000..63fb98760 --- /dev/null +++ b/patches/source/libpcap/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libpcap: libpcap (packet capture library) +libpcap: +libpcap: libpcap is a library for user-level packet capture. libpcap provides +libpcap: a portable framework for low-level network monitoring. Applications +libpcap: include network statistics collection, security monitoring, network +libpcap: debugging, etc. The tcpdump utility uses libpcap. +libpcap: +libpcap: Project homepage: http://www.tcpdump.org +libpcap: +libpcap: +libpcap: diff --git a/patches/source/libpng/libpng.SlackBuild b/patches/source/libpng/libpng.SlackBuild new file mode 100755 index 000000000..8689238f0 --- /dev/null +++ b/patches/source/libpng/libpng.SlackBuild @@ -0,0 +1,134 @@ +#!/bin/sh + +# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION_OLD=1.2.57 +VERSION_NEW=1.4.20 +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libpng +rm -rf $PKG +mkdir -p $TMP $PKG/usr + +build_source() { + +cd $TMP +rm -rf libpng-$VERSION +tar xvf $CWD/libpng-$VERSION.tar.?z* || exit 1 +cd libpng-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Look like using ./configure is the only way that works now... +./configure --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man + +make -j4 prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} ZLIBLIB="-L/usr/lib${LIBDIRSUFFIX} -lm -lz" || exit 1 +make install prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} ZLIBLIB="-L/usr/lib${LIBDIRSUFFIX} -lm -lz" DESTDIR=$PKG + +# I'm ditching this to see if anyone cares. +# +## This symlink is needed to keep old applications running: +## I guess the real lib used the major number 3, then 0 for +## a short while, and now .3 again. Hopefully it will stay +## this way as it was .3 in Slackware 10.2. One can hope. +#( cd $PKG/usr/lib${LIBDIRSUFFIX} +# if [ ! -e libpng.so.0 -a -e libpng.so.3 ]; then +# ln -sf libpng.so.3 libpng.so.0 +# fi +#) + +# Well, glad I got rid of the above, but upstream still does not +# grok shared libraries on Linux it seems -- libpng-1.4.0 caused all the +# newly compiled binaries to want libpng.so.14, and now libpng-1.4.1 +# wants to change that to libpng14.so.14. Searching online finds that +# we are not the only ones with binaries that want libpng.so.14, so we +# are forced to provide a compatibility symlink again... :-/ +# +# We'll try to remove this in 5 to 10 years, just like before. +( cd $PKG/usr/lib${LIBDIRSUFFIX} + if [ ! -e libpng.so.14 -a -e libpng14.so.14 ]; then + ln -sf libpng14.so.14 libpng.so.14 + fi +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 --force $PKG/usr/man/man?/*.? + +mkdir -p $PKG/usr/doc/libpng-$VERSION +cp -a \ + ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \ + libpng*.txt example.c \ + $PKG/usr/doc/libpng-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/libpng-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +} + +# Build the 1.2 version: +VERSION=$VERSION_OLD +build_source + +# Build the 1.4 version: +VERSION=$VERSION_NEW +build_source + +# Default the includes to version 1.4.x: +( cd $PKG/usr/include ; ln -sf libpng14 libpng ) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libpng-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libpng/libpng.url b/patches/source/libpng/libpng.url new file mode 100644 index 000000000..f50d42755 --- /dev/null +++ b/patches/source/libpng/libpng.url @@ -0,0 +1 @@ +ftp://ftp.simplesystems.org/pub/libpng/png/src/ diff --git a/patches/source/libpng/slack-desc b/patches/source/libpng/slack-desc new file mode 100644 index 000000000..54d1d0f92 --- /dev/null +++ b/patches/source/libpng/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libpng: libpng (Portable Network Graphics library) +libpng: +libpng: PNG (Portable Network Graphics) is an extensible file format for the +libpng: lossless, portable, well-compressed storage of raster images. PNG +libpng: provides a patent-free replacement for GIF and can also replace many +libpng: common uses of TIFF. Indexed-color, grayscale, and truecolor images +libpng: are supported, plus an optional alpha channel. Sample depths range +libpng: from 1 to 16 bits. +libpng: +libpng: +libpng: diff --git a/patches/source/libsndfile/libsndfile.SlackBuild b/patches/source/libsndfile/libsndfile.SlackBuild new file mode 100755 index 000000000..b40980398 --- /dev/null +++ b/patches/source/libsndfile/libsndfile.SlackBuild @@ -0,0 +1,106 @@ +#!/bin/sh + +# Slackware build script for libsndfile + +# Copyright 2010 paul wisehart, Hyattsville, MD, USA +# Copyright 2010 Robby Workman, Northport, Alabama, USA +# Copyright 2011 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=libsndfile +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +chmod -R a-s,u+w,go+r-w . + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --htmldir=/usr/doc/$PKGNAM-$VERSION/html \ + --disable-static \ + --build=$ARCH-slackware-linux + +make htmldocdir=/usr/doc/$PKGNAM-$VERSION/html || exit 1 +make htmldocdir=/usr/doc/$PKGNAM-$VERSION/html DESTDIR=$PKG install + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libsndfile/slack-desc b/patches/source/libsndfile/slack-desc new file mode 100644 index 000000000..2b84cb2db --- /dev/null +++ b/patches/source/libsndfile/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler---------------------------------------------------| +libsndfile: libsndfile (C library for reading and writing wav files) +libsndfile: +libsndfile: Libsndfile is a C library for reading and writing files containing +libsndfile: sampled sound (such as MS Windows WAV and Apple/SGI AIFF format). +libsndfile: +libsndfile: Homepage: http://www.mega-nerd.com/libsndfile/ +libsndfile: +libsndfile: +libsndfile: +libsndfile: +libsndfile: diff --git a/patches/source/libssh/libssh.SlackBuild b/patches/source/libssh/libssh.SlackBuild new file mode 100755 index 000000000..3fc493757 --- /dev/null +++ b/patches/source/libssh/libssh.SlackBuild @@ -0,0 +1,113 @@ +#!/bin/sh + +# Copyright 2011, 2012 Eric Hameleers, Eindhoven, NL +# Copyright 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=libssh +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Build and install: +mkdir build +cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DWITH_GCRYPT=1 \ + -DWITH_SSH1=1 \ + -DWITH_PCAP=1 \ + -DWITH_SFTP=1 \ + -DWITH_SERVER=1 \ + -DWITH_STATIC_LIB=0 \ + .. + make $NUMJOBS VERBOSE=1 || make || exit 1 + make install DESTDIR=$PKG || exit 1 +cd - + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS BSD ChangeLog COPYING INSTALL README doc/{API*,libssh*.txt} \ + $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libssh/slack-desc b/patches/source/libssh/slack-desc new file mode 100644 index 000000000..12a1c1922 --- /dev/null +++ b/patches/source/libssh/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libssh: libssh (library implementing ssh protocols) +libssh: +libssh: libssh is a mulitplatform C library implementing the SSHv2 and SSHv1 +libssh: protocol on client and server side. With libssh, you can remotely +libssh: execute programs, transfer files, and use a secure and transparent +libssh: tunnel for your remote applications. +libssh: +libssh: Homepage: http://www.libssh.org/ +libssh: +libssh: +libssh: diff --git a/patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff b/patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff new file mode 100644 index 000000000..9b190c611 --- /dev/null +++ b/patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff @@ -0,0 +1,152 @@ +diff -u -r libtasn1-2.14.orig/lib/decoding.c libtasn1-2.14/lib/decoding.c +--- libtasn1-2.14.orig/lib/decoding.c 2012-09-13 01:16:23.000000000 -0500 ++++ libtasn1-2.14/lib/decoding.c 2014-06-05 16:42:36.495243018 -0500 +@@ -149,7 +149,7 @@ + /* Long form */ + punt = 1; + ris = 0; +- while (punt <= der_len && der[punt] & 128) ++ while (punt < der_len && der[punt] & 128) + { + last = ris; + +@@ -226,12 +226,11 @@ + int *ret_len, unsigned char *str, int str_size, + int *str_len) + { +- int len_len; ++ int len_len = 0; + + if (der_len <= 0) + return ASN1_GENERIC_ERROR; + +- /* if(str==NULL) return ASN1_SUCCESS; */ + *str_len = asn1_get_length_der (der, der_len, &len_len); + + if (*str_len < 0) +@@ -239,7 +238,10 @@ + + *ret_len = *str_len + len_len; + if (str_size >= *str_len) +- memcpy (str, der + len_len, *str_len); ++ { ++ if (*str_len > 0 && str != NULL) ++ memcpy (str, der + len_len, *str_len); ++ } + else + { + return ASN1_MEM_ERROR; +@@ -259,7 +261,7 @@ + if (der_len <= 0 || str == NULL) + return ASN1_DER_ERROR; + str_len = asn1_get_length_der (der, der_len, &len_len); +- if (str_len < 0 || str_size < str_len) ++ if (str_len <= 0 || str_size < str_len) + return ASN1_DER_ERROR; + memcpy (str, der + len_len, str_len); + str[str_len] = 0; +@@ -285,7 +287,7 @@ + return ASN1_GENERIC_ERROR; + len = asn1_get_length_der (der, der_len, &len_len); + +- if (len < 0 || len > der_len || len_len > der_len) ++ if (len <= 0 || len > der_len || len_len > der_len) + return ASN1_DER_ERROR; + + val1 = der[len_len] / 40; +@@ -347,7 +349,7 @@ + int *ret_len, unsigned char *str, int str_size, + int *bit_len) + { +- int len_len, len_byte; ++ int len_len = 0, len_byte; + + if (der_len <= 0) + return ASN1_GENERIC_ERROR; +@@ -358,8 +360,14 @@ + *ret_len = len_byte + len_len + 1; + *bit_len = len_byte * 8 - der[len_len]; + ++ if (*bit_len <= 0) ++ return ASN1_DER_ERROR; ++ + if (str_size >= len_byte) +- memcpy (str, der + len_len + 1, len_byte); ++ { ++ if (len_byte > 0 && str) ++ memcpy (str, der + len_len + 1, len_byte); ++ } + else + { + return ASN1_MEM_ERROR; +diff -u -r libtasn1-2.14.orig/lib/element.c libtasn1-2.14/lib/element.c +--- libtasn1-2.14.orig/lib/element.c 2012-09-24 06:51:43.000000000 -0500 ++++ libtasn1-2.14/lib/element.c 2014-06-05 16:50:27.290222945 -0500 +@@ -112,8 +112,11 @@ + /* VALUE_OUT is too short to contain the value conversion */ + return ASN1_MEM_ERROR; + +- for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++) +- value_out[k2 - k] = val[k2]; ++ if (value_out != NULL) ++ { ++ for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++) ++ value_out[k2 - k] = val[k2]; ++ } + + #if 0 + printf ("_asn1_convert_integer: valueIn=%s, lenOut=%d", value, *len); +@@ -617,7 +620,8 @@ + if (ptr_size < data_size) { \ + return ASN1_MEM_ERROR; \ + } else { \ +- memcpy( ptr, data, data_size); \ ++ if (ptr && data_size > 0) \ ++ memcpy( ptr, data, data_size); \ + } + + #define PUT_STR_VALUE( ptr, ptr_size, data) \ +@@ -626,16 +630,19 @@ + return ASN1_MEM_ERROR; \ + } else { \ + /* this strcpy is checked */ \ +- _asn1_strcpy(ptr, data); \ ++ if (ptr) { \ ++ _asn1_strcpy(ptr, data); \ ++ } \ + } + + #define ADD_STR_VALUE( ptr, ptr_size, data) \ +- *len = (int) _asn1_strlen(data) + 1; \ +- if (ptr_size < (int) _asn1_strlen(ptr)+(*len)) { \ ++ *len += _asn1_strlen(data); \ ++ if (ptr_size < (int) *len) { \ ++ (*len)++; \ + return ASN1_MEM_ERROR; \ + } else { \ + /* this strcat is checked */ \ +- _asn1_strcat(ptr, data); \ ++ if (ptr) _asn1_strcat(ptr, data); \ + } + + /** +@@ -792,7 +799,9 @@ + case TYPE_OBJECT_ID: + if (node->type & CONST_ASSIGN) + { +- value[0] = 0; ++ *len = 0; ++ if (value) ++ value[0] = 0; + p = node->down; + while (p) + { +@@ -806,7 +815,7 @@ + } + p = p->right; + } +- *len = _asn1_strlen (value) + 1; ++ (*len)++; + } + else if ((node->type & CONST_DEFAULT) && (node->value == NULL)) + { diff --git a/patches/source/libtasn1/libtasn1.SlackBuild b/patches/source/libtasn1/libtasn1.SlackBuild new file mode 100755 index 000000000..af4b24a96 --- /dev/null +++ b/patches/source/libtasn1/libtasn1.SlackBuild @@ -0,0 +1,127 @@ +#!/bin/sh + +# Slackware build script for libtasn1 + +# Copyright 2010-2012 Robby Workman, Northport, Alabama, USA +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=libtasn1 +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j6} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +zcat $CWD/libtasn1.CVE-2014-3467_8_9.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --enable-shared \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + #--disable-gtk-doc \ + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Don't ship .la files: +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* THANKS \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/libtasn1/slack-desc b/patches/source/libtasn1/slack-desc new file mode 100644 index 000000000..da00dacb8 --- /dev/null +++ b/patches/source/libtasn1/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +libtasn1: libtasn1 (ASN.1 library) +libtasn1: +libtasn1: Libtasn1 is the GNU ASN.1 library. Abstract Syntax Notation One +libtasn1: (ASN.1) is a standard and flexible notation that describes rules and +libtasn1: structures for representing, encoding, transmitting, and decoding +libtasn1: data in telecommunications and computer networking. +libtasn1: +libtasn1: Libtasn1 was written by Fabio Fiorina. +libtasn1: +libtasn1: +libtasn1: diff --git a/patches/source/libtiff/libtiff.SlackBuild b/patches/source/libtiff/libtiff.SlackBuild new file mode 100755 index 000000000..9f8e9023c --- /dev/null +++ b/patches/source/libtiff/libtiff.SlackBuild @@ -0,0 +1,122 @@ +#!/bin/sh + +# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=${VERSION:-$(echo tiff-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=1_slack14.0 + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libtiff + +rm -rf $PKG +mkdir -p $PKG +cd $TMP +rm -rf tiff-$VERSION +tar xvf $CWD/tiff-$VERSION.tar.?z* || exit 1 +cd tiff-$VERSION + +zcat $CWD/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/tiff-3.9.7_CVE-2013-4231.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/tiff-3.9.7_CVE-2013-4232.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/tiff-3.9.7_CVE-2013-4244.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --program-prefix="" \ + --program-suffix="" \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +( cd man ; make install-man DESTDIR=$PKG || exit 1 ) || exit 1 +rm -r $PKG/usr/share +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) +strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a +chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libtiff*.so.* +mkdir -p $PKG/usr/doc/libtiff-$VERSION +cp -a \ + COPYRIGHT README RELEASE-DATE TODO VERSION \ + $PKG/usr/doc/libtiff-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mv $PKG/usr/local/man $PKG/usr +rmdir $PKG/usr/local + +# I'd use that shiny new manpage script here but all the +# .3 manpages end with '.3tiff'. +gzip -9 $PKG/usr/man/man?/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +makepkg -l y -c n $TMP/libtiff-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libtiff/slack-desc b/patches/source/libtiff/slack-desc new file mode 100644 index 000000000..42c79f47d --- /dev/null +++ b/patches/source/libtiff/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libtiff: libtiff (a library for reading and writing TIFF files) +libtiff: +libtiff: This package provides support for the Tag Image File Format (TIFF), +libtiff: a widely used format for storing image data. Included is the libtiff +libtiff: library (for reading and writing TIFF files), and a collection of +libtiff: tools for working with TIFF images. +libtiff: +libtiff: +libtiff: +libtiff: +libtiff: diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff new file mode 100644 index 000000000..2ee6847c6 --- /dev/null +++ b/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff @@ -0,0 +1,3813 @@ +From 304327d825c7ba6a9f560d0ca792304f0b03e3b3 Mon Sep 17 00:00:00 2001 +From: mancha +Date: Sun, 11 Aug 2013 +Subject: Multiple CVEs addressed and bugs fixed. + +Mega-patch against libtiff-3.9.7 constructed from upstream commits +that syncs it to the last CVS revision (5/2/2013). It fixes: + + a. CVE-2012-4447 + b. CVE-2012-4564 + c. CVE-2013-1960 + d. CVE-2013-1961 + e. auto-rotate option bug + f. TIFFPrintDirectory bug +--- + ChangeLog | 781 ++++++++++++++++++++++-------------------- + Makefile.in | 2 + aclocal.m4 | 6 + build/Makefile.in | 2 + contrib/Makefile.in | 2 + contrib/acorn/Makefile.in | 2 + contrib/addtiffo/Makefile.in | 2 + contrib/dbs/Makefile.in | 2 + contrib/dbs/xtiff/Makefile.in | 2 + contrib/dbs/xtiff/xtiff.c | 6 + contrib/iptcutil/Makefile.in | 2 + contrib/mac-cw/Makefile.in | 2 + contrib/mac-mpw/Makefile.in | 2 + contrib/mfs/Makefile.in | 2 + contrib/pds/Makefile.in | 2 + contrib/ras/Makefile.in | 2 + contrib/stream/Makefile.in | 2 + contrib/tags/Makefile.in | 2 + contrib/win_dib/Makefile.in | 2 + html/Makefile.in | 2 + html/images/Makefile.in | 2 + html/man/Makefile.in | 2 + libtiff/Makefile.in | 2 + libtiff/tif_codec.c | 5 + libtiff/tif_dirinfo.c | 4 + libtiff/tif_pixarlog.c | 94 ++--- + libtiff/tif_print.c | 15 + man/Makefile.in | 2 + port/Makefile.in | 2 + test/Makefile.in | 2 + tools/Makefile.in | 2 + tools/ppm2tiff.c | 39 +- + tools/rgb2ycbcr.c | 5 + tools/tiff2bw.c | 4 + tools/tiff2pdf.c | 313 ++++++++-------- + tools/tiff2ps.c | 20 - + tools/tiffcrop.c | 12 + tools/tiffdither.c | 4 + 38 files changed, 728 insertions(+), 628 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index c18d495..2d8bc7c 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,51 @@ ++2013-05-02 Tom Lane ++ ++ * tools/tiff2pdf.c: Rewrite JPEG marker parsing in ++ t2p_process_jpeg_strip to be at least marginally competent. The ++ approach is still fundamentally flawed, but at least now it won't ++ stomp all over memory when given bogus input. Fixes CVE-2013-1960. ++ ++2013-05-02 Tom Lane ++ ++ * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c, ++ libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c, ++ tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c, ++ tools/tiffdither.c: Enlarge some fixed-size buffers that weren't ++ large enough, and eliminate substantially all uses of sprintf(buf, ++ ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to ++ protect against overflow of fixed-size buffers. This responds in ++ particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's ++ t2p_write_pdf_page(), but in general it seems like a good idea to ++ deprecate use of sprintf(). ++ ++2013-01-25 Bob Friesenhahn ++ ++ * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a ++ rotation angle was set by the auto rotate check, it was retained ++ for all pages that followed instead of being retested for each ++ page. Patch by Richard Nolde. ++ ++2012-12-12 Tom Lane ++ ++ * libtiff/tif_print.c: Back-patch recent fixes in ++ TIFFPrintDirectory to make it handle field_passcount fields sanely ++ for both TIFF_VARIABLE and TIFF_VARIABLE2 cases. ++ ++2012-12-10 Tom Lane ++ ++ * tools/ppm2tiff.c: Back-patch fix for CVE-2012-4564. ++ ++2012-12-10 Tom Lane ++ ++ * libtiff/tif_pixarlog.c: Back-patch recent security fixes for ++ tif_pixarlog.c, namely the fix for CVE-2012-4447 and protections ++ against accessing outside the lookup arrays for out of range ++ inputs. ++ ++2012-11-18 Bob Friesenhahn ++ ++ * automake: Update Automake to 1.12.5 release. ++ + 2012-09-22 Bob Friesenhahn + + * libtiff 3.9.7 released. +@@ -31,7 +79,7 @@ + + * libtiff/tif_dirread.c: Avoid trusting samplesperpixel's default + of 1 for purposes of trimming tags. This is to get some super +- crappy OJPEG files to work again. Grr. ++ crappy OJPEG files to work again. Grr. + http://bugzilla.maptools.org/show_bug.cgi?id=2348 + + 2012-06-01 Frank Warmerdam +@@ -101,8 +149,8 @@ + * libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC + where they are already available. (#2301) + +- * libtiff/tif_thunder.c: Correct potential buffer overflow with +- thunder encoded files with wrong bitspersample set. The libtiff ++ * libtiff/tif_thunder.c: Correct potential buffer overflow with ++ thunder encoded files with wrong bitspersample set. The libtiff + development team would like to thank Marin Barbella and TippingPoint's + Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004, + CVE-2011-1167). +@@ -110,18 +158,18 @@ + + 2011-03-10 Frank Warmerdam + +- * libtiff/tif_fax3.h: Fix to last change allowing zero length ++ * libtiff/tif_fax3.h: Fix to last change allowing zero length + runs at the start of a scanline - needed for legal cases. + + 2011-03-02 Frank Warmerdam + +- * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding +- a move left. Without this, a malicious input file can generate an +- indefinitely large series of runs without a0 ever reaching the right ++ * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding ++ a move left. Without this, a malicious input file can generate an ++ indefinitely large series of runs without a0 ever reaching the right + margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192. +- This is a modified version of a patch proposed by Drew Yao of Apple +- Product Security. It adds an unexpected() report, and disallows the +- equality case, since emitting a run without increasing a0 still allows ++ This is a modified version of a patch proposed by Drew Yao of Apple ++ Product Security. It adds an unexpected() report, and disallows the ++ equality case, since emitting a run without increasing a0 still allows + buffer overrun. + + 2011-02-25 Andrey Kiselev +@@ -133,7 +181,7 @@ + 2011-01-03 Lee Howard + + * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images +- caused by commit on 2010-12-14. Submitted by e-mail from ++ caused by commit on 2010-12-14. Submitted by e-mail from + Even Rouault + + 2010-12-31 Olivier Paquet +@@ -188,13 +236,13 @@ + + 2010-12-12 Lee Howard + +- * tools/tiff2pdf.c: fix colors for images with RGBA ++ * tools/tiff2pdf.c: fix colors for images with RGBA + interleaved data + http://bugzilla.maptools.org/show_bug.cgi?id=2250 + + 2010-12-11 Lee Howard + +- * tools/tiff2pdf.c: remove invalid duplication for Lab ++ * tools/tiff2pdf.c: remove invalid duplication for Lab + http://bugzilla.maptools.org/show_bug.cgi?id=2162 + + 2010-12-11 Lee Howard +@@ -236,7 +284,7 @@ + + 2010-12-07 Lee Howard + +- * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for ++ * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for + CVE-2010-3087 per bug + http://bugzilla.maptools.org/show_bug.cgi?id=2140 + +@@ -248,7 +296,7 @@ + 2010-09-25 Lee Howard + + * tools/tiff2ps.c: improvements and enhancements from Richard Nolde +- with additional command line options for Document Title, ++ with additional command line options for Document Title, + Document Creator, and Page Orientation + + 2010-07-13 Bob Friesenhahn +@@ -349,14 +397,14 @@ + * libtiff/tif_dirread.c: Fixed bad handling of out of order tags + definated late by a codec (#2210) + +- * libtiff/tif_dirread.c: Fixed inadequate validation of the ++ * libtiff/tif_dirread.c: Fixed inadequate validation of the + SubjectDistance field (#2212). + +- * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return" +- in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely +- wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual +- size is larger. Also, there are a bunch of places that try to +- memset() a malloc'd buffer before checking for malloc failure, which ++ * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return" ++ in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely ++ wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual ++ size is larger. Also, there are a bunch of places that try to ++ memset() a malloc'd buffer before checking for malloc failure, which + would result in core dump if there actually were a failure. (#2211) + + 2010-06-11 Bob Friesenhahn +@@ -452,13 +500,13 @@ + + 2010-05-07 Frank Warmerdam + +- * libtiff/tif_jpeg.c: Ensure that quality is always set in +- JPEGPreEncode(), not just when we want to output local tables. ++ * libtiff/tif_jpeg.c: Ensure that quality is always set in ++ JPEGPreEncode(), not just when we want to output local tables. + Otherwise the quality used during compression may not be right and + might not match the tables in the tables tag. This bug only occurs + when seeking between directories in the midst of writing blocks. + http://trac.osgeo.org/gdal/ticket/3539 +- ++ + 2010-05-05 Olivier Paquet + + * libtiff/tif_print.c: Have TIFFTAG_REFERENCEBLACKWHITE always print 6 +@@ -476,11 +524,11 @@ + 2010-02-22 Lee Howard + + * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating +- the JPEG TIFF as is is not required in order to prevent it from +- being unused and filled with invalid data. (Leave it to be ++ the JPEG TIFF as is is not required in order to prevent it from ++ being unused and filled with invalid data. (Leave it to be + generated by later activity.) + http://bugzilla.maptools.org/show_bug.cgi?id=2135 +- * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip ++ * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip + data rather than skipping them. This fixes the ability to view in + Acrobat Reader, Evince, and Ghostscript. + http://bugzilla.maptools.org/show_bug.cgi?id=2135 +@@ -491,13 +539,13 @@ + 2010-01-06 Frank Warmerdam + + * libtiff/tif_dir.c: Ensure tile and scanline sizes are reset +- when moving to new directories. ++ when moving to new directories. + http://bugzilla.maptools.org/show_bug.cgi?id=1936 + + 2009-12-03 Frank Warmerdam + + * libtiff/tif_jpeg.c: Fix a couple of issues that trigger failures in +- some cases when using TIFFReadScanline() with JPEG compressed ++ some cases when using TIFFReadScanline() with JPEG compressed + subsampled ycbcr images. + http://bugzilla.maptools.org/show_bug.cgi?id=1936 + +@@ -610,7 +658,7 @@ + + 2009-06-22 Frank Warmerdam + +- * libtiff/tif_lzw.c: Fix buffer underflow bug. ++ * libtiff/tif_lzw.c: Fix buffer underflow bug. + http://bugzilla.maptools.org/show_bug.cgi?id=2065 + + 2009-06-03 Frank Warmerdam +@@ -621,7 +669,7 @@ + + 2009-02-12 Frank Warmerdam + +- * libtiff/tif_luv.c: Fix handling of tiled logluv images. ++ * libtiff/tif_luv.c: Fix handling of tiled logluv images. + http://bugzilla.maptools.org/show_bug.cgi?id=2005 + + 2009-01-23 Frank Warmerdam +@@ -635,7 +683,7 @@ + + 2009-01-12 Bob Friesenhahn + +- * tools/tiff2ps.c: Remove spurious message printed to stderr. ++ * tools/tiff2ps.c: Remove spurious message printed to stderr. + + 2009-01-11 Bob Friesenhahn + +@@ -668,7 +716,7 @@ + 2008-12-31 Frank Warmerdam + + * tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard +- Nolde. ++ Nolde. + + 2008-12-21 Frank Warmerdam + +@@ -678,7 +726,7 @@ + + 2008-12-21 Frank Warmerdam + +- * libtiff/tif_getimage.c, tiffio.h: More ABI corrections. ++ * libtiff/tif_getimage.c, tiffio.h: More ABI corrections. + Removed SubsamplingHor/Ver from TIFFRGBAImage structure. + http://bugzilla.maptools.org/show_bug.cgi?id=1980 + +@@ -719,15 +767,15 @@ + + 2008-05-24 Frank Warmerdam + +- * tif_codec.c: Avoid NULL pointer dereferencing for exotic ++ * tif_codec.c: Avoid NULL pointer dereferencing for exotic + compression codec codes. + + * tif_dirread.c: zero tif->tif_dir after freeing the directory + in TIFFReadCustomDirectory(). I don't exactly remember why this +- was important. ++ was important. + + * tif_dirwrite.c: Fix potential memory leak writing large double +- tags. ++ tags. + + * tif_dirread.c: Fix unchecked malloc result. + +@@ -747,12 +795,12 @@ + + 2007-11-22 Frank Warmerdam + +- * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for +- establishing if an existing tile can be rewritten to the same location +- by comparing the current size to all the other blocks in the same +- directory. This is dangerous in many situations and can easily ++ * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for ++ establishing if an existing tile can be rewritten to the same location ++ by comparing the current size to all the other blocks in the same ++ directory. This is dangerous in many situations and can easily + corrupt a file. (observed in esoteric GDAL situation that's hard to +- document). This change involves leaving the stripbytecount[] values ++ document). This change involves leaving the stripbytecount[] values + unaltered till TIFFAppendToStrip(). Now we only write a block back + to the same location it used to be at if the new data is the same + size or smaller - otherwise we move it to the end of file. +@@ -760,17 +808,17 @@ + * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile + data when writing the directory just because we have BEENWRITING at + some point in the past. This was causing odd junk to be written out +- in a tile of data when a single tile had an interleaving of reading +- and writing with reading last. (highlighted by gdal +- autotest/gcore/tif_write.py test 7. ++ in a tile of data when a single tile had an interleaving of reading ++ and writing with reading last. (highlighted by gdal ++ autotest/gcore/tif_write.py test 7. + + * tif_predict.c: use working buffer in PredictorEncodeTile to avoid +- modifying callers buffer. ++ modifying callers buffer. + http://trac.osgeo.org/gdal/ticket/1965 + +- * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that ++ * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that + predictor based encoding and decoding works in read-write update +- mode properly. ++ mode properly. + http://trac.osgeo.org/gdal/ticket/1948 + + 2007-10-05 Frank Warmerdam +@@ -785,7 +833,7 @@ + + 2007-07-18 Andrey Kiselev + +- * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h, ++ * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h, + remove tif_config.h/tiffconf.h during cleaning. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1573 +@@ -803,14 +851,13 @@ + 2007-07-03 Andrey Kiselev + + * tools/tiff2ps.c: Added support 16-bit images as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1566 + + Patch from William Bader. + + * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and + significant upgrade of the whole utility as per bug +- + http://bugzilla.remotesensing.org/show_bug.cgi?id=1560 + + Now we don't need tiffiop.h in tiff2pdf anymore and will open output +@@ -828,7 +875,7 @@ + + * libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a + byte swapping issue +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1363 + + As per bug +@@ -846,7 +893,7 @@ + * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c, + tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c, + tif_predict.c, tif_zip.c}: Finally fix bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1274 + + by introducing _TIFFMergeFieldInfo() returning integer error status +@@ -857,7 +904,7 @@ + + 2007-04-07 Frank Warmerdam + +- * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output ++ * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output + blocks in TIFF_DownSample_Subsampled() (bug 1542). + + 2007-04-06 Frank Warmerdam +@@ -865,20 +912,20 @@ + * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it + will convert from decompressor to compressor or compress to decompress + if required by the force arguments. This works around a problem in +- where the JPEGFixupTestSubsampling() may cause a decompressor to ++ where the JPEGFixupTestSubsampling() may cause a decompressor to + be setup on a directory when later a compressor is required with the +- force flag set. Occurs with the addtiffo program for instance. ++ force flag set. Occurs with the addtiffo program for instance. + + 2007-04-06 Andrey Kiselev + + * libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored + in-place in tag offsets as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1363 + + * tools/tiffcrop.c, man/tiffcrop.1: Significant update in + functionality from Richard Nolde. As per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1525 + + 2007-03-28 Frank Warmerdam +@@ -886,15 +933,15 @@ + * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC. + + 2007-03-07 Joris Van Damme +- ++ + * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading + OJPEG images with rowsperstrip that is not a multiple of vertical subsampling + factor. This bug is mentioned in: + http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 +- http://www.asmail.be/msg0054766825.html ++ http://www.asmail.be/msg0054766825.html + + 2007-03-07 Joris Van Damme +- ++ + * libtiff/tif_win32.c: made inclusion of windows.h unconditional + + * libtiff/tif_win32.c: replaced preprocessor indication for consiously +@@ -944,14 +991,14 @@ + larger than 2GB. Fixes bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=890 +- ++ + Idea submitted by Matt Hancher. + + 2007-01-31 Andrey Kiselev + + * tools/tif2rgba.c: This utility does not work properly on big-endian + architectures. It was fixed including the bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1149 + + 2007-01-15 Mateusz Loskot +@@ -968,15 +1015,15 @@ + + 2006-11-19 Frank Warmerdam + +- * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if +- we move a strip. +- http://bugzilla.remotesensing.org/show_bug.cgi?id=1359 ++ * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if ++ we move a strip. ++ http://bugzilla.remotesensing.org/show_bug.cgi?id=1359 + + 2006-10-13 Andrey Kiselev + + * libtiff/tif_dir.c: More fixes for vulnerabilities, reported + in Gentoo bug (): +- ++ + http://bugs.gentoo.org/show_bug.cgi?id=142383 + + * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. +@@ -1010,12 +1057,12 @@ + * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing + encoding and decoding on the same read-write TIFF handle. The LZW + code can now maintain encode and decode state at the same time. The +- ZIP code will switch back and forth as needed. ++ ZIP code will switch back and forth as needed. + http://bugzilla.remotesensing.org/show_bug.cgi?id=757 + + 2006-09-20 Frank Warmerdam + +- * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and ++ * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and + tif_config.vc.h for easier identification by folks using an IDE. + + 2006-07-25 Frank Warmerdam +@@ -1030,7 +1077,7 @@ + + 2006-07-12 Frank Warmerdam + +- * tif_dirwrite.c: make sure to use uint32 for wordcount in ++ * tif_dirwrite.c: make sure to use uint32 for wordcount in + TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. + It already seems to have been done for other field types. Needed + for "tiffset" on files with geotiff ascii text. +@@ -1058,9 +1105,9 @@ + 2006-06-17 Frank Warmerdam + + * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled +- files. Modified TIFFReadDirectory() to not invoke ++ files. Modified TIFFReadDirectory() to not invoke + EstimateStripByteCounts() for case where entry 0 and 1 are unequal +- but one of them is zero. ++ but one of them is zero. + http://bugzilla.remotesensing.org/show_bug.cgi?id=1204 + + 2006-06-08 Andrey Kiselev +@@ -1088,7 +1135,7 @@ + * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added + support for JBIG compression scheme (34661 code) contributed by Lee + Howard. As per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=896 + + * configure, configure.ac: OJPEG support enabled by default. +@@ -1127,7 +1174,7 @@ + 2006-04-18 Frank Warmerdam + + * nmake.opt: use /EHsc for VS2005 compatibility. Also define +- _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. ++ _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. + + 2006-04-12 Joris Van Damme + +@@ -1135,7 +1182,7 @@ + non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]) + + 2006-04-11 Joris Van Damme +- ++ + * libtiff/tif_getimage.c: Revision of all RGB(A) put routines + - Conversion of unassociated alpha to associated alpha now done with + more performant LUT, and calculation more correct +@@ -1144,21 +1191,21 @@ + - Bugfix of handling of 16bit RGB with unassociated alpha + + 2006-04-11 Joris Van Damme +- +- * libtiff/tif_getimage.c: +- - When there is no alpha, gtTileSeparate and gtStripSeparate allocated +- buffer for alpha strile and filled it, only to never read it back. ++ ++ * libtiff/tif_getimage.c: ++ - When there is no alpha, gtTileSeparate and gtStripSeparate allocated ++ buffer for alpha strile and filled it, only to never read it back. + Removed allocation and fill. +- - Minor rename of vars in gtTileSeparate and gtStripSeparate ++ - Minor rename of vars in gtTileSeparate and gtStripSeparate + anticipating planned functionality extension + + 2006-04-08 Joris Van Damme + +- * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase +- and pickTileSeparateCase to PickSeparateCase as both work on strips as ++ * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase ++ and pickTileSeparateCase to PickSeparateCase as both work on strips as + well + +- * libtiff/tif_getimage.c: moved img->get selection from ++ * libtiff/tif_getimage.c: moved img->get selection from + TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create + logical hook for planned functionality extension + +@@ -1169,9 +1216,9 @@ + + 2006-04-07 Joris Van Damme + +- * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in ++ * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in + gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour +- on subsampled images - this ought to get sorted when we feel brave ++ on subsampled images - this ought to get sorted when we feel brave + enough to replace TIFFScanlineSize alltogether + + * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip +@@ -1180,13 +1227,13 @@ + + * libtiff/tiffio.h: added new type tstrile_t + +- * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips +- to new tstrile_t, types of td_stripoffset and td_stripbytecount to ++ * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips ++ to new tstrile_t, types of td_stripoffset and td_stripbytecount to + toff_t* + + * libtiff/tif_ojpeg.c: totally new implementation + +- * libtiff/tif_dirread.c: added several hacks to suit new support of ++ * libtiff/tif_dirread.c: added several hacks to suit new support of + OJPEG + + * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling +@@ -1226,7 +1273,7 @@ + + * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile + +- * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to ++ * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to + prepare the path for new tif_ojpeg.c + + 2006-03-23 Andrey Kiselev +@@ -1342,7 +1389,7 @@ + + * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline() + to avoid crash as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1081. + + 2006-02-26 Andrey Kiselev +@@ -1392,7 +1439,7 @@ + 2006-02-07 Frank Warmerdam + + * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG +- compressed TIFF files, per submission from Dan Cobra. ++ compressed TIFF files, per submission from Dan Cobra. + + 2006-02-07 Andrey Kiselev + +@@ -1424,7 +1471,7 @@ + + * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of + _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1026. + + 2006-01-23 Andrey Kiselev +@@ -1490,7 +1537,7 @@ + + 2005-12-26 Andrey Kiselev + +- * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}: ++ * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}: + tiffFieldInfo and exifFieldInfo arrays definitions moved back to + tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo() + private functions to retrieve FieldInfo arrays. +@@ -1517,10 +1564,10 @@ + + 2005-12-23 Joris Van Damme + +- * libtiff/tiffio.h: fixed typo that potentially resulted in ++ * libtiff/tiffio.h: fixed typo that potentially resulted in + redefininition of USE_WIN32_FILEIO + +- * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning ++ * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning + calls in core LibTiff. + + 2005-12-21 Andrey Kiselev +@@ -1530,10 +1577,10 @@ + + 2005-12-21 Joris Van Damme + +- * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling ++ * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling + newer code to get context indicator in error handler and still +- remain compatible with older code: Done TIFFError calls everywhere +- except in tools ++ remain compatible with older code: Done TIFFError calls everywhere ++ except in tools + + 2005-12-20 Andrey Kiselev + +@@ -1606,7 +1653,7 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=1002 + + * .cvsignore: many files added, and a few update according +- to suggestion of Brad HArds on tiff mailing list. ++ to suggestion of Brad HArds on tiff mailing list. + + 2005-11-03 Frank Warmerdam + +@@ -1631,7 +1678,7 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=946 + + * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=965 + + * libtiff/tif_dirinfo.c: Make XResolution, YResolution and +@@ -1641,7 +1688,7 @@ + + * tools/tiffsplit.c: Copy fax related fields over splitted parts + as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=983 + + 2005-10-21 Frank Warmerdam +@@ -1697,7 +1744,7 @@ + + * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV + also set it to NULL to avoid double free when re-setting custom +- string fields as per: ++ string fields as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=922 + +@@ -1733,7 +1780,7 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=831 + + Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() +- instead. ++ instead. + + * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug + +@@ -1904,7 +1951,7 @@ + + 2005-05-22 Frank Warmerdam + +- * libtiff/tif_dirread.c: Changed the code that computes ++ * libtiff/tif_dirread.c: Changed the code that computes + stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is + zero. This is a common case with GDAL indicating a "null" tile/strip. + +@@ -1914,8 +1961,8 @@ + + 2005-05-06 Frank Warmerdam + +- * libtiff/tif_dirread.c: Applied similar change to +- TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys. ++ * libtiff/tif_dirread.c: Applied similar change to ++ TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=843 + +@@ -1965,7 +2012,7 @@ + + * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag + as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=816 + + 2005-03-30 Andrey Kiselev +@@ -2075,7 +2122,7 @@ + + * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{} + block as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=763 + + 2005-02-03 Bob Friesenhahn +@@ -2096,7 +2143,7 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=320 + + * tools/tiff2ps.c: Fixed problem with page sizes as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=742 + + 2005-01-31 Bob Friesenhahn +@@ -2137,7 +2184,7 @@ + TIFFRGBAImageBegin() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=739 +- ++ + 2005-01-12 Andrey Kiselev + + * libtiff/tif_jpeg.c: Added ability to read/write the fax specific +@@ -2166,7 +2213,7 @@ + * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C + compiler to avoid double definition of BSD types as per bug + +- http://bugzilla.remotesensing.org/show_bug.cgi?id=39 ++ http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + + * libtiff/Makefile.am: Place the C++ stream API in the separate + library called libtiffxx to avoid unneeded dependencies. Probably +@@ -2190,7 +2237,7 @@ + + * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled + RGB-images as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=713 + + +@@ -2226,7 +2273,7 @@ + 2004-12-15 Frank Warmerdam + + * libtiff/tif_getimage.c: #define A1 bracketing for clean build on +- SunPro compiler. ++ SunPro compiler. + + 2004-12-11 Bob Friesenhahn + +@@ -2238,7 +2285,7 @@ + + * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type + as per bugs +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=703 + + and +@@ -2258,9 +2305,9 @@ + + * libtiff/tif_config.in.vc: Removed unneded definitions for + read/open/close/lseek functions to fix the +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=680 +- ++ + 2004-12-03 Andrey Kiselev + + * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore() +@@ -2296,7 +2343,7 @@ + + 2004-11-26 Frank Warmerdam + +- * libtiff/makefile.vc: make it easier to rename the libtiff DLL. ++ * libtiff/makefile.vc: make it easier to rename the libtiff DLL. + + 2004-11-24 Andrey Kiselev + +@@ -2393,7 +2440,7 @@ + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=648 +- ++ + * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have + uint32 count. Use this type everywhere. + +@@ -2406,7 +2453,7 @@ + * tools/tiff2rgba.c: removed extra newlines in usage message. + + 2004-10-30 Andrey Kiselev +- ++ + * libtiff/tif_dirwrite.c: Improvements in tag writing code. + + * tools/tiff2ps.c: Fixed wrong variable data type when read Position +@@ -2421,7 +2468,7 @@ + + * libtiff/tif_fax3.c: Fixed case with the wrong decode routines + choosing when the incorrect Group4Options tag set. As per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=323 + + * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of +@@ -2440,7 +2487,7 @@ + * tools/tiff2pdf.c: added casts to avoid warnings. + + * libtiff/libtiff.def: Added several more entry points required +- to link fax2tiff.c against the DLL on windows. ++ to link fax2tiff.c against the DLL on windows. + + 2004-10-27 Andrey Kiselev + +@@ -2511,7 +2558,7 @@ + 2004-10-08 Frank Warmerdam + + * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation +- of tif_fieldinfo. ++ of tif_fieldinfo. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=630 + +@@ -2543,7 +2590,7 @@ + + 2004-09-30 Frank Warmerdam + +- * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to ++ * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to + TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info + in the Adobe XMP Specification. + +@@ -2563,7 +2610,7 @@ + 2004-09-26 Andrey Kiselev + + * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}: +- Optimize checking for the strip bounds. ++ Optimize checking for the strip bounds. + + * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and + TIFFRasterScanlineSize() functions report zero in the case of integer +@@ -2714,7 +2761,7 @@ + here + + http://www.asmail.be/msg0054799560.html +- ++ + for details. + + * tools/fax2tiff.c: Use the new functions in the code. +@@ -2842,11 +2889,11 @@ + * tools/tiffsplit.c: Fixed problem with unproperly written multibyte + files. Now output files will be written using the same byte order + flag as in the input image. See +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=574 +- ++ + for details. +- ++ + 2004-05-19 Frank Warmerdam + + * libtiff/tif_print.c: added (untested) support for printing +@@ -2858,7 +2905,7 @@ + + * libtiff/tif_fax3.c: Avoid reading CCITT compression options + if compression type mismatches. See +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=565 + + 2004-04-30 Andrey Kiselev +@@ -2903,7 +2950,7 @@ + 2004-04-04 Frank Warmerdam + + * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails +- via bad2. ++ via bad2. + + 2004-03-26 Andrey Kiselev + +@@ -2930,10 +2977,10 @@ + + 2004-02-26 Andrey Kiselev + +- * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed ++ * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed + images. Reported by Artem Mirolubov. + +- * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED ++ * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED + tag type in TIFFFetchNormalTag() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=508 +@@ -2955,8 +3002,8 @@ + 2004-01-30 Frank Warmerdam + + * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck, +- TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by +- Scott Reynolds. ++ TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by ++ Scott Reynolds. + + 2004-01-29 Andrey Kiselev + +@@ -2974,7 +3021,7 @@ + file if TIFFFdOpen() failed as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=468 +- ++ + * libtiff/tif_open.c: More fixes for + + http://bugzilla.remotesensing.org/show_bug.cgi?id=468 +@@ -2998,7 +3045,7 @@ + * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that + are field_passcount=TRUE properly. Arguably anonymous custom tags + should be declared as passcount=FALSE, but I don't want to change +- that without a careful review. ++ that without a careful review. + + 2004-01-20 Andrey Kiselev + +@@ -3161,8 +3208,8 @@ + + 2003-11-17 Frank Warmerdam + +- * tif_dirread.c: do not mark all anonymously defined tags to be +- IGNOREd. ++ * tif_dirread.c: do not mark all anonymously defined tags to be ++ IGNOREd. + + 2003-11-17 Andrey Kiselev + +@@ -3202,15 +3249,15 @@ + + 2003-11-09 Frank Warmerdam + +- * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the ++ * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the + planarconfig_contig case in TIFFComputeTile(). + + http://bugzilla.remotesensing.org/show_bug.cgi?id=387 + + 2003-11-09 Andrey Kiselev +- ++ + * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint. +- ++ + 2003-11-07 Andrey Kiselev + + * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}: +@@ -3277,11 +3324,11 @@ + function TIFFReadRGBAImageOriented() implemented to retrieve raster + array with user-specified origin position as suggested by Jason Frank. + See +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=322 + + for details. +- ++ + * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented() + instead of TIFFReadRGBAImage(). + +@@ -3362,9 +3409,9 @@ + encoded write functions use tif_postdecode() to apply byte order + swapping (swab) to the application passed data buffer if the same + would be done when reading. This allows us to write pixel data with +- more than 8 bits per sample to existing files of a non-native byte ++ more than 8 bits per sample to existing files of a non-native byte + order. One side effect of this change is the applications buffer +- itself is altered in this case by the act of writing. ++ itself is altered in this case by the act of writing. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=171 + +@@ -3390,9 +3437,9 @@ + 2003-07-08 Frank Warmerdam + + * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c, +- tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c, ++ tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c, + tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c: +- avoid casting warning at /W4. ++ avoid casting warning at /W4. + + 2003-07-03 Andrey Kiselev + +@@ -3414,11 +3461,11 @@ + + * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of + unknown data type. +- ++ + 2003-06-19 Frank Warmerdam + + * libtiff/tif_print.c: fixed some serious bugs when printing +- custom tags ... almost certain to crash. ++ custom tags ... almost certain to crash. + + * libtiff/tif_dirread.c: Don't ignore custom fields that are + autodefined. Not sure how this got to be like this. +@@ -3429,12 +3476,12 @@ + + * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data + comparing as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=349 + + `-z' option now can be used to set the number of reported different + bytes. +- ++ + 2003-06-09 Andrey Kiselev + + * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1 +@@ -3460,7 +3507,7 @@ + 2003-05-25 Andrey Kiselev + + * tools/fax2tiff.c: Page numbering fixed, as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=341 + + 2003-05-20 Andrey Kiselev +@@ -3526,7 +3573,7 @@ + + * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG + encoded images. See bug entries +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=275 + + and +@@ -3587,16 +3634,16 @@ + + * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg + library so that we can check if there is already any tile/strip data +- before deciding between creating a compressor or a decompressor. ++ before deciding between creating a compressor or a decompressor. + + 2003-01-31 Frank Warmerdam + + * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is +- a pre-existing compressed image. That is, image writing to ++ a pre-existing compressed image. That is, image writing to + pre-existing compressed images is not allowed. + + * libtiff/tif_open.c: Removed error if opening a compressed file +- in update mode. ++ in update mode. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=198 + +@@ -3609,16 +3656,16 @@ + * cut 3.6.0 Beta release. + + 2002-12-20 Andrey Kiselev +- ++ + * tools/fax2ps.c, man/fax2ps.1: Page size was determined + in wrong way as per bug +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=239 + + 2002-12-17 Frank Warmerdam + +- * libtiff/tif_dirread.c: Allow wrong sized arrays in +- TIFFFetchStripThing(). ++ * libtiff/tif_dirread.c: Allow wrong sized arrays in ++ TIFFFetchStripThing(). + + http://bugzilla.remotesensing.org/show_bug.cgi?id=49 + +@@ -3632,7 +3679,7 @@ + * libtiff/tif_dir.c: fixed bug with resetting an existing custom + field value. + +- * libtiff/tif_dir.c: Fixed potential problem with ascii "custom" ++ * libtiff/tif_dir.c: Fixed potential problem with ascii "custom" + tags in TIFFVGetField() ... added missing break. + + 2002-10-14 Frank Warmerdam +@@ -3644,11 +3691,11 @@ + the eps by redefining the colorimage operator will get messed up. + Patch supplied by William Bader. + +- * Makefile.in: added tif_extension.c to file list as per ++ * Makefile.in: added tif_extension.c to file list as per + http://bugzilla.remotesensing.org/show_bug.cgi?id=218. + + 2002-10-11 Andrey Kiselev +- ++ + * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for + large files (>2GiB) supporting. New option in the config.site: + LARGEFILE="yes". Should be enough for I/O of the large files. +@@ -3680,13 +3727,13 @@ + 2002-10-06 Frank Warmerdam + + * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong +- size on windows. Use #define boolean hack. ++ size on windows. Use #define boolean hack. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=188 + + * libtiff/tiff.h: Don't do special type handling in tiff.h unless + USING_VISUALAGE is defined. +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + + 2002-10-03 Frank Warmerdam +@@ -3697,30 +3744,30 @@ + + * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays + by the TIFFFetchByteArray() function. Should finally resolve +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=52 +- ++ + * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT + + * html/Makefile.in: New targets added: html and groffhtml for + producing HTML representations of the manual pages automatically. + html target uses man2html tool, groffhtml uses groff tool. +- ++ + 2002-09-29 Frank Warmerdam + + * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support +- from John H. DuBois III. ++ from John H. DuBois III. + + 2002-09-15 Andrey Kiselev + + * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added + manual page for raw2tiff(1) tool. +- ++ + 2002-09-12 Andrey Kiselev + + * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to + the tiffio.h header file. +- ++ + * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added + manual page for TIFFDataWidth() function + +@@ -3730,8 +3777,8 @@ + as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196. + + * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments +- since we are unable to properly include the amount to skip. +- ++ since we are unable to properly include the amount to skip. ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=80 + + 2002-09-02 Andrey Kiselev +@@ -3741,7 +3788,7 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=52 + + 2002-08-22 Andrey Kiselev +- ++ + * /libtiff/tif_dirinfo.c: Further additions to free custom fields + in _TIFFSetupFieldInfo() function. + See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details. +@@ -3750,14 +3797,14 @@ + LZWDecode() and LZWDecodeCompat(). + Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190 + and http://bugzilla.remotesensing.org/show_bug.cgi?id=100 +- ++ + * /libtiff/tif_lzw.c: + Added check for valid code lengths in LZWDecode() and + LZWDecodeCompat(). Fixes + http://bugzilla.remotesensing.org/show_bug.cgi?id=115 + + 2002-08-16 Andrey Kiselev +- ++ + * /libtiff/{Makefile.vc, libtiff.def}: + Missed declarations added. + +@@ -3768,7 +3815,7 @@ + + http://bugzilla.remotesensing.org/show_bug.cgi?id=177 + +- * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap ++ * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap + with FIELD_CUSTOM as mentioned in bug 169. + + * tif_close.c: added logic to free dynamically created anonymous +@@ -3777,31 +3824,31 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=169 + + 2002-08-10 Andrey Kiselev +- ++ + * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}: + New tool: raw2tiff --- raw images to TIFF converter. No manual page yet. + + 2002-07-31 Frank Warmerdam + +- * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in ++ * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in + JPEGDecode() as per bugzilla bug (issue 1): + + http://bugzilla.remotesensing.org/show_bug.cgi?id=129 + + * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to + fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't +- present in the tiff tags. ++ present in the tiff tags. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=168 + + * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and + TIFFWriteScanline() now set tif_row explicitly in case the codec has +- fooled with the value. ++ fooled with the value. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=129 + + 2002-06-22 Andrey Kiselev +- ++ + * /tools/tiff2ps.c: Added workaround for some software that may crash + when last strip of image contains fewer number of scanlines than + specified by the `/Height' variable. See +@@ -3817,8 +3864,8 @@ + + 2002-06-11 Frank Warmerdam + +- * libtiff/contrib/win95: renamed to contrib/win_dib. Added new +- Tiffile.cpp example of converting TIFF files into a DIB on Win32. ++ * libtiff/contrib/win95: renamed to contrib/win_dib. Added new ++ Tiffile.cpp example of converting TIFF files into a DIB on Win32. + This one is described in: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=143 +@@ -3834,21 +3881,21 @@ + http://bugzilla.remotesensing.org/show_bug.cgi?id=131 + + 2002-04-26 Andrey Kiselev +- ++ + * libtiff/libtiff.def: Added missed declaration. +- ++ + 2002-04-22 Andrey Kiselev +- ++ + * tools/fax2tiff.c: Updated to reflect latest changes in libtiff. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125 + + 2002-04-20 Andrey Kiselev +- ++ + * libtiff/tif_open.c: Pointers to custom procedures + in TIFFClientOpen() are checked to be not NULL-pointers. +- ++ + 2002-04-18 Andrey Kiselev +- ++ + * libtiff/libtiff.def: Added missed declarations. + + * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure. +@@ -3858,14 +3905,14 @@ + * libtiff/tif_lzw.c: Additional checks for data integrity introduced. + Should finally close + http://bugzilla.remotesensing.org/show_bug.cgi?id=100 +- ++ + 2002-04-10 Andrey Kiselev + + * tools/tiff2ps: Division by zero fixed. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88 + + 2002-04-09 Andrey Kiselev +- ++ + * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: + TIFFCheckpointDirectory() routine added. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124 +@@ -3897,7 +3944,7 @@ + replaced by warnings. Now libtiff should read corrupted LZW-compressed + files by skipping bad strips. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100 +- ++ + 2002-04-03 Frank Warmerdam + + * libtiff/tif_dirwrite.c: Removed some dead code. +@@ -3919,18 +3966,18 @@ + + http://bugzilla.remotesensing.org/show_bug.cgi?id=111 + +- * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with ++ * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with + passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE). + +- * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so ++ * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so + that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example. + + 2002-03-26 Dwight Kelly + + * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, + tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined +- in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec +- INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: ++ in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec ++ INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: + CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and + INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). + +@@ -3989,7 +4036,7 @@ + + http://bugzilla.remotesensing.org/show_bug.cgi?id=94 + +- * man/Makefile.in: Patch DESTDIR handling ++ * man/Makefile.in: Patch DESTDIR handling + + http://bugzilla.remotesensing.org/show_bug.cgi?id=95 + +@@ -4027,9 +4074,9 @@ + + 2002-01-04 Frank Warmerdam + +- * libtiff/tif_jpeg.c: fixed computation of segment_width for +- tiles files to avoid error about it not matching the +- cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile ++ * libtiff/tif_jpeg.c: fixed computation of segment_width for ++ tiles files to avoid error about it not matching the ++ cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile + size.") for ITIFF files. Apparently the problem was incorporated since + 3.5.5, presumably during the OJPEG/JPEG work recently. + +@@ -4039,7 +4086,7 @@ + + http://bugzilla.remotesensing.org/show_bug.cgi?id=94 + +- * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 ++ * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 + (defined in tiffconf.h - 1 by default) then the RGBA interface + will assume that a fourth extra sample is ASSOCALPHA if the + EXTRASAMPLE value isn't set for it. This changes the behaviour of +@@ -4051,9 +4098,9 @@ + + 2001-12-12 Frank Warmerdam + +- * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to +- override those from tiff directory. This makes this work with +- ImageGear generated files. ++ * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to ++ override those from tiff directory. This makes this work with ++ ImageGear generated files. + + 2001-12-07 Frank Warmerdam + +@@ -4066,7 +4113,7 @@ + * Reissue 3.5.7 release. + + * libtiff/mkversion.c: Fix output of TIFF_VERSION to be +- YYYYMMDD so that it is increasing over time. ++ YYYYMMDD so that it is increasing over time. + + * Makefile.in: Ensure that tiffvers.h is regenerated in the + make release target. +@@ -4091,8 +4138,8 @@ + + 2001-10-10 Frank Warmerdam + +- * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, +- COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases ++ * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, ++ COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases + in keeping with TIFF 6.0 standard in tiff.h + + http://bugzilla.remotesensing.org/show_bug.cgi?id=83 +@@ -4112,10 +4159,10 @@ + error about LZW not being available. + + * libtiff/tif_dir.c: propagate failure to initialize compression +- back from TIFFSetField() as an error status, so applications can ++ back from TIFFSetField() as an error status, so applications can + detect failure. + +- * libtiff/tif_dir.c: removed the auto replacement of ++ * libtiff/tif_dir.c: removed the auto replacement of + COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField(). + + * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile +@@ -4123,7 +4170,7 @@ + + 2001-09-22 Frank Warmerdam + +- * libtiff/tif_ojpeg.c: new update from Scott. ++ * libtiff/tif_ojpeg.c: new update from Scott. + + 2001-09-09 Frank Warmerdam + +@@ -4142,7 +4189,7 @@ + + http://bugzilla.remotesensing.org/show_bug.cgi?id=47 + +- * tools/tiff2ps.c: added OJPEG YCbCr to RGB support. ++ * tools/tiff2ps.c: added OJPEG YCbCr to RGB support. + + * libtiff/tif_ojpeg.c: Applied substantial patch from Scott. + +@@ -4151,14 +4198,14 @@ + * libtiff/tif_packbits.c: fixed memory overrun error. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=77 +- ++ + 2001-08-31 Frank Warmerdam + + * libtiff/tif_getimage.c: relax handling of contig case where + there are extra samples that are supposed to be ignored. This +- should now work for 8bit greyscale or palletted images. ++ should now work for 8bit greyscale or palletted images. + +- http://bugzilla.remotesensing.org/show_bug.cgi?id=75 ++ http://bugzilla.remotesensing.org/show_bug.cgi?id=75 + + 2001-08-28 Frank Warmerdam + +@@ -4171,15 +4218,15 @@ + + * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy() + in TIFFReadRGBATile() to avoid issues in cases of overlapping +- buffers. See Bug 69 in Bugzilla. ++ buffers. See Bug 69 in Bugzilla. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=69 +- ++ + * tools/tiff2rgba.c: fixed getopt() call so that -b works again. + + 2001-08-09 Frank Warmerdam + +- * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ ++ * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ + when checking for 64 bit architectures as per bugzilla bug 67. + + 2001-07-27 Frank Warmerdam +@@ -4189,7 +4236,7 @@ + + 2001-07-20 Frank Warmerdam + +- * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H ++ * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H + has been included. + + 2001-07-19 Frank Warmerdam +@@ -4201,11 +4248,11 @@ + + * libtiff/tif_ojpeg.c: updates from Scott. Handles colors + much better. Now depends on having patched libjpeg as per +- patch in contrib/ojpeg/*. ++ patch in contrib/ojpeg/*. + + 2001-07-17 Frank Warmerdam + +- * */Makefile.in: added DESTDIR support. ++ * */Makefile.in: added DESTDIR support. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=60 + +@@ -4213,20 +4260,20 @@ + + * configure, libtiff/Makefile.in: applied OpenBSD patches + as per: +- ++ + http://bugzilla.remotesensing.org/show_bug.cgi?id=61 + + 2001-06-28 Frank Warmerdam + + * libtiff/tif_getimage.c: Fixed so that failure is properly +- reported by gtTileContig, gtStripContig, gtTileSeparate and ++ reported by gtTileContig, gtStripContig, gtTileSeparate and + gtStripSeparate. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=51 + +- * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare. ++ * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare. + Updated bug section of tiffcmp.1 to note tiled file issues. +- ++ + See http://bugzilla.remotesensing.org/show_bug.cgi?id=53 + + 2001-06-22 Frank Warmerdam +@@ -4267,10 +4314,10 @@ + + 2001-05-08 Frank Warmerdam + +- * libtiff/tif_dirinfo.c: moved pixar and copyright flags to ++ * libtiff/tif_dirinfo.c: moved pixar and copyright flags to + ensure everything is in order. + +- * libtiff/libtiff.def: added TIFFCreateDirectory and ++ * libtiff/libtiff.def: added TIFFCreateDirectory and + TIFFDefaultStripSize as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=46 +@@ -4279,10 +4326,10 @@ + + * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for + TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to +- force use of uint32 counts instead of short counts. ++ force use of uint32 counts instead of short counts. + + * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the +- case of writing TIFF_BYTE/TIFF_SBYTE fields. ++ case of writing TIFF_BYTE/TIFF_SBYTE fields. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=43 + +@@ -4318,20 +4365,20 @@ + with the inttypes.h include file on AIX. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=39 +- ++ + * VERSION: update to 3.5.7 beta in preparation for release. + + * configure/config.site: modified to check if -lm is needed for + MACHDEPLIBS if not supplied by config.site. Needed for Darwin. + +- * config.guess: updated wholesale to an FSF version apparently +- from 1998 (as opposed to 1994). This is mainly inspired by ++ * config.guess: updated wholesale to an FSF version apparently ++ from 1998 (as opposed to 1994). This is mainly inspired by + providing for MacOS X support. + + 2001-03-29 Frank Warmerdam + + * configure, Makefile.in, etc: added support for OPTIMIZER being +- set from config.site. ++ set from config.site. + + 2001-03-28 Frank Warmerdam + +@@ -4350,7 +4397,7 @@ + (in particular short ones) print properly. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=35 +- ++ + * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by + Bruce A. Mallett. See check message for detailed information + on all the changes, including a faster encoder, fixes for level +@@ -4358,7 +4405,7 @@ + + 2001-03-27 Frank Warmerdam + +- * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to ++ * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to + "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 +@@ -4370,7 +4417,7 @@ + + 2001-03-13 Frank Warmerdam + +- * tif_getimage.c: Added support for 16bit minisblack/miniswhite ++ * tif_getimage.c: Added support for 16bit minisblack/miniswhite + images in RGBA interface. + + 2001-03-02 Frank Warmerdam +@@ -4381,29 +4428,29 @@ + + * Brent Roman contributed updated tiffcp utility (and tiffcp.1) + with support for extracting subimages with the ,n syntax, and also +- adding the -b bias removal flag. ++ adding the -b bias removal flag. + + 2001-02-16 Frank Warmerdam + + * libtiff/libtiff.def: Brent Roman submitted new version adding +- serveral missing entry points. ++ serveral missing entry points. + + * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS. +- Some sort of weird VMS thing. ++ Some sort of weird VMS thing. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=31 + +- * tif_luv.c/tiff.h/tiffio.h: +- New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward ++ * tif_luv.c/tiff.h/tiffio.h: ++ New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward + (greg@shutterfly.com). He writes: + + 1) I improved the gamut-mapping function in tif_luv.c for imaginary +- colors, because some images were being super-saturated on the input ++ colors, because some images were being super-saturated on the input + side and this resulted in some strange color shifts in the output. + + 2) I added a psuedotag in tiff.h to control random dithering during +- LogLuv encoding. This is turned off by default for 32-bit LogLuv and +- on for 24-bit LogLuv output. Dithering improves the average color ++ LogLuv encoding. This is turned off by default for 32-bit LogLuv and ++ on for 24-bit LogLuv output. Dithering improves the average color + accuracy over the image. + + 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in +@@ -4416,20 +4463,20 @@ + 2001-01-23 Frank Warmerdam + + * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember +- whether we are encoding or decoding. This is to ensure graceful ++ whether we are encoding or decoding. This is to ensure graceful + recovery if TIFFClientOpen() discovers an attempt to open a compressed +- file for "r+" access, and subsequently close it, as it resets the ++ file for "r+" access, and subsequently close it, as it resets the + tif_mode flag to O_RDONLY in this case to avoid writes, confusing the + compressor's concept of whether it is in encode or decode mode. + +-2001-01-08 Mike Welles ++2001-01-08 Mike Welles + + * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip +- ++ + 2001-01-07 Frank Warmerdam + + * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet() +- as per bug report by Patrick Connor. ++ as per bug report by Patrick Connor. + + 2000-12-28 Frank Warmerdam + +@@ -4437,12 +4484,12 @@ + + * Fixed libtiff/makefile.vc to make tiffvers.h not version.h. + +-2000-12-22 Mike Welles ++2000-12-22 Mike Welles + * added link to CVS mirror from index.html +- +- * updated html/internals.html to note that LZW compression is +- not supported by default. +- ++ ++ * updated html/internals.html to note that LZW compression is ++ not supported by default. ++ + 2000-12-22 Frank Warmerdam + + * updated html/libtiff.html to not point at Niles' old JPL web site +@@ -4454,19 +4501,19 @@ + Leonard Rosenthol . May interfere + with correct building on older systems. If so, please let me know. + +-2000-12-19 Mike Welles ++2000-12-19 Mike Welles + +- * Took out LZW Encoding from tif_lzw.c ++ * Took out LZW Encoding from tif_lzw.c + + * Created HOWTO-RELEASE + + * Created html/v3.5.6.html + + * updated index.html +- ++ + 2000-12-01 Frank Warmerdam + +- * Added patches for EOFB support in tif_fax3.c and tif_fax3.h. ++ * Added patches for EOFB support in tif_fax3.c and tif_fax3.h. + Patches supplied by Frank Cringle + Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif + +@@ -4480,30 +4527,30 @@ + targets so libtiff.so will be built with an explicit dependency + on libm.so. + +- * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to +- libtiff.so.3.5.5. ++ * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to ++ libtiff.so.3.5.5. + +- * libtiff/Makefile.in & configure: Remove all references to the ALPHA +- file, or ALPHA version logic. Added stuff about DIST_POINT in ++ * libtiff/Makefile.in & configure: Remove all references to the ALPHA ++ file, or ALPHA version logic. Added stuff about DIST_POINT in + place of DIST_TYPE and the alpha release number stuff. + + 2000-11-22 Frank Warmerdam + + * I have applied a patch from Steffen Moeller to +- the configure script so that it now accepts the --prefix, and +- --exec-prefix directives. ++ the configure script so that it now accepts the --prefix, and ++ --exec-prefix directives. + + 2000-11-13 Frank Warmerdam + +- * I have made a variety of modifications in an effort to ensure the ++ * I have made a variety of modifications in an effort to ensure the + TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE +- file which seems to be updated regularly. ++ file which seems to be updated regularly. + +- o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in +- version include file. +- o renamed version.h to tiffvers.h because we now have to install it +- with the public libtiff include files. +- o include tiffvers.h in tiffio.h. ++ o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in ++ version include file. ++ o renamed version.h to tiffvers.h because we now have to install it ++ with the public libtiff include files. ++ o include tiffvers.h in tiffio.h. + o updated tif_version.c to use tiffvers.h. + o Updated Makefile.in accordingly. + +@@ -4517,13 +4564,13 @@ + See http://bugzilla.remotesensing.org/show_bug.cgi?id=20 + Some patches from Rick LaMont of Dot C Software. + +- * Modified tif_packbits.c encoder to avoid compressing more ++ * Modified tif_packbits.c encoder to avoid compressing more + data than provided if rowsize doesn't factor into provided data + (such as occurs for YCbCr). + + 2000-10-19 Frank Warmerdam + +- * tools/rgb2ycbcr.c: fixed output strip size to account for vertical ++ * tools/rgb2ycbcr.c: fixed output strip size to account for vertical + roundup if rows_per_strip not a multiple of vertical sample size. + + 2000-10-16 Frank Warmerdam +@@ -4539,8 +4586,8 @@ + 2000-10-12 Frank Warmerdam + + * Modified tiff2bw to ensure portions add to 100%, and that +- white is properly recovered. +- ++ white is properly recovered. ++ + See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15 + Patch c/o Stanislav Brabec + +@@ -4554,26 +4601,26 @@ + + 2000-09-27 Frank Warmerdam + +- * Added GNULDdso target an`d switched linux and freebsd to use it. ++ * Added GNULDdso target an`d switched linux and freebsd to use it. + + 2000-09-26 Frank Warmerdam + + * Applied patch for 0x0000 sequences in tif_fax3.h's definition +- of EXPAND1D() as per bug 11 (from Roman). ++ of EXPAND1D() as per bug 11 (from Roman). + + 2000-09-25 Frank Warmerdam + * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve + cygwin compatibility. + + * Applied patch from Roman Shpount to tif_fax3.c. This seems to +- be a proper fix to the buffer sizing problem. See ++ be a proper fix to the buffer sizing problem. See + http://bugzilla.remotesensing.org/show_bug.cgi?id=11 + + * Fixed tif_getimage.c to fix overrun bug with YCbCr images without + downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10 + Thanks to Nick Lamb for reporting the + bug and proving the patch. +- ++ + 2000-09-18 Frank Warmerdam + + * Fixed tif_jpeg.c so avoid destroying the decompressor before +@@ -4603,15 +4650,15 @@ + * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and + SAMPLEFORMAT_COMPLEXINT. + +-2000-07-13 Mike Welles ++2000-07-13 Mike Welles ++ ++ * index.html, bugs.html: added bugzilla info. + +- * index.html, bugs.html: added bugzilla info. +- + 2000-07-12 Frank Warmerdam + + * tif_read.c: fix subtle bug with determining the number of + rows for strips that are the last strip in a separation but +- not the last strip of all in TIFFReadEncodedStrip(). ++ not the last strip of all in TIFFReadEncodedStrip(). + + * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by + Peter Skarpetis +@@ -4633,7 +4680,7 @@ + + * libtiff/tif_dirread.c: Don't use estimate strip byte count for + one tile/strip images with an offset, and byte count of zero. These +- could be "unpopulated" images. ++ could be "unpopulated" images. + + 2000-04-18 Frank Warmerdam + +@@ -4648,17 +4695,17 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam + 2000-04-12 Mike Welles + * configure: Fixed stupid mistake in libc6 test on Linux + +-2000-04-04 Mike Welles ++2000-04-04 Mike Welles + * tif_win32.c: Applied patch to fix overreads and ovverwrites +- caught by BoundsChecker. From Arvan Pritchard +- (untested). +- +- * tif_getimage.c: Applied patch to silence VC6 warnings. From ++ caught by BoundsChecker. From Arvan Pritchard ++ (untested). ++ ++ * tif_getimage.c: Applied patch to silence VC6 warnings. From + Arvan Pritchard +- +- * tif_lzw.c: Applied patch to silence VC6 warnings. From ++ ++ * tif_lzw.c: Applied patch to silence VC6 warnings. From + Arvan Pritchard +- ++ + 2000-03-28 Frank Warmerdam + + * Added contrib/stream (stream io) code submitted by Avi Bleiweiss. +@@ -4668,34 +4715,34 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam + * fax2ps: Fixed mixup of width and height in bounding box statement + as per submission by Nalin Dahyabhai . + +-2000-03-27 Mike Welles ++2000-03-27 Mike Welles + +- * fax2ps: Modified printruns to take uint32 instead of uint16. +- Patch courtesy of Bernt Herd +- +-2000-03-20 Mike Welles ++ * fax2ps: Modified printruns to take uint32 instead of uint16. ++ Patch courtesy of Bernt Herd + +- * configure: added test for libc6 for linux targets. Bug reported by ++2000-03-20 Mike Welles ++ ++ * configure: added test for libc6 for linux targets. Bug reported by + Stanislav Brabec + +- * Added 3.5 docs to html/Makefile.in. ++ * Added 3.5 docs to html/Makefile.in. + Thanks to Stanislav Brabec + +- * configure: fixed bugs in sed scripts +- (applied sed script s:/@:s;@:;s:/s;;:;: to configure). ++ * configure: fixed bugs in sed scripts ++ (applied sed script s:/@:s;@:;s:/s;;:;: to configure). + fix submitted to Stanislav Brabec + +- * tools/iptcutil was not in files list, and wasn't being ++ * tools/iptcutil was not in files list, and wasn't being + added to tar archive. Updated Makefile.in. + + 2000-03-17 Frank Warmerdam + + * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32 +- conversion for the run arrays. ++ conversion for the run arrays. + + 2000-03-03 Frank Warmerdam + +- * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of ++ * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of + SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c. + + 2000-03-02 Frank Warmerdam +@@ -4716,20 +4763,20 @@ Tue Feb 15 22:01:05 2000 Frank Warmerdam + set to 1, and added default (off) setting in tiffconf.h. This + should eventually be set by the configure script somehow. + +- The original work on all these 2-4GB changes was done by ++ The original work on all these 2-4GB changes was done by + Peter Smith (psmith@creo.com). + + * Modified tif_win32.c to support 2-4GB seeks. + + * tentatively changed toff_t to be unsigned instead of signed to +- facilitate support for 2-4GB files. ++ facilitate support for 2-4GB files. + + * Updated a variety of files to use toff_t. Fixed some mixups + between toff_t and tsize_t. + + Fri Jan 28 10:13:49 2000 Frank Warmerdam + +- * Largely reimplemented contrib/addtiffo to avoid temp files, ++ * Largely reimplemented contrib/addtiffo to avoid temp files, + updating the TIFF file in place. Fixed a few other bugs to. + + * Set tif_rawdatasize to zero when freeing raw data buffer in +@@ -4738,7 +4785,7 @@ Fri Jan 28 10:13:49 2000 Frank Warmerdam + * Enabled "REWRITE_HACK" in tif_write.c by default. + + * Fix bug in tif_write.c when switching between reading one directory +- and writing to another. ++ and writing to another. + + * Made TIFFWriteCheck() public, and added TIFFCreateDirectory() + +@@ -4750,41 +4797,41 @@ Tue Jan 4 13:39:00 2000 Frank Warmerdam + + * Added libtiff/libtiff.def to TIFFILES distribution list. + +-Mon Dec 27 12:13:39 EST 1999 Mike Welles ++Mon Dec 27 12:13:39 EST 1999 Mike Welles + +- * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit). ++ * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit). + + * Altered descriptions in tools to reflect "by default" lzw not supported + +- * Updated index.html to note lzw compression kit. +- ++ * Updated index.html to note lzw compression kit. ++ + Tue Dec 21 14:01:51 1999 Frank Warmerdam + +- * Added fax3sm_winnt.c to distribution list in Makefile.in. ++ * Added fax3sm_winnt.c to distribution list in Makefile.in. + + Tue Dec 21 11:04:45 EST 1999 Mike Welles *** 3.5.4 release *** +- +- * Aadded Pixar tag support. Contributed by Phil Beffery + +- * Made one more change to tif_dir.c for removal of LZW compression. Also added notice +- when LZW compression invoked. ++ * Aadded Pixar tag support. Contributed by Phil Beffery ++ ++ * Made one more change to tif_dir.c for removal of LZW compression. Also added notice ++ when LZW compression invoked. + + * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions + in tools to reflect removal of LZW compression +- ++ + Mon Dec 20 18:39:02 EST 1999 Mike Welles + +- * Fixed bug that caused LZW (non) compression to segfault. Added +- warning about LZW compression removed being removed, and why. ++ * Fixed bug that caused LZW (non) compression to segfault. Added ++ warning about LZW compression removed being removed, and why. ++ ++ * Added nostrip to install in tools/Makefile.in so that debugging ++ symbols are kept. + +- * Added nostrip to install in tools/Makefile.in so that debugging +- symbols are kept. +- + Tue Dec 7 12:04:47 EST 1999 Mike Welles + +- * Added patch from Ivo Penzar , +- supporting Adobe ZIP deflate. Untested. +- ++ * Added patch from Ivo Penzar , ++ supporting Adobe ZIP deflate. Untested. ++ + Sat Dec 4 15:47:11 1999 Frank Warmerdam + + * Made Packbits the default compression in tools/tiff2rgba.c instead +@@ -4794,12 +4841,12 @@ Tue Nov 30 14:41:43 1999 Frank Warmerdam *** 3.5 + + * Added tif_luv to contrib/djgpp/Makefile.lib. + +-Tue Nov 30 14:15:32 EST 1999 Mike Welles ++Tue Nov 30 14:15:32 EST 1999 Mike Welles ++ ++ * Added zip creation to relase makefile target + +- * Added zip creation to relase makefile target ++ * Added html for TIFFWriteTile.3t man page. + +- * Added html for TIFFWriteTile.3t man page. +- + Tue Nov 30 09:20:16 1999 Frank Warmerdam + + * Added some changes to tif_write.c to support rewriting existing +@@ -4812,26 +4859,26 @@ Mon Nov 29 11:43:42 1999 Frank Warmerdam + + Sun Nov 28 20:36:18 1999 Frank Warmerdam + +- * Added notes on use of makefile.vc in build.html, and fixed ++ * Added notes on use of makefile.vc in build.html, and fixed + email subscription address. + +-199-11-28 Mike Welles ++1999-11-28 Mike Welles + +- * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c ++ * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c + + * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c, +- from Bruce Carmeron -- modifications of +- changes made by Frank (sun cc still complained on cast). ++ from Bruce Carmeron -- modifications of ++ changes made by Frank (sun cc still complained on cast). + + * Added tiffconf.h to install target per request from Bill + Radcliffe : "We need a way for ImageMagick to + know features have been compiled into the TIFF library in order to +- handle things properly". +- ++ handle things properly". ++ + Sat Nov 27 16:49:21 1999 Frank Warmerdam + + * fixed various VC++ warnings as suggested by Gilles Vollant +- . ++ . + + Wed Nov 24 12:08:16 1999 Frank Warmerdam + +@@ -4840,59 +4887,59 @@ Wed Nov 24 12:08:16 1999 Frank Warmerdam + + 1999-11-22 Mike Welles + * HTML-ized the man pages, added to html/man +- +- * Removed LZW Compression to comply with Unisys patent extortion. +- +-1999-09-29 Mike Welles +- * Corrected one remaining 16 -> 32 bit value in tif_fax3.c, +- From Ivo Penzar ++ * Corrected one remaining 16 -> 32 bit value in tif_fax3.c, ++ From Ivo Penzar +- ++ + 1999-09-26 Mike Welles *** 3.5.2 release *** +- * Corrected alpha versioning. ++ * Corrected alpha versioning. + +- * Removed distinction between alpha and release targets in Makefile.in. ++ * Removed distinction between alpha and release targets in Makefile.in. + +- * added release.stamp target, which tags cvs tree, and updates ++ * added release.stamp target, which tags cvs tree, and updates + "RELEASE-DATE" + +- * added releasediff target, which diffs tree with source as of ++ * added releasediff target, which diffs tree with source as of + date in "RELEASE-DATE" +- +- * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving +- away from alpha/non-alpha distinctions). + +- * updated html to reflect release +- ++ * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving ++ away from alpha/non-alpha distinctions). ++ ++ * updated html to reflect release ++ + 1999-09-23 + + * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance. + + * Added CYGWIN case in configure. + +-Fri Sep 17 00:13:51 CEST 1999 Mike Welles ++Fri Sep 17 00:13:51 CEST 1999 Mike Welles ++ ++ * Applied Francois Dagand's patch to handle fax decompression bug. ++ (sizes >= 65536 were failing) + +- * Applied Francois Dagand's patch to handle fax decompression bug. +- (sizes >= 65536 were failing) +- + Tue Sep 14 21:31:43 1999 Frank Warmerdam + +- * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested ++ * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested + by Christopher Lawton + + Wed Sep 8 08:19:18 1999 Frank Warmerdam + +- * Added IRIX/gcc, and OSF/1 4.x support on behalf of ++ * Added IRIX/gcc, and OSF/1 4.x support on behalf of + Albert Chin-A-Young + +- * Added TIFFReassignTagToIgnore() API on behalf of ++ * Added TIFFReassignTagToIgnore() API on behalf of + Bruce Cameron . Man page still pending. + + Wed Aug 25 11:39:07 1999 Frank Warmerdam + +- * Added test target in Makefile, test_pics.sh script and pics/*.rpt ++ * Added test target in Makefile, test_pics.sh script and pics/*.rpt + files to provide for a rudimentary testsuite. + + * Added contrib/tags back from old distribution ... fixed up a bit. +@@ -4900,7 +4947,7 @@ Wed Aug 25 11:39:07 1999 Frank Warmerdam + 1999-08-16 + + * Added simple makefile.vc makefiles for building with MS VC++ +- on Windows NT/98/95 in console mode. Stuff in contrib/win* make give ++ on Windows NT/98/95 in console mode. Stuff in contrib/win* make give + better solutions for some users. + + Mon Aug 16 21:52:11 1999 Frank Warmerdam +@@ -4910,20 +4957,20 @@ Mon Aug 16 21:52:11 1999 Frank Warmerdam + + 1999-08-16 Michael L. Welles + +- * Updated html/index.html with anon CVS instructions. ++ * Updated html/index.html with anon CVS instructions. + + Mon Aug 16 13:18:41 1999 Frank Warmerdam + +- * pre-remove so link before softlink in LINUXdso action in ++ * pre-remove so link before softlink in LINUXdso action in + libtiff/Makefile.in to avoid failure on LINUXdso builds other than + the first. + + * Fixed problem with cvtcmap() in tif_getimage.c modifying the + colormaps owned by the TIFF handle itself when trying to fixup wrong + (eight bit) colormaps. Corrected by maintaining a private copy of +- the colormap. ++ the colormap. + +- * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in ++ * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in + tif_getimage.c. + + * CVS Repository placed at remotesensing.org. ChangeLog added. +diff --git a/Makefile.in b/Makefile.in +index 72fbbf3..2ed5682 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/aclocal.m4 b/aclocal.m4 +index d7d14c8..9293eda 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -1,4 +1,4 @@ +-# generated automatically by aclocal 1.12.4 -*- Autoconf -*- ++# generated automatically by aclocal 1.12.5 -*- Autoconf -*- + + # Copyright (C) 1996-2012 Free Software Foundation, Inc. + +@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], + [am__api_version='1.12' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.12.4], [], ++m4_if([$1], [1.12.5], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) + # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +-[AM_AUTOMAKE_VERSION([1.12.4])dnl ++[AM_AUTOMAKE_VERSION([1.12.5])dnl + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl + _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +diff --git a/build/Makefile.in b/build/Makefile.in +index 1a316b1..cea7a08 100644 +--- a/build/Makefile.in ++++ b/build/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/Makefile.in b/contrib/Makefile.in +index ae67554..72be7a3 100644 +--- a/contrib/Makefile.in ++++ b/contrib/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/acorn/Makefile.in b/contrib/acorn/Makefile.in +index 1e966b4..5a73941 100644 +--- a/contrib/acorn/Makefile.in ++++ b/contrib/acorn/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/addtiffo/Makefile.in b/contrib/addtiffo/Makefile.in +index 25a6e8b..e07640c 100644 +--- a/contrib/addtiffo/Makefile.in ++++ b/contrib/addtiffo/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/dbs/Makefile.in b/contrib/dbs/Makefile.in +index f5b3ee5..d5e7b40 100644 +--- a/contrib/dbs/Makefile.in ++++ b/contrib/dbs/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in +index 2d1ce94..c655c54 100644 +--- a/contrib/dbs/xtiff/Makefile.in ++++ b/contrib/dbs/xtiff/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/dbs/xtiff/xtiff.c b/contrib/dbs/xtiff/xtiff.c +index 7fe3977..de0b2a7 100644 +--- a/contrib/dbs/xtiff/xtiff.c ++++ b/contrib/dbs/xtiff/xtiff.c +@@ -1,5 +1,5 @@ + /* +- * $Id: xtiff.c,v 1.2.2.1 2010-06-08 18:50:40 bfriesen Exp $ ++ * $Id: xtiff.c,v 1.2.2.2 2013-05-02 14:44:43 tgl Exp $ + * + * xtiff - view a TIFF file in an X window + * +@@ -512,9 +512,9 @@ SetNameLabel() + Arg args[1]; + + if (tfMultiPage) +- sprintf(buffer, "%s - page %d", fileName, tfDirectory); ++ snprintf(buffer, sizeof(buffer), "%s - page %d", fileName, tfDirectory); + else +- strcpy(buffer, fileName); ++ snprintf(buffer, sizeof(buffer), "%s", fileName); + XtSetArg(args[0], XtNlabel, buffer); + XtSetValues(labelWidget, args, 1); + } +diff --git a/contrib/iptcutil/Makefile.in b/contrib/iptcutil/Makefile.in +index 75b1ca3..5858c03 100644 +--- a/contrib/iptcutil/Makefile.in ++++ b/contrib/iptcutil/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/mac-cw/Makefile.in b/contrib/mac-cw/Makefile.in +index a94a33a..054d44e 100644 +--- a/contrib/mac-cw/Makefile.in ++++ b/contrib/mac-cw/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/mac-mpw/Makefile.in b/contrib/mac-mpw/Makefile.in +index 8fdaae1..7dd27d7 100644 +--- a/contrib/mac-mpw/Makefile.in ++++ b/contrib/mac-mpw/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/mfs/Makefile.in b/contrib/mfs/Makefile.in +index 230c925..4ee41af 100644 +--- a/contrib/mfs/Makefile.in ++++ b/contrib/mfs/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/pds/Makefile.in b/contrib/pds/Makefile.in +index 3511f62..fa0bcf7 100644 +--- a/contrib/pds/Makefile.in ++++ b/contrib/pds/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/ras/Makefile.in b/contrib/ras/Makefile.in +index 88907bf..e33a00f 100644 +--- a/contrib/ras/Makefile.in ++++ b/contrib/ras/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/stream/Makefile.in b/contrib/stream/Makefile.in +index 9c9dffb..1c36a7f 100644 +--- a/contrib/stream/Makefile.in ++++ b/contrib/stream/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/tags/Makefile.in b/contrib/tags/Makefile.in +index e378f32..891d565 100644 +--- a/contrib/tags/Makefile.in ++++ b/contrib/tags/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/contrib/win_dib/Makefile.in b/contrib/win_dib/Makefile.in +index 0f68e76..45bf928 100644 +--- a/contrib/win_dib/Makefile.in ++++ b/contrib/win_dib/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/html/Makefile.in b/html/Makefile.in +index b9f86c8..a85ebd6 100644 +--- a/html/Makefile.in ++++ b/html/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/html/images/Makefile.in b/html/images/Makefile.in +index 1b96240..eaf50a3 100644 +--- a/html/images/Makefile.in ++++ b/html/images/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/html/man/Makefile.in b/html/man/Makefile.in +index 3a5278e..98226c3 100644 +--- a/html/man/Makefile.in ++++ b/html/man/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/libtiff/Makefile.in b/libtiff/Makefile.in +index 6a7c415..69e59c7 100644 +--- a/libtiff/Makefile.in ++++ b/libtiff/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/libtiff/tif_codec.c b/libtiff/tif_codec.c +index d5c6fd1..5a38184 100644 +--- a/libtiff/tif_codec.c ++++ b/libtiff/tif_codec.c +@@ -1,4 +1,4 @@ +-/* $Id: tif_codec.c,v 1.10.2.2 2010-06-08 18:50:41 bfriesen Exp $ */ ++/* $Id: tif_codec.c,v 1.10.2.3 2013-05-02 14:44:43 tgl Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -104,7 +104,8 @@ _notConfigured(TIFF* tif) + const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression); + char compression_code[20]; + +- sprintf( compression_code, "%d", tif->tif_dir.td_compression ); ++ snprintf(compression_code, sizeof(compression_code), "%d", ++ tif->tif_dir.td_compression ); + TIFFErrorExt(tif->tif_clientdata, tif->tif_name, + "%s compression support is not configured", + c ? c->name : compression_code ); +diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c +index 76ef572..417a2e3 100644 +--- a/libtiff/tif_dirinfo.c ++++ b/libtiff/tif_dirinfo.c +@@ -1,4 +1,4 @@ +-/* $Id: tif_dirinfo.c,v 1.65.2.10 2010-07-06 14:14:41 dron Exp $ */ ++/* $Id: tif_dirinfo.c,v 1.65.2.11 2013-05-02 14:44:43 tgl Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -869,7 +869,7 @@ _TIFFCreateAnonFieldInfo(TIFF *tif, ttag_t tag, TIFFDataType field_type) + * note that this name is a special sign to TIFFClose() and + * _TIFFSetupFieldInfo() to free the field + */ +- sprintf(fld->field_name, "Tag %d", (int) tag); ++ snprintf(fld->field_name, 32, "Tag %d", (int) tag); + + return fld; + } +diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c +index ed8eb40..6e127fb 100644 +--- a/libtiff/tif_pixarlog.c ++++ b/libtiff/tif_pixarlog.c +@@ -1,4 +1,4 @@ +-/* $Id: tif_pixarlog.c,v 1.15.2.4 2010-06-08 18:50:42 bfriesen Exp $ */ ++/* $Id: tif_pixarlog.c,v 1.15.2.5 2012-12-10 17:38:54 tgl Exp $ */ + + /* + * Copyright (c) 1996-1997 Sam Leffler +@@ -117,9 +117,9 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op, + if (n >= stride) { + mask = CODE_MASK; + if (stride == 3) { +- t0 = ToLinearF[cr = wp[0]]; +- t1 = ToLinearF[cg = wp[1]]; +- t2 = ToLinearF[cb = wp[2]]; ++ t0 = ToLinearF[cr = (wp[0] & mask)]; ++ t1 = ToLinearF[cg = (wp[1] & mask)]; ++ t2 = ToLinearF[cb = (wp[2] & mask)]; + op[0] = t0; + op[1] = t1; + op[2] = t2; +@@ -136,10 +136,10 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op, + op[2] = t2; + } + } else if (stride == 4) { +- t0 = ToLinearF[cr = wp[0]]; +- t1 = ToLinearF[cg = wp[1]]; +- t2 = ToLinearF[cb = wp[2]]; +- t3 = ToLinearF[ca = wp[3]]; ++ t0 = ToLinearF[cr = (wp[0] & mask)]; ++ t1 = ToLinearF[cg = (wp[1] & mask)]; ++ t2 = ToLinearF[cb = (wp[2] & mask)]; ++ t3 = ToLinearF[ca = (wp[3] & mask)]; + op[0] = t0; + op[1] = t1; + op[2] = t2; +@@ -183,9 +183,9 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op, + if (n >= stride) { + mask = CODE_MASK; + if (stride == 3) { +- t0 = ToLinearF[cr = wp[0]] * SCALE12; +- t1 = ToLinearF[cg = wp[1]] * SCALE12; +- t2 = ToLinearF[cb = wp[2]] * SCALE12; ++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12; ++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12; ++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12; + op[0] = CLAMP12(t0); + op[1] = CLAMP12(t1); + op[2] = CLAMP12(t2); +@@ -202,10 +202,10 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op, + op[2] = CLAMP12(t2); + } + } else if (stride == 4) { +- t0 = ToLinearF[cr = wp[0]] * SCALE12; +- t1 = ToLinearF[cg = wp[1]] * SCALE12; +- t2 = ToLinearF[cb = wp[2]] * SCALE12; +- t3 = ToLinearF[ca = wp[3]] * SCALE12; ++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12; ++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12; ++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12; ++ t3 = ToLinearF[ca = (wp[3] & mask)] * SCALE12; + op[0] = CLAMP12(t0); + op[1] = CLAMP12(t1); + op[2] = CLAMP12(t2); +@@ -247,9 +247,9 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op, + if (n >= stride) { + mask = CODE_MASK; + if (stride == 3) { +- op[0] = ToLinear16[cr = wp[0]]; +- op[1] = ToLinear16[cg = wp[1]]; +- op[2] = ToLinear16[cb = wp[2]]; ++ op[0] = ToLinear16[cr = (wp[0] & mask)]; ++ op[1] = ToLinear16[cg = (wp[1] & mask)]; ++ op[2] = ToLinear16[cb = (wp[2] & mask)]; + n -= 3; + while (n > 0) { + wp += 3; +@@ -260,10 +260,10 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op, + op[2] = ToLinear16[(cb += wp[2]) & mask]; + } + } else if (stride == 4) { +- op[0] = ToLinear16[cr = wp[0]]; +- op[1] = ToLinear16[cg = wp[1]]; +- op[2] = ToLinear16[cb = wp[2]]; +- op[3] = ToLinear16[ca = wp[3]]; ++ op[0] = ToLinear16[cr = (wp[0] & mask)]; ++ op[1] = ToLinear16[cg = (wp[1] & mask)]; ++ op[2] = ToLinear16[cb = (wp[2] & mask)]; ++ op[3] = ToLinear16[ca = (wp[3] & mask)]; + n -= 4; + while (n > 0) { + wp += 4; +@@ -342,9 +342,9 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op, + if (n >= stride) { + mask = CODE_MASK; + if (stride == 3) { +- op[0] = ToLinear8[cr = wp[0]]; +- op[1] = ToLinear8[cg = wp[1]]; +- op[2] = ToLinear8[cb = wp[2]]; ++ op[0] = ToLinear8[cr = (wp[0] & mask)]; ++ op[1] = ToLinear8[cg = (wp[1] & mask)]; ++ op[2] = ToLinear8[cb = (wp[2] & mask)]; + n -= 3; + while (n > 0) { + n -= 3; +@@ -355,10 +355,10 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op, + op[2] = ToLinear8[(cb += wp[2]) & mask]; + } + } else if (stride == 4) { +- op[0] = ToLinear8[cr = wp[0]]; +- op[1] = ToLinear8[cg = wp[1]]; +- op[2] = ToLinear8[cb = wp[2]]; +- op[3] = ToLinear8[ca = wp[3]]; ++ op[0] = ToLinear8[cr = (wp[0] & mask)]; ++ op[1] = ToLinear8[cg = (wp[1] & mask)]; ++ op[2] = ToLinear8[cb = (wp[2] & mask)]; ++ op[3] = ToLinear8[ca = (wp[3] & mask)]; + n -= 4; + while (n > 0) { + n -= 4; +@@ -393,9 +393,9 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op, + mask = CODE_MASK; + if (stride == 3) { + op[0] = 0; +- t1 = ToLinear8[cb = wp[2]]; +- t2 = ToLinear8[cg = wp[1]]; +- t3 = ToLinear8[cr = wp[0]]; ++ t1 = ToLinear8[cb = (wp[2] & mask)]; ++ t2 = ToLinear8[cg = (wp[1] & mask)]; ++ t3 = ToLinear8[cr = (wp[0] & mask)]; + op[1] = t1; + op[2] = t2; + op[3] = t3; +@@ -413,10 +413,10 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op, + op[3] = t3; + } + } else if (stride == 4) { +- t0 = ToLinear8[ca = wp[3]]; +- t1 = ToLinear8[cb = wp[2]]; +- t2 = ToLinear8[cg = wp[1]]; +- t3 = ToLinear8[cr = wp[0]]; ++ t0 = ToLinear8[ca = (wp[3] & mask)]; ++ t1 = ToLinear8[cb = (wp[2] & mask)]; ++ t2 = ToLinear8[cg = (wp[1] & mask)]; ++ t3 = ToLinear8[cr = (wp[0] & mask)]; + op[0] = t0; + op[1] = t1; + op[2] = t2; +@@ -630,10 +630,10 @@ PixarLogGuessDataFmt(TIFFDirectory *td) + return guess; + } + +-static uint32 +-multiply(size_t m1, size_t m2) ++static tsize_t ++multiply(tsize_t m1, tsize_t m2) + { +- uint32 bytes = m1 * m2; ++ tsize_t bytes = m1 * m2; + + if (m1 && bytes / m1 != m2) + bytes = 0; +@@ -641,6 +641,20 @@ multiply(size_t m1, size_t m2) + return bytes; + } + ++static tsize_t ++add_ms(tsize_t m1, tsize_t m2) ++{ ++ tsize_t bytes = m1 + m2; ++ ++ /* if either input is zero, assume overflow already occurred */ ++ if (m1 == 0 || m2 == 0) ++ bytes = 0; ++ else if (bytes <= m1 || bytes <= m2) ++ bytes = 0; ++ ++ return bytes; ++} ++ + static int + PixarLogSetupDecode(TIFF* tif) + { +@@ -661,6 +675,8 @@ PixarLogSetupDecode(TIFF* tif) + td->td_samplesperpixel : 1); + tbuf_size = multiply(multiply(multiply(sp->stride, td->td_imagewidth), + td->td_rowsperstrip), sizeof(uint16)); ++ /* add one more stride in case input ends mid-stride */ ++ tbuf_size = add_ms(tbuf_size, sizeof(uint16) * sp->stride); + if (tbuf_size == 0) + return (0); + sp->tbuf = (uint16 *) _TIFFmalloc(tbuf_size); +diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c +index 7634f6e..2b255da 100644 +--- a/libtiff/tif_print.c ++++ b/libtiff/tif_print.c +@@ -1,4 +1,4 @@ +-/* $Id: tif_print.c,v 1.36.2.5 2010-07-06 14:05:30 dron Exp $ */ ++/* $Id: tif_print.c,v 1.36.2.6 2012-12-12 23:18:05 tgl Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -514,8 +514,19 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags) + continue; + + if(fip->field_passcount) { +- if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1) ++ if (fip->field_readcount == TIFF_VARIABLE2 ) { ++ if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1) ++ continue; ++ } else if (fip->field_readcount == TIFF_VARIABLE ) { ++ uint16 small_value_count; ++ if(TIFFGetField(tif, tag, &small_value_count, &raw_data) != 1) ++ continue; ++ value_count = small_value_count; ++ } else { ++ assert (fip->field_readcount == TIFF_VARIABLE ++ || fip->field_readcount == TIFF_VARIABLE2); + continue; ++ } + } else { + if (fip->field_readcount == TIFF_VARIABLE + || fip->field_readcount == TIFF_VARIABLE2) +diff --git a/man/Makefile.in b/man/Makefile.in +index a007da7..cac0721 100644 +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/port/Makefile.in b/port/Makefile.in +index 6674109..f95d58f 100644 +--- a/port/Makefile.in ++++ b/port/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/test/Makefile.in b/test/Makefile.in +index 61ea1ff..f88959f 100644 +--- a/test/Makefile.in ++++ b/test/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/tools/Makefile.in b/tools/Makefile.in +index 47dcec8..6f3d517 100644 +--- a/tools/Makefile.in ++++ b/tools/Makefile.in +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.12.4 from Makefile.am. ++# Makefile.in generated by automake 1.12.5 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994-2012 Free Software Foundation, Inc. +diff --git a/tools/ppm2tiff.c b/tools/ppm2tiff.c +index 6078459..ec8be5d 100644 +--- a/tools/ppm2tiff.c ++++ b/tools/ppm2tiff.c +@@ -1,4 +1,4 @@ +-/* $Id: ppm2tiff.c,v 1.13.2.2 2010-06-08 18:50:44 bfriesen Exp $ */ ++/* $Id: ppm2tiff.c,v 1.13.2.3 2012-12-10 18:27:35 tgl Exp $ */ + + /* + * Copyright (c) 1991-1997 Sam Leffler +@@ -68,6 +68,17 @@ BadPPM(char* file) + exit(-2); + } + ++static tsize_t ++multiply_ms(tsize_t m1, tsize_t m2) ++{ ++ tsize_t bytes = m1 * m2; ++ ++ if (m1 && bytes / m1 != m2) ++ bytes = 0; ++ ++ return bytes; ++} ++ + int + main(int argc, char* argv[]) + { +@@ -85,6 +96,7 @@ main(int argc, char* argv[]) + int c; + extern int optind; + extern char* optarg; ++ tsize_t scanline_size; + + if (argc < 2) { + fprintf(stderr, "%s: Too few arguments\n", argv[0]); +@@ -217,7 +229,8 @@ main(int argc, char* argv[]) + } + switch (bpp) { + case 1: +- linebytes = (spp * w + (8 - 1)) / 8; ++ /* if round-up overflows, result will be zero, OK */ ++ linebytes = (multiply_ms(spp, w) + (8 - 1)) / 8; + if (rowsperstrip == (uint32) -1) { + TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, h); + } else { +@@ -226,15 +239,31 @@ main(int argc, char* argv[]) + } + break; + case 8: +- linebytes = spp * w; ++ linebytes = multiply_ms(spp, w); + TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, + TIFFDefaultStripSize(out, rowsperstrip)); + break; + } +- if (TIFFScanlineSize(out) > linebytes) ++ if (linebytes == 0) { ++ fprintf(stderr, "%s: scanline size overflow\n", infile); ++ (void) TIFFClose(out); ++ exit(-2); ++ } ++ scanline_size = TIFFScanlineSize(out); ++ if (scanline_size == 0) { ++ /* overflow - TIFFScanlineSize already printed a message */ ++ (void) TIFFClose(out); ++ exit(-2); ++ } ++ if (scanline_size < linebytes) + buf = (unsigned char *)_TIFFmalloc(linebytes); + else +- buf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out)); ++ buf = (unsigned char *)_TIFFmalloc(scanline_size); ++ if (buf == NULL) { ++ fprintf(stderr, "%s: Not enough memory\n", infile); ++ (void) TIFFClose(out); ++ exit(-2); ++ } + if (resolution > 0) { + TIFFSetField(out, TIFFTAG_XRESOLUTION, resolution); + TIFFSetField(out, TIFFTAG_YRESOLUTION, resolution); +diff --git a/tools/rgb2ycbcr.c b/tools/rgb2ycbcr.c +index 0b30b51..527c036 100644 +--- a/tools/rgb2ycbcr.c ++++ b/tools/rgb2ycbcr.c +@@ -1,4 +1,4 @@ +-/* $Id: rgb2ycbcr.c,v 1.9.2.2 2010-06-08 18:50:44 bfriesen Exp $ */ ++/* $Id: rgb2ycbcr.c,v 1.9.2.3 2013-05-02 14:44:44 tgl Exp $ */ + + /* + * Copyright (c) 1991-1997 Sam Leffler +@@ -326,7 +326,8 @@ tiffcvt(TIFF* in, TIFF* out) + TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG); + { char buf[2048]; + char *cp = strrchr(TIFFFileName(in), '/'); +- sprintf(buf, "YCbCr conversion of %s", cp ? cp+1 : TIFFFileName(in)); ++ snprintf(buf, sizeof(buf), "YCbCr conversion of %s", ++ cp ? cp+1 : TIFFFileName(in)); + TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, buf); + } + TIFFSetField(out, TIFFTAG_SOFTWARE, TIFFGetVersion()); +diff --git a/tools/tiff2bw.c b/tools/tiff2bw.c +index 8fbf061..98908d1 100644 +--- a/tools/tiff2bw.c ++++ b/tools/tiff2bw.c +@@ -1,4 +1,4 @@ +-/* $Id: tiff2bw.c,v 1.12.2.2 2010-07-02 12:03:27 dron Exp $ */ ++/* $Id: tiff2bw.c,v 1.12.2.3 2013-05-02 14:44:44 tgl Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -201,7 +201,7 @@ main(int argc, char* argv[]) + } + } + TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK); +- sprintf(thing, "B&W version of %s", argv[optind]); ++ snprintf(thing, sizeof(thing), "B&W version of %s", argv[optind]); + TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing); + TIFFSetField(out, TIFFTAG_SOFTWARE, "tiff2bw"); + outbuf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out)); +diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c +index dee6435..c55b927 100644 +--- a/tools/tiff2pdf.c ++++ b/tools/tiff2pdf.c +@@ -1,4 +1,4 @@ +-/* $Id: tiff2pdf.c,v 1.37.2.22 2012-07-19 15:43:31 tgl Exp $ ++/* $Id: tiff2pdf.c,v 1.37.2.24 2013-05-02 14:54:18 tgl Exp $ + * + * tiff2pdf - converts a TIFF image to a PDF document + * +@@ -3337,33 +3337,56 @@ int t2p_process_jpeg_strip( + uint32 height){ + + tsize_t i=0; +- uint16 ri =0; +- uint16 v_samp=1; +- uint16 h_samp=1; +- int j=0; +- +- i++; +- +- while(i<(*striplength)){ ++ ++ while (i < *striplength) { ++ tsize_t datalen; ++ uint16 ri; ++ uint16 v_samp; ++ uint16 h_samp; ++ int j; ++ int ncomp; ++ ++ /* marker header: one or more FFs */ ++ if (strip[i] != 0xff) ++ return(0); ++ i++; ++ while (i < *striplength && strip[i] == 0xff) ++ i++; ++ if (i >= *striplength) ++ return(0); ++ /* SOI is the only pre-SOS marker without a length word */ ++ if (strip[i] == 0xd8) ++ datalen = 0; ++ else { ++ if ((*striplength - i) <= 2) ++ return(0); ++ datalen = (strip[i+1] << 8) | strip[i+2]; ++ if (datalen < 2 || datalen >= (*striplength - i)) ++ return(0); ++ } + switch( strip[i] ){ +- case 0xd8: +- /* SOI - start of image */ ++ case 0xd8: /* SOI - start of image */ + _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2); + *bufferoffset+=2; +- i+=2; + break; +- case 0xc0: +- case 0xc1: +- case 0xc3: +- case 0xc9: +- case 0xca: ++ case 0xc0: /* SOF0 */ ++ case 0xc1: /* SOF1 */ ++ case 0xc3: /* SOF3 */ ++ case 0xc9: /* SOF9 */ ++ case 0xca: /* SOF10 */ + if(no==0){ +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); +- for(j=0;j>4) > h_samp) +- h_samp = (buffer[*bufferoffset+11+(2*j)]>>4); +- if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp) +- v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f); ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); ++ ncomp = buffer[*bufferoffset+9]; ++ if (ncomp < 1 || ncomp > 4) ++ return(0); ++ v_samp=1; ++ h_samp=1; ++ for(j=0;j>4) > h_samp) ++ h_samp = (samp>>4); ++ if( (samp & 0x0f) > v_samp) ++ v_samp = (samp & 0x0f); + } + v_samp*=8; + h_samp*=8; +@@ -3377,45 +3400,43 @@ int t2p_process_jpeg_strip( + (unsigned char) ((height>>8) & 0xff); + buffer[*bufferoffset+6]= + (unsigned char) (height & 0xff); +- *bufferoffset+=strip[i+2]+2; +- i+=strip[i+2]+2; +- ++ *bufferoffset+=datalen+2; ++ /* insert a DRI marker */ + buffer[(*bufferoffset)++]=0xff; + buffer[(*bufferoffset)++]=0xdd; + buffer[(*bufferoffset)++]=0x00; + buffer[(*bufferoffset)++]=0x04; + buffer[(*bufferoffset)++]=(ri >> 8) & 0xff; + buffer[(*bufferoffset)++]= ri & 0xff; +- } else { +- i+=strip[i+2]+2; + } + break; +- case 0xc4: +- case 0xdb: +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); +- *bufferoffset+=strip[i+2]+2; +- i+=strip[i+2]+2; ++ case 0xc4: /* DHT */ ++ case 0xdb: /* DQT */ ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); ++ *bufferoffset+=datalen+2; + break; +- case 0xda: ++ case 0xda: /* SOS */ + if(no==0){ +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); +- *bufferoffset+=strip[i+2]+2; +- i+=strip[i+2]+2; ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); ++ *bufferoffset+=datalen+2; + } else { + buffer[(*bufferoffset)++]=0xff; + buffer[(*bufferoffset)++]= + (unsigned char)(0xd0 | ((no-1)%8)); +- i+=strip[i+2]+2; + } +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1); +- *bufferoffset+=(*striplength)-i-1; ++ i += datalen + 1; ++ /* copy remainder of strip */ ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i); ++ *bufferoffset+= *striplength - i; + return(1); + default: +- i+=strip[i+2]+2; ++ /* ignore any other marker */ ++ break; + } ++ i += datalen + 1; + } +- + ++ /* failed to find SOS marker */ + return(0); + } + #endif +@@ -3605,7 +3626,9 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){ + char buffer[16]; + int buflen=0; + +- buflen=sprintf(buffer, "%%PDF-%u.%u ", t2p->pdf_majorversion&0xff, t2p->pdf_minorversion&0xff); ++ buflen = snprintf(buffer, sizeof(buffer), "%%PDF-%u.%u ", ++ t2p->pdf_majorversion&0xff, ++ t2p->pdf_minorversion&0xff); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t)"\n%\342\343\317\323\n", 7); + +@@ -3619,10 +3642,10 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){ + tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + +- buflen=sprintf(buffer, "%lu", (unsigned long)number); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number); + written += t2pWriteFile(output, (tdata_t) buffer, buflen ); + written += t2pWriteFile(output, (tdata_t) " 0 obj\n", 7); + +@@ -3661,13 +3684,13 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){ + written += t2pWriteFile(output, (tdata_t) "/", 1); + for (i=0;i 0x7E){ +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + nextchar=1; +@@ -3675,57 +3698,57 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){ + if (nextchar==0){ + switch (name[i]){ + case 0x23: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x25: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x28: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x29: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x2F: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x3C: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x3E: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x5B: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x5D: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x7B: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; + case 0x7D: +- sprintf(buffer, "#%.2X", name[i]); ++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]); + buffer[sizeof(buffer) - 1] = '\0'; + written += t2pWriteFile(output, (tdata_t) buffer, 3); + break; +@@ -3840,14 +3863,14 @@ tsize_t t2p_write_pdf_stream_end(TIFF* output){ + tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + written += t2pWriteFile(output, (tdata_t) "/Length ", 8); + if(len!=0){ + written += t2p_write_pdf_stream_length(len, output); + } else { +- buflen=sprintf(buffer, "%lu", (unsigned long)number); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6); + } +@@ -3888,10 +3911,10 @@ tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){ + tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + +- buflen=sprintf(buffer, "%lu", (unsigned long)len); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)len); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "\n", 1); + +@@ -3905,7 +3928,7 @@ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){ + tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output) + { + tsize_t written = 0; +- char buffer[16]; ++ char buffer[32]; + int buflen = 0; + + written += t2pWriteFile(output, +@@ -3944,7 +3967,6 @@ tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output) + written += t2p_write_pdf_string(t2p->pdf_datetime, output); + } + written += t2pWriteFile(output, (tdata_t) "\n/Producer ", 11); +- _TIFFmemset((tdata_t)buffer, 0x00, sizeof(buffer)); + snprintf(buffer, sizeof(buffer), "libtiff / tiff2pdf - %d", TIFFLIB_VERSION); + written += t2p_write_pdf_string(buffer, output); + written += t2pWriteFile(output, (tdata_t) "\n", 1); +@@ -4085,7 +4107,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output) + { + tsize_t written=0; + tdir_t i=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + int page=0; +@@ -4093,7 +4115,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output) + (tdata_t) "<< \n/Type /Pages \n/Kids [ ", 26); + page = t2p->pdf_pages+1; + for (i=0;itiff_pagecount;i++){ +- buflen=sprintf(buffer, "%d", page); ++ buflen=snprintf(buffer, sizeof(buffer), "%d", page); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); + if ( ((i+1)%8)==0 ) { +@@ -4108,8 +4130,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output) + } + } + written += t2pWriteFile(output, (tdata_t) "] \n/Count ", 10); +- _TIFFmemset(buffer, 0x00, 16); +- buflen=sprintf(buffer, "%d", t2p->tiff_pagecount); ++ buflen=snprintf(buffer, sizeof(buffer), "%d", t2p->tiff_pagecount); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " \n>> \n", 6); + +@@ -4124,28 +4145,28 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){ + + unsigned int i=0; + tsize_t written=0; +- char buffer[16]; ++ char buffer[256]; + int buflen=0; + + written += t2pWriteFile(output, (tdata_t) "<<\n/Type /Page \n/Parent ", 24); +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_pages); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_pages); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6); + written += t2pWriteFile(output, (tdata_t) "/MediaBox [", 11); +- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x1); ++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x1); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " ", 1); +- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y1); ++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y1); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " ", 1); +- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x2); ++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x2); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " ", 1); +- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y2); ++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y2); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "] \n", 3); + written += t2pWriteFile(output, (tdata_t) "/Contents ", 10); +- buflen=sprintf(buffer, "%lu", (unsigned long)(object + 1)); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(object + 1)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6); + written += t2pWriteFile(output, (tdata_t) "/Resources << \n", 15); +@@ -4153,15 +4174,13 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){ + written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12); + for(i=0;itiff_tiles[t2p->pdf_page].tiles_tilecount;i++){ + written += t2pWriteFile(output, (tdata_t) "/Im", 3); +- buflen = sprintf(buffer, "%u", t2p->pdf_page+1); ++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "_", 1); +- buflen = sprintf(buffer, "%u", i+1); ++ buflen = snprintf(buffer, sizeof(buffer), "%u", i+1); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " ", 1); +- buflen = sprintf( +- buffer, +- "%lu", ++ buflen = snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); +@@ -4173,12 +4192,10 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){ + } else { + written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12); + written += t2pWriteFile(output, (tdata_t) "/Im", 3); +- buflen = sprintf(buffer, "%u", t2p->pdf_page+1); ++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " ", 1); +- buflen = sprintf( +- buffer, +- "%lu", ++ buflen = snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); +@@ -4187,9 +4204,7 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){ + if(t2p->tiff_transferfunctioncount != 0) { + written += t2pWriteFile(output, (tdata_t) "/ExtGState <<", 13); + t2pWriteFile(output, (tdata_t) "/GS1 ", 5); +- buflen = sprintf( +- buffer, +- "%lu", ++ buflen = snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(object + 3)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); +@@ -4562,7 +4577,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){ + if(t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount>0){ + for(i=0;itiff_tiles[t2p->pdf_page].tiles_tilecount; i++){ + box=t2p->tiff_tiles[t2p->pdf_page].tiles_tiles[i].tile_box; +- buflen=sprintf(buffer, ++ buflen=snprintf(buffer, sizeof(buffer), + "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d_%ld Do Q\n", + t2p->tiff_transferfunctioncount?"/GS1 gs ":"", + box.mat[0], +@@ -4577,7 +4592,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){ + } + } else { + box=t2p->pdf_imagebox; +- buflen=sprintf(buffer, ++ buflen=snprintf(buffer, sizeof(buffer), + "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d Do Q\n", + t2p->tiff_transferfunctioncount?"/GS1 gs ":"", + box.mat[0], +@@ -4602,59 +4617,48 @@ tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile, + TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + written += t2p_write_pdf_stream_dict(0, t2p->pdf_xrefcount+1, output); + written += t2pWriteFile(output, + (tdata_t) "/Type /XObject \n/Subtype /Image \n/Name /Im", + 42); +- buflen=sprintf(buffer, "%u", t2p->pdf_page+1); ++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + if(tile != 0){ + written += t2pWriteFile(output, (tdata_t) "_", 1); +- buflen=sprintf(buffer, "%lu", (unsigned long)tile); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)tile); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + } + written += t2pWriteFile(output, (tdata_t) "\n/Width ", 8); +- _TIFFmemset((tdata_t)buffer, 0x00, 16); + if(tile==0){ +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_width); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_width); + } else { + if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){ +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth); + } else { +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth); + } + } + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "\n/Height ", 9); +- _TIFFmemset((tdata_t)buffer, 0x00, 16); + if(tile==0){ +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_length); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_length); + } else { + if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){ +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength); + } else { +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength); + } + } + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "\n/BitsPerComponent ", 19); +- _TIFFmemset((tdata_t)buffer, 0x00, 16); +- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample); ++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "\n/ColorSpace ", 13); + written += t2p_write_pdf_xobject_cs(t2p, output); +@@ -4698,11 +4702,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){ + t2p->pdf_colorspace ^= T2P_CS_PALETTE; + written += t2p_write_pdf_xobject_cs(t2p, output); + t2p->pdf_colorspace |= T2P_CS_PALETTE; +- buflen=sprintf(buffer, "%u", (0x0001 << t2p->tiff_bitspersample)-1 ); ++ buflen=snprintf(buffer, sizeof(buffer), "%u", (0x0001 << t2p->tiff_bitspersample)-1 ); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " ", 1); +- _TIFFmemset(buffer, 0x00, 16); +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_palettecs ); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_palettecs ); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ]\n", 7); + return(written); +@@ -4736,10 +4739,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){ + X_W /= Y_W; + Z_W /= Y_W; + Y_W = 1.0F; +- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W); ++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "/Range ", 7); +- buflen=sprintf(buffer, "[%d %d %d %d] \n", ++ buflen=snprintf(buffer, sizeof(buffer), "[%d %d %d %d] \n", + t2p->pdf_labrange[0], + t2p->pdf_labrange[1], + t2p->pdf_labrange[2], +@@ -4755,26 +4758,26 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){ + tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + written += t2pWriteFile(output, (tdata_t) "<< /Type /ExtGState \n/TR ", 25); + if(t2p->tiff_transferfunctioncount == 1){ +- buflen=sprintf(buffer, "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(t2p->pdf_xrefcount + 1)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); + } else { + written += t2pWriteFile(output, (tdata_t) "[ ", 2); +- buflen=sprintf(buffer, "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(t2p->pdf_xrefcount + 1)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); +- buflen=sprintf(buffer, "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(t2p->pdf_xrefcount + 2)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); +- buflen=sprintf(buffer, "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)(t2p->pdf_xrefcount + 3)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R ", 5); +@@ -4796,7 +4799,7 @@ tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){ + written += t2pWriteFile(output, (tdata_t) "/FunctionType 0 \n", 17); + written += t2pWriteFile(output, (tdata_t) "/Domain [0.0 1.0] \n", 19); + written += t2pWriteFile(output, (tdata_t) "/Range [0.0 1.0] \n", 18); +- buflen=sprintf(buffer, "/Size [%u] \n", (1<tiff_bitspersample)); ++ buflen=snprintf(buffer, sizeof(buffer), "/Size [%u] \n", (1<tiff_bitspersample)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "/BitsPerSample 16 \n", 19); + written += t2p_write_pdf_stream_dict(1<<(t2p->tiff_bitspersample+1), 0, output); +@@ -4823,7 +4826,7 @@ tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){ + tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){ + + tsize_t written=0; +- char buffer[128]; ++ char buffer[256]; + int buflen=0; + + float X_W=0.0; +@@ -4891,16 +4894,16 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){ + written += t2pWriteFile(output, (tdata_t) "<< \n", 4); + if(t2p->pdf_colorspace & T2P_CS_CALGRAY){ + written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12); +- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W); ++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "/Gamma 2.2 \n", 12); + } + if(t2p->pdf_colorspace & T2P_CS_CALRGB){ + written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12); +- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W); ++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "/Matrix ", 8); +- buflen=sprintf(buffer, "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n", ++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n", + X_R, Y_R, Z_R, + X_G, Y_G, Z_G, + X_B, Y_B, Z_B); +@@ -4919,11 +4922,11 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){ + tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + written += t2pWriteFile(output, (tdata_t) "[/ICCBased ", 11); +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_icccs); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_icccs); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " 0 R] \n", 7); + +@@ -4933,11 +4936,11 @@ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){ + tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + written += t2pWriteFile(output, (tdata_t) "/N ", 3); +- buflen=sprintf(buffer, "%u \n", t2p->tiff_samplesperpixel); ++ buflen=snprintf(buffer, sizeof(buffer), "%u \n", t2p->tiff_samplesperpixel); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) "/Alternate ", 11); + t2p->pdf_colorspace ^= T2P_CS_ICCBASED; +@@ -5002,7 +5005,7 @@ tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){ + tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){ + + tsize_t written=0; +- char buffer[16]; ++ char buffer[32]; + int buflen=0; + + if(t2p->pdf_compression==T2P_COMPRESS_NONE){ +@@ -5017,41 +5020,33 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output + written += t2pWriteFile(output, (tdata_t) "<< /K -1 ", 9); + if(tile==0){ + written += t2pWriteFile(output, (tdata_t) "/Columns ", 9); +- buflen=sprintf(buffer, "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_width); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " /Rows ", 7); +- buflen=sprintf(buffer, "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_length); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + } else { + if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){ + written += t2pWriteFile(output, (tdata_t) "/Columns ", 9); +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + } else { + written += t2pWriteFile(output, (tdata_t) "/Columns ", 9); +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + } + if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){ + written += t2pWriteFile(output, (tdata_t) " /Rows ", 7); +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + } else { + written += t2pWriteFile(output, (tdata_t) " /Rows ", 7); +- buflen=sprintf( +- buffer, +- "%lu", ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + } +@@ -5078,21 +5073,17 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output + if(t2p->pdf_compressionquality%100){ + written += t2pWriteFile(output, (tdata_t) "/DecodeParms ", 13); + written += t2pWriteFile(output, (tdata_t) "<< /Predictor ", 14); +- _TIFFmemset(buffer, 0x00, 16); +- buflen=sprintf(buffer, "%u", t2p->pdf_compressionquality%100); ++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_compressionquality%100); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " /Columns ", 10); +- _TIFFmemset(buffer, 0x00, 16); +- buflen = sprintf(buffer, "%lu", ++ buflen = snprintf(buffer, sizeof(buffer), "%lu", + (unsigned long)t2p->tiff_width); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " /Colors ", 9); +- _TIFFmemset(buffer, 0x00, 16); +- buflen=sprintf(buffer, "%u", t2p->tiff_samplesperpixel); ++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_samplesperpixel); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " /BitsPerComponent ", 19); +- _TIFFmemset(buffer, 0x00, 16); +- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample); ++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) ">>\n", 3); + } +@@ -5112,16 +5103,16 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output + tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){ + + tsize_t written=0; +- char buffer[21]; ++ char buffer[64]; + int buflen=0; + uint32 i=0; + + written += t2pWriteFile(output, (tdata_t) "xref\n0 ", 7); +- buflen=sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount + 1)); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount + 1)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); + written += t2pWriteFile(output, (tdata_t) " \n0000000000 65535 f \n", 22); + for (i=0;ipdf_xrefcount;i++){ +- sprintf(buffer, "%.10lu 00000 n \n", ++ snprintf(buffer, sizeof(buffer), "%.10lu 00000 n \n", + (unsigned long)t2p->pdf_xrefoffsets[i]); + written += t2pWriteFile(output, (tdata_t) buffer, 20); + } +@@ -5145,17 +5136,14 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output) + snprintf(t2p->pdf_fileid + i, 9, "%.8X", rand()); + + written += t2pWriteFile(output, (tdata_t) "trailer\n<<\n/Size ", 17); +- buflen = sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount+1)); ++ buflen = snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount+1)); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); +- _TIFFmemset(buffer, 0x00, 32); + written += t2pWriteFile(output, (tdata_t) "\n/Root ", 7); +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_catalog); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_catalog); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); +- _TIFFmemset(buffer, 0x00, 32); + written += t2pWriteFile(output, (tdata_t) " 0 R \n/Info ", 12); +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_info); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_info); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); +- _TIFFmemset(buffer, 0x00, 32); + written += t2pWriteFile(output, (tdata_t) " 0 R \n/ID[<", 11); + written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid, + sizeof(t2p->pdf_fileid) - 1); +@@ -5163,9 +5151,8 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output) + written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid, + sizeof(t2p->pdf_fileid) - 1); + written += t2pWriteFile(output, (tdata_t) ">]\n>>\nstartxref\n", 16); +- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_startxref); ++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_startxref); + written += t2pWriteFile(output, (tdata_t) buffer, buflen); +- _TIFFmemset(buffer, 0x00, 32); + written += t2pWriteFile(output, (tdata_t) "\n%%EOF\n", 7); + + return(written); +diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c +index 2d02b23..b9befe7 100644 +--- a/tools/tiff2ps.c ++++ b/tools/tiff2ps.c +@@ -1,4 +1,4 @@ +-/* $Id: tiff2ps.c,v 1.35.2.7 2011-04-09 16:53:56 bfriesen Exp $ */ ++/* $Id: tiff2ps.c,v 1.35.2.9 2013-05-02 14:44:44 tgl Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -44,6 +44,11 @@ + + /* + * Revision history ++ * 2013-Jan-21 ++ * Richard Nolde: Fix bug in auto rotate option code. Once a ++ * rotation angle was set by the auto rotate check, it was ++ * retained for all pages that followed instead of being ++ * retested for each page. + * + * 2010-Sep-17 + * Richard Nolde: Reinstate code from Feb 2009 that never got +@@ -423,9 +428,10 @@ main(int argc, char* argv[]) + /* auto rotate requires a specified page width and height */ + if (auto_rotate == TRUE) + { ++ /* + if ((pageWidth == 0) || (pageHeight == 0)) + TIFFWarning ("-r auto", " requires page height and width specified with -h and -w"); +- ++ */ + if ((maxPageWidth > 0) || (maxPageHeight > 0)) + { + TIFFError ("-r auto", " is incompatible with maximum page width/height specified by -H or -W"); +@@ -1594,6 +1600,8 @@ int TIFF2PS(FILE* fd, TIFF* tif, double pgwidth, double pgheight, double lm, dou + } + if (generateEPSF) + break; ++ if (auto_rotate) ++ rotation = 0.0; + TIFFGetFieldDefaulted(tif, TIFFTAG_SUBFILETYPE, &subfiletype); + } while (((subfiletype & FILETYPE_PAGE) || printAll) && TIFFReadDirectory(tif)); + +@@ -1783,8 +1791,8 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h) + imageOp = "imagemask"; + + (void)strcpy(im_x, "0"); +- (void)sprintf(im_y, "%lu", (long) h); +- (void)sprintf(im_h, "%lu", (long) h); ++ (void)snprintf(im_y, sizeof(im_y), "%lu", (long) h); ++ (void)snprintf(im_h, sizeof(im_h), "%lu", (long) h); + tile_width = w; + tile_height = h; + if (TIFFIsTiled(tif)) { +@@ -1805,7 +1813,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h) + } + if (tile_height < h) { + fputs("/im_y 0 def\n", fd); +- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h); ++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h); + } + } else { + repeat_count = tf_numberstrips; +@@ -1817,7 +1825,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h) + fprintf(fd, "/im_h %lu def\n", + (unsigned long) tile_height); + (void)strcpy(im_h, "im_h"); +- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h); ++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h); + } + } + +diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c +index d00c912..6c53e74 100644 +--- a/tools/tiffcrop.c ++++ b/tools/tiffcrop.c +@@ -1,4 +1,4 @@ +-/* $Id: tiffcrop.c,v 1.3.2.15 2010-12-14 02:03:55 faxguy Exp $ */ ++/* $Id: tiffcrop.c,v 1.3.2.16 2013-05-02 14:44:44 tgl Exp $ */ + + /* tiffcrop.c -- a port of tiffcp.c extended to include manipulations of + * the image data through additional options listed below +@@ -2077,7 +2077,7 @@ update_output_file (TIFF **tiffout, char *mode, int autoindex, + return 1; + } + +- sprintf (filenum, "-%03d%s", findex, export_ext); ++ snprintf(filenum, sizeof(filenum), "-%03d%s", findex, export_ext); + filenum[14] = '\0'; + strncat (exportname, filenum, 15); + } +@@ -2230,8 +2230,8 @@ main(int argc, char* argv[]) + + /* dump.infilename is guaranteed to be NUL termimated and have 20 bytes + fewer than PATH_MAX */ +- memset (temp_filename, '\0', PATH_MAX + 1); +- sprintf (temp_filename, "%s-read-%03d.%s", dump.infilename, dump_images, ++ snprintf(temp_filename, sizeof(temp_filename), "%s-read-%03d.%s", ++ dump.infilename, dump_images, + (dump.format == DUMP_TEXT) ? "txt" : "raw"); + if ((dump.infile = fopen(temp_filename, dump.mode)) == NULL) + { +@@ -2249,8 +2249,8 @@ main(int argc, char* argv[]) + + /* dump.outfilename is guaranteed to be NUL termimated and have 20 bytes + fewer than PATH_MAX */ +- memset (temp_filename, '\0', PATH_MAX + 1); +- sprintf (temp_filename, "%s-write-%03d.%s", dump.outfilename, dump_images, ++ snprintf(temp_filename, sizeof(temp_filename), "%s-write-%03d.%s", ++ dump.outfilename, dump_images, + (dump.format == DUMP_TEXT) ? "txt" : "raw"); + if ((dump.outfile = fopen(temp_filename, dump.mode)) == NULL) + { +diff --git a/tools/tiffdither.c b/tools/tiffdither.c +index dee2a02..a0cb857 100644 +--- a/tools/tiffdither.c ++++ b/tools/tiffdither.c +@@ -1,4 +1,4 @@ +-/* $Id: tiffdither.c,v 1.9.2.1 2010-06-08 18:50:44 bfriesen Exp $ */ ++/* $Id: tiffdither.c,v 1.9.2.2 2013-05-02 14:44:45 tgl Exp $ */ + + /* + * Copyright (c) 1988-1997 Sam Leffler +@@ -256,7 +256,7 @@ main(int argc, char* argv[]) + TIFFSetField(out, TIFFTAG_FILLORDER, fillorder); + else + CopyField(TIFFTAG_FILLORDER, shortv); +- sprintf(thing, "Dithered B&W version of %s", argv[optind]); ++ snprintf(thing, sizeof(thing), "Dithered B&W version of %s", argv[optind]); + TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing); + CopyField(TIFFTAG_PHOTOMETRIC, shortv); + CopyField(TIFFTAG_ORIENTATION, shortv); diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff new file mode 100644 index 000000000..79eeb449f --- /dev/null +++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff @@ -0,0 +1,23 @@ +From 5d19703933eaa59f97be9c88237fe00593f180ae Mon Sep 17 00:00:00 2001 +From: mancha +Date: Mon, 19 Aug 2013 +Subject: CVE-2013-4231 + +* tools/gif2tiff.c: Be more careful about corrupt or + hostile input files (#2450, CVE-2013-4231) + +--- + gif2tiff.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/tools/gif2tiff.c 2013-08-20 ++++ b/tools/gif2tiff.c 2013-08-20 +@@ -329,6 +329,8 @@ readraster(void) + int status = 1; + + datasize = getc(infile); ++ if (datasize > 12) ++ return 0; + clear = 1 << datasize; + eoi = clear + 1; + avail = clear + 2; diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff new file mode 100644 index 000000000..b86f8f4a4 --- /dev/null +++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff @@ -0,0 +1,24 @@ +From 8a2f9160cc4c52c73a62adef4d9282b2bd6e7ff1 Mon Sep 17 00:00:00 2001 +From: mancha +Date: Mon, 19 Aug 2013 +Subject: CVE-2013-4232 + +* tools/tiff2pdf.c: terminate after failure of allocating + ycbcr buffer (bug #2449, CVE-2013-4232) + +--- + tiff2pdf.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/tools/tiff2pdf.c 2013-08-20 ++++ b/tools/tiff2pdf.c 2013-08-20 +@@ -2457,7 +2457,8 @@ tsize_t t2p_readwrite_pdf_image(T2P* t2p + t2p->tiff_datasize, + TIFFFileName(input)); + t2p->t2p_error = T2P_ERR_ERROR; +- _TIFFfree(buffer); ++ _TIFFfree(buffer); ++ return(0); + } else { + buffer=samplebuffer; + t2p->tiff_datasize *= t2p->tiff_samplesperpixel; diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff new file mode 100644 index 000000000..4f8c54321 --- /dev/null +++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff @@ -0,0 +1,24 @@ +From 7f4cfaec643863fcdc260da46af8d6581974101d Mon Sep 17 00:00:00 2001 +From: mancha +Date: Mon, 19 Aug 2013 +Subject: CVE-2013-4244 + +* tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244) + +--- + gif2tiff.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/tools/gif2tiff.c 2013-08-20 ++++ b/tools/gif2tiff.c 2013-08-20 +@@ -396,6 +398,10 @@ process(register int code, unsigned char + } + + if (oldcode == -1) { ++ if (code >= clear) { ++ fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear); ++ return 0; ++ } + *(*fill)++ = suffix[code]; + firstchar = oldcode = code; + return 1; diff --git a/patches/source/libvorbis/libvorbis.SlackBuild b/patches/source/libvorbis/libvorbis.SlackBuild new file mode 100755 index 000000000..0823083c3 --- /dev/null +++ b/patches/source/libvorbis/libvorbis.SlackBuild @@ -0,0 +1,102 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo libvorbis-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libvorbis + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf libvorbis-$VERSION +tar xvf $CWD/libvorbis-$VERSION.tar.?z* || exit 1 +cd libvorbis-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --disable-static \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mv $PKG/usr/share/doc $PKG/usr +cp -a \ + AUTHORS COPYING HACKING README \ + $PKG/usr/doc/libvorbis-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libvorbis-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libvorbis/slack-desc b/patches/source/libvorbis/slack-desc new file mode 100644 index 000000000..2a3bb8f78 --- /dev/null +++ b/patches/source/libvorbis/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libvorbis: libvorbis (Ogg Vorbis library) +libvorbis: +libvorbis: This library supports the Vorbis General Audio Compression Codec +libvorbis: (commonly known as Ogg Vorbis). Ogg Vorbis is a fully open, +libvorbis: non-proprietary, patent-and-royalty-free, general-purpose compressed +libvorbis: audio format for audio and music at fixed and variable bitrates. +libvorbis: +libvorbis: The libvorbis library requires libao and libogg. You'll find some +libvorbis: basic tools for creating and using Ogg Vorbis files in the +libvorbis: vorbis-tools package. +libvorbis: diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch new file mode 100644 index 000000000..581e4e091 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch @@ -0,0 +1,17 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:02:37.407589824 -0500 ++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:04:29.672522960 -0500 +@@ -188,6 +188,14 @@ + + png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, + &interlace_type, NULL, NULL); ++ if (overflow2(sizeof (int), width)) ++ { ++ return NULL; ++ } ++ if (overflow2(sizeof (int) * width, height)) ++ { ++ return NULL; ++ } + if ((color_type == PNG_COLOR_TYPE_RGB) || + (color_type == PNG_COLOR_TYPE_RGB_ALPHA)) + { diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch new file mode 100644 index 000000000..507fe6622 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch @@ -0,0 +1,27 @@ +--- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 19:30:26.000000000 +0000 ++++ libwmf-0.2.8.4/src/player.c 2006-07-12 15:12:52.000000000 +0100 +@@ -42,6 +42,7 @@ + #include "player/defaults.h" /* Provides: default settings */ + #include "player/record.h" /* Provides: parameter mechanism */ + #include "player/meta.h" /* Provides: record interpreters */ ++#include + + /** + * @internal +@@ -132,8 +134,14 @@ + } + } + +-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char)); +- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); ++ if (MAX_REC_SIZE(API) > UINT32_MAX / 2) ++ { ++ API->err = wmf_E_InsMem; ++ WMF_DEBUG (API,"bailing..."); ++ return (API->err); ++ } ++ ++ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); + + if (ERR (API)) + { WMF_DEBUG (API,"bailing..."); diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch new file mode 100644 index 000000000..0cc5abc71 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch @@ -0,0 +1,11 @@ +--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:18:26.000000000 +0000 ++++ libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:21:09.000000000 +0000 +@@ -811,7 +811,7 @@ + { + ch = c & 0xFF; /* don't extend sign */ + } +- next++; ++ if (*next) next++; + } + else + { diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch new file mode 100644 index 000000000..eba8fac25 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch @@ -0,0 +1,16 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 1 Apr 2007 20:41:01 -0000 1.21.2.1 ++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 16 May 2007 19:06:11 -0000 +@@ -78,8 +78,11 @@ + gdPngReadData (png_structp png_ptr, + png_bytep data, png_size_t length) + { +- gdGetBuf (data, length, (gdIOCtx *) +- png_get_io_ptr (png_ptr)); ++ int check; ++ check = gdGetBuf (data, length, (gdIOCtx *) png_get_io_ptr (png_ptr)); ++ if (check != length) { ++ png_error(png_ptr, "Read Error: truncated data"); ++ } + } + + static void diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch new file mode 100644 index 000000000..2cd6d6040 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch @@ -0,0 +1,61 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd.c ++++ libwmf-0.2.8.4/src/extra/gd/gd.c +@@ -106,6 +106,18 @@ + gdImagePtr im; + unsigned long cpa_size; + ++ if (overflow2(sx, sy)) { ++ return NULL; ++ } ++ ++ if (overflow2(sizeof (int *), sy)) { ++ return NULL; ++ } ++ ++ if (overflow2(sizeof(int), sx)) { ++ return NULL; ++ } ++ + im = (gdImage *) gdMalloc (sizeof (gdImage)); + if (im == 0) return 0; + memset (im, 0, sizeof (gdImage)); +--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:47:31.000000000 +0000 ++++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:48:04.000000000 +0000 +@@ -2,6 +2,7 @@ + #include "gdhelpers.h" + #include + #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 > 2147483647 / b) { ++ fprintf(stderr, "gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n"); ++ return 1; ++ } ++ return 0; ++} +--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:47:17.000000000 +0000 ++++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:48:36.000000000 +0000 +@@ -15,6 +15,8 @@ + void *gdMalloc(size_t size); + void *gdRealloc(void *ptr, size_t size); + ++int overflow2(int a, int b); ++ + #pragma GCC visibility pop + + #endif /* GDHELPERS_H */ diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch new file mode 100644 index 000000000..590189969 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch @@ -0,0 +1,13 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd.c ++++ libwmf-0.2.8.4/src/extra/gd/gd.c +@@ -2483,6 +2483,10 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm (FILE * fd) + } + bytes = (w * h / 8) + 1; + im = gdImageCreate (w, h); ++ if (!im) { ++ return 0; ++ } ++ + gdImageColorAllocate (im, 255, 255, 255); + gdImageColorAllocate (im, 0, 0, 0); + x = 0; diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch new file mode 100644 index 000000000..81ac03853 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch @@ -0,0 +1,38 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd.c ++++ libwmf-0.2.8.4/src/extra/gd/gd.c +@@ -1335,10 +1335,31 @@ + int w2, h2; + w2 = w / 2; + h2 = h / 2; +- while (e < s) +- { +- e += 360; +- } ++ ++ if ((s % 360) == (e % 360)) { ++ s = 0; e = 360; ++ } else { ++ if (s > 360) { ++ s = s % 360; ++ } ++ ++ if (e > 360) { ++ e = e % 360; ++ } ++ ++ while (s < 0) { ++ s += 360; ++ } ++ ++ while (e < s) { ++ e += 360; ++ } ++ ++ if (s == e) { ++ s = 0; e = 360; ++ } ++ } ++ + for (i = s; (i <= e); i++) + { + int x, y; diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch new file mode 100644 index 000000000..d718976ad --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch @@ -0,0 +1,13 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:56:06.000000000 +0000 ++++ libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:57:04.000000000 +0000 +@@ -42,6 +42,10 @@ + { + goto fail1; + } ++ if (&im->colorsTotal > gdMaxColors) ++ { ++ goto fail1; ++ } + } + /* Int to accommodate truecolor single-color transparency */ + if (!gdGetInt (&im->transparent, in)) diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch new file mode 100644 index 000000000..e8ba8db1e --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch @@ -0,0 +1,118 @@ +--- libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:24.591876404 +0100 ++++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:35.345993247 +0100 +@@ -859,7 +859,7 @@ + % + % + */ +-static void DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels) ++static int DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels) + { int byte; + int count; + int i; +@@ -870,12 +870,14 @@ + U32 u; + + unsigned char* q; ++ unsigned char* end; + + for (u = 0; u < ((U32) bmp->width * (U32) bmp->height); u++) pixels[u] = 0; + + byte = 0; + x = 0; + q = pixels; ++ end = pixels + bmp->width * bmp->height; + + for (y = 0; y < bmp->height; ) + { count = ReadBlobByte (src); +@@ -884,7 +886,10 @@ + { /* Encoded mode. */ + byte = ReadBlobByte (src); + for (i = 0; i < count; i++) +- { if (compression == 1) ++ { ++ if (q == end) ++ return 0; ++ if (compression == 1) + { (*(q++)) = (unsigned char) byte; + } + else +@@ -896,13 +901,15 @@ + else + { /* Escape mode. */ + count = ReadBlobByte (src); +- if (count == 0x01) return; ++ if (count == 0x01) return 1; + switch (count) + { + case 0x00: + { /* End of line. */ + x = 0; + y++; ++ if (y >= bmp->height) ++ return 0; + q = pixels + y * bmp->width; + break; + } +@@ -910,13 +917,20 @@ + { /* Delta mode. */ + x += ReadBlobByte (src); + y += ReadBlobByte (src); ++ if (y >= bmp->height) ++ return 0; ++ if (x >= bmp->width) ++ return 0; + q = pixels + y * bmp->width + x; + break; + } + default: + { /* Absolute mode. */ + for (i = 0; i < count; i++) +- { if (compression == 1) ++ { ++ if (q == end) ++ return 0; ++ if (compression == 1) + { (*(q++)) = ReadBlobByte (src); + } + else +@@ -943,7 +957,7 @@ + byte = ReadBlobByte (src); /* end of line */ + byte = ReadBlobByte (src); + +- return; ++ return 1; + } + + /* +@@ -1143,8 +1157,18 @@ + } + } + else +- { /* Convert run-length encoded raster pixels. */ +- DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image); ++ { ++ if (bmp_info.bits_per_pixel == 8) /* Convert run-length encoded raster pixels. */ ++ { ++ if (!DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image)) ++ { WMF_ERROR (API,"corrupt bmp"); ++ API->err = wmf_E_BadFormat; ++ } ++ } ++ else ++ { WMF_ERROR (API,"Unexpected pixel depth"); ++ API->err = wmf_E_BadFormat; ++ } + } + + if (ERR (API)) +--- libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:24.590876393 +0100 ++++ libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:35.345993247 +0100 +@@ -48,7 +48,7 @@ + static unsigned short ReadBlobLSBShort (BMPSource*); + static unsigned long ReadBlobLSBLong (BMPSource*); + static long TellBlob (BMPSource*); +-static void DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*); ++static int DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*); + static void ReadBMPImage (wmfAPI*,wmfBMP*,BMPSource*); + static int ExtractColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned int,unsigned int); + static void SetColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned char,unsigned int,unsigned int); diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch new file mode 100644 index 000000000..b6d499da9 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch @@ -0,0 +1,56 @@ +--- libwmf-0.2.8.4/src/player/meta.h ++++ libwmf-0.2.8.4/src/player/meta.h +@@ -1565,7 +1565,7 @@ static int meta_rgn_create (wmfAPI* API, + objects = P->objects; + + i = 0; +- while (objects[i].type && (i < NUM_OBJECTS (API))) i++; ++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++; + + if (i == NUM_OBJECTS (API)) + { WMF_ERROR (API,"Object out of range!"); +@@ -2142,7 +2142,7 @@ static int meta_dib_brush (wmfAPI* API,w + objects = P->objects; + + i = 0; +- while (objects[i].type && (i < NUM_OBJECTS (API))) i++; ++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++; + + if (i == NUM_OBJECTS (API)) + { WMF_ERROR (API,"Object out of range!"); +@@ -3067,7 +3067,7 @@ static int meta_pen_create (wmfAPI* API, + objects = P->objects; + + i = 0; +- while (objects[i].type && (i < NUM_OBJECTS (API))) i++; ++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++; + + if (i == NUM_OBJECTS (API)) + { WMF_ERROR (API,"Object out of range!"); +@@ -3181,7 +3181,7 @@ static int meta_brush_create (wmfAPI* AP + objects = P->objects; + + i = 0; +- while (objects[i].type && (i < NUM_OBJECTS (API))) i++; ++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++; + + if (i == NUM_OBJECTS (API)) + { WMF_ERROR (API,"Object out of range!"); +@@ -3288,7 +3288,7 @@ static int meta_font_create (wmfAPI* API + objects = P->objects; + + i = 0; +- while (objects[i].type && (i < NUM_OBJECTS (API))) i++; ++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++; + + if (i == NUM_OBJECTS (API)) + { WMF_ERROR (API,"Object out of range!"); +@@ -3396,7 +3396,7 @@ static int meta_palette_create (wmfAPI* + objects = P->objects; + + i = 0; +- while (objects[i].type && (i < NUM_OBJECTS (API))) i++; ++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++; + + if (i == NUM_OBJECTS (API)) + { WMF_ERROR (API,"Object out of range!"); diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch new file mode 100644 index 000000000..331284125 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch @@ -0,0 +1,23 @@ +--- libwmf-0.2.8.4/src/player/meta.h ++++ libwmf-0.2.8.4/src/player/meta.h +@@ -2585,6 +2585,8 @@ + polyrect.BR[i] = clip->rects[i].BR; + } + ++ if (FR->region_clip) FR->region_clip (API,&polyrect); ++ + wmf_free (API,polyrect.TL); + wmf_free (API,polyrect.BR); + } +@@ -2593,9 +2595,10 @@ + polyrect.BR = 0; + + polyrect.count = 0; ++ ++ if (FR->region_clip) FR->region_clip (API,&polyrect); + } + +- if (FR->region_clip) FR->region_clip (API,&polyrect); + + return (changed); + } diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch new file mode 100644 index 000000000..5e2819743 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch @@ -0,0 +1,30 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c ++++ libwmf-0.2.8.4/src/extra/gd/gd_gd2.c +@@ -362,10 +362,9 @@ + { + if (!gdGetInt (&im->tpixels[y][x], in)) + { +- /*printf("EOF while reading\n"); */ +- /*gdImageDestroy(im); */ +- /*return 0; */ +- im->tpixels[y][x] = 0; ++ fprintf(stderr, "gd2: EOF while reading\n"); ++ gdImageDestroy(im); ++ return NULL; + } + } + else +@@ -373,10 +372,9 @@ + int ch; + if (!gdGetByte (&ch, in)) + { +- /*printf("EOF while reading\n"); */ +- /*gdImageDestroy(im); */ +- /*return 0; */ +- ch = 0; ++ fprintf(stderr, "gd2: EOF while reading\n"); ++ gdImageDestroy(im); ++ return NULL; + } + im->pixels[y][x] = ch; + } diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch new file mode 100644 index 000000000..b1578bb91 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch @@ -0,0 +1,14 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c ++++ libwmf-0.2.8.4/src/extra/gd/gd_gd2.c +@@ -145,6 +145,11 @@ + + if ((*fmt) == GD2_FMT_COMPRESSED) + { ++ if (*ncx <= 0 || *ncy <= 0 || *ncx > 2147483647 / *ncy) { ++ GD2_DBG(printf ("Illegal chunk counts: %d * %d\n", *ncx, *ncy)); ++ goto fail1; ++ } ++ + nc = (*ncx) * (*ncy); + GD2_DBG (printf ("Reading %d chunk index entries\n", nc)); + sidx = sizeof (t_chunk_info) * nc; diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch new file mode 100644 index 000000000..c6bd017c2 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch @@ -0,0 +1,36 @@ +--- libwmf-0.2.8.4/src/player.c ++++ libwmf-0.2.8.4/src/player.c +@@ -139,8 +139,31 @@ + WMF_DEBUG (API,"bailing..."); + return (API->err); + } +- +- P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); ++ ++ U32 nMaxRecordSize = (MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char); ++ if (nMaxRecordSize) ++ { ++ //before allocating memory do a sanity check on size by seeking ++ //to claimed end to see if its possible. We're constrained here ++ //by the api and existing implementations to not simply seeking ++ //to SEEK_END. So use what we have to skip to the last byte and ++ //try and read it. ++ const long nPos = WMF_TELL (API); ++ WMF_SEEK (API, nPos + nMaxRecordSize - 1); ++ if (ERR (API)) ++ { WMF_DEBUG (API,"bailing..."); ++ return (API->err); ++ } ++ int byte = WMF_READ (API); ++ if (byte == (-1)) ++ { WMF_ERROR (API,"Unexpected EOF!"); ++ API->err = wmf_E_EOF; ++ return (API->err); ++ } ++ WMF_SEEK (API, nPos); ++ } ++ ++ P->Parameters = (unsigned char*) wmf_malloc (API, nMaxRecordSize); + + if (ERR (API)) + { WMF_DEBUG (API,"bailing..."); diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch new file mode 100644 index 000000000..cf57734ed --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch @@ -0,0 +1,21 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd.c ++++ libwmf-0.2.8.4/src/extra/gd/gd.c +@@ -65,6 +65,18 @@ + { + int i; + gdImagePtr im; ++ ++ if (overflow2(sx, sy)) { ++ return NULL; ++ } ++ ++ if (overflow2(sizeof (unsigned char *), sy)) { ++ return NULL; ++ } ++ if (overflow2(sizeof (unsigned char), sx)) { ++ return NULL; ++ } ++ + im = (gdImage *) gdMalloc (sizeof (gdImage)); + memset (im, 0, sizeof (gdImage)); + /* Row-major ever since gd 1.3 */ diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch new file mode 100644 index 000000000..2ad180d97 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch @@ -0,0 +1,32 @@ +--- libwmf-0.2.8.4/src/extra/gd/gd_png.c ++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c +@@ -435,17 +435,6 @@ + out->free (out); + } + +-void * +-gdImagePngPtr (gdImagePtr im, int *size) +-{ +- void *rv; +- gdIOCtx *out = gdNewDynamicCtx (2048, NULL); +- gdImagePngCtx (im, out); +- rv = gdDPExtractData (out, size); +- out->free (out); +- return rv; +-} +- + /* This routine is based in part on code from Dale Lutz (Safe Software Inc.) + * and in part on demo code from Chapter 15 of "PNG: The Definitive Guide" + * (http://www.cdrom.com/pub/png/pngbook.html). +--- libwmf-0.2.8.4/src/extra/gd/gd.h ++++ libwmf-0.2.8.4/src/extra/gd/gd.h +@@ -373,9 +373,6 @@ + void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt); + + /* Best to free this memory with gdFree(), not free() */ +-void* gdImagePngPtr(gdImagePtr im, int *size); +- +-/* Best to free this memory with gdFree(), not free() */ + void* gdImageGdPtr(gdImagePtr im, int *size); + + /* Best to free this memory with gdFree(), not free() */ diff --git a/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch b/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch new file mode 100644 index 000000000..83383138a --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch @@ -0,0 +1,18 @@ +diff -ru libwmf-0.2.8.4.orig/src/font.c libwmf-0.2.8.4/src/font.c +--- libwmf-0.2.8.4.orig/src/font.c 2005-07-27 21:35:06.000000000 +0100 ++++ libwmf-0.2.8.4/src/font.c 2006-01-03 12:53:38.000000000 +0000 +@@ -1429,11 +1429,9 @@ + if (GS->len == 0) return (0); + + name = font->lfFaceName; +- if (name == 0) +- { WMF_DEBUG (API,"No font name?"); +- API->err = wmf_E_Glitch; +- return (0); +- } ++ ++ if (name == 0 || name[0] == 0) ++ name = "Times"; + + /* Find first white-space character or eol + */ diff --git a/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch b/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch new file mode 100644 index 000000000..a03578581 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch @@ -0,0 +1,14 @@ +diff -up libwmf-0.2.8.4/configure.in.pixbufloaderdir libwmf-0.2.8.4/configure.in +--- libwmf-0.2.8.4/configure.in.pixbufloaderdir 2010-06-28 23:35:06.227167269 -0400 ++++ libwmf-0.2.8.4/configure.in 2010-06-28 23:36:00.948420306 -0400 +@@ -741,8 +741,8 @@ + + if test $LIBWMF_BUILDSTYLE != lite; then + PKG_CHECK_MODULES(GDK_PIXBUF,gdk-pixbuf-2.0 >= 2.1.2,[ +- GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0` +- GDK_PIXBUF_DIR="gtk-2.0/$GTK_VERSION/loaders" ++ GDK_PIXBUF_VERSION=`$PKG_CONFIG --variable=gdk_pixbuf_binary_version gdk-pixbuf-2.0` ++ GDK_PIXBUF_DIR="gdk-pixbuf-2.0/$GDK_PIXBUF_VERSION/loaders" + wmf_gdk_pixbuf=yes + ],[ wmf_gdk_pixbuf=no + ]) diff --git a/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch b/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch new file mode 100644 index 000000000..45d82b327 --- /dev/null +++ b/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch @@ -0,0 +1,520 @@ +diff -ru libwmf-0.2.8.4/src/extra/gd/gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd.c +--- libwmf-0.2.8.4/src/extra/gd/gd.c 2005-07-27 21:35:05.000000000 +0100 ++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.c 2006-11-16 12:27:05.000000000 +0000 +@@ -249,6 +249,7 @@ + } + HWBType; + ++#if 0 + static HWBType * + RGB_to_HWB (RGBType RGB, HWBType * HWB) + { +@@ -308,7 +309,6 @@ + return diff; + } + +-#if 0 + /* + * This is not actually used, but is here for completeness, in case someone wants to + * use the HWB stuff for anything else... +@@ -355,6 +355,7 @@ + } + #endif + ++#if 0 + int + gdImageColorClosestHWB (gdImagePtr im, int r, int g, int b) + { +@@ -384,6 +385,7 @@ + } + return ct; + } ++#endif + + int + gdImageColorExact (gdImagePtr im, int r, int g, int b) +@@ -677,7 +679,7 @@ + } + } + +-int ++static int + gdImageGetTrueColorPixel (gdImagePtr im, int x, int y) + { + int p = gdImageGetPixel (im, x, y); +@@ -1286,11 +1288,11 @@ + return len; + } + +-#ifndef HAVE_LSQRT ++#if 0 + /* If you don't have a nice square root function for longs, you can use + ** this hack + */ +-long ++static long + lsqrt (long n) + { + long result = (long) sqrt ((double) n); +@@ -2250,7 +2252,7 @@ + } + } + +-int gdCompareInt (const void *a, const void *b); ++static int gdCompareInt (const void *a, const void *b); + + /* THANKS to Kirsten Schulz for the polygon fixes! */ + +diff -ru libwmf-0.2.8.4/src/extra/gd/gdcache.h libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h +--- libwmf-0.2.8.4/src/extra/gd/gdcache.h 2001-08-21 15:40:33.000000000 +0100 ++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h 2006-11-16 12:13:40.000000000 +0000 +@@ -41,6 +41,9 @@ + /*********************************************************/ + + /* #include */ ++ ++#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..b778286de --- /dev/null +++ b/patches/source/libwmf/libwmf.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/bash + +# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=libwmf +VERSION=0.2.8.4 +BUILD=${BUILD:-6_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} +TMP=${TMP:-/tmp} + +PKG=$TMP/package-libwmf + +rm -rf $PKG +mkdir -p $PKG + +cd $TMP +rm -rf libwmf-$VERSION +tar xvf $CWD/libwmf-$VERSION.tar.?z* || exit 1 +cd libwmf-$VERSION || exit 1 + +zcat $CWD/libwmf.png14.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Miscellaneous patches from Fedora: +zcat $CWD/libwmf-0.2.8.4-fallbackfont.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-pixbufloaderdir.patch.gz | patch -p1 --verbose || exit 1 + +# Don't export the modified embedded GD library symbols, to avoid conflicts with +# the system libgd: +zcat $CWD/libwmf-0.2.8.4-reducesymbols.patch.gz | patch -p1 --verbose || exit 1 + +# Patch security issues: +zcat $CWD/libwmf-0.2.8.4-useafterfree.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2006-3376.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2004-0941.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2007-0455.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2007-2756.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2007-3472.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2007-3473.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2007-3477.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2009-3546.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2015-4695.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2015-4696.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2016-10167.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2016-10168.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2016-9011.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2016-9317.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/libwmf-0.2.8.4-CVE-2017-6362.patch.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --enable-static=no \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc +mv $PKG/usr/share/doc/libwmf $PKG/usr/doc/libwmf-$VERSION +rmdir $PKG/usr/share/doc +cp -a \ + AUTHORS BUILDING COPYING CREDITS NEWS README TODO \ + $PKG/usr/doc/libwmf-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libwmf-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/libwmf/libwmf.png14.diff b/patches/source/libwmf/libwmf.png14.diff new file mode 100644 index 000000000..c55b143c8 --- /dev/null +++ b/patches/source/libwmf/libwmf.png14.diff @@ -0,0 +1,11 @@ +--- ./src/extra/gd/gd_png.c.orig 2005-07-27 15:35:06.000000000 -0500 ++++ ./src/extra/gd/gd_png.c 2010-02-14 18:24:19.000000000 -0600 +@@ -136,7 +136,7 @@ + /* first do a quick check that the file really is a PNG image; could + * have used slightly more general png_sig_cmp() function instead */ + gdGetBuf (sig, 8, infile); +- if (!png_check_sig (sig, 8)) ++ if (!(png_sig_cmp(sig, 0, 8) == 0)) + return NULL; /* bad signature */ + + #ifndef PNG_SETJMP_NOT_SUPPORTED diff --git a/patches/source/libwmf/slack-desc b/patches/source/libwmf/slack-desc new file mode 100644 index 000000000..19f99a7de --- /dev/null +++ b/patches/source/libwmf/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libwmf: libwmf (WMF graphics format library) +libwmf: +libwmf: libwmf is a library for interpreting metafile images and either +libwmf: displaying them using X or converting them to standard formats such +libwmf: as PNG, JPEG, PS, EPS and SVG. +libwmf: +libwmf: +libwmf: +libwmf: +libwmf: +libwmf: diff --git a/patches/source/libxcb/arch.use.flags b/patches/source/libxcb/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/libxcb/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/libxcb/build/libxcb b/patches/source/libxcb/build/libxcb new file mode 100644 index 000000000..3c4481e07 --- /dev/null +++ b/patches/source/libxcb/build/libxcb @@ -0,0 +1 @@ +2_slack14.0 diff --git a/patches/source/libxcb/configure/libxcb b/patches/source/libxcb/configure/libxcb new file mode 100644 index 000000000..0c8a4a8c8 --- /dev/null +++ b/patches/source/libxcb/configure/libxcb @@ -0,0 +1,14 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --disable-static \ + --enable-xinput \ + --enable-xkb \ + --build=$ARCH-slackware-linux diff --git a/patches/source/libxcb/libxcb.SlackBuild b/patches/source/libxcb/libxcb.SlackBuild new file mode 100755 index 000000000..1c0b31650 --- /dev/null +++ b/patches/source/libxcb/libxcb.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild xcb libxcb +mv /tmp/x11-build/libxcb*txz /tmp diff --git a/patches/source/libxcb/modularize b/patches/source/libxcb/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/libxcb/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/libxcb/noarch b/patches/source/libxcb/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/libxcb/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/libxcb/package-blacklist b/patches/source/libxcb/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/libxcb/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/libxcb/post-install/libxcb.post-install b/patches/source/libxcb/post-install/libxcb.post-install new file mode 100644 index 000000000..481ca730e --- /dev/null +++ b/patches/source/libxcb/post-install/libxcb.post-install @@ -0,0 +1,66 @@ + +# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# Add documentation: +mkdir -p $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION +cp -a \ + COPYING INSTALL NEWS README \ + $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION +mv $PKG/usr/share/doc/libxcb/tutorial $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION +# The manual isn't building for now, so... +rm -rf $PKG/usr/share/doc/libxcb +rmdir $PKG/usr/share/doc +rmdir $PKG/usr/share + +# Older versions of libxcb shipped a poorly libtooled .la file that caused +# the now-gone libxcb-xlib.so module to be incorrectly linked with many +# binaries and libraries, and cause the module to be listed (again, +# incorrectly) in a lot of .la files. Rather than breaking a large amount +# of existing X programs, we will use this simple trick to allow old binaries +# to keep running, and new things to compile even if a bogus .la file +# referencing libxcb-xlib is in the development environment. +# +# References to libxcb-xlib will go away as things are recompiled in the +# future (we've eliminated any remaining references in Slackware itself). +# +# It's like letting a sliver work out instead of cutting off the finger. + +( cd $PKG/usr/lib + ln -sf libxcb.so.1 libxcb-xlib.so.0 + ln -sf libxcb-xlib.so.0 libxcb-xlib.so + ln -sf libxcb.la libxcb-xlib.la +) + +# Changes to the .soname versions have caused a few binaries to break when +# libxcb was updated to facilitate security fixes. While the old library +# versions could be included in the package to fix this, that might result +# in a binary loading both library versions at the same time. Past +# experience has shown that to cause segfaults or other issues. So, we'll +# add a few compatibility symlinks so that old binaries will load. If +# it turns out to be required, we'll recompile anything that happens to run +# into an ABI issue due to this, but the testing seems to indicate that it +# won't break anything. At least there will be less breakage with this +# fix. If anyone notices any, please let us know. +( cd $PKG/usr/lib + ln -sf libxcb-sync.so.1 libxcb-sync.so.0 +) + diff --git a/patches/source/libxcb/slack-desc/libxcb b/patches/source/libxcb/slack-desc/libxcb new file mode 100644 index 000000000..35182210a --- /dev/null +++ b/patches/source/libxcb/slack-desc/libxcb @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libxcb: libxcb (X protocol C-language Binding) +libxcb: +libxcb: The XCB library provides an interface to the X Window System protocol +libxcb: which is fully capable of replacing Xlib. In fact, libX11 makes use +libxcb: of libxcb as much as possible. :-) Porting to XCB has several +libxcb: advantages such as a smaller memory footprint, latency hiding, direct +libxcb: protocol access, and improved thread support. +libxcb: +libxcb: +libxcb: +libxcb: diff --git a/patches/source/libxcb/x11.SlackBuild b/patches/source/libxcb/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/libxcb/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/libxml2/libxml2.SlackBuild b/patches/source/libxml2/libxml2.SlackBuild new file mode 100755 index 000000000..4e7cd6cc3 --- /dev/null +++ b/patches/source/libxml2/libxml2.SlackBuild @@ -0,0 +1,112 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=libxml2 +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libxml2 +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf libxml2-$VERSION +tar xvf $CWD/libxml2-$VERSION.tar.?z* || exit 1 +cd libxml2-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/libxml2.do-not-check-crc.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +#echo +#echo "Only the python bindings in /usr/lib/python__/site-packages/ should" +#echo "be kept... toss the other stuff" +#echo + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mv $PKG/usr/share/doc $PKG/usr +mv $PKG/usr/doc/libxml2-python-$VERSION $PKG/usr/doc/libxml2-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README \ + $PKG/usr/doc/libxml2-$VERSION +find $PKG/usr/doc/libxml2-$VERSION -type f | xargs chmod 644 + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +# Be sure to clobber any .pyc files that might have been generated so that +# the new .py files will be used instead of the already compiled copies +cat << EOF > $PKG/install/doinst.sh +rm -f /usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/libxml2.pyc +rm -f /usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/drv_libxml2.pyc +EOF + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libxml2-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libxml2/libxml2.do-not-check-crc.diff b/patches/source/libxml2/libxml2.do-not-check-crc.diff new file mode 100644 index 000000000..3e6507764 --- /dev/null +++ b/patches/source/libxml2/libxml2.do-not-check-crc.diff @@ -0,0 +1,35 @@ +diff -up libxml2-2.9.0/xzlib.c.do-not-check-crc libxml2-2.9.0/xzlib.c +--- libxml2-2.9.0/xzlib.c.do-not-check-crc 2012-09-11 05:52:46.000000000 +0200 ++++ libxml2-2.9.0/xzlib.c 2012-11-19 19:28:42.431700534 +0100 +@@ -552,17 +552,20 @@ xz_decomp(xz_statep state) + #ifdef HAVE_ZLIB_H + if (state->how == GZIP) { + if (gz_next4(state, &crc) == -1 || gz_next4(state, &len) == -1) { +- xz_error(state, LZMA_DATA_ERROR, "unexpected end of file"); +- return -1; +- } +- if (crc != state->zstrm.adler) { +- xz_error(state, LZMA_DATA_ERROR, "incorrect data check"); +- return -1; +- } +- if (len != (state->zstrm.total_out & 0xffffffffL)) { +- xz_error(state, LZMA_DATA_ERROR, "incorrect length check"); +- return -1; +- } ++ /* ++ xz_error(state, LZMA_DATA_ERROR, "unexpected end of file"); ++ return -1; ++ */ ++ } else { ++ if (crc != state->zstrm.adler) { ++ xz_error(state, LZMA_DATA_ERROR, "incorrect data check"); ++ return -1; ++ } ++ if (len != (state->zstrm.total_out & 0xffffffffL)) { ++ xz_error(state, LZMA_DATA_ERROR, "incorrect length check"); ++ return -1; ++ } ++ } + state->strm.avail_in = 0; + state->strm.next_in = NULL; + state->strm.avail_out = 0; diff --git a/patches/source/libxml2/slack-desc b/patches/source/libxml2/slack-desc new file mode 100644 index 000000000..dfbc38dc3 --- /dev/null +++ b/patches/source/libxml2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libxml2: libxml2 (XML parser library) +libxml2: +libxml2: Libxml2 is the XML C parser library and toolkit. XML itself is a +libxml2: metalanguage to design markup languages -- i.e. a text language where +libxml2: structures are added to the content using extra "markup" information +libxml2: enclosed between angle brackets. HTML is the most well-known markup +libxml2: language. Though the library is written in C, a variety of language +libxml2: bindings make it available in other environments. +libxml2: +libxml2: +libxml2: diff --git a/patches/source/libxslt/libxslt.SlackBuild b/patches/source/libxslt/libxslt.SlackBuild new file mode 100755 index 000000000..ab2564b9d --- /dev/null +++ b/patches/source/libxslt/libxslt.SlackBuild @@ -0,0 +1,100 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2012, 2013, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=libxslt +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-libxslt +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf libxslt-$VERSION +tar xvf $CWD/libxslt-$VERSION.tar.?z* || exit 1 +cd libxslt-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-static \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mv $PKG/usr/share/doc $PKG/usr +mv $PKG/usr/doc/libxslt-python-$VERSION $PKG/usr/doc/libxslt-$VERSION +cp -a \ + AUTHORS COPYING* Copyright FEATURES INSTALL IPR NEWS README TODO libxslt.spec \ + $PKG/usr/doc/libxslt-$VERSION +find $PKG/usr/doc/libxslt-$VERSION -type f | xargs chmod 644 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +#echo +#echo "Only the python bindings in /usr/lib/python__/site-packages/ should" +#echo "be kept... toss the other stuff" +#echo + +cd $PKG +/sbin/makepkg -l y -c n $TMP/libxslt-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libxslt/slack-desc b/patches/source/libxslt/slack-desc new file mode 100644 index 000000000..d758d08d3 --- /dev/null +++ b/patches/source/libxslt/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libxslt: libxslt (XML transformation library) +libxslt: +libxslt: XSLT support for libxml2. (XSLT is a language used for transforming +libxslt: XML documents) +libxslt: +libxslt: +libxslt: +libxslt: +libxslt: +libxslt: +libxslt: diff --git a/patches/source/libyaml/libyaml.SlackBuild b/patches/source/libyaml/libyaml.SlackBuild new file mode 100755 index 000000000..bbfab676e --- /dev/null +++ b/patches/source/libyaml/libyaml.SlackBuild @@ -0,0 +1,114 @@ +#!/bin/sh + +# Copyright 2011 Vincent Batts, Vienna, VA, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=libyaml +SRCNAM=yaml +VERSION=$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev) +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i486 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* || exit 1 +cd $SRCNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-static \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + README LICENSE doc \ + $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +#cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/libyaml/libyaml.url b/patches/source/libyaml/libyaml.url new file mode 100644 index 000000000..0ee34d3f2 --- /dev/null +++ b/patches/source/libyaml/libyaml.url @@ -0,0 +1 @@ +http://pyyaml.org/wiki/LibYAML diff --git a/patches/source/libyaml/slack-desc b/patches/source/libyaml/slack-desc new file mode 100644 index 000000000..8965634dd --- /dev/null +++ b/patches/source/libyaml/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +libyaml: libyaml (YAML parser, written in C) +libyaml: +libyaml: YAML Ain't Markup Language. It is a human friendly data serialization +libyaml: standard for all programming languages. +libyaml: +libyaml: Homepage: http://pyyaml.org/wiki/LibYAML +libyaml: +libyaml: +libyaml: +libyaml: +libyaml: diff --git a/patches/source/llvm/llvm.SlackBuild b/patches/source/llvm/llvm.SlackBuild new file mode 100755 index 000000000..19cb0ea59 --- /dev/null +++ b/patches/source/llvm/llvm.SlackBuild @@ -0,0 +1,176 @@ +#!/bin/sh + +# Slackware build script for llvm + +# Copyright 2008-2011 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=llvm +VERSION=3.0 +BUILD=${BUILD:-3_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CLANG=${CLANG:-yes} + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-${VERSION}.src +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz + +if [ "$CLANG" = "no" ]; then + cd $PKGNAM-${VERSION}.src +else + cd $PKGNAM-${VERSION}.src/tools + rm -rf clang clang-${VERSION}.src + tar xvf $CWD/clang-$VERSION.tar.xz + mv clang-${VERSION}.src clang + cd ../ + + # clang fixes for slackware + # No longer needed as of llvm/clang 3.0? + #patch -p1 -d tools/clang -i $CWD/clang-slackware.diff +fi + +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +CINC="/usr/include/" +GCCDIR=/usr/lib$LIBDIRSUFFIX/gcc/$ARCH-slackware-linux*/*/ +CINC="$CINC:$(echo ${GCCDIR})/include/" +CINC="$CINC:$(echo ${GCCDIR})/include-fixed/" + +# Disable RPATH usage: +zcat $CWD/llvm.rpath.fix.diff.gz | patch -p1 --verbose || exit 1 + +# --mandir doesn't work currently +# need to disable assertions to make llvm thread-safe +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib$LIBDIRSUFFIX \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --enable-optimized \ + --disable-assertions \ + --enable-pic \ + --with-c-include-dirs=$CINC \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux || exit 1 + +# Correct libdir setting +sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \ + Makefile.config + +if [ "$CLANG" != "no" ]; then + sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \ + tools/clang/lib/Headers/Makefile +fi + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +if [ "$CLANG" != "no" ]; then + # install clang-static-analyzer + mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer + cp -pr tools/clang/tools/scan-{build,view} \ + $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/ || exit 1 + for i in scan-{build,view}; do + ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/$i/$i \ + $PKG/usr/bin/$i || exit 1 + done + for i in ccc c++; do + ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/$i-analyzer \ + $PKG/usr/bin/$i-analyzer || exit 1 + done +fi + +# Remove example libraries +rm -f $PKG/usr/lib$LIBDIRSUFFIX/LLVMHello* + +# Fix wrong libdir +sed -i -e "s|ABS_RUN_DIR/lib\"|ABS_RUN_DIR/lib$LIBDIRSUFFIX\"|" \ + $PKG/usr/bin/llvm-config + +# Move man page directory: +mv $PKG/usr/share/man $PKG/usr/ +# Try to remove /usr/share, which should be empty now. If it's not, fine. +rmdir $PKG/usr/share + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a CREDITS* LICENSE* README* $PKG/usr/doc/$PKGNAM-$VERSION +mv $PKG/usr/docs/llvm/* $PKG/usr/doc/$PKGNAM-$VERSION +rm -rf $PKG/usr/docs + +if [ "$CLANG" != "no" ]; then + mkdir $PKG/usr/doc/$PKGNAM-$VERSION/clang + cp -a tools/clang/{INSTALL,NOTES,README,TODO}* \ + $PKG/usr/doc/$PKGNAM-$VERSION/clang +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/llvm/llvm.rpath.fix.diff b/patches/source/llvm/llvm.rpath.fix.diff new file mode 100644 index 000000000..999190355 --- /dev/null +++ b/patches/source/llvm/llvm.rpath.fix.diff @@ -0,0 +1,14 @@ +--- ./Makefile.rules.orig 2013-12-11 15:56:38.555684622 -0600 ++++ ./Makefile.rules 2013-12-11 15:57:16.220684222 -0600 +@@ -546,9 +546,9 @@ + ifdef TOOLNAME + LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' + ifdef EXAMPLE_TOOL +- LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(DynamicFlag) ++ LD.Flags += $(DynamicFlag) + else +- LD.Flags += $(RPATH) -Wl,$(ToolDir) $(DynamicFlag) ++ LD.Flags += $(DynamicFlag) + endif + endif + else diff --git a/patches/source/llvm/llvm.url b/patches/source/llvm/llvm.url new file mode 100644 index 000000000..369fedaba --- /dev/null +++ b/patches/source/llvm/llvm.url @@ -0,0 +1,2 @@ +http://llvm.org/releases/3.0/llvm-3.0.tar.gz +http://llvm.org/releases/3.0/clang-3.0.tar.gz diff --git a/patches/source/llvm/slack-desc b/patches/source/llvm/slack-desc new file mode 100644 index 000000000..b466d361a --- /dev/null +++ b/patches/source/llvm/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +llvm: llvm (LLVM compiler toolkit) +llvm: +llvm: Low Level Virtual Machine is a toolkit for the construction of highly +llvm: optimized compilers, optimizers, and runtime environments. +llvm: +llvm: This package also includes the clang frontend for the C family of +llvm: languages: C, C++, Objective-C, and Objective-C++ +llvm: +llvm: +llvm: Homepage: http://llvm.org/ +llvm: diff --git a/patches/source/lm_sensors/lm_sensors.SlackBuild b/patches/source/lm_sensors/lm_sensors.SlackBuild new file mode 100755 index 000000000..ee45a562b --- /dev/null +++ b/patches/source/lm_sensors/lm_sensors.SlackBuild @@ -0,0 +1,125 @@ +#!/bin/sh + +# Copyright 2006, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=lm_sensors +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +zcat $CWD/lm_sensors.makefile.diff.gz | patch -p1 --verbose || exit 1 + +make user LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1 +make user_install LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1 + +# Nope. +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a + +# Nope. +rm -rf $PKG/usr/include/linux + +# Do the .new thing with the config file: +mv $PKG/etc/sensors3.conf $PKG/etc/sensors3.conf.new + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + CHANGES CONTRIBUTORS COPYING* INSTALL README* doc \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat << EOF > $PKG/install/doinst.sh +#!/bin/sh +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/sensors3.conf.new +EOF + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/lm_sensors/lm_sensors.makefile.diff b/patches/source/lm_sensors/lm_sensors.makefile.diff new file mode 100644 index 000000000..8216a8d1e --- /dev/null +++ b/patches/source/lm_sensors/lm_sensors.makefile.diff @@ -0,0 +1,15 @@ +--- ./Makefile.orig 2008-03-26 08:37:12.000000000 -0500 ++++ ./Makefile 2008-10-25 20:05:44.000000000 -0500 +@@ -39,10 +39,10 @@ + + # If you want to install at some other place then at from which you will run + # everything, set DESTDIR to the extra prefix. +-DESTDIR := ++DESTDIR := /tmp/package-lm_sensors + + # This is the prefix that will be used for almost all directories below. +-PREFIX := /usr/local ++PREFIX := /usr + + # Your C compiler + CC := gcc diff --git a/patches/source/lm_sensors/slack-desc b/patches/source/lm_sensors/slack-desc new file mode 100644 index 000000000..2f32f80d7 --- /dev/null +++ b/patches/source/lm_sensors/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +lm_sensors: lm_sensors (hardware monitoring package) +lm_sensors: +lm_sensors: lm_sensors provides tools for monitoring the temperatures, voltages, +lm_sensors: and fans of Linux systems with hardware monitoring devices. Included +lm_sensors: are text-based tools for sensor reporting, and a library for sensors +lm_sensors: access called libsensors. It also contains tools for sensor hardware +lm_sensors: identification and I2C bus probing. +lm_sensors: +lm_sensors: IMPORTANT NOTE: If you have a Thinkpad, please read the warnings in +lm_sensors: the README.thinkpad file. lm_sensors has been known to cause damage +lm_sensors: to some Thinkpads. diff --git a/patches/source/loudmouth/loudmouth.SlackBuild b/patches/source/loudmouth/loudmouth.SlackBuild new file mode 100755 index 000000000..4c59dd17f --- /dev/null +++ b/patches/source/loudmouth/loudmouth.SlackBuild @@ -0,0 +1,133 @@ +#!/bin/sh +# Copyright 2009 Eric Hameleers, Eindhoven, NL +# Copyright 2012, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# ----------------------------------------------------------------------------- + +PKGNAM=loudmouth +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + SLKLDFLAGS="" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + SLKLDFLAGS="" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + SLKLDFLAGS="-L/usr/lib64" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + SLKLDFLAGS="" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +LDFLAGS="$SLKLDFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --with-ssl=gnutls \ + --enable-debug=yes \ + --enable-static=no \ + --disable-gtk-doc \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux || exit 1 + +## +## NOTE: For some reason --enable-debug=yes actually _disables_ verbose debug +## messages to the console. Don't mess with it! +## + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# --enable-static is often ignored +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS CONTRIBUTORS COPYING* NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Add a package description: +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz diff --git a/patches/source/loudmouth/slack-desc b/patches/source/loudmouth/slack-desc new file mode 100644 index 000000000..ca3c4b702 --- /dev/null +++ b/patches/source/loudmouth/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +loudmouth: loudmouth (XMPP C programming library) +loudmouth: +loudmouth: Loudmouth is a lightweight and easy-to-use C library for programming +loudmouth: with the Jabber protocol. It is designed to be easy to get started +loudmouth: with, and yet extensible enough to allow you to do anything that the +loudmouth: Jabber protocol allows. +loudmouth: +loudmouth: loudmouth home: https://github.com/mcabber/loudmouth +loudmouth: +loudmouth: +loudmouth: diff --git a/patches/source/lynx/doinst.sh b/patches/source/lynx/doinst.sh new file mode 100644 index 000000000..79c367133 --- /dev/null +++ b/patches/source/lynx/doinst.sh @@ -0,0 +1,13 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/lynx.cfg.new diff --git a/patches/source/lynx/lynx.SlackBuild b/patches/source/lynx/lynx.SlackBuild new file mode 100755 index 000000000..44dfa95d9 --- /dev/null +++ b/patches/source/lynx/lynx.SlackBuild @@ -0,0 +1,155 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012, 2016, 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGVER=2.8.8rel.2 +DIRVER=2-8-8 +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-lynx + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}/lynx +cd $TMP +rm -rf lynx$DIRVER +tar xvf $CWD/lynx${PKGVER}.tar.?z* || exit 1 +cd lynx$DIRVER || exit 1 + +find . -name "*~" -exec rm -f {} \; +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Change default colors and STARTFILE setting since the old site is gone: +zcat $CWD/lynx.cfg.diff.gz | patch -p1 --verbose --backup || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX}/lynx \ + --datadir=/usr/share/lynx \ + --mandir=/usr/man \ + --enable-default-colors \ + --with-screen=ncursesw \ + --enable-widec \ + --enable-gzip-help \ + --with-zlib \ + --enable-read-eta \ + --enable-scrollbar \ + --with-ssl \ + --enable-ipv6 \ + --enable-color-style \ + --enable-prettysrc \ + --enable-source-cache \ + --enable-nsl-fork \ + --enable-nls \ + --enable-persistent-cookies \ + --enable-vertrace \ + --disable-full-paths \ + --enable-addrlist-page \ + --enable-charset-choice \ + --enable-cjk \ + --enable-htmlized-cfg \ + --enable-justify-elts \ + --enable-locale-charset \ + --enable-externs \ + --enable-cgi-links \ + --enable-change-exec \ + --enable-exec-links \ + --enable-exec-scripts \ + --enable-internal-links \ + --with-bzlib \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +make install-help DESTDIR=$PKG || exit 1 +make install-doc DESTDIR=$PKG || exit 1 + +# Make lynx.cfg a preserved config file: +mv $PKG/etc/lynx.cfg $PKG/etc/lynx.cfg.new + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Correct $DESTDIR brokenness: +( cd $PKG/usr/share/lynx/lynx_help + rm -f COPYHEADER COPYING + ln -sf ../lynx_doc/COPYHEADER . + ln -sf ../lynx_doc/COPYING . +) +# Add documentation symlinks: +( mkdir -p $PKG/usr/doc/lynx-$PKGVER + cd $PKG/usr/doc/lynx-$PKGVER + ln -sf /usr/share/lynx/lynx_doc . + ln -sf /usr/share/lynx/lynx_help . +) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG/usr/share/lynx/lynx_doc) + cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/lynx-$PKGVER-$ARCH-$BUILD.txz + diff --git a/patches/source/lynx/lynx.cfg.diff b/patches/source/lynx/lynx.cfg.diff new file mode 100644 index 000000000..c2ecefd80 --- /dev/null +++ b/patches/source/lynx/lynx.cfg.diff @@ -0,0 +1,31 @@ +--- ./lynx.cfg.orig 2014-03-09 16:43:10.000000000 -0500 ++++ ./lynx.cfg 2017-05-29 14:35:52.629203408 -0500 +@@ -90,7 +90,7 @@ + # + # Normally we expect you will connect to a remote site, e.g., the Lynx starting + # site: +-STARTFILE:http://lynx.isc.org/ ++STARTFILE:http://lynx.invisible-island.net/ + # + # As an alternative, you may want to use a local URL. A good choice for this is + # the user's home directory: +@@ -2969,8 +2969,18 @@ + #COLOR:4:magenta:white + #COLOR:5:blue:white + #COLOR:6:red:white +-COLOR:6:brightred:black ++#COLOR:6:brightred:black + #COLOR:7:magenta:cyan ++COLOR:0:black:white ++COLOR:1:blue:white ++COLOR:2:yellow:blue ++COLOR:3:green:white ++COLOR:4:magenta:white ++COLOR:5:blue:white ++# This makes links a *lot* more visible. The default settings are like ++# "let's torture the color-blind" :^) ++COLOR:6:brightred:black ++COLOR:7:magenta:cyan + + .h2 COLOR_STYLE + # Also known as "lss" (lynx style-sheet), the color-style file assigns color diff --git a/patches/source/lynx/slack-desc b/patches/source/lynx/slack-desc new file mode 100644 index 000000000..c9209d298 --- /dev/null +++ b/patches/source/lynx/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +lynx: Lynx (text mode browser) +lynx: +lynx: Lynx is a distributed hypertext browser with full World Wide Web +lynx: capabilities. Lynx can be used to access information on the World +lynx: Wide Web, or to build information systems intended primarily for local +lynx: access. For example, Lynx has been used to build several Campus Wide +lynx: Information Systems (CWIS). +lynx: +lynx: Lynx's authors include Lou Montulli, Garrett Blythe, Craig Lavender, +lynx: Michael Grobe, and Charles Rezac. +lynx: diff --git a/patches/source/mailx/doinst.sh b/patches/source/mailx/doinst.sh new file mode 100644 index 000000000..62c288b48 --- /dev/null +++ b/patches/source/mailx/doinst.sh @@ -0,0 +1,14 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/nail.rc.new +# Make symlinks: diff --git a/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch b/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch new file mode 100644 index 000000000..fa6d51197 --- /dev/null +++ b/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch @@ -0,0 +1,232 @@ +Submitted By: Ken Moffat +Date: 2014-12-27 +Initial Package Version: 12.5 +Upstream Status: Unknown +Origin: Changes to remove SSL2 found at debian, remainder from redhat. +Description: Removes support for SSL2 (openssl no longer supports it) +and fixes CVE-2004-2771 [sic] and CVE-2014-7844. + +diff -Naur heirloom-mailx-12.5/extern.h heirloom-mailx-12.5-patched/extern.h +--- heirloom-mailx-12.5/extern.h 2011-04-26 22:23:22.000000000 +0100 ++++ heirloom-mailx-12.5-patched/extern.h 2014-12-27 01:26:59.654169487 +0000 +@@ -396,7 +396,7 @@ + int is_fileaddr(char *name); + struct name *usermap(struct name *names); + struct name *cat(struct name *n1, struct name *n2); +-char **unpack(struct name *np); ++char **unpack(struct name *smopts, struct name *np); + struct name *elide(struct name *names); + int count(struct name *np); + struct name *delete_alternates(struct name *np); +diff -Naur heirloom-mailx-12.5/fio.c heirloom-mailx-12.5-patched/fio.c +--- heirloom-mailx-12.5/fio.c 2011-04-26 22:23:22.000000000 +0100 ++++ heirloom-mailx-12.5-patched/fio.c 2014-12-27 01:27:15.634561413 +0000 +@@ -43,12 +43,15 @@ + #endif /* not lint */ + + #include "rcv.h" ++ ++#ifndef HAVE_WORDEXP ++#error wordexp support is required ++#endif ++ + #include + #include + #include +-#ifdef HAVE_WORDEXP + #include +-#endif /* HAVE_WORDEXP */ + #include + + #if defined (USE_NSS) +@@ -481,7 +484,6 @@ + static char * + globname(char *name) + { +-#ifdef HAVE_WORDEXP + wordexp_t we; + char *cp; + sigset_t nset; +@@ -495,7 +497,7 @@ + sigemptyset(&nset); + sigaddset(&nset, SIGCHLD); + sigprocmask(SIG_BLOCK, &nset, NULL); +- i = wordexp(name, &we, 0); ++ i = wordexp(name, &we, WRDE_NOCMD); + sigprocmask(SIG_UNBLOCK, &nset, NULL); + switch (i) { + case 0: +@@ -527,65 +529,6 @@ + } + wordfree(&we); + return cp; +-#else /* !HAVE_WORDEXP */ +- char xname[PATHSIZE]; +- char cmdbuf[PATHSIZE]; /* also used for file names */ +- int pid, l; +- char *cp, *shell; +- int pivec[2]; +- extern int wait_status; +- struct stat sbuf; +- +- if (pipe(pivec) < 0) { +- perror("pipe"); +- return name; +- } +- snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name); +- if ((shell = value("SHELL")) == NULL) +- shell = SHELL; +- pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL); +- if (pid < 0) { +- close(pivec[0]); +- close(pivec[1]); +- return NULL; +- } +- close(pivec[1]); +-again: +- l = read(pivec[0], xname, sizeof xname); +- if (l < 0) { +- if (errno == EINTR) +- goto again; +- perror("read"); +- close(pivec[0]); +- return NULL; +- } +- close(pivec[0]); +- if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) { +- fprintf(stderr, catgets(catd, CATSET, 81, +- "\"%s\": Expansion failed.\n"), name); +- return NULL; +- } +- if (l == 0) { +- fprintf(stderr, catgets(catd, CATSET, 82, +- "\"%s\": No match.\n"), name); +- return NULL; +- } +- if (l == sizeof xname) { +- fprintf(stderr, catgets(catd, CATSET, 83, +- "\"%s\": Expansion buffer overflow.\n"), name); +- return NULL; +- } +- xname[l] = 0; +- for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--) +- ; +- cp[1] = '\0'; +- if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) { +- fprintf(stderr, catgets(catd, CATSET, 84, +- "\"%s\": Ambiguous.\n"), name); +- return NULL; +- } +- return savestr(xname); +-#endif /* !HAVE_WORDEXP */ + } + + /* +diff -Naur heirloom-mailx-12.5/mailx.1 heirloom-mailx-12.5-patched/mailx.1 +--- heirloom-mailx-12.5/mailx.1 2011-04-26 22:23:22.000000000 +0100 ++++ heirloom-mailx-12.5-patched/mailx.1 2014-12-27 01:26:53.838026857 +0000 +@@ -656,6 +656,14 @@ + will have the system wide alias expanded + as all mail goes through sendmail. + .SS "Recipient address specifications" ++If the ++.I expandaddr ++option is not set (the default), recipient addresses must be names of ++local mailboxes or Internet mail addresses. ++.PP ++If the ++.I expandaddr ++option is set, the following rules apply: + When an address is used to name a recipient + (in any of To, Cc, or Bcc), + names of local mail folders +@@ -2391,6 +2399,12 @@ + If this option is set, + \fImailx\fR starts even with an empty mailbox. + .TP ++.B expandaddr ++Causes ++.I mailx ++to expand message recipient addresses, as explained in the section, ++Recipient address specifications. ++.TP + .B flipr + Exchanges the + .I Respond +@@ -3575,7 +3589,7 @@ + .TP + .B ssl-method + Selects a SSL/TLS protocol version; +-valid values are `ssl2', `ssl3', and `tls1'. ++valid values are `ssl3', and `tls1'. + If unset, the method is selected automatically, + if possible. + .TP +diff -Naur heirloom-mailx-12.5/names.c heirloom-mailx-12.5-patched/names.c +--- heirloom-mailx-12.5/names.c 2011-04-26 22:23:22.000000000 +0100 ++++ heirloom-mailx-12.5-patched/names.c 2014-12-27 01:26:59.654169487 +0000 +@@ -268,6 +268,9 @@ + FILE *fout, *fin; + int ispipe; + ++ if (value("expandaddr") == NULL) ++ return names; ++ + top = names; + np = names; + time(&now); +@@ -546,7 +549,7 @@ + * Return an error if the name list won't fit. + */ + char ** +-unpack(struct name *np) ++unpack(struct name *smopts, struct name *np) + { + char **ap, **top; + struct name *n; +@@ -561,7 +564,7 @@ + * the terminating 0 pointer. Additional spots may be needed + * to pass along -f to the host mailer. + */ +- extra = 2; ++ extra = 3 + count(smopts); + extra++; + metoo = value("metoo") != NULL; + if (metoo) +@@ -578,6 +581,10 @@ + *ap++ = "-m"; + if (verbose) + *ap++ = "-v"; ++ for (; smopts != NULL; smopts = smopts->n_flink) ++ if ((smopts->n_type & GDEL) == 0) ++ *ap++ = smopts->n_name; ++ *ap++ = "--"; + for (; n != NULL; n = n->n_flink) + if ((n->n_type & GDEL) == 0) + *ap++ = n->n_name; +diff -Naur heirloom-mailx-12.5/openssl.c heirloom-mailx-12.5-patched/openssl.c +--- heirloom-mailx-12.5/openssl.c 2011-04-26 22:23:22.000000000 +0100 ++++ heirloom-mailx-12.5-patched/openssl.c 2014-12-27 01:26:34.385549867 +0000 +@@ -216,9 +216,7 @@ + + cp = ssl_method_string(uhp); + if (cp != NULL) { +- if (equal(cp, "ssl2")) +- method = SSLv2_client_method(); +- else if (equal(cp, "ssl3")) ++ if (equal(cp, "ssl3")) + method = SSLv3_client_method(); + else if (equal(cp, "tls1")) + method = TLSv1_client_method(); +diff -Naur heirloom-mailx-12.5/sendout.c heirloom-mailx-12.5-patched/sendout.c +--- heirloom-mailx-12.5/sendout.c 2011-04-26 22:23:22.000000000 +0100 ++++ heirloom-mailx-12.5-patched/sendout.c 2014-12-27 01:26:59.654169487 +0000 +@@ -835,7 +835,7 @@ + #endif /* HAVE_SOCKETS */ + + if ((smtp = value("smtp")) == NULL) { +- args = unpack(cat(mailargs, to)); ++ args = unpack(mailargs, to); + if (debug || value("debug")) { + printf(catgets(catd, CATSET, 181, + "Sendmail arguments:")); diff --git a/patches/source/mailx/mailx.SlackBuild b/patches/source/mailx/mailx.SlackBuild new file mode 100755 index 000000000..09119f7a7 --- /dev/null +++ b/patches/source/mailx/mailx.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=12.5 +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mailx +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf mailx-$VERSION +tar xvf $CWD/mailx-$VERSION.tar.?z* || exit 1 +cd mailx-$VERSION || exit 1 + +zcat $CWD/heirloom-mailx-12.5-fixes-1.patch.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +make CFLAGS="$SLKCFLAGS" \ + PREFIX=/usr \ + MANDIR=/usr/man \ + MAILSPOOL=/var/spool/mail \ + UCBINSTALL=/usr/bin/install \ + SENDMAIL=/usr/sbin/sendmail + +make install DESTDIR=$PKG \ + CFLAGS="$SLKCFLAGS" \ + PREFIX=/usr \ + MANDIR=/usr/man \ + MAILSPOOL=/var/spool/mail \ + UCBINSTALL=/usr/bin/install \ + SENDMAIL=/usr/sbin/sendmail + +# We put symlinks in /bin since some things still expect '/bin/mail' or '/bin/Mail': +mkdir -p $PKG/bin +( cd $PKG/bin + ln -sf /usr/bin/mailx Mail + ln -sf /usr/bin/mailx mail + ln -sf /usr/bin/mailx nail +) +# Likewise, we make some compat symlinks in /usr/bin: +( cd $PKG/usr/bin + ln -sf mailx Mail + ln -sf mailx mail + ln -sf mailx nail +) +mv $PKG/etc/nail.rc $PKG/etc/nail.rc.new +strip $PKG/usr/bin/mailx + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Manpage links: +( cd $PKG/usr/man/man1 + ln -sf mailx.1.gz mail.1.gz + ln -sf mailx.1.gz nail.1.gz + ln -sf mailx.1.gz Mail.1.gz +) + +mkdir -p $PKG/usr/doc/mailx-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL README TODO \ + $PKG/usr/doc/mailx-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/mailx-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/mailx/slack-desc b/patches/source/mailx/slack-desc new file mode 100644 index 000000000..d02c6f03f --- /dev/null +++ b/patches/source/mailx/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mailx: mailx (a simple mail client) +mailx: +mailx: Mailx is derived from Berkeley Mail and is intended provide the +mailx: functionality of the POSIX mailx command with additional support +mailx: for MIME, IMAP, POP3, SMTP, and S/MIME. It provides enhanced +mailx: features for interactive use, such as caching and disconnected +mailx: operation for IMAP, message threading, scoring, and filtering. +mailx: It is also usable as a mail batch language, both for sending +mailx: and receiving mail. +mailx: +mailx: The maintainer and primary developer of mailx is Gunnar Ritter. diff --git a/patches/source/make/make-3.82-android-build-fix.diff b/patches/source/make/make-3.82-android-build-fix.diff new file mode 100644 index 000000000..8cd3db0d4 --- /dev/null +++ b/patches/source/make/make-3.82-android-build-fix.diff @@ -0,0 +1,16 @@ +--- make-3.82/function.c 2010-07-13 03:20:39.000000000 +0200 ++++ make-3.82/function.c 2010-10-27 01:43:27.000000000 +0200 +@@ -1138,12 +1138,12 @@ func_sort (char *o, char **argv, const c + { + char c = *(t++); + +- if (! isspace ((unsigned char)c)) ++ if (! isblank ((unsigned char)c)) + continue; + + ++wordi; + +- while (isspace ((unsigned char)*t)) ++ while (isblank ((unsigned char)*t)) + ++t; + } diff --git a/patches/source/make/make-3.82-bugfixes.patch b/patches/source/make/make-3.82-bugfixes.patch new file mode 100644 index 000000000..e89f14e0d --- /dev/null +++ b/patches/source/make/make-3.82-bugfixes.patch @@ -0,0 +1,250 @@ +diff -urpN make/ChangeLog make-new/ChangeLog +--- make/ChangeLog 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/ChangeLog 2010-09-13 13:42:09.000000000 +0200 +@@ -1,3 +1,22 @@ ++2010-08-13 Paul Smith ++ ++ * NEWS: Accidentally forgot to back out the sorted wildcard ++ enhancement in 3.82, so update NEWS. ++ Also add NEWS about the error check for explicit and pattern ++ targets in the same rule, added to 3.82. ++ ++ * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add ++ this in 3.82!) ++ ++ * read.c (parse_file_seq): Fix various errors parsing archives ++ with multiple objects in the parenthesis, as well as wildcards. ++ Fixes Savannah bug #30612. ++ ++2010-08-10 Paul Smith ++ ++ * main.c (main): Expand MAKEFLAGS before adding it to the ++ environment when re-exec'ing. Fixes Savannah bug #30723. ++ + 2010-07-28 Paul Smith + + Version 3.82 released. +diff -urpN make/main.c make-new/main.c +--- make/main.c 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/main.c 2010-09-13 13:42:12.000000000 +0200 +@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp + a macro and some compilers (MSVC) don't like conditionals in macros. */ + { + const char *features = "target-specific order-only second-expansion" +- " else-if shortest-stem undefine" ++ " else-if shortest-stem undefine oneshell" + #ifndef NO_ARCHIVES + " archives" + #endif +@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp + const char *pv = define_makeflags (1, 1); + char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1); + sprintf (p, "MAKEFLAGS=%s", pv); +- putenv (p); ++ putenv (allocated_variable_expand (p)); + } + + if (ISDB (DB_BASIC)) +diff -urpN make/NEWS make-new/NEWS +--- make/NEWS 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/NEWS 2010-09-13 13:42:11.000000000 +0200 +@@ -18,14 +18,6 @@ http://sv.gnu.org/bugs/index.php?group=m + * Compiling GNU make now requires a conforming ISO C 1989 compiler and + standard runtime library. + +-* WARNING: Future backward-incompatibility! +- Wildcards are not documented as returning sorted values, but up to and +- including this release the results have been sorted and some makefiles are +- apparently depending on that. In the next release of GNU make, for +- performance reasons, we may remove that sorting. If your makefiles +- require sorted results from wildcard expansions, use the $(sort ...) +- function to request it explicitly. +- + * WARNING: Backward-incompatibility! + The POSIX standard for make was changed in the 2008 version in a + fundamentally incompatible way: make is required to invoke the shell as if +@@ -42,6 +34,21 @@ http://sv.gnu.org/bugs/index.php?group=m + existing targets were provided in $?). + + * WARNING: Backward-incompatibility! ++ Wildcards were not documented as returning sorted values, but the results ++ have been sorted up until this release.. If your makefiles require sorted ++ results from wildcard expansions, use the $(sort ...) function to request ++ it explicitly. ++ ++* WARNING: Backward-incompatibility! ++ In previous versions of make it was acceptable to list one or more explicit ++ targets followed by one or more pattern targets in the same rule and it ++ worked "as expected". However, this was not documented as acceptable and if ++ you listed any explicit targets AFTER the pattern targets, the entire rule ++ would be mis-parsed. This release removes this ability completely: make ++ will generate an error message if you mix explicit and pattern targets in ++ the same rule. ++ ++* WARNING: Backward-incompatibility! + As a result of parser enhancements, three backward-compatibility issues + exist: first, a prerequisite containing an "=" cannot be escaped with a + backslash any longer. You must create a variable containing an "=" and +diff -urpN make/read.c make-new/read.c +--- make/read.c 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/read.c 2010-09-13 13:42:11.000000000 +0200 +@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned + { + /* This looks like the first element in an open archive group. + A valid group MUST have ')' as the last character. */ +- const char *e = p + nlen; ++ const char *e = p; + do + { + e = next_token (e); +@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned + Go to the next item in the string. */ + if (flags & PARSEFS_NOGLOB) + { +- NEWELT (concat (2, prefix, tp)); ++ NEWELT (concat (2, prefix, tmpbuf)); + continue; + } + + /* If we get here we know we're doing glob expansion. + TP is a string in tmpbuf. NLEN is no longer used. + We may need to do more work: after this NAME will be set. */ +- name = tp; ++ name = tmpbuf; + + /* Expand tilde if applicable. */ +- if (tp[0] == '~') ++ if (tmpbuf[0] == '~') + { +- tildep = tilde_expand (tp); ++ tildep = tilde_expand (tmpbuf); + if (tildep != 0) + name = tildep; + } +@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned + else + { + /* We got a chain of items. Attach them. */ +- (*newp)->next = found; ++ if (*newp) ++ (*newp)->next = found; ++ else ++ *newp = found; + + /* Find and set the new end. Massage names if necessary. */ + while (1) +diff -urpN make/tests/ChangeLog make-new/tests/ChangeLog +--- make/tests/ChangeLog 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/tests/ChangeLog 2010-09-13 13:42:10.000000000 +0200 +@@ -1,3 +1,16 @@ ++2010-08-13 Paul Smith ++ ++ * scripts/features/archives: New regression tests for archive ++ support. Test for fix to Savannah bug #30612. ++ ++ * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to ++ the features available in $(.FEATURES). ++ ++2010-08-10 Paul Smith ++ ++ * scripts/features/reinvoke: Ensure command line variable settings ++ are preserved across make re-exec. Tests Savannah bug #30723. ++ + 2010-07-28 Paul Smith + + * scripts/targets/POSIX: Compatibility issues with Solaris (and +diff -urpN make/tests/run_make_tests.pl make-new/tests/run_make_tests.pl +--- make/tests/run_make_tests.pl 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/tests/run_make_tests.pl 2010-09-13 13:42:10.000000000 +0200 +@@ -29,6 +29,7 @@ + # You should have received a copy of the GNU General Public License along with + # this program. If not, see . + ++%FEATURES = (); + + $valgrind = 0; # invoke make with valgrind + $valgrind_args = ''; +@@ -367,6 +368,8 @@ sub set_more_defaults + $parallel_jobs = 1; + } + ++ %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info \\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`; ++ + # Set up for valgrind, if requested. + + if ($valgrind) { +diff -urpN make/tests/scripts/features/archives make-new/tests/scripts/features/archives +--- make/tests/scripts/features/archives 1970-01-01 01:00:00.000000000 +0100 ++++ make-new/tests/scripts/features/archives 2010-09-13 13:42:10.000000000 +0200 +@@ -0,0 +1,42 @@ ++# -*-mode: perl-*- ++ ++$description = "Test GNU make's archive management features."; ++ ++$details = "\ ++This only works on systems that support it."; ++ ++# If this instance of make doesn't support archives, skip it ++exists $FEATURES{archives} or return -1; ++ ++# Create some .o files to work with ++utouch(-60, qw(a1.o a2.o a3.o)); ++ ++# Very simple ++run_make_test('all: libxx.a(a1.o)', ++ '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n"); ++ ++# Multiple .o's. Add a new one to the existing library ++run_make_test('all: libxx.a(a1.o a2.o)', ++ '', "ar rv libxx.a a2.o\na - a2.o\n"); ++ ++# Touch one of the .o's so it's rebuilt ++utouch(-40, 'a1.o'); ++run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n"); ++ ++# Use wildcards ++run_make_test('all: libxx.a(*.o)', ++ '', "#MAKE#: Nothing to be done for `all'.\n"); ++ ++# Touch one of the .o's so it's rebuilt ++utouch(-30, 'a1.o'); ++run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n"); ++ ++# Use both wildcards and simple names ++utouch(-50, 'a2.o'); ++run_make_test('all: libxx.a(a3.o *.o)', '', ++ "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n"); ++ ++rmfiles(qw(a1.o a2.o a3.o libxx.a)); ++ ++# This tells the test driver that the perl test script executed properly. ++1; +diff -urpN make/tests/scripts/features/reinvoke make-new/tests/scripts/features/reinvoke +--- make/tests/scripts/features/reinvoke 2010-09-13 13:42:35.000000000 +0200 ++++ make-new/tests/scripts/features/reinvoke 2010-09-13 13:42:10.000000000 +0200 +@@ -57,9 +57,24 @@ include $(F)', + # Now try with the file we're not updating being the actual file we're + # including: this and the previous one test different parts of the code. + +-run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n") ++run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n") + + &rmfiles('a','b','c'); + ++# Ensure command line variables are preserved properly across re-exec ++# Tests for Savannah bug #30723 ++ ++run_make_test(' ++ifdef RECURSE ++-include foo30723 ++endif ++recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test ++test: ; @echo F.O=$(F.O) ++foo30723: ; @touch $@ ++', ++ '--no-print-directory F.O=bar', "F.O=bar\n"); ++ ++unlink('foo30723'); ++ + # This tells the test driver that the perl test script executed properly. + 1; diff --git a/patches/source/make/make.SlackBuild b/patches/source/make/make.SlackBuild new file mode 100755 index 000000000..d5999ed1d --- /dev/null +++ b/patches/source/make/make.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=make +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-4_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-make + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf make-$VERSION +tar xvf $CWD/make-$VERSION.tar.bz2 || exit 1 +cd make-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Fix a problem using make-3.82 to build Android: +zcat $CWD/make-3.82-android-build-fix.diff.gz | patch -p1 --verbose || exit 1 + +zcat $CWD/make-3.82-bugfixes.patch.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --build=$ARCH-slackware-linux + +make -j6 || make || exit 1 +make install DESTDIR=$PKG || exit 1 +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) +gzip -9 $PKG/usr/man/man1/* +rm $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* +# This has been here so long that it should probably stay. +# Trying to get rid of ginstall didn't go well, so... :-) +( cd $PKG/usr/bin + rm -f gmake + ln -sf make gmake ) +mkdir -p $PKG/usr/doc/make-$VERSION +cp -a \ + ABOUT-NLS AUTHORS COPYING* NEWS README* \ + $PKG/usr/doc/make-$VERSION/ +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +makepkg -l y -c n $TMP/make-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/make/slack-desc b/patches/source/make/slack-desc new file mode 100644 index 000000000..ef19ca33a --- /dev/null +++ b/patches/source/make/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +make: make (GNU make utility to maintain groups of programs) +make: +make: This is the GNU implementation of make, which was written by Richard +make: Stallman and Roland McGrath. The purpose of the make utility is to +make: determine automatically which pieces of a large program need to be +make: recompiled, and issue the commands to recompile them. +make: +make: This is needed to compile just about any major C program, including +make: the Linux kernel. +make: +make: diff --git a/patches/source/mcabber/mcabber.SlackBuild b/patches/source/mcabber/mcabber.SlackBuild new file mode 100755 index 000000000..2fdf81dbb --- /dev/null +++ b/patches/source/mcabber/mcabber.SlackBuild @@ -0,0 +1,128 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=mcabber +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 +cd ${PKGNAM}-$VERSION + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* TODO mcabberrc.example \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +#zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/mcabber/slack-desc b/patches/source/mcabber/slack-desc new file mode 100644 index 000000000..e8cfe6653 --- /dev/null +++ b/patches/source/mcabber/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mcabber: mcabber (Jabber console client) +mcabber: +mcabber: mcabber is a small Jabber console client for Linux, maintained by +mcabber: Mikael Berthe. Mcabber includes features such as SSL support, +mcabber: multi-user chat (MUC), history logging, commands completion, and +mcabber: external actions triggers. +mcabber: +mcabber: mcabber project home is: http://www.lilotux.net/~mikael/mcabber/ +mcabber: +mcabber: +mcabber: diff --git a/patches/source/mercurial/doinst.sh b/patches/source/mercurial/doinst.sh new file mode 100644 index 000000000..4cefcc343 --- /dev/null +++ b/patches/source/mercurial/doinst.sh @@ -0,0 +1,13 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/mercurial/hgrc.d/hgk.rc.new +rm -f etc/mercurial/hgrc.d/hgk.rc.new diff --git a/patches/source/mercurial/mercurial.SlackBuild b/patches/source/mercurial/mercurial.SlackBuild new file mode 100755 index 000000000..3bf540277 --- /dev/null +++ b/patches/source/mercurial/mercurial.SlackBuild @@ -0,0 +1,109 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=${VERSION:-$(echo mercurial-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mercurial + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf mercurial-$VERSION +tar xvf $CWD/mercurial-$VERSION.tar.?z* || exit 1 +cd mercurial-$VERSION +chown -R root.root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +python setup.py build install --root=$PKG || exit 1 + +# Ordinarily we will not add stuff that's not installed through the normal +# default installation method, but we've had a lot of requests, and it appears +# that installing at least the hgk extension is the ad-hoc standard. +mkdir -p $PKG/usr/libexec/mercurial +cp -a contrib/hgk $PKG/usr/libexec/mercurial +chmod 0755 $PKG/usr/libexec/mercurial/hgk + +mkdir -p $PKG/etc/mercurial/hgrc.d +cat << EOF > $PKG/etc/mercurial/hgrc.d/hgk.rc.new +[extensions] +# enable hgk extension ('hg help' shows 'view' as a command) +hgk = +[hgk] + +path=/usr/libexec/mercurial/hgk +EOF + +# Bash and zsh completion: +mkdir -p $PKG/usr/share/bash-completion/completions/ +cp -a contrib/bash_completion $PKG/usr/share/bash-completion/completions/hg +chmod 644 $PKG/usr/share/bash-completion/completions/hg +mkdir -p $PKG/usr/share/zsh/site-functions +cp -a contrib/zsh_completion $PKG/usr/share/zsh/site-functions/_mercurial +chmod 644 $PKG/usr/share/zsh/site-functions/_mercurial + +# Emacs Lisp extensions: +mkdir -p $PKG/usr/share/emacs/site-lisp +cp -a contrib/mercurial.el contrib/mq.el $PKG/usr/share/emacs/site-lisp +chmod 644 $PKG/usr/share/emacs/site-lisp/* + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +( cd doc + for dir in 1 5 ; do + mkdir -p $PKG/usr/man/man${dir} + for file in *.${dir} ; do + cat $file | gzip -9c > $PKG/usr/man/man${dir}/${file}.gz + done + done +) + +mkdir -p $PKG/usr/doc/mercurial-$VERSION +cp -a \ + CONTRIBUTORS COPYING* PKG-INFO README* \ + $PKG/usr/doc/mercurial-$VERSION + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/mercurial-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/mercurial/slack-desc b/patches/source/mercurial/slack-desc new file mode 100644 index 000000000..e770f6c31 --- /dev/null +++ b/patches/source/mercurial/slack-desc @@ -0,0 +1,22 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + +# This article is licensed under the GNU Free Documentation License. +# It uses material from the Wikipedia article "Mercurial". + + |-----handy-ruler------------------------------------------------------| +mercurial: mercurial (a distributed source management system) +mercurial: +mercurial: Mercurial is a cross-platform, distributed source management tool for +mercurial: software developers. It is written in Python, with a binary diff +mercurial: implementation written in C. Its major features include high- +mercurial: performance; serverless, fully distributed collaborative development; +mercurial: robust handling of both plain text and binary files; advanced +mercurial: branching and merging capabilities; and full source code available +mercurial: under the terms of the LGPL. +mercurial: +mercurial: Mercurial was written by Matt Mackall and other contributors. diff --git a/patches/source/minicom/config.sub-x86_64.diff b/patches/source/minicom/config.sub-x86_64.diff new file mode 100644 index 000000000..fa89bb3c1 --- /dev/null +++ b/patches/source/minicom/config.sub-x86_64.diff @@ -0,0 +1,20 @@ +--- ./config.sub.orig 1998-04-26 17:20:59.000000000 +0400 ++++ ./config.sub 2007-08-30 09:48:46.000000000 +0400 +@@ -129,7 +129,7 @@ + case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. +- tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm \ ++ tahoe | i[345]86 | x86_64 | i860 | m68k | m68000 | m88k | ns32k | arm \ + | arme[lb] | pyramid \ + | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \ + | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \ +@@ -144,7 +144,7 @@ + exit 1 + ;; + # Recognize the basic CPU types with company name. +- vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \ ++ vax-* | tahoe-* | i[345]86-* | x86_64-* | i860-* | m68k-* | m68000-* | m88k-* \ + | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ + | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ + | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ diff --git a/patches/source/minicom/doinst.sh b/patches/source/minicom/doinst.sh new file mode 100644 index 000000000..5961829bc --- /dev/null +++ b/patches/source/minicom/doinst.sh @@ -0,0 +1,15 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/minicom.users.new +config etc/minirc.dfl.new +rm -f etc/minicom.users.new etc/minirc.dfl.new diff --git a/patches/source/minicom/lrzsz_0.12.21-5.diff b/patches/source/minicom/lrzsz_0.12.21-5.diff new file mode 100644 index 000000000..b2541a91b --- /dev/null +++ b/patches/source/minicom/lrzsz_0.12.21-5.diff @@ -0,0 +1,4194 @@ +--- lrzsz-0.12.21.orig/po/de.po ++++ lrzsz-0.12.21/po/de.po +@@ -28,21 +28,21 @@ + + #: src/lsz.c:422 + msgid "packetlength" +-msgstr "Paketlänge" ++msgstr "Paketl?nge" + + #: src/lsz.c:427 + #, c-format + msgid "packetlength out of range 24..%ld" +-msgstr "Argument der Option L außerhalb des Bereichs 24..%ld" ++msgstr "Argument der Option L au?erhalb des Bereichs 24..%ld" + + #: src/lsz.c:436 + msgid "framelength" +-msgstr "Framelänge" ++msgstr "Framel?nge" + + #: src/lsz.c:441 + #, c-format + msgid "framelength out of range 32..%ld" +-msgstr "Argument der Option l außerhalb des Bereichs 32..%ld" ++msgstr "Argument der Option l au?erhalb des Bereichs 32..%ld" + + #: src/lrz.c:318 src/lsz.c:450 + msgid "min_bps" +@@ -50,7 +50,7 @@ + + #: src/lsz.c:452 + msgid "min_bps must be >= 0" +-msgstr "minimale BPS-Rate muß >= 0 sein" ++msgstr "minimale BPS-Rate mu? >= 0 sein" + + #: src/lrz.c:324 src/lsz.c:458 + msgid "min_bps_time" +@@ -58,7 +58,7 @@ + + #: src/lrz.c:326 src/lsz.c:460 + msgid "min_bps_time must be > 1" +-msgstr "Zeitfenster für minimale BPS-Rate muß > 1 Sekunde sein" ++msgstr "Zeitfenster f?r minimale BPS-Rate mu? > 1 Sekunde sein" + + #: src/lrz.c:342 src/lsz.c:484 + msgid "hour to large (0..23)" +@@ -70,7 +70,7 @@ + + #: src/lrz.c:348 src/lsz.c:490 + msgid "minute to large (0..59)" +-msgstr "Minute zu groß (0..59)" ++msgstr "Minute zu gro? (0..59)" + + #: src/lrz.c:358 src/lrz.c:365 src/lsz.c:500 src/lsz.c:507 + msgid "stop time to small" +@@ -86,15 +86,15 @@ + + #: src/lrz.c:396 src/lsz.c:518 + msgid "timeout out of range 10..1000" +-msgstr "Argument der Option t außerhalb des Bereichs 10..1000" ++msgstr "Argument der Option t au?erhalb des Bereichs 10..1000" + + #: src/lrz.c:412 src/lsz.c:526 + msgid "security violation: can't do that under restricted shell\n" +-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten\n" ++msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten\n" + + #: src/lrz.c:402 src/lsz.c:533 + msgid "window size" +-msgstr "Fenstergröße" ++msgstr "Fenstergr??e" + + #: src/lrz.c:427 src/lrz.c:434 src/lsz.c:556 src/lsz.c:563 + msgid "cannot turnoff syslog" +@@ -102,7 +102,7 @@ + + #: src/lrz.c:449 src/lsz.c:571 + msgid "startup delay" +-msgstr "Startverzögerung" ++msgstr "Startverz?gerung" + + #: src/lrz.c:465 src/lrz.c:483 src/lrz.c:760 src/lrz.c:1122 src/lrz.c:1244 + #: src/lrz.c:1292 src/lrz.c:1309 src/lrz.c:1324 src/lrz.c:1423 src/lsz.c:580 +@@ -117,11 +117,11 @@ + + #: src/lsz.c:612 src/lsz.c:627 + msgid "need at least one file to send" +-msgstr "es muß mindestens ein Name einer zu sendenden Datei angegeben werden" ++msgstr "es mu? mindestens ein Name einer zu sendenden Datei angegeben werden" + + #: src/lsz.c:629 + msgid "Can't send command in restricted mode\n" +-msgstr "Im eingeschränkten Modus ist das Senden von Kommandos verboten\n" ++msgstr "Im eingeschr?nkten Modus ist das Senden von Kommandos verboten\n" + + #: src/lrz.c:527 src/lsz.c:656 + msgid "hostname too long\n" +@@ -137,21 +137,21 @@ + + #: src/lrz.c:574 src/lsz.c:803 + msgid "Transfer incomplete\n" +-msgstr "Übertragung nicht abgeschlossen\n" ++msgstr "?bertragung nicht abgeschlossen\n" + + #: src/lrz.c:576 src/lsz.c:805 + msgid "Transfer complete\n" +-msgstr "Übertragung abgeschlossen\n" ++msgstr "?bertragung abgeschlossen\n" + + #: src/lsz.c:838 + #, c-format + msgid "send_pseudo %s: cannot open tmpfile %s: %s" +-msgstr "send_pseudo %s: kann temporäre Datei %s nicht öffnen: %s" ++msgstr "send_pseudo %s: kann tempor?re Datei %s nicht ?ffnen: %s" + + #: src/lsz.c:851 + #, c-format + msgid "send_pseudo %s: cannot lstat tmpfile %s: %s" +-msgstr "send_pseudo %s: kann lstat nicht auf temporäre Datei %s anwenden: %s" ++msgstr "send_pseudo %s: kann lstat nicht auf tempor?re Datei %s anwenden: %s" + + #: src/lsz.c:859 + #, c-format +@@ -161,7 +161,7 @@ + #: src/lsz.c:870 + #, c-format + msgid "send_pseudo %s: cannot write to tmpfile %s: %s" +-msgstr "send_pseudo %s: kann nicht in temporäre Datei %s schreiben: %s" ++msgstr "send_pseudo %s: kann nicht in tempor?re Datei %s schreiben: %s" + + #: src/lsz.c:879 + #, c-format +@@ -188,17 +188,17 @@ + + #: src/lsz.c:953 + msgid "Can't open any requested files." +-msgstr "Kann keine der angeforderten Dateien öffnen" ++msgstr "Kann keine der angeforderten Dateien ?ffnen" + + #: src/lsz.c:1009 + #, c-format + msgid "security violation: not allowed to upload from %s" +-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten" ++msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten" + + #: src/lrz.c:1384 src/lsz.c:1027 + #, c-format + msgid "cannot open %s" +-msgstr "kann %s nicht öffnen" ++msgstr "kann %s nicht ?ffnen" + + #: src/lsz.c:1082 + #, c-format +@@ -213,12 +213,12 @@ + #: src/lsz.c:1119 + #, c-format + msgid "skipped: %s" +-msgstr "übersprungen: %s" ++msgstr "?bersprungen: %s" + + #: src/lsz.c:1122 + #, c-format + msgid "%s/%s: skipped" +-msgstr "%s/%s: übersprungen" ++msgstr "%s/%s: ?bersprungen" + + #: src/lsz.c:1149 + #, c-format +@@ -228,7 +228,7 @@ + #: src/lsz.c:1178 + #, c-format + msgid "Sending %s, %ld blocks: " +-msgstr "Sende %s, %ld Blöcke:" ++msgstr "Sende %s, %ld Bl?cke:" + + #: src/lsz.c:1181 + msgid "Give your local XMODEM receive command now." +@@ -245,11 +245,11 @@ + + #: src/lsz.c:1314 + msgid "Receiver Cancelled" +-msgstr "Empfänger brach ab" ++msgstr "Empf?nger brach ab" + + #: src/lsz.c:1340 + msgid "No ACK on EOT" +-msgstr "Keine Bestätigung für Übertragungsende erhalten" ++msgstr "Keine Best?tigung f?r ?bertragungsende erhalten" + + #: src/lsz.c:1361 + #, c-format +@@ -267,11 +267,11 @@ + + #: src/lsz.c:1399 + msgid "Timeout on sector ACK" +-msgstr "Timeout bei Sektorbestätigung" ++msgstr "Timeout bei Sektorbest?tigung" + + #: src/lsz.c:1404 + msgid "NAK on sector" +-msgstr "Sektor nicht bestätigt" ++msgstr "Sektor nicht best?tigt" + + #: src/lsz.c:1410 + msgid "Got burst for sector ACK" +@@ -280,11 +280,11 @@ + #: src/lsz.c:1412 + #, c-format + msgid "Got %02x for sector ACK" +-msgstr "Erhielt %02x als Sektorbestätigung" ++msgstr "Erhielt %02x als Sektorbest?tigung" + + #: src/lsz.c:1424 + msgid "Retry Count Exceeded" +-msgstr "Maximale Wiederholungsanzahl überschritten" ++msgstr "Maximale Wiederholungsanzahl ?berschritten" + + #: src/lrz.c:596 src/lsz.c:1502 + #, c-format +@@ -308,7 +308,7 @@ + + #: src/lsz.c:1513 + msgid "Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n" +-msgstr "Dateien mit ZMODEM/YMODEM/XMODEM übertragen\n" ++msgstr "Dateien mit ZMODEM/YMODEM/XMODEM ?bertragen\n" + + # src/lrz.c:475 src/lsz.c:1330 xx + #: src/lrz.c:607 src/lsz.c:1515 +@@ -317,9 +317,9 @@ + " (Y) = option applies to YMODEM only\n" + " (Z) = option applies to ZMODEM only\n" + msgstr "" +-" (X) = Option gilt nur für XMODEM\n" +-" (Y) = Option gilt nur für YMODEM\n" +-" (Z) = Option gilt nur für ZMODEM\n" ++" (X) = Option gilt nur f?r XMODEM\n" ++" (Y) = Option gilt nur f?r YMODEM\n" ++" (Z) = Option gilt nur f?r ZMODEM\n" + + #: src/lsz.c:1521 + msgid "" +@@ -347,32 +347,32 @@ + " -m, --min-bps N stop transmission if BPS below N\n" + " -M, --min-bps-time N for at least N seconds (default: 120)\n" + msgstr "" +-" -+, --append an existierende Dateien anhängen (Z)\n" ++" -+, --append an existierende Dateien anh?ngen (Z)\n" + " -2, --twostop zwei Stopbits verwenden\n" +-" -4, --try-4k bis zu 4K Blockgröße verwenden\n" +-" --start-4k mit 4K Blockgröße starten (versucht nicht 8)\n" +-" -8, --try-8k bis zu 8K Blockgröße verwenden\n" +-" --start-8k mit 8K Blockgröße starten\n" ++" -4, --try-4k bis zu 4K Blockgr??e verwenden\n" ++" --start-4k mit 4K Blockgr??e starten (versucht nicht 8)\n" ++" -8, --try-8k bis zu 8K Blockgr??e verwenden\n" ++" --start-8k mit 8K Blockgr??e starten\n" + " -a, --ascii ASCII: NL nach CR/LF wandeln\n" +-" -b, --binary Binärübertragung erzwingen\n" ++" -b, --binary Bin?r?bertragung erzwingen\n" + " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n" +-" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausführen " ++" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausf?hren " + "(Z)\n" +-" -C, --command-tries N N mal Kommandoausführung versuchen (Z)\n" ++" -C, --command-tries N N mal Kommandoausf?hrung versuchen (Z)\n" + " -d, --dot-to-slash C '.' in Dateinamen nach '/' wandeln (Y/Z)\n" + " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n" + " -e, --escape alle Steuerzeichen escapen (Z)\n" +-" -E, --rename Empfänger soll Datei umbenennen falls\n" ++" -E, --rename Empf?nger soll Datei umbenennen falls\n" + " Zieldatei schon existiert\n" + " -f, --full-path Dateien mit vollen Pfaden senden (Y/Z)\n" +-" -i, --immediate-command CMD wie `c', aber sofort zurückkehren (Z)\n" ++" -i, --immediate-command CMD wie `c', aber sofort zur?ckkehren (Z)\n" + " -h, --help diesen Hilfetext ausgeben\n" + " -k, --1k 1024 Bytes Pakete senden (Y)\n" +-" -L, --packetlen N Unterpaketlänge auf N Bytes beschränken (Z)\n" +-" -l, --framelen N Rahmenlänge auf N Bytes beschränken (l>=L) " ++" -L, --packetlen N Unterpaketl?nge auf N Bytes beschr?nken (Z)\n" ++" -l, --framelen N Rahmenl?nge auf N Bytes beschr?nken (l>=L) " + "(Z)\n" +-" -m, --min-bps N Übertragung abbrechen bei weniger als N BPS\n" +-" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n" ++" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n" ++" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n" + + #: src/lsz.c:1546 + msgid "" +@@ -400,28 +400,28 @@ + "short options use the same arguments as the long ones\n" + msgstr "" + " -n, --newer Datei senden wenn sie neuer ist (Z)\n" +-" -N, --newer-or-longer Datei senden wenn neuer oder länger (Z)\n" ++" -N, --newer-or-longer Datei senden wenn neuer oder l?nger (Z)\n" + " -o, --16-bit-crc 16Bit CRC statt 32Bit CRC verwenden (Z)\n" + " -O, --disable-timeouts Timeoutbehandlung abschalten\n" +-" -p, --protect existierende Dateien nicht verändern\n" +-" -r, --resume unterbrochene Übertragungen fortsetzen (Z)\n" +-" -R, --restricted eingeschränkter, sichererer Modus\n" ++" -p, --protect existierende Dateien nicht ver?ndern\n" ++" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n" ++" -R, --restricted eingeschr?nkter, sichererer Modus\n" + " -q, --quiet leise, keine Ausgaben machen\n" +-" -s, --stop-at {HH:MM|+N} Übertragung um HH:MM oder in N Sek. abbrechen\n" +-" --tcp-server Socket öffnen und auf Verbindung warten\n" +-" --tcp-client ADDR:PORT Socket öffnen und verbindung mit ...\n" +-" -u, --unlink Datei nach Übertragung löschen\n" +-" -U, --unrestrict eingeschränkten Modus aufheben (falls " ++" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n" ++" --tcp-server Socket ?ffnen und auf Verbindung warten\n" ++" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n" ++" -u, --unlink Datei nach ?bertragung l?schen\n" ++" -U, --unrestrict eingeschr?nkten Modus aufheben (falls " + "erlaubt)\n" + " -v, --verbose mehr ausgeben\n" +-" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n" ++" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n" + " -X --xmodem XMODEM-Protokoll benutzen\n" +-" -y, --overwrite existierende Dateien überschreiben\n" +-" -Y, --overwrite-or-skip wie `y', aber nicht existierende überspringen\n" ++" -y, --overwrite existierende Dateien ?berschreiben\n" ++" -Y, --overwrite-or-skip wie `y', aber nicht existierende ?berspringen\n" + " --ymodem YMODEM-Protokoll benutzen\n" + " -Z, --zmodem ZMODEM-Protokoll benutzen\n" + "\n" +-"Kurze Optionen benötigen dieselben Argumente wie Lange.\n" ++"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n" + + #: src/lsz.c:1768 + msgid "got ZRQINIT" +@@ -434,7 +434,7 @@ + #: src/lsz.c:1991 + #, c-format + msgid "blklen now %d\n" +-msgstr "Blockgröße nun %d\n" ++msgstr "Blockgr??e nun %d\n" + + #: src/lsz.c:2053 + #, c-format +@@ -453,7 +453,7 @@ + #: src/lsz.c:2223 + #, c-format + msgid "calc_blklen: reduced to %d due to error\n" +-msgstr "calc_blklen: Blockgrösse auf %d reduziert wegen Fehler\n" ++msgstr "calc_blklen: Blockgr?sse auf %d reduziert wegen Fehler\n" + + #: src/lsz.c:2256 + #, c-format +@@ -473,7 +473,7 @@ + #: src/lsz.c:2278 + #, c-format + msgid "calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n" +-msgstr "calc_blklen: Blocklänge %d, ok %ld, fehlgeschlagen %ld -> %lu\n" ++msgstr "calc_blklen: Blockl?nge %d, ok %ld, fehlgeschlagen %ld -> %lu\n" + + #: src/lsz.c:2290 + #, c-format +@@ -512,7 +512,7 @@ + + #: src/zm.c:712 + msgid "Garbage count exceeded" +-msgstr "Maximale Wiederholungsanzahl überschritten" ++msgstr "Maximale Wiederholungsanzahl ?berschritten" + + #: src/zm.c:773 + #, c-format +@@ -526,11 +526,11 @@ + + #: src/lrz.c:382 + msgid "don't have settimeofday, will not set time\n" +-msgstr "Zeitsynchronisation nicht ausführbar, settimeofday() fehlt\n" ++msgstr "Zeitsynchronisation nicht ausf?hrbar, settimeofday() fehlt\n" + + #: src/lrz.c:386 + msgid "not running as root (this is good!), can not set time\n" +-msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausführbar\n" ++msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausf?hrbar\n" + + #: src/lrz.c:441 + msgid "bytes_per_error" +@@ -542,16 +542,16 @@ + + #: src/lrz.c:455 + msgid "O_SYNC not supported by the kernel" +-msgstr "O_SYNC vom Kernel nicht unterstützt" ++msgstr "O_SYNC vom Kernel nicht unterst?tzt" + + #: src/lrz.c:497 src/lrz.c:499 + msgid "garbage on commandline" +-msgstr "Müll auf der Kommandozeile" ++msgstr "M?ll auf der Kommandozeile" + + #: src/lrz.c:604 + #, c-format + msgid "Usage: %s [options] [filename.if.xmodem]\n" +-msgstr "Benutzung: %s [Optionen] [Dateiname.für.xmodem]\n" ++msgstr "Benutzung: %s [Optionen] [Dateiname.f?r.xmodem]\n" + + #: src/lrz.c:605 + msgid "Receive files with ZMODEM/YMODEM/XMODEM protocol\n" +@@ -596,44 +596,44 @@ + "\n" + "short options use the same arguments as the long ones\n" + msgstr "" +-" -+, --append an existierende Dateien anhängen\n" +-" -a, --ascii ASCII-Übertragung (CR/LF nach LF wandeln)\n" +-" -b, --binary Binärübertragung (keine Umwandlungen)\n" ++" -+, --append an existierende Dateien anh?ngen\n" ++" -a, --ascii ASCII-?bertragung (CR/LF nach LF wandeln)\n" ++" -b, --binary Bin?r?bertragung (keine Umwandlungen)\n" + " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n" +-" -c, --with-crc 16bit CRC statt Prüfsumme verwenden (X)\n" +-" -C, --allow-remote-commands Ausführung von Kommandos erlauben (Z)\n" ++" -c, --with-crc 16bit CRC statt Pr?fsumme verwenden (X)\n" ++" -C, --allow-remote-commands Ausf?hrung von Kommandos erlauben (Z)\n" + " -D, --null empfangene Daten nach /dev/null schreiben\n" + " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n" + " -e, --escape Alle Steuerzeichen escapen (Z)\n" +-" -E, --rename Empfänger soll Datei umbenennen falls\n" ++" -E, --rename Empf?nger soll Datei umbenennen falls\n" + " Zieldatei schon existiert\n" + " --errors N Einen CRC-Fehler alle N Bytes erzeugen\n" + " -h, --help Diesen Hilfstext ausgeben\n" +-" -m, --min-bps N Übertragung abbrechen bei weniger als N BPS\n" +-" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n" ++" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n" ++" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n" + " -O, --disable-timeouts Timeoutbehandlung abschalten\n" + " --o-sync Ausgabedatei(en) im synchron schreiben\n" +-" -p, --protect existierende Dateien nicht verändern\n" ++" -p, --protect existierende Dateien nicht ver?ndern\n" + " -q, --quiet leise, keine Ausgaben machen\n" +-" -r, --resume unterbrochene Übertragungen fortsetzen (Z)\n" +-" -R, --restricted eingeschränkter, sichererer Modus\n" +-" -s, --stop-at {HH:MM|+N} Übertragung um HH:MM oder in N Sek. abbrechen\n" ++" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n" ++" -R, --restricted eingeschr?nkter, sichererer Modus\n" ++" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n" + " -S, --timesync Zeit anfordern (doppelt: lokale Zeit setzen)\n" +-" --syslog[=off] syslog an- oder ausschalten, wenn möglich\n" ++" --syslog[=off] syslog an- oder ausschalten, wenn m?glich\n" + " -t, --timeout N Timeout auf N Zehntelsekungen setzen\n" +-" --tcp-server Socket öffnen und auf Verbindung warten\n" +-" --tcp-client ADDR:PORT Socket öffnen und verbindung mit ...\n" ++" --tcp-server Socket ?ffnen und auf Verbindung warten\n" ++" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n" + " -u, --keep-uppercase GROSS geschrieben Dateinamen beibehalten\n" +-" -U, --unrestrict eingeschränkten Modus aufheben (falls " ++" -U, --unrestrict eingeschr?nkten Modus aufheben (falls " + "erlaubt)\n" + " -v, --verbose mehr ausgeben\n" +-" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n" ++" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n" + " -X --xmodem XMODEM-Protokoll benutzen\n" +-" -y, --overwrite existierende Dateien überschreiben\n" ++" -y, --overwrite existierende Dateien ?berschreiben\n" + " --ymodem YMODEM-Protokoll benutzen\n" + " -Z, --zmodem ZMODEM-Protokoll benutzen\n" + "\n" +-"Kurze Optionen benötigen dieselben Argumente wie Lange.\n" ++"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n" + + #: src/lrz.c:676 + #, c-format +@@ -662,11 +662,11 @@ + "%s: %s removed.\r\n" + msgstr "" + "\r\n" +-"%s: %s gelöscht\r\n" ++"%s: %s gel?scht\r\n" + + #: src/lrz.c:856 + msgid "Pathname fetch returned EOT" +-msgstr "Ende der Übertragung beim Warten auf Dateinamen" ++msgstr "Ende der ?bertragung beim Warten auf Dateinamen" + + #: src/lrz.c:903 + msgid "Received dup Sector" +@@ -682,7 +682,7 @@ + + #: src/lrz.c:976 + msgid "Checksum" +-msgstr "Prüfsummenfehler" ++msgstr "Pr?fsummenfehler" + + #: src/lrz.c:979 + msgid "Sector number garbled" +@@ -695,12 +695,12 @@ + #: src/lrz.c:1005 + #, c-format + msgid "Got 0%o sector header" +-msgstr "Erhielt %02x als Sektorbestätigung" ++msgstr "Erhielt %02x als Sektorbest?tigung" + + #: src/lrz.c:1113 + #, c-format + msgid "file name ends with a /, skipped: %s\n" +-msgstr "Dateiname endet mit /, übersprungen: %s\n" ++msgstr "Dateiname endet mit /, ?bersprungen: %s\n" + + #: src/lrz.c:1127 + #, c-format +@@ -715,7 +715,7 @@ + #: src/lrz.c:1192 src/lrz.c:1226 + #, c-format + msgid "file exists, skipped: %s\n" +-msgstr "Datei existiert, übersprungen: %s\n" ++msgstr "Datei existiert, ?bersprungen: %s\n" + + #: src/lrz.c:1267 + #, c-format +@@ -739,7 +739,7 @@ + #: src/lrz.c:1545 + #, c-format + msgid "Blocks received: %d" +-msgstr "Blöcke empfangen: %d" ++msgstr "Bl?cke empfangen: %d" + + #: src/lrz.c:1599 + #, c-format +@@ -749,15 +749,15 @@ + #: src/lrz.c:1612 src/lrz.c:1620 + #, c-format + msgid "%s:\tSecurity Violation" +-msgstr "%s:\tSicherheitsverstoß" ++msgstr "%s:\tSicherheitsversto?" + + #: src/lrz.c:1730 + msgid "remote command execution requested" +-msgstr "Gegenseite versucht Kommandoausführung" ++msgstr "Gegenseite versucht Kommandoausf?hrung" + + #: src/lrz.c:1737 + msgid "not executed" +-msgstr "nicht ausgeführt" ++msgstr "nicht ausgef?hrt" + + #: src/lrz.c:1768 + msgid "got ZRINIT" +@@ -765,7 +765,7 @@ + + #: src/lrz.c:1817 + msgid "Skipped" +-msgstr "Übersprungen" ++msgstr "?bersprungen" + + #. too bad + #: src/lrz.c:2049 +@@ -785,7 +785,7 @@ + + #: src/lrz.c:2215 + msgid "file close error" +-msgstr "Fehler beim Schließen der Datei" ++msgstr "Fehler beim Schlie?en der Datei" + + #~ msgid "tcp protocol init failed\n" + #~ msgstr "TCP Protokoll Initialisierung fehlgeschlagen\n" +@@ -797,7 +797,7 @@ + #~ msgstr "fgets() bei tcp Protokoll Synchronisation fehlgeschlagen: " + + #~ msgid "Transfer complete." +-#~ msgstr "Übertragung abgeschlossen" ++#~ msgstr "?bertragung abgeschlossen" + + #~ msgid "at" + #~ msgstr "um" +@@ -809,4 +809,4 @@ + #~ msgstr "Zeitsynchronisation: ok\n" + + #~ msgid "Falldown to %ld blklen" +-#~ msgstr "Blockgröße auf %ld gesenkt" ++#~ msgstr "Blockgr??e auf %ld gesenkt" +--- lrzsz-0.12.21.orig/debian/copyright ++++ lrzsz-0.12.21/debian/copyright +@@ -0,0 +1,31 @@ ++This is the lrzsz Debian GNU/Linux package. It was first maintained by ++Michael Alan Dorman , 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..64f741156 --- /dev/null +++ b/patches/source/minicom/minicom.SlackBuild @@ -0,0 +1,160 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=2.7.1 +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:--j6} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-minicom + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG + +# minicom +cd $TMP +rm -rf minicom-$VERSION +tar xvf $CWD/minicom-$VERSION.tar.xz || exit 1 +cd minicom-$VERSION + +# The following command renames the internal implementation of getline +# to g_getline as newer versions of Glibc provide an incompatible version: +#sed -i -e "s/getline/g_&/" $(grep -lr getline *) + +chown -R root:root . +find . -perm 777 -exec chmod 755 {} \; +find . -perm 664 -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/etc +zcat $CWD/minicom.users.gz > $PKG/etc/minicom.users.new +printf "# Machine-generated file - use \"minicom -s\" to change parameters.\n" \ + > $PKG/etc/minirc.dfl.new + +mkdir -p $PKG/usr/doc/minicom-$VERSION +cp -a \ + AUTHORS COPYING* ChangeLog FILE_ID.DIZ INSTALL NEWS README* TODO doc \ + $PKG/usr/doc/minicom-$VERSION +rm -f $PKG/usr/doc/minicom-$VERSION/doc/{ChangeLog.old,Makefile*} + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# lzrz + +cd $TMP +rm -rf lrzsz-990823 +tar xvf $CWD/lrzsz_0.12.21.orig.tar.gz || exit 1 +cd lrzsz-990823 +chown -R root:root . + +# Make x86_64 a valid machine type (thanks to Fred Emmott) +zcat $CWD/config.sub-x86_64.diff.gz | patch -p1 --verbose || exit 1 + +# Apply some of the debian patches +zcat $CWD/lrzsz_0.12.21-5.diff.gz | patch -p1 --verbose || exit 1 +rm -f debian/patches/{206499_ymodemg.diff.unchecked,206648_dszlog.diff.unchecked} +for i in debian/patches/* ; do patch -p1 < $i || exit 1 ; done + +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux + +touch stamp-h.in # to stop autoheader from running +touch -d yesterday aclocal.m4 # to stop automake from running + +make $NUMJOBS || make || exit 1 + +cp src/lrz src/lsz $PKG/usr/bin +chmod 0755 $PKG/usr/bin/{lrz,lsz} + +cp man/{lrz,lsz}.1 $PKG/usr/man/man1 +echo '.so man1/lrz.1' > $PKG/usr/man/man1/rz.1 +echo '.so man1/lsz.1' > $PKG/usr/man/man1/sz.1 + +mkdir -p $PKG/usr/share/locale/de/LC_MESSAGES +cat po/de.gmo > $PKG/usr/share/locale/de/LC_MESSAGES/lrzsz.mo + +mkdir -p $PKG/usr/doc/lrzsz-0.12.21 +cp -a \ + AUTHORS COMPATABILITY COPYING* INSTALL NEWS README* THANKS TODO \ + $PKG/usr/doc/lrzsz-0.12.21 + +( cd $PKG/usr/bin + for i in lrb lrx rz ; do ln -s lrz $i ; done + for i in lsb lsx sz ; do ln -s lsz $i ; done + for i in rx rb ; do ln -s rz $i ; done + for i in sb sx ; do ln -s sz $i ; done +) + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/minicom-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/minicom/minicom.users b/patches/source/minicom/minicom.users new file mode 100644 index 000000000..509d86f41 --- /dev/null +++ b/patches/source/minicom/minicom.users @@ -0,0 +1,36 @@ +# $Id: minicom.users,v 1.1.1.1 1999/12/18 11:18:51 misiek Exp $ +# Minicom.users Access file for the minicom program. +# +# Format: Either just one username per line, or +# a username followed by one or more +# configuration-names. The name of the +# default configuration is "dfl". The maximum +# significant line length is 70 characters. +# +# Location: The minicom library directory, probably +# /etc or /var/lib/minicom or whatever. +# +# Notes: If you don't install this file in the +# specified location, everybody will have +# access to minicom. +# +# This doesn't matter if minicom isn't installed +# setuid root since access will then be based +# on the permissions set on the serial port. +# + +# +# Who may use minicom? +# +# User [line] [..line] +# + +# Everyone has access to all configurations. +ALL + +## The rest are examples. +## # Erik only has access to the default configuration +## erik dfl +## +## # minicom has access to the default configuration, and configuration 'tty5'. +## minicom dfl tty5 diff --git a/patches/source/minicom/slack-desc b/patches/source/minicom/slack-desc new file mode 100644 index 000000000..4aa6302bd --- /dev/null +++ b/patches/source/minicom/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +minicom: minicom (communications package) +minicom: +minicom: Minicom - a full featured menu-driven communications package similar +minicom: to the DOS program 'Telix'. Also includes sz/rz - utilities used to +minicom: upload and download files using the Zmodem protocol. +minicom: +minicom: Homepage: http://alioth.debian.org/projects/minicom +minicom: +minicom: +minicom: +minicom: diff --git a/patches/source/mkinitrd/README.initrd b/patches/source/mkinitrd/README.initrd new file mode 100644 index 000000000..c10bb6306 --- /dev/null +++ b/patches/source/mkinitrd/README.initrd @@ -0,0 +1,99 @@ + +Slackware initrd mini HOWTO +by Patrick Volkerding, volkerdi@slackware.com +@DATE@ + +This document describes how to create and install an initrd, which may be +required to use some features of the kernel. Also see "man mkinitrd". + +1. What is an initrd? +2. Why to I need an initrd? +3. How do I build the initrd? +4. Now that I've built an initrd, how do I use it? + + +1. What is an initrd? + +Initrd stands for "initial ramdisk". An initial ramdisk is a very small +Linux filesystem that is loaded into RAM and mounted as the kernel boots, +and before the main root filesystem is mounted. + +2. Why do I need an initrd? + +The usual reason to use an initrd is because you need to load kernel +modules before mounting the root partition. Usually these modules are +required to support the filesystem used by the root partition (ext3, +reiserfs, xfs), or perhaps the controller that the hard drive is attached +to (SCSI, RAID, etc). Essentially, there are so many different options +available in modern Linux kernels that it isn't practical to try to ship +many different kernels to try to cover everyone's needs. It's a lot more +flexible to ship a generic kernel and a set of kernel modules for it. + +3. How do I build the initrd? + +The easiest way to make the initrd is to use the mkinitrd script included +in Slackware's mkinitrd package. We'll walk through the process of +upgrading to the generic @KERNEL_VERSION@ Linux kernel using the packages +found in Slackware's slackware/a/ directory. + +First, make sure the kernel, kernel modules, and mkinitrd package are +installed (the current version numbers might be a little different, so +this is just an example): + + installpkg kernel-generic-@KERNEL_VERSION@-@ARCH@-@BUILD@.tgz + installpkg kernel-modules-@KERNEL_VERSION@-@ARCH@-@BUILD@.tgz + installpkg mkinitrd-@MKINITRD_VERSION@-@ARCH@-@BUILD@.tgz + +Change into the /boot directory: + + cd /boot + +Now you'll want to run "mkinitrd". I'm using ext4 for my root +filesystem, and since mkinitrd should figure out any other modules +it requires, I shouldn't need to specify any others: + + mkinitrd -c -k @KERNEL_VERSION@ -m ext4 + +This should do two things. First, it will create a directory +/boot/initrd-tree containing the initrd's filesystem. Then it will +create an initrd (/boot/initrd.gz) from this tree. If you wanted to, +you could make some additional changes in /boot/initrd-tree/ and +then run mkinitrd again without options to rebuild the image. That's +optional, though, and only advanced users will need to think about that. + +Here's another example: Build an initrd image using Linux @KERNEL_VERSION@ +kernel modules for a system with an ext3 root partition on /dev/sdb3: + + mkinitrd -c -k @KERNEL_VERSION@ -m ext3 -f ext3 -r /dev/sdb3 + + +4. Now that I've built an initrd, how do I use it? + +Now that you've got an initrd (/boot/initrd.gz), you'll want to load +it along with the kernel at boot time. If you use LILO for your boot +loader you'll need to edit /etc/lilo.conf and add a line to load the +initrd. Here's an example section of lilo.conf showing how this is +done: + +# Linux bootable partition config begins +image = /boot/vmlinuz-generic-@KERNEL_VERSION@ + initrd = /boot/initrd.gz + root = /dev/sda6 + label = @LILO_KERNEL_NAME@ + read-only +# Linux bootable partition config ends + +The initrd is loaded by the "initrd = /boot/initrd.gz" line. +Just add the line right below the line for the kernel image you use. +Save the file, and then run LILO again ('lilo' at the command line). +You'll need to run lilo every time you edit lilo.conf or rebuild the +initrd. + +Other bootloaders such as syslinux also support the use of an initrd. +See the documentation for those programs for details on using an +initrd with them. + + +--------- + +Have fun! diff --git a/patches/source/mkinitrd/busybox-dot-config b/patches/source/mkinitrd/busybox-dot-config new file mode 120000 index 000000000..09ac6817e --- /dev/null +++ b/patches/source/mkinitrd/busybox-dot-config @@ -0,0 +1 @@ +busybox-dot-config.1.20.x \ No newline at end of file diff --git a/patches/source/mkinitrd/busybox-dot-config.1.20.x b/patches/source/mkinitrd/busybox-dot-config.1.20.x new file mode 100644 index 000000000..93a4ea8d9 --- /dev/null +++ b/patches/source/mkinitrd/busybox-dot-config.1.20.x @@ -0,0 +1,1024 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.20.2 +# Wed Jun 8 14:48:15 2016 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# + +# +# General Configuration +# +CONFIG_DESKTOP=y +# CONFIG_EXTRA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_FEATURE_INSTALLER=y +CONFIG_INSTALL_NO_USR=y +CONFIG_LOCALE_SUPPORT=y +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +CONFIG_FEATURE_PIDFILE=y +CONFIG_FEATURE_SUID=y +CONFIG_FEATURE_SUID_CONFIG=y +CONFIG_FEATURE_SUID_CONFIG_QUIET=y +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_LFS=y +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree" + +# +# Busybox Library Tuning +# +# CONFIG_FEATURE_SYSTEMD is not set +CONFIG_FEATURE_RTMINMAX=y +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_USE_TERMIOS=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_EDITING_HISTORY=64 +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +# CONFIG_FEATURE_REVERSE_SEARCH is not set +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_ASK_TERMINAL=y +# CONFIG_FEATURE_NON_POSIX_CP is not set +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_COPYBUF_KB=4 +# CONFIG_FEATURE_SKIP_ROOTFS is not set +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +CONFIG_FEATURE_SEAMLESS_Z=y +CONFIG_AR=y +CONFIG_FEATURE_AR_LONG_FILENAMES=y +# CONFIG_FEATURE_AR_CREATE is not set +CONFIG_BUNZIP2=y +CONFIG_BZIP2=y +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +CONFIG_FEATURE_CPIO_P=y +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set +CONFIG_GUNZIP=y +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +CONFIG_LZOP=y +CONFIG_LZOP_COMPR_HIGH=y +CONFIG_RPM2CPIO=y +# CONFIG_RPM is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +CONFIG_FEATURE_TAR_UNAME_GNAME=y +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNCOMPRESS=y +CONFIG_UNLZMA=y +CONFIG_FEATURE_LZMA_FAST=y +CONFIG_LZMA=y +CONFIG_UNXZ=y +CONFIG_XZ=y +CONFIG_UNZIP=y + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +# CONFIG_FEATURE_DATE_COMPAT is not set +CONFIG_HOSTID=y +CONFIG_ID=y +# CONFIG_GROUPS is not set +CONFIG_TEST=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +CONFIG_BASE64=y +CONFIG_WHO=y +CONFIG_USERS=y +CONFIG_CAL=y +CONFIG_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +CONFIG_CKSUM=y +CONFIG_COMM=y +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_CUT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_FEATURE_ENV_LONG_OPTIONS=y +CONFIG_EXPAND=y +CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FALSE=y +CONFIG_FOLD=y +CONFIG_FSYNC=y +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_MKDIR=y +CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +CONFIG_FEATURE_MV_LONG_OPTIONS=y +CONFIG_NICE=y +CONFIG_NOHUP=y +CONFIG_OD=y +CONFIG_PRINTENV=y +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set +CONFIG_SEQ=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +# CONFIG_FEATURE_FLOAT_SLEEP is not set +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +CONFIG_SPLIT=y +CONFIG_FEATURE_SPLIT_FANCY=y +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_STTY=y +CONFIG_SUM=y +CONFIG_SYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TRUE=y +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNEXPAND=y +CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y +CONFIG_UNIQ=y +CONFIG_USLEEP=y +CONFIG_UUDECODE=y +CONFIG_UUENCODE=y +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +CONFIG_WHOAMI=y +CONFIG_YES=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_FGCONSOLE=y +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +CONFIG_RESIZE=y +CONFIG_FEATURE_RESIZE_PRINT=y +CONFIG_SETCONSOLE=y +CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y +CONFIG_SETFONT=y +CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y +CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts" +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +CONFIG_SHOWKEY=y + +# +# Common options for loadfont and setfont +# +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +CONFIG_FEATURE_LOADFONT_RAW=y + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +CONFIG_PIPE_PROGRESS=y +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +CONFIG_FEATURE_RUN_PARTS_FANCY=y +CONFIG_START_STOP_DAEMON=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_WHICH=y + +# +# Editors +# +CONFIG_PATCH=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=1024 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y +CONFIG_AWK=y +CONFIG_FEATURE_AWK_LIBM=y +CONFIG_CMP=y +CONFIG_DIFF=y +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +CONFIG_FEATURE_DIFF_DIR=y +CONFIG_ED=y +CONFIG_SED=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +# CONFIG_FEATURE_FIND_DELETE is not set +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_FEATURE_GREP_EGREP_ALIAS=y +CONFIG_FEATURE_GREP_FGREP_ALIAS=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +CONFIG_FEATURE_USE_INITTAB=y +CONFIG_FEATURE_KILL_REMOVED=y +CONFIG_FEATURE_KILL_DELAY=10 +CONFIG_FEATURE_INIT_SCTTY=y +CONFIG_FEATURE_INIT_SYSLOG=y +CONFIG_FEATURE_EXTRA_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +# CONFIG_FEATURE_INITRD is not set +CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y + +# +# Login/Password Management Utilities +# +CONFIG_ADD_SHELL=y +CONFIG_REMOVE_SHELL=y +CONFIG_FEATURE_SHADOWPASSWDS=y +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +CONFIG_ADDUSER=y +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +CONFIG_FEATURE_CHECK_NAMES=y +CONFIG_FIRST_SYSTEM_ID=1000 +CONFIG_LAST_SYSTEM_ID=12000 +CONFIG_ADDGROUP=y +CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y +CONFIG_FEATURE_ADDUSER_TO_GROUP=y +CONFIG_DELUSER=y +CONFIG_DELGROUP=y +CONFIG_FEATURE_DEL_USER_FROM_GROUP=y +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_PAM is not set +CONFIG_LOGIN_SCRIPTS=y +CONFIG_FEATURE_NOLOGIN=y +# CONFIG_FEATURE_SECURETTY is not set +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +CONFIG_CRYPTPW=y +CONFIG_CHPASSWD=y +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="s" +CONFIG_SU=y +CONFIG_FEATURE_SU_SYSLOG=y +CONFIG_FEATURE_SU_CHECKS_SHELLS=y +CONFIG_SULOGIN=y +CONFIG_VLOCK=y + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +CONFIG_FSCK=y +CONFIG_LSATTR=y +CONFIG_TUNE2FS=y + +# +# Linux Module Utilities +# +CONFIG_MODINFO=y +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_INSMOD=y +CONFIG_RMMOD=y +CONFIG_LSMOD=y +CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +CONFIG_MODPROBE=y +CONFIG_FEATURE_MODPROBE_BLACKLIST=y +CONFIG_DEPMOD=y + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +CONFIG_BLOCKDEV=y +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +CONFIG_FEATURE_MDEV_RENAME_REGEXP=y +CONFIG_FEATURE_MDEV_EXEC=y +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y +CONFIG_REV=y +CONFIG_ACPID=y +CONFIG_FEATURE_ACPID_COMPAT=y +CONFIG_BLKID=y +CONFIG_FEATURE_BLKID_TYPE=y +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +CONFIG_FDFLUSH=y +CONFIG_FDFORMAT=y +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +CONFIG_FEATURE_OSF_LABEL=y +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y +CONFIG_FINDFS=y +# CONFIG_FLOCK is not set +CONFIG_FREERAMDISK=y +CONFIG_FSCK_MINIX=y +# CONFIG_MKFS_EXT2 is not set +CONFIG_MKFS_MINIX=y +CONFIG_FEATURE_MINIX2=y +# CONFIG_MKFS_REISER is not set +CONFIG_MKFS_VFAT=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +CONFIG_FEATURE_HEXDUMP_REVERSE=y +CONFIG_HD=y +CONFIG_HWCLOCK=y +CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y +CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +CONFIG_IPCRM=y +CONFIG_IPCS=y +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_PIVOT_ROOT=y +CONFIG_RDATE=y +CONFIG_RDEV=y +CONFIG_READPROFILE=y +CONFIG_RTCWAKE=y +CONFIG_SCRIPT=y +CONFIG_SCRIPTREPLAY=y +CONFIG_SETARCH=y +CONFIG_SWAPONOFF=y +CONFIG_FEATURE_SWAPON_PRI=y +CONFIG_SWITCH_ROOT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +CONFIG_FEATURE_MTAB_SUPPORT=y +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_EXT=y +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +CONFIG_FEATURE_VOLUMEID_REISERFS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +CONFIG_FEATURE_VOLUMEID_HFS=y +CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_XFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +CONFIG_FEATURE_VOLUMEID_ISO9660=y +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_ROMFS=y +CONFIG_FEATURE_VOLUMEID_SYSV=y +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +CONFIG_FEATURE_VOLUMEID_LINUXRAID=y + +# +# Miscellaneous Utilities +# +# CONFIG_CONSPY is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_MARKS=y +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_FEATURE_LESS_WINCH=y +CONFIG_FEATURE_LESS_ASK_TERMINAL=y +CONFIG_FEATURE_LESS_DASHCMD=y +CONFIG_FEATURE_LESS_LINENUMS=y +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_SETSERIAL=y +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +CONFIG_ADJTIMEX=y +CONFIG_BBCONFIG=y +CONFIG_FEATURE_COMPRESS_BBCONFIG=y +CONFIG_BEEP=y +CONFIG_FEATURE_BEEP_FREQ=4000 +CONFIG_FEATURE_BEEP_LENGTH_MS=30 +CONFIG_CHAT=y +CONFIG_FEATURE_CHAT_NOFAIL=y +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +CONFIG_FEATURE_CHAT_IMPLICIT_CR=y +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +CONFIG_CHRT=y +CONFIG_CROND=y +CONFIG_FEATURE_CROND_D=y +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="/var/spool/cron" +CONFIG_CRONTAB=y +CONFIG_DC=y +CONFIG_FEATURE_DC_LIBM=y +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FBSPLASH=y +# CONFIG_FLASHCP is not set +CONFIG_FLASH_LOCK=y +CONFIG_FLASH_UNLOCK=y +CONFIG_FLASH_ERASEALL=y +CONFIG_IONICE=y +CONFIG_INOTIFYD=y +CONFIG_LAST=y +CONFIG_FEATURE_LAST_SMALL=y +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_HDPARM=y +CONFIG_FEATURE_HDPARM_GET_IDENTITY=y +CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y +CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y +CONFIG_MAKEDEVS=y +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +CONFIG_FEATURE_MAKEDEVS_TABLE=y +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +CONFIG_MOUNTPOINT=y +CONFIG_MT=y +CONFIG_RAIDAUTORUN=y +CONFIG_READAHEAD=y +# CONFIG_RFKILL is not set +CONFIG_RUNLEVEL=y +CONFIG_RX=y +CONFIG_SETSID=y +CONFIG_STRINGS=y +CONFIG_TASKSET=y +CONFIG_FEATURE_TASKSET_FANCY=y +CONFIG_TIME=y +CONFIG_TIMEOUT=y +CONFIG_TTYSIZE=y +CONFIG_VOLNAME=y +# CONFIG_WALL is not set +CONFIG_WATCHDOG=y + +# +# Networking Utilities +# +CONFIG_NAMEIF=y +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +CONFIG_NBDCLIENT=y +CONFIG_NC=y +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_WHOIS is not set +CONFIG_FEATURE_IPV6=y +CONFIG_FEATURE_UNIX_LOCAL=y +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +CONFIG_ARP=y +CONFIG_ARPING=y +CONFIG_BRCTL=y +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +CONFIG_DNSD=y +CONFIG_ETHER_WAKE=y +CONFIG_FAKEIDENTD=y +CONFIG_FTPD=y +CONFIG_FEATURE_FTP_WRITE=y +CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y +CONFIG_FTPGET=y +CONFIG_FTPPUT=y +CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y +CONFIG_HOSTNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +CONFIG_IFENSLAVE=y +CONFIG_IFPLUGD=y +CONFIG_IFUPDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y +# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_SHORT_FORMS=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPCALC=y +CONFIG_FEATURE_IPCALC_FANCY=y +CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y +CONFIG_NETSTAT=y +# CONFIG_FEATURE_NETSTAT_WIDE is not set +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +CONFIG_PSCAN=y +CONFIG_ROUTE=y +CONFIG_SLATTACH=y +CONFIG_TCPSVD=y +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_TELNETD=y +CONFIG_FEATURE_TELNETD_STANDALONE=y +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +CONFIG_FEATURE_TFTP_BLOCKSIZE=y +CONFIG_FEATURE_TFTP_PROGRESS_BAR=y +CONFIG_TFTP_DEBUG=y +CONFIG_TRACEROUTE=y +CONFIG_TRACEROUTE6=y +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +CONFIG_TUNCTL=y +CONFIG_FEATURE_TUNCTL_UG=y +CONFIG_UDHCPC6=y +# CONFIG_UDHCPD is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_DUMPLEASES is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_UDHCPC is not set +# CONFIG_FEATURE_UDHCPC_ARPING is not set +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +# CONFIG_FEATURE_UDHCP_8021Q is not set +CONFIG_UDHCPC_DEFAULT_SCRIPT="" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" +CONFIG_UDPSVD=y +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_ZCIP=y + +# +# Print Utilities +# +# CONFIG_LPD is not set +CONFIG_LPR=y +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +CONFIG_MAKEMIME=y +CONFIG_FEATURE_MIME_CHARSET="us-ascii" +CONFIG_POPMAILDIR=y +CONFIG_FEATURE_POPMAILDIR_DELIVERY=y +CONFIG_REFORMIME=y +CONFIG_FEATURE_REFORMIME_COMPAT=y +# CONFIG_SENDMAIL is not set + +# +# Process Utilities +# +CONFIG_IOSTAT=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +CONFIG_NMETER=y +CONFIG_PMAP=y +CONFIG_POWERTOP=y +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +CONFIG_FREE=y +CONFIG_FUSER=y +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +CONFIG_PGREP=y +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +CONFIG_PKILL=y +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +CONFIG_FEATURE_PS_TIME=y +CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +CONFIG_RENICE=y +CONFIG_BB_SYSCTL=y +CONFIG_TOP=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +CONFIG_FEATURE_TOP_SMP_CPU=y +CONFIG_FEATURE_TOP_DECIMALS=y +CONFIG_FEATURE_TOP_SMP_PROCESS=y +CONFIG_FEATURE_TOPMEM=y +CONFIG_FEATURE_SHOW_THREADS=y +CONFIG_WATCH=y + +# +# Runit Utilities +# +CONFIG_RUNSV=y +CONFIG_RUNSVDIR=y +CONFIG_FEATURE_RUNSVDIR_LOG=y +CONFIG_SV=y +CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" +CONFIG_SVLOGD=y +CONFIG_CHPST=y +CONFIG_SETUIDGID=y +CONFIG_ENVUIDGID=y +CONFIG_ENVDIR=y +CONFIG_SOFTLIMIT=y +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set + +# +# Shells +# +CONFIG_ASH=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +CONFIG_ASH_CMDCMD=y +CONFIG_ASH_MAIL=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +# CONFIG_FEATURE_BASH_IS_ASH is not set +# CONFIG_FEATURE_BASH_IS_HUSH is not set +CONFIG_FEATURE_BASH_IS_NONE=y +CONFIG_SH_MATH_SUPPORT=y +CONFIG_SH_MATH_SUPPORT_64=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_HISTFILESIZE=y + +# +# System Logging Utilities +# +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_LOGREAD=y +CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y +CONFIG_KLOGD=y +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch new file mode 100644 index 000000000..456fb08e1 --- /dev/null +++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch @@ -0,0 +1,25 @@ +--- busybox-1.20.2/libbb/kernel_version.c ++++ busybox-1.20.2-kernel_ver/libbb/kernel_version.c +@@ -20,18 +20,15 @@ + int FAST_FUNC get_linux_version_code(void) + { + struct utsname name; +- char *s; ++ char *s, *t; + int i, r; + +- if (uname(&name) == -1) { +- bb_perror_msg("can't get system information"); +- return 0; +- } +- ++ uname(&name); /* never fails */ + s = name.release; + r = 0; + for (i = 0; i < 3; i++) { +- r = r * 256 + atoi(strtok(s, ".")); ++ t = strtok(s, "."); ++ r = r * 256 + (t ? atoi(t) : 0); + s = NULL; + } + return r; diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch new file mode 100644 index 000000000..17fc0b1c4 --- /dev/null +++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch @@ -0,0 +1,11 @@ +--- busybox-1.20.2/networking/ntpd.c ++++ busybox-1.20.2-ntpd/networking/ntpd.c +@@ -1840,7 +1840,7 @@ recv_and_process_client_pkt(void /*int f + + /* Build a reply packet */ + memset(&msg, 0, sizeof(msg)); +- msg.m_status = G.stratum < MAXSTRAT ? G.ntp_status : LI_ALARM; ++ msg.m_status = G.stratum < MAXSTRAT ? (G.ntp_status & LI_MASK) : LI_ALARM; + msg.m_status |= (query_status & VERSION_MASK); + msg.m_status |= ((query_status & MODE_MASK) == MODE_CLIENT) ? + MODE_SERVER : MODE_SYM_PAS; diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch new file mode 100644 index 000000000..f39250c85 --- /dev/null +++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch @@ -0,0 +1,67 @@ +From b1cec5003b73080a8aa7ea277621bf1c71c3e8d6 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +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..afdd5f109 --- /dev/null +++ b/patches/source/mkinitrd/mkinitrd.SlackBuild @@ -0,0 +1,146 @@ +#!/bin/sh + +# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-1.4.10} +BB=1.20.2 +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j7} +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mkinitrd + +# Write a warning to stdout if the mkinitrd script has a different version: +eval $( grep "^MKINITRD_VERSION=" $CWD/mkinitrd ) +if [ "$VERSION" != "$MKINITRD_VERSION" ]; then + echo "The version of this package ($VERSION) is not equal to the version of the mkinitrd script ($MKINITRD_VERSION)." + sleep 5 +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf busybox-$BB +tar xvf $CWD/busybox-$BB.tar.?z* || exit 1 +cd busybox-$BB + +if [ -d $CWD/fixes-$BB ]; then + for pfile in $CWD/fixes-$BB/*.patch ; do + patch -p1 < $pfile || exit 1 + done +fi + +chown -R root:root . +sed -e \ + 's#^CONFIG_PREFIX=.*#CONFIG_PREFIX="'$PKG'/usr/share/mkinitrd/initrd-tree"#' \ + $CWD/busybox-dot-config > .config +make oldconfig +make $NUMJOBS || make || exit 1 + +mkdir -p $PKG/usr/share/mkinitrd/initrd-tree/{bin,sbin} +make install || exit 1 +rm -f $PKG/usr/share/mkinitrd/initrd-tree/linuxrc + +# Copying additional files: +cp -a $CWD/mkinitrd_command_generator.sh $PKG/usr/share/mkinitrd +chown root:root $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh +chmod 755 $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh +cp -a $CWD/keymaps.tar.gz $PKG/usr/share/mkinitrd +chown root:root $PKG/usr/share/mkinitrd/keymaps.tar.gz +chmod 644 $PKG/usr/share/mkinitrd/keymaps.tar.gz + +# Zip up the initrd-tree: +( cd $PKG/usr/share/mkinitrd/initrd-tree + tar xf $CWD/_initrd-tree.tar.gz + cat $CWD/init > init + + # These are useful for ARM: + mknod -m 644 dev/random c 1 8 + mknod -m 644 dev/urandom c 1 9 + + tar czf ../initrd-tree.tar.gz . +) +rm -rf $PKG/usr/share/mkinitrd/initrd-tree + +# Add busybox docs: +mkdir -p $PKG/usr/doc/busybox-$BB +cp -a AUTHORS COPYING* INSTALL LICENSE README* \ + $PKG/usr/doc/busybox-$BB +cp -a e2fsprogs/README $PKG/usr/doc/busybox-$BB/README.e2fsprogs +cp -a libbb/README $PKG/usr/doc/busybox-$BB/README.libbb +cp -a shell/README $PKG/usr/doc/busybox-$BB/README.shell +cp -a testsuite/README $PKG/usr/doc/busybox-$BB/README.testsuite + +mkdir -p $PKG/sbin +cp -a $CWD/mkinitrd $PKG/sbin/mkinitrd +chown root:root $PKG/sbin/mkinitrd +chmod 755 $PKG/sbin/mkinitrd + +mkdir -p $PKG/usr/man/man{5,8} +cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz +cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz +cat $CWD/mkinitrd_command_generator.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd_command_generator.8.gz + +mkdir -p $PKG/etc +cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample +# ARM systems often need more time to find devices: +case "$( uname -m )" in + arm*) sed -e 's@#WAIT="1"@#WAIT="4"@g' \ + -i $PKG/etc/mkinitrd.conf.sample;; +esac +chown root:root $PKG/etc/mkinitrd.conf.sample +chmod 644 $PKG/etc/mkinitrd.conf.sample + +mkdir -p $PKG/usr/doc/mkinitrd-$VERSION +sed $CWD/README.initrd \ + -e "s,@DATE@,$(date),g" \ + -e "s,@KERNEL_VERSION@,$(uname -r),g" \ + -e "s,@PACKAGE_VERSION@,$(uname -r | tr - _),g" \ + -e "s,@LILO_KERNEL_NAME@,$(echo $(uname -r) | tr -d . | tr -d - ),g" \ + -e "s,@MKINITRD_VERSION@,$VERSION,g" \ + -e "s,@ARCH@,$ARCH,g" \ + -e "s,@BUILD@,$BUILD,g" \ + > $PKG/usr/doc/mkinitrd-$VERSION/README.initrd + +mkdir $PKG/boot +ln -sf /usr/doc/mkinitrd-$VERSION/README.initrd $PKG/boot/README.initrd + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/mkinitrd-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/mkinitrd/mkinitrd.conf.5 b/patches/source/mkinitrd/mkinitrd.conf.5 new file mode 100644 index 000000000..65c180185 --- /dev/null +++ b/patches/source/mkinitrd/mkinitrd.conf.5 @@ -0,0 +1,244 @@ +.\" mkinitrd.5 Robby Workman +.\" 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/firefox.moz_plugin_path.diff b/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff new file mode 100644 index 000000000..761f295a4 --- /dev/null +++ b/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff @@ -0,0 +1,17 @@ +--- ./firefox.orig 2008-05-29 15:21:18.000000000 -0500 ++++ ./firefox 2008-06-17 12:19:26.000000000 -0500 +@@ -54,6 +54,14 @@ + + moz_libdir=/usr/local/lib/firefox-3.0 + ++# Include /usr/lib/mozilla/plugins in the plugin path: ++if [ "$MOZ_PLUGIN_PATH" ] ; then ++ MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:${moz_libdir}/plugins:/usr/lib/mozilla/plugins ++else ++ MOZ_PLUGIN_PATH=${moz_libdir}/plugins:/usr/lib/mozilla/plugins ++fi ++export MOZ_PLUGIN_PATH ++ + # Use run-mozilla.sh in the current dir if it exists + # If not, then start resolving symlinks until we find run-mozilla.sh + found=0 diff --git a/patches/source/mozilla-firefox/mimeTypes.rdf b/patches/source/mozilla-firefox/mimeTypes.rdf new file mode 100644 index 000000000..f3bc7b406 --- /dev/null +++ b/patches/source/mozilla-firefox/mimeTypes.rdf @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + 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..765f6ff8b --- /dev/null +++ b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild @@ -0,0 +1,279 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Thanks to the folks at the Mozilla Foundation for permission to +# distribute this, and for all the great work! :-) + +VERSION=$(basename $(ls firefox-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source) +RELEASEVER=$(echo $VERSION | cut -f 1 -d r | cut -f 1 -d b) +# With esr releases we need to fix this +if [ "${RELEASEVER}r" = "$VERSION" ]; then + RELEASEVER=$(echo $RELEASEVER | cut -f 1 -d e) + RELEASEVERMAJ=$(echo $RELEASEVER | cut -f 1 -d .) +fi +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# Use PGO? Doubles the time and drive space requirements for the build, +# but should provide a performance increase. How much depends on which +# benchmarks you believe, but I've typically seen around 2.5%. I've also +# seen some which say it can be negligably (a fraction of a percent) slower +# with this enganged. The anecdotal reports usually say there's a noticable +# improvement in overall responsiveness. Seems like a good bet if you have +# the time and your system is able to handle it. Set the variable to +# anything else prior to the build to compile Firefox in less time (but +# without the possible benefits of Profile-Guided Optimization). +if [ "$ARCH" = "x86_64" ]; then + PGO=${PGO:-no} +else + # 32-bit systems have problems compiling with PGO, as the per-process + # memory requirements are too large. Possibly compiling with a 64-bit + # kernel could be a workaround for this, but for now we will default to + # using PGO only for x86_64. + PGO=${PGO:-no} +fi + +# Try to be gentle to the compiler, no optimizations: +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armel" ]; then + SLKCFLAGS="-O2 -march=armv4t" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mozilla-firefox + +# If not specified, figure out if this is a beta, an esr +# or a release (we start assuming this last): +MOZVERS=${MOZVERS:-release} +if echo $VERSION | grep -q b ; then # we think it is a beta + if bzgrep -q ^mozilla-beta/ $CWD/firefox-$VERSION.source.tar.bz2 ; then + MOZVERS=beta + fi +elif echo $VERSION | grep -q esr ; then # we think it is an esr + if bzgrep -q ^mozilla-esr$RELEASEVERMAJ/ $CWD/firefox-$VERSION.source.tar.bz2 ; then + MOZVERS=esr$RELEASEVERMAJ + fi +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX} + +cd $TMP +rm -rf mozilla-$MOZVERS +tar xvf $CWD/firefox-$VERSION.source.tar.bz2 || exit 1 +cd mozilla-$MOZVERS || exit 1 + +# Fix a long standing bug that's prevented staying current on GTK+. +# Thanks to the BLFS folks. :-) +cat << EOF >> layout/build/Makefile.in + +ifdef MOZ_ENABLE_CANVAS +EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender +endif + +EOF + +# Patch mimeTypes.rdf +# Uncomment this if you want to use the patch; otherwise, we overwrite the +# mimeTypes.rdf inside the package directory later +# zcat $CWD/mozilla-firefox-mimeTypes-fix.diff.gz | patch -p1 || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +if gcc --version | grep -q "gcc (GCC) 4.7.0" ; then + # Enable compiling with gcc-4.7.0: + sed -i '/fcntl.h/a#include ' \ + ipc/chromium/src/base/{file_util_linux,message_pump_libevent,process_util_posix}.cc && + sed -i '/sys\/time\.h/a#include ' ipc/chromium/src/base/time_posix.cc && + sed -i 's#\"PRIxPTR#\" PRIxPTR#' layout/base/tests/TestPoisonArea.cpp && + sed -i 's# ""##' browser/base/Makefile.in +fi + +# Our building options, in a configure-like display ;) +OPTIONS="\ + --enable-official-branding \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER \ + --with-system-zlib \ + --enable-application=browser \ + --enable-default-toolkit=cairo-gtk2 \ + --enable-startup-notification \ + --enable-crypto \ + --enable-svg \ + --enable-canvas \ + --enable-logging \ + --enable-xft \ + --enable-webm \ + --enable-xinerama \ + --enable-optimize \ + --enable-reorder \ + --enable-strip \ + --enable-cpp-rtti \ + --enable-single-profile \ + --disable-gnomevfs \ + --disable-ldap \ + --disable-accessibility \ + --disable-crashreporter \ + --disable-debug \ + --disable-tests \ + --disable-pedantic \ + --disable-installer \ + --disable-mailnews \ + --disable-composer \ + --disable-profilesharing" +# Complains about missing APNG support in Slackware's libpng: +# --with-system-png \ +# This option breaks mozilla-12.0: +# --enable-system-cairo \ + +export MOZILLA_OFFICIAL="1" +export BUILD_OFFICIAL="1" +export MOZ_PHOENIX="1" +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export MOZ_MAKE_FLAGS="$NUMJOBS" + +# Clear some variables that could break the build +unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \ + XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS + +# Assemble our .mozconfig, we use this method for building, seems +# needed for PGO. +echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig + +# Mozilla devs enforce using an objdir for building +# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir +mkdir obj +echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig + +# Write in it the options above +for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done + +# https://developer.mozilla.org/en-US/docs/Building_with_Profile-Guided_Optimization +# Thanks to ArchLinux and Gentoo for the additional hints. +if [ "$PGO" = "yes" ]; then + # Do a PGO build, double time and disk space but worth it. + export MOZ_PGO=1 + echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(MOZ_OBJDIR)/_profile/pgo/profileserver.py 10'" >> .mozconfig + export DISPLAY=:99 + # Launch Xvfb to let the profile scripts run in a X session. + # Ugly note: if the build breaks you may want to do a "killall Xvfb". + Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY & + dbus-launch --exit-with-session make -f client.mk build || exit 1 + kill $! || true +else + # Do a normal build + make -f client.mk build || exit 1 +fi + +make -f client.mk install DESTDIR=$PKG || exit 1 + +# We don't need these (just symlinks anyway): +rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$RELEASEVER + +# Nor these: +rm -rf $PKG/usr/include + +( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER + #mv defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig || exit 1 + if [ -d defaults/profile ]; then + zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1 + fi + # OK, this patch is useless on 7.x. We'll float without it and see what happens. + # Perhaps it won't make a difference or should be worked around elsewhere. + #zcat $CWD/firefox.moz_plugin_path.diff.gz \ + # | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + # | patch -p1 --verbose --backup --suffix=.orig || exit 1 + # Clean up if the above patch was successful: + #rm -f firefox.orig +) || exit + +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins +mkdir -p $PKG/usr/share/applications +cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop + +# These files/directories are usually created if Firefox is run as root, +# which on many systems might (and possibly should) be never. Therefore, if we +# don't see them we'll put stubs in place to prevent startup errors. +( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER + if [ -d extensions/talkback\@mozilla.org ]; then + if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then + echo > extensions/talkback\@mozilla.org/chrome.manifest + fi + fi + if [ ! -d updates ]; then + mkdir -p updates/0 + fi +) + +# Need some default icons in the right place: +for i in 16 22 24 32 48 256; do + install -m 0644 -D browser/branding/official/default${i}.png \ + $PKG/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png +done +mkdir -p $PKG/usr/share/pixmaps +( cd $PKG/usr/share/pixmaps ; ln -sf /usr/share/icons/hicolor/256x256/apps/firefox.png . ) +mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default +install -m 644 browser/branding/official/default16.png \ + $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/icons/ +install -m 644 browser/branding/official/default16.png \ + $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default/ + +# Copy over the LICENSE +install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/ + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/mozilla-firefox/mozilla-firefox.desktop b/patches/source/mozilla-firefox/mozilla-firefox.desktop new file mode 100644 index 000000000..e099dcade --- /dev/null +++ b/patches/source/mozilla-firefox/mozilla-firefox.desktop @@ -0,0 +1,80 @@ +[Desktop Entry] +Exec=firefox %u +Icon=firefox +Type=Application +Categories=Network; +Name=Firefox +Name[bn]=ফায়ারফকà§à¦¸ +Name[eo]=Mozilo Fajrovulpo +Name[fi]=Mozilla Firefox +Name[pa]=ਫਾਇਰਫੋਕਸ +Name[tg]=Рӯбоҳи оташин +GenericName=Web Browser +GenericName[af]=Web Blaaier +GenericName[ar]=متصÙØ­ ويب +GenericName[az]=Veb SÉ™yyahı +GenericName[bg]=Браузър +GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦° +GenericName[br]=Furcher ar Gwiad +GenericName[bs]=WWW Preglednik +GenericName[ca]=Fullejador web +GenericName[cs]=WWW prohlížeÄ +GenericName[cy]=Porydd Gwe +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=ΠεÏιηγητής Î™ÏƒÏ„Î¿Ï +GenericName[eo]=TTT-legilo +GenericName[es]=Navegador web +GenericName[et]=Veebilehitseja +GenericName[eu]=Web arakatzailea +GenericName[fa]=مرورگر وب +GenericName[fi]=WWW-selain +GenericName[fo]=Alnótsfar +GenericName[fr]=Navigateur web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן ×ינטרנט +GenericName[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤° +GenericName[hr]=Web preglednik +GenericName[hu]=WebböngészÅ‘ +GenericName[is]=Vafri +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[ko]=웹 브ë¼ìš°ì € +GenericName[lo]=ເວັບບຣາວເຊີ +GenericName[lt]=Žiniatinklio narÅ¡yklÄ— +GenericName[lv]=Web PÄrlÅ«ks +GenericName[mk]=ПрелиÑтувач на Интернет +GenericName[mn]=Веб-Хөтөч +GenericName[nb]=Nettleser +GenericName[nds]=Nettkieker +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[nso]=Seinyakisi sa Web +GenericName[pa]=ਵੈਬ à¨à¨²à¨•à¨¾à¨°à¨¾ +GenericName[pl]=PrzeglÄ…darka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator de web +GenericName[ru]=Веб-браузер +GenericName[se]=Fierpmádatlogan +GenericName[sk]=Webový prehliadaÄ +GenericName[sl]=Spletni brskalnik +GenericName[sr]=Веб претраживач +GenericName[sr@Latn]=Veb pretraživaÄ +GenericName[ss]=Ibrawuza yeWeb +GenericName[sv]=Webbläsare +GenericName[ta]=வலை உலாவி +GenericName[tg]=ТафÑиргари вÑб +GenericName[th]=เว็บบราวเซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Ðавігатор Тенет +GenericName[uz]=Веб-браузер +GenericName[ven]=Buronza ya Webu +GenericName[vi]=Trình duyệt Web +GenericName[wa]=Betchteu waibe +GenericName[xh]=Umkhangeli zincwadi we Web +GenericName[zh_CN]=网页æµè§ˆå™¨ +GenericName[zh_TW]=網é ç€è¦½å™¨ +GenericName[zu]=Umcingi we-Web +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +X-KDE-StartupNotify=true diff --git a/patches/source/mozilla-firefox/slack-desc b/patches/source/mozilla-firefox/slack-desc new file mode 100644 index 000000000..a54bac8f0 --- /dev/null +++ b/patches/source/mozilla-firefox/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser) +mozilla-firefox: +mozilla-firefox: This project is a redesign of the Mozilla browser component written +mozilla-firefox: using the XUL user interface language. Firefox empowers you to +mozilla-firefox: browse faster, more safely and more efficiently than with any other +mozilla-firefox: browser. +mozilla-firefox: +mozilla-firefox: Visit the Mozilla Firefox project online: +mozilla-firefox: http://www.mozilla.org/projects/firefox/ +mozilla-firefox: +mozilla-firefox: diff --git a/patches/source/mozilla-nss/MPL-1.1.txt b/patches/source/mozilla-nss/MPL-1.1.txt new file mode 100644 index 000000000..7714141d1 --- /dev/null +++ b/patches/source/mozilla-nss/MPL-1.1.txt @@ -0,0 +1,470 @@ + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + diff --git a/patches/source/mozilla-nss/faq.html b/patches/source/mozilla-nss/faq.html new file mode 100644 index 000000000..176fe8f88 --- /dev/null +++ b/patches/source/mozilla-nss/faq.html @@ -0,0 +1,364 @@ + + + + + + + + + + + + +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..a98f1ae68 --- /dev/null +++ b/patches/source/mozilla-nss/mozilla-nss.SlackBuild @@ -0,0 +1,183 @@ +#!/bin/sh +# Copyright 2005, 2006, 2008, 2009, 2010, 2012 Eric Hameleers, Eindhoven, NL +# Copyright 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# ----------------------------------------------------------------------------- + +PKGNAM=mozilla-nss +SRCNAM=nss +VERSION=${VERSION:-3.23} +NSPR=${NSPR:-4.12} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + export USE_64=1 +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +# Seems parallel build does not work with this. +#NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf nss-${VERSION} +rm -rf nspr-${NSPR} +tar xvf $CWD/nss-$VERSION.tar.?z* || exit 1 +cd nss-$VERSION +tar xvf $CWD/nspr-$NSPR.tar.?z* || exit 1 +mv nspr*/nspr . + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +echo Building ... +export LDFLAGS="-lz" +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export BUILD_OPT=1 +export NSDISTMODE="copy" +export NSS_USE_SYSTEM_SQLITE=1 +export NSS_ENABLE_ECC=1 +cd nss + # Seems parallel build does not work with this. + #make $NUMJOBS nss_build_all export + make nss_build_all export +cd - + +# Install all the needed stuff to the package dir: +mkdir -p $PKG/usr/{bin,lib${LIBDIRSUFFIX},include/{nss,nspr}} +cd dist/$(uname -s)* + cp -pL bin/{certutil,cmsutil,crlutil,modutil,pk12util,shlibsign,signtool,signver,ssltap} $PKG/usr/bin/ + cp -pL lib/* $PKG/usr/lib${LIBDIRSUFFIX}/ + chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*.so* + cp -rL include/* $PKG/usr/include/nspr/ + cp -rpL ../public/nss/*.h $PKG/usr/include/nss/ + # Remove some things we do not need: + rm -f $PKG/usr/bin/*.so + rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a + rm -rf $PKG/usr/include/nspr/md + cp -L lib/libcrmf.a $PKG/usr/lib${LIBDIRSUFFIX}/ # yes, put this one back +cd - + +cd nss/cmd/smimetools + cp -a smime $PKG/usr/bin/ + chmod 0755 $PKG/usr/bin/smime + sed -i -e 's#/usr/local/bin#/usr/bin#g' $PKG/usr/bin/smime +cd - + +# Install nspr-config: +cat nspr/$(uname -s)*/config/nspr-config | sed -e "s,prefix=/usr/local,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config +chmod 755 $PKG/usr/bin/nspr-config + +# Install nss-config: +sed -e "s,@prefix@,/usr,g" \ + -e "s,@MOD_MAJOR_VERSION@,$(printf $VERSION | cut -d. -f1),g" \ + -e "s,@MOD_MINOR_VERSION@,$(printf $VERSION | cut -d. -f2),g" \ + -e "s,@MOD_PATCH_VERSION@,$(printf $VERSION | cut -d. -f3),g" \ + $CWD/nss-config.in > $PKG/usr/bin/nss-config +chmod 755 $PKG/usr/bin/nss-config + +# Provide pkg-config files: +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig +cat < $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/mozilla-firefox.xpcom_arm.patch b/patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch new file mode 100644 index 000000000..7309b55a1 --- /dev/null +++ b/patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch @@ -0,0 +1,18 @@ +--- a/xpcom/glue/objs.mk ++++ a/xpcom/glue/objs.mk +@@ -71,13 +71,13 @@ XPCOM_GLUENS_SRC_LCPPSRCS = \ + SSE.cpp \ + unused.cpp \ + nsProxyRelease.cpp \ + nsTextFormatter.cpp \ + GenericFactory.cpp \ + FileUtils.cpp \ + $(NULL) + +-ifeq (arm,$(TARGET_CPU)) ++ifneq (,$(filter arm%,$(TARGET_CPU))) + XPCOM_GLUENS_SRC_LCPPSRCS += arm.cpp + endif + + XPCOM_GLUENS_SRC_CPPSRCS = $(addprefix $(topsrcdir)/xpcom/glue/,$(XPCOM_GLUENS_SRC_LCPPSRCS)) + diff --git a/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild new file mode 100755 index 000000000..d2c294a19 --- /dev/null +++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild @@ -0,0 +1,247 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2012 by Eric Hameleers for ARM port. + +# Thanks to the folks at the Mozilla Foundation for permission to +# distribute this, and for all the great work! :-) + +TARBALLVER=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source) +# Strip the end from beta versions: +VERSION=$(echo $TARBALLVER | cut -f 1 -d b) +MAJORVER=$(echo $TARBALLVER | cut -f 1 -d .) +BUILD=${BUILD:-1_slack14.0} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mozilla-thunderbird + +# Figure out if this is a beta, or a release: +if echo $TARBALLVER | grep -q b ; then # we think it is a beta + if bzgrep -q comm-beta/ $CWD/thunderbird-$TARBALLVER.source.tar.bz2 ; then + MOZVERS=${MOZVERS:-beta} + else # blindly assume it is a release + MOZVERS=${MOZVERS:-release} + fi +else # release, no "b" in the tarball version: + if bzgrep -q comm-esr${MAJORVER}/ $CWD/thunderbird-$TARBALLVER.source.tar.bz2 ; then + # Looks like we get this sometimes even when the tarball isn't labeled as esr... + MOZVERS=${MOZVERS:-esr${MAJORVER}} + else + MOZVERS=${MOZVERS:-release} + fi +fi + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +# Try to be gentle to the compiler, no optimizations: +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armel" ]; then + SLKCFLAGS="-O2 -march=armv4t" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX} + +cd $TMP +rm -rf comm-$MOZVERS +tar xvf $CWD/thunderbird-$TARBALLVER.source.tar.bz2 || exit 1 +cd comm-$MOZVERS || exit 1 + +# Fix a long standing bug that's prevented staying current on GTK+. +# Thanks to the BLFS folks. :-) +cat << EOF >> mozilla/layout/build/Makefile.in + +ifdef MOZ_ENABLE_CANVAS +EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender +endif + +EOF + +# Arch-dependent patches: +case "$ARCH" in + armv7hl) ARCH_CONFIG="--with-arch=armv7-a --with-float-abi=hard --with-fpu=vfpv3-d16 --disable-elf-hack" + # Make firefox compile on ARM platforms lacking neon support: + zcat $CWD/mozilla-firefox.xpcom_arm.patch.gz | patch -p1 --verbose || exit 1 + ;; + *) ARCH_CONFIG=" " + ;; +esac + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +if gcc --version | grep -q "gcc (GCC) 4.7.0" ; then + # Enable compiling with gcc-4.7.0: + sed -i '/fcntl.h/a#include ' \ + mozilla/ipc/chromium/src/base/{file_util_linux,message_pump_libevent,process_util_posix}.cc && + sed -i '/sys\/time\.h/a#include ' mozilla/ipc/chromium/src/base/time_posix.cc && + sed -i 's#\"PRIxPTR#\" PRIxPTR#g' mozilla/layout/base/tests/TestPoisonArea.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/base/search/src/nsMsgSearchAdapter.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/base/src/nsMsgFolderCompactor.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/compose/src/nsSmtpProtocol.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/imap/src/nsImapMailFolder.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/imap/src/nsImapProtocol.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/imap/src/nsImapServerResponseParser.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/local/src/nsPop3Protocol.cpp && + sed -i 's#\"CRLF#\" CRLF#g' mailnews/mime/src/mimedrft.cpp && + sed -i 's#\"MSG_LINEBREAK#\" MSG_LINEBREAK#g' mailnews/mime/src/mimemult.cpp && + sed -i 's#\"MSG_LINEBREAK#\" MSG_LINEBREAK#g' mailnews/base/src/nsMsgFolderCompactor.cpp && + sed -i 's# ""##' mozilla/browser/base/Makefile.in +fi + +# Mozilla devs enforce using an objdir for building +# and launching configure with the absolute path +# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir +mkdir obj +cd obj +export MOZILLA_DIR=$TMP/comm-$MOZVERS/mozilla && +export MOZILLA_OFFICIAL="1" && +export BUILD_OFFICIAL="1" && +export MOZ_PHOENIX="1" && +export CFLAGS="$SLKCFLAGS" && +export CXXFLAGS="$SLKCFLAGS" && +export MOZ_MAKE_FLAGS="$NUMJOBS" && +$TMP/comm-$MOZVERS/configure \ + --enable-official-branding \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION \ + --with-system-zlib \ + --enable-application=mail \ + --enable-default-toolkit=cairo-gtk2 \ + --enable-startup-notification \ + --enable-crypto \ + --enable-ldap \ + --enable-libxul \ + --enable-svg \ + --enable-canvas \ + --enable-xft \ + --enable-xinerama \ + --enable-optimize \ + --enable-reorder \ + --enable-strip \ + --enable-cpp-rtti \ + --enable-single-profile \ + --disable-accessibility \ + --disable-crashreporter \ + --disable-debug \ + --disable-tests \ + --disable-logging \ + --disable-pedantic \ + --disable-installer \ + --disable-profilesharing + # Complains about missing APNG support in Slackware's libpng: + #--with-system-png \ + # Broken with 12.0: + #--enable-system-cairo \ + +#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1 +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Exit obj directory: +cd .. + +# We don't need these (just symlinks anyway): +rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$VERSION + +# Nor these: +rm -rf $PKG/usr/include + +# Thunderbird 3.x cruft? +# If we still need something like this (and you know what we need :), let me know. +#( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION +# cp -a defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig +# zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1 +#) || exit 1 + +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins +mkdir -p $PKG/usr/share/applications +cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop +mkdir -p $PKG/usr/share/pixmaps +cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png + +# These files/directories are usually created if Firefox is run as root, +# which on many systems might (and possibly should) be never. Therefore, if we +# don't see them we'll put stubs in place to prevent startup errors. +( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION + if [ -d extensions/talkback\@mozilla.org ]; then + if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then + echo > extensions/talkback\@mozilla.org/chrome.manifest + fi + fi + if [ ! -d updates ]; then + mkdir -p updates/0 + fi +) + +# Need some default icons in the right place: +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default +install -m 644 other-licenses/branding/thunderbird/default16.png \ + $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/icons/ +install -m 644 other-licenses/branding/thunderbird/default16.png \ + $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default/ +( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION + install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/ +) + +# Copy over the LICENSE +install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/ + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$TARBALLVER-$ARCH-$BUILD.txz + diff --git a/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop b/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop new file mode 100644 index 000000000..0f85ecbe1 --- /dev/null +++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop @@ -0,0 +1,84 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=thunderbird +Icon=/usr/share/pixmaps/thunderbird.png +Type=Application +Categories=Application;Network; +Name=Thunderbird +Name[bn]=থাণà§à¦¡à¦¾à¦°à¦¬à¦¾à¦°à§à¦¡ +Name[eo]=Mozilo Tondrobirdo +Name[fi]=Mozilla Thunderbird +Name[pa]=ਥੰਡਰਬਰਡ +Name[tg]=Паррандаи бало +GenericName=Mail Client +GenericName[af]=Pos Kliënt +GenericName[ar]=البريد الألكتروني +GenericName[az]=Poçt Alıcısı +GenericName[be]=Паштовы кліент +GenericName[bg]=ПощенÑки клиент +GenericName[bn]=ইমেইল কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ +GenericName[br]=Arval postel +GenericName[bs]=Program za Äitanje elektronske poÅ¡te +GenericName[ca]=Client de correu electrònic +GenericName[cs]=Klient pro Ätení elektronické poÅ¡ty +GenericName[cy]=Dibynnydd Ebost +GenericName[da]=E-mail-klient +GenericName[de]=E-Mail-Programm +GenericName[el]=Πελάτης mail +GenericName[eo]=Legi kaj sendi retpoÅton +GenericName[es]=Cliente de correo electrónico +GenericName[et]=Meiliklient +GenericName[eu]=Posta bezeroa +GenericName[fa]=کارگیر پست الکترونیکی +GenericName[fi]=Sähköpostiohjelma +GenericName[fo]=Postforrit +GenericName[fr]=Logiciel de messagerie électronique +GenericName[ga]=Cliant Ríomhphoist +GenericName[gl]=Cliente de correo +GenericName[he]=תוכנית דו×ר +GenericName[hi]=डाकिया +GenericName[hr]=Program za Äitanje elektronske poÅ¡te +GenericName[hu]=LevelezÅ‘program +GenericName[id]=Klien Mail +GenericName[is]=Póstforrit +GenericName[it]=Programma di posta elettronica +GenericName[ja]=メールクライアント +GenericName[ko]=편지를 주고 받는 프로그램 +GenericName[lo]=ໄຄà»à»€àº­àº±àº™àºˆàº»àº”ຫມາàºà»€àº­à»€àº¥àº±àºà»‚ຕນິຠ+GenericName[lt]=PaÅ¡to klientas +GenericName[lv]=Pasta Klients +GenericName[mk]=Програма за електронÑка пошта +GenericName[mn]=Э-Захиа-Програм +GenericName[mt]=Klijent tal-imejl +GenericName[nb]=E-postklient +GenericName[nds]=Mailprogramm +GenericName[nl]=E-mailclient +GenericName[nn]=Lesing og sending av e-post +GenericName[nso]=Moreki wa Poso +GenericName[oc]=Programari de correu electrònic +GenericName[pa]=ਪੱਤਰ ਕਲਾਂਇਟ +GenericName[pl]=Program do wysyÅ‚ania i odbierania poczty elektronicznej +GenericName[pt]=Client de E-mail +GenericName[pt_BR]=Cliente de E-mail +GenericName[ro]=Program de poÅŸtă electronică +GenericName[ru]=Клиент Ñлектронной почты +GenericName[se]=Boastaprográmma +GenericName[sk]=Klient elektronickej poÅ¡ty +GenericName[sl]=Program za e-poÅ¡to +GenericName[sr]=Програм за e-пошту +GenericName[sr@Latn]=Program za e-poÅ¡tu +GenericName[ss]=Likhasimende leliposi +GenericName[sv]=E-postklient +GenericName[ta]=அஞà¯à®šà®²à¯ உறà¯à®ªà¯à®ªà®¿à®©à®°à¯ +GenericName[tg]=Коргири почтаи Ñллектроникӣ +GenericName[th]=ไคลเอนต์จดหมายอิเล็à¸à¸—รอนิà¸à¸ªà¹Œ +GenericName[tr]=Posta Ä°stemcisi +GenericName[uk]=Клієнт електронної пошти +GenericName[uz]=Хат-хабар клиенти +GenericName[ven]=Mushumisani na poso +GenericName[wa]=Cliyint d' emilaedje +GenericName[xh]=Umxhasi Weposi +GenericName[zh_CN]=é‚®ä»¶ç¨‹åº +GenericName[zh_TW]=郵件處ç†ç¨‹å¼ +GenericName[zu]=Umxhasi weposi +X-KDE-StartupNotify=true diff --git a/patches/source/mozilla-thunderbird/slack-desc b/patches/source/mozilla-thunderbird/slack-desc new file mode 100644 index 000000000..353b22253 --- /dev/null +++ b/patches/source/mozilla-thunderbird/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application) +mozilla-thunderbird: +mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component +mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes +mozilla-thunderbird: emailing safer, faster, and easier than ever before with the +mozilla-thunderbird: industry's best implementations of features such as intelligent spam +mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more. +mozilla-thunderbird: +mozilla-thunderbird: Visit the Mozilla Thunderbird project online: +mozilla-thunderbird: http://www.mozilla.org/projects/thunderbird/ +mozilla-thunderbird: diff --git a/patches/source/mozilla-thunderbird/thunderbird.png b/patches/source/mozilla-thunderbird/thunderbird.png new file mode 100644 index 000000000..61a37d70e Binary files /dev/null and b/patches/source/mozilla-thunderbird/thunderbird.png differ diff --git a/patches/source/mutt/doinst.sh b/patches/source/mutt/doinst.sh new file mode 100644 index 000000000..830fa2458 --- /dev/null +++ b/patches/source/mutt/doinst.sh @@ -0,0 +1,13 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/mutt/Muttrc.new diff --git a/patches/source/mutt/mutt.CVE-2014-9116.diff b/patches/source/mutt/mutt.CVE-2014-9116.diff new file mode 100644 index 000000000..97f6fd816 --- /dev/null +++ b/patches/source/mutt/mutt.CVE-2014-9116.diff @@ -0,0 +1,34 @@ +# HG changeset patch +# User Kevin McCarthy +# Date 1417472364 28800 +# Node ID 0aebf1df43598b442ac75ae4fe17875351854db0 +# Parent 5a86319adad0d17e4acaf8a580bfc9eb247547d0 +Revert write_one_header() to skip space and tab. (closes #3716) + +This patch fixes CVE-2014-9116 in the stable branch. It reverts +write_one_header() to the pre [f251d523ca5a] code for skipping +whitespace. + +Thanks to Antonio Radici and Tomas Hoger for their analysis and patches +to mutt, which this patch is based off of. + +diff -r 5a86319adad0 -r 0aebf1df4359 sendlib.c +--- a/sendlib.c Mon Jan 05 18:28:59 2015 -0800 ++++ b/sendlib.c Mon Dec 01 14:19:24 2014 -0800 +@@ -1814,7 +1814,14 @@ + { + tagbuf = mutt_substrdup (start, t); + /* skip over the colon separating the header field name and value */ +- t = skip_email_wsp(t + 1); ++ ++t; ++ ++ /* skip over any leading whitespace (WSP, as defined in RFC5322) ++ * NOTE: skip_email_wsp() does the wrong thing here. ++ * See tickets 3609 and 3716. */ ++ while (*t == ' ' || *t == '\t') ++ t++; ++ + valbuf = mutt_substrdup (t, end); + } + dprint(4,(debugfile,"mwoh: buf[%s%s] too long, " + diff --git a/patches/source/mutt/mutt.SlackBuild b/patches/source/mutt/mutt.SlackBuild new file mode 100755 index 000000000..5fd219c94 --- /dev/null +++ b/patches/source/mutt/mutt.SlackBuild @@ -0,0 +1,128 @@ +#!/bin/sh +# Copyright 2002-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=mutt +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +TMP=${TMP:-/tmp} +CWD=`pwd` +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +PKG=$TMP/package-mutt +rm -rf $PKG +mkdir $PKG +cd $TMP +rm -rf mutt-$VERSION +tar xvf $CWD/mutt-$VERSION.tar.?z* || exit 1 +cd mutt-$VERSION || exit 1 +chown -R root:root . + +zcat $CWD/mutt.CVE-2014-9116.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --docdir=/usr/doc/mutt-$VERSION \ + --with-docdir=/usr/doc/mutt-$VERSION \ + --sysconfdir=/etc/mutt \ + --with-mailpath=/var/spool/mail \ + --enable-pop \ + --enable-imap \ + --with-ssl \ + --with-sasl \ + --enable-smtp \ + --enable-gpgme \ + --enable-hcache \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +# This stuff is redundant or not useful to most people, IMHO. +# If you want it, use the source, Luke. +rm -f $PKG/usr/doc/mutt-$VERSION/*.html +rm -f $PKG/etc/mutt/*.dist + +# This is an ancient artifact +rm -f $PKG/usr/doc/mutt-$VERSION/samples/ca-bundle.crt + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mv $PKG/etc/mutt/Muttrc $PKG/etc/mutt/Muttrc.new + +cd $PKG +/sbin/makepkg -l y -c n ../mutt-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/mutt/slack-desc b/patches/source/mutt/slack-desc new file mode 100644 index 000000000..eda6d811d --- /dev/null +++ b/patches/source/mutt/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mutt: Mutt (the Mutt mail user agent) +mutt: +mutt: Mutt is a small but very powerful text-based MIME mail client. Mutt +mutt: is highly configurable, and is well suited to the mail power user with +mutt: advanced features like key bindings, keyboard macros, mail threading, +mutt: regular expression searches and a powerful pattern matching language +mutt: for selecting groups of messages. +mutt: +mutt: +mutt: +mutt: diff --git a/patches/source/mysql/README.mysql-embedded b/patches/source/mysql/README.mysql-embedded new file mode 100644 index 000000000..21b519e91 --- /dev/null +++ b/patches/source/mysql/README.mysql-embedded @@ -0,0 +1,7 @@ +The mysql-embedded.SlackBuild produces a package containing +a static libmysqld.a library (and some support files) that +is required in order to build applications that embed a +mysql server (such as amarok). If you need to build such +applications, first you'll need to use this SlackBuild to +prepare a mysql package that contains embedded support and +install it on your system. diff --git a/patches/source/mysql/doinst.sh b/patches/source/mysql/doinst.sh new file mode 100644 index 000000000..a5d835faf --- /dev/null +++ b/patches/source/mysql/doinst.sh @@ -0,0 +1,23 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.mysqld.new: +if [ -e etc/rc.d/rc.mysqld ]; then + cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming + cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming + mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new +fi + +config etc/rc.d/rc.mysqld.new +config etc/mysqlaccess.conf.new + diff --git a/patches/source/mysql/mysql-embedded.SlackBuild b/patches/source/mysql/mysql-embedded.SlackBuild new file mode 100755 index 000000000..f7f610eae --- /dev/null +++ b/patches/source/mysql/mysql-embedded.SlackBuild @@ -0,0 +1,221 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Build and install MySQL on Slackware +# by: David Cantrell +# Currently maintained by: Patrick Volkerding + + +VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mysql + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf mysql-$VERSION +tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1 +cd mysql-$VERSION + +if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then + for patch in $CWD/*.diff.gz ; do + zcat $patch | patch -p1 --verbose || exit 1 + done +fi + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +mkdir build +cd build +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ +CXX=gcc \ +cmake \ + -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT="RPM" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_SQLBENCHDIR= \ + -DINSTALL_MYSQLTESTDIR=mysql-test \ + -DINSTALL_INFODIR=info \ + -DINSTALL_MANDIR=man \ + -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \ + -DMYSQL_DATADIR="/var/lib/mysql" \ + -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \ + -DWITH_EXTRA_CHARSETS=complex \ + -DWITH_INNOBASE_STORAGE_ENGINE=1 \ + -DENABLED_LOCAL_INFILE=ON \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ + .. + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Install sample configuration files: +mkdir -p $PKG/etc/mysql +cp support-files/my-*.cnf $PKG/etc/mysql + +# Move mysqlaccess.conf to a more proper place +mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new +chmod 644 $PKG/etc/mysqlaccess.conf.new + +# Leave build directory: +cd .. + +# install additional headers needed for building external engine plugins: +mkdir -p $PKG/usr/include/mysql/private/atomic + +install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/ + +for i in sql include; do + for j in $i/*.h; do + install -m 644 $j $PKG/usr/include/mysql/private/ + done +done + +for i in include/atomic/*.h; do + install -m 644 $i $PKG/usr/include/mysql/private/atomic/ +done + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Install docs +mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs +cp -a \ + BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \ + $PKG/usr/doc/mysql-$VERSION +( cd Docs + # Seems most of the Docs/* are gone, but we'll leave the cp stuff + # in case it returns. + cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \ + $PKG/usr/doc/mysql-$VERSION/Docs ) +## Too large to justify since the .html version is right there: +#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt +find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \; + +# This is the directory where databases are stored: +mkdir -p $PKG/var/lib/mysql +chown mysql.mysql $PKG/var/lib/mysql +chmod 0750 $PKG/var/lib/mysql + +# This is where the socket is stored: +mkdir -p $PKG/var/run/mysql +chown mysql.mysql $PKG/var/run/mysql +chmod 0755 $PKG/var/run/mysql + +# Do not package the test suite: +rm -rf $PKG/usr/mysql-test + +# More unpackaged things: +rm -f $PKG/usr/info/dir +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.* +( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so ) + +# Add init script: +mkdir -p $PKG/etc/rc.d +# This is intentionally chmod 644. +zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new + +# Install script: +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Build package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-${BUILD}_withembedded.txz diff --git a/patches/source/mysql/mysql.SlackBuild b/patches/source/mysql/mysql.SlackBuild new file mode 100755 index 000000000..a80fefc4e --- /dev/null +++ b/patches/source/mysql/mysql.SlackBuild @@ -0,0 +1,221 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Build and install MySQL on Slackware +# by: David Cantrell +# Currently maintained by: Patrick Volkerding + + +VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-mysql + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf mysql-$VERSION +tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1 +cd mysql-$VERSION + +if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then + for patch in $CWD/*.diff.gz ; do + zcat $patch | patch -p1 --verbose || exit 1 + done +fi + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +mkdir build +cd build +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \ +CXX=gcc \ +cmake \ + -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT="RPM" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_SQLBENCHDIR= \ + -DINSTALL_MYSQLTESTDIR=mysql-test \ + -DINSTALL_INFODIR=info \ + -DINSTALL_MANDIR=man \ + -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \ + -DMYSQL_DATADIR="/var/lib/mysql" \ + -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \ + -DWITH_EXTRA_CHARSETS=complex \ + -DWITH_INNOBASE_STORAGE_ENGINE=1 \ + -DENABLED_LOCAL_INFILE=ON \ + -DWITH_EMBEDDED_SERVER=OFF \ + -DWITH_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ + .. + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Install sample configuration files: +mkdir -p $PKG/etc/mysql +cp support-files/my-*.cnf $PKG/etc/mysql + +# Move mysqlaccess.conf to a more proper place +mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new +chmod 644 $PKG/etc/mysqlaccess.conf.new + +# Leave build directory: +cd .. + +# install additional headers needed for building external engine plugins: +mkdir -p $PKG/usr/include/mysql/private/atomic + +install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/ + +for i in sql include; do + for j in $i/*.h; do + install -m 644 $j $PKG/usr/include/mysql/private/ + done +done + +for i in include/atomic/*.h; do + install -m 644 $i $PKG/usr/include/mysql/private/atomic/ +done + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Install docs +mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs +cp -a \ + BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \ + $PKG/usr/doc/mysql-$VERSION +( cd Docs + # Seems most of the Docs/* are gone, but we'll leave the cp stuff + # in case it returns. + cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \ + $PKG/usr/doc/mysql-$VERSION/Docs ) +## Too large to justify since the .html version is right there: +#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt +find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \; + +# This is the directory where databases are stored: +mkdir -p $PKG/var/lib/mysql +chown mysql.mysql $PKG/var/lib/mysql +chmod 0750 $PKG/var/lib/mysql + +# This is where the socket is stored: +mkdir -p $PKG/var/run/mysql +chown mysql.mysql $PKG/var/run/mysql +chmod 0755 $PKG/var/run/mysql + +# Do not package the test suite: +rm -rf $PKG/usr/mysql-test + +# More unpackaged things: +rm -f $PKG/usr/info/dir +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.* +( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so ) + +# Add init script: +mkdir -p $PKG/etc/rc.d +# This is intentionally chmod 644. +zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new + +# Install script: +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Build package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/mysql/rc.mysqld b/patches/source/mysql/rc.mysqld new file mode 100644 index 000000000..300e6eb2d --- /dev/null +++ b/patches/source/mysql/rc.mysqld @@ -0,0 +1,86 @@ +#!/bin/sh +# Start/stop/restart mysqld. +# +# Copyright 2003 Patrick J. Volkerding, Concord, CA +# Copyright 2003 Slackware Linux, Inc., Concord, CA +# Copyright 2008 Patrick J. Volkerding, Sebeka, MN +# +# This program comes with NO WARRANTY, to the extent permitted by law. +# You may redistribute copies of this program under the terms of the +# GNU General Public License. + +# To start MySQL automatically at boot, be sure this script is executable: +# chmod 755 /etc/rc.d/rc.mysqld + +# Before you can run MySQL, you must have a database. To install an initial +# database, do this as root: +# +# mysql_install_db --user=mysql +# +# Note that the mysql user must exist in /etc/passwd, and the created files +# will be owned by this dedicated user. This is important, or else mysql +# (which runs as user "mysql") will not be able to write to the database +# later (this can be fixed with 'chown -R mysql.mysql /var/lib/mysql'). +# +# To increase system security, consider using "mysql_secure_installation" +# as well. For more information on this tool, please read: +# man mysql_secure_installation + +# To allow outside connections to the database comment out the next line. +# If you don't need incoming network connections, then leave the line +# uncommented to improve system security. +SKIP="--skip-networking" + +# Start mysqld: +mysqld_start() { + if [ -x /usr/bin/mysqld_safe ]; then + # If there is an old PID file (no mysqld running), clean it up: + if [ -r /var/run/mysql/mysql.pid ]; then + if ! ps axc | grep mysqld 1> /dev/null 2> /dev/null ; then + echo "Cleaning up old /var/run/mysql/mysql.pid." + rm -f /var/run/mysql/mysql.pid + fi + fi + /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP & + fi +} + +# Stop mysqld: +mysqld_stop() { + # If there is no PID file, ignore this request... + if [ -r /var/run/mysql/mysql.pid ]; then + killall mysqld + # Wait at least one minute for it to exit, as we don't know how big the DB is... + for second in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 \ + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 60 ; do + if [ ! -r /var/run/mysql/mysql.pid ]; then + break; + fi + sleep 1 + done + if [ "$second" = "60" ]; then + echo "WARNING: Gave up waiting for mysqld to exit!" + sleep 15 + fi + fi +} + +# Restart mysqld: +mysqld_restart() { + mysqld_stop + mysqld_start +} + +case "$1" in +'start') + mysqld_start + ;; +'stop') + mysqld_stop + ;; +'restart') + mysqld_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/patches/source/mysql/slack-desc b/patches/source/mysql/slack-desc new file mode 100644 index 000000000..29e1b8be4 --- /dev/null +++ b/patches/source/mysql/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +mysql: mysql (SQL-based relational database server) +mysql: +mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL +mysql: (Structured Query Language) database server. It comes with a nice API +mysql: which makes it easy to integrate into other applications. +mysql: +mysql: The home page for MySQL is http://www.mysql.com/ +mysql: +mysql: +mysql: +mysql: diff --git a/patches/source/nettle/nettle.SlackBuild b/patches/source/nettle/nettle.SlackBuild new file mode 100755 index 000000000..1751ef460 --- /dev/null +++ b/patches/source/nettle/nettle.SlackBuild @@ -0,0 +1,127 @@ +#!/bin/sh + +# Slackware build script for nettle + +# Copyright 2011 Robby Workman, Northport, Alabama, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=nettle +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:--j6} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?*z || exit 1 +cd $PKGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# There is a "--disable-openssl" flag that shows this for help: +# "Do not include openssl glue in the benchmark program" +# Building without that flag does not appear to link any openssl libraries, +# so I don't see any potential legal implications... --rworkman +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --infodir=/usr/info \ + --enable-shared \ + --build=$ARCH-slackware-linux \ + || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Do not package static libraries: +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a + +# Fix perms on shared objects +find $PKG/usr/lib${LIBDIRSUFFIX} -type f -name "*.so.*" -exec chmod 0755 {} \; + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* INSTALL NEWS README TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/nettle/slack-desc b/patches/source/nettle/slack-desc new file mode 100644 index 000000000..159c77de3 --- /dev/null +++ b/patches/source/nettle/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +nettle: Nettle (small cryptographic library) +nettle: +nettle: Nettle is a cryptographic library that is designed to fit easily in +nettle: more or less any context: In crypto toolkits for object-oriented +nettle: languages (C++, Python, Pike, ...), in applications like LSH or +nettle: GNUPG, or even in kernel space. +nettle: +nettle: Homepage: http://www.lysator.liu.se/~nisse/nettle/ +nettle: +nettle: +nettle: diff --git a/patches/source/ntp/doinst.sh b/patches/source/ntp/doinst.sh new file mode 100644 index 000000000..bc5429909 --- /dev/null +++ b/patches/source/ntp/doinst.sh @@ -0,0 +1,28 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + config ${NEW} +} + +config etc/ntp.conf.new +config etc/ntp/ntp.keys.new +if [ -r etc/rc.d/rc.ntpd -a -r etc/rc.d/rc.ntpd.new ]; then + chmod --reference=etc/rc.d/rc.ntpd etc/rc.d/rc.ntpd.new +fi +mv etc/rc.d/rc.ntpd.new etc/rc.d/rc.ntpd diff --git a/patches/source/ntp/ntp.SlackBuild b/patches/source/ntp/ntp.SlackBuild new file mode 100755 index 000000000..dd5b03235 --- /dev/null +++ b/patches/source/ntp/ntp.SlackBuild @@ -0,0 +1,158 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=ntp +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-ntp + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf ntp-${VERSION}* +tar xvf $CWD/ntp-${VERSION}*.tar.?z* || exit 1 +cd ntp-${VERSION}* || exit 1 + +zcat $CWD/ntp.nano.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 2777 -o -perm 2755 -o -perm 2775 \) \ + -exec chmod u+rwx,g-sw,g+rx,o-w,o+rx {} \; -o \ + \( -perm 777 -o -perm 775 -o -perm 774 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod u+rwx,g-sw,g+rx,o-w,o+rx {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --bindir=/usr/sbin \ + --sbindir=/usr/sbin \ + --mandir=/usr/man \ + --docdir=/usr/doc/ntp-$VERSION \ + --htmldir=/usr/doc/ntp-$VERSION \ + --enable-ipv6 \ + --with-crypto \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make -i install DESTDIR=$PKG || exit 1 + +# Since the Makefile's install pays no heed to the --bindir settings, +# we'll move things to where they've always been ourselves: +mv $PKG/usr/bin/* $PKG/usr/sbin +rmdir $PKG/usr/bin + +# This might only be an empty directory: +rmdir $PKG/usr/lib/pkgconfig + +# This should be empty. Try to remove it, and error out if it's not actually empty: +rmdir $PKG/usr/libexec || exit 1 + +mkdir -p $PKG/etc/ntp +cat $CWD/ntp.conf > $PKG/etc/ntp.conf.new +cat $CWD/ntp.keys > $PKG/etc/ntp/ntp.keys.new +chmod 600 $PKG/etc/ntp/ntp.keys.new +touch $PKG/etc/ntp/step-tickers + +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.ntpd > $PKG/etc/rc.d/rc.ntpd.new + +mv $PKG/usr/doc/ntp-$VERSION/*.html $PKG/usr/doc/ntp-$VERSION/html || exit 1 +cp -a \ + COPYRIGHT NEWS README* TODO WHERE-TO-START \ + *.y2kfixes clockstuff conf scripts \ + $PKG/usr/doc/ntp-$VERSION +mkdir $PKG/usr/doc/ntp-$VERSION/util +cp -a util/README $PKG/usr/doc/ntp-$VERSION/util +mkdir $PKG/usr/doc/ntp-$VERSION/ntpdate +cp -a ntpdate/README $PKG/usr/doc/ntp-$VERSION/ntpdate +( cd $PKG/usr/doc/ntp-$VERSION + find . -name ".deps*" -exec rm -rf "{}" \; 2> /dev/null +) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/ntp-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/ntp/ntp.conf b/patches/source/ntp/ntp.conf new file mode 100644 index 000000000..1844fb91c --- /dev/null +++ b/patches/source/ntp/ntp.conf @@ -0,0 +1,72 @@ +# Sample /etc/ntp.conf: Configuration file for ntpd. +# +# Undisciplined Local Clock. This is a fake driver intended for backup +# and when no outside source of synchronized time is available. The +# default stratum is usually 3, but in this case we elect to use stratum +# 0. Since the server line does not have the prefer keyword, this driver +# is never used for synchronization, unless no other other +# synchronization source is available. In case the local host is +# controlled by some external source, such as an external oscillator or +# another protocol, the prefer keyword would cause the local host to +# disregard all other synchronization sources, unless the kernel +# modifications are in use and declare an unsynchronized condition. +# +server 127.127.1.0 # local clock +fudge 127.127.1.0 stratum 10 + +# +# NTP server (list one or more) to synchronize with: +#server 0.pool.ntp.org iburst +#server 1.pool.ntp.org iburst +#server 2.pool.ntp.org iburst +#server 3.pool.ntp.org iburst + +# +# Drift file. Put this in a directory which the daemon can write to. +# No symbolic links allowed, either, since the daemon updates the file +# by creating a temporary in the same directory and then rename()'ing +# it to the file. +# +driftfile /etc/ntp/drift + +# +# Uncomment to use a multicast NTP server on the local subnet: +#multicastclient 224.0.1.1 # listen on default 224.0.1.1 +# Set an optional compensation for broadcast packet delay: +#broadcastdelay 0.008 + +# +# Keys file. If you want to diddle your server at run time, make a +# keys file (mode 600 for sure) and define the key number to be +# used for making requests. +# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote +# systems might be able to reset your clock at will. +# +#keys /etc/ntp/keys +#trustedkey 65535 +#requestkey 65535 +#controlkey 65535 + +# +# Don't serve time or stats to anyone else by default (more secure) +restrict default limited kod nomodify notrap nopeer noquery +restrict -6 default limited kod nomodify notrap nopeer noquery + +# +# Use these lines instead if you do want to serve time and stats to +# other machines on the network: +#restrict default limited kod nomodify notrap nopeer +#restrict -6 default limited kod nomodify notrap nopeer + +# +# Disable the ntpdc -c monlist command, which is insecure and can be used +# to cause a denial of service attack (CVE-2013-5211). Future versions of +# NTP will remove this command. +# (this feature was disabled by default with ntpd 4.2.7p230) +disable monitor + +# +# Trust ourselves. :-) +restrict 127.0.0.1 +restrict ::1 + diff --git a/patches/source/ntp/ntp.keys b/patches/source/ntp/ntp.keys new file mode 100644 index 000000000..1c3fbd2c4 --- /dev/null +++ b/patches/source/ntp/ntp.keys @@ -0,0 +1,2 @@ +65535 M akey +1 M pass diff --git a/patches/source/ntp/ntp.nano.diff b/patches/source/ntp/ntp.nano.diff new file mode 100644 index 000000000..0ff361ce9 --- /dev/null +++ b/patches/source/ntp/ntp.nano.diff @@ -0,0 +1,17 @@ +--- ./include/ntp_syscall.h.orig 2009-12-09 01:36:37.000000000 -0600 ++++ ./include/ntp_syscall.h 2010-04-21 23:38:30.000000000 -0500 +@@ -14,6 +14,14 @@ + # include + #endif + ++#if defined(ADJ_NANO) && !defined(MOD_NANO) ++#define MOD_NANO ADJ_NANO ++#endif ++ ++#if defined(ADJ_TAI) && !defined(MOD_TAI) ++#define MOD_TAI ADJ_TAI ++#endif ++ + #ifndef NTP_SYSCALLS_LIBC + #ifdef NTP_SYSCALLS_STD + # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t)) diff --git a/patches/source/ntp/rc.ntpd b/patches/source/ntp/rc.ntpd new file mode 100644 index 000000000..c1d1411ca --- /dev/null +++ b/patches/source/ntp/rc.ntpd @@ -0,0 +1,71 @@ +#!/bin/sh +# Start/stop/restart ntpd. + +# Start ntpd: +ntpd_start() { + CMDLINE="/usr/sbin/ntpd -g" + echo -n "Starting NTP daemon: $CMDLINE" + $CMDLINE -p /var/run/ntpd.pid + echo + # The kernel is now mocking around with the the hardware clock if + # ntpd is running, so if the hardware clock (wall clock) is set to + # 'localtime' execute hwclock --localtime --systohc to disable the + # 11 minute mode kernel function: + if [ -x /sbin/hwclock ]; then + # Check for a broken motherboard RTC clock (where ioports for rtc are + # unknown) to prevent hwclock causing a hang: + if ! grep -q -w rtc /proc/ioports ; then + CLOCK_OPT="--directisa" + fi + if ! grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then + echo "Saving system time to the hardware clock (localtime)." + /sbin/hwclock $CLOCK_OPT --localtime --systohc + fi + fi +} + +# Stop ntpd: +ntpd_stop() { + echo -n "Stopping NTP daemon..." + if [ -r /var/run/ntpd.pid ]; then + kill -HUP $(cat /var/run/ntpd.pid) + rm -f /var/run/ntpd.pid + else + killall -HUP -q ntpd + fi + echo +} + +# Restart ntpd: +ntpd_restart() { + ntpd_stop + sleep 1 + ntpd_start +} + +# Check if ntpd is running +ntpd_status() { + if [ -e /var/run/ntpd.pid ]; then + echo "ntpd is running." + else + echo "ntpd is stopped." + exit 1 + fi +} + +case "$1" in +'start') + ntpd_start + ;; +'stop') + ntpd_stop + ;; +'restart') + ntpd_restart + ;; +'status') + ntpd_status + ;; +*) + echo "usage $0 start|stop|restart|status" +esac diff --git a/patches/source/ntp/slack-desc b/patches/source/ntp/slack-desc new file mode 100644 index 000000000..6319e8885 --- /dev/null +++ b/patches/source/ntp/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +ntp: ntp (Network Time Protocol daemon) +ntp: +ntp: The Network Time Protocol (NTP) is used to synchronize the time of a +ntp: computer client or server to another server or reference time source, +ntp: such as a radio or satellite receiver or modem. It provides client +ntp: accuracies typically within a millisecond on LANs and up to a few tens +ntp: of milliseconds on WANs relative to a primary server synchronized to +ntp: Coordinated Universal Time (UTC) via a Global Positioning Service +ntp: (GPS) receiver, for example. +ntp: +ntp: diff --git a/patches/source/openssh/doinst.sh b/patches/source/openssh/doinst.sh new file mode 100644 index 000000000..73ce62836 --- /dev/null +++ b/patches/source/openssh/doinst.sh @@ -0,0 +1,49 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + touch -r ${NEW} ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + config ${NEW} +} + +config etc/ssh/ssh_config.new +config etc/ssh/sshd_config.new +preserve_perms etc/rc.d/rc.sshd.new +if [ -e etc/rc.d/rc.sshd.new ]; then + mv etc/rc.d/rc.sshd.new etc/rc.d/rc.sshd +fi + +# If the sshd user/group/shadow don't exist, add them: + +if ! grep -q "^sshd:" etc/passwd ; then + echo "sshd:x:33:33:sshd:/:" >> etc/passwd +fi + +if ! grep -q "^sshd:" etc/group ; then + echo "sshd::33:sshd" >> etc/group +fi + +if ! grep -q "^sshd:" etc/shadow ; then + echo "sshd:*:9797:0:::::" >> etc/shadow +fi + +# Add a btmp file to store login failure if one doesn't exist: +if [ ! -r var/log/btmp ]; then + ( cd var/log ; umask 077 ; touch btmp ) +fi + diff --git a/patches/source/openssh/openssh-7.4p1-libwrap.diff b/patches/source/openssh/openssh-7.4p1-libwrap.diff new file mode 100644 index 000000000..d1025e43c --- /dev/null +++ b/patches/source/openssh/openssh-7.4p1-libwrap.diff @@ -0,0 +1,137 @@ +--- ./configure.ac.orig 2016-12-18 22:59:41.000000000 -0600 ++++ ./configure.ac 2016-12-23 12:58:04.200707728 -0600 +@@ -1467,6 +1467,62 @@ + ] + ) + ++# Check whether user wants TCP wrappers support ++TCPW_MSG="no" ++AC_ARG_WITH([tcp-wrappers], ++ [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)], ++ [ ++ if test "x$withval" != "xno" ; then ++ saved_LIBS="$LIBS" ++ saved_LDFLAGS="$LDFLAGS" ++ saved_CPPFLAGS="$CPPFLAGS" ++ if test -n "${withval}" && \ ++ test "x${withval}" != "xyes"; then ++ if test -d "${withval}/lib"; then ++ if test -n "${need_dash_r}"; then ++ LDFLAGS="-L${withval}/lib -R${withval}/lib ${LDFLAGS}" ++ else ++ LDFLAGS="-L${withval}/lib ${LDFLAGS}" ++ fi ++ else ++ if test -n "${need_dash_r}"; then ++ LDFLAGS="-L${withval} -R${withval} ${LDFLAGS}" ++ else ++ LDFLAGS="-L${withval} ${LDFLAGS}" ++ fi ++ fi ++ if test -d "${withval}/include"; then ++ CPPFLAGS="-I${withval}/include ${CPPFLAGS}" ++ else ++ CPPFLAGS="-I${withval} ${CPPFLAGS}" ++ fi ++ fi ++ LIBS="-lwrap -lnsl $LIBS" ++ AC_MSG_CHECKING([for libwrap]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ++#include ++#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..e97852892 --- /dev/null +++ b/patches/source/openssh/openssh.SlackBuild @@ -0,0 +1,169 @@ +#!/bin/sh + +# Copyright 2000 BSDi, Inc. Concord, CA, USA +# Copyright 2001, 2002, 2003, 2004 Slackware Linux, Inc. Concord, CA, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-openssh + +VERSION=${VERSION:-$(echo openssh-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +NUMJOBS=${NUMJOBS:--j6} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" +elif [ "$ARCH" = "armel" ]; then + SLKCFLAGS="-O2 -march=armv4t" +else + SLKCFLAGS="-O2" +fi + +# Clean target location: +rm -rf $PKG +mkdir -p $PKG + +# Prepare the framework and extract the package: +cd $TMP +rm -rf $PKG openssh-$VERSION +tar xvf $CWD/openssh-$VERSION.tar.gz || tar xvf $CWD/openssh-$VERSION.tar.?z* || exit 1 +cd openssh-$VERSION +chown -R root:root . + +zcat $CWD/openssh.CVE-2017-15906.patch.gz | patch -p1 --verbose || exit 1 + +# Restore support for tcpwrappers: +zcat $CWD/openssh-7.4p1-libwrap.diff.gz | patch -p1 --verbose || exit 1 +autoreconf -vif + +# Compile package: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --sysconfdir=/etc/ssh \ + --without-pam \ + --with-md5-passwords \ + --with-tcp-wrappers \ + --with-default-path=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin \ + --with-privsep-path=/var/empty \ + --with-privsep-user=sshd \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 + +# Install the package: +make install DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Install directory used with PrivilegeSeparation option: +mkdir -p $PKG/var/empty +chmod 755 $PKG/var/empty + +# Install docs: +mkdir -p $PKG/usr/doc/openssh-$VERSION +cp -a \ + CREDITS ChangeLog INSTALL LICENCE OVERVIEW \ + README README.privsep README.smartcard RFC.nroff TODO WARNING.RNG \ + $PKG/usr/doc/openssh-$VERSION +chmod 644 $PKG/usr/doc/openssh-$VERSION/* + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +# Install also 'ssh-copy-id' and its manpage from contrib: +( cd contrib + cp -a ssh-copy-id $PKG/usr/bin/ssh-copy-id + chmod 755 $PKG/usr/bin/ssh-copy-id + cat ssh-copy-id.1 | gzip -9c > $PKG/usr/man/man1/ssh-copy-id.1.gz +) + +( cd $PKG + + # Ditch the new host keys, since these have to be uniquely prepared on each machine: + rm -f etc/ssh/ssh_host_dsa_key + rm -f etc/ssh/ssh_host_dsa_key.pub + rm -f etc/ssh/ssh_host_rsa_key + rm -f etc/ssh/ssh_host_rsa_key.pub + rm -f etc/ssh/ssh_host_key + rm -f etc/ssh/ssh_host_key.pub + + # Set up the config script installation: + mv etc/ssh/ssh_config etc/ssh/ssh_config.new + mv etc/ssh/sshd_config etc/ssh/sshd_config.new + + # Add the init script: + mkdir -p etc/rc.d + cat $CWD/rc.sshd > etc/rc.d/rc.sshd.new + chmod 755 etc/rc.d/rc.sshd.new + + # Copy runtime installation files: + mkdir -p install + zcat $CWD/doinst.sh.gz > install/doinst.sh + cat $CWD/slack-desc > install/slack-desc +) + +# Create the package itself: +cd $PKG +/sbin/makepkg -l y -c n $TMP/openssh-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/openssh/rc.sshd b/patches/source/openssh/rc.sshd new file mode 100644 index 000000000..2da2ab307 --- /dev/null +++ b/patches/source/openssh/rc.sshd @@ -0,0 +1,59 @@ +#!/bin/sh +# Start/stop/restart the secure shell server: + +sshd_start() { + # Create host keys if needed. + if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then + /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' + fi + if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then + /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' + fi + if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then + /usr/bin/ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' + fi + if [ ! -f /etc/ssh/ssh_host_ed25519_key ]; then + /usr/bin/ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N '' + fi + # Catch any new host key types not yet created above: + /usr/bin/ssh-keygen -A + # Start the sshd daemon: + /usr/sbin/sshd +} + +sshd_stop() { + killall sshd +} + +sshd_restart() { + if [ -r /var/run/sshd.pid ]; then + echo "WARNING: killing listener process only. To kill every sshd process, you must" + echo " use 'rc.sshd stop'. 'rc.sshd restart' kills only the parent sshd to" + echo " allow an admin logged in through sshd to use 'rc.sshd restart' without" + echo " being cut off. If sshd has been upgraded, new connections will now" + echo " use the new version, which should be a safe enough approach." + kill `cat /var/run/sshd.pid` + else + echo "WARNING: There does not appear to be a parent instance of sshd running." + echo " If you really want to kill all running instances of sshd (including" + echo " any sessions currently in use), run '/etc/rc.d/rc.sshd stop' instead." + exit 1 + fi + sleep 1 + sshd_start +} + +case "$1" in +'start') + sshd_start + ;; +'stop') + sshd_stop + ;; +'restart') + sshd_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac + diff --git a/patches/source/openssh/slack-desc b/patches/source/openssh/slack-desc new file mode 100644 index 000000000..04277a720 --- /dev/null +++ b/patches/source/openssh/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +openssh: openssh (Secure Shell daemon and clients) +openssh: +openssh: ssh (Secure Shell) is a program for logging into a remote machine and +openssh: for executing commands on a remote machine. It is intended to replace +openssh: rlogin and rsh, and provide secure encrypted communications between +openssh: two untrusted hosts over an insecure network. sshd (SSH Daemon) is +openssh: the daemon program for ssh. OpenSSH is based on the last free version +openssh: of Tatu Ylonen's SSH, further enhanced and cleaned up by Aaron +openssh: Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and +openssh: Dug Song. It has a homepage at http://www.openssh.com/ +openssh: diff --git a/patches/source/openssl/certwatch b/patches/source/openssl/certwatch new file mode 100644 index 000000000..d52dc3dc4 --- /dev/null +++ b/patches/source/openssl/certwatch @@ -0,0 +1,130 @@ +#!/bin/sh +# +# Will check all certificates stored in $CERTDIR for their expiration date, +# and will display (if optional "stdout" argument is given), or mail a warning +# message to $MAILADDR (if script is executed without any parameter +# - unattended mode suitable for cron execution) for each particular certificate +# that is about to expire in time less to, or equal to $DAYS after this script +# has been executed, or if it has already expired. +# This stupid script (C) 2006,2007 Jan Rafaj + +########################## CONFIGURATION SECTION BEGIN ######################### +# Note: all settings are mandatory +# Warning will be sent if a certificate expires in time <= days given here +DAYS=7 +# E-mail address where to send warnings +MAILADDR=root +# Directory with certificates to check +CERTDIR=/etc/ssl/certs +# Directory where to keep state files if this script isnt executed with "stdout" +STATEDIR=/var/run +########################### CONFIGURATION SECTION END ########################## + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAY_IN_SECS=$((60*60*24)) +DATE_CURRENT=$(date '+%s') + +usage() +{ + echo "Usage: $0 [stdout]" + echo + echo "Detailed description and configuration is embedded within the script." + exit 0 +} + +message() +{ + cat << EOF + WARNING: certificate $certfile + is about to expire in time equal to or less than $DAYS days from now on, + or has already expired - it might be a good idea to obtain/create new one. + +EOF +} + +message_mail() +{ + message + cat << EOF + NOTE: This message is being sent only once. + + A lock-file + $STATEDIR/certwatch-mailwarning-sent-$certfilebase + has been created, which will prevent this script from mailing you again + upon its subsequent executions by crond. You dont need to care about it; + the file will be auto-deleted as soon as you'll prolong your certificate. +EOF +} + +unset stdout +case $# in + 0) ;; + 1) if [ "$1" = "-h" -o "$1" == "--help" ]; then + usage + elif [ "$1" = "stdout" ]; then + stdout=1 + else + usage + fi + ;; + *) usage ;; +esac + +for dir in $STATEDIR $CERTDIR ; do + if [ ! -d $dir ]; then + echo "ERROR: directory $dir does not exist" + exit 1 + fi +done +for binary in basename date find grep mail openssl touch ; do + if [ ! \( -x /usr/bin/$binary -o -x /bin/$binary \) ]; then + echo "ERROR: /usr/bin/$binary not found" + exit 1 + fi +done + +find $CERTDIR -type f -maxdepth 1 | while read certfile ; do + if [ "$certfile" != "/etc/ssl/certs/ca-certificates.crt" ]; then + certfilebase="$(basename "$certfile")" + inform=PEM + echo "$certfile" | grep -q -i '\.net$' + if [ $? -eq 0 ]; then + # This is based purely on filename extension, so may give false results. + # But lets assume noone uses NET format certs today, ok? + continue + fi + echo "$certfile" | grep -q -i '\.der$' + if [ $? -eq 0 -o "$(file "$certfile" | egrep '(ASCII|PEM)')" == "" ]; then + inform=DER + fi + # We wont use '-checkend' since it is not properly documented (as of + # OpenSSL 0.9.8e). + DATE_CERT_EXPIRES=$(openssl x509 -in "$certfile" -inform $inform -noout -enddate | sed 's/^notAfter=//') + DATE_CERT_EXPIRES=$(date -d"$DATE_CERT_EXPIRES" +%s) + if [ $(($DATE_CERT_EXPIRES - $DATE_CURRENT)) -le $(($DAYS * $DAY_IN_SECS)) ] + then + if [ $stdout ]; then + message + else + if [ ! -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then + subject="$0: certificate $certfile expiration warning" + message_mail | mail -r "certwatch@$HOSTNAME" \ + -s "$subject" \ + $MAILADDR 2>/dev/null + # echo "Mail about expiring certificate $certfile sent to $MAILADDR." + # echo "If you need to send it again, please remove lock-file" + # echo "$STATEDIR/certwatch-mailwarning-sent-$certfilebase ." + # echo + fi + touch $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" + fi + else + if [ ! $stdout ]; then + if [ -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then + rm $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" + fi + fi + fi + fi +done + diff --git a/patches/source/openssl/doinst.sh-openssl b/patches/source/openssl/doinst.sh-openssl new file mode 100644 index 000000000..8fcf3d1c1 --- /dev/null +++ b/patches/source/openssl/doinst.sh-openssl @@ -0,0 +1,26 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# If there is a known buggy certwatch script with no local +# modifications, just replace it: +if [ "$(md5sum etc/cron.daily/certwatch 2> /dev/null)" = "32556321806f1850d56cb2ef8384b7a1 etc/cron.daily/certwatch" ]; then + cat etc/cron.daily/certwatch.new > etc/cron.daily/certwatch + touch -r etc/cron.daily/certwatch.new etc/cron.daily/certwatch +fi + +config etc/ssl/openssl.cnf.new +config etc/cron.daily/certwatch.new + +# Rehash certificates if the package is upgraded on a running system: +if [ -x /usr/bin/c_rehash ]; then + /usr/bin/c_rehash 1> /dev/null 2> /dev/null +fi diff --git a/patches/source/openssl/doinst.sh-openssl-solibs b/patches/source/openssl/doinst.sh-openssl-solibs new file mode 100644 index 000000000..ed4fdfacb --- /dev/null +++ b/patches/source/openssl/doinst.sh-openssl-solibs @@ -0,0 +1,12 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/ssl/openssl.cnf.new diff --git a/patches/source/openssl/openssl.SlackBuild b/patches/source/openssl/openssl.SlackBuild new file mode 100755 index 000000000..2747ee29e --- /dev/null +++ b/patches/source/openssl/openssl.SlackBuild @@ -0,0 +1,211 @@ +#!/bin/sh + +# Copyright 2000 BSDi, Inc. Concord, CA, USA +# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA +# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +PKG1=$TMP/package-openssl +PKG2=$TMP/package-ossllibs +NAME1=openssl-$VERSION-$ARCH-$BUILD +NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD + +# Parallel build doesn't link properly. +#NUMJOBS=${NUMJOBS:--j6} + +# So that ls has the right field counts for parsing... +export LC_ALL=C + +cd $TMP +rm -rf $PKG1 $PKG2 openssl-$VERSION + +tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1 +cd openssl-$VERSION + +# Use .so.1, not .so.1.0.0: +zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1 +if [ "$ARCH" = "i486" ]; then + # Build with -march=i486 -mtune=i686: + zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +fi + +# OpenSSL has a (nasty?) habit of bumping the internal version number with +# every release. This wouldn't be so bad, but some applications are so +# paranoid that they won't run against a different OpenSSL version than +# what they were compiled against, whether or not the ABI has changed. +# +# So, we will use the OPENSSL_VERSION_NUMBER from openssl-1.0.1c unless ABI +# breakage forces it to change. Yes, we're finally using this old trick. :) +sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x1000103fL (1.0.1c) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x1000103fL/g" crypto/opensslv.h || exit 1 + +chown -R root:root . +mkdir -p $PKG1/usr/doc/openssl-$VERSION +cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \ + LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION +find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \; +find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \; + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION) + cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +# These are the known patent issues with OpenSSL: +# name # expires +# MDC-2: 4,908,861 2007-03-13, included. :-) +# IDEA: 5,214,703 2010-05-25, not included. +# RC5: 5,724,428 2015-03-03, not included. + +./config \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + no-idea \ + no-rc5 \ + no-sse2 \ + enable-ssl2 \ + no-weak-ssl-ciphers \ + shared + +make $NUMJOBS depend || make depend || exit 1 + +make $NUMJOBS || make || exit 1 + +make install INSTALL_PREFIX=$PKG1 || exit 1 + +# Make the .so.? library symlinks: +( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* ) + +# Move libraries, as they might be needed by programs that bring a network +# mounted /usr online: + +mkdir $PKG1/lib${LIBDIRSUFFIX} +( cd $PKG1/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + +# Add a cron script to warn root if a certificate is going to expire soon: +mkdir -p $PKG1/etc/cron.daily +zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new +chmod 755 $PKG1/etc/cron.daily/certwatch.new + +mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new + +( cd $PKG1 + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mv $PKG1/etc/ssl/man $PKG1/usr +( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 ) +( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 ) +( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 ) +# Compress and symlink the man pages: +if [ -d $PKG1/usr/man ]; then + ( cd $PKG1/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# If there's an openssl0 directory, then build openssl-0 shared libraries for +# compatibility with programs linked to those: +if [ -d $CWD/openssl0 ]; then + ( cd $CWD/openssl0 + ./openssl0.build || exit 1 + ) || exit 1 + # Don't put these in the openssl package... openssl-solibs is enough. + #mkdir -p $PKG1/lib${LIBDIRSUFFIX} + #cp -a $TMP/package-openssl0/usr/lib/lib*.so.?.?.? $PKG1/lib${LIBDIRSUFFIX} + #( cd $PKG1/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.?.?.? ) + mkdir -p $PKG2/lib${LIBDIRSUFFIX} + cp -a $TMP/package-openssl0/usr/lib/lib*.so.?.?.? $PKG2/lib${LIBDIRSUFFIX} + ( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.?.?.? ) +fi + +cd $PKG1 +chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig +sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc +mkdir -p install +zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh +cat $CWD/slack-desc.openssl > install/slack-desc +/sbin/makepkg -l y -c n $TMP/${NAME1}.txz + +# Make runtime package: +mkdir -p $PKG2/lib${LIBDIRSUFFIX} +( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} ) +( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * ) +mkdir -p $PKG2/etc +( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . ) +mkdir -p $PKG2/usr/doc/openssl-$VERSION +( cd $TMP/openssl-$VERSION + cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \ + LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION +) + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION) + cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \; +find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \; +cd $PKG2 +mkdir -p install +zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh +cat $CWD/slack-desc.openssl-solibs > install/slack-desc +/sbin/makepkg -l y -c n $TMP/${NAME2}.txz diff --git a/patches/source/openssl/openssl.optsx86.diff b/patches/source/openssl/openssl.optsx86.diff new file mode 100644 index 000000000..3b0a45c86 --- /dev/null +++ b/patches/source/openssl/openssl.optsx86.diff @@ -0,0 +1,11 @@ +--- ./Configure.orig 2015-04-16 11:46:04.733060835 -0500 ++++ ./Configure 2015-04-16 11:48:26.462074086 -0500 +@@ -352,7 +352,7 @@ + "linux-armv4", "gcc:-O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + #### IA-32 targets... + "linux-ia32-icc", "icc:-DL_ENDIAN -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +-"linux-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ++"linux-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -mtune=i686 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "linux-aout", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out", + #### + "linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/patches/source/openssl/openssl.soname.diff b/patches/source/openssl/openssl.soname.diff new file mode 100644 index 000000000..308968d9c --- /dev/null +++ b/patches/source/openssl/openssl.soname.diff @@ -0,0 +1,11 @@ +--- ./Makefile.shared.orig 2005-06-23 13:47:54.000000000 -0700 ++++ ./Makefile.shared 2005-10-12 20:02:28.000000000 -0700 +@@ -151,7 +151,7 @@ + SHLIB_SUFFIX=; \ + ALLSYMSFLAGS='-Wl,--whole-archive'; \ + NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ +- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" ++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB.1" + + DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" + diff --git a/patches/source/openssl/openssl0/certwatch b/patches/source/openssl/openssl0/certwatch new file mode 100644 index 000000000..d52dc3dc4 --- /dev/null +++ b/patches/source/openssl/openssl0/certwatch @@ -0,0 +1,130 @@ +#!/bin/sh +# +# Will check all certificates stored in $CERTDIR for their expiration date, +# and will display (if optional "stdout" argument is given), or mail a warning +# message to $MAILADDR (if script is executed without any parameter +# - unattended mode suitable for cron execution) for each particular certificate +# that is about to expire in time less to, or equal to $DAYS after this script +# has been executed, or if it has already expired. +# This stupid script (C) 2006,2007 Jan Rafaj + +########################## CONFIGURATION SECTION BEGIN ######################### +# Note: all settings are mandatory +# Warning will be sent if a certificate expires in time <= days given here +DAYS=7 +# E-mail address where to send warnings +MAILADDR=root +# Directory with certificates to check +CERTDIR=/etc/ssl/certs +# Directory where to keep state files if this script isnt executed with "stdout" +STATEDIR=/var/run +########################### CONFIGURATION SECTION END ########################## + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAY_IN_SECS=$((60*60*24)) +DATE_CURRENT=$(date '+%s') + +usage() +{ + echo "Usage: $0 [stdout]" + echo + echo "Detailed description and configuration is embedded within the script." + exit 0 +} + +message() +{ + cat << EOF + WARNING: certificate $certfile + is about to expire in time equal to or less than $DAYS days from now on, + or has already expired - it might be a good idea to obtain/create new one. + +EOF +} + +message_mail() +{ + message + cat << EOF + NOTE: This message is being sent only once. + + A lock-file + $STATEDIR/certwatch-mailwarning-sent-$certfilebase + has been created, which will prevent this script from mailing you again + upon its subsequent executions by crond. You dont need to care about it; + the file will be auto-deleted as soon as you'll prolong your certificate. +EOF +} + +unset stdout +case $# in + 0) ;; + 1) if [ "$1" = "-h" -o "$1" == "--help" ]; then + usage + elif [ "$1" = "stdout" ]; then + stdout=1 + else + usage + fi + ;; + *) usage ;; +esac + +for dir in $STATEDIR $CERTDIR ; do + if [ ! -d $dir ]; then + echo "ERROR: directory $dir does not exist" + exit 1 + fi +done +for binary in basename date find grep mail openssl touch ; do + if [ ! \( -x /usr/bin/$binary -o -x /bin/$binary \) ]; then + echo "ERROR: /usr/bin/$binary not found" + exit 1 + fi +done + +find $CERTDIR -type f -maxdepth 1 | while read certfile ; do + if [ "$certfile" != "/etc/ssl/certs/ca-certificates.crt" ]; then + certfilebase="$(basename "$certfile")" + inform=PEM + echo "$certfile" | grep -q -i '\.net$' + if [ $? -eq 0 ]; then + # This is based purely on filename extension, so may give false results. + # But lets assume noone uses NET format certs today, ok? + continue + fi + echo "$certfile" | grep -q -i '\.der$' + if [ $? -eq 0 -o "$(file "$certfile" | egrep '(ASCII|PEM)')" == "" ]; then + inform=DER + fi + # We wont use '-checkend' since it is not properly documented (as of + # OpenSSL 0.9.8e). + DATE_CERT_EXPIRES=$(openssl x509 -in "$certfile" -inform $inform -noout -enddate | sed 's/^notAfter=//') + DATE_CERT_EXPIRES=$(date -d"$DATE_CERT_EXPIRES" +%s) + if [ $(($DATE_CERT_EXPIRES - $DATE_CURRENT)) -le $(($DAYS * $DAY_IN_SECS)) ] + then + if [ $stdout ]; then + message + else + if [ ! -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then + subject="$0: certificate $certfile expiration warning" + message_mail | mail -r "certwatch@$HOSTNAME" \ + -s "$subject" \ + $MAILADDR 2>/dev/null + # echo "Mail about expiring certificate $certfile sent to $MAILADDR." + # echo "If you need to send it again, please remove lock-file" + # echo "$STATEDIR/certwatch-mailwarning-sent-$certfilebase ." + # echo + fi + touch $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" + fi + else + if [ ! $stdout ]; then + if [ -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then + rm $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" + fi + fi + fi + fi +done + diff --git a/patches/source/openssl/openssl0/doinst.sh-openssl b/patches/source/openssl/openssl0/doinst.sh-openssl new file mode 100644 index 000000000..c92e60763 --- /dev/null +++ b/patches/source/openssl/openssl0/doinst.sh-openssl @@ -0,0 +1,21 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# If there is a known buggy certwatch script with no local +# modifications, just replace it: +if [ "$(md5sum etc/cron.daily/certwatch 2> /dev/null)" = "32556321806f1850d56cb2ef8384b7a1 etc/cron.daily/certwatch" ]; then + cat etc/cron.daily/certwatch.new > etc/cron.daily/certwatch + touch -r etc/cron.daily/certwatch.new etc/cron.daily/certwatch +fi + +config etc/ssl/openssl.cnf.new +config etc/cron.daily/certwatch.new diff --git a/patches/source/openssl/openssl0/doinst.sh-openssl-solibs b/patches/source/openssl/openssl0/doinst.sh-openssl-solibs new file mode 100644 index 000000000..ed4fdfacb --- /dev/null +++ b/patches/source/openssl/openssl0/doinst.sh-openssl-solibs @@ -0,0 +1,12 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/ssl/openssl.cnf.new diff --git a/patches/source/openssl/openssl0/openssl.SlackBuild b/patches/source/openssl/openssl0/openssl.SlackBuild new file mode 100755 index 000000000..5101e5f16 --- /dev/null +++ b/patches/source/openssl/openssl0/openssl.SlackBuild @@ -0,0 +1,199 @@ +#!/bin/sh + +# Copyright 2000 BSDi, Inc. Concord, CA, USA +# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA +# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +PKG1=$TMP/package-openssl +PKG2=$TMP/package-ossllibs +NAME1=openssl-$VERSION-$ARCH-$BUILD +NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD + +NUMJOBS=${NUMJOBS:--j6} + +# So that ls has the right field counts for parsing... +export LC_ALL=C + +cd $TMP +rm -rf $PKG1 $PKG2 openssl-$VERSION +tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1 +cd openssl-$VERSION + +# Use .so.0, not .so.0.9.8: +zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1 +if [ "$ARCH" = "i486" ]; then + # Build with -march=i486 -mtune=i686: + zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +fi + +# Mitigate DROWN: +zcat $CWD/openssl.no.weak.sslv2.ciphers.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/openssl.no.weak.sslv3.ciphers.diff.gz | patch -p1 --verbose || exit 1 + +# OpenSSL has a (nasty?) habit of bumping the internal version number with +# every release. This wouldn't be so bad, but some applications are so +# paranoid that they won't run against a different OpenSSL version than +# what they were compiled against, whether or not the ABI has changed. +# +# So, we will use the OPENSSL_VERSION_NUMBER from openssl-0.9.8o unless ABI +# breakage forces it to change. Yes, we're finally using this old trick. :) +sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x009080efL (0.9.8o) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x009080efL/g" crypto/opensslv.h || exit 1 + +chown -R root:root . +mkdir -p $PKG1/usr/doc/openssl-$VERSION +cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \ + LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION +find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \; +find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \; + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION) + cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +# These are the known patent issues with OpenSSL: +# name # expires +# MDC-2: 4,908,861 2007-03-13, included. :-) +# IDEA: 5,214,703 2010-05-25, not included. +# RC5: 5,724,428 2015-03-03, not included. + +./config \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + no-idea \ + no-rc5 \ + no-sse2 \ + shared + +make $NUMJOBS depend || make depend || exit 1 + +make $NUMJOBS || make || exit 1 + +make install INSTALL_PREFIX=$PKG1 || exit 1 + +# Use proper libdir: +( cd $PKG1/usr; mv lib lib${LIBDIRSUFFIX} ) + +# Make the .so.? library symlinks: +( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* ) + +# Move libraries, as they might be needed by programs that bring a network +# mounted /usr online: + +mkdir $PKG1/lib${LIBDIRSUFFIX} +( cd $PKG1/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + +# Add a cron script to warn root if a certificate is going to expire soon: +mkdir -p $PKG1/etc/cron.daily +zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new +chmod 755 $PKG1/etc/cron.daily/certwatch.new + +mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new + +( cd $PKG1 + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mv $PKG1/etc/ssl/man $PKG1/usr +( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 ) +( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 ) +( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 ) +# Compress and symlink the man pages: +if [ -d $PKG1/usr/man ]; then + ( cd $PKG1/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +cd $PKG1 +chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig +sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc +mkdir -p install +zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh +cat $CWD/slack-desc.openssl > install/slack-desc +/sbin/makepkg -l y -c n $TMP/${NAME1}.txz + +# Make runtime package: +mkdir -p $PKG2/lib${LIBDIRSUFFIX} +( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} ) +( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * ) +mkdir -p $PKG2/etc +( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . ) +mkdir -p $PKG2/usr/doc/openssl-$VERSION +( cd $TMP/openssl-$VERSION + cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \ + LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION +) + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION) + cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \; +find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \; +cd $PKG2 +mkdir -p install +zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh +cat $CWD/slack-desc.openssl-solibs > install/slack-desc +/sbin/makepkg -l y -c n $TMP/${NAME2}.txz diff --git a/patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff b/patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff new file mode 100644 index 000000000..a7075ba4c --- /dev/null +++ b/patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff @@ -0,0 +1,51 @@ +diff -u -r --new-file openssl-0.9.8zh.orig/ssl/s2_lib.c openssl-0.9.8zh/ssl/s2_lib.c +--- openssl-0.9.8zh.orig/ssl/s2_lib.c 2015-12-03 08:59:08.000000000 -0600 ++++ openssl-0.9.8zh/ssl/s2_lib.c 2016-03-01 18:29:20.998111828 -0600 +@@ -97,6 +97,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# if 0 + /* RC4_128_EXPORT40_WITH_MD5 */ + { + 1, +@@ -110,6 +111,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* RC2_128_CBC_WITH_MD5 */ + { + 1, +@@ -123,6 +125,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# if 0 + /* RC2_128_CBC_EXPORT40_WITH_MD5 */ + { + 1, +@@ -136,6 +139,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* IDEA_128_CBC_WITH_MD5 */ + # ifndef OPENSSL_NO_IDEA + { +@@ -151,6 +155,7 @@ + SSL_ALL_STRENGTHS, + }, + # endif ++# if 0 + /* DES_64_CBC_WITH_MD5 */ + { + 1, +@@ -164,6 +169,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* DES_192_EDE3_CBC_WITH_MD5 */ + { + 1, diff --git a/patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff b/patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff new file mode 100644 index 000000000..17326a56e --- /dev/null +++ b/patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff @@ -0,0 +1,356 @@ +diff -u -r --new-file openssl-0.9.8zh.orig/ssl/s3_lib.c openssl-0.9.8zh/ssl/s3_lib.c +--- openssl-0.9.8zh.orig/ssl/s3_lib.c 2015-12-03 08:59:08.000000000 -0600 ++++ openssl-0.9.8zh/ssl/s3_lib.c 2016-03-01 18:42:26.295095103 -0600 +@@ -166,6 +166,7 @@ + SSL_ALL_STRENGTHS, + }, + /* Cipher 03 */ ++# if 0 + { + 1, + SSL3_TXT_RSA_RC4_40_MD5, +@@ -178,6 +179,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 04 */ + { + 1, +@@ -205,6 +207,7 @@ + SSL_ALL_STRENGTHS, + }, + /* Cipher 06 */ ++# if 0 + { + 1, + SSL3_TXT_RSA_RC2_40_MD5, +@@ -217,6 +220,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 07 */ + #ifndef OPENSSL_NO_IDEA + { +@@ -233,6 +237,7 @@ + }, + #endif + /* Cipher 08 */ ++# if 0 + { + 1, + SSL3_TXT_RSA_DES_40_CBC_SHA, +@@ -245,7 +250,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 09 */ ++# if 0 + { + 1, + SSL3_TXT_RSA_DES_64_CBC_SHA, +@@ -258,6 +265,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 0A */ + { + 1, +@@ -273,6 +281,7 @@ + }, + /* The DH ciphers */ + /* Cipher 0B */ ++# if 0 + { + 0, + SSL3_TXT_DH_DSS_DES_40_CBC_SHA, +@@ -285,7 +294,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 0C */ ++# if 0 + { + 0, + SSL3_TXT_DH_DSS_DES_64_CBC_SHA, +@@ -298,6 +309,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 0D */ + { + 0, +@@ -312,6 +324,7 @@ + SSL_ALL_STRENGTHS, + }, + /* Cipher 0E */ ++# if 0 + { + 0, + SSL3_TXT_DH_RSA_DES_40_CBC_SHA, +@@ -324,7 +337,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 0F */ ++# if 0 + { + 0, + SSL3_TXT_DH_RSA_DES_64_CBC_SHA, +@@ -337,6 +352,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 10 */ + { + 0, +@@ -353,6 +369,7 @@ + + /* The Ephemeral DH ciphers */ + /* Cipher 11 */ ++# if 0 + { + 1, + SSL3_TXT_EDH_DSS_DES_40_CBC_SHA, +@@ -365,7 +382,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 12 */ ++# if 0 + { + 1, + SSL3_TXT_EDH_DSS_DES_64_CBC_SHA, +@@ -378,6 +397,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 13 */ + { + 1, +@@ -392,6 +412,7 @@ + SSL_ALL_STRENGTHS, + }, + /* Cipher 14 */ ++# if 0 + { + 1, + SSL3_TXT_EDH_RSA_DES_40_CBC_SHA, +@@ -404,7 +425,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 15 */ ++# if 0 + { + 1, + SSL3_TXT_EDH_RSA_DES_64_CBC_SHA, +@@ -417,6 +440,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 16 */ + { + 1, +@@ -431,6 +455,7 @@ + SSL_ALL_STRENGTHS, + }, + /* Cipher 17 */ ++# if 0 + { + 1, + SSL3_TXT_ADH_RC4_40_MD5, +@@ -443,6 +468,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 18 */ + { + 1, +@@ -457,6 +483,7 @@ + SSL_ALL_STRENGTHS, + }, + /* Cipher 19 */ ++# if 0 + { + 1, + SSL3_TXT_ADH_DES_40_CBC_SHA, +@@ -469,7 +496,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 1A */ ++# if 0 + { + 1, + SSL3_TXT_ADH_DES_64_CBC_SHA, +@@ -482,6 +511,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 1B */ + { + 1, +@@ -543,6 +573,7 @@ + + #ifndef OPENSSL_NO_KRB5 + /* The Kerberos ciphers */ ++# if 0 + /* Cipher 1E */ + { + 1, +@@ -556,6 +587,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 1F */ + { +@@ -600,6 +632,7 @@ + }, + + /* Cipher 22 */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_DES_64_CBC_MD5, +@@ -612,6 +645,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 23 */ + { +@@ -656,6 +690,7 @@ + }, + + /* Cipher 26 */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_DES_40_CBC_SHA, +@@ -668,8 +703,10 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 27 */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_RC2_40_CBC_SHA, +@@ -682,8 +719,10 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 28 */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_RC4_40_SHA, +@@ -696,8 +735,10 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 29 */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_DES_40_CBC_MD5, +@@ -710,8 +751,10 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 2A */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_RC2_40_CBC_MD5, +@@ -724,8 +767,10 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + + /* Cipher 2B */ ++# if 0 + { + 1, + SSL3_TXT_KRB5_RC4_40_MD5, +@@ -738,6 +783,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + #endif /* OPENSSL_NO_KRB5 */ + + /* New AES ciphersuites */ +@@ -1007,6 +1053,7 @@ + }, + # endif + /* Cipher 62 */ ++# if 0 + { + 1, + TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA, +@@ -1019,7 +1066,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 63 */ ++# if 0 + { + 1, + TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA, +@@ -1032,7 +1081,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 64 */ ++# if 0 + { + 1, + TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA, +@@ -1045,7 +1096,9 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 65 */ ++# if 0 + { + 1, + TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, +@@ -1058,6 +1111,7 @@ + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS, + }, ++# endif + /* Cipher 66 */ + { + 1, diff --git a/patches/source/openssl/openssl0/openssl.optsx86.diff b/patches/source/openssl/openssl0/openssl.optsx86.diff new file mode 100644 index 000000000..a1a289a20 --- /dev/null +++ b/patches/source/openssl/openssl0/openssl.optsx86.diff @@ -0,0 +1,11 @@ +--- ./Configure.orig 2005-08-02 03:59:42.000000000 -0700 ++++ ./Configure 2005-10-12 20:04:43.000000000 -0700 +@@ -317,7 +317,7 @@ + "linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc32.o::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + #### IA-32 targets... + "linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +-"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ++"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -mtune=i686 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}", + #### + "linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/patches/source/openssl/openssl0/openssl.soname.diff b/patches/source/openssl/openssl0/openssl.soname.diff new file mode 100644 index 000000000..f660e93bb --- /dev/null +++ b/patches/source/openssl/openssl0/openssl.soname.diff @@ -0,0 +1,11 @@ +--- ./Makefile.shared.orig 2005-06-23 13:47:54.000000000 -0700 ++++ ./Makefile.shared 2005-10-12 20:02:28.000000000 -0700 +@@ -151,7 +151,7 @@ + SHLIB_SUFFIX=; \ + ALLSYMSFLAGS='-Wl,--whole-archive'; \ + NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ +- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" ++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB.0" + + DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" + diff --git a/patches/source/openssl/openssl0/openssl0.build b/patches/source/openssl/openssl0/openssl0.build new file mode 100755 index 000000000..ba917733d --- /dev/null +++ b/patches/source/openssl/openssl0/openssl0.build @@ -0,0 +1,202 @@ +#!/bin/sh + +# Copyright 2000 BSDi, Inc. Concord, CA, USA +# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA +# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +PKG1=$TMP/package-openssl0 +PKG2=$TMP/package-ossllibs +NAME1=openssl-$VERSION-$ARCH-$BUILD +NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD + +NUMJOBS=${NUMJOBS:--j6} + +# So that ls has the right field counts for parsing... +export LC_ALL=C + +cd $TMP +#rm -rf $PKG1 $PKG2 openssl-$VERSION +rm -rf $PKG1 openssl-$VERSION +tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1 +cd openssl-$VERSION + +# Use .so.0, not .so.0.9.8: +zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1 +if [ "$ARCH" = "i486" ]; then + # Build with -march=i486 -mtune=i686: + zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +fi + +# Mitigate DROWN: +zcat $CWD/openssl.no.weak.sslv2.ciphers.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/openssl.no.weak.sslv3.ciphers.diff.gz | patch -p1 --verbose || exit 1 + +# OpenSSL has a (nasty?) habit of bumping the internal version number with +# every release. This wouldn't be so bad, but some applications are so +# paranoid that they won't run against a different OpenSSL version than +# what they were compiled against, whether or not the ABI has changed. +# +# So, we will use the OPENSSL_VERSION_NUMBER from openssl-0.9.8o unless ABI +# breakage forces it to change. Yes, we're finally using this old trick. :) +sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x009080efL (0.9.8o) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x009080efL/g" crypto/opensslv.h || exit 1 + +chown -R root:root . +mkdir -p $PKG1/usr/doc/openssl-$VERSION +cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \ + LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION +find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \; +find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \; + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION) + cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +# These are the known patent issues with OpenSSL: +# name # expires +# MDC-2: 4,908,861 2007-03-13, included. :-) +# IDEA: 5,214,703 2010-05-25, not included. +# RC5: 5,724,428 2015-03-03, not included. + +./config \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + no-idea \ + no-rc5 \ + no-sse2 \ + shared + +make $NUMJOBS depend || make depend || exit 1 + +make $NUMJOBS || make || exit 1 + +make install INSTALL_PREFIX=$PKG1 || exit 1 + +exit 0 + +# Use proper libdir: +( cd $PKG1/usr; mv lib lib${LIBDIRSUFFIX} ) + +# Make the .so.? library symlinks: +( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* ) + +# Move libraries, as they might be needed by programs that bring a network +# mounted /usr online: + +mkdir $PKG1/lib${LIBDIRSUFFIX} +( cd $PKG1/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + +# Add a cron script to warn root if a certificate is going to expire soon: +mkdir -p $PKG1/etc/cron.daily +zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new +chmod 755 $PKG1/etc/cron.daily/certwatch.new + +mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new + +( cd $PKG1 + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mv $PKG1/etc/ssl/man $PKG1/usr +( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 ) +( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 ) +( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 ) +# Compress and symlink the man pages: +if [ -d $PKG1/usr/man ]; then + ( cd $PKG1/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +cd $PKG1 +chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig +sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc +mkdir -p install +zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh +cat $CWD/slack-desc.openssl > install/slack-desc +/sbin/makepkg -l y -c n $TMP/${NAME1}.txz + +# Make runtime package: +mkdir -p $PKG2/lib${LIBDIRSUFFIX} +( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} ) +( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * ) +mkdir -p $PKG2/etc +( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . ) +mkdir -p $PKG2/usr/doc/openssl-$VERSION +( cd $TMP/openssl-$VERSION + cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \ + LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION +) + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION) + cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \; +find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \; +cd $PKG2 +mkdir -p install +zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh +cat $CWD/slack-desc.openssl-solibs > install/slack-desc +/sbin/makepkg -l y -c n $TMP/${NAME2}.txz diff --git a/patches/source/openssl/openssl0/slack-desc.openssl b/patches/source/openssl/openssl0/slack-desc.openssl new file mode 100644 index 000000000..57227c043 --- /dev/null +++ b/patches/source/openssl/openssl0/slack-desc.openssl @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +openssl: openssl (Secure Sockets Layer toolkit) +openssl: +openssl: The OpenSSL certificate management tool and the shared libraries that +openssl: provide various encryption and decryption algorithms and protocols. +openssl: +openssl: This product includes software developed by the OpenSSL Project for +openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl: includes cryptographic software written by Eric Young +openssl: (eay@cryptsoft.com). This product includes software written by Tim +openssl: Hudson (tjh@cryptsoft.com). +openssl: diff --git a/patches/source/openssl/openssl0/slack-desc.openssl-solibs b/patches/source/openssl/openssl0/slack-desc.openssl-solibs new file mode 100644 index 000000000..58609e68b --- /dev/null +++ b/patches/source/openssl/openssl0/slack-desc.openssl-solibs @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +openssl-solibs: openssl-solibs (OpenSSL shared libraries) +openssl-solibs: +openssl-solibs: These shared libraries provide encryption routines required by +openssl-solibs: programs such as openssh, bind, sendmail, and many others. +openssl-solibs: +openssl-solibs: This product includes software developed by the OpenSSL Project for +openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl-solibs: includes cryptographic software written by Eric Young +openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim +openssl-solibs: Hudson (tjh@cryptsoft.com). +openssl-solibs: diff --git a/patches/source/openssl/slack-desc.openssl b/patches/source/openssl/slack-desc.openssl new file mode 100644 index 000000000..57227c043 --- /dev/null +++ b/patches/source/openssl/slack-desc.openssl @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +openssl: openssl (Secure Sockets Layer toolkit) +openssl: +openssl: The OpenSSL certificate management tool and the shared libraries that +openssl: provide various encryption and decryption algorithms and protocols. +openssl: +openssl: This product includes software developed by the OpenSSL Project for +openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl: includes cryptographic software written by Eric Young +openssl: (eay@cryptsoft.com). This product includes software written by Tim +openssl: Hudson (tjh@cryptsoft.com). +openssl: diff --git a/patches/source/openssl/slack-desc.openssl-solibs b/patches/source/openssl/slack-desc.openssl-solibs new file mode 100644 index 000000000..58609e68b --- /dev/null +++ b/patches/source/openssl/slack-desc.openssl-solibs @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +openssl-solibs: openssl-solibs (OpenSSL shared libraries) +openssl-solibs: +openssl-solibs: These shared libraries provide encryption routines required by +openssl-solibs: programs such as openssh, bind, sendmail, and many others. +openssl-solibs: +openssl-solibs: This product includes software developed by the OpenSSL Project for +openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product +openssl-solibs: includes cryptographic software written by Eric Young +openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim +openssl-solibs: Hudson (tjh@cryptsoft.com). +openssl-solibs: diff --git a/patches/source/openvpn/README b/patches/source/openvpn/README new file mode 100644 index 000000000..cf2c6602f --- /dev/null +++ b/patches/source/openvpn/README @@ -0,0 +1,26 @@ +OpenVPN is a full-featured SSL VPN which can accomodate a wide +range of configurations, including remote access, site-to-site VPNs, +WiFi security, and enterprise-scale remote access with load +balancing, failover, and fine-grained access-controls. + +OpenVPN implements OSI layer 2 or 3 secure network extension using the +industry standard SSL/TLS protocol, supports flexible client +authentication methods based on certificates, smart cards, and/or +2-factor authentication, and allows user or group-specific access +control policies using firewall rules applied to the VPN virtual +interface. + +This build of OpenVPN depends upon having openssl (not just +openssl-solibs) and lzo installed on your computer. + +Please note that there is no default config file for OpenVPN. This is +by design. OpenVPN can technically use any config file in any location. +However, this script does create an /etc/openvpn/ directory with certs/ +and keys/ subdirectories. Feel free to place config files, keys, and +certificates in these directories. certs/ and keys/ are owned by user +root and group nobody and are not world readable nor writable. +Additionally, they are not writable by group nobody. It is recommended +that you run openvpn nobody:nobody, but you may use another +non-privilaged user and group at your option. Just change the +permissions on these permissions to reflect that if you do. + diff --git a/patches/source/openvpn/doinst.sh b/patches/source/openvpn/doinst.sh new file mode 100644 index 000000000..4b9b133a9 --- /dev/null +++ b/patches/source/openvpn/doinst.sh @@ -0,0 +1,25 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + config ${NEW} +} + +preserve_perms etc/rc.d/rc.openvpn.new + diff --git a/patches/source/openvpn/openvpn.SlackBuild b/patches/source/openvpn/openvpn.SlackBuild new file mode 100755 index 000000000..7dc709b38 --- /dev/null +++ b/patches/source/openvpn/openvpn.SlackBuild @@ -0,0 +1,169 @@ +#!/bin/bash + +# Copyright 2006, Alan Hicks, Lizella, GA +# Copyright 2008, 2009, 2010, 2011, 2013, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=openvpn +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +# Fix ownership and permissions inside the source tarball. +# It's appalling how many projects have 777 permissions or +# even suid, sgid, and sticky bits set on things. +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc/openvpn \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/openvpn-${VERSION} \ + --enable-lzo \ + --enable-iproute2 \ + --disable-plugin-auth-pam \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +# Create a decent config directory. openvpn doesn't have one by +# default, nor does it have a single config file. +mkdir -p $PKG/etc/openvpn/{certs,keys} +chown root:nobody $PKG/etc/openvpn/{certs,keys} +chmod 750 $PKG/etc/openvpn/{certs,keys} + +# Install a startup script: +mkdir -p $PKG/etc/rc.d +cp -a $CWD/rc.openvpn $PKG/etc/rc.d/rc.openvpn.new +chmod 644 $PKG/etc/rc.d/rc.openvpn.new +chown root:root $PKG/etc/rc.d/rc.openvpn.new + +# Let folks know about the other configs, if they haven't found them. +# They might even find the documentation there useful. ;-) +cat << EOF > $PKG/etc/openvpn/README.TXT +One or more OpenVPN config files should be installed in this directory +as files ending in ".conf" (i.e. client.conf, server.conf, etc.). + +Have a look in sample-config-files for some more examples of how to +configure OpenVPN. + +To start OpenVPN, use this command as root: +sh /etc/rc.d/rc.openvpn start + +To make OpenVPN start automatically at boot, change the script permissions: +chmod 755 /etc/rc.d/rc.openvpn + +See "man openvpn" and the other docs for more information. +EOF + +# Add a link, too: +( cd $PKG/etc/openvpn + ln -sf /usr/doc/$PKGNAM-$VERSION/sample-config-files . +) + +if [ -d $PKG/usr/man ]; then +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +) +fi + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a AUTHORS COPYING* COPYRIGHT* INSTALL* \ + NEWS PORTS README* sample/sample-config-files sample/sample-keys sample/sample-scripts \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# Install a reasonably generic sample config file: +# (put this in with the other samples) +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files +cp -a $CWD/slackware.conf $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files +chown root:root $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files/slackware.conf +chmod 644 $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files/slackware.conf + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/openvpn/openvpn.url b/patches/source/openvpn/openvpn.url new file mode 100644 index 000000000..4c476d874 --- /dev/null +++ b/patches/source/openvpn/openvpn.url @@ -0,0 +1,2 @@ +https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.xz +https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.xz.asc diff --git a/patches/source/openvpn/rc.openvpn b/patches/source/openvpn/rc.openvpn new file mode 100644 index 000000000..86f319225 --- /dev/null +++ b/patches/source/openvpn/rc.openvpn @@ -0,0 +1,111 @@ +#!/bin/sh +# +# /etc/rc.d/rc.openvpn +# +# Start/stop/restart the openvpn daemon. +# +# By default, this script will start/stop/restart a daemon for every *.conf +# file found in /etc/openvpn. +# +# To work with a single connection, add the name of the config file: +# /etc/rc.d/rc.openvpn start configfile.conf +# +# You may also use a config file not found in /etc/openvpn by providing a +# complete path: +# /etc/rc.d/rc.openvpn start /path/to/some/other/configfile.conf +# +# The name of a config file provided with a complete path should not match +# the name of any config file present in the /etc/openvpn directory. + +ovpn_start() { + if [ -x /usr/sbin/openvpn ]; then + if [ -z "$1" ]; then # start OpenVPN for all config files: + if /bin/ls /etc/openvpn/*.conf 1> /dev/null 2> /dev/null ; then + for config in /etc/openvpn/*.conf ; do + echo "Starting OpenVPN: /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $config).pid --user nobody --group nobody --config $config" + /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $config).pid --user nobody --group nobody --config $config + done + else + echo "Unable to start OpenVPN - no .conf files found in /etc/openvpn/." + fi + else # start OpenVPN for one config file: + if [ -r "$1" ]; then + echo "Starting OpenVPN: /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $1).pid --user nobody --group nobody --config $1" + /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $1).pid --user nobody --group nobody --config $1 + else # config file is missing: + echo "Error starting OpenVPN: config file $1 is missing." + fi + fi + fi +} + +ovpn_stop() { + # Note: OpenVPN has a bad habit of leaving stale pid files around when exiting. + # Maybe it would be better to just use killall unless called for one config? + if [ -z "$1" ]; then # stop OpenVPN for all pid files: + if /bin/ls /run/openvpn/*.pid 1> /dev/null 2> /dev/null ; then + for pid in /run/openvpn/*.pid ; do + echo "Stopping OpenVPN for pid file $pid..." + kill $(cat $pid) + rm -f $pid + done + else + echo "Warning: no pid files found in /run/openvpn/. Using killall to stop any OpenVPN processes." + killall openvpn + fi + else # stop OpenVPN for one config file: + if [ -r /run/openvpn/$(basename ${1}).pid ]; then + echo "Stopping OpenVPN for config file ${1}..." + kill $(cat /run/openvpn/$(basename ${1}).pid) + rm -f /run/openvpn/$(basename ${1}).pid + else + echo "Error stopping OpenVPN: no such pid file /run/openvpn/$(basename ${1}).pid" + fi + fi +} + +ovpn_restart() { + if [ ! -z "$1" ]; then # restart for all config files: + ovpn_stop + sleep 2 + ovpn_start + else # restart for one config file only: + ovpn_stop $1 + sleep 2 + ovpn_start $1 + fi +} + +ovpn_status() { + if /bin/ls /run/openvpn/*.pid 1> /dev/null 2> /dev/null ; then + echo "Currently running OpenVPN processes according to .pid files in /run/openvpn:" + for pid in /run/openvpn/*.pid ; do + echo " $(basename $pid) ($(cat $pid))" + done + else + echo "No .pid files found in /run/openvpn." + fi +} + +# Create PID directory if it doesn't exist: +if [ ! -d /run/openvpn ]; then + mkdir -p /run/openvpn +fi + +case "$1" in +'start') + ovpn_start $2 + ;; +'stop') + ovpn_stop $2 + ;; +'restart') + ovpn_restart $2 + ;; +'status') + ovpn_status + ;; +*) + echo "Usage: $0 {start|stop|restart}" +esac + diff --git a/patches/source/openvpn/slack-desc b/patches/source/openvpn/slack-desc new file mode 100644 index 000000000..7ffd6167d --- /dev/null +++ b/patches/source/openvpn/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +openvpn: openvpn (secure IP tunnel daemon) +openvpn: +openvpn: OpenVPN is a full-featured SSL VPN which can accommodate a wide range +openvpn: of configurations, including remote access, site-to-site VPNs, WiFi +openvpn: security, and enterprise-scale remote access with load balancing, +openvpn: failover, and fine-grained access-controls. +openvpn: +openvpn: OpenVPN's home on the net is: http://openvpn.net +openvpn: +openvpn: +openvpn: diff --git a/patches/source/openvpn/slackware.conf b/patches/source/openvpn/slackware.conf new file mode 100644 index 000000000..4314b5441 --- /dev/null +++ b/patches/source/openvpn/slackware.conf @@ -0,0 +1,178 @@ +# openvpn.conf.sample +# +# This is a sample configuration file for OpenVPN. +# Not all options are listed here; you can find good documentation +# about all of the options in OpenVPN's manual page - openvpn(8). +# +# You can make a P-t-P connection by creating a shared key, +# copying this key to other hosts in your network, and changing +# the IP addresses in this file. +# +# Commented options are provided for some typical configurations + +# Change the "search" path to /etc/openvpn +# All files referenced in this configuration will be relative to +# whatever directory is specified here - we default to /etc/openvpn +cd /etc/openvpn + +# If running as a server, which local IP address should OpenVPN +# listen on? Specify this as either a hostname or IP address. If +# this is left blank, OpenVPN will default to listening on all +# interfaces. +#local a.b.c.d + +# This option defines the IP or DNS name of the other side of your VPN +# connection. This option is needed if you are making client or P-t-P +# connections. If you are the server, use "local" instead. This may +# be specified as a domain name or IP address. +#remote vpn.server.org + +# This option defins the protocol to use. Valid options are: +# udp, tcp-server, or tcp-client. Default is udp, and generally +# speaking, tcp is a bad idea. +proto udp + +# This option defines the port on which your server will be listening +# or trying to connect. The default is 1194 +port 1194 + +# This option defines whether to use LZO compression. +# If enabled, it must be enabled at both ends of the VPN connection. +#comp-lzo + +# Debug level (default 1) +#verb 3 + +# VPN logfile location +# If you don't specify a location here, logging will be done through +# syslogd and write to /var/log/messages +log-append /var/log/openvpn.log + +# If you want to use OpenVPN as a daemon, uncomment this line. +# Generally speaking, servers should run OpenVPN as a daemon +# and clients should not. +#daemon + +# Device type to use, you can choose between tun or tap. +# TUN is the most common option. If you have multiple connections, +# it is a good idea to bind each connection to a separate TUN/TAP +# interface using tunX/tapX, where X is the number of each interface. +dev tun + +# This option prevents OpenVPN from closing and re-opening the tun/tap +# device every time it receives a SIGUSR1 signal +#persist-tun + +# This is similar to the previous option, but it prevents OpenVPN from +# re-reading the key files every time +#persist-key + +# If you are using a client-server architecture, you need to specify the +# role of your computer in your VPN network. To use one of these options, +# you need to configure TLS options too. +# +# To use the "server" option, you must specify a network subnet such +# as 172.16.1.0 255.255.255.0. The first number is the network, the +# second is the netmask. OpenVPN will take the first available IP +# for itself (in our example, 172.16.1.1) and the rest will be +# given to connecting clients dynamically. +# +# Leave these commented out if you are using OpenVPN in bridging mode. +# +#server 10.1.2.0 255.255.255.0 +#client + +# This option defines a file with IP address to client mapping. +# This is useful in general, and necessary if clients use persist-tun. +#ifconfig-pool-persist ips.txt + +# Enable this option if you want clients connected to this VPN to be +# able to talk directly to each other +#client-to-client + +# This option defines the directory in which configuration files for clients +# will reside. With individual files you can make each client get different +# options using "push" parameters +#client-config-dir ccd + +# If you are using P-t-P, you need to specify the IP addresses at both ends +# of your VPN connection. The IP addresses are reversed at the other side. +# +# You can use this to specify client IP addresses in ccd files (on server) +# or directly in client configuration +#ifconfig 10.1.2.1 10.1.2.2 + +# You can set routes to specific networks. In the sample below, "vpn_gateway" +# is an internal OpenVPN alias to your VPN gateway - leave it as is. +# This will enable you to talk with the networks behind your VPN server. +# Multiple routes can be specified. +# +# +------------+ - - +------------+ +# | 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/perl/perl.SlackBuild b/patches/source/perl/perl.SlackBuild new file mode 100755 index 000000000..abda14405 --- /dev/null +++ b/patches/source/perl/perl.SlackBuild @@ -0,0 +1,304 @@ +#!/bin/sh + +# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# originally by: David Cantrell +# maintained by: + +VERSION=5.16.3 +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j6} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-perl + +# Additional required modules: +DBDMYSQL=4.021 +DBI=1.622 +URI=1.60 +XMLPARSER=2.41 +XMLSIMPLE=2.20 + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +if [ -x /usr/bin/perl ]; then + echo "Perl detected." + echo + echo "It's a good idea to remove your existing perl first." + echo + sleep 15 +fi + +# Clear build location: +rm -rf $PKG +mkdir -p $PKG + +# Extract the source code: +cd $TMP +rm -rf perl-$VERSION +tar xvf $CWD/perl-$VERSION.tar.?z* || exit 1 + +# Change into the source directory: +cd perl-$VERSION + +# Adjust owner/perms to standard values: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# If after all this time you still don't trust threads, comment +# out the variable below: +# +USE_THREADS="-Dusethreads -Duseithreads" + +if [ "$ARCH" = "x86_64" ]; then # adopted from "Cross Linux From Scratch" + # Configure must be told to also use lib64: + zcat $CWD/perl.configure.multilib.patch.gz | patch -p1 --verbose || exit 1 + # "perl -V" should report that libc is in /lib64 + sed -i -e '/libc/s#/lib/#/lib64/#' hints/linux.sh + # make perl use lib64: + echo 'installstyle="lib64/perl5"' >>hints/linux.sh +fi + +# We no longer include suidperl. To quote the INSTALL file: +# +# Because of the buggy history of suidperl, and the difficulty +# of properly security auditing as large and complex piece of +# software as Perl, we cannot recommend using suidperl and the feature +# should be considered deprecated. +# Instead use for example 'sudo': http://www.courtesan.com/sudo/ + +# Configure perl: +./Configure -de \ + -Dprefix=/usr \ + -Dsiteprefix=/usr/local \ + -Dsitelib="/usr/local/share/perl5" \ + -Dsitearch="/usr/local/lib${LIBDIRSUFFIX}/perl5" \ + -Darchlib="/usr/lib${LIBDIRSUFFIX}/perl5" \ + -Dvendorprefix=/usr \ + -Dprivlib="/usr/share/perl5" \ + -Dvendorlib="/usr/share/perl5/vendor_perl" \ + -Dvendorarch="/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl" \ + -Dscriptdir='/usr/bin' \ + -Dcccdlflags='-fPIC' \ + -Dinstallprefix=/usr \ + -Dlibpth="/usr/local/lib${LIBDIRSUFFIX} /usr/lib${LIBDIRSUFFIX} /lib${LIBDIRSUFFIX}" \ + -Doptimize="$SLKCFLAGS" \ + $USE_THREADS \ + -Duseshrplib \ + -Ubincompat5005 \ + -Uversiononly \ + -Dpager='/usr/bin/less -isr' \ + -Darchname=$ARCH-linux + +# -Duseshrplib creates libperl.so +# -Ubincompat5005 helps create DSO -> libperl.so + +# Kludge for gcc-4.2.4's needlessly changed output: +cat makefile | grep -v '\' > foo +mv foo makefile +cat x2p/makefile | grep -v '\' > foo +mv foo x2p/makefile + +# Build perl +make $NUMJOBS || exit 1 +make test + +# Install perl (needed to build modules): +make install +( cd /usr/bin + ln -sf perl$VERSION perl + ln -sf c2ph pstruct + ln -sf s2p psed +) +#mkdir -p /usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux-thread-multi + +# Install perl package: +make install DESTDIR=$PKG +#mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux-thread-multi + +# Add additional modules: +( cd ext + ( tar xzvf $CWD/DBI-${DBI}.tar.gz + cd DBI-${DBI} + chown -R root:root . + perl Makefile.PL INSTALLDIRS=vendor + make + make test + make install + make install DESTDIR=$PKG + mkdir -p $PKG/usr/doc/perl-$VERSION/DBI-${DBI} + cp -a README $PKG/usr/doc/perl-$VERSION/DBI-${DBI} + chmod 644 $PKG/usr/doc/perl-$VERSION/DBI-${DBI}/README + ) + ( tar xzvf $CWD/DBD-mysql-${DBDMYSQL}.tar.gz + cd DBD-mysql-${DBDMYSQL} + chown -R root:root . + perl Makefile.PL INSTALLDIRS=vendor + make + make test + make install + make install DESTDIR=$PKG + mkdir -p $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL} + cp -a INSTALL.html README TODO $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL} + chmod 644 $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}/* + ) + ( tar xzvf $CWD/XML-Parser-${XMLPARSER}.tar.gz + cd XML-Parser-${XMLPARSER} + chown -R root:root . + perl Makefile.PL INSTALLDIRS=vendor + make + make test + make install + make install DESTDIR=$PKG + mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER} + cp -a README $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER} + chmod 644 $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}/* + ) + ( tar xzvf $CWD/XML-Simple-${XMLSIMPLE}.tar.gz + cd XML-Simple-${XMLSIMPLE} + chown -R root:root . + perl Makefile.PL INSTALLDIRS=vendor + make + make test + make install + make install DESTDIR=$PKG + mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE} + cp -a README $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE} + chmod 644 $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}/* + ) + ( tar xzvf $CWD/URI-${URI}.tar.gz + cd URI-${URI} + chown -R root:root . + perl Makefile.PL INSTALLDIRS=vendor + make + make test + make install + make install DESTDIR=$PKG + mkdir -p $PKG/usr/doc/perl-$VERSION/URI-${URI} + cp -a README $PKG/usr/doc/perl-$VERSION/URI-${URI} + chmod 644 $PKG/usr/doc/perl-$VERSION/URI-${URI}/* + ) +) + +# Strip everything: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# There are also miniperl and microperl. +# I haven't had any requests for them, but would be willing +# to consider adding one or both to the package if anyone +# actually needs them for some reason. +#make microperl + +# Symlinks that replace hard links +( cd $PKG/usr/bin + ln -sf perl$VERSION perl + ln -sf c2ph pstruct + ln -sf s2p psed ) + +# Install documentation +mkdir -p $PKG/usr/doc/perl-$VERSION +cp -a \ + AUTHORS Artistic Changes Copying INSTALL \ + README* \ + README.{cn,jp,ko,tw} README.linux \ + $PKG/usr/doc/perl-$VERSION + +# We follow LSB with symlinks in /usr/share: +( cd $PKG/usr/share + mv man .. ) +( cd $PKG/usr/man/man1 + mkdir foo + cp *.1 foo + rm *.1 + mv foo/* . + rmdir foo + gzip -9 * + ln -sf c2ph.1.gz pstruct.1.gz + ln -sf s2p.1.gz psed.1.gz ) +( cd $PKG/usr/man/man3 + gzip -9 * ) + +chmod 755 $PKG/usr/bin/* +chmod 644 $PKG/usr/man/man?/* + +# This file shouldn't get clobbered: +if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod ]; then + mv $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod.new +fi + +# Insert the slack-desc: +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + + +cat << EOF | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#" | sed -e "s#i486#$ARCH#" \ + > $PKG/install/doinst.sh +#!/bin/sh +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config usr/lib/perl5/perllocal.pod.new +EOF + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/perl-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/perl/perl.configure.multilib.patch b/patches/source/perl/perl.configure.multilib.patch new file mode 100644 index 000000000..c86ce65f7 --- /dev/null +++ b/patches/source/perl/perl.configure.multilib.patch @@ -0,0 +1,35 @@ +Submitted By: Ryan Oliver +Date: 2005-10-20 +Initial Package Version: 5.8.7 +Origin: Ryan Oliver +Description: this patch allows perl to be installed in /usr/lib32 or /usr/lib64 instead of /usr/lib. + +--- perl-5.8.7/Configure-ORIG 2005-10-20 11:49:47.571389008 +1000 ++++ perl-5.8.7/Configure 2005-10-20 12:30:35.571236464 +1000 +@@ -5930,6 +5930,8 @@ + : The default "style" setting is made in installstyle.U + case "$installstyle" in + *lib/perl5*) set dflt privlib lib/$package/$version ;; ++*lib32/perl5*) set dflt privlib lib32/$package/$version ;; ++*lib64/perl5*) set dflt privlib lib64/$package/$version ;; + *) set dflt privlib lib/$version ;; + esac + eval $prefixit +@@ -6433,6 +6435,8 @@ + case "$sitelib" in + '') case "$installstyle" in + *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;; ++ *lib32/perl5*) dflt=$siteprefix/lib32/$package/site_$prog/$version ;; ++ *lib64/perl5*) dflt=$siteprefix/lib64/$package/site_$prog/$version ;; + *) dflt=$siteprefix/lib/site_$prog/$version ;; + esac + ;; +@@ -6560,6 +6564,8 @@ + prog=`echo $package | $sed 's/-*[0-9.]*$//'` + case "$installstyle" in + *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;; ++ *lib32/perl5*) dflt=$vendorprefix/lib32/$package/vendor_$prog/$version ;; ++ *lib64/perl5*) dflt=$vendorprefix/lib64/$package/vendor_$prog/$version ;; + *) dflt=$vendorprefix/lib/vendor_$prog/$version ;; + esac + ;; diff --git a/patches/source/perl/slack-desc b/patches/source/perl/slack-desc new file mode 100644 index 000000000..e28cf9416 --- /dev/null +++ b/patches/source/perl/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +perl: perl (Practical Extraction and Report Language) +perl: +perl: Larry Wall's "Practical Extraction and Report Language". Perl is a +perl: language optimized for scanning arbitrary text files, extracting +perl: information from those text files, and printing reports based on that +perl: information. It's also a good language for many system management +perl: tasks. The language is intended to be practical (easy to use, +perl: efficient, complete) rather than beautiful (tiny, elegant, minimal). +perl: +perl: +perl: diff --git a/patches/source/php/doinst.sh b/patches/source/php/doinst.sh new file mode 100644 index 000000000..2af731e95 --- /dev/null +++ b/patches/source/php/doinst.sh @@ -0,0 +1,28 @@ +if [ ! -r etc/httpd/mod_php.conf ]; then + cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf +elif [ "`cat etc/httpd/mod_php.conf 2> /dev/null`" = "" ]; then + cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf +fi + +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +# Keep same perms on rc.php-fpm.new: +if [ -e etc/rc.d/rc.php-fpm ]; then + cp -a etc/rc.d/rc.php-fpm etc/rc.d/rc.php-fpm.new.incoming + cat etc/rc.d/rc.php-fpm.new > etc/rc.d/rc.php-fpm.new.incoming + mv etc/rc.d/rc.php-fpm.new.incoming etc/rc.d/rc.php-fpm.new +fi +config etc/rc.d/rc.php-fpm.new +cp -a etc/httpd/php.ini-production etc/httpd/php.ini.new +config etc/httpd/php.ini.new +cp -a etc/php-fpm.conf.default etc/php-fpm.conf.new +config etc/php-fpm.conf.new diff --git a/patches/source/php/fetch-php.sh b/patches/source/php/fetch-php.sh new file mode 100755 index 000000000..19c45c74b --- /dev/null +++ b/patches/source/php/fetch-php.sh @@ -0,0 +1,2 @@ +lftpget http://us.php.net/distributions/php-5.6.36.tar.xz.asc +lftpget http://us.php.net/distributions/php-5.6.36.tar.xz diff --git a/patches/source/php/mod_php.conf.example b/patches/source/php/mod_php.conf.example new file mode 100644 index 000000000..670eb7135 --- /dev/null +++ b/patches/source/php/mod_php.conf.example @@ -0,0 +1,29 @@ +# +# mod_php - PHP Hypertext Preprocessor module +# + +# Load the PHP module: +LoadModule php5_module lib/httpd/modules/libphp5.so + +# Tell Apache to feed all *.php files through PHP. If you'd like to +# parse PHP embedded in files with different extensions, comment out +# these lines and see the example below. + + 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..334070571 --- /dev/null +++ b/patches/source/php/php.SlackBuild @@ -0,0 +1,311 @@ +#!/bin/sh + +# Build and package mod_php on Slackware. +# by: David Cantrell +# Modified for PHP 4-5 by volkerdi@slackware.com +# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 Patrick Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +ALPINE=2.02 +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-php/ +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# we need to compile alpine to get c-client.a for IMAP support: +IMAPLIBDIR=/usr/local/lib${LIBDIRSUFFIX}/c-client +if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then + echo "Using IMAP library:" + ls -l $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a + sleep 5 +else + ( cd $CWD/../alpine ; ./alpine.SlackBuild || exit 1 ) || exit 1 + ( cd $TMP/alpine-${ALPINE}/imap/c-client + strip -g c-client.a + mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX} + cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX} + mkdir -p $IMAPLIBDIR/include + cp *.h $IMAPLIBDIR/include + ) +fi + +mkdir -p $PKG/etc/httpd +mkdir -p $PKG/etc/php +# A trick from DaMouse to enable building php into $PKG. +# We'll remove this later on. +cat /etc/httpd/original/httpd.conf > $PKG/etc/httpd/httpd.conf +if [ ! -e /etc/httpd/original/httpd.conf ]; then + echo "FATAL: no /etc/httpd/original/httpd.conf found." + exit 1 +fi + +cd $TMP +rm -rf php-$VERSION +tar xvf $CWD/php-$VERSION.tar.xz || exit 1 +cd php-$VERSION + +# cleanup: +find . -name "*.orig" -delete + +# Add missing(?) PEAR modules back: +if [ -d php-$VERSION/pear/packages ]; then + ( cd php-$VERSION/pear/packages + cp -a $CWD/pear/*.bz2 . 2> /dev/null + bzip2 -d *.bz2 2> /dev/null + ) +fi + +if [ "$ARCH" = "s390" ]; then + zcat $CWD/php.configure.s390.diff.gz | patch -p1 || exit +fi + +# Fixup perms/owners: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +find . -name "*.h" -exec chmod 644 {} \; + +# Sometimes they ship a few of these: +find . -name "*.orig" -exec rm {} \; + +# Patch ini files: +zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose php.ini-production || exit 1 +zcat $CWD/php-fpm.conf.diff.gz | patch -p1 --verbose || exit 1 + +# Install the build folder into /usr/lib$LIBDIRSUFFIX/php/build +# and adapt phpize accordingly: +sed -i "s|build$|php/build|" scripts/Makefile.frag +sed -i "s|build\"$|php/build\"|" scripts/phpize.in + +# Generic "kitchen sink" configure function, with as many things as possible (and +# maybe then some ;-) compiled as shared extensions: +EXTENSION_DIR=/usr/lib${LIBDIRSUFFIX}/php/extensions \ +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-libdir=lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --datarootdir=/usr/share \ + --datadir=/usr/share \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --with-apxs2=/usr/bin/apxs \ + --enable-fpm \ + --with-fpm-user=apache \ + --with-fpm-group=apache \ + --enable-maintainer-zts \ + --enable-pcntl \ + --enable-mbregex \ + --enable-tokenizer=shared \ + --with-config-file-scan-dir=/etc/php \ + --with-config-file-path=/etc/httpd \ + --enable-mod_charset \ + --with-layout=PHP \ + --disable-sigchild \ + --enable-xml \ + --with-libxml-dir=/usr \ + --enable-simplexml \ + --enable-xmlreader=shared \ + --enable-dom=shared \ + --enable-filter \ + --disable-debug \ + --with-openssl=shared \ + --with-pcre-regex=/usr \ + --with-zlib=shared,/usr \ + --enable-bcmath=shared \ + --with-bz2=shared,/usr \ + --enable-calendar=shared \ + --enable-ctype=shared \ + --with-curl=shared \ + --with-mcrypt=/usr \ + --enable-dba=shared \ + --with-gdbm=/usr \ + --with-db4=/usr \ + --enable-exif=shared \ + --enable-ftp=shared \ + --with-gd=shared \ + --with-jpeg-dir=/usr \ + --with-png-dir=/usr \ + --with-zlib-dir=/usr \ + --with-xpm-dir=/usr \ + --with-freetype-dir=/usr \ + --with-t1lib=/usr \ + --enable-gd-native-ttf \ + --with-gettext=shared,/usr \ + --with-gmp=shared,/usr \ + --with-iconv=shared \ + --with-imap-ssl=/usr \ + --with-imap=$IMAPLIBDIR \ + --with-ldap=shared \ + --enable-mbstring=shared \ + --enable-hash \ + --with-mysql=shared,mysqlnd \ + --with-mysqli=shared,mysqlnd \ + --with-mysql-sock=/var/run/mysql/mysql.sock \ + --with-iodbc=shared,/usr \ + --enable-pdo=shared \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-sqlite=shared,/usr \ + --with-pdo-odbc=shared,iODBC,/usr \ + --with-pspell=shared,/usr \ + --with-enchant=shared,/usr \ + --enable-shmop=shared \ + --with-snmp=shared,/usr \ + --enable-soap=shared \ + --enable-sockets \ + --with-sqlite3=shared \ + --with-regex=php \ + --enable-sysvmsg \ + --enable-sysvsem \ + --enable-sysvshm \ + --enable-wddx=shared \ + --with-xsl=shared,/usr \ + --enable-zip=shared \ + --with-tsrm-pthreads \ + --enable-intl=shared \ + --enable-opcache \ + --enable-shared=yes \ + --enable-static=no \ + --with-gnu-ld \ + --with-pic \ + --enable-phpdbg \ + --build=$ARCH-slackware-linux + +# I am told this option is worse than nothing. :-) +# --enable-safe-mode +# +# I would recommend *against* and will take no responbility for turning on +# "safe" mode. + +make $NUMJOBS || make || exit 1 +make install INSTALL_ROOT=$PKG || exit 1 + +mkdir -p $PKG/etc/{rc.d,php-fpm.d} +cp sapi/fpm/init.d.php-fpm $PKG/etc/rc.d/rc.php-fpm.new +chmod 644 $PKG/etc/rc.d/rc.php-fpm.new + +# PHP (used to) install Pear with some strange permissions. +chmod 755 $PKG/usr/bin/pear + +# PHP sometimes puts junk in the root directory: +( cd $PKG + rm -rf .channels .depdb .depdblock .filemap .lock .registry +) + +# We do not package static extension libraries: +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/php/extensions/*.a + +# Fix $PKG/usr/lib/php perms: +( cd $PKG/usr/lib${LIBDIRSUFFIX}/php + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +) + +mkdir -p $PKG/usr/doc/php-$VERSION +cp -a \ + CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* TODO* UPGRADING* \ + sapi/cgi/README.FastCGI \ + $PKG/usr/doc/php-$VERSION +chown -R root:root $PKG/usr/doc/php-$VERSION +chmod 644 $PKG/usr/doc/php-$VERSION/UPGRADING* + +mkdir -p $PKG/etc/httpd +cp -a php.ini-development php.ini-production $PKG/etc/httpd +cat $CWD/mod_php.conf.example | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" \ + > $PKG/etc/httpd/mod_php.conf.example +chmod 644 $PKG/etc/httpd/* +chown root:root $PKG/etc/httpd/* + +chmod 755 $PKG/etc/php $PKG/etc/php-fpm.d $PKG/etc/httpd +chown root:root $PKG/etc/* + +# This can go now. +rm -f $PKG/etc/httpd/httpd* + +# Session directory for PHP: +mkdir -p $PKG/var/lib/php +chmod 770 $PKG/var/lib/php +chown root:apache $PKG/var/lib/php + +# Strip ELF objects. +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +#if [ -d "$IMAPLIBDIR" ]; then +# ( cd $IMAPLIBDIR && rm -rf * ) +# rmdir $IMAPLIBDIR +#fi + +cd $PKG +/sbin/makepkg -l y -c n $TMP/php-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/php/php.ini-development.diff b/patches/source/php/php.ini-development.diff new file mode 100644 index 000000000..ffa7c0c9d --- /dev/null +++ b/patches/source/php/php.ini-development.diff @@ -0,0 +1,61 @@ +--- ./php.ini-development.orig 2012-07-18 01:19:16.000000000 -0500 ++++ ./php.ini-development 2012-08-08 20:06:33.512546116 -0500 +@@ -859,6 +859,49 @@ + ; If you only provide the name of the extension, PHP will look for it in its + ; default extension directory. + ; ++ ++; These are the extensions that are available for use on this PHP build. ++; If you do NOT need any of these extensions, you should comment them out. ++; That will probably increase both your security and performance. ++ ++extension=bcmath.so ++extension=bz2.so ++extension=calendar.so ++extension=ctype.so ++extension=curl.so ++extension=dba.so ++extension=dom.so ++extension=enchant.so ++extension=exif.so ++extension=ftp.so ++extension=gd.so ++extension=gettext.so ++extension=gmp.so ++extension=iconv.so ++extension=intl.so ++extension=ldap.so ++extension=mbstring.so ++extension=mysql.so ++extension=mysqli.so ++extension=odbc.so ++extension=openssl.so ++zend_extension=opcache.so ++extension=pdo.so ++extension=pdo_mysql.so ++extension=pdo_sqlite.so ++extension=pdo_odbc.so ++extension=pspell.so ++extension=shmop.so ++extension=snmp.so ++extension=soap.so ++extension=sqlite3.so ++extension=tokenizer.so ++extension=wddx.so ++extension=xmlreader.so ++extension=xsl.so ++extension=zip.so ++extension=zlib.so ++ + ; Windows Extensions + ; Note that ODBC support is built in, so no dll is needed for it. + ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) +@@ -1391,7 +1431,7 @@ + ; where MODE is the octal representation of the mode. Note that this + ; does not overwrite the process's umask. + ; http://php.net/session.save-path +-;session.save_path = "/tmp" ++session.save_path = "/var/lib/php" + + ; Whether to use cookies. + ; http://php.net/session.use-cookies diff --git a/patches/source/php/slack-desc b/patches/source/php/slack-desc new file mode 100644 index 000000000..fe14da6d6 --- /dev/null +++ b/patches/source/php/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +php: php (HTML-embedded scripting language) +php: +php: PHP is an HTML-embedded scripting language. It shares syntax +php: characteristics with C, Java, and Perl. The primary objective behind +php: this language is to make a fast and easy-to-use scripting language +php: for dynamic web sites. +php: +php: More information can be found online at http://www.php.net/ +php: +php: +php: diff --git a/patches/source/pidgin/fix-gmain_h-compile-error.diff b/patches/source/pidgin/fix-gmain_h-compile-error.diff new file mode 100644 index 000000000..1e313cde0 --- /dev/null +++ b/patches/source/pidgin/fix-gmain_h-compile-error.diff @@ -0,0 +1,17 @@ +Since glib-2.32, this is a common error: + In file included from rsa_nss.c:27:0: + /usr/include/glib-2.0/glib/gmain.h:21:2: error: #error "Only 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..e1597a0fd --- /dev/null +++ b/patches/source/pidgin/pidgin.SlackBuild @@ -0,0 +1,227 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=pidgin +VERSION=${VERSION:-$(echo $PKGNAM-2.*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +PIDGINENC=${PIDGINENC:-3.1} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j6 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + ARCHQUADLET="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + ARCHQUADLET="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + ARCHQUADLET="" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv4t" + LIBDIRSUFFIX="" + ARCHQUADLET="-gnueabi" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + ARCHQUADLET="" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --enable-dot=no \ + --disable-schemas-install \ + --enable-dbus \ + --enable-gnutls=no \ + --enable-nss=yes \ + --with-nss-includes="$(pkg-config --variable=includedir nss)" \ + --with-nss-libs=/usr/lib${LIBDIRSUFFIX}/ \ + --with-nspr-includes="$(pkg-config --variable=includedir nspr)" \ + --with-nspr-libs=/usr/lib${LIBDIRSUFFIX}/ \ + --with-system-ssl-certs=/etc/ssl/certs \ + --disable-vv \ + --enable-gtkspell \ + --enable-cyrus-sasl \ + --enable-perl \ + --disable-meanwhile \ + --disable-avahi \ + --disable-nm \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux$ARCHQUADLET || exit 1 + +# Fix install location: +grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g' + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Fix misplaced items: +eval $(perl '-V:installvendorlib') +eval $(perl '-V:privlib') +VENDORPERL="$(echo $installvendorlib)" + +mkdir -vpm755 $PKG/$VENDORPERL/ +find $PKG -type f -name perllocal.pod -exec mv -fv {} $PKG/$VENDORPERL/Pidgin.pod \; +# Fix install location for 64bit: +sed -i 's?/lib/perl?/lib'"$LIBDIRSUFFIX"'/perl?g' $PKG/$VENDORPERL/Pidgin.pod +mkdir -p $PKG/usr/man/man3 +find $PKG/usr/share/man -type f -name *.3 -exec mv -fv {} $PKG/usr/man/man3 \; +rm -rf $PKG/usr/share/man +rm -r $PKG$privlib +# This is empty: +rmdir $PKG/usr/lib$LIBDIRSUFFIX/perl[0-9]*/$ARCH-linux-thread-multi/ + +# In case of unwanted junk dirs on 64-bit... this may fail, but doesn't hurt: +rmdir $PKG/usr/lib/perl[0-9]*/$ARCH-linux-thread-multi/ +rmdir $PKG/usr/lib/perl[0-9]* +rmdir $PKG/usr/lib + +# This removes our DESTDIR from the packlist filenames, to keep perl's +# internal inventories consistent and correct. +find $PKG -name .packlist | while read plist ; do + sed -e "s%/share/man%/man%g" \ + -e "s%$PKG%%g" \ + -e "s%\.1$%\.1\.gz%g" \ + -e "s%\.2$%\.2\.gz%g" \ + -e "s%\.3$%\.3\.gz%g" \ + -e "s%\.3pm$%\.3pm\.gz%g" \ + -e "s%\.4$%\.4\.gz%g" \ + -e "s%\.5$%\.5\.gz%g" \ + -e "s%\.6$%\.6\.gz%g" \ + -e "s%\.7$%\.7\.gz%g" \ + -e "s%\.8$%\.8\.gz%g" \ + ${plist} > ${plist}.new + mv -f ${plist}.new ${plist} +done + +### add gaim-encryption +( cd $TMP + rm -rf pidgin-encryption-$PIDGINENC + tar xvf $CWD/pidgin-encryption-$PIDGINENC.tar.gz || exit 1 + cd pidgin-encryption-$PIDGINENC + zcat $CWD/fix-gmain_h-compile-error.diff.gz | patch -p1 --verbose || exit 1 + PIDGIN_CFLAGS="-I${PKG}/usr/include/pidgin" \ + PIDGIN_LIBS="-L${PKG}/usr/lib${LIBDIRSUFFIX}" \ + PURPLE_CFLAGS="-I${PKG}/usr/include/libpurple" \ + PURPLE_LIBS="-L${PKG}/usr/lib${LIBDIRSUFFIX}" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --disable-static \ + --with-nss-includes="$(pkg-config --variable=includedir nss)" \ + --with-nss-libs=/usr/lib${LIBDIRSUFFIX}/ \ + --with-nspr-includes="$(pkg-config --variable=includedir nspr)" \ + --with-nspr-libs=/usr/lib${LIBDIRSUFFIX}/ \ + --program-prefix="" \ + --program-suffix="" \ + --build=$ARCH-slackware-linux$ARCHQUADLET || exit 1 + + # Fix install location: + grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g' + + make $NUMJOBS || make || exit 1 + make install DESTDIR=$PKG || exit 1 +) || exit 1 +### end add gaim-encryption + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) +fi + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING COPYRIGHT HACKING INSTALL NEWS PLUGIN_HOWTO README* doc \ + $PKG/usr/doc/${PKGNAM}-$VERSION +( cd $PKG/usr/doc/${PKGNAM}-$VERSION/doc + rm -f Makefile* *.dox *.1 *.in +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/pidgin/slack-desc b/patches/source/pidgin/slack-desc new file mode 100644 index 000000000..a9aabca14 --- /dev/null +++ b/patches/source/pidgin/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +pidgin: pidgin (GTK+ instant messaging program) +pidgin: +pidgin: Pidgin allows you to talk to anyone using a variety of messaging +pidgin: protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN +pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols +pidgin: are implemented using a modular, easy to use design. To use a +pidgin: protocol, just load the plugin for it. +pidgin: +pidgin: For more info, see: http://www.pidgin.im +pidgin: +pidgin: diff --git a/patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch b/patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch new file mode 100644 index 000000000..1562e69db --- /dev/null +++ b/patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch @@ -0,0 +1,39 @@ +From 1892aeb9c13841335a4ac383e8a787a3c2728c45 Mon Sep 17 00:00:00 2001 +From: Michael Biebl +Date: Fri, 9 Dec 2011 00:31:21 +0100 +Subject: [PATCH] Revert "Default to AdminIdentities=unix-group:wheel for + local authority" + +This reverts commit 763faf434b445c20ae9529100d3ef5290976d0c9. +--- + docs/man/pklocalauthority.xml | 4 ++-- + src/polkitbackend/50-localauthority.conf | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +Index: policykit/docs/man/pklocalauthority.xml +=================================================================== +--- policykit.orig/docs/man/pklocalauthority.xml 2012-01-06 10:34:01.830221577 +0100 ++++ policykit/docs/man/pklocalauthority.xml 2012-01-06 10:39:24.206237179 +0100 +@@ -385,10 +385,10 @@ + + + [Configuration] +-AdminIdentities=unix-group:staff ++AdminIdentities=unix-group:desktop_admin_r + + +- specifies that any user in the staff UNIX ++ that any user in the desktop_admin_r UNIX + group can be used for authentication when administrator + authentication is needed. This file would typically be installed + in the /etc/polkit-1/localauthority.conf.d +Index: policykit/src/polkitbackend/50-localauthority.conf +=================================================================== +--- policykit.orig/src/polkitbackend/50-localauthority.conf 2012-01-06 10:33:58.254221404 +0100 ++++ policykit/src/polkitbackend/50-localauthority.conf 2012-01-06 10:39:24.210237180 +0100 +@@ -7,4 +7,4 @@ + # + + [Configuration] +-AdminIdentities=unix-group:wheel ++AdminIdentities=unix-user:0 diff --git a/patches/source/polkit/10-org.freedesktop.NetworkManager.pkla b/patches/source/polkit/10-org.freedesktop.NetworkManager.pkla new file mode 100644 index 000000000..b24916028 --- /dev/null +++ b/patches/source/polkit/10-org.freedesktop.NetworkManager.pkla @@ -0,0 +1,6 @@ +[nm-applet] +Identity=unix-group:netdev +Action=org.freedesktop.NetworkManager.* +ResultAny=yes +ResultInactive=no +ResultActive=yes diff --git a/patches/source/polkit/20-plugdev-group-mount-override.pkla b/patches/source/polkit/20-plugdev-group-mount-override.pkla new file mode 100644 index 000000000..8149de672 --- /dev/null +++ b/patches/source/polkit/20-plugdev-group-mount-override.pkla @@ -0,0 +1,6 @@ +[plugdev group mount override] +Identity=unix-group:plugdev +Action=org.freedesktop.udisks2.filesystem-*;org.freedesktop.udisks2.eject-* +ResultAny=yes +ResultInactive=yes +ResultActive=yes diff --git a/patches/source/polkit/doinst.sh b/patches/source/polkit/doinst.sh new file mode 100644 index 000000000..bce9ca90e --- /dev/null +++ b/patches/source/polkit/doinst.sh @@ -0,0 +1,13 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/polkit-1/localauthority/50-local.d/20-plugdev-group-mount-override.pkla.new +config etc/polkit-1/localauthority/50-local.d/10-org.freedesktop.NetworkManager.pkla.new diff --git a/patches/source/polkit/polkit.SlackBuild b/patches/source/polkit/polkit.SlackBuild new file mode 100755 index 000000000..f0927fa4e --- /dev/null +++ b/patches/source/polkit/polkit.SlackBuild @@ -0,0 +1,152 @@ +#!/bin/sh + +# Copyright 2009, 2011 Robby Workman, Northport, Alabama, USA +# Copyright 2010 Eric Hameleers, Eindhoven, NL +# Copyright 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. + +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=polkit +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-4_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j6} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/05_revert-admin-identities-unix-group-wheel.patch.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-man-pages \ + --enable-gtk-doc \ + --mandir=/usr/man \ + --disable-static \ + --enable-introspection \ + --with-authfw=shadow \ + --enable-verbose-mode \ + --with-os-type=Slackware \ + --build=$ARCH-slackware-linux + +#NOTE: The directory /etc/polkit-1/localauthority must be owned +# by root and have mode 700 +#NOTE: The directory /var/lib/polkit-1 must be owned +# by root and have mode 700 +#NOTE: The file ${exec_prefix}/libexec/polkit-agent-helper-1 must be owned +# by root and have mode 4755 (setuid root binary) +#NOTE: The file ${exec_prefix}/bin/pkexec must be owned by root and +# have mode 4755 (setuid root binary) + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Add default policy files for udisks2 and NetworkManager events: +cat $CWD/20-plugdev-group-mount-override.pkla > $PKG/etc/polkit-1/localauthority/50-local.d/20-plugdev-group-mount-override.pkla.new +cat $CWD/10-org.freedesktop.NetworkManager.pkla > $PKG/etc/polkit-1/localauthority/50-local.d/10-org.freedesktop.NetworkManager.pkla.new + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING HACKING INSTALL NEWS README \ + $PKG/usr/doc/$PKGNAM-$VERSION +( cd $PKG/usr/doc/$PKGNAM-$VERSION; ln -s ../../share/gtk-doc/html/polkit-1 html ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +zcat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/polkit/slack-desc b/patches/source/polkit/slack-desc new file mode 100644 index 000000000..006d8a8e5 --- /dev/null +++ b/patches/source/polkit/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +polkit: polkit (authentication framework) +polkit: +polkit: PolicyKit is an application-level toolkit for defining and handling +polkit: the policy that allows unprivileged processes to speak to privileged +polkit: processes. PolicyKit is specifically targeting applications in rich +polkit: desktop environments on multi-user UNIX-like operating systems. +polkit: +polkit: +polkit: +polkit: Home: http://www.freedesktop.org/wiki/Software/PolicyKit +polkit: diff --git a/patches/source/poppler/poppler.CVE-2012-2142.diff b/patches/source/poppler/poppler.CVE-2012-2142.diff new file mode 100644 index 000000000..9c6a2a56b --- /dev/null +++ b/patches/source/poppler/poppler.CVE-2012-2142.diff @@ -0,0 +1,64 @@ +From 71bad47ed6a36d825b0d08992c8db56845c71e40 Mon Sep 17 00:00:00 2001 +From: Marek Kasik +Date: Sun, 09 Dec 2012 19:20:00 +0000 +Subject: Filter stuff that might end up in the shell + +Since it seems shells don't know how to filter stuff and might causing bad things to happen +--- +diff --git a/poppler/Error.cc b/poppler/Error.cc +index 9d044bc..ce71820 100644 +--- a/poppler/Error.cc ++++ b/poppler/Error.cc +@@ -16,6 +16,7 @@ + // Copyright (C) 2005, 2007 Jeff Muizelaar + // Copyright (C) 2005 Albert Astals Cid + // Copyright (C) 2007 Krzysztof Kowalczyk ++// Copyright (C) 2012 Marek Kasik + // + // To see a description of the changes please see the Changelog file that + // came with your tarball or type make ChangeLog if you are building from git +@@ -59,7 +60,7 @@ void setErrorCallback(void (*cbk)(void *data, ErrorCategory category, + + void CDECL error(ErrorCategory category, int pos, const char *msg, ...) { + va_list args; +- GooString *s; ++ GooString *s, *sanitized; + + // NB: this can be called before the globalParams object is created + if (!errorCbk && globalParams && globalParams->getErrQuiet()) { +@@ -68,17 +69,29 @@ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) { + va_start(args, msg); + s = GooString::formatv(msg, args); + va_end(args); ++ ++ sanitized = new GooString (); ++ for (int i = 0; i < s->getLength(); ++i) { ++ const char c = s->getChar(i); ++ if (c < (char)0x20 || c >= (char)0x7f) { ++ sanitized->appendf("<{0:02x}>", c & 0xff); ++ } else { ++ sanitized->append(c); ++ } ++ } ++ + if (errorCbk) { +- (*errorCbk)(errorCbkData, category, pos, s->getCString()); ++ (*errorCbk)(errorCbkData, category, pos, sanitized->getCString()); + } else { + if (pos >= 0) { + fprintf(stderr, "%s (%d): %s\n", +- errorCategoryNames[category], pos, s->getCString()); ++ errorCategoryNames[category], pos, sanitized->getCString()); + } else { + fprintf(stderr, "%s: %s\n", +- errorCategoryNames[category], s->getCString()); ++ errorCategoryNames[category], sanitized->getCString()); + } + fflush(stderr); + } + delete s; ++ delete sanitized; + } +-- +cgit v0.9.0.2-2-gbebe + diff --git a/patches/source/poppler/poppler.SlackBuild b/patches/source/poppler/poppler.SlackBuild new file mode 100755 index 000000000..e85b6de03 --- /dev/null +++ b/patches/source/poppler/poppler.SlackBuild @@ -0,0 +1,131 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=poppler +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP || exit 1 +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +# Fix printing of some pdf files: +zcat $CWD/poppler_xyscale.patch.gz | patch -p1 --verbose || exit 1 + +# Sanitize error output: +zcat $CWD/poppler.CVE-2012-2142.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --enable-xpdf-headers \ + --enable-poppler-qt4 \ + --enable-cairo-output \ + --mandir=/usr/man \ + --disable-static \ + --enable-zlib \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a AUTHORS COPYING* INSTALL NEWS README README-XPDF TODO \ + $PKG/usr/doc/${PKGNAM}-$VERSION +( cd $PKG/usr/doc/${PKGNAM}-$VERSION + ln -s /usr/share/gtk-doc/html/poppler html ) + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/poppler/poppler_xyscale.patch b/patches/source/poppler/poppler_xyscale.patch new file mode 100644 index 000000000..bd23d36c8 --- /dev/null +++ b/patches/source/poppler/poppler_xyscale.patch @@ -0,0 +1,47 @@ +From 36481939e3064de920e49d9d1742a85473a50963 Mon Sep 17 00:00:00 2001 +From: Thomas Freitag +Date: Sun, 22 Jul 2012 16:40:46 +0000 +Subject: Make sure xScale and yScale are always initialized + +Bug #52215 +--- +diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc +index a01a4b3..e15c2e9 100644 +--- a/poppler/PSOutputDev.cc ++++ b/poppler/PSOutputDev.cc +@@ -3521,6 +3521,7 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) { + saveState(NULL); + } + ++ xScale = yScale = 1; + switch (mode) { + + case psModePSOrigPageSizes: +@@ -3631,8 +3632,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) { + } else { + yScale = xScale; + } +- } else { +- xScale = yScale = 1; + } + // deal with odd bounding boxes or clipping + if (clipLLX0 < clipURX0 && clipLLY0 < clipURY0) { +@@ -3694,7 +3693,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) { + if (tx != 0 || ty != 0) { + writePSFmt("{0:.6g} {1:.6g} translate\n", tx, ty); + } +- xScale = yScale = 1; + break; + + case psModeForm: +@@ -3702,7 +3700,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) { + writePS("begin xpdf begin\n"); + writePS("pdfStartPage\n"); + tx = ty = 0; +- xScale = yScale = 1; + rotate = 0; + break; + } +-- +cgit v0.9.0.2-2-gbebe + diff --git a/patches/source/poppler/slack-desc b/patches/source/poppler/slack-desc new file mode 100644 index 000000000..9d5891d8a --- /dev/null +++ b/patches/source/poppler/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +poppler: poppler (a library for rendering PDF documents) +poppler: +poppler: Poppler is a library based on the xpdf PDF viewer developed by Derek +poppler: Noonburg of Glyph and Cog, LLC. Since xpdf does not provide a shared +poppler: library, whenever a flaw was found potentially dozens of applications +poppler: incorporating code from xpdf would have to be patched. By providing +poppler: a centralized PDF library this duplicated effort will be eliminated. +poppler: +poppler: +poppler: +poppler: diff --git a/patches/source/ppp/doinst.sh b/patches/source/ppp/doinst.sh new file mode 100644 index 000000000..54facc41c --- /dev/null +++ b/patches/source/ppp/doinst.sh @@ -0,0 +1,21 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/ppp/chap-secrets.new +config etc/ppp/options.new +config etc/ppp/pap-secrets.new + +config etc/radiusclient/issue.new +config etc/radiusclient/radiusclient.conf.new +config etc/radiusclient/realms.new +config etc/radiusclient/servers.new + diff --git a/patches/source/ppp/options.new b/patches/source/ppp/options.new new file mode 100644 index 000000000..2a0286576 --- /dev/null +++ b/patches/source/ppp/options.new @@ -0,0 +1,276 @@ +# /etc/ppp/options +# +# $Id: options,v 1.4 1996/05/01 18:57:04 alvar Exp $ +# +# Originally created by Jim Knoble +# Modified for Debian by alvar Bray +# Modified for PPP Server setup by Christoph Lameter +# Modified for Slackware by Pat Volkerding +# +# Use the command egrep -v '#|^ *$' /etc/ppp/options to quickly see what +# options are active in this file. + +# Specify which DNS Servers the incoming Win95 or WinNT Connection should use +# Two Servers can be remotely configured +# dns-addr 192.168.1.1 +# dns-addr 192.168.1.2 + +# Specify which WINS Servers the incoming connection Win95 or WinNT should use +# wins-addr 192.168.1.50 +# wins-addr 192.168.1.51 + +# Run the executable or shell command specified after pppd has +# terminated the link. This script could, for example, issue commands +# to the modem to cause it to hang up if hardware modem control signals +# were not available. +#disconnect "chat -- \d+++\d\c OK ath0 OK" + +# async character map -- 32-bit hex; each bit is a character +# that needs to be escaped for pppd to receive it. 0x00000001 +# represents '\x01', and 0x80000000 represents '\x1f'. +asyncmap 0 + +# Require the peer to authenticate itself before allowing network +# packets to be sent or received. +# For a PPP Server with script based logins not using PAP or CHAP +# you need to disable this setting. +#auth + +# Do not require the other end of the connection to authenticate itself. +# This option is dangerous if pppd is setuid. +# If you also have ethernet and are having problems getting PPP to connect +# over a modem, try this option. +#noauth + +# Use hardware flow control (i.e. RTS/CTS) to control the flow of data +# on the serial port. +crtscts + +# Use software flow control (i.e. XON/XOFF) to control the flow of data +# on the serial port. +#xonxoff + +# Specifies that certain characters should be escaped on transmission +# (regardless of whether the peer requests them to be escaped with its +# async control character map). The characters to be escaped are +# specified as a list of hex numbers separated by commas. Note that +# almost any character can be specified for the escape option, unlike +# the asyncmap option which only allows control characters to be +# specified. The characters which may not be escaped are those with hex +# values 0x20 - 0x3f or 0x5e. +#escape 11,13,ff + +# Don't use the modem control lines. +#local + +# Specifies that pppd should use a UUCP-style lock on the serial device +# to ensure exclusive access to the device. +lock + +# Use the modem control lines. On Ultrix, this option implies hardware +# flow control, as for the crtscts option. (This option is not fully +# implemented.) +modem + +# Set the MRU [Maximum Receive Unit] value to for negotiation. pppd +# will ask the peer to send packets of no more than bytes. The +# minimum MRU value is 128. The default MRU value is 1500. A value of +# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 +# bytes of data). +#mru 542 + +# Set the interface netmask to , a 32 bit netmask in "decimal dot" +# notation (e.g. 255.255.255.0). +#netmask 255.255.255.0 + +# Disables the default behaviour when no local IP address is specified, +# which is to determine (if possible) the local IP address from the +# hostname. With this option, the peer will have to supply the local IP +# address during IPCP negotiation (unless it specified explicitly on the +# command line or in an options file). +#noipdefault + +# Enables the "passive" option in the LCP. With this option, pppd will +# attempt to initiate a connection; if no reply is received from the +# peer, pppd will then just wait passively for a valid LCP packet from +# the peer (instead of exiting, as it does without this option). +#passive + +# With this option, pppd will not transmit LCP packets to initiate a +# connection until a valid LCP packet is received from the peer (as for +# the "passive" option with old versions of pppd). +#silent + +# Don't request or allow negotiation of any options for LCP and IPCP +# (use default values). +#-all + +# Disable Address/Control compression negotiation (use default, i.e. +# address/control field disabled). +#-ac + +# Disable asyncmap negotiation (use the default asyncmap, i.e. escape +# all control characters). +#-am + +# Don't fork to become a background process (otherwise pppd will do so +# if a serial device is specified). +#-detach + +# Disable IP address negotiation (with this option, the remote IP +# address must be specified with an option on the command line or in an +# options file). +#-ip + +# Disable magic number negotiation. With this option, pppd cannot +# detect a looped-back line. +#-mn + +# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e. +# 1500). +#-mru + +# Disable protocol field compression negotiation (use default, i.e. +# protocol field compression disabled). +#-pc + +# Require the peer to authenticate itself using PAP. +#+pap + +# Don't agree to authenticate using PAP. +#-pap + +# Require the peer to authenticate itself using CHAP [Cryptographic +# Handshake Authentication Protocol] authentication. +#+chap + +# Don't agree to authenticate using CHAP. +#-chap + +# Disable negotiation of Van Jacobson style IP header compression (use +# default, i.e. no compression). +#-vj + +# Increase debugging level (same as -d). If this option is given, pppd +# will log the contents of all control packets sent or received in a +# readable form. The packets are logged through syslog with facility +# daemon and level debug. This information can be directed to a file by +# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If +# pppd is compiled with extra debugging enabled, it will log messages +# using facility local2 instead of daemon). +#debug + +# Append the domain name to the local host name for authentication +# purposes. For example, if gethostname() returns the name porsche, +# but the fully qualified domain name is porsche.Quotron.COM, you would +# use the domain option to set the domain name to Quotron.COM. +#domain + +# Enable debugging code in the kernel-level PPP driver. The argument n +# is a number which is the sum of the following values: 1 to enable +# general debug messages, 2 to request that the contents of received +# packets be printed, and 4 to request that the contents of transmitted +# packets be printed. +#kdebug n + +# Set the MTU [Maximum Transmit Unit] value to . Unless the peer +# requests a smaller value via MRU negotiation, pppd will request that +# the kernel networking code send data packets of no more than n bytes +# through the PPP network interface. +#mtu + +# Enforce the use of the hostname as the name of the local system for +# authentication purposes (overrides the name option). +#usehostname + +# Set the assumed name of the remote system for authentication purposes +# to . +#remotename + +# Add an entry to this system's ARP [Address Resolution Protocol] +# table with the IP address of the peer and the Ethernet address of this +# system. +proxyarp + +# Use the system password database for authenticating the peer using +# PAP. Note: mgetty already provides this option. If this is specified +# then dialin from users using a script under Linux to fire up ppp wont work. +# login + +# If this option is given, pppd will send an LCP echo-request frame to +# the peer every n seconds. Under Linux, the echo-request is sent when +# no packets have been received from the peer for n seconds. Normally +# the peer should respond to the echo-request by sending an echo-reply. +# This option can be used with the lcp-echo-failure option to detect +# that the peer is no longer connected. +lcp-echo-interval 30 + +# If this option is given, pppd will presume the peer to be dead if n +# LCP echo-requests are sent without receiving a valid LCP echo-reply. +# If this happens, pppd will terminate the connection. Use of this +# option requires a non-zero value for the lcp-echo-interval parameter. +# This option can be used to enable pppd to terminate after the physical +# connection has been broken (e.g., the modem has hung up) in +# situations where no hardware modem control lines are available. +lcp-echo-failure 4 + +# Set the LCP restart interval (retransmission timeout) to seconds +# (default 3). +#lcp-restart + +# Set the maximum number of LCP terminate-request transmissions to +# (default 3). +#lcp-max-terminate + +# Set the maximum number of LCP configure-request transmissions to +# (default 10). +#lcp-max-configure + +# Set the maximum number of LCP configure-NAKs returned before starting +# to send configure-Rejects instead to (default 10). +#lcp-max-failure + +# Set the IPCP restart interval (retransmission timeout) to +# seconds (default 3). +#ipcp-restart + +# Set the maximum number of IPCP terminate-request transmissions to +# (default 3). +#ipcp-max-terminate + +# Set the maximum number of IPCP configure-request transmissions to +# (default 10). +#ipcp-max-configure + +# Set the maximum number of IPCP configure-NAKs returned before starting +# to send configure-Rejects instead to (default 10). +#ipcp-max-failure + +# Set the PAP restart interval (retransmission timeout) to seconds +# (default 3). +#pap-restart + +# Set the maximum number of PAP authenticate-request transmissions to +# (default 10). +#pap-max-authreq + +# Set the CHAP restart interval (retransmission timeout for +# challenges) to seconds (default 3). +#chap-restart + +# Set the maximum number of CHAP challenge transmissions to +# (default 10). +#chap-max-challenge + +# If this option is given, pppd will rechallenge the peer every +# seconds. +#chap-interval + +# With this option, pppd will accept the peer's idea of our local IP +# address, even if the local IP address was specified in an option. +#ipcp-accept-local + +# With this option, pppd will accept the peer's idea of its (remote) IP +# address, even if the remote IP address was specified in an option. +#ipcp-accept-remote + diff --git a/patches/source/ppp/ppp.CVE-2014-3158.diff b/patches/source/ppp/ppp.CVE-2014-3158.diff new file mode 100644 index 000000000..500ca18ef --- /dev/null +++ b/patches/source/ppp/ppp.CVE-2014-3158.diff @@ -0,0 +1,30 @@ +diff --git a/pppd/options.c b/pppd/options.c +index 45fa742..e9042d1 100644 +--- a/pppd/options.c ++++ b/pppd/options.c +@@ -1289,9 +1289,10 @@ getword(f, word, newlinep, filename) + /* + * Store the resulting character for the escape sequence. + */ +- if (len < MAXWORDLEN-1) ++ if (len < MAXWORDLEN) { + word[len] = value; +- ++len; ++ ++len; ++ } + + if (!got) + c = getc(f); +@@ -1329,9 +1330,10 @@ getword(f, word, newlinep, filename) + /* + * An ordinary character: store it in the word and get another. + */ +- if (len < MAXWORDLEN-1) ++ if (len < MAXWORDLEN) { + word[len] = c; +- ++len; ++ ++len; ++ } + + c = getc(f); + } diff --git a/patches/source/ppp/ppp.CVE-2015-3310.diff b/patches/source/ppp/ppp.CVE-2015-3310.diff new file mode 100644 index 000000000..ecf53ce49 --- /dev/null +++ b/patches/source/ppp/ppp.CVE-2015-3310.diff @@ -0,0 +1,11 @@ +--- ./pppd/plugins/radius/util.c.orig 2015-04-17 11:43:59.687374237 -0500 ++++ ./pppd/plugins/radius/util.c 2015-04-17 11:45:12.612379499 -0500 +@@ -77,7 +77,7 @@ + static unsigned short int cnt = 0; + sprintf (buf, "%08lX%04X%02hX", + (unsigned long int) time (NULL), +- (unsigned int) getpid (), ++ (unsigned int) getpid () % 65535, + cnt & 0xFF); + cnt++; + return buf; diff --git a/patches/source/ppp/ppp.SlackBuild b/patches/source/ppp/ppp.SlackBuild new file mode 100755 index 000000000..a6526b18a --- /dev/null +++ b/patches/source/ppp/ppp.SlackBuild @@ -0,0 +1,172 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=2.4.5 +RADVER=0.3.2 +PPPVER=1.98 +BUILD=${BUILD:-2_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-ppp + +rm -rf $PKG +mkdir -p $TMP $PKG + +echo "+============+" +echo "| ppp-$VERSION |" +echo "+============+" +cd $TMP +rm -rf ppp-$VERSION +tar xvf $CWD/ppp-$VERSION.tar.bz2 || exit 1 +cd ppp-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/ppp.slack.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit +sed -i -e "s#lib/pppd#lib${LIBDIRSUFFIX}/pppd#g" $(grep -lr 'lib/pppd' *) + +zcat $CWD/ppp.CVE-2014-3158.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/ppp.CVE-2015-3310.diff.gz | patch -p1 --verbose || exit 1 + +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG/usr + +mv $PKG/usr/share/man $PKG/usr +rmdir $PKG/usr/share + +# Install PPP config files: +mkdir -p $PKG/etc/ppp +cp -a etc.ppp/* $PKG/etc/ppp +chmod 600 $PKG/etc/ppp/*secrets +( cd $PKG/etc/ppp + mv chap-secrets chap-secrets.new + mv options options.new + mv pap-secrets pap-secrets.new +) +zcat $CWD/options.new.gz > $PKG/etc/ppp/options.new + +# Fix what seems like an insecure default setting. +# Feel free to "chmod 4750 pppoatm.so rp-pppoe.so" at your own risk. +# Since they are only runnable by group root, the risk really isn't much... +chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/pppd/*/*.so + +mkdir -p $PKG/usr/doc/ppp-$VERSION +cp -a \ + FAQ PLUGINS README* SETUP scripts \ + $PKG/usr/doc/ppp-$VERSION + +echo "+====================+" +echo "| radiusclient-$RADVER |" +echo "+====================+" +cd $TMP +rm -rf radiusclient-$RADVER +tar xf $CWD/radiusclient-$RADVER.tar.bz2 || exit 1 +cd radiusclient-$RADVER || exit 1 +chown -R root:root . +#cp /usr/share/libtool/config.{guess,sub} . # libtool-1.x +cp /usr/share/libtool/config/config.{guess,sub} . # libtool-2.x +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +zcat $CWD/radius.msdict.gz > $PKG/etc/radiusclient/dictionary.microsoft +zcat $CWD/realms.gz > $PKG/etc/radiusclient/realms +zcat $CWD/servers.gz > $PKG/etc/radiusclient/servers +( cd $PKG/etc/radiusclient + chmod 600 realms servers + mv issue issue.new + mv radiusclient.conf radiusclient.conf.new + mv realms realms.new + mv servers servers.new +) +mkdir -p $PKG/usr/doc/radiusclient-$RADVER +cp -a \ + BUGS CHANGES COPYRIGHT README README.radexample doc/instop.html \ + $PKG/usr/doc/radiusclient-$RADVER +chmod 644 $PKG/usr/doc/radiusclient-$RADVER/* + +echo "+===============+" +echo "| pppsetup-$PPPVER |" +echo "+===============+" +cd $TMP +rm -rf pppsetup-$PPPVER +tar xvf $CWD/pppsetup-$PPPVER.tar.gz || exit 1 +cd pppsetup-$PPPVER || exit 1 +chown -R root:root . +zcat $CWD/pppsetup-1.98.slack.diff.gz | patch -p1 --backup || exit +zcat $CWD/pppsetup-1.98.pppoff.diff.gz | patch -p0 --backup || exit +zcat $CWD/pppsetup-1.98.moredevs.diff.gz | patch -p1 --backup || exit +zcat $CWD/pppsetup-1.98.backupfiles.diff.gz | patch -p1 --backup || exit +chmod 755 ppp-off pppsetup +cp -a ppp-off pppsetup $PKG/usr/sbin +mkdir -p $PKG/usr/doc/pppsetup +cp -a \ + README.pppsetup ppp-compile.txt pppsetup-$PPPVER.README pppsetup-$PPPVER.lsm \ + $PKG/usr/doc/pppsetup + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . -name "*.a" | xargs file | grep "ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null +) + +chmod 755 $PKG/usr/sbin/* + +gzip -9 $PKG/usr/man/man?/*.? +chmod 644 $PKG/usr/man/man?/* + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/ppp-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/ppp/ppp.slack.diff b/patches/source/ppp/ppp.slack.diff new file mode 100644 index 000000000..dafd0d3e7 --- /dev/null +++ b/patches/source/ppp/ppp.slack.diff @@ -0,0 +1,28 @@ +diff -r -u ppp-2.4.2.orig/pppd/Makefile.linux ppp-2.4.2/pppd/Makefile.linux +--- ppp-2.4.2.orig/pppd/Makefile.linux 2003-11-27 13:55:19.000000000 -0800 ++++ ppp-2.4.2/pppd/Makefile.linux 2004-02-22 21:36:11.000000000 -0800 +@@ -31,7 +31,7 @@ + + # CC = gcc + # +-COPTS = -O2 -pipe -Wall -g ++COPTS = -O2 -pipe -Wall + LIBS = + + # Uncomment the next 2 lines to include support for Microsoft's +@@ -61,13 +61,13 @@ + + HAS_SHADOW=y + #USE_PAM=y +-#HAVE_INET6=y ++HAVE_INET6=y + + # Enable plugins + PLUGIN=y + + # Enable Microsoft proprietary Callback Control Protocol +-#CBCP=y ++CBCP=y + + # Enable EAP SRP-SHA1 authentication (requires libsrp) + #USE_SRP=y diff --git a/patches/source/ppp/pppsetup-1.98.backupfiles.diff b/patches/source/ppp/pppsetup-1.98.backupfiles.diff new file mode 100644 index 000000000..6b3647793 --- /dev/null +++ b/patches/source/ppp/pppsetup-1.98.backupfiles.diff @@ -0,0 +1,26 @@ +--- ./pppsetup.orig Sun May 19 19:01:29 2002 ++++ ./pppsetup Sun May 19 19:06:07 2002 +@@ -861,10 +861,12 @@ + echo "multi on" >> /etc/host.conf + fi + +-if [ ! -z $DOMAINNAME ]; then ++if [ ! -z $DOMAINNAME ]; then ++# backup file ++cp -a /etc/resolv.conf /etc/resolv.conf.$$ 2> /dev/null + echo "search $DOMAINNAME" > /etc/resolv.conf + else +-rm -f /etc/resolv.conf 2>/dev/null ++rm -f /etc/resolv.conf 2>/dev/null + DOMAINNAME="unknown.com" + fi + +@@ -875,6 +877,8 @@ + fi + + if [ ! -s /etc/hosts ]; then ++# backup file ++cp -a /etc/hosts /etc/hosts.bak.$$ 2> /dev/null + echo "127.0.0.1 localhost" > /etc/hosts + if [ "$DOMAINNAME" = "unknown.com" ]; then + echo "0.0.0.0 `hostname 2>/dev/null`.localnet `hostname 2>/dev/null`" >> /etc/hosts diff --git a/patches/source/ppp/pppsetup-1.98.moredevs.diff b/patches/source/ppp/pppsetup-1.98.moredevs.diff new file mode 100644 index 000000000..6a11a3b54 --- /dev/null +++ b/patches/source/ppp/pppsetup-1.98.moredevs.diff @@ -0,0 +1,105 @@ +--- ./pppsetup.orig Sun May 19 18:41:04 2002 ++++ ./pppsetup Sun May 19 18:52:49 2002 +@@ -1,15 +1,10 @@ + #!/bin/bash +-############################################################################### +-# + # PPPSETUP -- Script to set up pppd + # History: + # 7/21/95 RSL Script created (v1.0) + # 9/15/96 RSL Added code to get the ISP's domainname (v1.1) + # 9/19/96 RSL Revamped interface to use the 'dialog' + # program. (v1.2) +-############################################################################### +- +-############################################################################### + # 2/22/98 KR Added pap, chap, ms-chap, callback, & + # modem init string options. (v1.98) + # Creates /etc/ppp/options, & pap, chap, +@@ -17,33 +12,21 @@ + # More guidance. + # Monitor connection with tail & syslogd. + # Demand dialing setup with ppp-2.3.0 or later. +-############################################################################### +- +-############################################################################### + # 4/4/98 PJV Fixed massive /tmp-related security problems + # Switched to a default init string that's more + # likely to work + # Increased TIMEOUTs + # fixed bad flags given to chat -- caused dialout + # to fail +-############################################################################### +- +-############################################################################### + # 2/6/1999 PJV Changed all occurances of /dev/cua* to /dev/ttyS* +-############################################################################### +- +-############################################################################### + # 5/3/1999 PJV Commented 'debug' in /etc/ppp/options + # Add commented 'noauth' in /etc/ppp/options so + # people who want to use ppp but already have a + # default route have an easier time figuring out + # what to do. :) +-############################################################################### +- +-############################################################################### + # 6/18/2000 PJV Added code to check for "ppp-stop" and "ppp-on" + # symlinks, and make them if they don't exist. +-############################################################################### ++# 5/19/2002 PJV Added support for more devices. + + TMP=/var/log/setup/tmp + +@@ -137,25 +120,40 @@ + done + + echo "Where is your modem /dev/ttyS?" > $TMP/txtTEMP$$ +-dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 11 50 4 \ ++dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 17 60 10 \ ++modem "= use whatever /dev/modem is linked to" \ + ttyS0 "= (COM1: under DOS)" \ + ttyS1 "= (COM2: under DOS)" \ + ttyS2 "= (COM3: under DOS)" \ + ttyS3 "= (COM4: under DOS)" \ ++ttyS4 "= PCI modem" \ ++ttyS5 "= PCI modem" \ ++ttyS6 "= PCI modem" \ ++ttyS7 "= PCI modem" \ ++ttyS8 "= PCI modem" \ ++ttyS9 "= PCI modem" \ ++ttyS10 "= PCI modem" \ ++ttyS11 "= PCI modem" \ ++ttyS12 "= PCI modem" \ ++ttyS13 "= PCI modem" \ ++ttyS14 "= PCI modem" \ ++ttyS15 "= PCI modem" \ + 2> $TMP/rspTEMP$$ + + MODEM="`cat $TMP/rspTEMP$$`" + +-if [ -z $MODEM ]; then +-clear 2>/dev/null || echo +-rm -f $TMP/*TEMP* +-echo "PPP configuration cancelled." +-exit +-elif [ ! -c "/dev/$MODEM" ]; then +-/dev/MAKEDEV $MODEM >/dev/null 2>&1 || MODERROR="YES" +-else +-rm -f /dev/modem 2>/dev/null +-ln -sf /dev/$MODEM /dev/modem 2>/dev/null ++if [ ! "$MODEM" = "modem" ]; then ++ if [ -z $MODEM ]; then ++ clear 2>/dev/null || echo ++ rm -f $TMP/*TEMP* ++ echo "PPP configuration cancelled." ++ exit ++ elif [ ! -c "/dev/$MODEM" ]; then ++ /dev/MAKEDEV $MODEM >/dev/null 2>&1 || MODERROR="YES" ++ else ++ rm -f /dev/modem 2>/dev/null ++ ln -sf /dev/$MODEM /dev/modem 2>/dev/null ++ fi + fi + + echo "What baud rate is your modem?" > $TMP/txtTEMP$$ diff --git a/patches/source/ppp/pppsetup-1.98.pppoff.diff b/patches/source/ppp/pppsetup-1.98.pppoff.diff new file mode 100644 index 000000000..66b51ba7e --- /dev/null +++ b/patches/source/ppp/pppsetup-1.98.pppoff.diff @@ -0,0 +1,19 @@ +--- ppp-off.orig Fri Oct 20 17:43:50 2000 ++++ ppp-off Fri Oct 20 17:46:32 2000 +@@ -21,14 +21,8 @@ + # This just checks if demand dialing is running, if so it + # says Demand Dialing Stoped. + +-ps x 2>/dev/null > /tmp/grep.tmp +- +-if grep 2>/dev/null "options.demand" /tmp/grep.tmp >/dev/null +-then +-rm -f /tmp/grep.tmp +-D="echo Demand Dialing Stoped." +-else +-rm -f /tmp/grep.tmp ++if ps x | fgrep "options.demand" 1> /dev/null 2> /dev/null ; then ++ D="echo Demand Dialing Stoped." + fi + + # diff --git a/patches/source/ppp/pppsetup-1.98.slack.diff b/patches/source/ppp/pppsetup-1.98.slack.diff new file mode 100644 index 000000000..f081699c8 --- /dev/null +++ b/patches/source/ppp/pppsetup-1.98.slack.diff @@ -0,0 +1,1709 @@ +--- ./pppsetup.orig Sun Feb 22 12:33:32 1998 ++++ ./pppsetup Sun Jun 18 14:01:10 2000 +@@ -19,6 +19,34 @@ + # Demand dialing setup with ppp-2.3.0 or later. + ############################################################################### + ++############################################################################### ++# 4/4/98 PJV Fixed massive /tmp-related security problems ++# Switched to a default init string that's more ++# likely to work ++# Increased TIMEOUTs ++# fixed bad flags given to chat -- caused dialout ++# to fail ++############################################################################### ++ ++############################################################################### ++# 2/6/1999 PJV Changed all occurances of /dev/cua* to /dev/ttyS* ++############################################################################### ++ ++############################################################################### ++# 5/3/1999 PJV Commented 'debug' in /etc/ppp/options ++# Add commented 'noauth' in /etc/ppp/options so ++# people who want to use ppp but already have a ++# default route have an easier time figuring out ++# what to do. :) ++############################################################################### ++ ++############################################################################### ++# 6/18/2000 PJV Added code to check for "ppp-stop" and "ppp-on" ++# symlinks, and make them if they don't exist. ++############################################################################### ++ ++TMP=/var/log/setup/tmp ++ + if [ ! "$UID" = "0" ]; then + echo + echo "NOTICE: * $LOGNAME * You need to be 'root' to run this script." +@@ -43,81 +71,84 @@ + exit 1 + fi + +-if [ ! -d /tmp ]; then +-mkdir /tmp +-chmod 1777 /tmp +-fi +- + if [ -s /usr/lib/setup/hdsetup ]; then +-SYS="on SLACKWARE ..." ++SYS="on SLACKWARE." + fi + + VERSION="1.98" + + stty erase ^? 2>/dev/null + +-echo "PPPSETUP $VERSION $SYS" > /tmp/txtTEMP01 +-echo >> /tmp/txtTEMP01 +-echo "Written by Robert S. Liesenfeld " >> /tmp/txtTEMP01 +-echo "Changes for 1.98 by Kent Robotti " >> /tmp/txtTEMP01 +-echo >> /tmp/txtTEMP01 +-echo "You should get these 'DOCS' if you don't already have them." >> /tmp/txtTEMP01 +-echo >> /tmp/txtTEMP01 +-echo 'ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO "PPP-HOWTO"' >> /tmp/txtTEMP01 +-echo 'ftp://sunsite.unc.edu/pub/Linux/docs/faqs/PPP-FAQ "PPP-FAQ"' >> /tmp/txtTEMP01 +-echo >> /tmp/txtTEMP01 +-echo "Press [Enter] to continue with pppsetup..." >> /tmp/txtTEMP01 ++if [ ! -r /usr/sbin/ppp-stop ]; then ++ ( cd /usr/sbin ; ln -sf ppp-off ppp-stop ) ++fi ++if [ ! -r /usr/sbin/ppp-on ]; then ++ ( cd /usr/sbin ; ln -sf ppp-go ppp-on ) ++fi + +-dialog --backtitle "PPPSETUP $VERSION ..." --textbox "/tmp/txtTEMP01" 15 70 ++echo "PPPSETUP $VERSION $SYS" > $TMP/txtTEMP01 ++echo >> $TMP/txtTEMP01 ++echo "Written by Robert S. Liesenfeld " >> $TMP/txtTEMP01 ++echo "Changes for 1.98 by Kent Robotti " >> $TMP/txtTEMP01 ++echo "Patched for Slackware by Patrick Volkerding " >> $TMP/txtTEMP01 ++echo >> $TMP/txtTEMP01 ++echo "You should get these docs if you don't already have them:" >> $TMP/txtTEMP01 ++echo >> $TMP/txtTEMP01 ++echo "ftp://metalab.unc.edu/pub/Linux/docs/howto/PPP-HOWTO" >> $TMP/txtTEMP01 ++echo "ftp://metalab.unc.edu/pub/Linux/docs/faqs/PPP-FAQ" >> $TMP/txtTEMP01 ++echo >> $TMP/txtTEMP01 ++echo "Press [Enter] to continue with pppsetup..." >> $TMP/txtTEMP01 ++ ++dialog --backtitle "PPPSETUP $VERSION/Slackware" --textbox "$TMP/txtTEMP01" 16 73 + + while [ -z "$PHONENUM" ] + do +-echo "To begin setting up your PPP connection, i need to know a few things." > /tmp/txtTEMP$$ +-echo "For starters, what is the phone number of your (I)nternet (S)ervice" >> /tmp/txtTEMP$$ +-echo "(P)rovider?" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Example: atdt6661776 <-For (t)one dialing.)" >> /tmp/txtTEMP$$ +-echo "Example: atdp6661776 <-For (p)ulse dialing.)" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Include the: atd? It's usally just: atdtphonenumber" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "(Note: in the USA, use atdt*70,6661776 [comma required!] to turn" >> /tmp/txtTEMP$$ +-echo " off call waiting.)" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ ++echo "To begin setting up your PPP connection, i need to know a few things." > $TMP/txtTEMP$$ ++echo "For starters, what is the phone number of your (I)nternet (S)ervice" >> $TMP/txtTEMP$$ ++echo "(P)rovider?" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Example: atdt6661776 <-For (t)one dialing.)" >> $TMP/txtTEMP$$ ++echo "Example: atdp6661776 <-For (p)ulse dialing.)" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Include the: atd? It's usally just: atdtphonenumber" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "(Note: in the USA, use atdt*70,6661776 [comma required!] to turn" >> $TMP/txtTEMP$$ ++echo " off call waiting.)" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + +-dialog --title "PHONE NUMBER ..." --inputbox "`cat /tmp/txtTEMP$$`" 18 75 2> /tmp/rspTEMP$$ ++dialog --title "PHONE NUMBER ..." --inputbox "`cat $TMP/txtTEMP$$`" 18 75 2> $TMP/rspTEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-PHONENUM="`cat /tmp/rspTEMP$$`" ++PHONENUM="`cat $TMP/rspTEMP$$`" + + if [ -z "$PHONENUM" ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + echo "No phone number." + exit + fi + done + +-echo "Where is your modem /dev/cua?" > /tmp/txtTEMP$$ +-dialog --backtitle "MODEM DEVICE ..." --menu "`cat /tmp/txtTEMP$$`" 11 50 4 \ +-cua0 "= (COM1: under DOS)" \ +-cua1 "= (COM2: under DOS)" \ +-cua2 "= (COM3: under DOS)" \ +-cua3 "= (COM4: under DOS)" \ +-2> /tmp/rspTEMP$$ ++echo "Where is your modem /dev/ttyS?" > $TMP/txtTEMP$$ ++dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 11 50 4 \ ++ttyS0 "= (COM1: under DOS)" \ ++ttyS1 "= (COM2: under DOS)" \ ++ttyS2 "= (COM3: under DOS)" \ ++ttyS3 "= (COM4: under DOS)" \ ++2> $TMP/rspTEMP$$ + +-MODEM="`cat /tmp/rspTEMP$$`" ++MODEM="`cat $TMP/rspTEMP$$`" + + if [ -z $MODEM ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + exit + elif [ ! -c "/dev/$MODEM" ]; then +@@ -127,139 +158,139 @@ + ln -sf /dev/$MODEM /dev/modem 2>/dev/null + fi + +-echo "What baud rate is your modem?" > /tmp/txtTEMP$$ +-dialog --backtitle "MODEM BAUD RATE ..." --menu "`cat /tmp/txtTEMP$$`" 14 72 7 \ ++echo "What baud rate is your modem?" > $TMP/txtTEMP$$ ++dialog --backtitle "MODEM BAUD RATE ..." --menu "`cat $TMP/txtTEMP$$`" 14 72 7 \ + 460800 "460KBps - ISDN modem..." \ + 230400 "230KBps - 56Kbps modem... or ISDN modem..." \ + 115200 "115KBps - 28.8, 33.6, or 56Kbps modem..." \ + 57600 "57.6KBps - 28.8, 33.6, or 56Kbps modem..." \ + 38400 "38.4KBps - Hangin ten on the net! 28.8 or 33.6..." \ + 19200 "19.2KBps - Better known as 14.4..." \ +-9600 "9600bps - No comment..." 2> /tmp/rspTEMP$$ ++9600 "9600bps - No comment..." 2> $TMP/rspTEMP$$ + +-BAUDRATE="`cat /tmp/rspTEMP$$`" ++BAUDRATE="`cat $TMP/rspTEMP$$`" + + if [ -z $BAUDRATE ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + exit + fi + +-echo "Does your service provider use CALLBACK?" > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "CALLBACK is when you call your service provider and give them" >> /tmp/txtTEMP$$ +-echo "your phone number so they can call you back, then when they" >> /tmp/txtTEMP$$ +-echo "call you back you give them your login name and password." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Most service providers don't use CALLBACK, so the answer is" >> /tmp/txtTEMP$$ +-echo "probably No, unless you know otherwise." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +- +-dialog --backtitle "CALLBACK YES or NO? ..." --yesno "`cat /tmp/txtTEMP$$`" 13 70 +- +-if [ $? = 0 ]; then +-echo "Put your phone number in the box below, so your service provider" > /tmp/txtTEMP$$ +-echo "can call you back." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Example: 7771818" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ ++echo "Does your service provider use CALLBACK?" > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "CALLBACK is when you call your service provider and give them" >> $TMP/txtTEMP$$ ++echo "your phone number so they can call you back, then when they" >> $TMP/txtTEMP$$ ++echo "call you back you give them your login name and password." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Most service providers don't use CALLBACK, so the answer is" >> $TMP/txtTEMP$$ ++echo "probably No, unless you know otherwise." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++ ++dialog --backtitle "CALLBACK YES or NO? ..." --menu "`cat $TMP/txtTEMP$$`" 16 70 2 "NO" "Most Internet providers do not use callback" "YES" "Use callback support (I know what I'm doing)" 2> $TMP/replyTEMP$$ ++ ++if [ "`cat $TMP/replyTEMP$$`" = "YES" ]; then ++echo "Put your phone number in the box below, so your service provider" > $TMP/txtTEMP$$ ++echo "can call you back." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Example: 7771818" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + +-dialog --backtitle "CALLBACK Your Phone Number? ..." --inputbox "`cat /tmp/txtTEMP$$`" 11 72 2> /tmp/cb1TEMP$$ ++dialog --backtitle "CALLBACK Your Phone Number? ..." --inputbox "`cat $TMP/txtTEMP$$`" 11 72 2> $TMP/cb1TEMP$$ + + if [ $? = 1 ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + exit +-elif [ ! -s /tmp/cb1TEMP$$ ]; then ++elif [ ! -s $TMP/cb1TEMP$$ ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + echo "No Phone Number for Callback." + exit + fi + fi + +-if [ -s /tmp/cb1TEMP$$ ]; then +-CBPN="`cat /tmp/cb1TEMP$$`" +-echo "I have your phone number: $CBPN" > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Do you have to give a Username or Login for the initial connection" >> /tmp/txtTEMP$$ +-echo "to $PHONENUM before you're called back." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Example: jerry" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "If NO, just press [Enter] on a empty box and skip this." >> /tmp/txtTEMP$$ ++if [ -s $TMP/cb1TEMP$$ ]; then ++CBPN="`cat $TMP/cb1TEMP$$`" ++echo "I have your phone number: $CBPN" > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Do you have to give a Username or Login for the initial connection" >> $TMP/txtTEMP$$ ++echo "to $PHONENUM before you're called back." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Example: jerry" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "If NO, just press [Enter] on a empty box and skip this." >> $TMP/txtTEMP$$ + +-dialog --backtitle "CALLBACK INITIAL LOGIN? ..." --inputbox "`cat /tmp/txtTEMP$$`" 15 74 2> /tmp/cb1.1TEMP$$ ++dialog --backtitle "CALLBACK INITIAL LOGIN? ..." --inputbox "`cat $TMP/txtTEMP$$`" 15 74 2> $TMP/cb1.1TEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + else +-CBMODLOGIN="`cat /tmp/cb1.1TEMP$$`" ++CBMODLOGIN="`cat $TMP/cb1.1TEMP$$`" + fi + fi + +-if [ -s /tmp/cb1TEMP$$ ]; then +-echo "I have your phone number: $CBPN" > /tmp/txtTEMP$$ +-if [ -s /tmp/cb1.1TEMP$$ ]; then +-echo "I see you have to give a Username or Login: $CBMODLOGIN" >> /tmp/txtTEMP$$ +-echo "for the initial connection to: $PHONENUM" >> /tmp/txtTEMP$$ +-fi +-echo >> /tmp/txtTEMP$$ +-echo "Do you have to give a Password for the initial connection" >> /tmp/txtTEMP$$ +-echo "to $PHONENUM before you're called back." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Example: Zoy85mWc" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "If NO, just press [Enter] on a empty box and skip this." >> /tmp/txtTEMP$$ ++if [ -s $TMP/cb1TEMP$$ ]; then ++echo "I have your phone number: $CBPN" > $TMP/txtTEMP$$ ++if [ -s $TMP/cb1.1TEMP$$ ]; then ++echo "I see you have to give a Username or Login: $CBMODLOGIN" >> $TMP/txtTEMP$$ ++echo "for the initial connection to: $PHONENUM" >> $TMP/txtTEMP$$ ++fi ++echo >> $TMP/txtTEMP$$ ++echo "Do you have to give a Password for the initial connection" >> $TMP/txtTEMP$$ ++echo "to $PHONENUM before you're called back." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Example: Zoy85mWc" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "If NO, just press [Enter] on a empty box and skip this." >> $TMP/txtTEMP$$ + +-dialog --backtitle "CALLBACK INITIAL PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP$$`" 17 68 2> /tmp/cb2TEMP$$ ++dialog --backtitle "CALLBACK INITIAL PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP$$`" 17 68 2> $TMP/cb2TEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + else +-CBMODPASS="`cat /tmp/cb2TEMP$$`" ++CBMODPASS="`cat $TMP/cb2TEMP$$`" + fi + fi + + if [ ! -z "$CBPN" ]; then +-echo "Are they using PAP or CHAP for AUTHENTICATION? If so answer YES." > /tmp/txtTEMP$$ +-echo "Do they present you with a Username: or Login: and Password: prompt" >> /tmp/txtTEMP$$ +-echo "when they call you back, if so they're probably not using PAP or" >> /tmp/txtTEMP$$ +-echo "CHAP, so you can answer NO here." >> /tmp/txtTEMP$$ +-echo "If you're not sure, you'll have to ask you're service provider." >> /tmp/txtTEMP$$ ++echo "Are they using PAP or CHAP for AUTHENTICATION? If so answer YES." > $TMP/txtTEMP$$ ++echo "Do they present you with a Username: or Login: and Password: prompt" >> $TMP/txtTEMP$$ ++echo "when they call you back, if so they're probably not using PAP or" >> $TMP/txtTEMP$$ ++echo "CHAP, so you can answer NO here." >> $TMP/txtTEMP$$ ++echo "If you're not sure, you'll have to ask you're service provider." >> $TMP/txtTEMP$$ + +-dialog --backtitle "CALLBACK PAP-CHAP YES or NO? ..." --yesno "`cat /tmp/txtTEMP$$`" 9 72 ++dialog --backtitle "CALLBACK PAP-CHAP YES or NO? ..." --yesno "`cat $TMP/txtTEMP$$`" 9 72 + + if [ $? = 1 ]; then +-echo "What is your Username or Login to your service provider?" > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "This is the information you'll give them when they call" >> /tmp/txtTEMP$$ +-echo "you back at: $CBPN" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Example: jerry" >> /tmp/txtTEMP$$ ++echo "What is your Username or Login to your service provider?" > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "This is the information you'll give them when they call" >> $TMP/txtTEMP$$ ++echo "you back at: $CBPN" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Example: jerry" >> $TMP/txtTEMP$$ + +-dialog --backtitle "CALLBACK LOGIN? ..." --inputbox "`cat /tmp/txtTEMP$$`" 13 72 2> /tmp/cb3TEMP$$ ++dialog --backtitle "CALLBACK LOGIN? ..." --inputbox "`cat $TMP/txtTEMP$$`" 13 72 2> $TMP/cb3TEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-CBLOGIN="`cat /tmp/cb3TEMP$$`" ++CBLOGIN="`cat $TMP/cb3TEMP$$`" + + if [ -z "$CBLOGIN" ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + echo "No Login for Callback." +@@ -269,24 +300,24 @@ + fi + + if [ ! -z "$CBLOGIN" ]; then +-echo "What is the Password for: $CBLOGIN" > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Example: Ziy79Kie" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ ++echo "What is the Password for: $CBLOGIN" > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Example: Ziy79Kie" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + +-dialog --backtitle "CALLBACK PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP$$`" 10 64 2> /tmp/cb4TEMP$$ ++dialog --backtitle "CALLBACK PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP$$`" 10 64 2> $TMP/cb4TEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit 1 + fi + +-CBPASS="`cat /tmp/cb4TEMP$$`" ++CBPASS="`cat $TMP/cb4TEMP$$`" + + if [ -z "$CBPASS" ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + echo "No Password for Callback." +@@ -296,13 +327,13 @@ + + callback1() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -322,13 +353,13 @@ + + callback2() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -344,13 +375,13 @@ + + callback3() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -368,13 +399,13 @@ + + callback4() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -393,13 +424,13 @@ + + callback5() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -417,13 +448,13 @@ + + callback6() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -440,13 +471,13 @@ + + callback7() { + cat << EOF +-TIMEOUT 10 ++TIMEOUT 60 + ABORT BUSY + ABORT ERROR + ABORT VOICE + ABORT "NO CARRIER" + ABORT "NO DIALTONE" +-"" "AT\&FW1S0=1H0" ++"" "AT\&FS0=1H0" + OK "ATDT$PHONENUM" + TIMEOUT 60 + CONNECT "" +@@ -465,20 +496,20 @@ + mkdir -p /etc/ppp + fi + +-if [ -s /tmp/cb1TEMP$$ ]; then +-if [ -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then ++if [ -s $TMP/cb1TEMP$$ ]; then ++if [ -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then + callback1 > /etc/ppp/callback +-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then ++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then + callback2 > /etc/ppp/callback +-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then ++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then + callback3 > /etc/ppp/callback +-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then ++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then + callback4 > /etc/ppp/callback +-elif [ -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then ++elif [ -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then + callback5 > /etc/ppp/callback +-elif [ -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then ++elif [ -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then + callback6 > /etc/ppp/callback +-elif [ -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then ++elif [ -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then + callback7 > /etc/ppp/callback + fi + fi +@@ -488,93 +519,93 @@ + chmod 600 /etc/ppp/callback 2>/dev/null + fi + +-if [ ! -s /tmp/cb1TEMP$$ ]; then +-echo 'The default modem init string will be: "AT\&FW1H0" OK' > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "If you want to change it, put your init string in the box below." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "If you use \ in the init string, put it twice." >> /tmp/txtTEMP$$ +-echo 'Example: "AT\&F\\K3\\N3W1H0" OK' >> /tmp/txtTEMP$$ +-echo "M = No sound. W1 or S95=46 = Show CARRIER speed: 28800 etc." >> /tmp/txtTEMP$$ +-echo 'Put "" around each init string with "&" in it.' >> /tmp/txtTEMP$$ +-echo 'Put OK after each init string. Example: ATZ OK "AT\&F1MW1H0" OK' >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Just press [Enter] on a empty box to accept the default above." >> /tmp/txtTEMP$$ ++if [ ! -s $TMP/cb1TEMP$$ ]; then ++echo 'The default modem init string will be: "AT&FH0" OK' > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "If you want to change it, put your init string in the box below." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "If you use \ in the init string, put it twice." >> $TMP/txtTEMP$$ ++echo 'Example: "AT\&F\\K3\\N3H0" OK' >> $TMP/txtTEMP$$ ++echo "M = No sound. S95=46 = Show CARRIER speed: 28800 etc." >> $TMP/txtTEMP$$ ++echo 'Put "" around each init string with "&" in it.' >> $TMP/txtTEMP$$ ++echo 'Put OK after each init string. Example: ATZ OK "AT\&F1MH0" OK' >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Just press [Enter] on a empty box to accept the default above." >> $TMP/txtTEMP$$ + +-dialog --backtitle "MODEM INIT STRING ..." --inputbox "`cat /tmp/txtTEMP$$`" 18 74 2> /tmp/rspTEMP$$ ++dialog --backtitle "MODEM INIT STRING ..." --inputbox "`cat $TMP/txtTEMP$$`" 18 74 2> $TMP/rspTEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-if [ -s /tmp/rspTEMP$$ ]; then +-INIT="`cat /tmp/rspTEMP$$`" ++if [ -s $TMP/rspTEMP$$ ]; then ++INIT="`cat $TMP/rspTEMP$$`" + else + INIT="below" + fi + fi + +-echo "What is your (I)nternet (S)ervice (P)rovider's domain name?" > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "This is usually something like..." >> /tmp/txtTEMP$$ +-echo "Examples: something.edu something.net something.com something.org" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ ++echo "What is your (I)nternet (S)ervice (P)rovider's domain name?" > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "This is usually something like..." >> $TMP/txtTEMP$$ ++echo "Examples: something.edu something.net something.com something.org" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + +-dialog --backtitle "DOMAIN NAME ..." --inputbox "`cat /tmp/txtTEMP$$`" 11 74 2> /tmp/rspTEMP$$ ++dialog --backtitle "DOMAIN NAME ..." --inputbox "`cat $TMP/txtTEMP$$`" 11 74 2> $TMP/rspTEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-DOMAINNAME="`cat /tmp/rspTEMP$$`" ++DOMAINNAME="`cat $TMP/rspTEMP$$`" + +-echo "What is the IP address of your Internet provider's nameserver?" > /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "It's important that these IP numbers be correct." >> /tmp/txtTEMP$$ +-echo "The IP numbers should not be: 0.0.0.0" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Note: Your service provider's technical support can provide you" >> /tmp/txtTEMP$$ +-echo "with this information. Example: 207.132.116.5" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ ++echo "What is the IP address of your Internet provider's nameserver?" > $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "It's important that these IP numbers be correct." >> $TMP/txtTEMP$$ ++echo "The IP numbers should not be: 0.0.0.0" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Note: Your service provider's technical support can provide you" >> $TMP/txtTEMP$$ ++echo "with this information. Example: 207.132.116.5" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + +-dialog --backtitle "DNS IP ADDRESS ..." --inputbox "`cat /tmp/txtTEMP$$`" 14 74 2> /tmp/rspTEMP$$ ++dialog --backtitle "DNS IP ADDRESS ..." --inputbox "`cat $TMP/txtTEMP$$`" 14 74 2> $TMP/rspTEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-DNSIP="`cat /tmp/rspTEMP$$`" ++DNSIP="`cat $TMP/rspTEMP$$`" + +-if [ ! -s /tmp/cb3TEMP$$ ]; then +-echo "Does your service provider use PAP or CHAP?" > /tmp/txtTEMP$$ +-echo "If you're presented with a Username: or Login: and Password:" >> /tmp/txtTEMP$$ +-echo "prompt when you connect to your service provider, they're" >> /tmp/txtTEMP$$ +-echo "'probably' not using PAP or CHAP, so you can answer SCRIPT." >> /tmp/txtTEMP$$ +-echo "I said 'probably', the only way to know for sure is to ask you're" >> /tmp/txtTEMP$$ +-echo "service provider, this could save you a lot of wasted time." >> /tmp/txtTEMP$$ ++if [ ! -s $TMP/cb3TEMP$$ ]; then ++echo "Does your service provider use PAP or CHAP?" > $TMP/txtTEMP$$ ++echo "If you're presented with a Username: or Login: and Password:" >> $TMP/txtTEMP$$ ++echo "prompt when you connect to your service provider, they're" >> $TMP/txtTEMP$$ ++echo "'probably' not using PAP or CHAP, so you can answer SCRIPT." >> $TMP/txtTEMP$$ ++echo "I said 'probably', the only way to know for sure is to ask you're" >> $TMP/txtTEMP$$ ++echo "service provider, this could save you a lot of wasted time." >> $TMP/txtTEMP$$ + +-dialog --backtitle "PAP, CHAP, or SCRIPT? ..." --menu "`cat /tmp/txtTEMP$$`" 16 72 4 \ ++dialog --backtitle "PAP, CHAP, or SCRIPT? ..." --menu "`cat $TMP/txtTEMP$$`" 16 72 4 \ + PAP "AUTHENTICATION" \ + CHAP "AUTHENTICATION" \ + MS-CHAP-80 "is microsoft's version of CHAP." \ +-SCRIPT "Create Chat Script For Login." 2> /tmp/papTEMP ++SCRIPT "Create Chat Script For Login." 2> $TMP/papTEMP + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + else +-PAP="`cat /tmp/papTEMP`" ++PAP="`cat $TMP/papTEMP`" + fi + fi + +@@ -595,46 +626,46 @@ + + if [ "$PAP" = "MS-CHAP-80" ]; then + if [ ! -z "$DOMAINNAME" ]; then +-echo > /tmp/txtTEMP$$ +-echo "You gave $DOMAINNAME for domain name, this will be the" >> /tmp/txtTEMP$$ +-echo "NT server you connect to when you dial: $PHONENUM" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ ++echo > $TMP/txtTEMP$$ ++echo "You gave $DOMAINNAME for domain name, this will be the" >> $TMP/txtTEMP$$ ++echo "NT server you connect to when you dial: $PHONENUM" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + else +-echo > /tmp/txtTEMP$$ ++echo > $TMP/txtTEMP$$ + fi +-RAS >> /tmp/txtTEMP$$ ++RAS >> $TMP/txtTEMP$$ + +-dialog --title "MS-CHAP NT server, Stand-alone or ? ..." --menu "`cat /tmp/txtTEMP$$`" 22 72 2 \ ++dialog --title "MS-CHAP NT server, Stand-alone or ? ..." --menu "`cat $TMP/txtTEMP$$`" 22 72 2 \ + MS-CHAP-SERVER-1 "Stand-alone..." \ +-MS-CHAP-SERVER-2 "Queries domain controller..." 2> /tmp/mschapTEMP ++MS-CHAP-SERVER-2 "Queries domain controller..." 2> $TMP/mschapTEMP + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-MSCHAP="`cat /tmp/mschapTEMP`" ++MSCHAP="`cat $TMP/mschapTEMP`" + + if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ]; then +-echo "Put the name of the domain you have your account on." > /tmp/txtTEMP0 +-echo "Example: fooboo" >> /tmp/txtTEMP0 +-echo >> /tmp/txtTEMP0 ++echo "Put the name of the domain you have your account on." > $TMP/txtTEMP0 ++echo "Example: fooboo" >> $TMP/txtTEMP0 ++echo >> $TMP/txtTEMP0 + +-dialog --backtitle "MS-CHAP QUERY DOMAIN? ..." --inputbox "`cat /tmp/txtTEMP0`" 9 64 2> /tmp/rspTEMP0 ++dialog --backtitle "MS-CHAP QUERY DOMAIN? ..." --inputbox "`cat $TMP/txtTEMP0`" 9 64 2> $TMP/rspTEMP0 + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-MSDOMAIN="`cat /tmp/rspTEMP0`" ++MSDOMAIN="`cat $TMP/rspTEMP0`" + +-if [ ! -s /tmp/rspTEMP0 ]; then +-rm -f /tmp/*TEMP* ++if [ ! -s $TMP/rspTEMP0 ]; then ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + echo "No ms-chap query domain name given." +@@ -643,32 +674,32 @@ + fi + fi + +-if [ ! "$PAP" = "SCRIPT" ] && [ ! -s /tmp/cb3TEMP$$ ]; then +-echo "Put your Login = Username in the box below." > /tmp/txtTEMP1 +-echo >> /tmp/txtTEMP1 +-echo "Sometimes they want your username or number followed" >> /tmp/txtTEMP1 +-echo "by their @domain name like this below." >> /tmp/txtTEMP1 +-echo "Example: jerry@foo.boo.com" >> /tmp/txtTEMP1 +-echo "Example: 1234567@foo.boo.com" >> /tmp/txtTEMP1 +-echo >> /tmp/txtTEMP1 +-echo "Sometimes the username is two words." >> /tmp/txtTEMP1 +-echo "Example: jerry donut" >> /tmp/txtTEMP1 +-echo >> /tmp/txtTEMP1 +-echo "Usally it's just your username like this below." >> /tmp/txtTEMP1 +-echo "Example: jerry" >> /tmp/txtTEMP1 +-echo >> /tmp/txtTEMP1 ++if [ ! "$PAP" = "SCRIPT" ] && [ ! -s $TMP/cb3TEMP$$ ]; then ++echo "Put your Login = Username in the box below." > $TMP/txtTEMP1 ++echo >> $TMP/txtTEMP1 ++echo "Sometimes they want your username or number followed" >> $TMP/txtTEMP1 ++echo "by their @domain name like this below." >> $TMP/txtTEMP1 ++echo "Example: jerry@foo.boo.com" >> $TMP/txtTEMP1 ++echo "Example: 1234567@foo.boo.com" >> $TMP/txtTEMP1 ++echo >> $TMP/txtTEMP1 ++echo "Sometimes the username is two words." >> $TMP/txtTEMP1 ++echo "Example: jerry donut" >> $TMP/txtTEMP1 ++echo >> $TMP/txtTEMP1 ++echo "Usally it's just your username like this below." >> $TMP/txtTEMP1 ++echo "Example: jerry" >> $TMP/txtTEMP1 ++echo >> $TMP/txtTEMP1 + +-dialog --backtitle "PAP or CHAP LOGIN? ..." --inputbox "`cat /tmp/txtTEMP1`" 19 64 2> /tmp/rspTEMP1 ++dialog --backtitle "PAP or CHAP LOGIN? ..." --inputbox "`cat $TMP/txtTEMP1`" 19 64 2> $TMP/rspTEMP1 + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-if [ ! -s /tmp/rspTEMP1 ]; then +-rm -f /tmp/*TEMP* ++if [ ! -s $TMP/rspTEMP1 ]; then ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + echo "No username for pap, chap, or ms-chap given." +@@ -676,119 +707,119 @@ + fi + fi + +-if [ -s /tmp/rspTEMP1 ]; then +-AUTH1="`cat /tmp/rspTEMP1`" +-echo "$AUTH1" > /tmp/txtTEMP2 +-echo "What's the password for the username above?" >> /tmp/txtTEMP2 +-echo "Example: Xpi9u87T" >> /tmp/txtTEMP2 +-dialog --backtitle "PAP or CHAP PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP2`" 10 64 2> /tmp/rspTEMP2 ++if [ -s $TMP/rspTEMP1 ]; then ++AUTH1="`cat $TMP/rspTEMP1`" ++echo "$AUTH1" > $TMP/txtTEMP2 ++echo "What's the password for the username above?" >> $TMP/txtTEMP2 ++echo "Example: Xpi9u87T" >> $TMP/txtTEMP2 ++dialog --backtitle "PAP or CHAP PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP2`" 10 64 2> $TMP/rspTEMP2 + +-AUTH2="`cat /tmp/rspTEMP2`" ++AUTH2="`cat $TMP/rspTEMP2`" + END="" + +-elif [ ! -s /tmp/cb1TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then ++elif [ ! -s $TMP/cb1TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then + END='""' +-echo "If you reached this part of the script, it should be because you" > /tmp/txtTEMP$$ +-echo "skipped the PAP or CHAP? and CALLBACK? parts of this script." >> /tmp/txtTEMP$$ +-echo "In other words, your service provider is not using PAP, CHAP, or" >> /tmp/txtTEMP$$ +-echo "CALLBACK." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Now comes the tough part. :) I need to know what your" >> /tmp/txtTEMP$$ +-echo "service provider prints to your screen when you dial in," >> /tmp/txtTEMP$$ +-echo "and what you respond with." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Usally when you connect to your service provider you see a" >> /tmp/txtTEMP$$ +-echo "Username: or Login: prompt, and you respond with your name." >> /tmp/txtTEMP$$ +-echo "Then there's a Password: prompt and you respond with your" >> /tmp/txtTEMP$$ +-echo "password." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "If you're not sure if it's Login: or login:, just put ogin:" >> /tmp/txtTEMP$$ +-echo "you don't have to spell the whole thing out, the end part of" >> /tmp/txtTEMP$$ +-echo "what to wait for should be enough." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo 'If they put this for example "foobar fooboo ID:", you could just' >> /tmp/txtTEMP$$ +-echo 'put ID: or you could spell the whole thing out & put "" around it.' >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo "ID:" >> /tmp/txtTEMP$$ +-echo "What text should I send?" >> /tmp/txtTEMP$$ +-echo "jerry" >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo '"foobar fooboo ID:"' >> /tmp/txtTEMP$$ +-echo "What text should I send?" >> /tmp/txtTEMP$$ +-echo "jerry" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Sometimes you may want to wait for nothing, but send something." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo '""' >> /tmp/txtTEMP$$ +-echo "What text should I send?" >> /tmp/txtTEMP$$ +-echo "something" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo '"" = wait for nothing.' >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "If you don't want your password printed out put \q in front of it." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo "Password:" >> /tmp/txtTEMP$$ +-echo "What text should I send?" >> /tmp/txtTEMP$$ +-echo "\qsecret" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "ogin: = Login: name: = Username: word: = Password:" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "This below would end up looking like this in the /etc/ppp/pppscript" >> /tmp/txtTEMP$$ +-echo "file created by pppsetup when you're done." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "ogin: jerry" >> /tmp/txtTEMP$$ +-echo "word: secret" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "For example..." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo "ogin:" >> /tmp/txtTEMP$$ +-echo "And what text should I send?" >> /tmp/txtTEMP$$ +-echo "jerry" >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo "word:" >> /tmp/txtTEMP$$ +-echo "And what text should I send?" >> /tmp/txtTEMP$$ +-echo "secret" >> /tmp/txtTEMP$$ +-echo "What text should I wait for?" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "( End by pressing Enter on an empty = blank wait for? box. )" >> /tmp/txtTEMP$$ ++echo "If you reached this part of the script, it should be because you" > $TMP/txtTEMP$$ ++echo "skipped the PAP or CHAP? and CALLBACK? parts of this script." >> $TMP/txtTEMP$$ ++echo "In other words, your service provider is not using PAP, CHAP, or" >> $TMP/txtTEMP$$ ++echo "CALLBACK." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Now comes the tough part. :) I need to know what your" >> $TMP/txtTEMP$$ ++echo "service provider prints to your screen when you dial in," >> $TMP/txtTEMP$$ ++echo "and what you respond with." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Usally when you connect to your service provider you see a" >> $TMP/txtTEMP$$ ++echo "Username: or Login: prompt, and you respond with your name." >> $TMP/txtTEMP$$ ++echo "Then there's a Password: prompt and you respond with your" >> $TMP/txtTEMP$$ ++echo "password." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "If you're not sure if it's Login: or login:, just put ogin:" >> $TMP/txtTEMP$$ ++echo "you don't have to spell the whole thing out, the end part of" >> $TMP/txtTEMP$$ ++echo "what to wait for should be enough." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo 'If they put this for example "foobar fooboo ID:", you could just' >> $TMP/txtTEMP$$ ++echo 'put ID: or you could spell the whole thing out & put "" around it.' >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo "ID:" >> $TMP/txtTEMP$$ ++echo "What text should I send?" >> $TMP/txtTEMP$$ ++echo "jerry" >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo '"foobar fooboo ID:"' >> $TMP/txtTEMP$$ ++echo "What text should I send?" >> $TMP/txtTEMP$$ ++echo "jerry" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Sometimes you may want to wait for nothing, but send something." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo '""' >> $TMP/txtTEMP$$ ++echo "What text should I send?" >> $TMP/txtTEMP$$ ++echo "something" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo '"" = wait for nothing.' >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "If you don't want your password printed out put \q in front of it." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo "Password:" >> $TMP/txtTEMP$$ ++echo "What text should I send?" >> $TMP/txtTEMP$$ ++echo "\qsecret" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "ogin: = Login: name: = Username: word: = Password:" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "This below would end up looking like this in the /etc/ppp/pppscript" >> $TMP/txtTEMP$$ ++echo "file created by pppsetup when you're done." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "ogin: jerry" >> $TMP/txtTEMP$$ ++echo "word: secret" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "For example..." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo "ogin:" >> $TMP/txtTEMP$$ ++echo "And what text should I send?" >> $TMP/txtTEMP$$ ++echo "jerry" >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo "word:" >> $TMP/txtTEMP$$ ++echo "And what text should I send?" >> $TMP/txtTEMP$$ ++echo "secret" >> $TMP/txtTEMP$$ ++echo "What text should I wait for?" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "( End by pressing Enter on an empty = blank wait for? box. )" >> $TMP/txtTEMP$$ + +-dialog --title "CHAT SCRIPT" --textbox "/tmp/txtTEMP$$" 22 72 ++dialog --title "CHAT SCRIPT" --textbox "$TMP/txtTEMP$$" 22 72 + + MESSAGE=' ' + YOUSAY=' ' + while [ ! "$MESSAGE" = "" -a ! "$YOUSAY" = "" ] + do + +-echo " End by pressing Enter on a empty = blank box." > /tmp/txtTEMP$$ +-echo " What text should I wait for?" >> /tmp/txtTEMP$$ +-dialog --backtitle "EXPECT ..." --inputbox "`cat /tmp/txtTEMP$$`" 9 60 2> /tmp/rspTEMP$$ ++echo " End by pressing Enter on a empty = blank box." > $TMP/txtTEMP$$ ++echo " What text should I wait for?" >> $TMP/txtTEMP$$ ++dialog --backtitle "EXPECT ..." --inputbox "`cat $TMP/txtTEMP$$`" 9 60 2> $TMP/rspTEMP$$ + +-MESSAGE="`cat /tmp/rspTEMP$$`" ++MESSAGE="`cat $TMP/rspTEMP$$`" + + if [ -z "$MESSAGE" ]; then + continue + fi + +-dialog --backtitle "SEND ..." --inputbox "And what text should I send?" 8 60 2> /tmp/rspTEMP$$ ++dialog --backtitle "SEND ..." --inputbox "And what text should I send?" 8 60 2> $TMP/rspTEMP$$ + + if [ $? = 1 ]; then +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + clear 2>/dev/null || echo + echo "PPP configuration cancelled." + exit + fi + +-YOUSAY="`cat /tmp/rspTEMP$$`" ++YOUSAY="`cat $TMP/rspTEMP$$`" + +-echo "$MESSAGE $YOUSAY" >> /tmp/sayTEMP1 ++echo "$MESSAGE $YOUSAY" >> $TMP/sayTEMP1 + + if [ -z "$YOUSAY" ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + echo "Nothing to send." + exit +@@ -798,22 +829,22 @@ + done + fi + +-if [ ! -s /tmp/cb3TEMP$$ ]; then +-if [ -s /tmp/cb1TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then ++if [ ! -s $TMP/cb3TEMP$$ ]; then ++if [ -s $TMP/cb1TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + echo "You chose callback with PAP or CHAP, but answered SCRIPT to PAP or CHAP?." + exit +-elif [ ! -s /tmp/rspTEMP2 ] && [ -s /tmp/rspTEMP1 ]; then ++elif [ ! -s $TMP/rspTEMP2 ] && [ -s $TMP/rspTEMP1 ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + echo "No password for: $AUTH1" + exit +-elif [ ! -s /tmp/sayTEMP1 ] && [ ! -s /tmp/rspTEMP2 ]; then ++elif [ ! -s $TMP/sayTEMP1 ] && [ ! -s $TMP/rspTEMP2 ]; then + clear 2>/dev/null || echo +-rm -f /tmp/*TEMP* ++rm -f $TMP/*TEMP* + echo "PPP configuration cancelled." + echo "Nothing to wait for." + exit +@@ -868,9 +899,9 @@ + PATH1="pppd" + fi + +-if [ "$PATH1" != "pppd" ]; then +-chmod 4755 $PATH1 2>/dev/null +-fi ++#if [ "$PATH1" != "pppd" ]; then ++#chmod 4755 $PATH1 2>/dev/null ++#fi + + if [ -x /usr/sbin/chat ]; then + PATH2="/usr/sbin/chat" +@@ -886,14 +917,14 @@ + PATH2="chat" + fi + +-if [ ! -s /tmp/cb1TEMP$$ ]; then +-echo "TIMEOUT 10" > /etc/ppp/pppscript ++if [ ! -s $TMP/cb1TEMP$$ ]; then ++echo "TIMEOUT 60" > /etc/ppp/pppscript + echo "ABORT ERROR" >> /etc/ppp/pppscript + echo "ABORT BUSY" >> /etc/ppp/pppscript + echo 'ABORT "NO CARRIER"' >> /etc/ppp/pppscript + echo 'ABORT "NO DIALTONE"' >> /etc/ppp/pppscript + if [ "$INIT" = "below" ]; then +-echo '"" "AT\&FW1H0"' >> /etc/ppp/pppscript ++echo '"" "AT&FH0"' >> /etc/ppp/pppscript + echo 'OK "'$PHONENUM'"' >> /etc/ppp/pppscript + else + echo '"" '$INIT'' >> /etc/ppp/pppscript +@@ -905,8 +936,8 @@ + chmod 600 /etc/ppp/pppscript 2>/dev/null + fi + +-if [ -s /tmp/sayTEMP1 ]; then +-cat /tmp/sayTEMP1 >> /etc/ppp/pppscript ++if [ -s $TMP/sayTEMP1 ]; then ++cat $TMP/sayTEMP1 >> /etc/ppp/pppscript + echo >> /etc/ppp/pppscript + else + echo >> /etc/ppp/pppscript +@@ -948,9 +979,9 @@ + echo "# The CARRIER speed at which you connected will be reported, if it's in" >> /etc/ppp/ip-up + echo '# the /var/log/messages file. You also need the programs "tail" "cut"' >> /etc/ppp/ip-up + echo '# "tr" "grep" and "syslogd" running for this to work.' >> /etc/ppp/ip-up +-echo "# You may have to add W1 or S95=46 to your modem init string" >> /etc/ppp/ip-up ++echo "# You may have to add S95=46 to your modem init string" >> /etc/ppp/ip-up + echo "# to get your modem to report the DCE = CARRIER speed." >> /etc/ppp/ip-up +-echo "# Examples: AT&FW1 or AT&FS95=46" >> /etc/ppp/ip-up ++echo "# Example: AT&FS95=46" >> /etc/ppp/ip-up + + echo >> /etc/ppp/ip-up + echo "if [ -s /var/log/messages ] && ( ps xc 2>/dev/null | grep -q syslogd 2>/dev/null ); then" >> /etc/ppp/ip-up +@@ -986,7 +1017,8 @@ + echo >> /etc/ppp/ip-up + echo "# End..." >> /etc/ppp/ip-up + +-chmod 4755 /etc/ppp/ip-up 2>/dev/null ++#chmod 4755 /etc/ppp/ip-up 2>/dev/null ++chmod 755 /etc/ppp/ip-up 2>/dev/null + + if [ -s /etc/ppp/ip-down ]; then + mv /etc/ppp/ip-down /etc/ppp/ip-down.OLD +@@ -1022,7 +1054,7 @@ + # You'll see the modem reponse OK and date in the /etc/ppp/modem.cua?, + # modem.ttyS?, or modem.modem file. + # You need the 'modem-stats' program for this below to work. +-# ftp://sunsite.unc.edu/pub/apps/serialcomm/modem ++# ftp://metalab.unc.edu/pub/apps/serialcomm/modem + # modem-stats-1.0.1.src.elf.tar.gz + # Remove the ##### from the lines below. + +@@ -1030,7 +1062,8 @@ + } + + ipdown > /etc/ppp/ip-down +-chmod 4755 /etc/ppp/ip-down 2>/dev/null ++#chmod 4755 /etc/ppp/ip-down 2>/dev/null ++chmod 755 /etc/ppp/ip-down 2>/dev/null + + echo "#sleep 2 # Make sure the modem is really down." >> /etc/ppp/ip-down + echo '#DEV=`echo $2 | sed -e "s./dev/.."`' >> /etc/ppp/ip-down +@@ -1080,38 +1113,38 @@ + cat </dev/null | grep -i -s "rcvd" > /tmp/grep.tmp ++tail -n 30 /var/log/debug 2>/dev/null | grep -i -s "rcvd" > $TMP/grep.tmp + +-if ( grep -i -q "auth pap" /tmp/grep.tmp ); then ++if ( grep -i -q "auth pap" $TMP/grep.tmp ); then + echo + echo "They seem to be requesting PAP = for authentication." + echo "I don't know if you're setup for 'PAP' or not." + echo "Did you answer 'PAP' when you ran pppsetup?" + echo +-elif ( grep -E -i -q "auth chap msoft|auth chap 80" /tmp/grep.tmp ); then ++elif ( grep -E -i -q "auth chap msoft|auth chap 80" $TMP/grep.tmp ); then + echo + echo "They seem to be requesting MS-CHAP-80 = for authentication." + echo "I don't know if you're setup for 'MS-CHAP' or not." + echo "Did you answer 'MS-CHAP' when you ran pppsetup?" + echo +-elif ( grep -i -q "auth chap" /tmp/grep.tmp ); then ++elif ( grep -i -q "auth chap" $TMP/grep.tmp ); then + echo "They seem to be requesting CHAP = for authentication." + echo "I don't know if you're setup for 'CHAP' or not." + echo "Did you answer 'CHAP' when you ran pppsetup?" + echo + else +-rm -f /tmp/grep.tmp ++rm -f $TMP/grep.tmp + exit 0 + fi + +-if ( grep -i -q "callback" /tmp/grep.tmp ); then ++if ( grep -i -q "callback" $TMP/grep.tmp ); then + echo "They seem to be requesting CALLBACK." + echo "I don't know if you're setup for 'callback' or not." + echo "Did you answer 'CALLBACK' when you ran pppsetup?" + echo + fi + +-rm -f /tmp/grep.tmp ++rm -f $TMP/grep.tmp + } + EOF + } +@@ -1124,14 +1157,14 @@ + echo "killall -INT pppd 2>/dev/null" >> /usr/sbin/ppp-go + echo "rm -f /var/lock/LCK* /var/run/ppp*.pid" >> /usr/sbin/ppp-go + +-if [ -s /tmp/cb1TEMP$$ ]; then +-echo '('$PATH1' -detach connect "'$PATH2' -v -s -f /etc/ppp/callback" &) || exit 1' >> /usr/sbin/ppp-go ++if [ -s $TMP/cb1TEMP$$ ]; then ++echo '('$PATH1' -detach connect "'$PATH2' -v -f /etc/ppp/callback" &) || exit 1' >> /usr/sbin/ppp-go + else +-echo '('$PATH1' -detach connect "'$PATH2' -v -s -f /etc/ppp/pppscript" &) || exit 1' >> /usr/sbin/ppp-go ++echo '('$PATH1' -detach connect "'$PATH2' -v -f /etc/ppp/pppscript" &) || exit 1' >> /usr/sbin/ppp-go + fi + +-echo "read" >> /usr/sbin/ppp-go +-echo "ifconnect" >> /usr/sbin/ppp-go ++echo "#read" >> /usr/sbin/ppp-go ++echo "#ifconnect" >> /usr/sbin/ppp-go + echo "exit 0" >> /usr/sbin/ppp-go + echo "fi" >> /usr/sbin/ppp-go + +@@ -1140,10 +1173,10 @@ + echo "killall -INT pppd 2>/dev/null" >> /usr/sbin/ppp-go + echo "rm -f /var/lock/LCK* /var/run/ppp*.pid" >> /usr/sbin/ppp-go + +-if [ -s /tmp/cb1TEMP$$ ]; then +-echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/callback") || exit 1' >> /usr/sbin/ppp-go ++if [ -s $TMP/cb1TEMP$$ ]; then ++echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/callback" 1> /dev/null 2> /dev/null ) || exit 1' >> /usr/sbin/ppp-go + else +-echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/pppscript") || exit 1' >> /usr/sbin/ppp-go ++echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/pppscript" 1> /dev/null 2> /dev/null ) || exit 1' >> /usr/sbin/ppp-go + fi + + echo "exit 0" >> /usr/sbin/ppp-go +@@ -1194,26 +1227,37 @@ + echo 'echo "USAGE: ppp-go -h "' >> /usr/sbin/ppp-go + echo "exit 1" >> /usr/sbin/ppp-go + +-chmod 4755 /usr/sbin/ppp-go 2>/dev/null ++#chmod 4755 /usr/sbin/ppp-go 2>/dev/null ++chmod 755 /usr/sbin/ppp-go 2>/dev/null + +-echo "lock" > /etc/ppp/options +-echo "defaultroute" >> /etc/ppp/options +-echo "noipdefault" >> /etc/ppp/options +-echo "modem" >> /etc/ppp/options +-echo "/dev/$MODEM" >> /etc/ppp/options +-echo "$BAUDRATE" >> /etc/ppp/options +-echo "crtscts" >> /etc/ppp/options +-echo "debug" >> /etc/ppp/options +-echo "passive" >> /etc/ppp/options +-echo "asyncmap 0" >> /etc/ppp/options ++cat << EOF > /etc/ppp/options ++# General configuration options for PPPD: ++lock ++defaultroute ++noipdefault ++modem ++/dev/$MODEM ++$BAUDRATE ++crtscts ++# Uncomment the line below for more verbose error reporting: ++#debug ++# If you have a default route already, pppd may require the other side ++# to authenticate itself, which most ISPs will not do. To work around this, ++# uncomment the line below. Note that this may have negative side effects ++# on system security if you allow PPP dialins. See the docs in /usr/doc/ppp* ++# for more information. ++#noauth ++passive ++asyncmap 0 ++EOF + + if [ ! -z "$CBPN" ]; then + echo 'callback "'$CBPN'"' >> /etc/ppp/options + fi + +-if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ] && [ -s /tmp/rspTEMP2 ]; then ++if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ] && [ -s $TMP/rspTEMP2 ]; then + echo 'name "'$MSDOMAIN\\\\$AUTH1'"' >> /etc/ppp/options +-elif [ -s /tmp/rspTEMP2 ]; then ++elif [ -s $TMP/rspTEMP2 ]; then + echo 'name "'$AUTH1'"' >> /etc/ppp/options + fi + +@@ -1277,7 +1321,7 @@ + echo "0.0.0.0:10.10.10.10" >> /etc/ppp/options.demand + echo "demand" >> /etc/ppp/options.demand + +-if [ -s /tmp/cb1TEMP$$ ]; then ++if [ -s $TMP/cb1TEMP$$ ]; then + echo 'connect "'$PATH2' -v -f /etc/ppp/callback"' >> /etc/ppp/options.demand + else + echo 'connect "'$PATH2' -v -f /etc/ppp/pppscript"' >> /etc/ppp/options.demand +@@ -1352,18 +1396,18 @@ + 0.0.0.0 foobar.localnet foobar + + ~# dip -tv +-dip> port /dev/cua1 +-can't open - problems with locking cua1 ++dip> port /dev/ttyS1 ++can't open - problems with locking ttyS1 + + If you get the above message after "port /dev/modem", it means you have a +-lock file in /var/lock/LCK..cua1, remove the lock file and kill dip. ++lock file in /var/lock/LCK..ttyS1, remove the lock file and kill dip. + + ~# rm /var/lock/LCK* + # killall -9 dip + + ~# dip -tv + +-dip> port /dev/cua1 <-Where's the modem? cua0 = com1 cua1 = com2 etc.) ++dip> port /dev/ttyS1 <-Where's the modem? ttyS0 = com1 ttyS1 = com2 etc.) + dip> speed 115200 <-Modem speed: 19200 38400 57600 + dip> term + +@@ -1379,7 +1423,7 @@ + dip> default <-Use default route.) + dip> mode ppp <-Start PPP at your end.) + +-~# ping sunsite.unc.edu <-To see if you're connected.) ++~# ping metalab.unc.edu <-To see if you're connected.) + + ~# dip -k <-To kill dip and the PPP connection.) + +@@ -1393,7 +1437,7 @@ + lock + defaultroute + noipdefault +-/dev/cua1 <- cua0 = com1 cua1 = com2 cua2 = com3 cua3 = com4 ++/dev/ttyS1 <- ttyS0 = com1 ttyS1 = com2 ttyS2 = com3 ttyS3 = com4 + 57600 + modem + crtscts +@@ -1419,221 +1463,221 @@ + } + + echo "=========================================================================" > /etc/ppp/pppsetup.txt +-cat /tmp/txtTEMP01 >> /etc/ppp/pppsetup.txt ++cat $TMP/txtTEMP01 >> /etc/ppp/pppsetup.txt + +-echo "=========================================================================" > /tmp/txtTEMP$$ +-echo "These are your PPP configuration files and instructions..." >> /tmp/txtTEMP$$ +-echo "=========================================================================" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +- +-if [ ! -s /tmp/cb1TEMP$$ ] && [ ! -s /tmp/sayTEMP1 ]; then +-echo "# This is your /etc/ppp/pppscript." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-cat /etc/ppp/pppscript >> /tmp/txtTEMP$$ +-elif [ ! -s /tmp/cb1TEMP$$ ] && [ -s /tmp/sayTEMP1 ]; then +-echo "# This is your /etc/ppp/pppscript." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Look at /etc/ppp/pppscript." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-fi +- +-if [ -s /tmp/cb1TEMP$$ ]; then +-echo "# This is your /etc/ppp/callback script." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Look at /etc/ppp/callback." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-fi +- +-echo "# This is your /etc/ppp/options file." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-cat /etc/ppp/options >> /tmp/txtTEMP$$ ++echo "=========================================================================" > $TMP/txtTEMP$$ ++echo "These are your PPP configuration files and instructions..." >> $TMP/txtTEMP$$ ++echo "=========================================================================" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++ ++if [ ! -s $TMP/cb1TEMP$$ ] && [ ! -s $TMP/sayTEMP1 ]; then ++echo "# This is your /etc/ppp/pppscript." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++cat /etc/ppp/pppscript >> $TMP/txtTEMP$$ ++elif [ ! -s $TMP/cb1TEMP$$ ] && [ -s $TMP/sayTEMP1 ]; then ++echo "# This is your /etc/ppp/pppscript." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Look at /etc/ppp/pppscript." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++fi ++ ++if [ -s $TMP/cb1TEMP$$ ]; then ++echo "# This is your /etc/ppp/callback script." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Look at /etc/ppp/callback." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++fi ++ ++echo "# This is your /etc/ppp/options file." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++cat /etc/ppp/options >> $TMP/txtTEMP$$ + + if [ "$MODERROR" = "YES" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "WARNING: I could not find the modem device: '/dev/$MODEM'" >> /tmp/txtTEMP$$ +-echo "cua0 = com1 cua1 = com2 cua2 = com3 cua3 = com4" >> /tmp/txtTEMP$$ +-echo "# MAKEDEV $MODEM # /dev/MAKEDEV $MODEM" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "WARNING: I could not find the modem device: '/dev/$MODEM'" >> $TMP/txtTEMP$$ ++echo "ttyS0 = com1 ttyS1 = com2 ttyS2 = com3 ttyS3 = com4" >> $TMP/txtTEMP$$ ++echo "# MAKEDEV $MODEM # /dev/MAKEDEV $MODEM" >> $TMP/txtTEMP$$ + fi + + if [ "$DOMAINNAME" = "unknown.com" ] && [ "$PAP" = "MS-CHAP-80" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "The remotename option is required for microsoft's ms-chap-80." >> /tmp/txtTEMP$$ +-echo "You didn't give a DOMAIN NAME so i put unknown.com, you should" >> /tmp/txtTEMP$$ +-echo "change that to your service providers domain name." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "The remotename option is required for microsoft's ms-chap-80." >> $TMP/txtTEMP$$ ++echo "You didn't give a DOMAIN NAME so i put unknown.com, you should" >> $TMP/txtTEMP$$ ++echo "change that to your service providers domain name." >> $TMP/txtTEMP$$ + fi + + if [ ! "$MODERROR" = "YES" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "I created the symbolic link: /dev/modem -> /dev/$MODEM" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "I created the symbolic link: /dev/modem -> /dev/$MODEM" >> $TMP/txtTEMP$$ + fi + +-echo >> /tmp/txtTEMP$$ +-echo "# This is your /etc/ppp/options.demand dialing file." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-cat /etc/ppp/options.demand >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "If you have a ethernet connection you should change the local:remote" >> /tmp/txtTEMP$$ +-echo "IP addresses in the options.demand file, to your actual local and" >> /tmp/txtTEMP$$ +-echo "remote address. Example: 215.346.117.89:312.217.187.96" >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "# This in your /etc/resolv.conf file." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-cat /etc/resolv.conf >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "# This is your /etc/ppp/options.demand dialing file." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++cat /etc/ppp/options.demand >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "If you have a ethernet connection you should change the local:remote" >> $TMP/txtTEMP$$ ++echo "IP addresses in the options.demand file, to your actual local and" >> $TMP/txtTEMP$$ ++echo "remote address. Example: 215.346.117.89:312.217.187.96" >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "# This in your /etc/resolv.conf file." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++cat /etc/resolv.conf >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ + if [ -z $DNSIP ]; then +-echo "207.132.116.5 <-IMPORTANT: This should be the IP address of" >> /tmp/txtTEMP$$ +-echo " your service providers nameserver." >> /tmp/txtTEMP$$ ++echo "207.132.116.5 <-IMPORTANT: This should be the IP address of" >> $TMP/txtTEMP$$ ++echo " your service providers nameserver." >> $TMP/txtTEMP$$ + else +-echo "$DNSIP <-IMPORTANT: This should be the IP address of" >> /tmp/txtTEMP$$ +-echo " your service providers nameserver." >> /tmp/txtTEMP$$ ++echo "$DNSIP <-IMPORTANT: This should be the IP address of" >> $TMP/txtTEMP$$ ++echo " your service providers nameserver." >> $TMP/txtTEMP$$ + fi + + if [ -z $DNSIP ]; then +-echo >> /tmp/txtTEMP$$ +-echo "WARNING: You didn't give a IP address for your internet service" >> /tmp/txtTEMP$$ +-echo "providers nameserver, i put '207.132.116.5' but this may not work." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "WARNING: You didn't give a IP address for your internet service" >> $TMP/txtTEMP$$ ++echo "providers nameserver, i put '207.132.116.5' but this may not work." >> $TMP/txtTEMP$$ + fi + + if [ "$PAP" = "CHAP" ] || [ "$PAP" = "MS-CHAP-80" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "# This is your /etc/ppp/chap-secrets file." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Look at /etc/ppp/chap-secrets." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "# This is your /etc/ppp/chap-secrets file." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Look at /etc/ppp/chap-secrets." >> $TMP/txtTEMP$$ + fi + + if [ "$DOMAINNAME" = "unknown.com" ] && [ "$PAP" = "MS-CHAP-80" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "You didn't give a DOMAIN NAME that's why i put unknown.com in" >> /tmp/txtTEMP$$ +-echo "the /etc/ppp/chap-secrets file." >> /tmp/txtTEMP$$ +-echo "You should change that to your service providers domain name." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "You didn't give a DOMAIN NAME that's why i put unknown.com in" >> $TMP/txtTEMP$$ ++echo "the /etc/ppp/chap-secrets file." >> $TMP/txtTEMP$$ ++echo "You should change that to your service providers domain name." >> $TMP/txtTEMP$$ + fi + + if [ "$PAP" = "PAP" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "# This is your /etc/ppp/pap-secrets file." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "Look at /etc/ppp/pap-secrets." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "# This is your /etc/ppp/pap-secrets file." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Look at /etc/ppp/pap-secrets." >> $TMP/txtTEMP$$ + fi + + if [ "$PATH1" = "pppd" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "ATENTION: I couldn't find on your system." >> /tmp/txtTEMP$$ +-echo "You need on your system to make the PPP connection." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "ATENTION: I couldn't find on your system." >> $TMP/txtTEMP$$ ++echo "You need on your system to make the PPP connection." >> $TMP/txtTEMP$$ + fi + + if [ "$PATH2" = "chat" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "ATENTION: I couldn't find on your system." >> /tmp/txtTEMP$$ +-echo "You need on your system to make the PPP connection." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "ATENTION: I couldn't find on your system." >> $TMP/txtTEMP$$ ++echo "You need on your system to make the PPP connection." >> $TMP/txtTEMP$$ + fi + + if [ ! "$MSG1" = "YES" ] && [ ! "$MSG2" = "YES" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "ATENTION: I couldn't find 'PPP' in the kernel or as a module." >> /tmp/txtTEMP$$ +-echo "You'll need 'PPP' in the kernel or as a module to make a PPP connection." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "ATENTION: I couldn't find 'PPP' in the kernel or as a module." >> $TMP/txtTEMP$$ ++echo "You'll need 'PPP' in the kernel or as a module to make a PPP connection." >> $TMP/txtTEMP$$ + fi + + if [ "$PPPRC" = "YES" ]; then +-echo >> /tmp/txtTEMP$$ +-echo "ATENTION: I found a $HOME/.ppprc file and moved it to" >> /tmp/txtTEMP$$ +-echo ".ppprc.off, it might interfere with the PPP connection." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "ATENTION: I found a $HOME/.ppprc file and moved it to" >> $TMP/txtTEMP$$ ++echo ".ppprc.off, it might interfere with the PPP connection." >> $TMP/txtTEMP$$ + fi + +-echo >> /tmp/txtTEMP$$ +-echo "Does everything look correct? if not, run 'pppsetup' again..." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "=========================================================================" >> /tmp/txtTEMP$$ +-echo "To connect to your service provider." >> /tmp/txtTEMP$$ +-echo "=========================================================================" >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "~# ppp-go <-Make PPP connection.)" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Does everything look correct? if not, run 'pppsetup' again..." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "=========================================================================" >> $TMP/txtTEMP$$ ++echo "To connect to your service provider." >> $TMP/txtTEMP$$ ++echo "=========================================================================" >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "~# ppp-go <-Make PPP connection.)" >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ +-echo "You'll hear and see the modem dialing then once connected," >> /tmp/txtTEMP$$ +-echo "logging you in Username: or Login: and Password: etc." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "You won't see a Username or Login: and Password: prompt" >> /tmp/txtTEMP$$ +-echo "if they're using PAP or CHAP to authenticate you." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "If they use PAP or CHAP you'll just see CONNECT -- got it." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "If the connection was successful you'll see the Local IP and" >> /tmp/txtTEMP$$ +-echo "Remote IP address printed to the screen, you can press [Enter]." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "If you run ppp-go in X windows you probably won't see a Local" >> /tmp/txtTEMP$$ +-echo "and Remote IP address printed to the screen, you'll just see" >> /tmp/txtTEMP$$ +-echo "the connection process come to a end, wait a few seconds and" >> /tmp/txtTEMP$$ +-echo "press [Enter] at that point." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "If you don't connect for whatever reason e.g. Failed No" >> /tmp/txtTEMP$$ +-echo "Dialtone, Busy, No Carrier, Whatever, Exit, just press" >> /tmp/txtTEMP$$ +-echo "[Enter] at that point." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "if you have syslogd running, you can see the output messages" >> /tmp/txtTEMP$$ +-echo "from pppd and chat in the /var/log/messages and or debug file." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "Sample /var/log/messages file." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` pppd[562]: Serial connection established." >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` pppd[562]: Using interface ppp0" >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` pppd[562]: Connect: ppp0 <--> /dev/modem" >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` pppd[562]: local IP address 215.87.78.18" >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` pppd[562]: remote IP address 205.94.97.35" >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "You don't have a successful PPP connection until you" >> /tmp/txtTEMP$$ +-echo "receive a local & remote IP address like above." >> /tmp/txtTEMP$$ +- +-echo >> /tmp/txtTEMP$$ +-echo "If you have the X window system, you could connect in a Xterm." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` # startx" >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` # ppp-go" >> /tmp/txtTEMP$$ +-echo "`hostname 2>/dev/null` # netscape mosaic etc." >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "You'll hear and see the modem dialing then once connected," >> $TMP/txtTEMP$$ ++echo "logging you in Username: or Login: and Password: etc." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "You won't see a Username or Login: and Password: prompt" >> $TMP/txtTEMP$$ ++echo "if they're using PAP or CHAP to authenticate you." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "If they use PAP or CHAP you'll just see CONNECT -- got it." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "If the connection was successful you'll see the Local IP and" >> $TMP/txtTEMP$$ ++echo "Remote IP address printed to the screen, you can press [Enter]." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "If you run ppp-go in X windows you probably won't see a Local" >> $TMP/txtTEMP$$ ++echo "and Remote IP address printed to the screen, you'll just see" >> $TMP/txtTEMP$$ ++echo "the connection process come to a end, wait a few seconds and" >> $TMP/txtTEMP$$ ++echo "press [Enter] at that point." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "If you don't connect for whatever reason e.g. Failed No" >> $TMP/txtTEMP$$ ++echo "Dialtone, Busy, No Carrier, Whatever, Exit, just press" >> $TMP/txtTEMP$$ ++echo "[Enter] at that point." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "if you have syslogd running, you can see the output messages" >> $TMP/txtTEMP$$ ++echo "from pppd and chat in the /var/log/messages and or debug file." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "Sample /var/log/messages file." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` pppd[562]: Serial connection established." >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` pppd[562]: Using interface ppp0" >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` pppd[562]: Connect: ppp0 <--> /dev/modem" >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` pppd[562]: local IP address 215.87.78.18" >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` pppd[562]: remote IP address 205.94.97.35" >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "You don't have a successful PPP connection until you" >> $TMP/txtTEMP$$ ++echo "receive a local & remote IP address like above." >> $TMP/txtTEMP$$ ++ ++echo >> $TMP/txtTEMP$$ ++echo "If you have the X window system, you could connect in a Xterm." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` # startx" >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` # ppp-go" >> $TMP/txtTEMP$$ ++echo "`hostname 2>/dev/null` # netscape mosaic etc." >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ +-echo "~# ppp-off <-To end the ppp connection.)" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "~# ppp-off <-To end the ppp connection.)" >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ +-echo "~# ppp-go -h <-For help.)" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "~# ppp-go -h <-For help.)" >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ +-echo 'There is no support in linux for "WinModems", if you have a' >> /tmp/txtTEMP$$ +-echo "WinModem you will not be able to use it in linux." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "There is support for plug n play modems, if you have a pnp" >> /tmp/txtTEMP$$ +-echo 'modem you may need "isapnptools" to get it recognized.' >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo 'There is no support in linux for "WinModems", if you have a' >> $TMP/txtTEMP$$ ++echo "WinModem you will not be able to use it in linux." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "There is support for plug n play modems, if you have a pnp" >> $TMP/txtTEMP$$ ++echo 'modem you may need "isapnptools" to get it recognized.' >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ +-echo "=========================================================================" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "=========================================================================" >> $TMP/txtTEMP$$ + if [ -s /usr/doc/pppsetup/pppsetup-$VERSION.README ]; then +-echo "#### Look at the /usr/doc/pppsetup/pppsetup-$VERSION.README. ####" >> /tmp/txtTEMP$$ ++echo "#### Look at the /usr/doc/pppsetup/pppsetup-$VERSION.README. ####" >> $TMP/txtTEMP$$ + fi +-echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" >> /tmp/txtTEMP$$ +-echo "=========================================================================" >> /tmp/txtTEMP$$ ++echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" >> $TMP/txtTEMP$$ ++echo "=========================================================================" >> $TMP/txtTEMP$$ + +-echo >> /tmp/txtTEMP$$ +-echo "Done... You can exit now..." >> /tmp/txtTEMP$$ +-echo >> /tmp/txtTEMP$$ +-echo "End..." >> /tmp/txtTEMP$$ +-echo "=========================================================================" >> /tmp/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "Done... You can exit now..." >> $TMP/txtTEMP$$ ++echo >> $TMP/txtTEMP$$ ++echo "End..." >> $TMP/txtTEMP$$ ++echo "=========================================================================" >> $TMP/txtTEMP$$ + +-dialog --title "DONE" --clear --textbox "/tmp/txtTEMP$$" 22 78 ++dialog --title "DONE" --clear --textbox "$TMP/txtTEMP$$" 22 78 + + clear 2>/dev/null || echo + +-cat /tmp/txtTEMP$$ >> /etc/ppp/pppsetup.txt ++cat $TMP/txtTEMP$$ >> /etc/ppp/pppsetup.txt + chmod 600 /etc/ppp/pppsetup.txt 2>/dev/null + + if [ ! -s /etc/syslog.conf ]; then +@@ -1644,7 +1688,7 @@ + + demand >> /etc/ppp/pppsetup.txt + other >> /etc/ppp/pppsetup.txt +-rm -f /tmp/*TEMP* 2>/dev/null ++rm -f $TMP/*TEMP* 2>/dev/null + + killall -9 syslogd 2>/dev/null + syslogd & 2>/dev/null +@@ -1659,7 +1703,7 @@ + else + demand >> /etc/ppp/pppsetup.txt + other >> /etc/ppp/pppsetup.txt +-rm -f /tmp/*TEMP* 2>/dev/null ++rm -f $TMP/*TEMP* 2>/dev/null + echo + echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" + if [ -s /usr/doc/pppsetup/pppsetup-$VERSION.README ]; then diff --git a/patches/source/ppp/radius.msdict b/patches/source/ppp/radius.msdict new file mode 100644 index 000000000..da3a317c0 --- /dev/null +++ b/patches/source/ppp/radius.msdict @@ -0,0 +1,81 @@ +# +# Microsoft's VSA's, from RFC 2548 +# +# $Id: dictionary.microsoft,v 1.1 2004/11/14 07:26:26 paulus Exp $ +# + +VENDOR Microsoft 311 Microsoft + +ATTRIBUTE MS-CHAP-Response 1 string Microsoft +ATTRIBUTE MS-CHAP-Error 2 string Microsoft +ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft +ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft +ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft +ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft +ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft +# This is referred to as both singular and plural in the RFC. +# Plural seems to make more sense. +ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft +ATTRIBUTE MS-MPPE-Encryption-Types 8 string Microsoft +ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft +ATTRIBUTE MS-CHAP-Domain 10 string Microsoft +ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft +ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft +ATTRIBUTE MS-BAP-Usage 13 integer Microsoft +ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft +ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft +ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft +ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft +ATTRIBUTE MS-RAS-Version 18 string Microsoft +ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft +ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft +ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft + +ATTRIBUTE MS-Filter 22 string Microsoft +ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft +ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft + +ATTRIBUTE MS-CHAP2-Response 25 string Microsoft +ATTRIBUTE MS-CHAP2-Success 26 string Microsoft +ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft + +ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft +ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft +ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft +ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft + +#ATTRIBUTE MS-ARAP-Challenge 33 string Microsoft + + +# +# Integer Translations +# + +# MS-BAP-Usage Values + +VALUE MS-BAP-Usage Not-Allowed 0 +VALUE MS-BAP-Usage Allowed 1 +VALUE MS-BAP-Usage Required 2 + +# MS-ARAP-Password-Change-Reason Values + +VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1 +VALUE MS-ARAP-PW-Change-Reason Expired-Password 2 +VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3 +VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4 + +# MS-Acct-Auth-Type Values + +VALUE MS-Acct-Auth-Type PAP 1 +VALUE MS-Acct-Auth-Type CHAP 2 +VALUE MS-Acct-Auth-Type MS-CHAP-1 3 +VALUE MS-Acct-Auth-Type MS-CHAP-2 4 +VALUE MS-Acct-Auth-Type EAP 5 + +# MS-Acct-EAP-Type Values + +VALUE MS-Acct-EAP-Type MD5 4 +VALUE MS-Acct-EAP-Type OTP 5 +VALUE MS-Acct-EAP-Type Generic-Token-Card 6 +VALUE MS-Acct-EAP-Type TLS 13 + diff --git a/patches/source/ppp/realms b/patches/source/ppp/realms new file mode 100644 index 000000000..344036404 --- /dev/null +++ b/patches/source/ppp/realms @@ -0,0 +1,22 @@ +# /etc/radiusclient/realms +# +# Handle realm @netservers.co.uk on an internal RADIUS server +# (note the server must be told to strip the realm) + +#authserver netservers.co.uk 192.168.1.1:1812 +#acctserver netservers.co.uk 192.168.1.1:1813 + +# users in realm @example.com are handled by separate servers + +#authserver example.com 10.0.0.1:1812 +#acctserver example.com 10.0.0.2:1813 + +# the DEFAULT realm matches users that do not supply a realm + +#authserver DEFAULT 192.168.1.1:1812 +#acctserver DEFAULT 192.168.1.1:1813 + +# Any realms that do not match in the realms file automatically fall +# through to the standard radius plugin which uses the servers in the +# radiusclient.conf file. Note that this is different than the +# DEFAULT realm match, above. diff --git a/patches/source/ppp/servers b/patches/source/ppp/servers new file mode 100644 index 000000000..b061bf934 --- /dev/null +++ b/patches/source/ppp/servers @@ -0,0 +1,4 @@ +#Server Name or Client/Server pair Key +#---------------- --------------- +#portmaster.elemental.net hardlyasecret +#portmaster2.elemental.net donttellanyone diff --git a/patches/source/ppp/slack-desc b/patches/source/ppp/slack-desc new file mode 100644 index 000000000..ddf6f37f4 --- /dev/null +++ b/patches/source/ppp/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +ppp: ppp (Point-to-Point Protocol) +ppp: +ppp: The Point-to-Point Protocol (PPP) provides a method for transmitting +ppp: data over serial links. It's commonly used for connecting to the +ppp: Internet using a modem. This package includes the PPP daemon (pppd), +ppp: which negotiates with the peer to establish the link and sets up the +ppp: ppp network interface, and pppsetup, an easy-to-use utility for +ppp: setting up your PPP daemon. +ppp: +ppp: +ppp: diff --git a/patches/source/proftpd/doinst.sh b/patches/source/proftpd/doinst.sh new file mode 100644 index 000000000..37fe02dd9 --- /dev/null +++ b/patches/source/proftpd/doinst.sh @@ -0,0 +1,18 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/ftpusers.new +config etc/proftpd.conf.new + +# Remove any old proftpd files: +rm -f var/run/proftpd/proftpd* + diff --git a/patches/source/proftpd/etc/ftpusers b/patches/source/proftpd/etc/ftpusers new file mode 100644 index 000000000..d08f2a1fd --- /dev/null +++ b/patches/source/proftpd/etc/ftpusers @@ -0,0 +1,22 @@ +# +# ftpusers This file describes the names of the users that may +# _*NOT*_ log into the system via the FTP server. +# This usually includes "root", "uucp", "news" and the +# like, because those users have too much power to be +# allowed to do "just" FTP... +# +# +# Version: @(#)/etc/ftpusers 3.00 02/25/2001 volkerdi +# +# Original Author: Fred N. van Kempen, +# +# 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..d1ba56fb3 --- /dev/null +++ b/patches/source/proftpd/proftpd.SlackBuild @@ -0,0 +1,138 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=1.3.5e +DIRVER=1.3.5e +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-proftpd + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf proftpd-$VERSION +tar xvf $CWD/proftpd-$VERSION.tar.?z* || exit 1 +cd proftpd-$DIRVER || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --enable-autoshadow \ + --enable-ctrls \ + --enable-ipv6 \ + --localstatedir=/var/run \ + --with-modules=mod_ban:mod_readme:mod_ratio:mod_tls:mod_wrap:mod_ctrls_admin \ + --build=$ARCH-slackware-linux || exit 1 +# This caused funny messages about "Quotas off" with every FTP command, +# and mod_wrap gets a compile error: +# --with-modules= ... mod_quota ... + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# With no library to link against, these are useless: +rm -rf $PKG/usr/include +rm -f $PKG/etc/* +rmdir $PKG/usr/libexec 2> /dev/null + +cat $CWD/etc/proftpd.conf > $PKG/etc/proftpd.conf.new +cat $CWD/etc/ftpusers > $PKG/etc/ftpusers.new +mkdir -p $PKG/home/ftp + +# Directory used by mod_ban: +mkdir -p $PKG/var/db/proftpd +chown nobody:nogroup $PKG/var/db/proftpd + +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/usr/doc/proftpd-$VERSION +cp -a COPYING* CREDITS INSTALL NEWS README* \ + contrib/README.mod_wrap contrib/README.ratio \ + $PKG/usr/doc/proftpd-$VERSION +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/proftpd-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi +cp -a contrib/README $PKG/usr/doc/proftpd-$VERSION/README.contrib +cp -a doc sample-configurations $PKG/usr/doc/proftpd-$VERSION +# Bloat removal: +( cd $PKG/usr/doc + find . -name "*.sgml" -exec rm {} \; + find . -name "*.pdf" -exec rm {} \; +) +rmdir $PKG/usr/share/locale +rmdir $PKG/usr/share + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/proftpd-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/proftpd/slack-desc b/patches/source/proftpd/slack-desc new file mode 100644 index 000000000..5ed80ca92 --- /dev/null +++ b/patches/source/proftpd/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +proftpd: proftpd (FTP server daemon) +proftpd: +proftpd: ProFTPD is the Professional File Transfer Protocol (FTP) server +proftpd: daemon. ProFTPD grew out of the desire to have a secure and +proftpd: configurable FTP server, and out of a significant admiration of the +proftpd: Apache web server. +proftpd: +proftpd: +proftpd: +proftpd: +proftpd: diff --git a/patches/source/python/python.SlackBuild b/patches/source/python/python.SlackBuild new file mode 100755 index 000000000..97a799a88 --- /dev/null +++ b/patches/source/python/python.SlackBuild @@ -0,0 +1,167 @@ +#!/bin/bash + +# Copyright 2008, 2009, 2012, 2013, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=python +SRCNAM=Python +VERSION=$(echo $SRCNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev) +BRANCH_VERSION=$(echo $VERSION | cut -f 1,2 -d . ) +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +rm -rf $PKG +mkdir -p $TMP $PKG + +# Don't set any SLKCFLAGS here, or OPT="$SLKCFLAGS" before the ./configure. +# Python gets the compile options right without any help. +if [ "$ARCH" = "i486" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "arm" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armel" ]; then + LIBDIRSUFFIX="" +fi + +# Location for Python site-packages: +SITEPK=$PKG/usr/lib${LIBDIRSUFFIX}/${PKGNAM}${BRANCH_VERSION}/site-packages +# same as above without $PKG +TOOLSDIR=/usr/lib${LIBDIRSUFFIX}/${PKGNAM}${BRANCH_VERSION}/site-packages + +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xf $CWD/$SRCNAM-$VERSION.tar.xz || exit 1 +cd $SRCNAM-$VERSION + +zcat $CWD/python.readline.set_pre_input_hook.diff.gz | patch -p1 --verbose || exit 1 +# We don't want a large libpython*.a: +zcat $CWD/python.no-static-library.diff.gz | patch -p1 --verbose || exit 1 + +if [ "$ARCH" = "x86_64" ]; then + # Install to lib64 instead of lib and + # Python must report /usr/lib64/python2.7/site-packages as python_lib_dir: + zcat $CWD/python.x86_64.diff.gz | patch -p1 --verbose || exit 1 +fi + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/python-$VERSION \ + --with-threads \ + --enable-ipv6 \ + --enable-shared \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Install some python-demo files: +mkdir -p $PKG/usr/doc/python-$VERSION +cp -a Demo $PKG/usr/doc/python-$VERSION + +# We'll install the python-tools under site-packages: +mkdir -p $SITEPK +cp -a Tools/* $SITEPK + +mkdir -p $PKG/usr/doc/python-$VERSION +mv $SITEPK/README $PKG/usr/doc/python-$VERSION/README.python-tools +( cd $PKG/usr/doc/python-$VERSION + ln -sf $TOOLSDIR Tools +) +# Make a few useful symlinks: +mkdir -p $PKG/usr/bin +( cd $PKG/usr/bin + ln -sf $TOOLSDIR/pynche/pynche pynche + ln -sf $TOOLSDIR/i18n/msgfmt.py . + ln -sf $TOOLSDIR/i18n/pygettext.py . +) + +# Install docs: +mkdir -p $PKG/usr/doc/python-$VERSION/Documentation +cp -a README LICENSE $PKG/usr/doc/python-$VERSION +cp -a Misc $PKG/usr/doc/python-$VERSION +tar xf $CWD/python-$VERSION-docs-text.tar.?z* +mv python-${VERSION}-docs-text/* $PKG/usr/doc/python-$VERSION/Documentation +chown -R root:root $PKG/usr/doc/python-$VERSION + +# Fix possible incorrect permissions: +( cd $PKG + find . -type d -exec chmod 755 "{}" \; + find . -perm 640 -exec chmod 644 "{}" \; + find . -perm 750 -exec chmod 755 "{}" \; +) + + +( cd $PKG/usr/bin + rm -f python + ln -sf python${BRANCH_VERSION} python +) + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null +) + +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done +) + +( cd $PKG/usr/man + if [ -r python${BRANCH_VERSION}.1.gz ] ; then + ln -sf python${BRANCH_VERSION}.1.gz python.1.gz + fi +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/python-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/python/python.no-static-library.diff b/patches/source/python/python.no-static-library.diff new file mode 100644 index 000000000..962098971 --- /dev/null +++ b/patches/source/python/python.no-static-library.diff @@ -0,0 +1,49 @@ +--- ./Makefile.pre.in.orig 2012-04-09 18:07:33.000000000 -0500 ++++ ./Makefile.pre.in 2012-05-09 13:38:24.913226185 -0500 +@@ -396,7 +396,7 @@ + + + # Build the interpreter +-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) ++$(BUILDPYTHON): Modules/python.o $(LDLIBRARY) + $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \ + Modules/python.o \ + $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) +@@ -412,18 +412,6 @@ + *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ + esac + +-# Build static library +-# avoid long command lines, same as LIBRARY_OBJS +-$(LIBRARY): $(LIBRARY_OBJS) +- -rm -f $@ +- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o +- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) +- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) +- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) +- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS) +- $(AR) $(ARFLAGS) $@ $(MODOBJS) +- $(RANLIB) $@ +- + libpython$(VERSION).so: $(LIBRARY_OBJS) + if test $(INSTSONAME) != $(LDLIBRARY); then \ + $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ +@@ -1008,18 +996,6 @@ + else true; \ + fi; \ + done +- @if test -d $(LIBRARY); then :; else \ +- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ +- if test "$(SO)" = .dll; then \ +- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ +- else \ +- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ +- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ +- fi; \ +- else \ +- echo Skip install of $(LIBRARY) - use make frameworkinstall; \ +- fi; \ +- fi + $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c + $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o + $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in diff --git a/patches/source/python/python.readline.set_pre_input_hook.diff b/patches/source/python/python.readline.set_pre_input_hook.diff new file mode 100644 index 000000000..8af4b4bed --- /dev/null +++ b/patches/source/python/python.readline.set_pre_input_hook.diff @@ -0,0 +1,12 @@ +--- ./Modules/readline.c.orig 2008-11-04 14:43:31.000000000 -0600 ++++ ./Modules/readline.c 2009-06-09 14:23:16.000000000 -0500 +@@ -11,6 +11,9 @@ + #include + #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/randrproto/arch.use.flags b/patches/source/randrproto/arch.use.flags new file mode 100644 index 000000000..11087c884 --- /dev/null +++ b/patches/source/randrproto/arch.use.flags @@ -0,0 +1,9 @@ +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi diff --git a/patches/source/randrproto/build/randrproto b/patches/source/randrproto/build/randrproto new file mode 100644 index 000000000..fc42504d7 --- /dev/null +++ b/patches/source/randrproto/build/randrproto @@ -0,0 +1 @@ +1_slack14.0 diff --git a/patches/source/randrproto/configure/configure b/patches/source/randrproto/configure/configure new file mode 100644 index 000000000..dcb1109bd --- /dev/null +++ b/patches/source/randrproto/configure/configure @@ -0,0 +1,13 @@ +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --disable-static \ + --build=$ARCH-slackware-linux diff --git a/patches/source/randrproto/modularize b/patches/source/randrproto/modularize new file mode 100644 index 000000000..8a28ed93e --- /dev/null +++ b/patches/source/randrproto/modularize @@ -0,0 +1,279 @@ +# If a package is listed here, it will be built apart from the +# usual "grab bag" package that's made from each source directory. + +appres +bdftopcf +beforelight +bigreqsproto +bitmap +compiz +compositeproto +damageproto +dmxproto +dri2proto +dri3proto +editres +encodings +evieext +fixesproto +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-util +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +fonttosfnt +fslsfonts +fstobdf +gccmakedep +glamor-egl +glproto +iceauth +ico +imake +inputproto +intel-gpu-tools +kbproto +libFS +libICE +libSM +libX11 +libXScrnSaver +libXau +libXaw +libXaw3d +libXcm +libXcomposite +libXcursor +libXdamage +libXdmcp +libXevie +libXext +libXfixes +libXfont +libXfontcache +libXft +libXi +libXinerama +libXmu +libXp +libXpm +libXpresent +libXrandr +libXrender +libXres +libXt +libXtst +libXv +libXvMC +libXxf86dga +libXxf86misc +libXxf86vm +libdmx +libfontenc +libpciaccess +libpthread-stubs +libxcb +libxkbfile +libxshmfence +listres +lndir +luit +makedepend +mkcomposecache +mkfontdir +mkfontscale +oclock +pixman +presentproto +printproto +randrproto +recordproto +rendercheck +renderproto +resourceproto +rgb +scrnsaverproto +sessreg +setxkbmap +showfont +smproxy +transset +twm +util-macros +videoproto +viewres +x11perf +xauth +xbacklight +xbiff +xbitmaps +xcalc +xcb-proto +xcb-util +xcb-util-cursor +xcb-util-errors +xcb-util-image +xcb-util-keysyms +xcb-util-renderutil +xcb-util-wm +xclipboard +xclock +xcm +xcmiscproto +xcmsdb +xcompmgr +xconsole +xcursor-themes +xcursorgen +xdbedizzy +xditview +xdm +xdpyinfo +xdriinfo +xedit +xev +xextproto +xeyes +xf86-input-acecad +xf86-input-aiptek +xf86-input-evdev +xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse +xf86-input-penmount +xf86-input-synaptics +xf86-input-vmmouse +xf86-input-void +xf86-input-wacom +xf86-video-amdgpu +xf86-video-apm +xf86-video-ark +xf86-video-ast +xf86-video-ati +xf86-video-chips +xf86-video-cirrus +xf86-video-dummy +xf86-video-geode +xf86-video-glint +xf86-video-i128 +xf86-video-i740 +xf86-video-intel +xf86-video-mach64 +xf86-video-mga +xf86-video-modesetting +xf86-video-neomagic +xf86-video-nouveau +xf86-video-nv +xf86-video-omap +xf86-video-openchrome +xf86-video-qxl +xf86-video-r128 +xf86-video-rendition +xf86-video-s3 +xf86-video-s3virge +xf86-video-savage +xf86-video-siliconmotion +xf86-video-sis +xf86-video-sisusb +xf86-video-tdfx +xf86-video-tga +xf86-video-trident +xf86-video-tseng +xf86-video-v4l +xf86-video-vesa +xf86-video-vmware +xf86-video-voodoo +xf86-video-xgi +xf86-video-xgixp +xf86bigfontproto +xf86dga +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xfd +xfontsel +xfs +xfsinfo +xgamma +xgc +xhost +xineramaproto +xinit +xinput +xkbcomp +xkbevd +xkbprint +xkbutils +xkeyboard-config +xkill +xload +xlogo +xlsatoms +xlsclients +xlsfonts +xmag +xman +xmessage +xmh +xmodmap +xmore +xorg-cf-files +xorg-docs +xorg-server +xorg-server-xephyr +xorg-server-xnest +xorg-server-xvfb +xorg-sgml-doctools +xpr +xprop +xproto +xpyb +xrandr +xrdb +xrefresh +xscope +xset +xsetroot +xsm +xstdcmap +xtrans +xvidtune +xvinfo +xwd +xwininfo +xwud diff --git a/patches/source/randrproto/noarch b/patches/source/randrproto/noarch new file mode 100644 index 000000000..8785ee527 --- /dev/null +++ b/patches/source/randrproto/noarch @@ -0,0 +1,75 @@ +# List packages with an $ARCH of "noarch" (i.e. packages +# that contain no binaries) here: +bigreqsproto +compositeproto +damageproto +dejavu-ttf +dmxproto +encodings +evieext +font-adobe-100dpi +font-adobe-75dpi +font-adobe-utopia-100dpi +font-adobe-utopia-75dpi +font-adobe-utopia-type1 +font-alias +font-arabic-misc +font-bh-100dpi +font-bh-75dpi +font-bh-lucidatypewriter-100dpi +font-bh-lucidatypewriter-75dpi +font-bh-ttf +font-bh-type1 +font-bitstream-100dpi +font-bitstream-75dpi +font-bitstream-speedo +font-bitstream-type1 +font-cronyx-cyrillic +font-cursor-misc +font-daewoo-misc +font-dec-misc +font-ibm-type1 +font-isas-misc +font-jis-misc +font-micro-misc +font-misc-cyrillic +font-misc-ethiopic +font-misc-meltho +font-misc-misc +font-mutt-misc +font-schumacher-misc +font-screen-cyrillic +font-sony-misc +font-sun-misc +font-winitzki-cyrillic +font-xfree86-type1 +fontcacheproto +fontsproto +gccmakedep +glproto +inputproto +kbproto +libpthread-stubs +mkfontdir +printproto +randrproto +recordproto +renderproto +resourceproto +scrnsaverproto +ttf-indic-fonts +util-macros +videoproto +x11-skel +xcmiscproto +xcursor-themes +xf86bigfontproto +xf86dgaproto +xf86driproto +xf86miscproto +xf86vidmodeproto +xineramaproto +xkeyboard-config +xorg-docs +xproto +xtrans diff --git a/patches/source/randrproto/package-blacklist b/patches/source/randrproto/package-blacklist new file mode 100644 index 000000000..603b8c31f --- /dev/null +++ b/patches/source/randrproto/package-blacklist @@ -0,0 +1,44 @@ +# Enter packages to skip (perhaps because they aren't used on +# this platform) below. Just the package name -- no version +# number is needed. + +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + +# MacOS related packages: +applewmproto +windowswmproto +libAppleWM +libWindowsWM + +# Sun video cards: +xf86-video-sunbw2 +xf86-video-suncg14 +xf86-video-suncg3 +xf86-video-suncg6 +xf86-video-sunffb +xf86-video-sunleo +xf86-video-suntcx + +# Obsolete packages: +liboldX +xf86-video-amd +xf86-video-via +xkbdata +xphelloworld +xrx +xf86-video-modesetting + +# Not applicable to us +grandr +constype + +# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR! + +# This is probably obsolete, and kills "X -configure" too +xf86-video-nsc + +# We don't want this one, as it causes failure of X with no xorg.conf +xf86-video-fbdev + diff --git a/patches/source/randrproto/randrproto.SlackBuild b/patches/source/randrproto/randrproto.SlackBuild new file mode 100755 index 000000000..d9f6c69ed --- /dev/null +++ b/patches/source/randrproto/randrproto.SlackBuild @@ -0,0 +1,2 @@ +UPGRADE_PACKAGES=no ./x11.SlackBuild proto randrproto +mv /tmp/x11-build/randrproto*txz /tmp diff --git a/patches/source/randrproto/slack-desc/randrproto b/patches/source/randrproto/slack-desc/randrproto new file mode 100644 index 000000000..f97ca0952 --- /dev/null +++ b/patches/source/randrproto/slack-desc/randrproto @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +randrproto: randrproto (C prototypes for RandR) +randrproto: +randrproto: RandR is the X11 Resize and Rotate Extension +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: +randrproto: diff --git a/patches/source/randrproto/x11.SlackBuild b/patches/source/randrproto/x11.SlackBuild new file mode 100755 index 000000000..c3887dff2 --- /dev/null +++ b/patches/source/randrproto/x11.SlackBuild @@ -0,0 +1,381 @@ +#!/bin/sh +# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# To build only a single package group, specify it as $1, like: +# ./x11.SlackBuild lib +# To build only a single package, specify both the source directory +# and the name of the package, like: +# ./x11.SlackBuild lib libX11 + +# Upgrade packages as they are built. +# Default is to upgrade new packages (UPGRADE_PACKAGES=yes). +# To install ALL newly built packages (even if they are already installed), +# use UPGRADE_PACKAGES=always +# To not upgrade, pass UPGRADE_PACKAGES=no +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + +pkgbase() { + PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) + case $PKGEXT in + 'gz' ) + PKGRETURN=$(basename $1 .tar.gz) + ;; + 'bz2' ) + PKGRETURN=$(basename $1 .tar.bz2) + ;; + 'lzma' ) + PKGRETURN=$(basename $1 .tar.lzma) + ;; + 'xz' ) + PKGRETURN=$(basename $1 .tar.xz) + ;; + *) + PKGRETURN=$(basename $1) + ;; + esac + echo $PKGRETURN +} + +# Set initial variables: +CWD=$(pwd) +TMP=${TMP:-/tmp} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# A lot of this stuff just controls the package names this time: +VERSION=${VERSION:-7.5} +BUILD=${BUILD:-1} +PKGARCH=$ARCH +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +# Set up a few useful functions: + +fix_perms() { + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +} + +process_man_pages() { + # Compress and if needed symlink the man pages: + if [ -d usr/man ]; then + ( cd usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) + fi +} + +process_info_pages() { + # Compress info pages and purge "dir" file from the package: + if [ -d usr/info ]; then + ( cd usr/info + rm -f dir + gzip -9 * + ) + fi +} + +no_usr_share_doc() { + # If there are docs, move them: + if [ -d usr/share/doc ]; then + mkdir -p usr/doc + mv usr/share/doc/* usr/doc + rmdir usr/share/doc + fi +} + +# Set the compile options for the $ARCH being used: +. $CWD/arch.use.flags + +SLACK_X_BUILD_DIR=$TMP/x11-build +mkdir -p $SLACK_X_BUILD_DIR + +# Better have some binaries installed first, as this may not be +# in the "magic order". I built mine by hand through trial-and-error +# before getting this script to work. It wasn't that hard... I think. ;-) +( cd src + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do + # See if $1 is a source directory like "lib": + if [ ! -z "$1" ]; then + if [ ! "$1" = "${x_source_dir}" ]; then + continue + fi + fi + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + rm -rf $PKG + mkdir -p $PKG + ( cd $x_source_dir + for x_pkg in *.tar.?z* ; do + # Reset $PKGARCH to its initial value: + PKGARCH=$ARCH + PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev) + # Perhaps $PKGARCH should be something different: + if grep -wq "^$PKGNAME" ${CWD}/noarch ; then + PKGARCH=noarch + fi + if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then + continue + fi + cd $SLACK_X_BUILD_DIR + # If $2 is set, we only want to build one package: + if [ ! -z "$2" ]; then + if [ "$2" = "$PKGNAME" ]; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + else + continue + fi + else + echo + echo "Building from source ${x_pkg}" + echo + fi + if grep -wq "^$PKGNAME" ${CWD}/modularize ; then + # Set $PKG to a private dir for the modular package build: + PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME + rm -rf $PKG + mkdir -p $PKG + fi + + # Let's figure out the version number on the modular package: + MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + + rm -rf $(pkgbase $x_pkg) + tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1 + cd $(pkgbase $x_pkg) || exit 1 + + fix_perms + + # If any patches are needed, call this script to apply them: + if [ -r $CWD/patch/${PKGNAME}.patch ]; then + . $CWD/patch/${PKGNAME}.patch + fi + + # I heard somewhere that -O2 breaks some chipset or another. If you encounter + # problems, please contact volkerdi@slackware.com. Thanks! :-) + + # ./configure, using custom configure script if needed: + if [ -r $CWD/configure/${PKGNAME} ]; then + . $CWD/configure/${PKGNAME} + else + # This is the default configure script: + . $CWD/configure/configure + fi + + if ! make $NUMJOBS ; then + touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed + continue + fi + + make install DESTDIR=$PKG + + mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + cp -a \ + AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \ + $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} + + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + + # Get rid of zero-length junk files: + find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \; + rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null + + # Strip binaries: + ( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null + ) + + # If there's any special post-install things to do, do them: + if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/${PKGNAME}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + + # If this package requires some doinst.sh material, add it here: + if [ -r $CWD/doinst.sh/${PKGNAME} ]; then + mkdir -p $PKG/install + cat $CWD/doinst.sh/${PKGNAME} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + + # If this is a modular package, build it here: + if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/${PKGNAME} ]; then + cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/build/${PKGNAME} ]; then + MODBUILD=$(cat $CWD/build/${PKGNAME}) + else + MODBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi + fi + fi + + # Reset $PKG to assume we're building the whole source dir: + PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir} + + done + + # Nothing here? Must have been fully modular. :-) + if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \ + ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then + continue + fi + + # Build an "x11-" package for anything that wasn't built modular: + # It's safer to consider these to have binaries in them. ;-) + PKGARCH=$ARCH + cd $PKG + process_man_pages + process_info_pages + no_usr_share_doc + # If there are post-install things to do for the combined package, + # we do them here. This could be used for things like making a + # VERSION number for a combined package. :-) + if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then + RUNSCRIPT=$(mktemp -p $TMP) || exit 1 + cat $CWD/post-install/x11-${x_source_dir}.post-install \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT + . $RUNSCRIPT + rm -f $RUNSCRIPT + fi + mkdir -p $PKG/install + if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then + cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc + else + touch $PKG/install/slack-desc-missing + fi + if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then + cat $CWD/doinst.sh/x11-${x_source_dir} \ + | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + >> $PKG/install/doinst.sh + fi + if [ -r $CWD/build/x11-${PKGNAME} ]; then + SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME}) + else + SRCDIRBUILD=$BUILD + fi + if [ -r $CWD/makepkg/${PKGNAME} ]; then + BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} + else + /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + elif [ "$UPGRADE_PACKAGES" = "always" ]; then + /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi + fi + ) + done +) + +exit 0 + +# I don't think I'll be using the following stuff, since I went for the latest in +# "individual", rather than a release. That was mostly because version 7.1 depends +# on a version of Mesa that won't build against kernel headers this new (&etc.). + +# If environment variable "REFRESH" is exported, start by refreshing the source tree: +# export REFRESH yes +if [ ! -z "$REFRESH" ]; then + # Only works once, unless you uncomment above. + unset REFRESH + ( cd patches + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/patches + mirror --delete --dereference . + exit" + chmod 644 * + ) + ( cd src + mkdir -p update everything + for dir in app data deprecated doc driver extras font lib proto util xserver ; do + # We won't really download "update", as problems ensue. Plus, --dereference is + # bringing us updated files when needed, so it's redundant (like "everything"). + if [ ! -d $dir ]; then + mkdir $dir + fi + ( cd $dir + lftp -c \ + "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir + mirror -c --delete --dereference --include-glob "*.tar.bz2" . + exit" + chmod 644 * + ) + done + ) +fi + diff --git a/patches/source/rsync/rsync.SlackBuild b/patches/source/rsync/rsync.SlackBuild new file mode 100755 index 000000000..10293f32d --- /dev/null +++ b/patches/source/rsync/rsync.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=rsync +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-rsync +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf rsync-$VERSION +tar xvf $CWD/rsync-$VERSION.tar.?z || exit 1 +cd rsync-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit + +mv $PKG/usr/share/man $PKG/usr +rmdir $PKG/usr/share + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/rsync-$VERSION/popt +cp -a \ + COPYING* INSTALL NEWS README* TODO tech_report.tex \ + support \ + $PKG/usr/doc/rsync-$VERSION +( cd popt + cp -a CHANGES COPYING README README.rsync $PKG/usr/doc/rsync-$VERSION/popt +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/rsync-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/rsync/slack-desc b/patches/source/rsync/slack-desc new file mode 100644 index 000000000..7e3b7089a --- /dev/null +++ b/patches/source/rsync/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +rsync: rsync (remote file sync) +rsync: +rsync: rsync is a replacement for rcp that has many more features. It +rsync: uses the "rsync algorithm" which provides a very fast method for +rsync: bringing remote files into sync. It does this by sending just the +rsync: differences in the files across the link, without requiring that both +rsync: sets of files are present at one of the ends of the link beforehand. +rsync: rsync was written by Andrew Tridgell and Paul Mackerras. +rsync: +rsync: Homepage: http://rsync.samba.org +rsync: diff --git a/patches/source/ruby/ruby.SlackBuild b/patches/source/ruby/ruby.SlackBuild new file mode 100755 index 000000000..b20dae2ed --- /dev/null +++ b/patches/source/ruby/ruby.SlackBuild @@ -0,0 +1,130 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=ruby +VERSION=$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev) +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-ruby + +if [ "$ARCH" = "i486" ]; then + # -O3 works around a compile failure due to a miniruby segfault + # when trying to build ruby with gcc-4.4 or newer. Evidently + # -O0 also works, but... + # other distributions also use -fno-strict-aliasing which helps stability + SLKCFLAGS="-march=i486 -mtune=i686 -O3 -fno-strict-aliasing" + OPTFLAGS=-O3 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + # Unknown if s390 is needs -O3. Check to see if it compiles with -O2. + SLKCFLAGS="-O3 -fno-strict-aliasing" + OPTFLAGS=-O3 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O3 -fPIC -fno-strict-aliasing" + OPTFLAGS=-O3 + LIBDIRSUFFIX="64" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf ruby-$VERSION +tar xvf $CWD/ruby-$VERSION.tar.?z* || exit 1 +cd ruby-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Evidently certain things must be linked static. +# Seems suboptimal to me... + +CFLAGS="$SLKCFLAGS" \ +optflags=$OPTFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --datadir=/usr/share \ + --docdir=/usr/doc/ruby-$VERSION \ + --enable-shared \ + --enable-pthread \ + --disable-install-capi \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/ruby-$VERSION +cp -a \ + BSDL COPYING* *GPL* ChangeLog LEGAL NEWS README* ToDo \ + $PKG/usr/doc/ruby-$VERSION + +# The entire ChangeLog is excessive for most users: +cat $PKG/usr/doc/ruby-$VERSION/ChangeLog | head -n 1000 > $PKG/usr/doc/ruby-$VERSION/CL +mv $PKG/usr/doc/ruby-$VERSION/CL $PKG/usr/doc/ruby-$VERSION/ChangeLog + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +find $PKG | xargs file | grep -e "current ar archive" \ + | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/ruby-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz + diff --git a/patches/source/ruby/slack-desc b/patches/source/ruby/slack-desc new file mode 100644 index 000000000..13ffd7a3d --- /dev/null +++ b/patches/source/ruby/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +ruby: ruby (Interpreted object-oriented scripting language) +ruby: +ruby: Ruby is an interpreted scripting language for quick and easy +ruby: object-oriented programming. It has many features to process text +ruby: files and to do system management tasks (as in Perl). It is simple, +ruby: straight-forward, and extensible. +ruby: +ruby: Visit the Ruby project online at http://www.ruby-lang.org/ +ruby: +ruby: +ruby: diff --git a/patches/source/rxvt/rxvt-integer-overflow-fix.patch b/patches/source/rxvt/rxvt-integer-overflow-fix.patch new file mode 100644 index 000000000..edb13856e --- /dev/null +++ b/patches/source/rxvt/rxvt-integer-overflow-fix.patch @@ -0,0 +1,11 @@ +--- rxvt-2.7.10/src/command.c 2003-03-26 07:01:23.000000000 +0100 ++++ rxvt-2.7.10-patched/src/command.c 2017-04-27 12:06:05.682072274 +0200 +@@ -2096,7 +2096,7 @@ + i = ch - CSI_ICH; + ndef = get_byte_array_bit(csi_defaults, i); + for (p = 0; p < nargs; p++) +- if (arg[p] == -1) ++ if (arg[p] < 0 || arg[p] > 30000) + arg[p] = ndef; + + #ifdef DEBUG_CMD diff --git a/patches/source/rxvt/rxvt.SlackBuild b/patches/source/rxvt/rxvt.SlackBuild new file mode 100755 index 000000000..cf7f5060f --- /dev/null +++ b/patches/source/rxvt/rxvt.SlackBuild @@ -0,0 +1,127 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2012, 2017 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=rxvt +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-5_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i486 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-rxvt +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf rxvt-$VERSION +tar xvf $CWD/rxvt-$VERSION.tar.xz || exit 1 +cd rxvt-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/rxvt.utempter.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + +# Patch for CVE-2017-7483: +zcat $CWD/rxvt-integer-overflow-fix.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --enable-languages \ + --enable-utmp \ + --enable-wtmp \ + --enable-xpm-background \ + --enable-transparency \ + --enable-menubar \ + --enable-graphics \ + --enable-rxvt-scroll \ + --enable-next-scroll \ + --enable-xterm-scroll \ + --enable-xim \ + --enable-frills \ + --enable-linespace \ + --enable-24bit \ + --enable-keepscrolling \ + --enable-mousewheel \ + --enable-slipwheeling \ + --enable-xgetdefault \ + --enable-old-selection \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +rmdir $PKG/usr/lib $PKG/usr/include +rm $PKG/usr/bin/rxvt-$VERSION + +mkdir -p $PKG/usr/doc/rxvt-$VERSION +cp -a \ + rxvt-$VERSION.lsm doc rclock/rclock.html \ + $PKG/usr/doc/rxvt-$VERSION +rm -r $PKG/usr/doc/rxvt-$VERSION/doc/yodl + +gzip -9 $PKG/usr/man/man1/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/rxvt-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/rxvt/rxvt.utempter.diff b/patches/source/rxvt/rxvt.utempter.diff new file mode 100644 index 000000000..54e06f7af --- /dev/null +++ b/patches/source/rxvt/rxvt.utempter.diff @@ -0,0 +1,277 @@ +--- ./src/logging.c.orig 2002-12-15 16:33:04.000000000 -0800 ++++ ./src/logging.c 2003-06-07 21:08:52.000000000 -0700 +@@ -60,157 +60,7 @@ + void + rxvt_makeutent(rxvt_t *r, const char *pty, const char *hostname) + { +-#ifdef HAVE_STRUCT_UTMP +- struct utmp *ut = &(r->h->ut); +-#endif +-#ifdef HAVE_STRUCT_UTMPX +- struct utmpx *utx = &(r->h->utx); +-#endif +-#ifdef HAVE_UTMP_PID +- int i; +-#endif +- char ut_id[5]; +- struct passwd *pwent = getpwuid(getuid()); +- +- if (!STRNCMP(pty, "/dev/", 5)) +- pty += 5; /* skip /dev/ prefix */ +- +- if (!STRNCMP(pty, "pty", 3) || !STRNCMP(pty, "tty", 3)) { +- STRNCPY(ut_id, (pty + 3), sizeof(ut_id)); +- } +-#ifdef HAVE_UTMP_PID +- else if (sscanf(pty, "pts/%d", &i) == 1) +- sprintf(ut_id, "vt%02x", (i & 0xff)); /* sysv naming */ +-#endif +- else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) { +- rxvt_print_error("can't parse tty name \"%s\"", pty); +- return; +- } +- +-#ifdef HAVE_STRUCT_UTMP +- MEMSET(ut, 0, sizeof(struct utmp)); +-# ifdef HAVE_UTMP_PID +- setutent(); +- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id)); +- ut->ut_type = DEAD_PROCESS; +- getutid(ut); /* position to entry in utmp file */ +- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id)); +-# endif +-#endif +- +-#ifdef HAVE_STRUCT_UTMPX +- MEMSET(utx, 0, sizeof(struct utmpx)); +- setutxent(); +- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id)); +- utx->ut_type = DEAD_PROCESS; +- getutxid(utx); /* position to entry in utmp file */ +- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id)); +-#endif +- +-#ifdef HAVE_STRUCT_UTMP +- STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line)); +- ut->ut_time = time(NULL); +-# ifdef HAVE_UTMP_PID +- STRNCPY(ut->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?", +- sizeof(ut->ut_user)); +- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id)); +- ut->ut_time = time(NULL); +- ut->ut_pid = r->h->cmd_pid; +-# ifdef HAVE_UTMP_HOST +- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host)); +-# endif +- ut->ut_type = USER_PROCESS; +- pututline(ut); +- endutent(); /* close the file */ +- r->h->utmp_pos = -1; +-# else +- STRNCPY(ut->ut_name, (pwent && pwent->pw_name) ? pwent->pw_name : "?", +- sizeof(ut->ut_name)); +-# ifdef HAVE_UTMP_HOST +- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host)); +-# endif +-# endif +-#endif +- +-#ifdef HAVE_STRUCT_UTMPX +- STRNCPY(utx->ut_line, pty, sizeof(utx->ut_line)); +- STRNCPY(utx->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?", +- sizeof(utx->ut_user)); +- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id)); +- utx->ut_session = getsid(0); +- utx->ut_tv.tv_sec = time(NULL); +- utx->ut_tv.tv_usec = 0; +- utx->ut_pid = r->h->cmd_pid; +-# ifdef HAVE_UTMPX_HOST +- STRNCPY(utx->ut_host, hostname, sizeof(utx->ut_host)); +-# if 0 +- { +- char *colon; +- +- if ((colon = STRRCHR(ut->ut_host, ':')) != NULL) +- *colon = '\0'; +- } +-# endif +-# endif +- utx->ut_type = USER_PROCESS; +- pututxline(utx); +- endutxent(); /* close the file */ +- r->h->utmp_pos = -1; +-#endif +- +-#if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID) +- { +- int i; +-# ifdef HAVE_TTYSLOT +- i = ttyslot(); +- if (rxvt_write_bsd_utmp(i, ut)) +- r->h->utmp_pos = i; +-# else +- FILE *fd0; +- +- if ((fd0 = fopen(TTYTAB_FILENAME, "r")) != NULL) { +- char buf[256], name[256]; +- +- buf[sizeof(buf) - 1] = '\0'; +- for (i = 1; (fgets(buf, sizeof(buf) - 1, fd0) != NULL);) { +- if (*buf == '#' || sscanf(buf, "%s", name) != 1) +- continue; +- if (!STRCMP(ut->ut_line, name)) { +- if (!rxvt_write_bsd_utmp(i, ut)) +- i = 0; +- r->h->utmp_pos = i; +- fclose(fd0); +- break; +- } +- i++; +- } +- fclose(fd0); +- } +-# endif +- } +-#endif +- +-#ifdef WTMP_SUPPORT +-# ifdef WTMP_ONLY_ON_LOGIN +- if (r->Options & Opt_loginShell) +-# endif +- { +-# ifdef HAVE_STRUCT_UTMP +-# ifdef HAVE_UPDWTMP +- updwtmp(RXVT_WTMP_FILE, ut); +-# else +- rxvt_update_wtmp(RXVT_WTMP_FILE, ut); +-# endif +-# endif +-# ifdef HAVE_STRUCT_UTMPX +- updwtmpx(RXVT_WTMPX_FILE, utx); +-# endif +- } +-#endif +-#if defined(LASTLOG_SUPPORT) && defined(RXVT_LASTLOG_FILE) +- if (r->Options & Opt_loginShell) +- rxvt_update_lastlog(RXVT_LASTLOG_FILE, pty, hostname); +-#endif ++ addToUtmp(pty, NULL, r->cmd_fd); + } + + /* ------------------------------------------------------------------------- */ +@@ -221,85 +71,7 @@ + void + rxvt_cleanutent(rxvt_t *r) + { +-#ifdef HAVE_STRUCT_UTMP +- struct utmp *tmput, *ut = &(r->h->ut); +-#endif +-#ifdef HAVE_STRUCT_UTMPX +- struct utmpx *tmputx, *utx = &(r->h->utx); +-#endif +- +-#ifdef HAVE_STRUCT_UTMP +-# ifdef HAVE_UTMP_PID +- MEMSET(ut, 0, sizeof(struct utmp)); +- setutent(); +- STRNCPY(ut->ut_id, r->h->ut_id, sizeof(ut->ut_id)); +- ut->ut_type = USER_PROCESS; +- if ((tmput = getutid(ut))) /* position to entry in utmp file */ +- ut = tmput; +- ut->ut_type = DEAD_PROCESS; +-# else +- MEMSET(ut->ut_name, 0, sizeof(ut->ut_name)); +-# ifdef HAVE_UTMP_HOST +- MEMSET(ut->ut_host, 0, sizeof(ut->ut_host)); +-# endif +-# endif +- ut->ut_time = time(NULL); +-#endif +- +-#ifdef HAVE_STRUCT_UTMPX +- MEMSET(utx, 0, sizeof(struct utmpx)); +- setutxent(); +- STRNCPY(utx->ut_id, r->h->ut_id, sizeof(utx->ut_id)); +- utx->ut_type = USER_PROCESS; +- if ((tmputx = getutxid(utx))) /* position to entry in utmp file */ +- utx = tmputx; +- utx->ut_type = DEAD_PROCESS; +- utx->ut_session = getsid(0); +- utx->ut_tv.tv_sec = time(NULL); +- utx->ut_tv.tv_usec = 0; +-#endif +- +- /* +- * Write ending wtmp entry +- */ +-#ifdef WTMP_SUPPORT +-# ifdef WTMP_ONLY_ON_LOGIN +- if (r->Options & Opt_loginShell) +-# endif +- { +-# ifdef HAVE_STRUCT_UTMP +-# ifdef HAVE_UPDWTMP +- updwtmp(RXVT_WTMP_FILE, ut); +-# else +- rxvt_update_wtmp(RXVT_WTMP_FILE, ut); +-# endif +-# endif +-# ifdef HAVE_STRUCT_UTMPX +- updwtmpx(RXVT_WTMPX_FILE, utx); +-# endif +- } +-#endif +- +- /* +- * Write utmp entry +- */ +-#ifdef HAVE_STRUCT_UTMP +-# ifdef HAVE_UTMP_PID +- if (ut->ut_pid == r->h->cmd_pid) +- pututline(ut); +- endutent(); +-# else +- if (r->h->utmp_pos > 0) { +- MEMSET(ut, 0, sizeof(struct utmp)); +- rxvt_write_bsd_utmp(r->h->utmp_pos, ut); +- } +-# endif +-#endif +-#ifdef HAVE_STRUCT_UTMPX +- if (utx->ut_pid == r->h->cmd_pid) +- pututxline(utx); +- endutxent(); +-#endif ++ removeFromUtmp(); + } + + /* ------------------------------------------------------------------------- */ +--- ./src/init.c.orig 2002-12-03 21:21:39.000000000 -0800 ++++ ./src/init.c 2003-06-07 21:09:26.000000000 -0700 +@@ -858,6 +858,7 @@ + rxvt_print_error("aborting"); + exit(EXIT_FAILURE); + } ++ rxvt_privileged_utmp(r, SAVE); + } + + /*----------------------------------------------------------------------*/ +@@ -1364,7 +1365,6 @@ + #endif + r->num_fds++; /* counts from 0 */ + +- rxvt_privileged_utmp(r, SAVE); + return cfd; + } + +--- ./autoconf/Make.common.in.orig 2001-11-29 19:22:56.000000000 -0800 ++++ ./autoconf/Make.common.in 2003-06-07 21:08:52.000000000 -0700 +@@ -68,7 +68,7 @@ + + LIBTOOL = @LIBTOOL@ + COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEBUG) $(DINCLUDE) $(XINC) -I$(basedir) -I$(srcdir) -I. +-LINK = $(CC) $(CFLAGS) $(LDFLAGS) ++LINK = $(CC) $(CFLAGS) $(LDFLAGS) -lutempter -lutil + + # End of common section of the Makefile + #------------------------------------------------------------------------- diff --git a/patches/source/rxvt/slack-desc b/patches/source/rxvt/slack-desc new file mode 100644 index 000000000..5f278d61c --- /dev/null +++ b/patches/source/rxvt/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +rxvt: rxvt (terminal emulator) +rxvt: +rxvt: rxvt is a color vt102 terminal emulator intended as an xterm +rxvt: replacement for users who do not require features such as Tektronix +rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt +rxvt: uses much less memory -- a significant advantage on a machine serving +rxvt: many X sessions. Also included is rclock, an analog clock for X. +rxvt: +rxvt: +rxvt: +rxvt: diff --git a/patches/source/samba/doinst.sh b/patches/source/samba/doinst.sh new file mode 100644 index 000000000..01b5d4502 --- /dev/null +++ b/patches/source/samba/doinst.sh @@ -0,0 +1,18 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/rc.d/rc.samba.new +config etc/samba/lmhosts.new +# Commented out 2014-09-15 just in case we do need to change this. +## This won't be needed. The point here is to preserve the permissions of the existing +## file, if there is one. I don't see major new development happening in rc.samba... ;-) +#rm -f etc/rc.d/rc.samba.new diff --git a/patches/source/samba/pytalloc-util.pc b/patches/source/samba/pytalloc-util.pc new file mode 100644 index 000000000..800a9a815 --- /dev/null +++ b/patches/source/samba/pytalloc-util.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: pytalloc-util +Description: Utility functions for using talloc objects with Python +Version: 2.0.8 +Libs: -L${libdir} -lpytalloc-util +Cflags: -Wl,-rpath,/usr/lib -I${includedir} +URL: http://talloc.samba.org/ diff --git a/patches/source/samba/rc.samba b/patches/source/samba/rc.samba new file mode 100644 index 000000000..7fd2b61be --- /dev/null +++ b/patches/source/samba/rc.samba @@ -0,0 +1,46 @@ +#!/bin/sh +# +# /etc/rc.d/rc.samba +# +# Start/stop/restart the Samba SMB file/print server. +# +# To make Samba start automatically at boot, make this +# file executable: chmod 755 /etc/rc.d/rc.samba +# + +samba_start() { + if [ -x /usr/sbin/smbd -a -x /usr/sbin/nmbd -a -r /etc/samba/smb.conf ]; then + mkdir -p /var/run/samba + echo "Starting Samba: /usr/sbin/smbd -D" + /usr/sbin/smbd -D + echo " /usr/sbin/nmbd -D" + /usr/sbin/nmbd -D + fi +} + +samba_stop() { + killall smbd nmbd +} + +samba_restart() { + samba_stop + sleep 2 + samba_start +} + +case "$1" in +'start') + samba_start + ;; +'stop') + samba_stop + ;; +'restart') + samba_restart + ;; +*) + # Default is "start", for backwards compatibility with previous + # Slackware versions. This may change to a 'usage' error someday. + samba_start +esac + diff --git a/patches/source/samba/samba-4.4.16-CVE-2018-1057.patch b/patches/source/samba/samba-4.4.16-CVE-2018-1057.patch new file mode 100644 index 000000000..8d4c0c0e0 --- /dev/null +++ b/patches/source/samba/samba-4.4.16-CVE-2018-1057.patch @@ -0,0 +1,903 @@ +From 6ff2935f6a1bb2bdfb45beea07d4cb7c69c66a74 Mon Sep 17 00:00:00 2001 +From: Ralph Boehme +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..5b0125fd2 --- /dev/null +++ b/patches/source/samba/samba.SlackBuild @@ -0,0 +1,224 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2012 by Eric Hameleers for ARM port. + + +VERSION=${VERSION:-$(echo samba-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.0} + +if [ -e $CWD/machine.conf ]; then + . $CWD/machine.conf ] +elif [ -e /etc/slackbuild/machine.conf ]; then + . /etc/slackbuild/machine.conf ] +else + # Automatically determine the architecture we're building on: + if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac + fi + # Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: + if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + fi +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-samba +rm -rf $PKG +mkdir -p $TMP $PKG + +if [ -r /usr/lib${LIBDIRSUFFIX}/libtalloc.so.? -a ! -r /var/log/packages/talloc* ]; then + echo "The Samba package needs to be removed before building to ensure that" + echo "talloc (and possibly other bundled libraries) are included in the build." + echo + echo "Removing the Samba package in 15 seconds, and then continuing with the build." + sleep 15 + removepkg samba +fi + +cd $TMP +rm -rf samba-$VERSION +tar xvf $CWD/samba-$VERSION.tar.xz || exit 1 +cd samba-$VERSION || exit 1 + +# Patch to install talloc/tevent/tdb libraries and includes: +zcat $CWD/samba.install.talloc.tevent.tdb.diff.gz | patch -p1 --verbose || exit 1 + +# Patch CVE-2017-14746 and CVE-2017-15275: +zcat $CWD/samba-4.5.14-security-2017-11-21.patch.gz | patch -p1 --verbose || exit 1 + +# Patch CVE-2018-1057: +zcat $CWD/samba-4.4.16-CVE-2018-1057.patch.gz | patch -p1 --verbose || exit 1 + +if [ ! -d source3/lib/cmdline ]; then + ( cd source3/lib + mkdir cmdline + cd cmdline + ln -sf ../../../source3/include/popt_common.h . ) +fi + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Some of these options could be auto-detected, but declaring them +# here doesn't hurt and helps document what features we're trying to +# build in. +# +# LDFLAGS are needed to avoid problems with missing symbols. +LDFLAGS="-Wl,--no-as-needed" \ +CFLAGS="$SLKCFLAGS" \ +./configure \ + --enable-fhs \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --includedir=/usr/include \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --with-configdir=/etc/samba \ + --with-piddir=/var/run \ + --with-privatedir=/etc/samba/private \ + --with-privatelibdir=/usr/lib${LIBDIRSUFFIX} \ + --with-modulesdir=/usr/lib${LIBDIRSUFFIX} \ + --with-lockdir=/var/cache/samba \ + --with-logfilebase=/var/log/samba \ + --localstatedir=/var \ + --enable-cups \ + --with-acl-support \ + --with-automount \ + --with-quotas \ + --with-syslog \ + --with-utmp \ + --with-winbind \ + --with-ldap \ + --with-ads \ + --without-pam \ + --build=$TARGET + # Gives errors: + #--builtin-libraries=replace,ccan \ + #--bundled-libraries=heimdal \ + +# -j options don't seem to work... [Yes they do! At least try to use -j below...] +JOBS=6 +MAXJOBS=6 +export JOBS MAXJOBS +make -j $MAXJOBS || make || exit 1 + +mkdir -p \ + $PKG/usr/doc/samba-$VERSION \ + $PKG/var/spool/samba \ + $PKG/var/log/samba \ + $PKG/etc/samba/private \ + $PKG/var/cache/samba +chmod 700 $PKG/etc/samba/private +chmod 1777 $PKG/var/spool/samba + +make install DESTDIR=$PKG || exit 1 + +# Install the smbprint script: +install -m0744 packaging/printing/smbprint $PKG/usr/bin/smbprint + +# Add a sample config file: +cat $CWD/smb.conf.default > $PKG/etc/samba/smb.conf-sample + +# Setup a default lmhosts file: +echo "127.0.0.1 localhost" > $PKG/etc/samba/lmhosts.new + +if [ ! -r $PKG/usr/bin/smbget ]; then + rm -f $PKG/usr/share/man/man1/smbget.1 +fi + +# We'll add rc.samba to the init directory, but chmod 644 so that it doesn't +# start by default: +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.samba > $PKG/etc/rc.d/rc.samba.new +chmod 644 $PKG/etc/rc.d/rc.samba.new + +mv $PKG/usr/share/man $PKG/usr +gzip -9 $PKG/usr/man/man?/*.? + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# PAM related stuff we don't use: +rm -r $PKG/usr/share/locale +rm -f $PKG/usr/man/man8/pam* + +cp -a \ + COPYING* MAINTAINERS Manifest PFIF.txt README* \ + Read-Manifest-Now Roadmap WHATSNEW.txt docs examples \ + $PKG/usr/doc/samba-$VERSION +# These are installed elsewhere: +rm -rf $PKG/usr/doc/samba-$VERSION/docs/htmldocs \ + $PKG/usr/doc/samba-$VERSION/docs/manpages +# Empty now? +rmdir $PKG/usr/doc/samba-$VERSION/docs 2> /dev/null +# I'm sorry, but when all this info is included in HTML, adding 7MB worth of +# PDF files just to have extra artwork is more fluff than I'll agree to. +rm -f $PKG/usr/doc/samba-$VERSION/docs/*.pdf +# Also redundant also: +rm -rf $PKG/usr/doc/samba-$VERSION/docs/docbook + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cat << EOF + +*** Be sure the package contains: + +drwx------ 2 root root 1024 Mar 12 13:21 /etc/samba/private +drwxr-xr-x 2 root root 4096 May 3 15:46 /var/cache/samba/ +drwxr-xr-x 2 root root 48 Aug 29 13:06 /var/log/samba/ +drwxrwxrwt 2 root root 1024 Mar 12 13:21 /var/spool/samba/ + +EOF + +cd $PKG +/sbin/makepkg -l y -c n $TMP/samba-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/samba/samba.install.talloc.tevent.tdb.diff b/patches/source/samba/samba.install.talloc.tevent.tdb.diff new file mode 100644 index 000000000..9410f2b71 --- /dev/null +++ b/patches/source/samba/samba.install.talloc.tevent.tdb.diff @@ -0,0 +1,102 @@ +--- ./lib/tevent/wscript.orig 2016-03-08 05:07:45.000000000 -0600 ++++ ./lib/tevent/wscript 2016-04-11 12:45:14.299532166 -0500 +@@ -92,11 +92,8 @@ + if bld.CONFIG_SET('HAVE_SOLARIS_PORTS'): + SRC += ' tevent_port.c' + +- if bld.env.standalone_tevent: +- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' +- private_library = False +- else: +- private_library = True ++ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' ++ private_library = False + + if not bld.CONFIG_SET('USING_SYSTEM_TEVENT'): + bld.SAMBA_LIBRARY('tevent', +--- ./lib/tdb/wscript.orig 2016-01-26 05:45:46.000000000 -0600 ++++ ./lib/tdb/wscript 2016-04-11 12:45:14.301532166 -0500 +@@ -117,11 +117,8 @@ + + COMMON_SRC = bld.SUBDIR('common', COMMON_FILES) + +- if bld.env.standalone_tdb: +- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' +- private_library = False +- else: +- private_library = True ++ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' ++ private_library = False + + if not bld.CONFIG_SET('USING_SYSTEM_TDB'): + +--- ./lib/talloc/wscript.orig 2016-04-11 12:45:14.295532166 -0500 ++++ ./lib/talloc/wscript 2016-04-11 12:45:26.761531768 -0500 +@@ -77,41 +77,39 @@ + def build(bld): + bld.RECURSE('lib/replace') + +- if bld.env.standalone_talloc: +- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' +- bld.env.TALLOC_VERSION = VERSION +- private_library = False +- +- # should we also install the symlink to libtalloc1.so here? +- bld.SAMBA_LIBRARY('talloc-compat1-%s' % (VERSION), +- 'compat/talloc_compat1.c', +- public_deps='talloc', +- soname='libtalloc.so.1', +- pc_files=[], +- public_headers=[], +- enabled=bld.env.TALLOC_COMPAT1) +- +- testsuite_deps = 'talloc' +- if bld.CONFIG_SET('HAVE_PTHREAD'): +- testsuite_deps += ' pthread' +- +- bld.SAMBA_BINARY('talloc_testsuite', +- 'testsuite_main.c testsuite.c', +- testsuite_deps, +- install=False) +- +- bld.SAMBA_BINARY('talloc_test_magic_differs_helper', +- 'test_magic_differs_helper.c', +- 'talloc', install=False) ++ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' ++ bld.env.TALLOC_VERSION = VERSION ++ private_library = False ++ ++ # should we also install the symlink to libtalloc1.so here? ++ bld.SAMBA_LIBRARY('talloc-compat1-%s' % (VERSION), ++ 'compat/talloc_compat1.c', ++ public_deps='talloc', ++ soname='libtalloc.so.1', ++ pc_files=[], ++ public_headers=[], ++ enabled=bld.env.TALLOC_COMPAT1) ++ ++ testsuite_deps = 'talloc' ++ if bld.CONFIG_SET('HAVE_PTHREAD'): ++ testsuite_deps += ' pthread' ++ ++ bld.SAMBA_BINARY('talloc_testsuite', ++ 'testsuite_main.c testsuite.c', ++ testsuite_deps, ++ install=False) ++ ++ bld.SAMBA_BINARY('talloc_test_magic_differs_helper', ++ 'test_magic_differs_helper.c', ++ 'talloc', install=False) + +- else: +- private_library = True + + if not bld.CONFIG_SET('USING_SYSTEM_TALLOC'): + + bld.SAMBA_LIBRARY('talloc', + 'talloc.c', + deps='replace', ++ includes='.', + abi_directory='ABI', + abi_match='talloc* _talloc*', + hide_symbols=True, diff --git a/patches/source/samba/samba.url b/patches/source/samba/samba.url new file mode 100644 index 000000000..2b35c1fb0 --- /dev/null +++ b/patches/source/samba/samba.url @@ -0,0 +1,2 @@ +https://download.samba.org/pub/samba/stable/samba-4.4.16.tar.gz +https://download.samba.org/pub/samba/stable/samba-4.4.16.tar.asc diff --git a/patches/source/samba/slack-desc b/patches/source/samba/slack-desc new file mode 100644 index 000000000..f4352c607 --- /dev/null +++ b/patches/source/samba/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +samba: samba (CIFS file and print server) +samba: +samba: Samba is a CIFS file and print server for CIFS clients. It allows +samba: you to make file space or printers on a Samba host available to CIFS +samba: clients (such as PCs running Windows). +samba: +samba: If you have any Windows file servers, you may be able to replace them +samba: or supplement them with Samba. One of Samba's big strengths is +samba: integration, so you can use it to tie together your Linux hosts and +samba: Windows PC clients. +samba: diff --git a/patches/source/samba/smb.conf.default b/patches/source/samba/smb.conf.default new file mode 100644 index 000000000..c41cfff60 --- /dev/null +++ b/patches/source/samba/smb.conf.default @@ -0,0 +1,223 @@ +# This is the main Samba configuration file. You should read the +# smb.conf(5) manual page in order to understand the options listed +# here. Samba has a huge number of configurable options (perhaps too +# many!) most of which are not shown in this example +# +# For a step to step guide on installing, configuring and using samba, +# read the Samba-HOWTO-Collection. This may be obtained from: +# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf +# +# Many working examples of smb.conf files can be found in the +# Samba-Guide which is generated daily and can be downloaded from: +# http://www.samba.org/samba/docs/Samba-Guide.pdf +# +# Any line which starts with a ; (semi-colon) or a # (hash) +# is a comment and is ignored. In this example we will use a # +# for commentry and a ; for parts of the config file that you +# may wish to enable +# +# NOTE: Whenever you modify this file you should run the command "testparm" +# to check that you have not made any basic syntactic errors. +# +#======================= Global Settings ===================================== +[global] + +# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2 + workgroup = MYGROUP + +# server string is the equivalent of the NT Description field + server string = Samba Server + +# Server role. Defines in which mode Samba will operate. Possible +# values are "standalone server", "member server", "classic primary +# domain controller", "classic backup domain controller", "active +# directory domain controller". +# +# Most people will want "standalone sever" or "member server". +# Running as "active directory domain controller" will require first +# running "samba-tool domain provision" to wipe databases and create a +# new domain. + server role = standalone server + +# This option is important for security. It allows you to restrict +# connections to machines which are on your local network. The +# following example restricts access to two C class networks and +# the "loopback" interface. For more examples of the syntax see +# the smb.conf man page +; hosts allow = 192.168.1. 192.168.2. 127. + +# Uncomment this if you want a guest account, you must add this to /etc/passwd +# otherwise the user "nobody" is used +; guest account = pcguest + +# this tells Samba to use a separate log file for each machine +# that connects + log file = /var/log/samba.%m + +# Put a capping on the size of the log files (in Kb). + max log size = 50 + +# Specifies the Kerberos or Active Directory realm the host is part of +; realm = MY_REALM + +# Backend to store user information in. New installations should +# use either tdbsam or ldapsam. smbpasswd is available for backwards +# compatibility. tdbsam requires no further configuration. +; passdb backend = tdbsam + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting. +# Note: Consider carefully the location in the configuration file of +# this line. The included file is read at that point. +; include = /usr/local/samba/lib/smb.conf.%m + +# Configure Samba to use multiple interfaces +# If you have multiple network interfaces then you must list them +# here. See the man page for details. +; interfaces = 192.168.12.2/24 192.168.13.2/24 + +# Where to store roving profiles (only for Win95 and WinNT) +# %L substitutes for this servers netbios name, %U is username +# You must uncomment the [Profiles] share below +; logon path = \\%L\Profiles\%U + +# Windows Internet Name Serving Support Section: +# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server +; wins support = yes + +# WINS Server - Tells the NMBD components of Samba to be a WINS Client +# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both +; wins server = w.x.y.z + +# WINS Proxy - Tells Samba to answer name resolution queries on +# behalf of a non WINS capable client, for this to work there must be +# at least one WINS Server on the network. The default is NO. +; wins proxy = yes + +# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names +# via DNS nslookups. The default is NO. + dns proxy = no + +# These scripts are used on a domain controller or stand-alone +# machine to add or delete corresponding unix accounts +; add user script = /usr/sbin/useradd %u +; add group script = /usr/sbin/groupadd %g +; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u +; delete user script = /usr/sbin/userdel %u +; delete user from group script = /usr/sbin/deluser %u %g +; delete group script = /usr/sbin/groupdel %g + + +#============================ Share Definitions ============================== +[homes] + comment = Home Directories + browseable = no + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +; [netlogon] +; comment = Network Logon Service +; path = /usr/local/samba/lib/netlogon +; guest ok = yes +; writable = no +; share modes = no + + +# Un-comment the following to provide a specific roving profile share +# the default is to use the user's home directory +;[Profiles] +; path = /usr/local/samba/profiles +; browseable = no +; guest ok = yes + + +# NOTE: If you have a BSD-style print system there is no need to +# specifically define each individual printer +[printers] + comment = All Printers + path = /var/spool/samba + browseable = no +# Set public = yes to allow user 'guest account' to print + guest ok = no + writable = no + printable = yes + +# This one is useful for people to share files +;[tmp] +; comment = Temporary file space +; path = /tmp +; read only = no +; public = yes + +# A publicly accessible directory, but read only, except for people in +# the "staff" group +;[public] +; comment = Public Stuff +; path = /home/samba +; public = yes +; writable = no +; printable = no +; write list = @staff + +# Other examples. +# +# A private printer, usable only by fred. Spool data will be placed in fred's +# home directory. Note that fred must have write access to the spool directory, +# wherever it is. +;[fredsprn] +; comment = Fred's Printer +; valid users = fred +; path = /homes/fred +; printer = freds_printer +; public = no +; writable = no +; printable = yes + +# A private directory, usable only by fred. Note that fred requires write +# access to the directory. +;[fredsdir] +; comment = Fred's Service +; path = /usr/somewhere/private +; valid users = fred +; public = no +; writable = yes +; printable = no + +# a service which has a different directory for each machine that connects +# this allows you to tailor configurations to incoming machines. You could +# also use the %U option to tailor it by user name. +# The %m gets replaced with the machine name that is connecting. +;[pchome] +; comment = PC Directories +; path = /usr/pc/%m +; public = no +; writable = yes + +# A publicly accessible directory, read/write to all users. Note that all files +# created in the directory by users will be owned by the default user, so +# any user with access can delete any other user's files. Obviously this +# directory must be writable by the default user. Another user could of course +# be specified, in which case all files would be owned by that user instead. +;[public] +; path = /usr/somewhere/else/public +; public = yes +; only guest = yes +; writable = yes +; printable = no + +# The following two entries demonstrate how to share a directory so that two +# users can place files there that will be owned by the specific users. In this +# setup, the directory should be writable by both users and should have the +# sticky bit set on it to prevent abuse. Obviously this could be extended to +# as many users as required. +;[myshare] +; comment = Mary's and Fred's stuff +; path = /usr/somewhere/shared +; valid users = mary fred +; public = no +; writable = yes +; printable = no +; create mask = 0765 + + diff --git a/patches/source/samba/smb.conf.default.orig b/patches/source/samba/smb.conf.default.orig new file mode 100644 index 000000000..bb9c2e25e --- /dev/null +++ b/patches/source/samba/smb.conf.default.orig @@ -0,0 +1,223 @@ +# This is the main Samba configuration file. You should read the +# smb.conf(5) manual page in order to understand the options listed +# here. Samba has a huge number of configurable options (perhaps too +# many!) most of which are not shown in this example +# +# For a step to step guide on installing, configuring and using samba, +# read the Samba-HOWTO-Collection. This may be obtained from: +# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf +# +# Many working examples of smb.conf files can be found in the +# Samba-Guide which is generated daily and can be downloaded from: +# http://www.samba.org/samba/docs/Samba-Guide.pdf +# +# Any line which starts with a ; (semi-colon) or a # (hash) +# is a comment and is ignored. In this example we will use a # +# for commentry and a ; for parts of the config file that you +# may wish to enable +# +# NOTE: Whenever you modify this file you should run the command "testparm" +# to check that you have not made any basic syntactic errors. +# +#======================= Global Settings ===================================== +[global] + +# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH + workgroup = MYGROUP + +# server string is the equivalent of the NT Description field + server string = Samba Server + +# Server role. Defines in which mode Samba will operate. Possible +# values are "standalone server", "member server", "classic primary +# domain controller", "classic backup domain controller", "active +# directory domain controller". +# +# Most people will want "standalone sever" or "member server". +# Running as "active directory domain controller" will require first +# running "samba-tool domain provision" to wipe databases and create a +# new domain. + server role = standalone server + +# This option is important for security. It allows you to restrict +# connections to machines which are on your local network. The +# following example restricts access to two C class networks and +# the "loopback" interface. For more examples of the syntax see +# the smb.conf man page +; hosts allow = 192.168.1. 192.168.2. 127. + +# Uncomment this if you want a guest account, you must add this to /etc/passwd +# otherwise the user "nobody" is used +; guest account = pcguest + +# this tells Samba to use a separate log file for each machine +# that connects + log file = /usr/local/samba/var/log.%m + +# Put a capping on the size of the log files (in Kb). + max log size = 50 + +# Specifies the Kerberos or Active Directory realm the host is part of +; realm = MY_REALM + +# Backend to store user information in. New installations should +# use either tdbsam or ldapsam. smbpasswd is available for backwards +# compatibility. tdbsam requires no further configuration. +; passdb backend = tdbsam + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting. +# Note: Consider carefully the location in the configuration file of +# this line. The included file is read at that point. +; include = /usr/local/samba/lib/smb.conf.%m + +# Configure Samba to use multiple interfaces +# If you have multiple network interfaces then you must list them +# here. See the man page for details. +; interfaces = 192.168.12.2/24 192.168.13.2/24 + +# Where to store roving profiles (only for Win95 and WinNT) +# %L substitutes for this servers netbios name, %U is username +# You must uncomment the [Profiles] share below +; logon path = \\%L\Profiles\%U + +# Windows Internet Name Serving Support Section: +# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server +; wins support = yes + +# WINS Server - Tells the NMBD components of Samba to be a WINS Client +# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both +; wins server = w.x.y.z + +# WINS Proxy - Tells Samba to answer name resolution queries on +# behalf of a non WINS capable client, for this to work there must be +# at least one WINS Server on the network. The default is NO. +; wins proxy = yes + +# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names +# via DNS nslookups. The default is NO. + dns proxy = no + +# These scripts are used on a domain controller or stand-alone +# machine to add or delete corresponding unix accounts +; add user script = /usr/sbin/useradd %u +; add group script = /usr/sbin/groupadd %g +; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u +; delete user script = /usr/sbin/userdel %u +; delete user from group script = /usr/sbin/deluser %u %g +; delete group script = /usr/sbin/groupdel %g + + +#============================ Share Definitions ============================== +[homes] + comment = Home Directories + browseable = no + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +; [netlogon] +; comment = Network Logon Service +; path = /usr/local/samba/lib/netlogon +; guest ok = yes +; writable = no +; share modes = no + + +# Un-comment the following to provide a specific roving profile share +# the default is to use the user's home directory +;[Profiles] +; path = /usr/local/samba/profiles +; browseable = no +; guest ok = yes + + +# NOTE: If you have a BSD-style print system there is no need to +# specifically define each individual printer +[printers] + comment = All Printers + path = /usr/spool/samba + browseable = no +# Set public = yes to allow user 'guest account' to print + guest ok = no + writable = no + printable = yes + +# This one is useful for people to share files +;[tmp] +; comment = Temporary file space +; path = /tmp +; read only = no +; public = yes + +# A publicly accessible directory, but read only, except for people in +# the "staff" group +;[public] +; comment = Public Stuff +; path = /home/samba +; public = yes +; writable = no +; printable = no +; write list = @staff + +# Other examples. +# +# A private printer, usable only by fred. Spool data will be placed in fred's +# home directory. Note that fred must have write access to the spool directory, +# wherever it is. +;[fredsprn] +; comment = Fred's Printer +; valid users = fred +; path = /homes/fred +; printer = freds_printer +; public = no +; writable = no +; printable = yes + +# A private directory, usable only by fred. Note that fred requires write +# access to the directory. +;[fredsdir] +; comment = Fred's Service +; path = /usr/somewhere/private +; valid users = fred +; public = no +; writable = yes +; printable = no + +# a service which has a different directory for each machine that connects +# this allows you to tailor configurations to incoming machines. You could +# also use the %U option to tailor it by user name. +# The %m gets replaced with the machine name that is connecting. +;[pchome] +; comment = PC Directories +; path = /usr/pc/%m +; public = no +; writable = yes + +# A publicly accessible directory, read/write to all users. Note that all files +# created in the directory by users will be owned by the default user, so +# any user with access can delete any other user's files. Obviously this +# directory must be writable by the default user. Another user could of course +# be specified, in which case all files would be owned by that user instead. +;[public] +; path = /usr/somewhere/else/public +; public = yes +; only guest = yes +; writable = yes +; printable = no + +# The following two entries demonstrate how to share a directory so that two +# users can place files there that will be owned by the specific users. In this +# setup, the directory should be writable by both users and should have the +# sticky bit set on it to prevent abuse. Obviously this could be extended to +# as many users as required. +;[myshare] +; comment = Mary's and Fred's stuff +; path = /usr/somewhere/shared +; valid users = mary fred +; public = no +; writable = yes +; printable = no +; create mask = 0765 + + diff --git a/patches/source/samba/smb.conf.diff b/patches/source/samba/smb.conf.diff new file mode 100644 index 000000000..b08d2b12d --- /dev/null +++ b/patches/source/samba/smb.conf.diff @@ -0,0 +1,29 @@ +--- smb.conf.default.orig 2013-06-13 04:21:02.000000000 -0500 ++++ smb.conf.default 2013-10-15 20:02:31.684043875 -0500 +@@ -22,7 +22,7 @@ + #======================= Global Settings ===================================== + [global] + +-# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH ++# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2 + workgroup = MYGROUP + + # server string is the equivalent of the NT Description field +@@ -52,7 +52,7 @@ + + # this tells Samba to use a separate log file for each machine + # that connects +- log file = /usr/local/samba/var/log.%m ++ log file = /var/log/samba.%m + + # Put a capping on the size of the log files (in Kb). + max log size = 50 +@@ -136,7 +136,7 @@ + # specifically define each individual printer + [printers] + comment = All Printers +- path = /usr/spool/samba ++ path = /var/spool/samba + browseable = no + # Set public = yes to allow user 'guest account' to print + guest ok = no diff --git a/patches/source/samba/talloc.pc b/patches/source/samba/talloc.pc new file mode 100644 index 000000000..125977d19 --- /dev/null +++ b/patches/source/samba/talloc.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: talloc +Description: A hierarchical pool based memory system with destructors +Version: 2.0.8 +Libs: -Wl,-rpath,/usr/lib -L${libdir} -ltalloc +Cflags: -I${includedir} +URL: http://talloc.samba.org/ diff --git a/patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch b/patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000..7d3e5acfc --- /dev/null +++ b/patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch @@ -0,0 +1,23 @@ +--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 ++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 +@@ -423,12 +423,15 @@ + if ( xevent.xcrossing.mode == NotifyUngrab ) + printf("Mode: NotifyUngrab\n"); + #endif +- if ( this->input_grab == SDL_GRAB_OFF ) { +- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ if ( (xevent.xcrossing.mode != NotifyGrab) && ++ (xevent.xcrossing.mode != NotifyUngrab) ) { ++ if ( this->input_grab == SDL_GRAB_OFF ) { ++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ } ++ posted = SDL_PrivateMouseMotion(0, 0, ++ xevent.xcrossing.x, ++ xevent.xcrossing.y); + } +- posted = SDL_PrivateMouseMotion(0, 0, +- xevent.xcrossing.x, +- xevent.xcrossing.y); + } + break; + diff --git a/patches/source/sdl/sdl.SlackBuild b/patches/source/sdl/sdl.SlackBuild new file mode 100755 index 000000000..0a021e833 --- /dev/null +++ b/patches/source/sdl/sdl.SlackBuild @@ -0,0 +1,253 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=${VERSION:-$(echo SDL-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +IMAGE=${IMAGE:-$(echo SDL_image-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +MIXER=${MIXER:-$(echo SDL_mixer-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +NET=${NET:-$(echo SDL_net-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +TTF=${TTF:-$(echo SDL_ttf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} + +BUILD=${BUILD:-6_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-sdl + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf sdl-$VERSION +tar xf $CWD/SDL-$VERSION.tar.?z* || exit 1 +cd SDL-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/sdl.linux-2.6.31.input_absinfo.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/sdl-1.2.14-fix-mouse-clicking.patch.gz | patch -p1 --verbose || exit 1 + +# We must use --disable-x11-shared or programs linked with SDL will +# crash on machines that use the closed source nVidia drivers. + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --disable-arts \ + --disable-esd \ + --enable-shared=yes \ + --enable-static=no \ + --disable-x11-shared + +make $NUMJOBS || make || exit 1 + +# Spam /, for mixer/image later on: +make install +# install to package: +make install DESTDIR=$PKG || exit 1 +mkdir -p $PKG/usr/doc/SDL-$VERSION/html +cp -a docs/index.html $PKG/usr/doc/SDL-$VERSION +cp -a docs/html/*.html $PKG/usr/doc/SDL-$VERSION/html +cp -a \ + BUGS COPYING CREDITS INSTALL README* TODO WhatsNew \ + $PKG/usr/doc/SDL-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Add SDL_image: +cd $TMP +rm -rf SDL_image-$IMAGE +tar xf $CWD/SDL_image-$IMAGE.tar.?z* || exit 1 +cd SDL_image-$IMAGE +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# we don't want sdl to load the libs with dlopen(), gcc is smarter... +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --enable-shared=yes \ + --enable-static=no \ + --enable-jpg-shared=no \ + --enable-png-shared=no \ + --enable-tif-shared=no + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +mkdir -p $PKG/usr/doc/SDL_image-$IMAGE +cp -a \ + CHANGES COPYING README \ + $PKG/usr/doc/SDL_image-$IMAGE + +# Add SDL_mixer: +cd $TMP +rm -rf SDL_mixer-$MIXER +tar xf $CWD/SDL_mixer-$MIXER.tar.?z* || exit 1 +cd SDL_mixer-$MIXER + +# Fix default library path. Don't use /usr/local, and use lib64 where needed: +sed -i "s,usr/local/lib,usr/lib${LIBDIRSUFFIX},g" timidity/config.h + +# Install patched static libmikmod: +unzip libmikmod-3.1.12.zip +( cd libmikmod-3.1.12.patched + ./configure \ + --prefix=/usr/local \ + --libdir=/usr/local/lib${LIBDIRSUFFIX} \ + --with-pic \ + --enable-shared=no \ + --enable-static=yes + make $NUMJOBS || make || exit 1 + make install +) + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --enable-music-mod \ + --enable-shared=yes \ + --enable-static=no + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/SDL_mixer-$MIXER +cp -a \ + CHANGES COPYING README \ + $PKG/usr/doc/SDL_mixer-$MIXER + +# We do not want to try to pull in -lmikmod, since that was linked static: +sed -i -e "s/ -lmikmod//g" $PKG/usr/lib${LIBDIRSUFFIX}/libSDL_mixer.la + +# Add SDL_net: +cd $TMP +rm -rf SDL_net-$NET +tar xf $CWD/SDL_net-$NET.tar.?z* || exit 1 +cd SDL_net-$NET +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --enable-shared=yes \ + --enable-static=no + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/SDL_net-$NET +cp -a \ + CHANGES COPYING README \ + $PKG/usr/doc/SDL_net-$NET + +# Add SDL_ttf: +cd $TMP +rm -rf SDL_ttf-$TTF +tar xf $CWD/SDL_ttf-$TTF.tar.?z* || exit 1 +cd SDL_ttf-$TTF + +#zcat $CWD/SDL_ttf-2.0.8-noftinternals.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --enable-shared=yes \ + --enable-static=no + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/SDL_ttf-$TTF +cp -a \ + CHANGES COPYING README \ + $PKG/usr/doc/SDL_ttf-$TTF + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? + +cd $PKG +/sbin/makepkg -l y -c n $TMP/sdl-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff b/patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff new file mode 100644 index 000000000..685007ab7 --- /dev/null +++ b/patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff @@ -0,0 +1,38 @@ +--- SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2011-01-23 23:23:31.865198998 +0100 ++++ SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c.org 2011-01-23 23:28:12.427198998 +0100 +@@ -700,26 +700,26 @@ + continue; + } + if ( test_bit(i, absbit) ) { +- int values[5]; ++ struct input_absinfo absinfo; + +- if ( ioctl(fd, EVIOCGABS(i), values) < 0 ) ++ if ( ioctl(fd, EVIOCGABS(i), &absinfo) < 0 ) + continue; + #ifdef DEBUG_INPUT_EVENTS + printf("Joystick has absolute axis: %x\n", i); + printf("Values = { %d, %d, %d, %d, %d }\n", +- values[0], values[1], +- values[2], values[3], values[4]); ++ absinfo.value, absinfo.minimum, ++ absinfo.maximum, absinfo.fuzz, absinfo.flat); + #endif /* DEBUG_INPUT_EVENTS */ + joystick->hwdata->abs_map[i] = joystick->naxes; +- if ( values[1] == values[2] ) { ++ if ( absinfo.minimum == absinfo.maximum ) { + joystick->hwdata->abs_correct[i].used = 0; + } else { + joystick->hwdata->abs_correct[i].used = 1; + joystick->hwdata->abs_correct[i].coef[0] = +- (values[2] + values[1]) / 2 - values[4]; ++ (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat; + joystick->hwdata->abs_correct[i].coef[1] = +- (values[2] + values[1]) / 2 + values[4]; +- t = ((values[2] - values[1]) / 2 - 2 * values[4]); ++ (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat; ++ t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat); + if ( t != 0 ) { + joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t; + } else { + diff --git a/patches/source/sdl/slack-desc b/patches/source/sdl/slack-desc new file mode 100644 index 000000000..1d5d5c011 --- /dev/null +++ b/patches/source/sdl/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +sdl: sdl (Simple DirectMedia Layer library) +sdl: +sdl: This is the Simple DirectMedia Layer, a generic API that provides low +sdl: level access to audio, keyboard, mouse, joystick, 3D hardware via +sdl: OpenGL, and 2D framebuffer across multiple platforms. +sdl: +sdl: SDL links against alsa-lib, arts, audiofile, esound, and the X11 +sdl: libraries. Make sure all of these are installed if you're planning to +sdl: use SDL (a full installation will cover all of the prerequisites). +sdl: +sdl: diff --git a/patches/source/seamonkey/doinst.sh b/patches/source/seamonkey/doinst.sh new file mode 100644 index 000000000..c236bea5c --- /dev/null +++ b/patches/source/seamonkey/doinst.sh @@ -0,0 +1,11 @@ +# If there's no mozilla here, then take over: +if [ ! -r usr/bin/mozilla ]; then + ( cd usr/bin ; ln -sf seamonkey mozilla ) +fi +# Hopefully this won't break everything. ;-) +if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then + echo "/usr/lib/seamonkey" >> etc/ld.so.conf +fi +if [ -x /sbin/ldconfig ]; then + /sbin/ldconfig 2> /dev/null +fi diff --git a/patches/source/seamonkey/gold/gold b/patches/source/seamonkey/gold/gold new file mode 100755 index 000000000..8c86d3b06 --- /dev/null +++ b/patches/source/seamonkey/gold/gold @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/bin/ld.gold "$@" diff --git a/patches/source/seamonkey/gold/ld b/patches/source/seamonkey/gold/ld new file mode 120000 index 000000000..78a06a2a1 --- /dev/null +++ b/patches/source/seamonkey/gold/ld @@ -0,0 +1 @@ +gold \ No newline at end of file diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc b/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc new file mode 100644 index 000000000..e5053267d --- /dev/null +++ b/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=/usr +libdir=/usr/@LIB@/seamonkey-@VERSION@ +includedir=/usr/include/seamonkey-@VERSION@ + +Name: Mozilla Gtk Embedding Widget +Description: Mozilla Embedding Widget for Gtk+ +Version: @VERSION@ +Requires: seamonkey-xpcom = @VERSION@ +Libs: -L${libdir} -lgtkembedmoz +Cflags: -I${includedir}/gtkembedmoz diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc b/patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc new file mode 100644 index 000000000..0c9900420 --- /dev/null +++ b/patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc @@ -0,0 +1,11 @@ +prefix=/usr +libdir=/usr/@LIB@/seamonkey-@VERSION@ +includedir=/usr/include/seamonkey-@VERSION@ +idldir=/usr/share/idl/seamonkey-@VERSION@ + +Name: libxul +Description: The Mozilla Runtime and Embedding Engine +Version: @VERSION@ +Requires: seamonkey-nspr >= 4.7.1 +Libs: -L${libdir} -lxul -lxpcom +Cflags: -I${includedir} -fshort-wchar diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc b/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc new file mode 100644 index 000000000..756e996d6 --- /dev/null +++ b/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=/usr +libdir=/usr/@LIB@/seamonkey-@VERSION@ +includedir=/usr/include/seamonkey-@VERSION@ + +Name: NSPR +Description: The Netscape Portable Runtime +Version: 4.7.1 +Libs: -L/usr/@LIB@/seamonkey-@VERSION@ -lplds4 -lplc4 -lnspr4 -lpthread -ldl +Cflags: -I/usr/include/seamonkey-@VERSION@/nspr + + diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc b/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc new file mode 100644 index 000000000..f5bf09935 --- /dev/null +++ b/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=/usr +libdir=/usr/@LIB@/seamonkey-@VERSION@ +includedir=/usr/include/seamonkey-@VERSION@ + +Name: NSS +Description: Mozilla Network Security Services +Version: @VERSION@ +Requires: seamonkey-nspr >= 4.7.1 +Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lnssutil3 +Cflags: -I${includedir}/nss diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc b/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc new file mode 100644 index 000000000..bbdb1f417 --- /dev/null +++ b/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=/usr +libdir=/usr/@LIB@/seamonkey-@VERSION@ +includedir=/usr/include/seamonkey-@VERSION@ + +Name: Mozilla Plug-In API +Description: Mozilla Plug-In API +Version: @VERSION@ +Requires: seamonkey-nspr >= 4.7.1 +Cflags: -I${includedir}/java -I${includedir}/plugin -DXP_UNIX diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc b/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc new file mode 100644 index 000000000..532005671 --- /dev/null +++ b/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=/usr +libdir=/usr/@LIB@/seamonkey-@VERSION@ +includedir=/usr/include/seamonkey-@VERSION@ +idldir=/usr/share/idl/seamonkey-@VERSION@ + +Name: XPCOM +Description: The Mozilla Cross Platform Component Library +Version: @VERSION@ +Requires: seamonkey-nspr >= 4.7.1 +Libs: -L${libdir} -lxpcom +Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string diff --git a/patches/source/seamonkey/seamonkey-icon.png b/patches/source/seamonkey/seamonkey-icon.png new file mode 100644 index 000000000..824ab7a50 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..4809775cd --- /dev/null +++ b/patches/source/seamonkey/seamonkey.SlackBuild @@ -0,0 +1,289 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +TARBALLVER=${VERSION:-$(basename $(ls seamonkey-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)} +# Strip the end from beta versions: +VERSION=$(echo $TARBALLVER | cut -f 1 -d b) +COMM=${COMM:-release} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + LIBDIRSUFFIX="" + OPTIMIZE_FLAG="-O2" + # Well, it looks like Seamonkey can be added to the list of things that will + # no longer compile for i486, but that's fine since nobody is using it on + # a 486 anyway. Attempts to compile without allowing i586 opcodes will fail + # with errors such as: error: undefined reference to '__atomic_load_8' + # We'll still package for Slackware 14.{0,1} with the i486 arch in the + # filename to avoid everyone telling us that there's been a mistake. :-) + CFLAGS="-march=i586 -mtune=i686" + CXXFLAGS="-march=i586 -mtune=i686" + # On IA32, use gold since GNU ld runs out of memory linking libxul.so: + PATH="$(pwd)/gold:$PATH" + export CC="gcc -B$(pwd)/gold" + export CXX="g++ -B$(pwd)/gold" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" + OPTIMIZE_FLAG="-O2" +else + LIBDIRSUFFIX="" + OPTIMIZE_FLAG="-O2" +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-seamonkey +rm -rf $PKG +mkdir -p $TMP $PKG/usr + +cd $TMP +rm -rf comm-$COMM +tar xvf $CWD/seamonkey-${TARBALLVER}.source.tar.?z* || exit 1 +cd comm-$COMM || exit 1 + +# Make sure the perms/ownerships are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +chown -R root:root . + +# Our building options, in a configure-like display ;) +OPTIONS="\ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --enable-optimize=$OPTIMIZE_FLAG \ + --enable-cpp-rtti \ + --enable-default-toolkit=cairo-gtk2 \ + --enable-startup-notification \ + --disable-debug \ + --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} \ + --enable-strip \ + --disable-tests \ + --disable-crashreporter \ + --enable-svg \ + --enable-canvas \ + --disable-short-wchar \ + --enable-nspr-autoconf \ + --enable-extensions=default,irc \ + --enable-crypto \ + --enable-libxul \ + --disable-pulseaudio \ + --disable-xprint \ + --without-system-nspr \ + --with-system-zlib \ + --with-system-mng \ + --enable-application=suite \ + --enable-xft \ + --host=$ARCH-slackware-linux \ + --target=$ARCH-slackware-linux \ + --build=$ARCH-slackware-linux" + + # --enable-system-cairo \ + # --with-system-png + +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 +export MOZ_MAKE_FLAGS="$NUMJOBS" +export CFLAGS +export CXXFLAGS + +# Clear some variables that could break the build +unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \ + XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS + +# Assemble our .mozconfig: +echo > .mozconfig + +# Mozilla devs enforce using an objdir for building +# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir +mkdir obj +echo "mk_add_options MOZ_OBJDIR=$(pwd)/obj" >> .mozconfig +# This directory is also needed or the build will fail: +mkdir -p mozilla/obj + +# Write in it the options above +for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done + +echo "ac_add_options --disable-tests" >> .mozconfig +make -f client.mk build || exit 1 +make -f client.mk install DESTDIR=$PKG || exit 1 + +# Install nspr/nss headers. +for includedir in nspr nspr/obsolete nspr/private ; do + mkdir -p $PKG/usr/include/seamonkey-${VERSION}/$includedir + cp -aL mozilla/dist/include/${includedir}/*.h $PKG/usr/include/seamonkey-${VERSION}/$includedir +done +cp -aL mozilla/dist/include/*.tbl mozilla/dist/include/*.msg $PKG/usr/include/seamonkey-${VERSION} +cp -aL mozilla/dist/include/*.h $PKG/usr/include/seamonkey-${VERSION} +cp -aL mozilla/dist/sdk/include/* $PKG/usr/include/seamonkey-${VERSION} +# compat symlinks +( cd $PKG/usr/include/seamonkey-${VERSION} + # Relocate anything that might be in the nss directory, and replace the directory with a symlink. + # make install was putting an empty directory here, which was breaking other compiles. + if [ -d nss ]; then + mv nss/* . + rmdir nss + fi + ln -sf . nss + ln -sf . plugin + ln -sf . xpcom +) + +# We don't need this stuff in the package: +rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-devel-$VERSION + +chown -R root:root $PKG/usr/include/seamonkey-${VERSION} +find $PKG/usr/include/seamonkey-${VERSION} -name "*.h" -type f -exec chmod 644 {} \; +# Create a more generic include files symlink: +( cd $PKG/usr/include + if [ ! -e seamonkey ]; then + ln -sf seamonkey-${VERSION} seamonkey + fi +) + +# Install pkgconfig files: +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig +for file in $CWD/pkgconfig/* ; do +cat $file \ + | sed -e "s/@LIB@/lib${LIBDIRSUFFIX}/" \ + -e "s/@VERSION@/$VERSION/" \ + > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/$(basename $file) +done + +# Add symlinks for the pkgconfig files: +( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig + ln -s seamonkey-libxul.pc libxul.pc + ln -s seamonkey-plugin.pc plugin.pc + ln -s seamonkey-xpcom.pc xpcom.pc + # These are now provided by the mozilla-nss package: + #ln -s seamonkey-nspr.pc nspr.pc + #ln -s seamonkey-nss.pc nss.pc +) + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Strip files: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# This remains the standard plugin directory for all browsers. +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins + +# This is traditional. +( cd $PKG/usr/lib${LIBDIRSUFFIX} + if [ ! -e seamonkey ]; then + ln -sf seamonkey-${VERSION} seamonkey + fi +) + +mkdir -p $PKG/usr/share/applications +cp -a $CWD/*.desktop $PKG/usr/share/applications +chown -R root:root $PKG/usr/share/applications +chmod 644 $PKG/usr/share/applications/* +mkdir -p $PKG/usr/share/pixmaps +cp -a $CWD/*.png $PKG/usr/share/pixmaps +chown -R root:root $PKG/usr/share/pixmaps +chmod 644 $PKG/usr/share/pixmaps/* + +mkdir -p $PKG/usr/doc/seamonkey-$VERSION +( cd mozilla + cp -a \ + LEGAL LICENSE README.txt \ + $PKG/usr/doc/seamonkey-$VERSION +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \ + > $PKG/install/doinst.sh + +cd $TMP/package-seamonkey +/sbin/makepkg -l y -c n -p $TMP/seamonkey-$TARBALLVER-$ARCH-$BUILD.txz + +# Create a standalone seamonkey-solibs package for RPM, gxine, etc. +rm -r $TMP/package-seamonkey-solibs +mkdir -p $TMP/package-seamonkey-solibs/usr/doc +cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc +mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} +for file in libfreebl3.chk libfreebl3.so libmozsqlite3.so \ + libnspr4.so libnss* libplc4.so libplds4.so libsmime3.so libsoftokn3.chk \ + libsoftokn3.so libssl3.so ; do + cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \ + $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} +done +mkdir $TMP/package-seamonkey-solibs/install +cat << EOF | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $TMP/package-seamonkey-solibs/install/doinst.sh +( cd usr/lib ; rm -rf seamonkey ) +( cd usr/lib ; ln -sf seamonkey-$VERSION seamonkey ) +if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then + echo "/usr/lib/seamonkey" >> etc/ld.so.conf +fi +if [ -x /sbin/ldconfig ]; then + /sbin/ldconfig 2> /dev/null +fi +EOF +cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc + |-----handy-ruler------------------------------------------------------| +seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey) +seamonkey-solibs: +seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey +seamonkey-solibs: to provide runtime support for various programs. +seamonkey-solibs: This package is built from the Seamonkey sources and is provided +seamonkey-solibs: as a standalone runtime package for people who do not want to install +seamonkey-solibs: the entire seamonkey package (as for server use). +seamonkey-solibs: +seamonkey-solibs: This package is runtime only. The include files and other files for +seamonkey-solibs: development can be found in the seamonkey package. +seamonkey-solibs: +EOF +cd $TMP/package-seamonkey-solibs +/sbin/makepkg -l y -c n -p $TMP/seamonkey-solibs-$TARBALLVER-$ARCH-$BUILD.txz + diff --git a/patches/source/seamonkey/seamonkey.desktop b/patches/source/seamonkey/seamonkey.desktop new file mode 100644 index 000000000..eaf81ddff --- /dev/null +++ b/patches/source/seamonkey/seamonkey.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=SeaMonkey +Comment=Web Browser +Exec=/usr/bin/seamonkey +Icon=/usr/share/pixmaps/seamonkey-icon.png +Terminal=0 +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +Categories=Application;Network; diff --git a/patches/source/seamonkey/slack-desc b/patches/source/seamonkey/slack-desc new file mode 100644 index 000000000..af6ee2408 --- /dev/null +++ b/patches/source/seamonkey/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +seamonkey: SeaMonkey (an open-source web browser suite) +seamonkey: +seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art +seamonkey: web browser and powerful email client, as well as a WYSIWYG web page +seamonkey: composer and a feature-rich IRC chat client. +seamonkey: +seamonkey: +seamonkey: +seamonkey: Visit the SeaMonkey project at this URL: +seamonkey: http://www.mozilla.org/projects/seamonkey/ +seamonkey: diff --git a/patches/source/sendmail/Build b/patches/source/sendmail/Build new file mode 100644 index 000000000..21950d496 --- /dev/null +++ b/patches/source/sendmail/Build @@ -0,0 +1,29 @@ +#!/bin/sh +# Copyright 2004 Slackware Linux, Inc. Concord, CA 94520 +# Copyright 2007, 2008 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# A script to build .cf files from .mc files: + +for mcfile in $* ; do + /usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 $mcfile > $(basename $mcfile .mc).cf +done + diff --git a/patches/source/sendmail/SlackBuild-sendmail b/patches/source/sendmail/SlackBuild-sendmail new file mode 100755 index 000000000..c5c95310b --- /dev/null +++ b/patches/source/sendmail/SlackBuild-sendmail @@ -0,0 +1,168 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=8.14.9 +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-sendmail + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG + +# Explode the package framework: +cd $PKG +explodepkg $CWD/_sendmail.tar.gz +[ -n "${LIBDIRSUFFIX}" ] && mv $PKG/usr/lib $PKG/usr/lib${LIBDIRSUFFIX} + +echo "+=================+" +echo "| sendmail.$VERSION |" +echo "+=================+" +OSCPU="`uname -srm | tr ' ' '.'`" +cd $TMP +rm -rf sendmail-$VERSION +tar xvf $CWD/sendmail.$VERSION.tar.gz || exit 1 +cd sendmail-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Add TLS support to the sendmail binary: +cat $CWD/site.config.m4 > devtools/Site/site.config.m4 + +# Build .cf files for Linux: +cd $TMP/sendmail-$VERSION/cf/cf +cp $CWD/*.mc . +cp linux.uucp.mc config.mc +sh Build config.cf +mv config.cf $PKG/usr/share/sendmail/linux.uucp.cf +cp sendmail-slackware.mc config.mc +sh Build config.cf +mv config.cf $PKG/usr/share/sendmail/sendmail-slackware.cf +cp sendmail-slackware-tls.mc config.mc +sh Build config.cf +mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls.cf +cp sendmail-slackware-tls-sasl.mc config.mc +sh Build config.cf +mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls-sasl.cf + +# Add a sample sendmail.cf: +cat $PKG/usr/share/sendmail/sendmail-slackware.cf > $PKG/etc/mail/sendmail.cf.new +cat submit.cf > $PKG/etc/mail/submit.cf.new + +cd $TMP/sendmail-$VERSION +## All "Build" does is call make while screwing up the options :-) +## sh Build +make O="$SLKCFLAGS" +#O="$SLKCFLAGS" sh Build +cat sendmail/mailq.1 | gzip -9c > $PKG/usr/man/man1/mailq.1.gz +cat sendmail/newaliases.1 | gzip -9c > $PKG/usr/man/man1/newaliases.1.gz +mkdir -p $PKG/usr/doc/sendmail-$VERSION +cp -a \ + FAQ INSTALL KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ + $PKG/usr/doc/sendmail-$VERSION +( cd doc ; cp -a op $PKG/usr/doc/sendmail-$VERSION ) + +cd obj.$OSCPU/sendmail +cat sendmail > $PKG/usr/sbin/sendmail.new +cat aliases.5 | gzip -9c > $PKG/usr/man/man5/aliases.5.gz +cat sendmail.8 | gzip -9c > $PKG/usr/man/man8/sendmail.8.gz +cat statistics > $PKG/etc/mail/statistics +cat ../../sendmail/helpfile > $PKG/etc/mail/helpfile +cd ../makemap +cat makemap > $PKG/usr/sbin/makemap +cat makemap.8 | gzip -9c > $PKG/usr/man/man8/makemap.8.gz +cd ../mailstats +cat mailstats > $PKG/usr/sbin/mailstats +cat mailstats.8 | gzip -9c > $PKG/usr/man/man8/mailstats.8.gz +cd ../praliases +cat praliases > $PKG/usr/bin/praliases +chmod 755 $PKG/usr/bin/praliases +cat praliases.8 | gzip -9c > $PKG/usr/man/man8/praliases.8.gz +cd ../rmail +cat rmail > $PKG/usr/bin/rmail +cat rmail.8 | gzip -9c > $PKG/usr/man/man8/rmail.8.gz +cd ../smrsh +cat smrsh > $PKG/usr/sbin/smrsh +cat smrsh.8 | gzip -9c > $PKG/usr/man/man8/smrsh.8.gz +cd ../mail.local +cat mail.local > $PKG/usr/sbin/mail.local +cat mail.local.8 | gzip -9c > $PKG/usr/man/man8/mail.local.8.gz +cd ../vacation +cat vacation > $PKG/usr/bin/vacation +cat vacation.1 | gzip -9c > $PKG/usr/man/man1/vacation.1.gz +cd ../editmap +cat editmap > $PKG/usr/sbin/editmap +cat editmap.8 | gzip -9c > $PKG/usr/man/man8/editmap.8.gz + +# Add libmilter: +cd $TMP/sendmail-$VERSION/libmilter +./Build +cd .. +mkdir -p $PKG/usr/include +mkdir -p $PKG/usr/include/libmilter +cp -a include/libmilter/mfapi.h $PKG/usr/include/libmilter +cp -a include/libmilter/mfdef.h $PKG/usr/include/libmilter +cp -a obj.*/libmilter/libmilter.a $PKG/usr/lib${LIBDIRSUFFIX} +strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a +chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a $PKG/usr/include/libmilter/* +mkdir -p $PKG/usr/doc/sendmail-$VERSION/libmilter +cp -a libmilter/README $PKG/usr/doc/sendmail-$VERSION/libmilter + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +cat $CWD/slack-desc.sendmail > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/sendmail-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/sendmail/SlackBuild-sendmail-cf b/patches/source/sendmail/SlackBuild-sendmail-cf new file mode 100755 index 000000000..6227cd0de --- /dev/null +++ b/patches/source/sendmail/SlackBuild-sendmail-cf @@ -0,0 +1,57 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=8.14.9 +ARCH=noarch +BUILD=${BUILD:-1_slack14.0} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-sendmail-cf + +rm -rf $PKG +mkdir -p $TMP $PKG + +echo "+====================+" +echo "| sendmail.cf.$VERSION |" +echo "+====================+" +( cd $TMP/sendmail-$VERSION ; find . -name "*~" -print -exec rm {} \; ) +cd $PKG +mkdir -p usr/share/sendmail/cf +cd usr/share/sendmail/cf +cp -a $TMP/sendmail-$VERSION/cf/README . +cp -a $TMP/package-sendmail/usr/share/sendmail/README.linux . +for dir in cf domain feature hack m4 mailer ostype sh siteconfig ; do + cp -a $TMP/sendmail-$VERSION/cf/$dir . +done +# Replace the sendmail Build script with a simple (working) one: +cp -a $PKG/usr/share/sendmail/cf/cf/Build $PKG/usr/share/sendmail/cf/cf/Build.orig +zcat $CWD/Build.gz > $PKG/usr/share/sendmail/cf/cf/Build +chown -R root.root * + +mkdir -p $PKG/install +cat $CWD/slack-desc.sendmail-cf > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/sendmail-cf-$VERSION-noarch-$BUILD.txz + diff --git a/patches/source/sendmail/linux.uucp.mc b/patches/source/sendmail/linux.uucp.mc new file mode 100644 index 000000000..ffd242bb0 --- /dev/null +++ b/patches/source/sendmail/linux.uucp.mc @@ -0,0 +1,8 @@ +include(`../m4/cf.m4') +VERSIONID(`linux for setup with uucp which uses domain names')dnl +OSTYPE(linux) +FEATURE(always_add_domain)dnl +MAILER(local)dnl +MAILER(smtp)dnl +MAILER(uucp) +define(`SMART_HOST', uucp-dom:otheruucphost) diff --git a/patches/source/sendmail/sendmail-slackware-tls-sasl.mc b/patches/source/sendmail/sendmail-slackware-tls-sasl.mc new file mode 100644 index 000000000..ed5753b43 --- /dev/null +++ b/patches/source/sendmail/sendmail-slackware-tls-sasl.mc @@ -0,0 +1,61 @@ +dnl# This is the a sendmail .mc file for Slackware with TLS support. +dnl# To generate the sendmail.cf file from this (perhaps after making +dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this: +dnl# +dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc +dnl# cd /usr/share/sendmail/cf +dnl# sh Build config.mc +dnl# +dnl# You may then install the resulting .cf file: +dnl# cp config.cf /etc/mail/sendmail.cf +dnl# +include(`../m4/cf.m4') +VERSIONID(`TLS supporting setup for Slackware Linux')dnl +OSTYPE(`linux')dnl +dnl# +dnl# You will need to create the certificates below with OpenSSL first: +define(`confCACERT_PATH', `/etc/mail/certs/') +define(`confCACERT', `/etc/mail/certs/CA.cert.pem') +define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem') +define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem') +dnl# These settings help protect against people verifying email addresses +dnl# at your site in order to send you email that you probably don't want: +define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl +dnl# Uncomment the line below to send outgoing mail through an external server: +dnl define(`SMART_HOST',`mailserver.example.com') +dnl# No timeout for ident: +define(`confTO_IDENT', `0')dnl +dnl# Enable the line below to use smrsh to restrict what sendmail can run: +dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl +dnl# See the README in /usr/share/sendmail/cf for a ton of information on +dnl# how these options work: +FEATURE(`use_cw_file')dnl +FEATURE(`use_ct_file')dnl +FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl +FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl +FEATURE(`access_db', `hash -T /etc/mail/access')dnl +FEATURE(`blacklist_recipients')dnl +FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl +FEATURE(`always_add_domain')dnl +FEATURE(`redirect')dnl +FEATURE(`no_default_msa')dnl +dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail: +dnl FEATURE(`accept_unresolvable_domains')dnl +EXPOSED_USER(`root')dnl +dnl# Also accept mail for localhost.localdomain: +LOCAL_DOMAIN(`localhost.localdomain')dnl +MAILER(local)dnl +MAILER(smtp)dnl +MAILER(procmail)dnl +dnl# Allow SASL authentication/relaying: +define(`confAUTH_OPTIONS', `A p y')dnl +define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl +TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl +DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl +dnl# Daemon options after M= below that might need to be changed are: +dnl# s (allow SSL, not only TLS) +dnl# a (require authentication) +DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Esa')dnl +LOCAL_CONFIG +dnl# Do not allow the weak SSLv2: +O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL diff --git a/patches/source/sendmail/sendmail-slackware-tls.mc b/patches/source/sendmail/sendmail-slackware-tls.mc new file mode 100644 index 000000000..01a66775b --- /dev/null +++ b/patches/source/sendmail/sendmail-slackware-tls.mc @@ -0,0 +1,56 @@ +dnl# This is the a sendmail .mc file for Slackware with TLS support. +dnl# To generate the sendmail.cf file from this (perhaps after making +dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this: +dnl# +dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc +dnl# cd /usr/share/sendmail/cf +dnl# sh Build config.mc +dnl# +dnl# You may then install the resulting .cf file: +dnl# cp config.cf /etc/mail/sendmail.cf +dnl# +include(`../m4/cf.m4') +VERSIONID(`TLS supporting setup for Slackware Linux')dnl +OSTYPE(`linux')dnl +dnl# +dnl# You will need to create the certificates below with OpenSSL first: +define(`confCACERT_PATH', `/etc/mail/certs/') +define(`confCACERT', `/etc/mail/certs/CA.cert.pem') +define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem') +define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem') +dnl# These settings help protect against people verifying email addresses +dnl# at your site in order to send you email that you probably don't want: +define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl +dnl# Uncomment the line below to send outgoing mail through an external server: +dnl define(`SMART_HOST',`mailserver.example.com') +dnl# No timeout for ident: +define(`confTO_IDENT', `0')dnl +dnl# Enable the line below to use smrsh to restrict what sendmail can run: +dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl +dnl# See the README in /usr/share/sendmail/cf for a ton of information on +dnl# how these options work: +FEATURE(`use_cw_file')dnl +FEATURE(`use_ct_file')dnl +FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl +FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl +FEATURE(`access_db', `hash -T /etc/mail/access')dnl +FEATURE(`blacklist_recipients')dnl +FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl +FEATURE(`always_add_domain')dnl +FEATURE(`redirect')dnl +dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail: +dnl FEATURE(`accept_unresolvable_domains')dnl +EXPOSED_USER(`root')dnl +dnl# Also accept mail for localhost.localdomain: +LOCAL_DOMAIN(`localhost.localdomain')dnl +MAILER(local)dnl +MAILER(smtp)dnl +MAILER(procmail)dnl +DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl +dnl# Daemon options after M= below that might need to be changed are: +dnl# s (allow SSL, not only TLS) +dnl# a (require authentication) +DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Es')dnl +LOCAL_CONFIG +dnl# Do not allow the weak SSLv2: +O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL diff --git a/patches/source/sendmail/sendmail-slackware.mc b/patches/source/sendmail/sendmail-slackware.mc new file mode 100644 index 000000000..4fd4620bf --- /dev/null +++ b/patches/source/sendmail/sendmail-slackware.mc @@ -0,0 +1,42 @@ +dnl# This is the default sendmail .mc file for Slackware. To generate +dnl# the sendmail.cf file from this (perhaps after making some changes), +dnl# use the m4 files in /usr/share/sendmail/cf like this: +dnl# +dnl# cp sendmail-slackware.mc /usr/share/sendmail/cf/config.mc +dnl# cd /usr/share/sendmail/cf +dnl# sh Build config.cf +dnl# +dnl# You may then install the resulting .cf file: +dnl# cp config.cf /etc/mail/sendmail.cf +dnl# +include(`../m4/cf.m4') +VERSIONID(`default setup for Slackware Linux')dnl +OSTYPE(`linux')dnl +dnl# These settings help protect against people verifying email addresses +dnl# at your site in order to send you email that you probably don't want: +define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl +dnl# Uncomment the line below to send outgoing mail through an external server: +dnl define(`SMART_HOST',`mailserver.example.com') +dnl# No timeout for ident: +define(`confTO_IDENT', `0')dnl +dnl# Enable the line below to use smrsh to restrict what sendmail can run: +dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl +dnl# See the README in /usr/share/sendmail/cf for a ton of information on +dnl# how these options work: +FEATURE(`use_cw_file')dnl +FEATURE(`use_ct_file')dnl +FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl +FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl +FEATURE(`access_db', `hash -T /etc/mail/access')dnl +FEATURE(`blacklist_recipients')dnl +FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl +FEATURE(`always_add_domain')dnl +FEATURE(`redirect')dnl +dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail: +dnl FEATURE(`accept_unresolvable_domains')dnl +EXPOSED_USER(`root')dnl +dnl# Also accept mail for localhost.localdomain: +LOCAL_DOMAIN(`localhost.localdomain')dnl +MAILER(local)dnl +MAILER(smtp)dnl +MAILER(procmail)dnl diff --git a/patches/source/sendmail/sendmail.SlackBuild b/patches/source/sendmail/sendmail.SlackBuild new file mode 100755 index 000000000..462f16e9d --- /dev/null +++ b/patches/source/sendmail/sendmail.SlackBuild @@ -0,0 +1,3 @@ +#!/bin/sh +./SlackBuild-sendmail $* +./SlackBuild-sendmail-cf $* diff --git a/patches/source/sendmail/site.config.m4 b/patches/source/sendmail/site.config.m4 new file mode 100644 index 000000000..09b1d72ff --- /dev/null +++ b/patches/source/sendmail/site.config.m4 @@ -0,0 +1,8 @@ +APPENDDEF(`confENVDEF', `-DNETINET6') +APPENDDEF(`confMAPDEF', `-DNEWDB -DSTARTTLS -DSASL=2 -DTCPWRAPPERS -DNIS -DMAP_REGEX -DSOCKETMAP') +APPENDDEF(`confLIBS', `-lnsl -lssl -lcrypto -lsasl2 -lwrap -lm -ldb -lresolv') +APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER') +APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER') +APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE ') +APPENDDEF(`confENVDEF', `-DBROKEN_PTHREAD_SLEEP') +APPENDDEF(`confENVDEF', `-D_FFR_TLS_1')dnl diff --git a/patches/source/sendmail/slack-desc.sendmail b/patches/source/sendmail/slack-desc.sendmail new file mode 100644 index 000000000..cdcc9387a --- /dev/null +++ b/patches/source/sendmail/slack-desc.sendmail @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +sendmail: sendmail (mail transfer agent) +sendmail: +sendmail: Eric Allman's mail transport agent. The _Unix System Administration +sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery +sendmail: system in common use...' +sendmail: +sendmail: Ready-made configuration files are included for systems connected by +sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP. +sendmail: +sendmail: The procmail package is required to handle local mail delivery. +sendmail: diff --git a/patches/source/sendmail/slack-desc.sendmail-cf b/patches/source/sendmail/slack-desc.sendmail-cf new file mode 100644 index 000000000..df56efdc8 --- /dev/null +++ b/patches/source/sendmail/slack-desc.sendmail-cf @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +sendmail-cf: sendmail-cf (configuration files for sendmail) +sendmail-cf: +sendmail-cf: These files are used to create sendmail.cf configuration files. The +sendmail-cf: m4 macro processor is also required in order to make use of these +sendmail-cf: files. +sendmail-cf: +sendmail-cf: The files and documentation in /usr/share/sendmail should make it +sendmail-cf: possible to support virtually any mail configuration. NOTE: You +sendmail-cf: probably won't need this package if you're planning to use one of the +sendmail-cf: sendmail.cf samples included in the sendmail package. +sendmail-cf: diff --git a/patches/source/sqlite/COPYRIGHT b/patches/source/sqlite/COPYRIGHT new file mode 100644 index 000000000..a89b4e720 --- /dev/null +++ b/patches/source/sqlite/COPYRIGHT @@ -0,0 +1,68 @@ + SQLite Logo + Small. Fast. Reliable. + Choose any three. + + About Sitemap Documentation Download License News Developers Support + +SQLite Copyright + + +------------------+ + | SQLite is in the | + | Public Domain | + +------------------+ + + All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and + representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain + and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, + modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled + binary, for any purpose, commercial or non-commercial, and by any means. + + The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually + bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process + might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation + and build code so much because none of these things are part of the core deliverable SQLite library. + + All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from + the open internet. Every line of code can be traced back to its original author, and all of those authors have public + domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects. + +Obtaining An Explicit License To Use SQLite + + Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. + Some reasons for obtaining a license include: + + * You are using SQLite in a jurisdiction that does not recognize the public domain. + * You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the + public domain. + * You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite. + * Your legal department tells you that you have to purchase a license. + + If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and + principal developers of SQLite, will sell you one. + +Contributed Code + + In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are + asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible + inclusion in the SQLite source tree, please accompany the patch with the following statement: + + The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make + this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this + dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under + copyright law. + + We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In + addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. + You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright + release should be mailed to: + + Hwaci + 6200 Maple Cove Lane + Charlotte, NC 28269 + USA + + A template copyright release is available in PDF or HTML. You can use this release to make future changes. + + ---------------------------------------------------------------------------------------------------------------------- + + This page last modified 2007/11/14 15:25:42 UTC diff --git a/patches/source/sqlite/slack-desc b/patches/source/sqlite/slack-desc new file mode 100644 index 000000000..8605ff192 --- /dev/null +++ b/patches/source/sqlite/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-------------------------------------------------------| +sqlite: SQLite (simple, self contained database engine) +sqlite: +sqlite: SQLite is a small C library that implements a self-contained, +sqlite: embeddable, zero-configuration SQL database engine. +sqlite: +sqlite: The SQLite distribution comes with a standalone command-line access +sqlite: program (sqlite) that can be used to administer an SQLite database +sqlite: and which serves as an example of how to use the SQLite library. +sqlite: +sqlite: Homepage: http://www.sqlite.org/ +sqlite: diff --git a/patches/source/sqlite/sqlite.SlackBuild b/patches/source/sqlite/sqlite.SlackBuild new file mode 100755 index 000000000..9fc8156a3 --- /dev/null +++ b/patches/source/sqlite/sqlite.SlackBuild @@ -0,0 +1,133 @@ +#!/bin/sh + +# Slackware build script for sqlite + +# Copyright 2006 Martin Lefebvre +# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=sqlite +VERSION=${VERSION:-$(echo $PKGNAM-src-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +OLD_STYLE=$(printf %d $(echo $VERSION | cut -b 1)).$(printf %d $(echo $VERSION | cut -b 2,3)).$(printf %d $(echo $VERSION | cut -b 4,5)) +PATCHLEVEL=$(printf %d $(echo $VERSION | cut -b 6,7)) +if [ ! "$PATCHLEVEL" = "0" ]; then + OLD_STYLE=${OLD_STYLE}.${PATCHLEVEL} +fi +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# Enable some features: +SLKCFLAGS="$SLKCFLAGS -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_SECURE_DELETE=1" + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-src-$VERSION +tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-src-$VERSION || exit 1 +chown -R root.root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +configure() { +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --enable-threadsafe \ + --enable-cross-thread-connections \ + --enable-tempstore=yes \ + --enable-load-extension \ + --enable-static=no \ + --build=$ARCH-slackware-linux + return $? +} + +if ! configure ; then + # Try regenerating configure: + autoconf + configure || exit 1 +fi + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Add missed man page: +install -D -m 0644 sqlite3.1 $PKG/usr/man/man1/sqlite3.1 +gzip -9 $PKG/usr/man/man1/sqlite3.1 + +# Fix up the pkgconfig file +sed -i 's|Libs: -L${libdir} -lsqlite3|Libs: -L${libdir} -lsqlite3 -ldl|g' \ + $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/sqlite3.pc + +mkdir -p $PKG/usr/doc/$PKGNAM-$OLD_STYLE +cp -a \ + README* VERSION \ + $PKG/usr/doc/$PKGNAM-$OLD_STYLE +# Add a COPYRIGHT file -- http://www.sqlite.org/copyright.html +zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/$PKGNAM-$OLD_STYLE/COPYRIGHT +rm -rf $PKG/usr/doc/$PKGNAM-$OLD_STYLE/CVS +find $PKG/usr/doc -type f -exec chmod 0644 {} \; + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$OLD_STYLE-$ARCH-$BUILD.txz + diff --git a/patches/source/stunnel/doinst.sh b/patches/source/stunnel/doinst.sh new file mode 100644 index 000000000..21f004b02 --- /dev/null +++ b/patches/source/stunnel/doinst.sh @@ -0,0 +1,12 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/stunnel/openssl.cnf.new diff --git a/patches/source/stunnel/generate-stunnel-key.sh b/patches/source/stunnel/generate-stunnel-key.sh new file mode 100644 index 000000000..b24b4ba8a --- /dev/null +++ b/patches/source/stunnel/generate-stunnel-key.sh @@ -0,0 +1,13 @@ +#!/bin/sh +USE_DH=0 + +openssl req -new -x509 -days 365 -nodes \ + -config ./openssl.cnf -out stunnel.pem -keyout stunnel.pem + +test $USE_DH -eq 0 || openssl gendh >> stunnel.pem + +openssl x509 -subject -dates -fingerprint -noout \ + -in stunnel.pem + +chmod 600 stunnel.pem +rm -f stunnel.rnd diff --git a/patches/source/stunnel/slack-desc b/patches/source/stunnel/slack-desc new file mode 100644 index 000000000..f8ee5bc47 --- /dev/null +++ b/patches/source/stunnel/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +stunnel: stunnel (Universal SSL tunnel) +stunnel: +stunnel: The stunnel program is designed to work as an SSL encryption wrapper +stunnel: between remote client and local (inetd-startable) or remote servers. +stunnel: The goal is to facilitate SSL encryption and authentication for +stunnel: non-SSL-aware programs. +stunnel: +stunnel: stunnel can be used to add SSL functionality to commonly used inetd +stunnel: daemons like POP-2, POP-3 and IMAP servers without any changes in the +stunnel: programs' code. +stunnel: diff --git a/patches/source/stunnel/stunnel.SlackBuild b/patches/source/stunnel/stunnel.SlackBuild new file mode 100755 index 000000000..44bf41dcd --- /dev/null +++ b/patches/source/stunnel/stunnel.SlackBuild @@ -0,0 +1,140 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=stunnel +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-stunnel + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf stunnel-$VERSION +tar xvf $CWD/stunnel-$VERSION.tar.?z || exit 1 +cd stunnel-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --exec-prefix= \ + --sysconfdir=/etc \ + --datadir=/usr/share \ + --mandir=/usr/man \ + --sbindir=/usr/sbin \ + --bindir=/usr/bin \ + --localstatedir=/var \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 + +# This used to be installed in /usr/sbin, so it would probably be nice to +# link from there: +mkdir -p $PKG/usr/sbin +( cd $PKG/usr/sbin + ln -sf ../bin/stunnel . + ln -sf ../bin/stunnel3 . +) + +mkdir -p $PKG/var/run/stunnel +# This will produce a useless key. +make -i install DESTDIR=$PKG +# Get rid of key, so nobody tries to use it: +rm -f $PKG/etc/stunnel/stunnel.pem +# Add cnf: +cat tools/openssl.cnf > $PKG/etc/stunnel/openssl.cnf.new +cat $CWD/generate-stunnel-key.sh > $PKG/etc/stunnel/generate-stunnel-key.sh +chmod 755 $PKG/etc/stunnel/generate-stunnel-key.sh + +mkdir -p $PKG/usr/doc/stunnel-$VERSION +mv $PKG/usr/share/doc/stunnel/* $PKG/usr/doc/stunnel-$VERSION +rmdir $PKG/usr/share/doc/stunnel +rmdir $PKG/usr/share/doc +rmdir $PKG/usr/share + +mkdir -p $PKG/usr/man/pl/man8 +mv $PKG/usr/man/man8/stunnel.pl.8 $PKG/usr/man/pl/man8/stunnel.8 +mkdir -p $PKG/usr/man/fr/man8 +mv $PKG/usr/man/man8/stunnel.fr.8 $PKG/usr/man/fr/man8/stunnel.8 +gzip -9 $PKG/usr/man/*/man?/*.? $PKG/usr/man/man?/*.? + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# The 4.15 version of stunnel caused some bizarre perms, so +# we'll protect against that: +chmod 0755 $PKG/var/lib +chown root:root $PKG/var/lib + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/stunnel-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/subversion/get-svn-book.sh b/patches/source/subversion/get-svn-book.sh new file mode 100755 index 000000000..e88530d32 --- /dev/null +++ b/patches/source/subversion/get-svn-book.sh @@ -0,0 +1,9 @@ +#!/bin/sh +CWD=`pwd` + +# Add the latest copy of the Subversion book: +( cd $CWD + lftpget http://svnbook.red-bean.com/en/1.7/svn-book-html.tar.bz2 + chmod 644 svn-book-html.tar.bz2 +) + diff --git a/patches/source/subversion/slack-desc b/patches/source/subversion/slack-desc new file mode 100644 index 000000000..af2ef0b61 --- /dev/null +++ b/patches/source/subversion/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +subversion: subversion (a version control system) +subversion: +subversion: Subversion is a version control system which allows you to keep old +subversion: versions of files and directories (usually source code), and keep a +subversion: log of who, when, and why changes occurred, similar to other such +subversion: systems like CVS, RCS or SCCS. Subversion keeps all the information +subversion: to permit extracting previous versions of those files at any time. +subversion: +subversion: For more information about the Subversion project, visit: +subversion: http://subversion.apache.org +subversion: diff --git a/patches/source/subversion/subversion.CVE-2015-5343.diff b/patches/source/subversion/subversion.CVE-2015-5343.diff new file mode 100644 index 000000000..59482aeec --- /dev/null +++ b/patches/source/subversion/subversion.CVE-2015-5343.diff @@ -0,0 +1,16 @@ +--- ./subversion/mod_dav_svn/util.c.orig 2013-11-14 15:11:33.000000000 -0600 ++++ ./subversion/mod_dav_svn/util.c 2016-04-05 13:02:22.610756129 -0500 +@@ -753,7 +753,12 @@ + + if (content_length) + { +- buf = svn_stringbuf_create_ensure(content_length, pool); ++ /* Do not allocate more than 1 MB until we receive request body. */ ++ apr_size_t alloc_len = 1 * 1024 *1024; ++ if (content_length < alloc_len) ++ alloc_len = (apr_size_t) content_length; ++ ++ buf = svn_stringbuf_create_ensure(alloc_len, pool); + } + else + { diff --git a/patches/source/subversion/subversion.CVE-2016-2167.diff b/patches/source/subversion/subversion.CVE-2016-2167.diff new file mode 100644 index 000000000..891cc59aa --- /dev/null +++ b/patches/source/subversion/subversion.CVE-2016-2167.diff @@ -0,0 +1,11 @@ +--- ./subversion/svnserve/cyrus_auth.c.orig 2014-01-26 22:04:31.000000000 -0600 ++++ ./subversion/svnserve/cyrus_auth.c 2016-04-30 15:00:31.936038054 -0500 +@@ -73,6 +73,8 @@ + { + /* The only valid realm is user_realm (i.e. the repository's realm). + If the user gave us another realm, complain. */ ++ if (realm_len != inlen-(pos-in+1)) ++ return SASL_BADPROT; + if (strncmp(pos+1, user_realm, inlen-(pos-in+1)) != 0) + return SASL_BADPROT; + } diff --git a/patches/source/subversion/subversion.CVE-2016-2168.diff b/patches/source/subversion/subversion.CVE-2016-2168.diff new file mode 100644 index 000000000..24741ca66 --- /dev/null +++ b/patches/source/subversion/subversion.CVE-2016-2168.diff @@ -0,0 +1,32 @@ +--- ./subversion/mod_authz_svn/mod_authz_svn.c.orig 2015-07-26 19:23:40.000000000 -0500 ++++ ./subversion/mod_authz_svn/mod_authz_svn.c 2016-04-30 15:03:26.649048795 -0500 +@@ -415,6 +415,8 @@ + + if (r->method_number == M_MOVE || r->method_number == M_COPY) + { ++ apr_status_t status; ++ + dest_uri = apr_table_get(r->headers_in, "Destination"); + + /* Decline MOVE or COPY when there is no Destination uri, this will +@@ -423,7 +425,19 @@ + if (!dest_uri) + return DECLINED; + +- apr_uri_parse(r->pool, dest_uri, &parsed_dest_uri); ++ status = apr_uri_parse(r->pool, dest_uri, &parsed_dest_uri); ++ if (status) ++ { ++ ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, ++ "Invalid URI in Destination header"); ++ return HTTP_BAD_REQUEST; ++ } ++ if (!parsed_dest_uri.path) ++ { ++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, ++ "Invalid URI in Destination header"); ++ return HTTP_BAD_REQUEST; ++ } + + ap_unescape_url(parsed_dest_uri.path); + dest_uri = parsed_dest_uri.path; diff --git a/patches/source/subversion/subversion.CVE-2017-9800.diff b/patches/source/subversion/subversion.CVE-2017-9800.diff new file mode 100644 index 000000000..56562213a --- /dev/null +++ b/patches/source/subversion/subversion.CVE-2017-9800.diff @@ -0,0 +1,105 @@ +Patch for Subversion 1.8.18 (works on 1.7.x with an offset) +Index: subversion/libsvn_ra_svn/client.c +=================================================================== +--- subversion/libsvn_ra_svn/client.c (revision 1803926) ++++ subversion/libsvn_ra_svn/client.c (working copy) +@@ -46,6 +46,7 @@ + #include "svn_props.h" + #include "svn_mergeinfo.h" + #include "svn_version.h" ++#include "svn_ctype.h" + + #include "svn_private_config.h" + +@@ -395,7 +396,7 @@ + * versions have it too. If the user is using some other ssh + * implementation that doesn't accept it, they can override it + * in the [tunnels] section of the config. */ +- val = "$SVN_SSH ssh -q"; ++ val = "$SVN_SSH ssh -q --"; + } + + if (!val || !*val) +@@ -435,7 +436,7 @@ + ; + *argv = apr_palloc(pool, (n + 4) * sizeof(char *)); + memcpy((void *) *argv, cmd_argv, n * sizeof(char *)); +- (*argv)[n++] = svn_path_uri_decode(hostinfo, pool); ++ (*argv)[n++] = hostinfo; + (*argv)[n++] = "svnserve"; + (*argv)[n++] = "-t"; + (*argv)[n] = NULL; +@@ -716,7 +717,33 @@ + } + + ++/* A simple whitelist to ensure the following are valid: ++ * user@server ++ * [::1]:22 ++ * server-name ++ * server_name ++ * 127.0.0.1 ++ * with an extra restriction that a leading '-' is invalid. ++ */ ++static svn_boolean_t ++is_valid_hostinfo(const char *hostinfo) ++{ ++ const char *p = hostinfo; + ++ if (p[0] == '-') ++ return FALSE; ++ ++ while (*p) ++ { ++ if (!svn_ctype_isalnum(*p) && !strchr(":.-_[]@", *p)) ++ return FALSE; ++ ++ ++p; ++ } ++ ++ return TRUE; ++} ++ + static svn_error_t *ra_svn_open(svn_ra_session_t *session, + const char **corrected_url, + const char *url, +@@ -740,8 +767,17 @@ + parse_tunnel(url, &tunnel, pool); + + if (tunnel) +- SVN_ERR(find_tunnel_agent(tunnel, uri.hostinfo, &tunnel_argv, config, +- pool)); ++ { ++ const char *decoded_hostinfo; ++ ++ decoded_hostinfo = svn_path_uri_decode(uri.hostinfo, pool); ++ if (!is_valid_hostinfo(decoded_hostinfo)) ++ return svn_error_createf(SVN_ERR_BAD_URL, NULL, _("Invalid host '%s'"), ++ uri.hostinfo); ++ ++ SVN_ERR(find_tunnel_agent(tunnel, decoded_hostinfo, &tunnel_argv, ++ config, pool)); ++ } + else + tunnel_argv = NULL; + +Index: subversion/libsvn_subr/config_file.c +=================================================================== +--- subversion/libsvn_subr/config_file.c (revision 1803926) ++++ subversion/libsvn_subr/config_file.c (working copy) +@@ -1134,12 +1134,12 @@ + "### passed to the tunnel agent as @.) If the" NL + "### built-in ssh scheme were not predefined, it could be defined" NL + "### as:" NL +- "# ssh = $SVN_SSH ssh -q" NL ++ "# ssh = $SVN_SSH ssh -q --" NL + "### If you wanted to define a new 'rsh' scheme, to be used with" NL + "### 'svn+rsh:' URLs, you could do so as follows:" NL +- "# rsh = rsh" NL ++ "# rsh = rsh --" NL + "### Or, if you wanted to specify a full path and arguments:" NL +- "# rsh = /path/to/rsh -l myusername" NL ++ "# rsh = /path/to/rsh -l myusername --" NL + "### On Windows, if you are specifying a full path to a command," NL + "### use a forward slash (/) or a paired backslash (\\\\) as the" NL + "### path separator. A single backslash will be treated as an" NL diff --git a/patches/source/subversion/subversion.SlackBuild b/patches/source/subversion/subversion.SlackBuild new file mode 100755 index 000000000..e612e9be6 --- /dev/null +++ b/patches/source/subversion/subversion.SlackBuild @@ -0,0 +1,183 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-$(echo subversion-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-subversion + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf subversion-$VERSION +tar xvf $CWD/subversion-$VERSION.tar.?z* || exit 1 +cd subversion-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/subversion.CVE-2015-5343.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/subversion.CVE-2016-2167.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/subversion.CVE-2016-2168.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/subversion.CVE-2017-9800.diff.gz | patch -p0 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/subversion-$VERSION \ + --enable-shared \ + --disable-static \ + --with-apr=/usr \ + --with-apr-util=/usr \ + --with-apxs=/usr/bin/apxs \ + --with-neon=/usr \ + --with-zlib=/usr \ + --with-pic \ + --with-ssl \ + --build=$ARCH-slackware-linux || exit 1 + +# Not currently compiling with gcc-4.7.1, but we'll try it again later: +# --with-kwallet \ +# + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +make install-tools DESTDIR=$PKG || exit 1 +make install-docs DESTDIR=$PKG || exit 1 + +# Install python bindings +make swig-py +make install-swig-py DESTDIR=$PKG +PYTHON_VER=$(python -c 'import sys; print "%d.%d" % sys.version_info[:2]') +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/python${PYTHON_VER}/site-packages +mv $PKG/usr/lib${LIBDIRSUFFIX}/svn-python/* \ + $PKG/usr/lib${LIBDIRSUFFIX}/python${PYTHON_VER}/site-packages +rmdir $PKG/usr/lib${LIBDIRSUFFIX}/svn-python + +# Perl bindings +make swig-pl-lib +make install-swig-pl-lib DESTDIR=$PKG +( cd subversion/bindings/swig/perl/native + perl Makefile.PL + make install_vendor DESTDIR=$PKG +) +eval $(perl '-V:archlib') +mv $PKG/$archlib/perllocal.pod $PKG/$archlib/subversion.pod + +# Ruby bindings +make swig-rb +make install-swig-rb DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +rm -rf $PKG/usr/info +# Something doesn't honor --mandir +mv $PKG/usr/share/man/man3 $PKG/usr/man +gzip -9 $PKG/usr/man/man?/* +rmdir $PKG/usr/share/man + +# What is this junk for? Since I don't know, I'll erase it. :-) +rm -rf $PKG/usr/build + +mkdir -p $PKG/usr/doc/subversion-$VERSION +cp -a \ + BUGS COMMITTERS COPYING* HACKING INSTALL README TRANSLATING doc \ + $PKG/usr/doc/subversion-$VERSION +# too big && useless for most || if you think not, can be found in the source tarball +rm -rf $PKG/usr/doc/subversion-$VERSION/doc/tools +# Add the HTML svn book: +( cd $PKG/usr/doc/subversion-$VERSION + tar xf $CWD/svn-book-html.tar.bz2 + mv svn-book-html book + cd book + chown -R root:root . + find . -type d -exec chmod 0755 {} \; + find . -type f -exec chmod 0644 {} \; + find . -perm 2755 -exec chmod 0755 {} \; + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; +) + +# If there's a CHANGES file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES + touch -r CHANGES $DOCSDIR/CHANGES +fi + +# This removes our DESTDIR from the packlist filenames, to keep perl's +# internal inventories consistent and correct. +find $PKG -name .packlist | while read plist ; do + sed -e "s%$PKG%%g" \ + -e "s%/share/man%/man%g" \ + -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \ + ${plist} > ${plist}.new + mv -f ${plist}.new ${plist} +done + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/subversion-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/sudo/doinst.sh b/patches/source/sudo/doinst.sh new file mode 100644 index 000000000..01e3d173e --- /dev/null +++ b/patches/source/sudo/doinst.sh @@ -0,0 +1,14 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/sudoers.new +rm -f etc/sudoers.new diff --git a/patches/source/sudo/slack-desc b/patches/source/sudo/slack-desc new file mode 100644 index 000000000..66f1aa8c9 --- /dev/null +++ b/patches/source/sudo/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +sudo: sudo (give limited root privileges to certain users) +sudo: +sudo: 'sudo' is a command that allows users to execute some commands as +sudo: root. The /etc/sudoers file (edited with 'visudo') specifies which +sudo: users have access to sudo and which commands they can run. 'sudo' +sudo: logs all its activities to /var/log/ so the system administrator +sudo: can keep an eye on things. +sudo: +sudo: +sudo: +sudo: diff --git a/patches/source/sudo/sudo.SlackBuild b/patches/source/sudo/sudo.SlackBuild new file mode 100755 index 000000000..13d23b733 --- /dev/null +++ b/patches/source/sudo/sudo.SlackBuild @@ -0,0 +1,122 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2012, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=sudo +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-sudo + +rm -rf $PKG +mkdir -p $TMP $PKG/var/db + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi + +cd $TMP +rm -rf sudo-$VERSION +tar xvf $CWD/sudo-$VERSION.tar.?z* || exit 1 +cd sudo-$VERSION + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sbindir=/usr/sbin \ + --mandir=/usr/man \ + --docdir=/usr/doc/sudo-$VERSION \ + --with-env-editor \ + --disable-pam-session \ + --with-pam=no \ + --with-rundir=/var/db/sudo \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +( cd $PKG/usr/bin + chmod 4711 sudo + ln -sf sudo sudoedit +) +chmod 755 $PKG/usr/sbin/visudo + +rm -f $PKG/usr/man/man8/sudoedit.8 +gzip -9 $PKG/usr/man/man?/*.? +( cd $PKG/usr/man/man8 ; ln -sf sudo.8.gz sudoedit.8.gz ) + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mv $PKG/etc/sudoers $PKG/etc/sudoers.new + +rm -r $PKG/usr/doc/sudo-$VERSION +mkdir -p $PKG/usr/doc/sudo-$VERSION +cp -a \ + INSTALL NEWS README* \ + doc/{CONTRIBUTORS,HISTORY,LICENSE,TROUBLESHOOTING,UPGRADE} \ + $PKG/usr/doc/sudo-$VERSION +chmod 644 $PKG/usr/doc/sudo-$VERSION/* + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/sudo-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/tcpdump/slack-desc b/patches/source/tcpdump/slack-desc new file mode 100644 index 000000000..5e9696434 --- /dev/null +++ b/patches/source/tcpdump/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +tcpdump: tcpdump (network monitoring tool) +tcpdump: +tcpdump: Tcpdump is a tool for network monitoring and data acquisition. You +tcpdump: can use it to dump information on all the packets on a network that +tcpdump: match a boolean expression. Tcpdump uses libpcap, a system +tcpdump: independent interface for user-level packet capture. +tcpdump: +tcpdump: Project homepage: http://www.tcpdump.org +tcpdump: +tcpdump: +tcpdump: diff --git a/patches/source/tcpdump/tcpdump.SlackBuild b/patches/source/tcpdump/tcpdump.SlackBuild new file mode 100755 index 000000000..f8c6b64e0 --- /dev/null +++ b/patches/source/tcpdump/tcpdump.SlackBuild @@ -0,0 +1,104 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=tcpdump +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-tcpdump + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf tcpdump-$VERSION + +# To (try to) avoid weird errors, take an axe to this: +rm -rf $TMP/libpcap-?.?.? + +tar xvf $CWD/tcpdump-$VERSION.tar.xz || exit 1 +cd tcpdump-$VERSION || exit 1 +find . -type d -name CVS -depth -exec rm -rf {} \; +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/tcpdump-$VERSION \ + --enable-ipv6 \ + --build=$ARCH-slackware-linux +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strange, two identical files: +( cd $PKG/usr/sbin + rm -f tcpdump + ln -s tcpdump.$VERSION tcpdump +) || exit 1 + +mkdir -p $PKG/usr/doc/tcpdump-$VERSION +cp -a \ + CHANGES CREDITS FILES INSTALL.txt LICENSE README* VERSION \ + $PKG/usr/doc/tcpdump-$VERSION + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress man pages +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/tcpdump-$VERSION-$ARCH-$BUILD.txz + diff --git a/patches/source/tumbler/set-gststate-on-error.diff b/patches/source/tumbler/set-gststate-on-error.diff new file mode 100644 index 000000000..042c03ecd --- /dev/null +++ b/patches/source/tumbler/set-gststate-on-error.diff @@ -0,0 +1,23 @@ +Description: Close file on error +Origin: other, https://bugzilla.xfce.org/attachment.cgi?id=4447 +Bug: https://bugzilla.xfce.org/show_bug.cgi?id=8303 +Bug-Ubuntu: https://launchpad.net/bugs/995918 + +--- tumbler-0.1.25.orig/plugins/gst-thumbnailer/gst-thumbnailer.c ++++ tumbler-0.1.25/plugins/gst-thumbnailer/gst-thumbnailer.c +@@ -233,6 +233,7 @@ make_pipeline (TumblerFileInfo *info, + if (state == GST_STATE_CHANGE_FAILURE || state == GST_STATE_CHANGE_ASYNC) + { + LOG ("failed to or still changing state, aborting (state change %d)", state); ++ gst_element_set_state (playbin, GST_STATE_NULL); + g_object_unref (playbin); + return NULL; + } +@@ -241,6 +242,7 @@ make_pipeline (TumblerFileInfo *info, + if (n_video == 0) + { + LOG ("no video stream, aborting"); ++ gst_element_set_state (playbin, GST_STATE_NULL); + g_object_unref (playbin); + return NULL; + } diff --git a/patches/source/tumbler/slack-desc b/patches/source/tumbler/slack-desc new file mode 100644 index 000000000..d40670e40 --- /dev/null +++ b/patches/source/tumbler/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +tumbler: tumbler (thumbnail generator) +tumbler: +tumbler: Tumbler is a D-Bus service for applications to request thumbnails +tumbler: for various URI schemes and MIME types. It is written in an object- +tumbler: oriented fashion using GLib and GObject. It provides plugin +tumbler: interfaces for extending the URI schemes and MIME types for which +tumbler: thumbnails can be generated as well as for replacing the storage +tumbler: backend that is used to store the thumbnails on disk. +tumbler: +tumbler: +tumbler: diff --git a/patches/source/tumbler/tumbler.SlackBuild b/patches/source/tumbler/tumbler.SlackBuild new file mode 100755 index 000000000..a671a3616 --- /dev/null +++ b/patches/source/tumbler/tumbler.SlackBuild @@ -0,0 +1,137 @@ +#!/bin/sh + +# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=tumbler +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-3_slack14.0} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +NUMJOBS=${NUMJOBS:--j6} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +zcat $CWD/set-gststate-on-error.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-static \ + --disable-debug \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# We don't want icon caches: +find $PKG/usr/share/icons -type f -name "icon-theme.cache" -exec rm -f {} \; + +# Add a documentation directory. Not all of these files are expected to be +# present, but listing them ensures that documentation that might appear and +# disappear from version to version will not be missed. +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS BUGS COMPOSITOR COPYING* FAQ HACKING INSTALL \ + NEWS NOTES README* THANKS TODO example.gtkrc-2.0 \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/udisks/slack-desc b/patches/source/udisks/slack-desc new file mode 100644 index 000000000..a85adeb4d --- /dev/null +++ b/patches/source/udisks/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +udisks: udisks (storage device daemon) +udisks: +udisks: The udisks project provides a storage daemon that implements D-Bus +udisks: interfaces that can be used to query and manipulate storage devices. +udisks: +udisks: It also includes a command-line tool, udisks(1), that can be used to +udisks: query and control the daemon. +udisks: +udisks: Homepage: http://www.freedesktop.org/wiki/Software/udisks +udisks: +udisks: diff --git a/patches/source/udisks/udisks.SlackBuild b/patches/source/udisks/udisks.SlackBuild new file mode 100755 index 000000000..e45be6cff --- /dev/null +++ b/patches/source/udisks/udisks.SlackBuild @@ -0,0 +1,119 @@ +#!/bin/sh + +# Slackware build script for udisks + +# Copyright 2010, 2011, 2014 Robby Workman, Northport, Alabama, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2012 by Eric Hameleers for ARM port. + + +PKGNAM=udisks +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1_slack14.0} + +NUMJOBS=${NUMJOBS:--j7} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --build=$TARGET + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Move the bash completion file to the right place +mkdir -p $PKG/etc/bash_completion.d +mv $PKG/etc/profile.d/udisks-bash-completion.sh \ + $PKG/etc/bash_completion.d/udisks + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING ChangeLog HACKING INSTALL NEWS README \ + $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/udisks/udisks.url b/patches/source/udisks/udisks.url new file mode 100644 index 000000000..cef0134ba --- /dev/null +++ b/patches/source/udisks/udisks.url @@ -0,0 +1 @@ +http://hal.freedesktop.org/releases/ diff --git a/patches/source/udisks2/doinst.sh b/patches/source/udisks2/doinst.sh new file mode 100644 index 000000000..c186599af --- /dev/null +++ b/patches/source/udisks2/doinst.sh @@ -0,0 +1,12 @@ +# udisks2 is stupid about testing files before using them. If /etc/crypttab +# does not exist, it will fill the log with "errors" as it tries to open the +# nonexistent file. There's really no reason that a system without encrypted +# volumes should require this file, but nobody upstream cares to fix the +# problem (and the code's too messy for me to find it), so we have little +# choice but to trowel over this. (sigh) + +if [ ! -r etc/crypttab ]; then + # echo "HEY, EVERYONE SHOULD HAVE A CRYPTTAB!!!" (just kidding) + touch etc/crypttab +fi + diff --git a/patches/source/udisks2/slack-desc b/patches/source/udisks2/slack-desc new file mode 100644 index 000000000..0d6d44272 --- /dev/null +++ b/patches/source/udisks2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +udisks2: udisks2 (storage device daemon v2) +udisks2: +udisks2: The udisks project provides a storage daemon that implements D-Bus +udisks2: interfaces that can be used to query and manipulate storage devices. +udisks2: +udisks2: It also includes a command-line tool, udisks(1), that can be used to +udisks2: query and control the daemon. +udisks2: +udisks2: Homepage: http://www.freedesktop.org/wiki/Software/udisks +udisks2: +udisks2: diff --git a/patches/source/udisks2/udisks2.CVE-2014-0004.diff b/patches/source/udisks2/udisks2.CVE-2014-0004.diff new file mode 100644 index 000000000..0c81d16ad --- /dev/null +++ b/patches/source/udisks2/udisks2.CVE-2014-0004.diff @@ -0,0 +1,106 @@ +From 24496747b648d1a7bd0d6da1ef3759f035ba1cd6 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Wed, 05 Mar 2014 12:47:15 +0000 +Subject: Fix buffer overflow in mount path parsing + +In the mount monitor we parse mount points from /proc/self/mountinfo and +/proc/swaps. Ensure that we don't overflow the buffers on platforms where mount +paths could be longer than PATH_MAX (unknown if that can actually happen), as +at least the mount paths for hotpluggable devices are somewhat user-controlled. + +Thanks to Florian Weimer for discovering this bug, and to David Zeuthen +for his initial patch! + +CVE-2014-0004 +--- +diff --git a/src/udisksmountmonitor.c b/src/udisksmountmonitor.c +index 8af1028..e7097fa 100644 +--- a/src/udisksmountmonitor.c ++++ b/src/udisksmountmonitor.c +@@ -38,6 +38,11 @@ + #include "udisksmount.h" + #include "udisksprivate.h" + ++/* build a %Ns format string macro with N == PATH_MAX */ ++#define xstr(s) str(s) ++#define str(s) #s ++#define PATH_MAX_FMT "%" xstr(PATH_MAX) "s" ++ + /** + * SECTION:udisksmountmonitor + * @title: UDisksMountMonitor +@@ -416,8 +421,8 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor, + guint mount_id; + guint parent_id; + guint major, minor; +- gchar encoded_root[PATH_MAX]; +- gchar encoded_mount_point[PATH_MAX]; ++ gchar encoded_root[PATH_MAX + 1]; ++ gchar encoded_mount_point[PATH_MAX + 1]; + gchar *mount_point; + dev_t dev; + +@@ -425,7 +430,7 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor, + continue; + + if (sscanf (lines[n], +- "%d %d %d:%d %s %s", ++ "%d %d %d:%d " PATH_MAX_FMT " " PATH_MAX_FMT, + &mount_id, + &parent_id, + &major, +@@ -436,6 +441,8 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor, + udisks_warning ("Error parsing line '%s'", lines[n]); + continue; + } ++ encoded_root[sizeof encoded_root - 1] = '\0'; ++ encoded_mount_point[sizeof encoded_mount_point - 1] = '\0'; + + /* Temporary work-around for btrfs, see + * +@@ -450,15 +457,17 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor, + sep = strstr (lines[n], " - "); + if (sep != NULL) + { +- gchar fstype[PATH_MAX]; +- gchar mount_source[PATH_MAX]; ++ gchar fstype[PATH_MAX + 1]; ++ gchar mount_source[PATH_MAX + 1]; + struct stat statbuf; + +- if (sscanf (sep + 3, "%s %s", fstype, mount_source) != 2) ++ if (sscanf (sep + 3, PATH_MAX_FMT " " PATH_MAX_FMT, fstype, mount_source) != 2) + { + udisks_warning ("Error parsing things past - for '%s'", lines[n]); + continue; + } ++ fstype[sizeof fstype - 1] = '\0'; ++ mount_source[sizeof mount_source - 1] = '\0'; + + if (g_strcmp0 (fstype, "btrfs") != 0) + continue; +@@ -546,7 +555,7 @@ udisks_mount_monitor_get_swaps (UDisksMountMonitor *monitor, + lines = g_strsplit (contents, "\n", 0); + for (n = 0; lines[n] != NULL; n++) + { +- gchar filename[PATH_MAX]; ++ gchar filename[PATH_MAX + 1]; + struct stat statbuf; + dev_t dev; + +@@ -557,11 +566,12 @@ udisks_mount_monitor_get_swaps (UDisksMountMonitor *monitor, + if (strlen (lines[n]) == 0) + continue; + +- if (sscanf (lines[n], "%s", filename) != 1) ++ if (sscanf (lines[n], PATH_MAX_FMT, filename) != 1) + { + udisks_warning ("Error parsing line '%s'", lines[n]); + continue; + } ++ filename[sizeof filename - 1] = '\0'; + + if (stat (filename, &statbuf) != 0) + { +-- +cgit v0.9.0.2-2-gbebe diff --git a/patches/source/udisks2/udisks2.SlackBuild b/patches/source/udisks2/udisks2.SlackBuild new file mode 100755 index 000000000..63bb0c1f6 --- /dev/null +++ b/patches/source/udisks2/udisks2.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/sh + +# Slackware build script for udisks + +# Copyright 2010, 2011, 2014 Robby Workman, Northport, Alabama, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified 2012 by Eric Hameleers for ARM port. + +PKGNAM=udisks2 +SRCNAM=udisks +VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.0} + +NUMJOBS=${NUMJOBS:--j7} + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.xz || exit 1 +cd $SRCNAM-$VERSION || exit 1 + +zcat $CWD/udisks2.CVE-2014-0004.diff.gz | patch -p1 --verbose || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --build=$TARGET || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Don't ship .la files: +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING* HACKING INSTALL NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/patches/source/vim/doinst.sh b/patches/source/vim/doinst.sh new file mode 100644 index 000000000..f1ccd5ca3 --- /dev/null +++ b/patches/source/vim/doinst.sh @@ -0,0 +1,5 @@ + +# If there's no vi link, take over: +if [ ! -r usr/bin/vi ]; then + ( cd usr/bin ; ln -sf vim vi ) +fi diff --git a/patches/source/vim/gvim.desktop b/patches/source/vim/gvim.desktop new file mode 100644 index 000000000..520c72e61 --- /dev/null +++ b/patches/source/vim/gvim.desktop @@ -0,0 +1,120 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Vi IMproved +Name[af]=Vi Verbeterde +Name[ar]=ÙÙŠ.أي المحسن +Name[bn]=ভি-আই উনà§à¦¨à¦¤ +Name[br]=Vi gwellaet +Name[ca]=Vi millorat +Name[cy]=VIM (Vi wedi'i wella) +Name[da]=Vi IMproved (Vi forbedret) +Name[eo]=VIM +Name[fa]=Vi پیشرÙت کرده VIM +Name[hi]=वीआई इमà¥à¤ªà¥à¤°à¥‚वà¥à¤¡ +Name[hu]=VIM +Name[is]=Vi endurbættur (vim) +Name[it]=Vi iMproved +Name[ko]=ë” ë‚˜ì€ Vi +Name[mn]=СайжирÑан Vi +Name[nso]=KAonafaditswe ka Vi +Name[oc]=VI aMillorat +Name[pl]=Poprawiony VI (vim) +Name[pt_BR]=Vi melhorado +Name[ru]=Улучшенный vi +Name[rw]=Vi Ivuguruwe +Name[sl]=IzboljÅ¡ani vi (vim) +Name[sv]=Förbättrad Vi +Name[ta]=Vi மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ +Name[tg]=Vi пешрафт кардаи VIM +Name[th]=VI IMprove +Name[uz]=Яхшиланган Vi +Name[ven]=Vi Khwinifhadzhwa +Name[vi]=Vi Cải tiến +Name[wa]=VIM +Name[zh_CN]=改进的 VI (VIM) +Name[zh_TW]=VIM +Name[zu]=I-Vi yenziwe ngcono +GenericName=Text Editor +GenericName[af]=Teks Redigeerder +GenericName[ar]=محرر نصوص +GenericName[az]=MÉ™tn Editoru +GenericName[be]=ТÑкÑтавы Ñ€Ñдактар +GenericName[bg]=ТекÑтов редактор +GenericName[bn]=টেকà§à¦¸à¦Ÿ সমà§à¦ªà¦¾à¦¦à¦• +GenericName[br]=Aozer skrid +GenericName[bs]=Tekst editor +GenericName[ca]=Editor de text +GenericName[cs]=Textový editor +GenericName[cy]=Golygydd Testun +GenericName[da]= Teksteditor +GenericName[de]=Texteditor +GenericName[el]=ΕπεξεÏγαστής κειμένου +GenericName[eo]=Tekstredaktilo +GenericName[es]=Editor de texto +GenericName[et]=Tekstiredaktor +GenericName[eu]=Testu editorea +GenericName[fa]=ویرایشگر متن +GenericName[fi]=Tekstieditori +GenericName[fo]=Tekstritil +GenericName[fr]=Éditeur de texte +GenericName[fy]=Tekst Bewurker +GenericName[ga]=Eagarthóir Téacs +GenericName[gl]=Editor de Textos +GenericName[he]=עורך טקסט +GenericName[hi]=पाठ संपादक +GenericName[hr]=UreÄ‘ivaÄ teksta +GenericName[hsb]=Wobdźěłar tekstow +GenericName[hu]=SzövegszerkesztÅ‘ +GenericName[is]=Textaritill +GenericName[it]=Editor di testi +GenericName[ja]=テキストエディタ +GenericName[km]=កម្មវិធី​វាយ​អážáŸ’ážáž”áž‘ +GenericName[ko]=글월 편집기 +GenericName[lo]=ເຄື່ອງມືà»àºà»‰à»„ຂຂà»à»‰àº„ວາມ +GenericName[lt]=Teksto rengyklÄ— +GenericName[lv]=Teksta Redaktors +GenericName[mk]=Уредувач на текÑÑ‚ +GenericName[mn]=ТекÑÑ‚ боловÑруулагч +GenericName[ms]=Penyunting Teks +GenericName[mt]=Editur tat-test +GenericName[nb]=Skriveprogram +GenericName[nds]=Texteditor +GenericName[nl]=Teksteditor +GenericName[nn]=Skriveprogram +GenericName[nso]=Mofetosi wa Sengwalwana +GenericName[pa]=ਪਾਠ ਸੰਪਾਦਕ +GenericName[pl]=Edytor tekstu +GenericName[pt]=Editor de Texto +GenericName[pt_BR]=Editor de Texto +GenericName[ro]=Editor de text +GenericName[ru]=ТекÑтовый редактор +GenericName[rw]=Muhinduzi Umwandiko +GenericName[se]=Čállinprográmma +GenericName[sk]=Textový editor +GenericName[sl]=Urejevalnik besedil +GenericName[sr]=Уређивач текÑта +GenericName[sr@Latn]=UreÄ‘ivaÄ teksta +GenericName[ss]=Sihleli sembhalo +GenericName[sv]=Texteditor +GenericName[ta]=உரை தொகà¯à®ªà¯à®ªà®¾à®³à®°à¯ +GenericName[tg]=Муҳаррири матн +GenericName[th]=โปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ขข้อความ +GenericName[tr]=Metin Düzenleyici +GenericName[tt]=Mäten Tözätkeçe +GenericName[uk]=Редактор текÑтів +GenericName[uz]=Матн таҳрирчи +GenericName[ven]=Musengulusi wa Manwalwa +GenericName[vi]=Trình soạn văn bản +GenericName[wa]=Aspougneu di tecse +GenericName[xh]=Umhleli Wombhalo +GenericName[zh_CN]=文本编辑器 +GenericName[zh_TW]=文字編輯器 +GenericName[zu]=Umlungisi wombhalo +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=gvim -f %f +Icon=gvim.png +Type=Application +Terminal=false +X-KDE-StartupNotify=true +X-KDE-AuthorizeAction=shell_access +Categories=TextEditor; diff --git a/patches/source/vim/gvim.png b/patches/source/vim/gvim.png new file mode 100644 index 000000000..2bdc8bd8c Binary files /dev/null and b/patches/source/vim/gvim.png differ diff --git a/patches/source/vim/patches/7.4.001 b/patches/source/vim/patches/7.4.001 new file mode 100644 index 000000000..5788972a5 --- /dev/null +++ b/patches/source/vim/patches/7.4.001 @@ -0,0 +1,489 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.001 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.001 +Problem: Character classes such as [a-z] to not react to 'ignorecase'. + Breaks man page highlighting. (Mario Grgic) +Solution: Add separate items for classes that react to 'ignorecase'. Clean + up logic handling character classes. Add more tests. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.000/src/regexp_nfa.c 2013-08-01 18:27:51.000000000 +0200 +--- src/regexp_nfa.c 2013-08-14 11:49:50.000000000 +0200 +*************** +*** 29,34 **** +--- 29,37 ---- + # define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log" + #endif + ++ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */ ++ #define NFA_ADD_NL 31 ++ + enum + { + NFA_SPLIT = -1024, +*************** +*** 183,188 **** +--- 186,198 ---- + NFA_NLOWER, /* Match non-lowercase char */ + NFA_UPPER, /* Match uppercase char */ + NFA_NUPPER, /* Match non-uppercase char */ ++ NFA_LOWER_IC, /* Match [a-z] */ ++ NFA_NLOWER_IC, /* Match [^a-z] */ ++ NFA_UPPER_IC, /* Match [A-Z] */ ++ NFA_NUPPER_IC, /* Match [^A-Z] */ ++ ++ NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL, ++ NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL, + + NFA_CURSOR, /* Match cursor pos */ + NFA_LNUM, /* Match line number */ +*************** +*** 199,207 **** + NFA_MARK_LT, /* Match < mark */ + NFA_VISUAL, /* Match Visual area */ + +- NFA_FIRST_NL = NFA_ANY + ADD_NL, +- NFA_LAST_NL = NFA_NUPPER + ADD_NL, +- + /* Character classes [:alnum:] etc */ + NFA_CLASS_ALNUM, + NFA_CLASS_ALPHA, +--- 209,214 ---- +*************** +*** 578,583 **** +--- 585,592 ---- + * On failure, return 0 (=FAIL) + * Start points to the first char of the range, while end should point + * to the closing brace. ++ * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may ++ * need to be interpreted as [a-zA-Z]. + */ + static int + nfa_recognize_char_class(start, end, extra_newl) +*************** +*** 681,687 **** + return FAIL; + + if (newl == TRUE) +! extra_newl = ADD_NL; + + switch (config) + { +--- 690,696 ---- + return FAIL; + + if (newl == TRUE) +! extra_newl = NFA_ADD_NL; + + switch (config) + { +*************** +*** 710,722 **** + case CLASS_not | CLASS_az | CLASS_AZ: + return extra_newl + NFA_NALPHA; + case CLASS_az: +! return extra_newl + NFA_LOWER; + case CLASS_not | CLASS_az: +! return extra_newl + NFA_NLOWER; + case CLASS_AZ: +! return extra_newl + NFA_UPPER; + case CLASS_not | CLASS_AZ: +! return extra_newl + NFA_NUPPER; + } + return FAIL; + } +--- 719,731 ---- + case CLASS_not | CLASS_az | CLASS_AZ: + return extra_newl + NFA_NALPHA; + case CLASS_az: +! return extra_newl + NFA_LOWER_IC; + case CLASS_not | CLASS_az: +! return extra_newl + NFA_NLOWER_IC; + case CLASS_AZ: +! return extra_newl + NFA_UPPER_IC; + case CLASS_not | CLASS_AZ: +! return extra_newl + NFA_NUPPER_IC; + } + return FAIL; + } +*************** +*** 914,920 **** + break; + } + +! extra = ADD_NL; + + /* "\_[" is collection plus newline */ + if (c == '[') +--- 923,929 ---- + break; + } + +! extra = NFA_ADD_NL; + + /* "\_[" is collection plus newline */ + if (c == '[') +*************** +*** 970,976 **** + } + #endif + EMIT(nfa_classcodes[p - classchars]); +! if (extra == ADD_NL) + { + EMIT(NFA_NEWL); + EMIT(NFA_OR); +--- 979,985 ---- + } + #endif + EMIT(nfa_classcodes[p - classchars]); +! if (extra == NFA_ADD_NL) + { + EMIT(NFA_NEWL); + EMIT(NFA_OR); +*************** +*** 1240,1260 **** + { + /* + * Try to reverse engineer character classes. For example, +! * recognize that [0-9] stands for \d and [A-Za-z_] with \h, + * and perform the necessary substitutions in the NFA. + */ + result = nfa_recognize_char_class(regparse, endp, +! extra == ADD_NL); + if (result != FAIL) + { +! if (result >= NFA_DIGIT && result <= NFA_NUPPER) +! EMIT(result); +! else /* must be char class + newline */ + { +! EMIT(result - ADD_NL); + EMIT(NFA_NEWL); + EMIT(NFA_OR); + } + regparse = endp; + mb_ptr_adv(regparse); + return OK; +--- 1249,1269 ---- + { + /* + * Try to reverse engineer character classes. For example, +! * recognize that [0-9] stands for \d and [A-Za-z_] for \h, + * and perform the necessary substitutions in the NFA. + */ + result = nfa_recognize_char_class(regparse, endp, +! extra == NFA_ADD_NL); + if (result != FAIL) + { +! if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL) + { +! EMIT(result - NFA_ADD_NL); + EMIT(NFA_NEWL); + EMIT(NFA_OR); + } ++ else ++ EMIT(result); + regparse = endp; + mb_ptr_adv(regparse); + return OK; +*************** +*** 1504,1510 **** + * collection, add an OR below. But not for negated + * range. */ + if (!negated) +! extra = ADD_NL; + } + else + { +--- 1513,1519 ---- + * collection, add an OR below. But not for negated + * range. */ + if (!negated) +! extra = NFA_ADD_NL; + } + else + { +*************** +*** 1537,1543 **** + EMIT(NFA_END_COLL); + + /* \_[] also matches \n but it's not negated */ +! if (extra == ADD_NL) + { + EMIT(reg_string ? NL : NFA_NEWL); + EMIT(NFA_OR); +--- 1546,1552 ---- + EMIT(NFA_END_COLL); + + /* \_[] also matches \n but it's not negated */ +! if (extra == NFA_ADD_NL) + { + EMIT(reg_string ? NL : NFA_NEWL); + EMIT(NFA_OR); +*************** +*** 2011,2017 **** + if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL) + { + addnl = TRUE; +! c -= ADD_NL; + } + + STRCPY(code, ""); +--- 2020,2026 ---- + if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL) + { + addnl = TRUE; +! c -= NFA_ADD_NL; + } + + STRCPY(code, ""); +*************** +*** 2217,2222 **** +--- 2226,2235 ---- + case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break; + case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break; + case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break; ++ case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break; ++ case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break; ++ case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break; ++ case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break; + + default: + STRCPY(code, "CHAR(x)"); +*************** +*** 2687,2692 **** +--- 2700,2709 ---- + case NFA_NLOWER: + case NFA_UPPER: + case NFA_NUPPER: ++ case NFA_LOWER_IC: ++ case NFA_NLOWER_IC: ++ case NFA_UPPER_IC: ++ case NFA_NUPPER_IC: + /* possibly non-ascii */ + #ifdef FEAT_MBYTE + if (has_mbyte) +*************** +*** 3841,3846 **** +--- 3858,3867 ---- + case NFA_NLOWER: + case NFA_UPPER: + case NFA_NUPPER: ++ case NFA_LOWER_IC: ++ case NFA_NLOWER_IC: ++ case NFA_UPPER_IC: ++ case NFA_NUPPER_IC: + case NFA_START_COLL: + case NFA_START_NEG_COLL: + case NFA_NEWL: +*************** +*** 5872,5877 **** +--- 5893,5920 ---- + ADD_STATE_IF_MATCH(t->state); + break; + ++ case NFA_LOWER_IC: /* [a-z] */ ++ result = ri_lower(curc) || (ireg_ic && ri_upper(curc)); ++ ADD_STATE_IF_MATCH(t->state); ++ break; ++ ++ case NFA_NLOWER_IC: /* [^a-z] */ ++ result = curc != NUL ++ && !(ri_lower(curc) || (ireg_ic && ri_upper(curc))); ++ ADD_STATE_IF_MATCH(t->state); ++ break; ++ ++ case NFA_UPPER_IC: /* [A-Z] */ ++ result = ri_upper(curc) || (ireg_ic && ri_lower(curc)); ++ ADD_STATE_IF_MATCH(t->state); ++ break; ++ ++ case NFA_NUPPER_IC: /* ^[A-Z] */ ++ result = curc != NUL ++ && !(ri_upper(curc) || (ireg_ic && ri_lower(curc))); ++ ADD_STATE_IF_MATCH(t->state); ++ break; ++ + case NFA_BACKREF1: + case NFA_BACKREF2: + case NFA_BACKREF3: +*** ../vim-7.4.000/src/testdir/test64.in 2013-08-01 17:45:33.000000000 +0200 +--- src/testdir/test64.in 2013-08-14 11:50:11.000000000 +0200 +*************** +*** 289,303 **** + :call add(tl, [2, '.a\%$', " a\n "]) + :call add(tl, [2, '.a\%$', " a\n_a", "_a"]) + :" +! :"""" Test recognition of some character classes +! :call add(tl, [2, '[0-9]', '8', '8']) +! :call add(tl, [2, '[^0-9]', '8']) +! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7']) +! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7']) +! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij']) +! :call add(tl, [2, '[a-z]', 'a', 'a']) +! :call add(tl, [2, '[a-zA-Z]', 'a', 'a']) +! :call add(tl, [2, '[A-Z]', 'a']) + :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) + :" + :"""" Tests for \z features +--- 289,317 ---- + :call add(tl, [2, '.a\%$', " a\n "]) + :call add(tl, [2, '.a\%$', " a\n_a", "_a"]) + :" +! :"""" Test recognition of character classes +! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567']) +! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89']) +! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789']) +! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% ']) +! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef']) +! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% ']) +! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij']) +! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% ']) +! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ']) +! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% ']) +! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz']) +! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz']) +! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% ']) +! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%']) +! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ']) +! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ ']) +! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ']) +! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%']) +! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ']) +! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ']) +! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ ']) +! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ ']) + :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) + :" + :"""" Tests for \z features +*** ../vim-7.4.000/src/testdir/test64.ok 2013-08-01 18:28:56.000000000 +0200 +--- src/testdir/test64.ok 2013-08-14 11:50:37.000000000 +0200 +*************** +*** 650,679 **** + OK 0 - .a\%$ + OK 1 - .a\%$ + OK 2 - .a\%$ +! OK 0 - [0-9] +! OK 1 - [0-9] +! OK 2 - [0-9] +! OK 0 - [^0-9] +! OK 1 - [^0-9] +! OK 2 - [^0-9] +! OK 0 - [0-9a-fA-F]* +! OK 1 - [0-9a-fA-F]* +! OK 2 - [0-9a-fA-F]* + OK 0 - [^0-9A-Fa-f]\+ + OK 1 - [^0-9A-Fa-f]\+ + OK 2 - [^0-9A-Fa-f]\+ + OK 0 - [a-z_A-Z0-9]\+ + OK 1 - [a-z_A-Z0-9]\+ + OK 2 - [a-z_A-Z0-9]\+ +! OK 0 - [a-z] +! OK 1 - [a-z] +! OK 2 - [a-z] +! OK 0 - [a-zA-Z] +! OK 1 - [a-zA-Z] +! OK 2 - [a-zA-Z] +! OK 0 - [A-Z] +! OK 1 - [A-Z] +! OK 2 - [A-Z] + OK 0 - \C[^A-Z]\+ + OK 1 - \C[^A-Z]\+ + OK 2 - \C[^A-Z]\+ +--- 650,721 ---- + OK 0 - .a\%$ + OK 1 - .a\%$ + OK 2 - .a\%$ +! OK 0 - [0-7]\+ +! OK 1 - [0-7]\+ +! OK 2 - [0-7]\+ +! OK 0 - [^0-7]\+ +! OK 1 - [^0-7]\+ +! OK 2 - [^0-7]\+ +! OK 0 - [0-9]\+ +! OK 1 - [0-9]\+ +! OK 2 - [0-9]\+ +! OK 0 - [^0-9]\+ +! OK 1 - [^0-9]\+ +! OK 2 - [^0-9]\+ +! OK 0 - [0-9a-fA-F]\+ +! OK 1 - [0-9a-fA-F]\+ +! OK 2 - [0-9a-fA-F]\+ + OK 0 - [^0-9A-Fa-f]\+ + OK 1 - [^0-9A-Fa-f]\+ + OK 2 - [^0-9A-Fa-f]\+ + OK 0 - [a-z_A-Z0-9]\+ + OK 1 - [a-z_A-Z0-9]\+ + OK 2 - [a-z_A-Z0-9]\+ +! OK 0 - [^a-z_A-Z0-9]\+ +! OK 1 - [^a-z_A-Z0-9]\+ +! OK 2 - [^a-z_A-Z0-9]\+ +! OK 0 - [a-z_A-Z]\+ +! OK 1 - [a-z_A-Z]\+ +! OK 2 - [a-z_A-Z]\+ +! OK 0 - [^a-z_A-Z]\+ +! OK 1 - [^a-z_A-Z]\+ +! OK 2 - [^a-z_A-Z]\+ +! OK 0 - [a-z]\+ +! OK 1 - [a-z]\+ +! OK 2 - [a-z]\+ +! OK 0 - [a-z]\+ +! OK 1 - [a-z]\+ +! OK 2 - [a-z]\+ +! OK 0 - [^a-z]\+ +! OK 1 - [^a-z]\+ +! OK 2 - [^a-z]\+ +! OK 0 - [^a-z]\+ +! OK 1 - [^a-z]\+ +! OK 2 - [^a-z]\+ +! OK 0 - [a-zA-Z]\+ +! OK 1 - [a-zA-Z]\+ +! OK 2 - [a-zA-Z]\+ +! OK 0 - [^a-zA-Z]\+ +! OK 1 - [^a-zA-Z]\+ +! OK 2 - [^a-zA-Z]\+ +! OK 0 - [A-Z]\+ +! OK 1 - [A-Z]\+ +! OK 2 - [A-Z]\+ +! OK 0 - [^A-Z]\+ +! OK 1 - [^A-Z]\+ +! OK 2 - [^A-Z]\+ +! OK 0 - [a-z]\+\c +! OK 1 - [a-z]\+\c +! OK 2 - [a-z]\+\c +! OK 0 - [A-Z]\+\c +! OK 1 - [A-Z]\+\c +! OK 2 - [A-Z]\+\c +! OK 0 - \c[^a-z]\+ +! OK 1 - \c[^a-z]\+ +! OK 2 - \c[^a-z]\+ +! OK 0 - \c[^A-Z]\+ +! OK 1 - \c[^A-Z]\+ +! OK 2 - \c[^A-Z]\+ + OK 0 - \C[^A-Z]\+ + OK 1 - \C[^A-Z]\+ + OK 2 - \C[^A-Z]\+ +*** ../vim-7.4.000/src/version.c 2013-08-10 13:29:20.000000000 +0200 +--- src/version.c 2013-08-14 11:54:57.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1, + /**/ + +-- +How many light bulbs does it take to change a person? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.002 b/patches/source/vim/patches/7.4.002 new file mode 100644 index 000000000..d92f4de6c --- /dev/null +++ b/patches/source/vim/patches/7.4.002 @@ -0,0 +1,77 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.002 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4b.002 +Problem: Pattern with two alternative look-behind matches does not match. + (Amadeus Demarzi) +Solution: When comparing PIMs also compare their state ID to see if they are + different. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.001/src/regexp_nfa.c 2013-08-14 12:05:54.000000000 +0200 +--- src/regexp_nfa.c 2013-08-14 13:12:09.000000000 +0200 +*************** +*** 3782,3787 **** +--- 3782,3790 ---- + if (two_unused) + /* one is used and two is not: not equal */ + return FALSE; ++ /* compare the state id */ ++ if (one->state->id != two->state->id) ++ return FALSE; + /* compare the position */ + if (REG_MULTI) + return one->end.pos.lnum == two->end.pos.lnum +*** ../vim-7.4.001/src/testdir/test64.in 2013-08-14 12:05:54.000000000 +0200 +--- src/testdir/test64.in 2013-08-14 12:58:38.000000000 +0200 +*************** +*** 421,426 **** +--- 421,429 ---- + :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo']) + :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo']) + :" ++ :" complicated look-behind match ++ :call add(tl, [2, '\(r\@<=\|\w\@ + :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) + :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) +*** ../vim-7.4.001/src/testdir/test64.ok 2013-08-14 12:05:54.000000000 +0200 +--- src/testdir/test64.ok 2013-08-14 13:14:09.000000000 +0200 +*************** +*** 974,979 **** +--- 974,982 ---- + OK 0 - \(foo\)\@<=.* + OK 1 - \(foo\)\@<=.* + OK 2 - \(foo\)\@<=.* ++ OK 0 - \(r\@<=\|\w\@a + OK 1 - \(a*\)\@>a + OK 2 - \(a*\)\@>a +*** ../vim-7.4.001/src/version.c 2013-08-14 12:05:54.000000000 +0200 +--- src/version.c 2013-08-14 13:13:45.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 2, + /**/ + +-- +From "know your smileys": + :-)-O Smiling doctor with stethoscope + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.003 b/patches/source/vim/patches/7.4.003 new file mode 100644 index 000000000..9aad3c8c8 --- /dev/null +++ b/patches/source/vim/patches/7.4.003 @@ -0,0 +1,100 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.003 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.003 +Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow) +Solution: Refresh stale pointer. (James McCoy) +Files: src/regexp_nfa.c + + +*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200 +--- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200 +*************** +*** 4120,4126 **** + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZOPEN) + { + subidx = state->c - NFA_ZOPEN; + sub = &subs->synt; +--- 4120,4126 ---- + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) + { + subidx = state->c - NFA_ZOPEN; + sub = &subs->synt; +*************** +*** 4189,4194 **** +--- 4189,4201 ---- + } + + subs = addstate(l, state->out, subs, pim, off); ++ /* "subs" may have changed, need to set "sub" again */ ++ #ifdef FEAT_SYN_HL ++ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) ++ sub = &subs->synt; ++ else ++ #endif ++ sub = &subs->norm; + + if (save_in_use == -1) + { +*************** +*** 4237,4243 **** + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZCLOSE) + { + subidx = state->c - NFA_ZCLOSE; + sub = &subs->synt; +--- 4244,4250 ---- + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) + { + subidx = state->c - NFA_ZCLOSE; + sub = &subs->synt; +*************** +*** 4281,4286 **** +--- 4288,4300 ---- + } + + subs = addstate(l, state->out, subs, pim, off); ++ /* "subs" may have changed, need to set "sub" again */ ++ #ifdef FEAT_SYN_HL ++ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) ++ sub = &subs->synt; ++ else ++ #endif ++ sub = &subs->norm; + + if (REG_MULTI) + sub->list.multi[subidx].end = save_lpos; +*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200 +--- src/version.c 2013-08-14 14:03:51.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 3, + /**/ + +-- +Where do you want to crash today? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.004 b/patches/source/vim/patches/7.4.004 new file mode 100644 index 000000000..f629d673f --- /dev/null +++ b/patches/source/vim/patches/7.4.004 @@ -0,0 +1,232 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.004 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.004 +Problem: When closing a window fails ":bwipe" may hang. +Solution: Let win_close() return FAIL and break out of the loop. +Files: src/window.c, src/proto/window.pro, src/buffer.c + + +*** ../vim-7.4.003/src/window.c 2013-07-24 17:38:29.000000000 +0200 +--- src/window.c 2013-08-14 16:52:44.000000000 +0200 +*************** +*** 2172,2179 **** + * If "free_buf" is TRUE related buffer may be unloaded. + * + * Called by :quit, :close, :xit, :wq and findtag(). + */ +! void + win_close(win, free_buf) + win_T *win; + int free_buf; +--- 2172,2180 ---- + * If "free_buf" is TRUE related buffer may be unloaded. + * + * Called by :quit, :close, :xit, :wq and findtag(). ++ * Returns FAIL when the window was not closed. + */ +! int + win_close(win, free_buf) + win_T *win; + int free_buf; +*************** +*** 2190,2210 **** + if (last_window()) + { + EMSG(_("E444: Cannot close last window")); +! return; + } + + #ifdef FEAT_AUTOCMD + if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing)) +! return; /* window is already being closed */ + if (win == aucmd_win) + { + EMSG(_("E813: Cannot close autocmd window")); +! return; + } + if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) + { + EMSG(_("E814: Cannot close window, only autocmd window would remain")); +! return; + } + #endif + +--- 2191,2211 ---- + if (last_window()) + { + EMSG(_("E444: Cannot close last window")); +! return FAIL; + } + + #ifdef FEAT_AUTOCMD + if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing)) +! return FAIL; /* window is already being closed */ + if (win == aucmd_win) + { + EMSG(_("E813: Cannot close autocmd window")); +! return FAIL; + } + if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) + { + EMSG(_("E814: Cannot close window, only autocmd window would remain")); +! return FAIL; + } + #endif + +*************** +*** 2212,2218 **** + * and then close the window and the tab page to avoid that curwin and + * curtab are invalid while we are freeing memory. */ + if (close_last_window_tabpage(win, free_buf, prev_curtab)) +! return; + + /* When closing the help window, try restoring a snapshot after closing + * the window. Otherwise clear the snapshot, it's now invalid. */ +--- 2213,2219 ---- + * and then close the window and the tab page to avoid that curwin and + * curtab are invalid while we are freeing memory. */ + if (close_last_window_tabpage(win, free_buf, prev_curtab)) +! return FAIL; + + /* When closing the help window, try restoring a snapshot after closing + * the window. Otherwise clear the snapshot, it's now invalid. */ +*************** +*** 2240,2261 **** + win->w_closing = TRUE; + apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); + if (!win_valid(win)) +! return; + win->w_closing = FALSE; + if (last_window()) +! return; + } + win->w_closing = TRUE; + apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); + if (!win_valid(win)) +! return; + win->w_closing = FALSE; + if (last_window()) +! return; + # ifdef FEAT_EVAL + /* autocmds may abort script processing */ + if (aborting()) +! return; + # endif + } + #endif +--- 2241,2262 ---- + win->w_closing = TRUE; + apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); + if (!win_valid(win)) +! return FAIL; + win->w_closing = FALSE; + if (last_window()) +! return FAIL; + } + win->w_closing = TRUE; + apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); + if (!win_valid(win)) +! return FAIL; + win->w_closing = FALSE; + if (last_window()) +! return FAIL; + # ifdef FEAT_EVAL + /* autocmds may abort script processing */ + if (aborting()) +! return FAIL; + # endif + } + #endif +*************** +*** 2303,2309 **** + * other window or moved to another tab page. */ + else if (!win_valid(win) || last_window() || curtab != prev_curtab + || close_last_window_tabpage(win, free_buf, prev_curtab)) +! return; + + /* Free the memory used for the window and get the window that received + * the screen space. */ +--- 2304,2310 ---- + * other window or moved to another tab page. */ + else if (!win_valid(win) || last_window() || curtab != prev_curtab + || close_last_window_tabpage(win, free_buf, prev_curtab)) +! return FAIL; + + /* Free the memory used for the window and get the window that received + * the screen space. */ +*************** +*** 2383,2388 **** +--- 2384,2390 ---- + #endif + + redraw_all_later(NOT_VALID); ++ return OK; + } + + /* +*** ../vim-7.4.003/src/proto/window.pro 2013-08-10 13:37:30.000000000 +0200 +--- src/proto/window.pro 2013-08-14 16:52:50.000000000 +0200 +*************** +*** 9,15 **** + void win_equal __ARGS((win_T *next_curwin, int current, int dir)); + void close_windows __ARGS((buf_T *buf, int keep_curwin)); + int one_window __ARGS((void)); +! void win_close __ARGS((win_T *win, int free_buf)); + void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); + void win_free_all __ARGS((void)); + win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); +--- 9,15 ---- + void win_equal __ARGS((win_T *next_curwin, int current, int dir)); + void close_windows __ARGS((buf_T *buf, int keep_curwin)); + int one_window __ARGS((void)); +! int win_close __ARGS((win_T *win, int free_buf)); + void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); + void win_free_all __ARGS((void)); + win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); +*** ../vim-7.4.003/src/buffer.c 2013-07-17 16:39:00.000000000 +0200 +--- src/buffer.c 2013-08-14 16:54:34.000000000 +0200 +*************** +*** 1186,1192 **** + && !(curwin->w_closing || curwin->w_buffer->b_closing) + # endif + && (firstwin != lastwin || first_tabpage->tp_next != NULL)) +! win_close(curwin, FALSE); + #endif + + /* +--- 1186,1195 ---- + && !(curwin->w_closing || curwin->w_buffer->b_closing) + # endif + && (firstwin != lastwin || first_tabpage->tp_next != NULL)) +! { +! if (win_close(curwin, FALSE) == FAIL) +! break; +! } + #endif + + /* +*** ../vim-7.4.003/src/version.c 2013-08-14 14:18:37.000000000 +0200 +--- src/version.c 2013-08-14 17:10:23.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 4, + /**/ + +-- +From "know your smileys": + *<|:-) Santa Claus (Ho Ho Ho) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.005 b/patches/source/vim/patches/7.4.005 new file mode 100644 index 000000000..f85d1f0e3 --- /dev/null +++ b/patches/source/vim/patches/7.4.005 @@ -0,0 +1,48 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.005 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.005 +Problem: Using "vaB" while 'virtualedit' is set selects the wrong area. + (Dimitar Dimitrov) +Solution: Reset coladd when finding a match. +Files: src/search.c + + +*** ../vim-7.4.004/src/search.c 2013-07-17 19:20:47.000000000 +0200 +--- src/search.c 2013-08-14 17:32:38.000000000 +0200 +*************** +*** 1760,1765 **** +--- 1760,1768 ---- + #endif + + pos = curwin->w_cursor; ++ #ifdef FEAT_VIRTUALEDIT ++ pos.coladd = 0; ++ #endif + linep = ml_get(pos.lnum); + + cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL); +*** ../vim-7.4.004/src/version.c 2013-08-14 17:11:14.000000000 +0200 +--- src/version.c 2013-08-14 17:38:05.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 5, + /**/ + +-- +You can't have everything. Where would you put it? + -- Steven Wright + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.006 b/patches/source/vim/patches/7.4.006 new file mode 100644 index 000000000..55d3802c4 --- /dev/null +++ b/patches/source/vim/patches/7.4.006 @@ -0,0 +1,66 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.006 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.006 +Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett) +Solution: Remove the trailing slash. (lcd) +Files: src/eval.c + + +*** ../vim-7.4.005/src/eval.c 2013-07-05 18:23:42.000000000 +0200 +--- src/eval.c 2013-08-22 12:00:28.000000000 +0200 +*************** +*** 14292,14297 **** +--- 14292,14301 ---- + return; + + dir = get_tv_string_buf(&argvars[0], buf); ++ if (*gettail(dir) == NUL) ++ /* remove trailing slashes */ ++ *gettail_sep(dir) = NUL; ++ + if (argvars[1].v_type != VAR_UNKNOWN) + { + if (argvars[2].v_type != VAR_UNKNOWN) +*************** +*** 14299,14305 **** + if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) + mkdir_recurse(dir, prot); + } +! rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0; + } + #endif + +--- 14303,14309 ---- + if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) + mkdir_recurse(dir, prot); + } +! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); + } + #endif + +*** ../vim-7.4.005/src/version.c 2013-08-14 17:45:25.000000000 +0200 +--- src/version.c 2013-08-22 12:02:46.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 6, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +97. Your mother tells you to remember something, and you look for + a File/Save command. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.007 b/patches/source/vim/patches/7.4.007 new file mode 100644 index 000000000..5495ffbf9 --- /dev/null +++ b/patches/source/vim/patches/7.4.007 @@ -0,0 +1,95 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.007 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.007 +Problem: Creating a preview window on startup leaves the screen layout in a + messed up state. (Marius Gedminas) +Solution: Don't change firstwin. (Christian Brabandt) +Files: src/main.c + + +*** ../vim-7.4.006/src/main.c 2013-07-03 12:36:49.000000000 +0200 +--- src/main.c 2013-08-22 14:02:39.000000000 +0200 +*************** +*** 2727,2732 **** +--- 2727,2733 ---- + int arg_idx; /* index in argument list */ + int i; + int advance = TRUE; ++ win_T *win; + + # ifdef FEAT_AUTOCMD + /* +*************** +*** 2816,2839 **** + # ifdef FEAT_AUTOCMD + --autocmd_no_enter; + # endif + #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) +! /* +! * Avoid making a preview window the current window. +! */ +! if (firstwin->w_p_pvw) + { +! win_T *win; +! +! for (win = firstwin; win != NULL; win = win->w_next) +! if (!win->w_p_pvw) +! { +! firstwin = win; +! break; +! } + } + #endif +! /* make the first window the current window */ +! win_enter(firstwin, FALSE); + + # ifdef FEAT_AUTOCMD + --autocmd_no_leave; +--- 2817,2838 ---- + # ifdef FEAT_AUTOCMD + --autocmd_no_enter; + # endif ++ ++ /* make the first window the current window */ ++ win = firstwin; + #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) +! /* Avoid making a preview window the current window. */ +! while (win->w_p_pvw) + { +! win = win->w_next; +! if (win == NULL) +! { +! win = firstwin; +! break; +! } + } + #endif +! win_enter(win, FALSE); + + # ifdef FEAT_AUTOCMD + --autocmd_no_leave; +*** ../vim-7.4.006/src/version.c 2013-08-22 12:06:50.000000000 +0200 +--- src/version.c 2013-08-22 14:04:11.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 7, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +105. When someone asks you for your address, you tell them your URL. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.008 b/patches/source/vim/patches/7.4.008 new file mode 100644 index 000000000..6abd493f9 --- /dev/null +++ b/patches/source/vim/patches/7.4.008 @@ -0,0 +1,71 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.008 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.008 +Problem: New regexp engine can't be interrupted. +Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto) +Files: src/regexp_nfa.c, src/regexp.c + + +*** ../vim-7.4.007/src/regexp_nfa.c 2013-08-14 14:18:37.000000000 +0200 +--- src/regexp_nfa.c 2013-08-25 16:55:56.000000000 +0200 +*************** +*** 5089,5094 **** +--- 5089,5100 ---- + return FALSE; + } + #endif ++ /* Some patterns may take a long time to match, especially when using ++ * recursive_regmatch(). Allow interrupting them with CTRL-C. */ ++ fast_breakcheck(); ++ if (got_int) ++ return FALSE; ++ + nfa_match = FALSE; + + /* Allocate memory for the lists of nodes. */ +*** ../vim-7.4.007/src/regexp.c 2013-08-01 18:31:30.000000000 +0200 +--- src/regexp.c 2013-08-25 16:57:35.000000000 +0200 +*************** +*** 4311,4318 **** + */ + for (;;) + { +! /* Some patterns may cause a long time to match, even though they are not +! * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */ + fast_breakcheck(); + + #ifdef DEBUG +--- 4311,4318 ---- + */ + for (;;) + { +! /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q". +! * Allow interrupting them with CTRL-C. */ + fast_breakcheck(); + + #ifdef DEBUG +*** ../vim-7.4.007/src/version.c 2013-08-22 14:14:23.000000000 +0200 +--- src/version.c 2013-08-25 16:57:51.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 8, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +124. You begin conversations with, "Who is your internet service provider?" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.009 b/patches/source/vim/patches/7.4.009 new file mode 100644 index 000000000..f5e5fa609 --- /dev/null +++ b/patches/source/vim/patches/7.4.009 @@ -0,0 +1,64 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.009 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.009 +Problem: When a file was not decrypted (yet), writing it may destroy the + contents. +Solution: Mark the file as readonly until decryption was done. (Christian + Brabandt) +Files: src/fileio.c + + +*** ../vim-7.4.008/src/fileio.c 2013-08-05 21:58:03.000000000 +0200 +--- src/fileio.c 2013-08-25 17:45:27.000000000 +0200 +*************** +*** 2926,2934 **** +--- 2926,2939 ---- + int *did_ask; /* flag: whether already asked for key */ + { + int method = crypt_method_from_magic((char *)ptr, *sizep); ++ int b_p_ro = curbuf->b_p_ro; + + if (method >= 0) + { ++ /* Mark the buffer as read-only until the decryption has taken place. ++ * Avoids accidentally overwriting the file with garbage. */ ++ curbuf->b_p_ro = TRUE; ++ + set_crypt_method(curbuf, method); + if (method > 0) + (void)blowfish_self_test(); +*************** +*** 2977,2982 **** +--- 2982,2989 ---- + *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len; + mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len, + (size_t)*sizep); ++ /* Restore the read-only flag. */ ++ curbuf->b_p_ro = b_p_ro; + } + } + /* When starting to edit a new file which does not have encryption, clear +*** ../vim-7.4.008/src/version.c 2013-08-25 17:01:36.000000000 +0200 +--- src/version.c 2013-08-25 17:44:30.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 9, + /**/ + +-- +I have a watch cat! Just break in and she'll watch. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.010 b/patches/source/vim/patches/7.4.010 new file mode 100644 index 000000000..fee6ba5b4 --- /dev/null +++ b/patches/source/vim/patches/7.4.010 @@ -0,0 +1,79 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.010 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.010 (after 7.4.006) +Problem: Crash with invalid argument to mkdir(). +Solution: Check for empty string. (lcd47) +Files: src/eval.c + + +*** ../vim-7.4.009/src/eval.c 2013-08-22 12:06:50.000000000 +0200 +--- src/eval.c 2013-08-30 15:47:47.000000000 +0200 +*************** +*** 14292,14309 **** + return; + + dir = get_tv_string_buf(&argvars[0], buf); +! if (*gettail(dir) == NUL) +! /* remove trailing slashes */ +! *gettail_sep(dir) = NUL; +! +! if (argvars[1].v_type != VAR_UNKNOWN) + { +! if (argvars[2].v_type != VAR_UNKNOWN) +! prot = get_tv_number_chk(&argvars[2], NULL); +! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) +! mkdir_recurse(dir, prot); + } +- rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); + } + #endif + +--- 14292,14314 ---- + return; + + dir = get_tv_string_buf(&argvars[0], buf); +! if (*dir == NUL) +! rettv->vval.v_number = FAIL; +! else + { +! if (*gettail(dir) == NUL) +! /* remove trailing slashes */ +! *gettail_sep(dir) = NUL; +! +! if (argvars[1].v_type != VAR_UNKNOWN) +! { +! if (argvars[2].v_type != VAR_UNKNOWN) +! prot = get_tv_number_chk(&argvars[2], NULL); +! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0) +! mkdir_recurse(dir, prot); +! } +! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot); + } + } + #endif + +*** ../vim-7.4.009/src/version.c 2013-08-25 17:46:05.000000000 +0200 +--- src/version.c 2013-08-30 15:48:37.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 10, + /**/ + +-- +I wish there was a knob on the TV to turn up the intelligence. +There's a knob called "brightness", but it doesn't seem to work. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.011 b/patches/source/vim/patches/7.4.011 new file mode 100644 index 000000000..efff82c5e --- /dev/null +++ b/patches/source/vim/patches/7.4.011 @@ -0,0 +1,100 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.011 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.011 +Problem: Cannot find out if "acl" and "xpm" features are supported. +Solution: Add "acl" and "xpm" to the list of features. (Ken Takata) +Files: src/eval.c, src/version.c + + +*** ../vim-7.4.010/src/eval.c 2013-08-30 16:00:04.000000000 +0200 +--- src/eval.c 2013-08-30 16:34:12.000000000 +0200 +*************** +*** 12135,12140 **** +--- 12135,12143 ---- + #ifndef CASE_INSENSITIVE_FILENAME + "fname_case", + #endif ++ #ifdef HAVE_ACL ++ "acl", ++ #endif + #ifdef FEAT_ARABIC + "arabic", + #endif +*************** +*** 12538,12544 **** + "xfontset", + #endif + #ifdef FEAT_XPM_W32 +! "xpm_w32", + #endif + #ifdef USE_XSMP + "xsmp", +--- 12541,12552 ---- + "xfontset", + #endif + #ifdef FEAT_XPM_W32 +! "xpm", +! "xpm_w32", /* for backward compatibility */ +! #else +! # if defined(HAVE_XPM) +! "xpm", +! # endif + #endif + #ifdef USE_XSMP + "xsmp", +*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200 +--- src/version.c 2013-08-30 16:34:37.000000000 +0200 +*************** +*** 60,65 **** +--- 60,70 ---- + + static char *(features[]) = + { ++ #ifdef HAVE_ACL ++ "+acl", ++ #else ++ "-acl", ++ #endif + #ifdef AMIGA /* only for Amiga systems */ + # ifdef FEAT_ARP + "+ARP", +*************** +*** 721,726 **** +--- 726,737 ---- + # else + "-xpm_w32", + # endif ++ #else ++ # ifdef HAVE_XPM ++ "+xpm", ++ # else ++ "-xpm", ++ # endif + #endif + NULL + }; +*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200 +--- src/version.c 2013-08-30 16:34:37.000000000 +0200 +*************** +*** 729,730 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 11, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +141. You'd rather go to http://www.weather.com/ than look out your window. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.012 b/patches/source/vim/patches/7.4.012 new file mode 100644 index 000000000..f831442ea --- /dev/null +++ b/patches/source/vim/patches/7.4.012 @@ -0,0 +1,202 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.012 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.012 +Problem: MS-Windows: resolving shortcut does not work properly with + multi-byte characters. +Solution: Use wide system functions. (Ken Takata) +Files: src/os_mswin.c + + +*** ../vim-7.4.011/src/os_mswin.c 2013-06-16 16:41:11.000000000 +0200 +--- src/os_mswin.c 2013-08-30 16:43:23.000000000 +0200 +*************** +*** 1761,1769 **** + IPersistFile *ppf = NULL; + OLECHAR wsz[MAX_PATH]; + WIN32_FIND_DATA ffd; // we get those free of charge +! TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'... + char_u *rfname = NULL; + int len; + + /* Check if the file name ends in ".lnk". Avoid calling + * CoCreateInstance(), it's quite slow. */ +--- 1761,1773 ---- + IPersistFile *ppf = NULL; + OLECHAR wsz[MAX_PATH]; + WIN32_FIND_DATA ffd; // we get those free of charge +! CHAR buf[MAX_PATH]; // could have simply reused 'wsz'... + char_u *rfname = NULL; + int len; ++ # ifdef FEAT_MBYTE ++ IShellLinkW *pslw = NULL; ++ WIN32_FIND_DATAW ffdw; // we get those free of charge ++ # endif + + /* Check if the file name ends in ".lnk". Avoid calling + * CoCreateInstance(), it's quite slow. */ +*************** +*** 1775,1792 **** + + CoInitialize(NULL); + + // create a link manager object and request its interface + hr = CoCreateInstance( + &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, + &IID_IShellLink, (void**)&psl); + if (hr != S_OK) +! goto shortcut_error; + + // Get a pointer to the IPersistFile interface. + hr = psl->lpVtbl->QueryInterface( + psl, &IID_IPersistFile, (void**)&ppf); + if (hr != S_OK) +! goto shortcut_error; + + // full path string must be in Unicode. + MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH); +--- 1779,1840 ---- + + CoInitialize(NULL); + ++ # ifdef FEAT_MBYTE ++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) ++ { ++ // create a link manager object and request its interface ++ hr = CoCreateInstance( ++ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, ++ &IID_IShellLinkW, (void**)&pslw); ++ if (hr == S_OK) ++ { ++ WCHAR *p = enc_to_utf16(fname, NULL); ++ ++ if (p != NULL) ++ { ++ // Get a pointer to the IPersistFile interface. ++ hr = pslw->lpVtbl->QueryInterface( ++ pslw, &IID_IPersistFile, (void**)&ppf); ++ if (hr != S_OK) ++ goto shortcut_errorw; ++ ++ // "load" the name and resolve the link ++ hr = ppf->lpVtbl->Load(ppf, p, STGM_READ); ++ if (hr != S_OK) ++ goto shortcut_errorw; ++ # if 0 // This makes Vim wait a long time if the target does not exist. ++ hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI); ++ if (hr != S_OK) ++ goto shortcut_errorw; ++ # endif ++ ++ // Get the path to the link target. ++ ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR)); ++ hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0); ++ if (hr == S_OK && wsz[0] != NUL) ++ rfname = utf16_to_enc(wsz, NULL); ++ ++ shortcut_errorw: ++ vim_free(p); ++ if (hr == S_OK) ++ goto shortcut_end; ++ } ++ } ++ /* Retry with non-wide function (for Windows 98). */ ++ } ++ # endif + // create a link manager object and request its interface + hr = CoCreateInstance( + &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, + &IID_IShellLink, (void**)&psl); + if (hr != S_OK) +! goto shortcut_end; + + // Get a pointer to the IPersistFile interface. + hr = psl->lpVtbl->QueryInterface( + psl, &IID_IPersistFile, (void**)&ppf); + if (hr != S_OK) +! goto shortcut_end; + + // full path string must be in Unicode. + MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH); +*************** +*** 1794,1805 **** + // "load" the name and resolve the link + hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ); + if (hr != S_OK) +! goto shortcut_error; +! #if 0 // This makes Vim wait a long time if the target doesn't exist. + hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI); + if (hr != S_OK) +! goto shortcut_error; +! #endif + + // Get the path to the link target. + ZeroMemory(buf, MAX_PATH); +--- 1842,1853 ---- + // "load" the name and resolve the link + hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ); + if (hr != S_OK) +! goto shortcut_end; +! # if 0 // This makes Vim wait a long time if the target doesn't exist. + hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI); + if (hr != S_OK) +! goto shortcut_end; +! # endif + + // Get the path to the link target. + ZeroMemory(buf, MAX_PATH); +*************** +*** 1807,1818 **** + if (hr == S_OK && buf[0] != NUL) + rfname = vim_strsave(buf); + +! shortcut_error: + // Release all interface pointers (both belong to the same object) + if (ppf != NULL) + ppf->lpVtbl->Release(ppf); + if (psl != NULL) + psl->lpVtbl->Release(psl); + + CoUninitialize(); + return rfname; +--- 1855,1870 ---- + if (hr == S_OK && buf[0] != NUL) + rfname = vim_strsave(buf); + +! shortcut_end: + // Release all interface pointers (both belong to the same object) + if (ppf != NULL) + ppf->lpVtbl->Release(ppf); + if (psl != NULL) + psl->lpVtbl->Release(psl); ++ # ifdef FEAT_MBYTE ++ if (pslw != NULL) ++ pslw->lpVtbl->Release(pslw); ++ # endif + + CoUninitialize(); + return rfname; +*** ../vim-7.4.011/src/version.c 2013-08-30 16:35:41.000000000 +0200 +--- src/version.c 2013-08-30 16:39:40.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 12, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +142. You dream about creating the world's greatest web site. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.013 b/patches/source/vim/patches/7.4.013 new file mode 100644 index 000000000..dcbe0fb3e --- /dev/null +++ b/patches/source/vim/patches/7.4.013 @@ -0,0 +1,99 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.013 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.013 +Problem: File name buffer too small for utf-8. +Solution: Use character count instead of byte count. (Ken Takata) +Files: src/os_mswin.c + + +*** ../vim-7.4.012/src/os_mswin.c 2013-08-30 16:44:15.000000000 +0200 +--- src/os_mswin.c 2013-08-30 16:47:54.000000000 +0200 +*************** +*** 456,462 **** +--- 456,469 ---- + int + mch_isFullName(char_u *fname) + { ++ #ifdef FEAT_MBYTE ++ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which ++ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is ++ * UTF-8. */ ++ char szName[_MAX_PATH * 3 + 1]; ++ #else + char szName[_MAX_PATH + 1]; ++ #endif + + /* A name like "d:/foo" and "//server/share" is absolute */ + if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\')) +*************** +*** 464,470 **** + return TRUE; + + /* A name that can't be made absolute probably isn't absolute. */ +! if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL) + return FALSE; + + return pathcmp(fname, szName, -1) == 0; +--- 471,477 ---- + return TRUE; + + /* A name that can't be made absolute probably isn't absolute. */ +! if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL) + return FALSE; + + return pathcmp(fname, szName, -1) == 0; +*************** +*** 498,507 **** + int + vim_stat(const char *name, struct stat *stp) + { + char buf[_MAX_PATH + 1]; + char *p; + +! vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH); + p = buf + strlen(buf); + if (p > buf) + mb_ptr_back(buf, p); +--- 505,521 ---- + int + vim_stat(const char *name, struct stat *stp) + { ++ #ifdef FEAT_MBYTE ++ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which ++ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is ++ * UTF-8. */ ++ char buf[_MAX_PATH * 3 + 1]; ++ #else + char buf[_MAX_PATH + 1]; ++ #endif + char *p; + +! vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1); + p = buf + strlen(buf); + if (p > buf) + mb_ptr_back(buf, p); +*** ../vim-7.4.012/src/version.c 2013-08-30 16:44:15.000000000 +0200 +--- src/version.c 2013-08-30 16:47:36.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 13, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +143. You dream in pallettes of 216 websafe colors. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.014 b/patches/source/vim/patches/7.4.014 new file mode 100644 index 000000000..f6554337f --- /dev/null +++ b/patches/source/vim/patches/7.4.014 @@ -0,0 +1,102 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.014 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.014 +Problem: MS-Windows: check for writing to device does not work. +Solution: Fix #ifdefs. (Ken Takata) +Files: src/fileio.c + + +*** ../vim-7.4.013/src/fileio.c 2013-08-25 17:46:05.000000000 +0200 +--- src/fileio.c 2013-08-30 16:56:46.000000000 +0200 +*************** +*** 428,440 **** + } + } + +- #ifdef UNIX +- /* +- * On Unix it is possible to read a directory, so we have to +- * check for it before the mch_open(). +- */ + if (!read_stdin && !read_buffer) + { + perm = mch_getperm(fname); + if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */ + # ifdef S_ISFIFO +--- 428,440 ---- + } + } + + if (!read_stdin && !read_buffer) + { ++ #ifdef UNIX ++ /* ++ * On Unix it is possible to read a directory, so we have to ++ * check for it before the mch_open(). ++ */ + perm = mch_getperm(fname); + if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */ + # ifdef S_ISFIFO +*************** +*** 457,464 **** + msg_scroll = msg_save; + return FAIL; + } +! +! # if defined(MSDOS) || defined(MSWIN) || defined(OS2) + /* + * MS-Windows allows opening a device, but we will probably get stuck + * trying to read it. +--- 457,464 ---- + msg_scroll = msg_save; + return FAIL; + } +! #endif +! #if defined(MSDOS) || defined(MSWIN) || defined(OS2) + /* + * MS-Windows allows opening a device, but we will probably get stuck + * trying to read it. +*************** +*** 470,478 **** + msg_scroll = msg_save; + return FAIL; + } +- # endif +- } + #endif + + /* Set default or forced 'fileformat' and 'binary'. */ + set_file_options(set_options, eap); +--- 470,477 ---- + msg_scroll = msg_save; + return FAIL; + } + #endif ++ } + + /* Set default or forced 'fileformat' and 'binary'. */ + set_file_options(set_options, eap); +*** ../vim-7.4.013/src/version.c 2013-08-30 16:51:15.000000000 +0200 +--- src/version.c 2013-08-30 16:54:33.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 14, + /**/ + +-- +Drink wet cement and get really stoned. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.015 b/patches/source/vim/patches/7.4.015 new file mode 100644 index 000000000..e8b284d12 --- /dev/null +++ b/patches/source/vim/patches/7.4.015 @@ -0,0 +1,106 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.015 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.015 +Problem: MS-Windows: Detecting node type does not work for multi-byte + characters. +Solution: Use wide character function when needed. (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.014/src/os_win32.c 2013-08-10 12:39:12.000000000 +0200 +--- src/os_win32.c 2013-08-30 17:09:47.000000000 +0200 +*************** +*** 3107,3112 **** +--- 3107,3115 ---- + { + HANDLE hFile; + int type; ++ #ifdef FEAT_MBYTE ++ WCHAR *wn = NULL; ++ #endif + + /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to + * read from it later will cause Vim to hang. Thus return NODE_WRITABLE +*************** +*** 3114,3127 **** + if (STRNCMP(name, "\\\\.\\", 4) == 0) + return NODE_WRITABLE; + +! hFile = CreateFile(name, /* file name */ +! GENERIC_WRITE, /* access mode */ +! 0, /* share mode */ +! NULL, /* security descriptor */ +! OPEN_EXISTING, /* creation disposition */ +! 0, /* file attributes */ +! NULL); /* handle to template file */ + + if (hFile == INVALID_HANDLE_VALUE) + return NODE_NORMAL; + +--- 3117,3157 ---- + if (STRNCMP(name, "\\\\.\\", 4) == 0) + return NODE_WRITABLE; + +! #ifdef FEAT_MBYTE +! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) +! { +! wn = enc_to_utf16(name, NULL); +! if (wn != NULL) +! { +! hFile = CreateFileW(wn, /* file name */ +! GENERIC_WRITE, /* access mode */ +! 0, /* share mode */ +! NULL, /* security descriptor */ +! OPEN_EXISTING, /* creation disposition */ +! 0, /* file attributes */ +! NULL); /* handle to template file */ +! if (hFile == INVALID_HANDLE_VALUE +! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) +! { +! /* Retry with non-wide function (for Windows 98). */ +! vim_free(wn); +! wn = NULL; +! } +! } +! } +! if (wn == NULL) +! #endif +! hFile = CreateFile(name, /* file name */ +! GENERIC_WRITE, /* access mode */ +! 0, /* share mode */ +! NULL, /* security descriptor */ +! OPEN_EXISTING, /* creation disposition */ +! 0, /* file attributes */ +! NULL); /* handle to template file */ + ++ #ifdef FEAT_MBYTE ++ vim_free(wn); ++ #endif + if (hFile == INVALID_HANDLE_VALUE) + return NODE_NORMAL; + +*** ../vim-7.4.014/src/version.c 2013-08-30 17:06:56.000000000 +0200 +--- src/version.c 2013-08-30 17:09:35.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 15, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +144. You eagerly await the update of the "Cool Site of the Day." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.016 b/patches/source/vim/patches/7.4.016 new file mode 100644 index 000000000..c58c605f5 --- /dev/null +++ b/patches/source/vim/patches/7.4.016 @@ -0,0 +1,221 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.016 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.016 +Problem: MS-Windows: File name completion doesn't work properly with + Chinese characters. (Yue Wu) +Solution: Add fname_casew(). (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.015/src/os_win32.c 2013-08-30 17:11:29.000000000 +0200 +--- src/os_win32.c 2013-08-30 17:28:30.000000000 +0200 +*************** +*** 2500,2508 **** +--- 2500,2624 ---- + } + + ++ #ifdef FEAT_MBYTE ++ /* ++ * fname_casew(): Wide version of fname_case(). Set the case of the file name, ++ * if it already exists. When "len" is > 0, also expand short to long ++ * filenames. ++ * Return FAIL if wide functions are not available, OK otherwise. ++ * NOTE: much of this is identical to fname_case(), keep in sync! ++ */ ++ static int ++ fname_casew( ++ WCHAR *name, ++ int len) ++ { ++ WCHAR szTrueName[_MAX_PATH + 2]; ++ WCHAR szTrueNameTemp[_MAX_PATH + 2]; ++ WCHAR *ptrue, *ptruePrev; ++ WCHAR *porig, *porigPrev; ++ int flen; ++ WIN32_FIND_DATAW fb; ++ HANDLE hFind; ++ int c; ++ int slen; ++ ++ flen = (int)wcslen(name); ++ if (flen > _MAX_PATH) ++ return OK; ++ ++ /* slash_adjust(name) not needed, already adjusted by fname_case(). */ ++ ++ /* Build the new name in szTrueName[] one component at a time. */ ++ porig = name; ++ ptrue = szTrueName; ++ ++ if (iswalpha(porig[0]) && porig[1] == L':') ++ { ++ /* copy leading drive letter */ ++ *ptrue++ = *porig++; ++ *ptrue++ = *porig++; ++ *ptrue = NUL; /* in case nothing follows */ ++ } ++ ++ while (*porig != NUL) ++ { ++ /* copy \ characters */ ++ while (*porig == psepc) ++ *ptrue++ = *porig++; ++ ++ ptruePrev = ptrue; ++ porigPrev = porig; ++ while (*porig != NUL && *porig != psepc) ++ { ++ *ptrue++ = *porig++; ++ } ++ *ptrue = NUL; ++ ++ /* To avoid a slow failure append "\*" when searching a directory, ++ * server or network share. */ ++ wcscpy(szTrueNameTemp, szTrueName); ++ slen = (int)wcslen(szTrueNameTemp); ++ if (*porig == psepc && slen + 2 < _MAX_PATH) ++ wcscpy(szTrueNameTemp + slen, L"\\*"); ++ ++ /* Skip "", "." and "..". */ ++ if (ptrue > ptruePrev ++ && (ptruePrev[0] != L'.' ++ || (ptruePrev[1] != NUL ++ && (ptruePrev[1] != L'.' || ptruePrev[2] != NUL))) ++ && (hFind = FindFirstFileW(szTrueNameTemp, &fb)) ++ != INVALID_HANDLE_VALUE) ++ { ++ c = *porig; ++ *porig = NUL; ++ ++ /* Only use the match when it's the same name (ignoring case) or ++ * expansion is allowed and there is a match with the short name ++ * and there is enough room. */ ++ if (_wcsicoll(porigPrev, fb.cFileName) == 0 ++ || (len > 0 ++ && (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0 ++ && (int)(ptruePrev - szTrueName) ++ + (int)wcslen(fb.cFileName) < len))) ++ { ++ wcscpy(ptruePrev, fb.cFileName); ++ ++ /* Look for exact match and prefer it if found. Must be a ++ * long name, otherwise there would be only one match. */ ++ while (FindNextFileW(hFind, &fb)) ++ { ++ if (*fb.cAlternateFileName != NUL ++ && (wcscoll(porigPrev, fb.cFileName) == 0 ++ || (len > 0 ++ && (_wcsicoll(porigPrev, ++ fb.cAlternateFileName) == 0 ++ && (int)(ptruePrev - szTrueName) ++ + (int)wcslen(fb.cFileName) < len)))) ++ { ++ wcscpy(ptruePrev, fb.cFileName); ++ break; ++ } ++ } ++ } ++ FindClose(hFind); ++ *porig = c; ++ ptrue = ptruePrev + wcslen(ptruePrev); ++ } ++ else if (hFind == INVALID_HANDLE_VALUE ++ && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) ++ return FAIL; ++ } ++ ++ wcscpy(name, szTrueName); ++ return OK; ++ } ++ #endif ++ + /* + * fname_case(): Set the case of the file name, if it already exists. + * When "len" is > 0, also expand short to long filenames. ++ * NOTE: much of this is identical to fname_casew(), keep in sync! + */ + void + fname_case( +*************** +*** 2520,2530 **** + int slen; + + flen = (int)STRLEN(name); +! if (flen == 0 || flen > _MAX_PATH) + return; + + slash_adjust(name); + + /* Build the new name in szTrueName[] one component at a time. */ + porig = name; + ptrue = szTrueName; +--- 2636,2679 ---- + int slen; + + flen = (int)STRLEN(name); +! if (flen == 0) + return; + + slash_adjust(name); + ++ #ifdef FEAT_MBYTE ++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) ++ { ++ WCHAR *p = enc_to_utf16(name, NULL); ++ ++ if (p != NULL) ++ { ++ char_u *q; ++ WCHAR buf[_MAX_PATH + 2]; ++ ++ wcscpy(buf, p); ++ vim_free(p); ++ ++ if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK) ++ { ++ q = utf16_to_enc(buf, NULL); ++ if (q != NULL) ++ { ++ vim_strncpy(name, q, (len > 0) ? len - 1 : flen); ++ vim_free(q); ++ return; ++ } ++ } ++ } ++ /* Retry with non-wide function (for Windows 98). */ ++ } ++ #endif ++ ++ /* If 'enc' is utf-8, flen can be larger than _MAX_PATH. ++ * So we should check this after calling wide function. */ ++ if (flen > _MAX_PATH) ++ return; ++ + /* Build the new name in szTrueName[] one component at a time. */ + porig = name; + ptrue = szTrueName; +*** ../vim-7.4.015/src/version.c 2013-08-30 17:11:29.000000000 +0200 +--- src/version.c 2013-08-30 17:15:06.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 16, + /**/ + +-- +Fingers not found - Pound head on keyboard to continue. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.017 b/patches/source/vim/patches/7.4.017 new file mode 100644 index 000000000..7d7fad83f --- /dev/null +++ b/patches/source/vim/patches/7.4.017 @@ -0,0 +1,78 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.017 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.017 +Problem: ":help !!" does not find the "!!" tag in the help file. (Ben + Fritz) +Solution: When reading the start of the tags file do parse lines that are + not header lines. +Files: src/tag.c + + +*** ../vim-7.4.016/src/tag.c 2013-06-15 22:26:26.000000000 +0200 +--- src/tag.c 2013-09-05 12:03:38.000000000 +0200 +*************** +*** 1797,1809 **** + */ + if (state == TS_START) + { +! /* The header ends when the line sorts below "!_TAG_". +! * There may be non-header items before the header though, +! * e.g. "!" itself. When case is folded lower case letters +! * sort before "_". */ + if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 + || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) + { + /* + * Read header line. + */ +--- 1797,1812 ---- + */ + if (state == TS_START) + { +! /* The header ends when the line sorts below "!_TAG_". When +! * case is folded lower case letters sort before "_". */ + if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 + || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) + { ++ if (STRNCMP(lbuf, "!_TAG_", 6) != 0) ++ /* Non-header item before the header, e.g. "!" itself. ++ */ ++ goto parse_line; ++ + /* + * Read header line. + */ +*************** +*** 1898,1903 **** +--- 1901,1907 ---- + #endif + } + ++ parse_line: + /* + * Figure out where the different strings are in this line. + * For "normal" tags: Do a quick check if the tag matches. +*** ../vim-7.4.016/src/version.c 2013-08-30 17:29:10.000000000 +0200 +--- src/version.c 2013-09-05 12:02:01.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 17, + /**/ + +-- +An error has occurred. Hit any user to continue. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.018 b/patches/source/vim/patches/7.4.018 new file mode 100644 index 000000000..2214c30b2 --- /dev/null +++ b/patches/source/vim/patches/7.4.018 @@ -0,0 +1,45 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.018 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.018 +Problem: When completing item becomes unselected. (Shougo Matsu) +Solution: Revert patch 7.3.1269. +Files: src/edit.c + + +*** ../vim-7.4.017/src/edit.c 2013-07-04 20:22:25.000000000 +0200 +--- src/edit.c 2013-09-05 12:39:53.000000000 +0200 +*************** +*** 3467,3473 **** + } + + compl_enter_selects = !compl_used_match; +- compl_shown_match = compl_curr_match = compl_first_match; + + /* Show the popup menu with a different set of matches. */ + ins_compl_show_pum(); +--- 3467,3472 ---- +*** ../vim-7.4.017/src/version.c 2013-09-05 12:06:26.000000000 +0200 +--- src/version.c 2013-09-05 12:40:34.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 18, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +169. You hire a housekeeper for your home page. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.019 b/patches/source/vim/patches/7.4.019 new file mode 100644 index 000000000..b1532c19c --- /dev/null +++ b/patches/source/vim/patches/7.4.019 @@ -0,0 +1,61 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.019 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.019 +Problem: MS-Windows: File name completion doesn't work properly with + Chinese characters. (Yue Wu) +Solution: Take care of multi-byte characters when looking for the start of + the file name. (Ken Takata) +Files: src/edit.c + + +*** ../vim-7.4.018/src/edit.c 2013-09-05 12:49:48.000000000 +0200 +--- src/edit.c 2013-09-05 13:45:27.000000000 +0200 +*************** +*** 5183,5190 **** + } + else if (ctrl_x_mode == CTRL_X_FILES) + { +! while (--startcol >= 0 && vim_isfilec(line[startcol])) +! ; + compl_col += ++startcol; + compl_length = (int)curs_col - startcol; + compl_pattern = addstar(line + compl_col, compl_length, +--- 5183,5196 ---- + } + else if (ctrl_x_mode == CTRL_X_FILES) + { +! char_u *p = line + startcol; +! +! /* Go back to just before the first filename character. */ +! mb_ptr_back(line, p); +! while (vim_isfilec(PTR2CHAR(p)) && p >= line) +! mb_ptr_back(line, p); +! startcol = p - line; +! + compl_col += ++startcol; + compl_length = (int)curs_col - startcol; + compl_pattern = addstar(line + compl_col, compl_length, +*** ../vim-7.4.018/src/version.c 2013-09-05 12:49:48.000000000 +0200 +--- src/version.c 2013-09-05 13:41:47.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 19, + /**/ + +-- + Very funny, Scotty. Now beam down my clothes. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.020 b/patches/source/vim/patches/7.4.020 new file mode 100644 index 000000000..942d82fe2 --- /dev/null +++ b/patches/source/vim/patches/7.4.020 @@ -0,0 +1,82 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.020 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.020 +Problem: NFA engine matches too much with \@>. (John McGowan) +Solution: When a whole pattern match is found stop searching. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.019/src/regexp_nfa.c 2013-08-25 17:01:36.000000000 +0200 +--- src/regexp_nfa.c 2013-09-05 15:59:44.000000000 +0200 +*************** +*** 5322,5328 **** + log_subsexpr(m); + #endif + nfa_match = TRUE; +! break; + + case NFA_START_INVISIBLE: + case NFA_START_INVISIBLE_FIRST: +--- 5322,5331 ---- + log_subsexpr(m); + #endif + nfa_match = TRUE; +! /* See comment above at "goto nextchar". */ +! if (nextlist->n == 0) +! clen = 0; +! goto nextchar; + + case NFA_START_INVISIBLE: + case NFA_START_INVISIBLE_FIRST: +*** ../vim-7.4.019/src/testdir/test64.in 2013-08-14 13:31:03.000000000 +0200 +--- src/testdir/test64.in 2013-09-05 15:35:44.000000000 +0200 +*************** +*** 427,432 **** +--- 427,433 ---- + :""""" \@> + :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) + :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) ++ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab']) + :" TODO: BT engine does not restore submatch after failure + :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa']) + :" +*** ../vim-7.4.019/src/testdir/test64.ok 2013-08-14 13:31:03.000000000 +0200 +--- src/testdir/test64.ok 2013-09-05 16:03:34.000000000 +0200 +*************** +*** 983,988 **** +--- 983,991 ---- + OK 0 - \(a*\)\@>b + OK 1 - \(a*\)\@>b + OK 2 - \(a*\)\@>b ++ OK 0 - ^\(.\{-}b\)\@>. ++ OK 1 - ^\(.\{-}b\)\@>. ++ OK 2 - ^\(.\{-}b\)\@>. + OK 0 - \(a*\)\@>a\|a\+ + OK 2 - \(a*\)\@>a\|a\+ + OK 0 - \_[^8-9]\+ +*** ../vim-7.4.019/src/version.c 2013-09-05 13:50:49.000000000 +0200 +--- src/version.c 2013-09-05 16:04:32.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 20, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +173. You keep tracking down the email addresses of all your friends + (even childhood friends). + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.021 b/patches/source/vim/patches/7.4.021 new file mode 100644 index 000000000..0936d9a19 --- /dev/null +++ b/patches/source/vim/patches/7.4.021 @@ -0,0 +1,86 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.021 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.021 +Problem: NFA regexp: Using \ze in one branch which doesn't match may cause + end of another branch to be wrong. (William Fugh) +Solution: Set end position if it wasn't set yet. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.020/src/regexp_nfa.c 2013-09-05 16:05:32.000000000 +0200 +--- src/regexp_nfa.c 2013-09-05 20:56:25.000000000 +0200 +*************** +*** 4209,4218 **** + break; + + case NFA_MCLOSE: +! if (nfa_has_zend) + { +! /* Do not overwrite the position set by \ze. If no \ze +! * encountered end will be set in nfa_regtry(). */ + subs = addstate(l, state->out, subs, pim, off); + break; + } +--- 4209,4219 ---- + break; + + case NFA_MCLOSE: +! if (nfa_has_zend && (REG_MULTI +! ? subs->norm.list.multi[0].end.lnum >= 0 +! : subs->norm.list.line[0].end != NULL)) + { +! /* Do not overwrite the position set by \ze. */ + subs = addstate(l, state->out, subs, pim, off); + break; + } +*** ../vim-7.4.020/src/testdir/test64.in 2013-09-05 16:05:32.000000000 +0200 +--- src/testdir/test64.in 2013-09-05 20:55:18.000000000 +0200 +*************** +*** 328,333 **** +--- 328,334 ---- + :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match']) + :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last']) + :call add(tl, [2, '\>\zs.', 'aword. ', '.']) ++ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' ']) + :" + :"""" Tests for \@= and \& features + :call add(tl, [2, 'abc\@=', 'abc', 'ab']) +*** ../vim-7.4.020/src/testdir/test64.ok 2013-09-05 16:05:32.000000000 +0200 +--- src/testdir/test64.ok 2013-09-05 21:09:56.000000000 +0200 +*************** +*** 752,757 **** +--- 752,760 ---- + OK 0 - \>\zs. + OK 1 - \>\zs. + OK 2 - \>\zs. ++ OK 0 - \s\+\ze\[/\|\s\zs\s\+ ++ OK 1 - \s\+\ze\[/\|\s\zs\s\+ ++ OK 2 - \s\+\ze\[/\|\s\zs\s\+ + OK 0 - abc\@= + OK 1 - abc\@= + OK 2 - abc\@= +*** ../vim-7.4.020/src/version.c 2013-09-05 16:05:32.000000000 +0200 +--- src/version.c 2013-09-05 21:11:38.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 21, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +174. You know what a listserv is. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.022 b/patches/source/vim/patches/7.4.022 new file mode 100644 index 000000000..81a0901f5 --- /dev/null +++ b/patches/source/vim/patches/7.4.022 @@ -0,0 +1,148 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.022 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.022 +Problem: Deadlock while exiting, because of allocating memory. +Solution: Do not use gettext() in deathtrap(). (James McCoy) +Files: src/os_unix.c, src/misc1.c + + +*** ../vim-7.4.021/src/os_unix.c 2013-07-03 16:32:32.000000000 +0200 +--- src/os_unix.c 2013-09-05 21:40:06.000000000 +0200 +*************** +*** 957,964 **** + + /* + * This function handles deadly signals. +! * It tries to preserve any swap file and exit properly. + * (partly from Elvis). + */ + static RETSIGTYPE + deathtrap SIGDEFARG(sigarg) +--- 957,966 ---- + + /* + * This function handles deadly signals. +! * It tries to preserve any swap files and exit properly. + * (partly from Elvis). ++ * NOTE: Avoid unsafe functions, such as allocating memory, they can result in ++ * a deadlock. + */ + static RETSIGTYPE + deathtrap SIGDEFARG(sigarg) +*************** +*** 1090,1107 **** + } + if (entered == 2) + { +! OUT_STR(_("Vim: Double signal, exiting\n")); + out_flush(); + getout(1); + } + + #ifdef SIGHASARG +! sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"), + signal_info[i].name); + #else +! sprintf((char *)IObuff, _("Vim: Caught deadly signal\n")); + #endif +! preserve_exit(); /* preserve files and exit */ + + #ifdef NBDEBUG + reset_signals(); +--- 1092,1114 ---- + } + if (entered == 2) + { +! /* No translation, it may call malloc(). */ +! OUT_STR("Vim: Double signal, exiting\n"); + out_flush(); + getout(1); + } + ++ /* No translation, it may call malloc(). */ + #ifdef SIGHASARG +! sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n", + signal_info[i].name); + #else +! sprintf((char *)IObuff, "Vim: Caught deadly signal\n"); + #endif +! +! /* Preserve files and exit. This sets the really_exiting flag to prevent +! * calling free(). */ +! preserve_exit(); + + #ifdef NBDEBUG + reset_signals(); +*** ../vim-7.4.021/src/misc1.c 2013-08-03 17:29:33.000000000 +0200 +--- src/misc1.c 2013-09-05 21:34:04.000000000 +0200 +*************** +*** 9174,9179 **** +--- 9174,9181 ---- + /* + * Preserve files and exit. + * When called IObuff must contain a message. ++ * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe ++ * functions, such as allocating memory. + */ + void + preserve_exit() +*************** +*** 9196,9202 **** + { + if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) + { +! OUT_STR(_("Vim: preserving files...\n")); + screen_start(); /* don't know where cursor is now */ + out_flush(); + ml_sync_all(FALSE, FALSE); /* preserve all swap files */ +--- 9198,9204 ---- + { + if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) + { +! OUT_STR("Vim: preserving files...\n"); + screen_start(); /* don't know where cursor is now */ + out_flush(); + ml_sync_all(FALSE, FALSE); /* preserve all swap files */ +*************** +*** 9206,9212 **** + + ml_close_all(FALSE); /* close all memfiles, without deleting */ + +! OUT_STR(_("Vim: Finished.\n")); + + getout(1); + } +--- 9208,9214 ---- + + ml_close_all(FALSE); /* close all memfiles, without deleting */ + +! OUT_STR("Vim: Finished.\n"); + + getout(1); + } +*** ../vim-7.4.021/src/version.c 2013-09-05 21:15:38.000000000 +0200 +--- src/version.c 2013-09-05 21:30:18.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 22, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +175. You send yourself e-mail before you go to bed to remind you + what to do when you wake up. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.023 b/patches/source/vim/patches/7.4.023 new file mode 100644 index 000000000..03005213e --- /dev/null +++ b/patches/source/vim/patches/7.4.023 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.023 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.023 +Problem: Compiler warning on 64 bit windows. +Solution: Add type cast. (Mike Williams) +Files: src/edit.c + + +*** ../vim-7.4.022/src/edit.c 2013-09-05 13:50:49.000000000 +0200 +--- src/edit.c 2013-09-06 17:32:55.000000000 +0200 +*************** +*** 5189,5195 **** + mb_ptr_back(line, p); + while (vim_isfilec(PTR2CHAR(p)) && p >= line) + mb_ptr_back(line, p); +! startcol = p - line; + + compl_col += ++startcol; + compl_length = (int)curs_col - startcol; +--- 5189,5195 ---- + mb_ptr_back(line, p); + while (vim_isfilec(PTR2CHAR(p)) && p >= line) + mb_ptr_back(line, p); +! startcol = (int)(p - line); + + compl_col += ++startcol; + compl_length = (int)curs_col - startcol; +*** ../vim-7.4.022/src/version.c 2013-09-05 21:41:35.000000000 +0200 +--- src/version.c 2013-09-06 17:33:41.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 23, + /**/ + +-- +Wizards had always known that the act of observation changed the thing that +was observed, and sometimes forgot that it also changed the observer too. + Terry Pratchett - Interesting times + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.024 b/patches/source/vim/patches/7.4.024 new file mode 100644 index 000000000..da0df9c6f --- /dev/null +++ b/patches/source/vim/patches/7.4.024 @@ -0,0 +1,61 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.024 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.024 +Problem: When root edits a file the undo file is owned by root while the + edited file may be owned by another user, which is not allowed. + (cac2s) +Solution: Accept an undo file owned by the current user. +Files: src/undo.c + + +*** ../vim-7.4.023/src/undo.c 2013-06-10 20:13:37.000000000 +0200 +--- src/undo.c 2013-09-07 15:45:56.000000000 +0200 +*************** +*** 1604,1613 **** + + #ifdef UNIX + /* For safety we only read an undo file if the owner is equal to the +! * owner of the text file. */ + if (mch_stat((char *)orig_name, &st_orig) >= 0 + && mch_stat((char *)file_name, &st_undo) >= 0 +! && st_orig.st_uid != st_undo.st_uid) + { + if (p_verbose > 0) + { +--- 1604,1614 ---- + + #ifdef UNIX + /* For safety we only read an undo file if the owner is equal to the +! * owner of the text file or equal to the current user. */ + if (mch_stat((char *)orig_name, &st_orig) >= 0 + && mch_stat((char *)file_name, &st_undo) >= 0 +! && st_orig.st_uid != st_undo.st_uid +! && st_undo.st_uid != getuid()) + { + if (p_verbose > 0) + { +*** ../vim-7.4.023/src/version.c 2013-09-07 16:35:38.000000000 +0200 +--- src/version.c 2013-09-08 15:38:52.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 24, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +186. You overstay in the office so you can have more time surfing the net. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.025 b/patches/source/vim/patches/7.4.025 new file mode 100644 index 000000000..9ead176eb --- /dev/null +++ b/patches/source/vim/patches/7.4.025 @@ -0,0 +1,62 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.025 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.025 (after 7.4.019 +Problem: Reading before start of a string. +Solution: Do not call mb_ptr_back() at start of a string. (Dominique Pelle) +Files: src/edit.c + + +*** ../vim-7.4.024/src/edit.c 2013-09-07 16:35:38.000000000 +0200 +--- src/edit.c 2013-09-08 15:57:20.000000000 +0200 +*************** +*** 5187,5197 **** + + /* Go back to just before the first filename character. */ + mb_ptr_back(line, p); +! while (vim_isfilec(PTR2CHAR(p)) && p >= line) + mb_ptr_back(line, p); +! startcol = (int)(p - line); + +! compl_col += ++startcol; + compl_length = (int)curs_col - startcol; + compl_pattern = addstar(line + compl_col, compl_length, + EXPAND_FILES); +--- 5187,5199 ---- + + /* Go back to just before the first filename character. */ + mb_ptr_back(line, p); +! while (p > line && vim_isfilec(PTR2CHAR(p))) + mb_ptr_back(line, p); +! startcol = (int)(p - line) + 1; +! if (p == line && vim_isfilec(PTR2CHAR(p))) +! startcol = 0; + +! compl_col += startcol; + compl_length = (int)curs_col - startcol; + compl_pattern = addstar(line + compl_col, compl_length, + EXPAND_FILES); +*** ../vim-7.4.024/src/version.c 2013-09-08 15:40:45.000000000 +0200 +--- src/version.c 2013-09-08 15:52:39.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 25, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +188. You purchase a laptop so you can surf while sitting on the can. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.026 b/patches/source/vim/patches/7.4.026 new file mode 100644 index 000000000..8add91f7a --- /dev/null +++ b/patches/source/vim/patches/7.4.026 @@ -0,0 +1,65 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.026 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.026 +Problem: Clang warning for int shift overflow. +Solution: Use unsigned and cast back to int. (Dominique Pelle) +Files: src/misc2.c + + +*** ../vim-7.4.025/src/misc2.c 2013-07-07 16:03:35.000000000 +0200 +--- src/misc2.c 2013-09-08 16:04:54.000000000 +0200 +*************** +*** 6496,6508 **** + get4c(fd) + FILE *fd; + { +! int n; + +! n = getc(fd); +! n = (n << 8) + getc(fd); +! n = (n << 8) + getc(fd); +! n = (n << 8) + getc(fd); +! return n; + } + + /* +--- 6496,6510 ---- + get4c(fd) + FILE *fd; + { +! /* Use unsigned rather than int otherwise result is undefined +! * when left-shift sets the MSB. */ +! unsigned n; + +! n = (unsigned)getc(fd); +! n = (n << 8) + (unsigned)getc(fd); +! n = (n << 8) + (unsigned)getc(fd); +! n = (n << 8) + (unsigned)getc(fd); +! return (int)n; + } + + /* +*** ../vim-7.4.025/src/version.c 2013-09-08 16:03:40.000000000 +0200 +--- src/version.c 2013-09-08 16:05:40.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 26, + /**/ + +-- +A computer program does what you tell it to do, not what you want it to do. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.027 b/patches/source/vim/patches/7.4.027 new file mode 100644 index 000000000..ab43d59ac --- /dev/null +++ b/patches/source/vim/patches/7.4.027 @@ -0,0 +1,89 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.027 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.027 (after 7.4.025) +Problem: Another valgrind error when using CTRL-X CTRL-F at the start of + the line. (Dominique Pelle) +Solution: Don't call mb_ptr_back() at the start of the line. Add a test. +Files: src/edit.c, src/testdir/test32.in + + +*** ../vim-7.4.026/src/edit.c 2013-09-08 16:03:40.000000000 +0200 +--- src/edit.c 2013-09-08 18:18:32.000000000 +0200 +*************** +*** 5183,5197 **** + } + else if (ctrl_x_mode == CTRL_X_FILES) + { +- char_u *p = line + startcol; +- + /* Go back to just before the first filename character. */ +! mb_ptr_back(line, p); +! while (p > line && vim_isfilec(PTR2CHAR(p))) + mb_ptr_back(line, p); +! startcol = (int)(p - line) + 1; +! if (p == line && vim_isfilec(PTR2CHAR(p))) +! startcol = 0; + + compl_col += startcol; + compl_length = (int)curs_col - startcol; +--- 5183,5201 ---- + } + else if (ctrl_x_mode == CTRL_X_FILES) + { + /* Go back to just before the first filename character. */ +! if (startcol > 0) +! { +! char_u *p = line + startcol; +! + mb_ptr_back(line, p); +! while (p > line && vim_isfilec(PTR2CHAR(p))) +! mb_ptr_back(line, p); +! if (p == line && vim_isfilec(PTR2CHAR(p))) +! startcol = 0; +! else +! startcol = (int)(p - line) + 1; +! } + + compl_col += startcol; + compl_length = (int)curs_col - startcol; +*** ../vim-7.4.026/src/testdir/test32.in 2010-05-15 13:04:10.000000000 +0200 +--- src/testdir/test32.in 2013-09-08 18:08:07.000000000 +0200 +*************** +*** 36,41 **** +--- 36,44 ---- + :w Xtest11.one + :w Xtest11.two + OIXA ++ :" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use ++ :" CTRL-X CTRL-F again to verify this doesn't cause trouble. ++ OXddk + :se cpt=w + OST + :se cpt=u nohid +*** ../vim-7.4.026/src/version.c 2013-09-08 16:07:03.000000000 +0200 +--- src/version.c 2013-09-08 18:14:17.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 27, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +190. You quickly hand over your wallet, leather jacket, and car keys + during a mugging, then proceed to beat the crap out of your + assailant when he asks for your laptop. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.028 b/patches/source/vim/patches/7.4.028 new file mode 100644 index 000000000..4a0e3cf9d --- /dev/null +++ b/patches/source/vim/patches/7.4.028 @@ -0,0 +1,753 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.028 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.028 +Problem: Equivalence classes are not working for multi-byte characters. +Solution: Copy the rules from the old to the new regexp engine. Add a test + to check both engines. +Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in, + src/testdir/test99.ok, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile + + +*** ../vim-7.4.027/src/regexp_nfa.c 2013-09-05 21:15:38.000000000 +0200 +--- src/regexp_nfa.c 2013-09-19 16:40:08.000000000 +0200 +*************** +*** 742,748 **** + nfa_emit_equi_class(c) + int c; + { +! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT); + + #ifdef FEAT_MBYTE + if (enc_utf8 || STRCMP(p_enc, "latin1") == 0 +--- 742,753 ---- + nfa_emit_equi_class(c) + int c; + { +! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT); +! #ifdef FEAT_MBYTE +! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT); +! #else +! # define EMITMBC(c) +! #endif + + #ifdef FEAT_MBYTE + if (enc_utf8 || STRCMP(p_enc, "latin1") == 0 +*************** +*** 753,844 **** + { + case 'A': case 0300: case 0301: case 0302: + case 0303: case 0304: case 0305: +! EMIT2('A'); EMIT2(0300); EMIT2(0301); +! EMIT2(0302); EMIT2(0303); EMIT2(0304); +! EMIT2(0305); + return OK; + + case 'C': case 0307: +! EMIT2('C'); EMIT2(0307); + return OK; + + case 'E': case 0310: case 0311: case 0312: case 0313: +! EMIT2('E'); EMIT2(0310); EMIT2(0311); +! EMIT2(0312); EMIT2(0313); + return OK; + + case 'I': case 0314: case 0315: case 0316: case 0317: +! EMIT2('I'); EMIT2(0314); EMIT2(0315); +! EMIT2(0316); EMIT2(0317); + return OK; + + case 'N': case 0321: +! EMIT2('N'); EMIT2(0321); + return OK; + + case 'O': case 0322: case 0323: case 0324: case 0325: +! case 0326: +! EMIT2('O'); EMIT2(0322); EMIT2(0323); +! EMIT2(0324); EMIT2(0325); EMIT2(0326); + return OK; + + case 'U': case 0331: case 0332: case 0333: case 0334: +! EMIT2('U'); EMIT2(0331); EMIT2(0332); +! EMIT2(0333); EMIT2(0334); + return OK; + + case 'Y': case 0335: +! EMIT2('Y'); EMIT2(0335); + return OK; + + case 'a': case 0340: case 0341: case 0342: + case 0343: case 0344: case 0345: +! EMIT2('a'); EMIT2(0340); EMIT2(0341); +! EMIT2(0342); EMIT2(0343); EMIT2(0344); +! EMIT2(0345); + return OK; + + case 'c': case 0347: +! EMIT2('c'); EMIT2(0347); + return OK; + + case 'e': case 0350: case 0351: case 0352: case 0353: +! EMIT2('e'); EMIT2(0350); EMIT2(0351); +! EMIT2(0352); EMIT2(0353); + return OK; + + case 'i': case 0354: case 0355: case 0356: case 0357: +! EMIT2('i'); EMIT2(0354); EMIT2(0355); +! EMIT2(0356); EMIT2(0357); + return OK; + + case 'n': case 0361: +! EMIT2('n'); EMIT2(0361); + return OK; + + case 'o': case 0362: case 0363: case 0364: case 0365: +! case 0366: +! EMIT2('o'); EMIT2(0362); EMIT2(0363); +! EMIT2(0364); EMIT2(0365); EMIT2(0366); + return OK; + + case 'u': case 0371: case 0372: case 0373: case 0374: +! EMIT2('u'); EMIT2(0371); EMIT2(0372); +! EMIT2(0373); EMIT2(0374); + return OK; + + case 'y': case 0375: case 0377: +! EMIT2('y'); EMIT2(0375); EMIT2(0377); + return OK; + +! default: +! return FAIL; + } + } + +! EMIT(c); + return OK; + #undef EMIT2 + } + + /* +--- 758,1095 ---- + { + case 'A': case 0300: case 0301: case 0302: + case 0303: case 0304: case 0305: +! CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd) +! CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2) +! EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302); +! EMIT2(0303); EMIT2(0304); EMIT2(0305); +! EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104) +! EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0) +! EMITMBC(0x1ea2) +! return OK; +! +! case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06) +! EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06) + return OK; + + case 'C': case 0307: +! CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c) +! EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108) +! EMITMBC(0x10a) EMITMBC(0x10c) +! return OK; +! +! case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a) +! CASEMBC(0x1e0e) CASEMBC(0x1e10) +! EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a) +! EMITMBC(0x1e0e) EMITMBC(0x1e10) + return OK; + + case 'E': case 0310: case 0311: case 0312: case 0313: +! CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118) +! CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc) +! EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312); +! EMIT2(0313); +! EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116) +! EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba) +! EMITMBC(0x1ebc) +! return OK; +! +! case 'F': CASEMBC(0x1e1e) +! EMIT2('F'); EMITMBC(0x1e1e) +! return OK; +! +! case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120) +! CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4) +! CASEMBC(0x1e20) +! EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120) +! EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6) +! EMITMBC(0x1f4) EMITMBC(0x1e20) +! return OK; +! +! case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22) +! CASEMBC(0x1e26) CASEMBC(0x1e28) +! EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22) +! EMITMBC(0x1e26) EMITMBC(0x1e28) + return OK; + + case 'I': case 0314: case 0315: case 0316: case 0317: +! CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e) +! CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8) +! EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316); +! EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a) +! EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130) +! EMITMBC(0x1cf) EMITMBC(0x1ec8) +! return OK; +! +! case 'J': CASEMBC(0x134) +! EMIT2('J'); EMITMBC(0x134) +! return OK; +! +! case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30) +! CASEMBC(0x1e34) +! EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30) +! EMITMBC(0x1e34) +! return OK; +! +! case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d) +! CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a) +! EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d) +! EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a) +! return OK; +! +! case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40) +! EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40) + return OK; + + case 'N': case 0321: +! CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44) +! CASEMBC(0x1e48) +! EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145) +! EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48) + return OK; + + case 'O': case 0322: case 0323: case 0324: case 0325: +! case 0326: case 0330: +! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0) +! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece) +! EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324); +! EMIT2(0325); EMIT2(0326); EMIT2(0330); +! EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150) +! EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea) +! EMITMBC(0x1ec) EMITMBC(0x1ece) +! return OK; +! +! case 'P': case 0x1e54: case 0x1e56: +! EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56) +! return OK; +! +! case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158) +! CASEMBC(0x1e58) CASEMBC(0x1e5e) +! EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158) +! EMITMBC(0x1e58) EMITMBC(0x1e5e) +! return OK; +! +! case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e) +! CASEMBC(0x160) CASEMBC(0x1e60) +! EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e) +! EMITMBC(0x160) EMITMBC(0x1e60) +! return OK; +! +! case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166) +! CASEMBC(0x1e6a) CASEMBC(0x1e6e) +! EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166) +! EMITMBC(0x1e6a) EMITMBC(0x1e6e) + return OK; + + case 'U': case 0331: case 0332: case 0333: case 0334: +! CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e) +! CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3) +! CASEMBC(0x1ee6) +! EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333); +! EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a) +! EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170) +! EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3) +! EMITMBC(0x1ee6) +! return OK; +! +! case 'V': CASEMBC(0x1e7c) +! EMIT2('V'); EMITMBC(0x1e7c) +! return OK; +! +! case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82) +! CASEMBC(0x1e84) CASEMBC(0x1e86) +! EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82) +! EMITMBC(0x1e84) EMITMBC(0x1e86) +! return OK; +! +! case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c) +! EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c) + return OK; + + case 'Y': case 0335: +! CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2) +! CASEMBC(0x1ef6) CASEMBC(0x1ef8) +! EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178) +! EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6) +! EMITMBC(0x1ef8) +! return OK; +! +! case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d) +! CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94) +! EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d) +! EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94) + return OK; + + case 'a': case 0340: case 0341: case 0342: + case 0343: case 0344: case 0345: +! CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce) +! CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3) +! EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342); +! EMIT2(0343); EMIT2(0344); EMIT2(0345); +! EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105) +! EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1) +! EMITMBC(0x1ea3) +! return OK; +! +! case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07) +! EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07) + return OK; + + case 'c': case 0347: +! CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d) +! EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109) +! EMITMBC(0x10b) EMITMBC(0x10d) +! return OK; +! +! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) +! CASEMBC(0x1e11) +! EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b) +! EMITMBC(0x01e0f) EMITMBC(0x1e11) + return OK; + + case 'e': case 0350: case 0351: case 0352: case 0353: +! CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119) +! CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd) +! EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352); +! EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115) +! EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b) +! EMITMBC(0x1ebb) EMITMBC(0x1ebd) +! return OK; +! +! case 'f': CASEMBC(0x1e1f) +! EMIT2('f'); EMITMBC(0x1e1f) +! return OK; +! +! case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121) +! CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5) +! CASEMBC(0x1e21) +! EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121) +! EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7) +! EMITMBC(0x1f5) EMITMBC(0x1e21) +! return OK; +! +! case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23) +! CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96) +! EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23) +! EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96) + return OK; + + case 'i': case 0354: case 0355: case 0356: case 0357: +! CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f) +! CASEMBC(0x1d0) CASEMBC(0x1ec9) +! EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356); +! EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b) +! EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0) +! EMITMBC(0x1ec9) +! return OK; +! +! case 'j': CASEMBC(0x135) CASEMBC(0x1f0) +! EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0) +! return OK; +! +! case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31) +! CASEMBC(0x1e35) +! EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31) +! EMITMBC(0x1e35) +! return OK; +! +! case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e) +! CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b) +! EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e) +! EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b) +! return OK; +! +! case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41) +! EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41) + return OK; + + case 'n': case 0361: +! CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149) +! CASEMBC(0x1e45) CASEMBC(0x1e49) +! EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146) +! EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45) +! EMITMBC(0x1e49) + return OK; + + case 'o': case 0362: case 0363: case 0364: case 0365: +! case 0366: case 0370: +! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1) +! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf) +! EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364); +! EMIT2(0365); EMIT2(0366); EMIT2(0370); +! EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151) +! EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb) +! EMITMBC(0x1ed) EMITMBC(0x1ecf) +! return OK; +! +! case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57) +! EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57) +! return OK; +! +! case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159) +! CASEMBC(0x1e59) CASEMBC(0x1e5f) +! EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159) +! EMITMBC(0x1e59) EMITMBC(0x1e5f) +! return OK; +! +! case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f) +! CASEMBC(0x161) CASEMBC(0x1e61) +! EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f) +! EMITMBC(0x161) EMITMBC(0x1e61) +! return OK; +! +! case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167) +! CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97) +! EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167) +! EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97) + return OK; + + case 'u': case 0371: case 0372: case 0373: case 0374: +! CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f) +! CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4) +! CASEMBC(0x1ee7) +! EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373); +! EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b) +! EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171) +! EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4) +! EMITMBC(0x1ee7) +! return OK; +! +! case 'v': CASEMBC(0x1e7d) +! EMIT2('v'); EMITMBC(0x1e7d) +! return OK; +! +! case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83) +! CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98) +! EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83) +! EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98) +! return OK; +! +! case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d) +! EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d) + return OK; + + case 'y': case 0375: case 0377: +! CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99) +! CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9) +! EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177) +! EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3) +! EMITMBC(0x1ef7) EMITMBC(0x1ef9) +! return OK; +! +! case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e) +! CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95) +! EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e) +! EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95) + return OK; + +! /* default: character itself */ + } + } + +! EMIT2(c); + return OK; + #undef EMIT2 ++ #undef EMITMBC + } + + /* +*** ../vim-7.4.027/src/testdir/test44.in 2013-05-26 14:16:31.000000000 +0200 +--- src/testdir/test44.in 2013-09-19 16:49:14.000000000 +0200 +*************** +*** 1,9 **** +--- 1,11 ---- + Tests for regexp with multi-byte encoding and various magic settings. + Test matchstr() with a count and multi-byte chars. ++ See test99 for exactly the same test with re=2. + + STARTTEST + :so mbyte.vim + :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo ++ :set re=1 + /^1 + /a*b\{2}c\+/e + x/\Md\*e\{2}f\+/e +*** ../vim-7.4.027/src/testdir/test99.in 2013-09-19 16:59:30.000000000 +0200 +--- src/testdir/test99.in 2013-09-19 16:50:00.000000000 +0200 +*************** +*** 0 **** +--- 1,68 ---- ++ Tests for regexp with multi-byte encoding and various magic settings. ++ Test matchstr() with a count and multi-byte chars. ++ See test44 for exactly the same test with re=1. ++ ++ STARTTEST ++ :so mbyte.vim ++ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo ++ :set re=2 ++ /^1 ++ /a*b\{2}c\+/e ++ x/\Md\*e\{2}f\+/e ++ x:set nomagic ++ /g\*h\{2}i\+/e ++ x/\mj*k\{2}l\+/e ++ x/\vm*n{2}o+/e ++ x/\V^aa$ ++ x:set magic ++ /\v(a)(b)\2\1\1/e ++ x/\V[ab]\(\[xy]\)\1 ++ x:" Now search for multi-byte without composing char ++ /ม ++ x:" Now search for multi-byte with composing char ++ /ม่ ++ x:" find word by change of word class ++ /ã¡\<カヨ\>㯠++ x:" Test \%u, [\u] and friends ++ /\%u20ac ++ x/[\u4f7f\u5929]\+ ++ x/\%U12345678 ++ x/[\U1234abcd\u1234\uabcd] ++ x/\%d21879b ++ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e ++ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e ++ x:" Test backwards search from a multi-byte char ++ /x ++ x?. ++ x:let @w=':%s#comb[i]nations#Å“Ì„á¹£Ìm̥̄ᾱ̆Ì#g' ++ :@w ++ :?^1?,$w! test.out ++ :e! test.out ++ G:put =matchstr(\"×בגד\", \".\", 0, 2) " ב ++ :put =matchstr(\"×בגד\", \"..\", 0, 2) " בג ++ :put =matchstr(\"×בגד\", \".\", 0, 0) " × ++ :put =matchstr(\"×בגד\", \".\", 4, -1) " ×’ ++ :w! ++ :qa! ++ ENDTEST ++ ++ 1 a aa abb abbccc ++ 2 d dd dee deefff ++ 3 g gg ghh ghhiii ++ 4 j jj jkk jkklll ++ 5 m mm mnn mnnooo ++ 6 x ^aa$ x ++ 7 (a)(b) abbaa ++ 8 axx [ab]xx ++ 9 หม่x อมx ++ a อมx หม่x ++ b ã¡ã‚«ãƒ¨ã¯ ++ c x ¬€x ++ d 天使x ++ e ü’…™¸y ++ f ü’Š¯z ++ g aå•·bb ++ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáºáº” ++ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑẕ ++ j 0123â¤x ++ k combinations +*** ../vim-7.4.027/src/testdir/test99.ok 2013-09-19 16:59:30.000000000 +0200 +--- src/testdir/test99.ok 2013-09-19 16:50:16.000000000 +0200 +*************** +*** 0 **** +--- 1,24 ---- ++ 1 a aa abb abbcc ++ 2 d dd dee deeff ++ 3 g gg ghh ghhii ++ 4 j jj jkk jkkll ++ 5 m mm mnn mnnoo ++ 6 x aa$ x ++ 7 (a)(b) abba ++ 8 axx ab]xx ++ 9 หม่x อx ++ a อมx หx ++ b カヨ㯠++ c x ¬x ++ d 使x ++ e y ++ f z ++ g abb ++ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵẠ++ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑ ++ j 012⤠++ k Å“Ì„á¹£ÌmÌ¥Ì„Î±Ì„Ì†Ì ++ ב ++ בג ++ × ++ ×’ +*** ../vim-7.4.027/src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200 +--- src/testdir/Make_amiga.mak 2013-09-19 16:51:48.000000000 +0200 +*************** +*** 33,39 **** + test76.out test77.out test78.out test79.out test80.out \ + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test97.out test98.out + + .SUFFIXES: .in .out + +--- 33,40 ---- + test76.out test77.out test78.out test79.out test80.out \ + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test97.out test98.out \ +! test99.out + + .SUFFIXES: .in .out + +*************** +*** 148,150 **** +--- 149,152 ---- + test96.out: test96.in + test97.out: test97.in + test98.out: test98.in ++ test99.out: test99.in +*** ../vim-7.4.027/src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200 +--- src/testdir/Make_dos.mak 2013-09-19 16:51:56.000000000 +0200 +*************** +*** 32,38 **** + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out + + SCRIPTS32 = test50.out test70.out + +--- 32,38 ---- + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.027/src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200 +--- src/testdir/Make_ming.mak 2013-09-19 16:52:01.000000000 +0200 +*************** +*** 52,58 **** + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out + + SCRIPTS32 = test50.out test70.out + +--- 52,58 ---- + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.027/src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200 +--- src/testdir/Make_os2.mak 2013-09-19 16:52:07.000000000 +0200 +*************** +*** 34,40 **** + test76.out test77.out test78.out test79.out test80.out \ + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out + + .SUFFIXES: .in .out + +--- 34,40 ---- + test76.out test77.out test78.out test79.out test80.out \ + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.027/src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200 +--- src/testdir/Make_vms.mms 2013-09-19 16:52:13.000000000 +0200 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Jul 09 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Sep 19 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 78,84 **** + test77.out test78.out test79.out test80.out test81.out \ + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ +! test95.out test96.out test97.out test98.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 78,84 ---- + test77.out test78.out test79.out test80.out test81.out \ + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ +! test95.out test96.out test97.out test98.out test99.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.027/src/testdir/Makefile 2013-08-10 14:20:20.000000000 +0200 +--- src/testdir/Makefile 2013-09-19 16:52:22.000000000 +0200 +*************** +*** 29,35 **** + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test97.out test98.out + + SCRIPTS_GUI = test16.out + +--- 29,36 ---- + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test97.out test98.out \ +! test99.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.027/src/version.c 2013-09-08 20:00:45.000000000 +0200 +--- src/version.c 2013-09-19 13:54:35.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 28, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +232. You start conversations with, "Have you gotten an ISDN line?" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.029 b/patches/source/vim/patches/7.4.029 new file mode 100644 index 000000000..b87e3a356 --- /dev/null +++ b/patches/source/vim/patches/7.4.029 @@ -0,0 +1,63 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.029 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.029 +Problem: An error in a pattern is reported twice. +Solution: Remove the retry with the backtracking engine, it won't work. +Files: src/regexp.c + + +*** ../vim-7.4.028/src/regexp.c 2013-08-25 17:01:36.000000000 +0200 +--- src/regexp.c 2013-09-19 17:03:31.000000000 +0200 +*************** +*** 8016,8027 **** + } + #endif + /* +! * If NFA engine failed, then revert to the backtracking engine. +! * Except when there was a syntax error, which was properly handled by +! * NFA engine. +! */ + if (regexp_engine == AUTOMATIC_ENGINE) + prog = bt_regengine.regcomp(expr, re_flags); + } + + return prog; +--- 8016,8026 ---- + } + #endif + /* +! * If the NFA engine failed, the backtracking engine won't work either. +! * + if (regexp_engine == AUTOMATIC_ENGINE) + prog = bt_regengine.regcomp(expr, re_flags); ++ */ + } + + return prog; +*** ../vim-7.4.028/src/version.c 2013-09-19 17:00:14.000000000 +0200 +--- src/version.c 2013-09-19 17:01:13.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 29, + /**/ + +-- +The term "free software" is defined by Richard M. Stallman as +being software that isn't necessarily for free. Confusing? +Let's call it "Stallman software" then! + -- Bram Moolenaar + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.030 b/patches/source/vim/patches/7.4.030 new file mode 100644 index 000000000..d685df673 --- /dev/null +++ b/patches/source/vim/patches/7.4.030 @@ -0,0 +1,109 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.030 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.030 +Problem: The -mno-cygwin argument is no longer supported by Cygwin. +Solution: Remove the arguments. (Steve Hall) +Files: src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak + + +*** ../vim-7.4.029/src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200 +--- src/GvimExt/Make_cyg.mak 2013-09-19 20:46:46.000000000 +0200 +*************** +*** 31,42 **** + ifeq ($(CROSS),yes) + DEL = rm + ifeq ($(MINGWOLD),yes) +! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks + else +! CXXFLAGS := -O2 -mno-cygwin + endif + else +! CXXFLAGS := -O2 -mno-cygwin + ifneq (sh.exe, $(SHELL)) + DEL = rm + else +--- 31,42 ---- + ifeq ($(CROSS),yes) + DEL = rm + ifeq ($(MINGWOLD),yes) +! CXXFLAGS := -O2 -fvtable-thunks + else +! CXXFLAGS := -O2 + endif + else +! CXXFLAGS := -O2 + ifneq (sh.exe, $(SHELL)) + DEL = rm + else +*** ../vim-7.4.029/src/Make_cyg.mak 2013-07-06 13:32:11.000000000 +0200 +--- src/Make_cyg.mak 2013-09-19 20:46:55.000000000 +0200 +*************** +*** 1,6 **** + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Apr 22 + # + # Also read INSTALLpc.txt! + # +--- 1,6 ---- + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Sep 19 + # + # Also read INSTALLpc.txt! + # +*************** +*** 439,446 **** + ############################## + ifeq (yes, $(USEDLL)) + DEFINES += -D_MAX_PATH=256 -D__CYGWIN__ +- else +- INCLUDES += -mno-cygwin + endif + + ############################## +--- 439,444 ---- +*** ../vim-7.4.029/src/xxd/Make_cyg.mak 2010-05-15 13:04:06.000000000 +0200 +--- src/xxd/Make_cyg.mak 2013-09-19 20:47:05.000000000 +0200 +*************** +*** 8,14 **** + DEFINES = + LIBS = -lc + else +! DEFINES = -mno-cygwin + LIBS = + endif + +--- 8,14 ---- + DEFINES = + LIBS = -lc + else +! DEFINES = + LIBS = + endif + +*** ../vim-7.4.029/src/version.c 2013-09-19 17:03:57.000000000 +0200 +--- src/version.c 2013-09-19 20:46:32.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 30, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +237. You tattoo your email address on your forehead. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.031 b/patches/source/vim/patches/7.4.031 new file mode 100644 index 000000000..f4e49d86b --- /dev/null +++ b/patches/source/vim/patches/7.4.031 @@ -0,0 +1,54 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.031 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.031 +Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles + Cooper) +Solution: Only resets related options in a window where 'diff' is set. +Files: src/diff.c + + +*** ../vim-7.4.030/src/diff.c 2013-07-17 13:43:15.000000000 +0200 +--- src/diff.c 2013-09-20 19:58:47.000000000 +0200 +*************** +*** 1203,1209 **** + + for (wp = firstwin; wp != NULL; wp = wp->w_next) + { +! if (wp == curwin || (eap->forceit && wp->w_p_diff)) + { + /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values + * were saved in diff_win_options() restore them. */ +--- 1203,1209 ---- + + for (wp = firstwin; wp != NULL; wp = wp->w_next) + { +! if (eap->forceit ? wp->w_p_diff : wp == curwin) + { + /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values + * were saved in diff_win_options() restore them. */ +*** ../vim-7.4.030/src/version.c 2013-09-19 20:48:59.000000000 +0200 +--- src/version.c 2013-09-20 19:59:45.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 31, + /**/ + +-- +"Marriage is a wonderful institution... +but who wants to live in an institution?" + - Groucho Marx + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.032 b/patches/source/vim/patches/7.4.032 new file mode 100644 index 000000000..9e25dc4ee --- /dev/null +++ b/patches/source/vim/patches/7.4.032 @@ -0,0 +1,82 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.032 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.032 +Problem: NFA engine does not match the NUL character. (Jonathon Merz) +Solution: Ues 0x0a instead of NUL. (Christian Brabandt) +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.031/src/regexp_nfa.c 2013-09-19 17:00:14.000000000 +0200 +--- src/regexp_nfa.c 2013-09-22 13:53:46.000000000 +0200 +*************** +*** 1383,1390 **** + EMSG2_RET_FAIL( + _("E678: Invalid character after %s%%[dxouU]"), + reg_magic == MAGIC_ALL); + /* TODO: what if a composing character follows? */ +! EMIT(nr); + } + break; + +--- 1383,1391 ---- + EMSG2_RET_FAIL( + _("E678: Invalid character after %s%%[dxouU]"), + reg_magic == MAGIC_ALL); ++ /* A NUL is stored in the text as NL */ + /* TODO: what if a composing character follows? */ +! EMIT(nr == 0 ? 0x0a : nr); + } + break; + +*** ../vim-7.4.031/src/testdir/test64.in 2013-09-05 21:15:38.000000000 +0200 +--- src/testdir/test64.in 2013-09-22 13:51:53.000000000 +0200 +*************** +*** 373,378 **** +--- 373,379 ---- + :call add(tl, [2, '\%x20', 'yes no', ' ']) + :call add(tl, [2, '\%u0020', 'yes no', ' ']) + :call add(tl, [2, '\%U00000020', 'yes no', ' ']) ++ :call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"]) + :" + :""""" \%[abc] + :call add(tl, [2, 'foo\%[bar]', 'fobar']) +*** ../vim-7.4.031/src/testdir/test64.ok 2013-09-05 21:15:38.000000000 +0200 +--- src/testdir/test64.ok 2013-09-22 13:52:41.000000000 +0200 +*************** +*** 863,868 **** +--- 863,871 ---- + OK 0 - \%U00000020 + OK 1 - \%U00000020 + OK 2 - \%U00000020 ++ OK 0 - \%d0 ++ OK 1 - \%d0 ++ OK 2 - \%d0 + OK 0 - foo\%[bar] + OK 1 - foo\%[bar] + OK 2 - foo\%[bar] +*** ../vim-7.4.031/src/version.c 2013-09-20 20:13:48.000000000 +0200 +--- src/version.c 2013-09-22 13:56:45.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 32, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +247. You use www.switchboard.com instead of dialing 411 and 555-12-12 + for directory assistance. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.033 b/patches/source/vim/patches/7.4.033 new file mode 100644 index 000000000..7eba8a0af --- /dev/null +++ b/patches/source/vim/patches/7.4.033 @@ -0,0 +1,116 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.033 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.033 +Problem: When the terminal has only 20 lines test 92 and 93 overwrite the + input file. +Solution: Explicitly write test.out. Check that the terminal is large enough + to run the tests. (Hirohito Higashi) +Files: src/testdir/test92.in, src/testdir/test93.in, + src/testdir/test1.in, src/testdir/Makefile + + +*** ../vim-7.4.032/src/testdir/test92.in 2013-04-18 23:33:45.000000000 +0200 +--- src/testdir/test92.in 2013-09-22 14:45:06.000000000 +0200 +*************** +*** 33,39 **** + :mksession! test.out + :new test.out + :v/\(^ *normal! 0\|^ *exe 'normal!\)/d +! :w + :qa! + ENDTEST + +--- 33,39 ---- + :mksession! test.out + :new test.out + :v/\(^ *normal! 0\|^ *exe 'normal!\)/d +! :w! test.out + :qa! + ENDTEST + +*** ../vim-7.4.032/src/testdir/test93.in 2013-02-26 17:13:01.000000000 +0100 +--- src/testdir/test93.in 2013-09-22 14:45:17.000000000 +0200 +*************** +*** 33,39 **** + :mksession! test.out + :new test.out + :v/\(^ *normal! 0\|^ *exe 'normal!\)/d +! :w + :qa! + ENDTEST + +--- 33,39 ---- + :mksession! test.out + :new test.out + :v/\(^ *normal! 0\|^ *exe 'normal!\)/d +! :w! test.out + :qa! + ENDTEST + +*** ../vim-7.4.032/src/testdir/test1.in 2012-04-05 16:37:37.000000000 +0200 +--- src/testdir/test1.in 2013-09-22 14:52:43.000000000 +0200 +*************** +*** 18,23 **** +--- 18,27 ---- + Similar logic is applied to the +lua feature, using lua.vim. + + STARTTEST ++ :" If columns or lines are too small, create wrongtermsize. ++ :" (Some tests will fail. When columns and/or lines are small) ++ :if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif ++ :" + :" Write a single line to test.out to check if testing works at all. + :%d + athis is a test:w! test.out +*** ../vim-7.4.032/src/testdir/Makefile 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/Makefile 2013-09-22 14:54:39.000000000 +0200 +*************** +*** 58,66 **** + -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.* + + test1.out: test1.in +! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) + $(RUN_VIM) $*.in +! @/bin/sh -c "if diff test.out $*.ok; \ + then mv -f test.out $*.out; \ + else echo; \ + echo test1 FAILED - Something basic is wrong; \ +--- 58,70 ---- + -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.* + + test1.out: test1.in +! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize + $(RUN_VIM) $*.in +! @/bin/sh -c "if test -e wrongtermsize; \ +! then echo; \ +! echo test1 FAILED - terminal size must be 80x24 or larger; \ +! echo; exit 1; \ +! elif diff test.out $*.ok; \ + then mv -f test.out $*.out; \ + else echo; \ + echo test1 FAILED - Something basic is wrong; \ +*** ../vim-7.4.032/src/version.c 2013-09-22 13:57:19.000000000 +0200 +--- src/version.c 2013-09-22 15:02:04.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 33, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +248. You sign your letters with your e-mail address instead of your name. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.034 b/patches/source/vim/patches/7.4.034 new file mode 100644 index 000000000..f111e1161 --- /dev/null +++ b/patches/source/vim/patches/7.4.034 @@ -0,0 +1,180 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.034 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.034 +Problem: Using "p" in Visual block mode only changes the first line. +Solution: Repeat the put in all text in the block. (Christian Brabandt) +Files: runtime/doc/change.txt, src/ops.c, src/normal.c, + src/testdir/test20.in, src/testdir/test20.ok + + +*** ../vim-7.4.033/runtime/doc/change.txt 2013-08-10 13:24:52.000000000 +0200 +--- runtime/doc/change.txt 2013-09-22 15:12:20.000000000 +0200 +*************** +*** 1069,1074 **** +--- 1069,1079 ---- + replace and use "0p . You can repeat this as many times as you like, the + unnamed register will be changed each time. + ++ When you use a blockwise Visual mode command and yank only a single line into ++ a register, a paste on a visual selected area will paste that single line on ++ each of the selected lines (thus replacing the blockwise selected region by a ++ block of the pasted line). ++ + *blockwise-register* + If you use a blockwise Visual mode command to get the text into the register, + the block of text will be inserted before ("P") or after ("p") the cursor +*** ../vim-7.4.033/src/ops.c 2013-08-09 19:34:32.000000000 +0200 +--- src/ops.c 2013-09-22 15:18:03.000000000 +0200 +*************** +*** 3776,3800 **** + */ + if (y_type == MCHAR && y_size == 1) + { +! totlen = count * yanklen; +! if (totlen) +! { +! oldp = ml_get(lnum); +! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1)); +! if (newp == NULL) +! goto end; /* alloc() will give error message */ +! mch_memmove(newp, oldp, (size_t)col); +! ptr = newp + col; +! for (i = 0; i < count; ++i) + { +! mch_memmove(ptr, y_array[0], (size_t)yanklen); +! ptr += yanklen; + } +! STRMOVE(ptr, oldp + col); +! ml_replace(lnum, newp, FALSE); +! /* Put cursor on last putted char. */ +! curwin->w_cursor.col += (colnr_T)(totlen - 1); +! } + curbuf->b_op_end = curwin->w_cursor; + /* For "CTRL-O p" in Insert mode, put cursor after last char */ + if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND))) +--- 3776,3817 ---- + */ + if (y_type == MCHAR && y_size == 1) + { +! do { +! totlen = count * yanklen; +! if (totlen > 0) + { +! oldp = ml_get(lnum); +! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1)); +! if (newp == NULL) +! goto end; /* alloc() gave an error message */ +! mch_memmove(newp, oldp, (size_t)col); +! ptr = newp + col; +! for (i = 0; i < count; ++i) +! { +! mch_memmove(ptr, y_array[0], (size_t)yanklen); +! ptr += yanklen; +! } +! STRMOVE(ptr, oldp + col); +! ml_replace(lnum, newp, FALSE); +! /* Place cursor on last putted char. */ +! if (lnum == curwin->w_cursor.lnum) +! curwin->w_cursor.col += (colnr_T)(totlen - 1); + } +! #ifdef FEAT_VISUAL +! if (VIsual_active) +! lnum++; +! #endif +! } while ( +! #ifdef FEAT_VISUAL +! VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum +! #else +! FALSE /* stop after 1 paste */ +! #endif +! ); +! #ifdef FEAT_VISUAL +! VIsual_active = FALSE; +! #endif +! + curbuf->b_op_end = curwin->w_cursor; + /* For "CTRL-O p" in Insert mode, put cursor after last char */ + if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND))) +*** ../vim-7.4.033/src/normal.c 2013-07-14 13:24:37.000000000 +0200 +--- src/normal.c 2013-09-22 15:15:18.000000000 +0200 +*************** +*** 9518,9523 **** +--- 9518,9525 ---- + /* cursor is at the end of the line or end of file, put + * forward. */ + dir = FORWARD; ++ /* May have been reset in do_put(). */ ++ VIsual_active = TRUE; + } + #endif + do_put(cap->oap->regname, dir, cap->count1, flags); +*** ../vim-7.4.033/src/testdir/test20.in 2010-05-15 13:04:10.000000000 +0200 +--- src/testdir/test20.in 2013-09-22 15:11:37.000000000 +0200 +*************** +*** 9,19 **** + @auY:quit! + GP + /start here$ +! jjlld +! :/here$/,$-1w! test.out + :qa! + ENDTEST + + test text test tex start here + some text + test text +--- 9,25 ---- + @auY:quit! + GP + /start here$ +! "by$jjlld +! /456$ +! jj"bP +! :/56$/,$-1w! test.out + :qa! + ENDTEST + ++ 123456 ++ 234567 ++ 345678 ++ + test text test tex start here + some text + test text +*** ../vim-7.4.033/src/testdir/test20.ok 2010-05-15 13:04:10.000000000 +0200 +--- src/testdir/test20.ok 2013-09-22 15:11:37.000000000 +0200 +*************** +*** 1,3 **** +--- 1,7 ---- ++ 123start here56 ++ 234start here67 ++ 345start here78 ++ + test text test tex rt here + somext + tesext +*** ../vim-7.4.033/src/version.c 2013-09-22 15:03:34.000000000 +0200 +--- src/version.c 2013-09-22 15:14:04.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 34, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +249. You've forgotten what the outside looks like. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.035 b/patches/source/vim/patches/7.4.035 new file mode 100644 index 000000000..9c4664a6e --- /dev/null +++ b/patches/source/vim/patches/7.4.035 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.035 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.035 +Problem: MS-Windows: The mouse pointer flickers when going from command + line mode to Normal mode. +Solution: Check for WM_NCMOUSEMOVE. (Ken Takata) +Files: src/gui_w48.c + + +*** ../vim-7.4.034/src/gui_w48.c 2013-08-10 13:36:45.000000000 +0200 +--- src/gui_w48.c 2013-09-22 15:41:56.000000000 +0200 +*************** +*** 1008,1014 **** + static LPARAM last_lParam = 0L; + + /* We sometimes get a mousemove when the mouse didn't move... */ +! if (uMsg == WM_MOUSEMOVE) + { + if (lParam == last_lParam) + return; +--- 1008,1014 ---- + static LPARAM last_lParam = 0L; + + /* We sometimes get a mousemove when the mouse didn't move... */ +! if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE) + { + if (lParam == last_lParam) + return; +*** ../vim-7.4.034/src/version.c 2013-09-22 15:23:38.000000000 +0200 +--- src/version.c 2013-09-22 15:41:29.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 35, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +251. You've never seen your closest friends who usually live WAY too far away. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.036 b/patches/source/vim/patches/7.4.036 new file mode 100644 index 000000000..49afc269a --- /dev/null +++ b/patches/source/vim/patches/7.4.036 @@ -0,0 +1,273 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.036 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.036 +Problem: NFA engine does not capture group correctly when using \@>. (ZyX) +Solution: Copy submatches before doing the recursive match. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.035/src/regexp_nfa.c 2013-09-22 13:57:19.000000000 +0200 +--- src/regexp_nfa.c 2013-09-25 16:35:54.000000000 +0200 +*************** +*** 36,42 **** + { + NFA_SPLIT = -1024, + NFA_MATCH, +! NFA_SKIP_CHAR, /* matches a 0-length char */ + + NFA_START_COLL, /* [abc] start */ + NFA_END_COLL, /* [abc] end */ +--- 36,42 ---- + { + NFA_SPLIT = -1024, + NFA_MATCH, +! NFA_EMPTY, /* matches 0-length */ + + NFA_START_COLL, /* [abc] start */ + NFA_END_COLL, /* [abc] end */ +*************** +*** 2005,2012 **** + { + /* Ignore result of previous call to nfa_regatom() */ + post_ptr = post_start + my_post_start; +! /* NFA_SKIP_CHAR has 0-length and works everywhere */ +! EMIT(NFA_SKIP_CHAR); + return OK; + } + +--- 2005,2012 ---- + { + /* Ignore result of previous call to nfa_regatom() */ + post_ptr = post_start + my_post_start; +! /* NFA_EMPTY is 0-length and works everywhere */ +! EMIT(NFA_EMPTY); + return OK; + } + +*************** +*** 2170,2185 **** + old_post_pos = (int)(post_ptr - post_start); + if (nfa_regconcat() == FAIL) + return FAIL; +! /* if concat is empty, skip a input char. But do emit a node */ + if (old_post_pos == (int)(post_ptr - post_start)) +! EMIT(NFA_SKIP_CHAR); + EMIT(NFA_CONCAT); + ch = peekchr(); + } + +! /* Even if a branch is empty, emit one node for it */ + if (old_post_pos == (int)(post_ptr - post_start)) +! EMIT(NFA_SKIP_CHAR); + + return OK; + } +--- 2170,2185 ---- + old_post_pos = (int)(post_ptr - post_start); + if (nfa_regconcat() == FAIL) + return FAIL; +! /* if concat is empty do emit a node */ + if (old_post_pos == (int)(post_ptr - post_start)) +! EMIT(NFA_EMPTY); + EMIT(NFA_CONCAT); + ch = peekchr(); + } + +! /* if a branch is empty, emit one node for it */ + if (old_post_pos == (int)(post_ptr - post_start)) +! EMIT(NFA_EMPTY); + + return OK; + } +*************** +*** 2423,2429 **** + case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break; + case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break; + case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break; +! case NFA_SKIP_CHAR: STRCPY(code, "NFA_SKIP_CHAR"); break; + case NFA_OR: STRCPY(code, "NFA_OR"); break; + + case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break; +--- 2423,2429 ---- + case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break; + case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break; + case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break; +! case NFA_EMPTY: STRCPY(code, "NFA_EMPTY"); break; + case NFA_OR: STRCPY(code, "NFA_OR"); break; + + case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break; +*************** +*** 3067,3073 **** + case NFA_ZSTART: + case NFA_ZEND: + case NFA_OPT_CHARS: +! case NFA_SKIP_CHAR: + case NFA_START_PATTERN: + case NFA_END_PATTERN: + case NFA_COMPOSING: +--- 3067,3073 ---- + case NFA_ZSTART: + case NFA_ZEND: + case NFA_OPT_CHARS: +! case NFA_EMPTY: + case NFA_START_PATTERN: + case NFA_END_PATTERN: + case NFA_COMPOSING: +*************** +*** 3265,3279 **** + PUSH(frag(e1.start, e2.out)); + break; + +! case NFA_SKIP_CHAR: +! /* Symbol of 0-length, Used in a repetition +! * with max/min count of 0 */ + if (nfa_calc_size == TRUE) + { + nstate++; + break; + } +! s = alloc_state(NFA_SKIP_CHAR, NULL, NULL); + if (s == NULL) + goto theend; + PUSH(frag(s, list1(&s->out))); +--- 3265,3278 ---- + PUSH(frag(e1.start, e2.out)); + break; + +! case NFA_EMPTY: +! /* 0-length, used in a repetition with max/min count of 0 */ + if (nfa_calc_size == TRUE) + { + nstate++; + break; + } +! s = alloc_state(NFA_EMPTY, NULL, NULL); + if (s == NULL) + goto theend; + PUSH(frag(s, list1(&s->out))); +*************** +*** 4209,4215 **** + case NFA_MOPEN: + case NFA_ZEND: + case NFA_SPLIT: +! case NFA_SKIP_CHAR: + /* These nodes are not added themselves but their "out" and/or + * "out1" may be added below. */ + break; +--- 4208,4214 ---- + case NFA_MOPEN: + case NFA_ZEND: + case NFA_SPLIT: +! case NFA_EMPTY: + /* These nodes are not added themselves but their "out" and/or + * "out1" may be added below. */ + break; +*************** +*** 4337,4343 **** + subs = addstate(l, state->out1, subs, pim, off); + break; + +! case NFA_SKIP_CHAR: + case NFA_NOPEN: + case NFA_NCLOSE: + subs = addstate(l, state->out, subs, pim, off); +--- 4336,4342 ---- + subs = addstate(l, state->out1, subs, pim, off); + break; + +! case NFA_EMPTY: + case NFA_NOPEN: + case NFA_NCLOSE: + subs = addstate(l, state->out, subs, pim, off); +*************** +*** 5604,5612 **** + { + int in_use = m->norm.in_use; + +! /* Copy submatch info for the recursive call, so that +! * \1 can be matched. */ + copy_sub_off(&m->norm, &t->subs.norm); + + /* + * First try matching the invisible match, then what +--- 5603,5615 ---- + { + int in_use = m->norm.in_use; + +! /* Copy submatch info for the recursive call, opposite +! * of what happens on success below. */ + copy_sub_off(&m->norm, &t->subs.norm); ++ #ifdef FEAT_SYN_HL ++ if (nfa_has_zsubexpr) ++ copy_sub_off(&m->synt, &t->subs.synt); ++ #endif + + /* + * First try matching the invisible match, then what +*************** +*** 5713,5718 **** +--- 5716,5728 ---- + #endif + break; + } ++ /* Copy submatch info to the recursive call, opposite of what ++ * happens afterwards. */ ++ copy_sub_off(&m->norm, &t->subs.norm); ++ #ifdef FEAT_SYN_HL ++ if (nfa_has_zsubexpr) ++ copy_sub_off(&m->synt, &t->subs.synt); ++ #endif + + /* First try matching the pattern. */ + result = recursive_regmatch(t->state, NULL, prog, +*** ../vim-7.4.035/src/testdir/test64.in 2013-09-22 13:57:19.000000000 +0200 +--- src/testdir/test64.in 2013-09-25 15:51:12.000000000 +0200 +*************** +*** 430,435 **** +--- 430,436 ---- + :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) + :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) + :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab']) ++ :call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', '']) + :" TODO: BT engine does not restore submatch after failure + :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa']) + :" +*** ../vim-7.4.035/src/testdir/test64.ok 2013-09-22 13:57:19.000000000 +0200 +--- src/testdir/test64.ok 2013-09-25 16:39:31.000000000 +0200 +*************** +*** 992,997 **** +--- 992,1000 ---- + OK 0 - ^\(.\{-}b\)\@>. + OK 1 - ^\(.\{-}b\)\@>. + OK 2 - ^\(.\{-}b\)\@>. ++ OK 0 - \(.\{-}\)\(\)\@>$ ++ OK 1 - \(.\{-}\)\(\)\@>$ ++ OK 2 - \(.\{-}\)\(\)\@>$ + OK 0 - \(a*\)\@>a\|a\+ + OK 2 - \(a*\)\@>a\|a\+ + OK 0 - \_[^8-9]\+ +*** ../vim-7.4.035/src/version.c 2013-09-22 15:43:34.000000000 +0200 +--- src/version.c 2013-09-25 16:40:01.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 36, + /**/ + +-- +There is a fine line between courage and foolishness. +Unfortunately, it's not a fence. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.037 b/patches/source/vim/patches/7.4.037 new file mode 100644 index 000000000..3c6369b72 --- /dev/null +++ b/patches/source/vim/patches/7.4.037 @@ -0,0 +1,130 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.037 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.037 +Problem: Using "\ze" in a sub-pattern does not result in the end of the + match to be set. (Axel Bender) +Solution: Copy the end of match position when a recursive match was + successful. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.036/src/regexp_nfa.c 2013-09-25 16:41:50.000000000 +0200 +--- src/regexp_nfa.c 2013-09-25 18:09:59.000000000 +0200 +*************** +*** 3822,3827 **** +--- 3822,3828 ---- + static void clear_sub __ARGS((regsub_T *sub)); + static void copy_sub __ARGS((regsub_T *to, regsub_T *from)); + static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from)); ++ static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from)); + static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2)); + static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen)); + static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim)); +*************** +*** 3909,3914 **** +--- 3910,3938 ---- + } + + /* ++ * Like copy_sub() but only do the end of the main match if \ze is present. ++ */ ++ static void ++ copy_ze_off(to, from) ++ regsub_T *to; ++ regsub_T *from; ++ { ++ if (nfa_has_zend) ++ { ++ if (REG_MULTI) ++ { ++ if (from->list.multi[0].end.lnum >= 0) ++ to->list.multi[0].end = from->list.multi[0].end; ++ } ++ else ++ { ++ if (from->list.line[0].end != NULL) ++ to->list.line[0].end = from->list.line[0].end; ++ } ++ } ++ } ++ ++ /* + * Return TRUE if "sub1" and "sub2" have the same start positions. + */ + static int +*************** +*** 5308,5313 **** +--- 5332,5338 ---- + * When "nfa_endp" is not NULL it is a required end-of-match position. + * + * Return TRUE if there is a match, FALSE otherwise. ++ * When there is a match "submatch" contains the positions. + * Note: Caller must ensure that: start != NULL. + */ + static int +*************** +*** 5633,5638 **** +--- 5658,5666 ---- + if (nfa_has_zsubexpr) + copy_sub_off(&t->subs.synt, &m->synt); + #endif ++ /* If the pattern has \ze and it matched in the ++ * sub pattern, use it. */ ++ copy_ze_off(&t->subs.norm, &m->norm); + + /* t->state->out1 is the corresponding + * END_INVISIBLE node; Add its out to the current +*** ../vim-7.4.036/src/testdir/test64.in 2013-09-25 16:41:50.000000000 +0200 +--- src/testdir/test64.in 2013-09-25 18:09:16.000000000 +0200 +*************** +*** 425,430 **** +--- 425,431 ---- + :" + :" complicated look-behind match + :call add(tl, [2, '\(r\@<=\|\w\@ + :call add(tl, [2, '\(a*\)\@>a', 'aaaa']) +*** ../vim-7.4.036/src/testdir/test64.ok 2013-09-25 16:41:50.000000000 +0200 +--- src/testdir/test64.ok 2013-09-25 18:10:05.000000000 +0200 +*************** +*** 983,988 **** +--- 983,991 ---- + OK 0 - \(r\@<=\|\w\@a + OK 1 - \(a*\)\@>a + OK 2 - \(a*\)\@>a +*** ../vim-7.4.036/src/version.c 2013-09-25 16:41:50.000000000 +0200 +--- src/version.c 2013-09-25 18:14:36.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 37, + /**/ + +-- +MAN: You don't frighten us, English pig-dog! Go and boil your bottoms, + son of a silly person. I blow my nose on you, so-called Arthur-king, + you and your silly English K...kaniggets. + He puts hands to his ears and blows a raspberry. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.038 b/patches/source/vim/patches/7.4.038 new file mode 100644 index 000000000..0aae370e3 --- /dev/null +++ b/patches/source/vim/patches/7.4.038 @@ -0,0 +1,116 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.038 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.038 +Problem: Using "zw" and "zg" when 'spell' is off give a confusing error + message. (Gary Johnson) +Solution: Ignore the error when locating the word. Explicitly mention what + word was added. (Christian Brabandt) +Files: src/normal.c, src/spell.c + + +*** ../vim-7.4.037/src/normal.c 2013-09-22 15:23:38.000000000 +0200 +--- src/normal.c 2013-09-25 18:54:08.000000000 +0200 +*************** +*** 5246,5253 **** + { + pos_T pos = curwin->w_cursor; + +! /* Find bad word under the cursor. */ + len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL); + if (len != 0 && curwin->w_cursor.col <= pos.col) + ptr = ml_get_pos(&curwin->w_cursor); + curwin->w_cursor = pos; +--- 5246,5257 ---- + { + pos_T pos = curwin->w_cursor; + +! /* Find bad word under the cursor. When 'spell' is +! * off this fails and find_ident_under_cursor() is +! * used below. */ +! emsg_off++; + len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL); ++ emsg_off--; + if (len != 0 && curwin->w_cursor.col <= pos.col) + ptr = ml_get_pos(&curwin->w_cursor); + curwin->w_cursor = pos; +*** ../vim-7.4.037/src/spell.c 2013-07-17 17:28:28.000000000 +0200 +--- src/spell.c 2013-09-25 18:48:55.000000000 +0200 +*************** +*** 9479,9485 **** + if (undo) + { + home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); +! smsg((char_u *)_("Word removed from %s"), NameBuff); + } + } + fseek(fd, fpos_next, SEEK_SET); +--- 9479,9486 ---- + if (undo) + { + home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); +! smsg((char_u *)_("Word '%.*s' removed from %s"), +! len, word, NameBuff); + } + } + fseek(fd, fpos_next, SEEK_SET); +*************** +*** 9525,9531 **** + fclose(fd); + + home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); +! smsg((char_u *)_("Word added to %s"), NameBuff); + } + } + +--- 9526,9532 ---- + fclose(fd); + + home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE); +! smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff); + } + } + +*************** +*** 10135,10141 **** + } + + /* +! * "z?": Find badly spelled word under or after the cursor. + * Give suggestions for the properly spelled word. + * In Visual mode use the highlighted word as the bad word. + * When "count" is non-zero use that suggestion. +--- 10136,10142 ---- + } + + /* +! * "z=": Find badly spelled word under or after the cursor. + * Give suggestions for the properly spelled word. + * In Visual mode use the highlighted word as the bad word. + * When "count" is non-zero use that suggestion. +*** ../vim-7.4.037/src/version.c 2013-09-25 18:16:34.000000000 +0200 +--- src/version.c 2013-09-25 18:52:47.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 38, + /**/ + +-- +MAN: Fetchez la vache! +GUARD: Quoi? +MAN: Fetchez la vache! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.039 b/patches/source/vim/patches/7.4.039 new file mode 100644 index 000000000..5d653e353 --- /dev/null +++ b/patches/source/vim/patches/7.4.039 @@ -0,0 +1,217 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.039 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.039 +Problem: MS-Windows: MSCV10 and earlier can't handle symlinks to a + directory properly. +Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata) +Files: src/os_mswin.c, src/os_win32.c, src/os_win32.h + + +*** ../vim-7.4.038/src/os_mswin.c 2013-08-30 16:51:15.000000000 +0200 +--- src/os_mswin.c 2013-09-25 19:09:53.000000000 +0200 +*************** +*** 498,503 **** +--- 498,595 ---- + } + } + ++ static int ++ stat_symlink_aware(const char *name, struct stat *stp) ++ { ++ #if defined(_MSC_VER) && _MSC_VER < 1700 ++ /* Work around for VC10 or earlier. stat() can't handle symlinks properly. ++ * VC9 or earlier: stat() doesn't support a symlink at all. It retrieves ++ * status of a symlink itself. ++ * VC10: stat() supports a symlink to a normal file, but it doesn't support ++ * a symlink to a directory (always returns an error). */ ++ WIN32_FIND_DATA findData; ++ HANDLE hFind, h; ++ DWORD attr = 0; ++ BOOL is_symlink = FALSE; ++ ++ hFind = FindFirstFile(name, &findData); ++ if (hFind != INVALID_HANDLE_VALUE) ++ { ++ attr = findData.dwFileAttributes; ++ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT) ++ && (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK)) ++ is_symlink = TRUE; ++ FindClose(hFind); ++ } ++ if (is_symlink) ++ { ++ h = CreateFile(name, FILE_READ_ATTRIBUTES, ++ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, ++ OPEN_EXISTING, ++ (attr & FILE_ATTRIBUTE_DIRECTORY) ++ ? FILE_FLAG_BACKUP_SEMANTICS : 0, ++ NULL); ++ if (h != INVALID_HANDLE_VALUE) ++ { ++ int fd, n; ++ ++ fd = _open_osfhandle((intptr_t)h, _O_RDONLY); ++ n = _fstat(fd, (struct _stat*)stp); ++ _close(fd); ++ return n; ++ } ++ } ++ #endif ++ return stat(name, stp); ++ } ++ ++ #ifdef FEAT_MBYTE ++ static int ++ wstat_symlink_aware(const WCHAR *name, struct _stat *stp) ++ { ++ # if defined(_MSC_VER) && _MSC_VER < 1700 ++ /* Work around for VC10 or earlier. _wstat() can't handle symlinks properly. ++ * VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves ++ * status of a symlink itself. ++ * VC10: _wstat() supports a symlink to a normal file, but it doesn't ++ * support a symlink to a directory (always returns an error). */ ++ int n; ++ BOOL is_symlink = FALSE; ++ HANDLE hFind, h; ++ DWORD attr = 0; ++ WIN32_FIND_DATAW findDataW; ++ ++ hFind = FindFirstFileW(name, &findDataW); ++ if (hFind != INVALID_HANDLE_VALUE) ++ { ++ attr = findDataW.dwFileAttributes; ++ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT) ++ && (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK)) ++ is_symlink = TRUE; ++ FindClose(hFind); ++ } ++ if (is_symlink) ++ { ++ h = CreateFileW(name, FILE_READ_ATTRIBUTES, ++ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, ++ OPEN_EXISTING, ++ (attr & FILE_ATTRIBUTE_DIRECTORY) ++ ? FILE_FLAG_BACKUP_SEMANTICS : 0, ++ NULL); ++ if (h != INVALID_HANDLE_VALUE) ++ { ++ int fd; ++ ++ fd = _open_osfhandle((intptr_t)h, _O_RDONLY); ++ n = _fstat(fd, stp); ++ _close(fd); ++ return n; ++ } ++ } ++ # endif ++ return _wstat(name, stp); ++ } ++ #endif + + /* + * stat() can't handle a trailing '/' or '\', remove it first. +*************** +*** 534,540 **** + + if (wp != NULL) + { +! n = _wstat(wp, (struct _stat *)stp); + vim_free(wp); + if (n >= 0) + return n; +--- 626,632 ---- + + if (wp != NULL) + { +! n = wstat_symlink_aware(wp, (struct _stat *)stp); + vim_free(wp); + if (n >= 0) + return n; +*************** +*** 544,550 **** + } + } + #endif +! return stat(buf, stp); + } + + #if defined(FEAT_GUI_MSWIN) || defined(PROTO) +--- 636,642 ---- + } + } + #endif +! return stat_symlink_aware(buf, stp); + } + + #if defined(FEAT_GUI_MSWIN) || defined(PROTO) +*** ../vim-7.4.038/src/os_win32.c 2013-08-30 17:29:10.000000000 +0200 +--- src/os_win32.c 2013-09-25 19:09:53.000000000 +0200 +*************** +*** 78,93 **** + # endif + #endif + +- /* +- * Reparse Point +- */ +- #ifndef FILE_ATTRIBUTE_REPARSE_POINT +- # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 +- #endif +- #ifndef IO_REPARSE_TAG_SYMLINK +- # define IO_REPARSE_TAG_SYMLINK 0xA000000C +- #endif +- + /* Record all output and all keyboard & mouse input */ + /* #define MCH_WRITE_DUMP */ + +--- 78,83 ---- +*** ../vim-7.4.038/src/os_win32.h 2013-07-21 17:53:13.000000000 +0200 +--- src/os_win32.h 2013-09-25 19:09:53.000000000 +0200 +*************** +*** 130,135 **** +--- 130,148 ---- + # define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */ + #endif + ++ /* ++ * Reparse Point ++ */ ++ #ifndef FILE_ATTRIBUTE_REPARSE_POINT ++ # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 ++ #endif ++ #ifndef IO_REPARSE_TAG_MOUNT_POINT ++ # define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 ++ #endif ++ #ifndef IO_REPARSE_TAG_SYMLINK ++ # define IO_REPARSE_TAG_SYMLINK 0xA000000C ++ #endif ++ + #if defined(_MSC_VER) || defined(__BORLANDC__) + /* Support for __try / __except. All versions of MSVC and Borland C are + * expected to have this. Any other compilers that support it? */ +*** ../vim-7.4.038/src/version.c 2013-09-25 18:54:20.000000000 +0200 +--- src/version.c 2013-09-25 19:08:55.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 39, + /**/ + +-- + A cow comes flying over the battlements, lowing aggressively. The cow + lands on GALAHAD'S PAGE, squashing him completely. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.040 b/patches/source/vim/patches/7.4.040 new file mode 100644 index 000000000..a60022366 --- /dev/null +++ b/patches/source/vim/patches/7.4.040 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.040 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.040 +Problem: Valgrind error on exit when a script-local variable holds a + reference to the scope of another script. +Solution: First clear all variables, then free the scopes. (ZyX) +Files: src/eval.c + + +*** ../vim-7.4.039/src/eval.c 2013-08-30 16:35:41.000000000 +0200 +--- src/eval.c 2013-09-25 20:28:15.000000000 +0200 +*************** +*** 915,926 **** + /* autoloaded script names */ + ga_clear_strings(&ga_loaded); + +! /* script-local variables */ + for (i = 1; i <= ga_scripts.ga_len; ++i) +- { + vars_clear(&SCRIPT_VARS(i)); + vim_free(SCRIPT_SV(i)); +- } + ga_clear(&ga_scripts); + + /* unreferenced lists and dicts */ +--- 915,927 ---- + /* autoloaded script names */ + ga_clear_strings(&ga_loaded); + +! /* Script-local variables. First clear all the variables and in a second +! * loop free the scriptvar_T, because a variable in one script might hold +! * a reference to the whole scope of another script. */ + for (i = 1; i <= ga_scripts.ga_len; ++i) + vars_clear(&SCRIPT_VARS(i)); ++ for (i = 1; i <= ga_scripts.ga_len; ++i) + vim_free(SCRIPT_SV(i)); + ga_clear(&ga_scripts); + + /* unreferenced lists and dicts */ +*** ../vim-7.4.039/src/version.c 2013-09-25 19:13:32.000000000 +0200 +--- src/version.c 2013-09-25 20:30:06.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 40, + /**/ + +-- + A KNIGHT rides into shot and hacks him to the ground. He rides off. + We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A. + twin-set emerges from the trees and looks in horror at the body of her + HUSBAND. +MRS HISTORIAN: FRANK! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.041 b/patches/source/vim/patches/7.4.041 new file mode 100644 index 000000000..190604e93 --- /dev/null +++ b/patches/source/vim/patches/7.4.041 @@ -0,0 +1,61 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.041 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.041 (after 7.4.034) +Problem: Visual selection does not remain after being copied over. (Axel + Bender) +Solution: Move when VIsual_active is reset. (Christian Brabandt) +Files: src/ops.c + + +*** ../vim-7.4.040/src/ops.c 2013-09-22 15:23:38.000000000 +0200 +--- src/ops.c 2013-09-25 23:20:37.000000000 +0200 +*************** +*** 3808,3816 **** + FALSE /* stop after 1 paste */ + #endif + ); +- #ifdef FEAT_VISUAL +- VIsual_active = FALSE; +- #endif + + curbuf->b_op_end = curwin->w_cursor; + /* For "CTRL-O p" in Insert mode, put cursor after last char */ +--- 3808,3813 ---- +*************** +*** 3972,3977 **** +--- 3969,3978 ---- + if (regname == '=') + vim_free(y_array); + ++ #ifdef FEAT_VISUAL ++ VIsual_active = FALSE; ++ #endif ++ + /* If the cursor is past the end of the line put it at the end. */ + adjust_cursor_eol(); + } +*** ../vim-7.4.040/src/version.c 2013-09-25 21:00:24.000000000 +0200 +--- src/version.c 2013-09-25 23:20:46.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 41, + /**/ + + +-- +press CTRL-ALT-DEL for more information + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.042 b/patches/source/vim/patches/7.4.042 new file mode 100644 index 000000000..648a1bfef --- /dev/null +++ b/patches/source/vim/patches/7.4.042 @@ -0,0 +1,71 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.042 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.042 +Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump + doesn't work. (Dimitar Dimitrov) +Solution: Copy the option variables to the new window used to show the dump. + (Christian Brabandt) +Files: src/spell.c + + +*** ../vim-7.4.041/src/spell.c 2013-09-25 18:54:20.000000000 +0200 +--- src/spell.c 2013-09-29 13:15:51.000000000 +0200 +*************** +*** 15569,15579 **** + ex_spelldump(eap) + exarg_T *eap; + { + if (no_spell_checking(curwin)) + return; + +! /* Create a new empty buffer by splitting the window. */ + do_cmdline_cmd((char_u *)"new"); + if (!bufempty() || !buf_valid(curbuf)) + return; + +--- 15569,15589 ---- + ex_spelldump(eap) + exarg_T *eap; + { ++ char_u *spl; ++ long dummy; ++ + if (no_spell_checking(curwin)) + return; ++ get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL); + +! /* Create a new empty buffer in a new window. */ + do_cmdline_cmd((char_u *)"new"); ++ ++ /* enable spelling locally in the new window */ ++ set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL); ++ set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL); ++ vim_free(spl); ++ + if (!bufempty() || !buf_valid(curbuf)) + return; + +*** ../vim-7.4.041/src/version.c 2013-09-25 23:24:54.000000000 +0200 +--- src/version.c 2013-09-29 13:15:17.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 42, + /**/ + +-- +Experience is what you get when you don't get what you want. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.043 b/patches/source/vim/patches/7.4.043 new file mode 100644 index 000000000..0c3d852ca --- /dev/null +++ b/patches/source/vim/patches/7.4.043 @@ -0,0 +1,89 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.043 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.043 +Problem: VMS can't handle long function names. +Solution: Shorten may_req_ambiguous_character_width. (Samuel Ferencik) +Files: src/main.c, src/term.c, src/proto/term.pro + + +*** ../vim-7.4.042/src/main.c 2013-08-22 14:14:23.000000000 +0200 +--- src/main.c 2013-09-29 16:23:49.000000000 +0200 +*************** +*** 812,818 **** + starttermcap(); /* start termcap if not done by wait_return() */ + TIME_MSG("start termcap"); + #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE) +! may_req_ambiguous_character_width(); + #endif + + #ifdef FEAT_MOUSE +--- 812,818 ---- + starttermcap(); /* start termcap if not done by wait_return() */ + TIME_MSG("start termcap"); + #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE) +! may_req_ambiguous_char_width(); + #endif + + #ifdef FEAT_MOUSE +*** ../vim-7.4.042/src/term.c 2013-07-04 22:29:28.000000000 +0200 +--- src/term.c 2013-09-29 16:27:12.000000000 +0200 +*************** +*** 3356,3362 **** + * it must be called immediately after entering termcap mode. + */ + void +! may_req_ambiguous_character_width() + { + if (u7_status == U7_GET + && cur_tmode == TMODE_RAW +--- 3356,3362 ---- + * it must be called immediately after entering termcap mode. + */ + void +! may_req_ambiguous_char_width() + { + if (u7_status == U7_GET + && cur_tmode == TMODE_RAW +*** ../vim-7.4.042/src/proto/term.pro 2013-08-10 13:37:28.000000000 +0200 +--- src/proto/term.pro 2013-09-29 16:25:02.000000000 +0200 +*************** +*** 35,41 **** + void starttermcap __ARGS((void)); + void stoptermcap __ARGS((void)); + void may_req_termresponse __ARGS((void)); +! void may_req_ambiguous_character_width __ARGS((void)); + int swapping_screen __ARGS((void)); + void setmouse __ARGS((void)); + int mouse_has __ARGS((int c)); +--- 35,41 ---- + void starttermcap __ARGS((void)); + void stoptermcap __ARGS((void)); + void may_req_termresponse __ARGS((void)); +! void may_req_ambiguous_char_width __ARGS((void)); + int swapping_screen __ARGS((void)); + void setmouse __ARGS((void)); + int mouse_has __ARGS((int c)); +*** ../vim-7.4.042/src/version.c 2013-09-29 13:38:25.000000000 +0200 +--- src/version.c 2013-09-29 16:25:16.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 43, + /**/ + +-- +Back up my hard drive? I can't find the reverse switch! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.044 b/patches/source/vim/patches/7.4.044 new file mode 100644 index 000000000..3d8832dfa --- /dev/null +++ b/patches/source/vim/patches/7.4.044 @@ -0,0 +1,83 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.044 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.044 (after 7.4.039) +Problem: Can't build with old MSVC. (Wang Shoulin) +Solution: Define OPEN_OH_ARGTYPE instead of using intptr_t directly. +Files: src/os_mswin.c + + +*** ../vim-7.4.043/src/os_mswin.c 2013-09-25 19:13:32.000000000 +0200 +--- src/os_mswin.c 2013-09-26 20:37:38.000000000 +0200 +*************** +*** 498,503 **** +--- 498,509 ---- + } + } + ++ #if (_MSC_VER >= 1300) ++ # define OPEN_OH_ARGTYPE intptr_t ++ #else ++ # define OPEN_OH_ARGTYPE long ++ #endif ++ + static int + stat_symlink_aware(const char *name, struct stat *stp) + { +*************** +*** 533,539 **** + { + int fd, n; + +! fd = _open_osfhandle((intptr_t)h, _O_RDONLY); + n = _fstat(fd, (struct _stat*)stp); + _close(fd); + return n; +--- 539,545 ---- + { + int fd, n; + +! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY); + n = _fstat(fd, (struct _stat*)stp); + _close(fd); + return n; +*************** +*** 580,586 **** + { + int fd; + +! fd = _open_osfhandle((intptr_t)h, _O_RDONLY); + n = _fstat(fd, stp); + _close(fd); + return n; +--- 586,592 ---- + { + int fd; + +! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY); + n = _fstat(fd, stp); + _close(fd); + return n; +*** ../vim-7.4.043/src/version.c 2013-09-29 16:27:42.000000000 +0200 +--- src/version.c 2013-09-29 18:27:58.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 44, + /**/ + +-- +I'd like to meet the man who invented sex and see what he's working on now. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.045 b/patches/source/vim/patches/7.4.045 new file mode 100644 index 000000000..0e82735ac --- /dev/null +++ b/patches/source/vim/patches/7.4.045 @@ -0,0 +1,111 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.045 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.045 +Problem: substitute() does not work properly when the pattern starts with + "\ze". +Solution: Detect an empty match. (Christian Brabandt) +Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok + + +*** ../vim-7.4.044/src/eval.c 2013-09-25 21:00:24.000000000 +0200 +--- src/eval.c 2013-09-29 21:03:22.000000000 +0200 +*************** +*** 24301,24306 **** +--- 24301,24307 ---- + garray_T ga; + char_u *ret; + char_u *save_cpo; ++ int zero_width; + + /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ + save_cpo = p_cpo; +*************** +*** 24339,24358 **** + (void)vim_regsub(®match, sub, (char_u *)ga.ga_data + + ga.ga_len + i, TRUE, TRUE, FALSE); + ga.ga_len += i + sublen - 1; +! /* avoid getting stuck on a match with an empty string */ +! if (tail == regmatch.endp[0]) + { +! if (*tail == NUL) +! break; + *((char_u *)ga.ga_data + ga.ga_len) = *tail++; + ++ga.ga_len; + } +- else +- { +- tail = regmatch.endp[0]; +- if (*tail == NUL) +- break; +- } + if (!do_all) + break; + } +--- 24340,24356 ---- + (void)vim_regsub(®match, sub, (char_u *)ga.ga_data + + ga.ga_len + i, TRUE, TRUE, FALSE); + ga.ga_len += i + sublen - 1; +! zero_width = (tail == regmatch.endp[0] +! || regmatch.startp[0] == regmatch.endp[0]); +! tail = regmatch.endp[0]; +! if (*tail == NUL) +! break; +! if (zero_width) + { +! /* avoid getting stuck on a match with an empty string */ + *((char_u *)ga.ga_data + ga.ga_len) = *tail++; + ++ga.ga_len; + } + if (!do_all) + break; + } +*** ../vim-7.4.044/src/testdir/test80.in 2013-03-19 17:30:51.000000000 +0100 +--- src/testdir/test80.in 2013-09-29 20:59:00.000000000 +0200 +*************** +*** 142,147 **** +--- 142,149 ---- + :$put =\"\n\nTEST_7:\" + :$put =substitute('A A', 'A.', '\=submatch(0)', '') + :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '') ++ :$put =substitute('-bb', '\zeb', 'a', 'g') ++ :$put =substitute('-bb', '\ze', 'c', 'g') + /^TEST_8 + ENDTEST + +*** ../vim-7.4.044/src/testdir/test80.ok 2013-03-19 17:31:45.000000000 +0100 +--- src/testdir/test80.ok 2013-09-29 20:59:35.000000000 +0200 +*************** +*** 103,108 **** +--- 103,110 ---- + A A + B + B ++ -abab ++ c-cbcbc + + + TEST_8: +*** ../vim-7.4.044/src/version.c 2013-09-29 19:05:17.000000000 +0200 +--- src/version.c 2013-09-29 21:04:50.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 45, + /**/ + +-- +Just think of all the things we haven't thought of yet. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.046 b/patches/source/vim/patches/7.4.046 new file mode 100644 index 000000000..5bb426582 --- /dev/null +++ b/patches/source/vim/patches/7.4.046 @@ -0,0 +1,80 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.046 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.046 +Problem: Can't use Tcl 8.6. +Solution: Change how Tcl_FindExecutable is called. (Jan Nijtmans) +Files: src/if_tcl.c + + +*** ../vim-7.4.045/src/if_tcl.c 2013-08-02 19:31:15.000000000 +0200 +--- src/if_tcl.c 2013-10-02 13:44:48.000000000 +0200 +*************** +*** 165,170 **** +--- 165,171 ---- + */ + static HANDLE hTclLib = NULL; + Tcl_Interp* (*dll_Tcl_CreateInterp)(); ++ void (*dll_Tcl_FindExecutable)(const void *); + + /* + * Table of name to function pointer of tcl. +*************** +*** 175,180 **** +--- 176,182 ---- + TCL_PROC* ptr; + } tcl_funcname_table[] = { + {"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp}, ++ {"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable}, + {NULL, NULL}, + }; + +*************** +*** 248,258 **** + { + Tcl_Interp *interp; + + if (interp = dll_Tcl_CreateInterp()) + { + if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0)) + { +- Tcl_FindExecutable(find_executable_arg); + Tcl_DeleteInterp(interp); + stubs_initialized = TRUE; + } +--- 250,261 ---- + { + Tcl_Interp *interp; + ++ dll_Tcl_FindExecutable(find_executable_arg); ++ + if (interp = dll_Tcl_CreateInterp()) + { + if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0)) + { + Tcl_DeleteInterp(interp); + stubs_initialized = TRUE; + } +*** ../vim-7.4.045/src/version.c 2013-09-29 21:11:00.000000000 +0200 +--- src/version.c 2013-10-02 13:46:47.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 46, + /**/ + +-- +Not too long ago, a program was something you watched on TV... + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.047 b/patches/source/vim/patches/7.4.047 new file mode 100644 index 000000000..2871340b7 --- /dev/null +++ b/patches/source/vim/patches/7.4.047 @@ -0,0 +1,56 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.047 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.047 +Problem: When using input() in a function invoked by a mapping it doesn't + work. +Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto) +Files: src/eval.c + + +*** ../vim-7.4.046/src/eval.c 2013-09-29 21:11:00.000000000 +0200 +--- src/eval.c 2013-10-02 16:40:52.000000000 +0200 +*************** +*** 13054,13062 **** +--- 13054,13071 ---- + } + + if (defstr != NULL) ++ { ++ # ifdef FEAT_EX_EXTRA ++ int save_ex_normal_busy = ex_normal_busy; ++ ex_normal_busy = 0; ++ # endif + rettv->vval.v_string = + getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr, + xp_type, xp_arg); ++ # ifdef FEAT_EX_EXTRA ++ ex_normal_busy = save_ex_normal_busy; ++ # endif ++ } + if (inputdialog && rettv->vval.v_string == NULL + && argvars[1].v_type != VAR_UNKNOWN + && argvars[2].v_type != VAR_UNKNOWN) +*** ../vim-7.4.046/src/version.c 2013-10-02 14:25:39.000000000 +0200 +--- src/version.c 2013-10-02 16:45:45.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 47, + /**/ + +-- +Not too long ago, a keyboard was something to make music with... + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.048 b/patches/source/vim/patches/7.4.048 new file mode 100644 index 000000000..6e911a0bf --- /dev/null +++ b/patches/source/vim/patches/7.4.048 @@ -0,0 +1,96 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.048 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.048 +Problem: Recent clang version complains about -fno-strength-reduce. +Solution: Add a configure check for the clang version. (Kazunobu Kuriyama) +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.4.047/src/configure.in 2013-08-04 20:00:50.000000000 +0200 +--- src/configure.in 2013-10-02 17:56:25.000000000 +0200 +*************** +*** 62,67 **** +--- 62,90 ---- + fi + fi + ++ dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a ++ dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on ++ dnl the version number of the clang in use. ++ dnl Note that this does not work to get the version of clang 3.1 or 3.2. ++ AC_MSG_CHECKING(for recent clang version) ++ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'` ++ if test x"$CLANG_VERSION_STRING" != x"" ; then ++ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'` ++ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'` ++ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'` ++ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION` ++ AC_MSG_RESULT($CLANG_VERSION) ++ dnl If you find the same issue with versions earlier than 500.2.75, ++ dnl change the constant 500002075 below appropriately. To get the ++ dnl integer corresponding to a version number, refer to the ++ dnl definition of CLANG_VERSION above. ++ if test "$CLANG_VERSION" -ge 500002075 ; then ++ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'` ++ fi ++ else ++ AC_MSG_RESULT(no) ++ fi ++ + dnl If configure thinks we are cross compiling, there might be something + dnl wrong with the CC or CFLAGS settings, give a useful warning message + if test "$cross_compiling" = yes; then +*** ../vim-7.4.047/src/auto/configure 2013-08-04 20:01:06.000000000 +0200 +--- src/auto/configure 2013-10-02 17:56:52.000000000 +0200 +*************** +*** 3989,3994 **** +--- 3989,4012 ---- + fi + fi + ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5 ++ $as_echo_n "checking for recent clang version... " >&6; } ++ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'` ++ if test x"$CLANG_VERSION_STRING" != x"" ; then ++ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'` ++ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'` ++ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'` ++ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION` ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5 ++ $as_echo "$CLANG_VERSION" >&6; } ++ if test "$CLANG_VERSION" -ge 500002075 ; then ++ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'` ++ fi ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++ $as_echo "no" >&6; } ++ fi ++ + if test "$cross_compiling" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5 + $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; } +*** ../vim-7.4.047/src/version.c 2013-10-02 16:46:23.000000000 +0200 +--- src/version.c 2013-10-02 17:19:31.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 48, + /**/ + +-- +I have to exercise early in the morning before my brain +figures out what I'm doing. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.049 b/patches/source/vim/patches/7.4.049 new file mode 100644 index 000000000..c1a23b989 --- /dev/null +++ b/patches/source/vim/patches/7.4.049 @@ -0,0 +1,67 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.049 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.049 +Problem: In Ex mode, when line numbers are enabled the substitute prompt is + wrong. +Solution: Adjust for the line number size. (Benoit Pierre) +Files: src/ex_cmds.c + + +*** ../vim-7.4.048/src/ex_cmds.c 2013-08-07 15:15:51.000000000 +0200 +--- src/ex_cmds.c 2013-10-02 18:31:24.000000000 +0200 +*************** +*** 4740,4750 **** + char_u *resp; + colnr_T sc, ec; + +! print_line_no_prefix(lnum, FALSE, FALSE); + + getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL); + curwin->w_cursor.col = regmatch.endpos[0].col - 1; + getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec); + msg_start(); + for (i = 0; i < (long)sc; ++i) + msg_putchar(' '); +--- 4740,4756 ---- + char_u *resp; + colnr_T sc, ec; + +! print_line_no_prefix(lnum, do_number, do_list); + + getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL); + curwin->w_cursor.col = regmatch.endpos[0].col - 1; + getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec); ++ if (do_number || curwin->w_p_nu) ++ { ++ int numw = number_width(curwin) + 1; ++ sc += numw; ++ ec += numw; ++ } + msg_start(); + for (i = 0; i < (long)sc; ++i) + msg_putchar(' '); +*** ../vim-7.4.048/src/version.c 2013-10-02 18:22:58.000000000 +0200 +--- src/version.c 2013-10-02 18:33:22.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 49, + /**/ + +-- +What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics' +meaning 'bloodsucking creatures'. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.050 b/patches/source/vim/patches/7.4.050 new file mode 100644 index 000000000..afe2b044f --- /dev/null +++ b/patches/source/vim/patches/7.4.050 @@ -0,0 +1,90 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.050 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.050 +Problem: "gn" selects too much for the pattern "\d" when there are two + lines with a single digit. (Ryan Carney) +Solution: Adjust the logic of is_one_char(). (Christian Brabandt) +Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok + + +*** ../vim-7.4.049/src/search.c 2013-08-14 17:45:25.000000000 +0200 +--- src/search.c 2013-10-02 21:49:40.000000000 +0200 +*************** +*** 4680,4687 **** + && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum + && regmatch.startpos[0].col == regmatch.endpos[0].col); + +! if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col) +! result = TRUE; + } + + called_emsg |= save_called_emsg; +--- 4680,4687 ---- + && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum + && regmatch.startpos[0].col == regmatch.endpos[0].col); + +! if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col) +! result = TRUE; + } + + called_emsg |= save_called_emsg; +*** ../vim-7.4.049/src/testdir/test53.in 2013-06-30 14:31:56.000000000 +0200 +--- src/testdir/test53.in 2013-10-02 21:47:10.000000000 +0200 +*************** +*** 46,51 **** +--- 46,54 ---- + :set selection=exclusive + $cgNmongoose/i + cgnj ++ :" Make sure there is no other match y uppercase. ++ /x59 ++ gggnd + :/^start:/,/^end:/wq! test.out + ENDTEST + +*************** +*** 75,78 **** +--- 78,84 ---- + uniquepattern uniquepattern + my very excellent mother just served us nachos + for (i=0; i<=10; i++) ++ Y ++ text ++ Y + end: +*** ../vim-7.4.049/src/testdir/test53.ok 2013-06-30 14:31:56.000000000 +0200 +--- src/testdir/test53.ok 2013-10-02 21:47:34.000000000 +0200 +*************** +*** 27,30 **** +--- 27,33 ---- + uniquepattern + my very excellent mongoose just served us nachos + for (j=0; i<=10; i++) ++ ++ text ++ Y + end: +*** ../vim-7.4.049/src/version.c 2013-10-02 18:43:00.000000000 +0200 +--- src/version.c 2013-10-02 21:51:34.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 50, + /**/ + +-- +Why doesn't Tarzan have a beard? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.051 b/patches/source/vim/patches/7.4.051 new file mode 100644 index 000000000..ca5c3a04e --- /dev/null +++ b/patches/source/vim/patches/7.4.051 @@ -0,0 +1,67 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.051 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.051 +Problem: Syntax highlighting a Yaml file causes a crash. (Blake Preston) +Solution: Copy the pim structure before calling addstate() to avoid it + becoming invalide when the state list is reallocated. +Files: src/regexp_nfa.c + + +*** ../vim-7.4.050/src/regexp_nfa.c 2013-09-25 18:16:34.000000000 +0200 +--- src/regexp_nfa.c 2013-10-06 15:44:31.000000000 +0200 +*************** +*** 6458,6463 **** +--- 6458,6464 ---- + if (add_state != NULL) + { + nfa_pim_T *pim; ++ nfa_pim_T pim_copy; + + if (t->pim.result == NFA_PIM_UNUSED) + pim = NULL; +*************** +*** 6531,6536 **** +--- 6532,6546 ---- + pim = NULL; + } + ++ /* If "pim" points into l->t it will become invalid when ++ * adding the state causes the list to be reallocated. Make a ++ * local copy to avoid that. */ ++ if (pim == &t->pim) ++ { ++ copy_pim(&pim_copy, pim); ++ pim = &pim_copy; ++ } ++ + if (add_here) + addstate_here(thislist, add_state, &t->subs, pim, &listidx); + else +*** ../vim-7.4.050/src/version.c 2013-10-02 21:54:57.000000000 +0200 +--- src/version.c 2013-10-06 15:21:16.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 51, + /**/ + +-- +GUARD #2: It could be carried by an African swallow! +GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow, + that's my point. +GUARD #2: Oh, yeah, I agree with that... + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.052 b/patches/source/vim/patches/7.4.052 new file mode 100644 index 000000000..502d07b56 --- /dev/null +++ b/patches/source/vim/patches/7.4.052 @@ -0,0 +1,197 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.052 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.052 +Problem: With 'fo' set to "a2" inserting a space in the first column may + cause the cursor to jump to the previous line. +Solution: Handle the case when there is no comment leader properly. (Tor + Perkins) Also fix that cursor is in the wrong place when spaces + get replaced with a Tab. +Files: src/misc1.c, src/ops.c, src/testdir/test68.in, + src/testdir/test68.ok + + +*** ../vim-7.4.051/src/misc1.c 2013-09-05 21:41:35.000000000 +0200 +--- src/misc1.c 2013-10-06 17:46:18.000000000 +0200 +*************** +*** 303,312 **** + ml_replace(curwin->w_cursor.lnum, newline, FALSE); + if (flags & SIN_CHANGED) + changed_bytes(curwin->w_cursor.lnum, 0); +! /* Correct saved cursor position if it's after the indent. */ +! if (saved_cursor.lnum == curwin->w_cursor.lnum +! && saved_cursor.col >= (colnr_T)(p - oldline)) +! saved_cursor.col += ind_len - (colnr_T)(p - oldline); + retval = TRUE; + } + else +--- 303,320 ---- + ml_replace(curwin->w_cursor.lnum, newline, FALSE); + if (flags & SIN_CHANGED) + changed_bytes(curwin->w_cursor.lnum, 0); +! /* Correct saved cursor position if it is in this line. */ +! if (saved_cursor.lnum == curwin->w_cursor.lnum) +! { +! if (saved_cursor.col >= (colnr_T)(p - oldline)) +! /* cursor was after the indent, adjust for the number of +! * bytes added/removed */ +! saved_cursor.col += ind_len - (colnr_T)(p - oldline); +! else if (saved_cursor.col >= (colnr_T)(s - newline)) +! /* cursor was in the indent, and is now after it, put it back +! * at the start of the indent (replacing spaces with TAB) */ +! saved_cursor.col = (colnr_T)(s - newline); +! } + retval = TRUE; + } + else +*************** +*** 1581,1589 **** + + #if defined(FEAT_COMMENTS) || defined(PROTO) + /* +! * get_leader_len() returns the length of the prefix of the given string +! * which introduces a comment. If this string is not a comment then 0 is +! * returned. + * When "flags" is not NULL, it is set to point to the flags of the recognized + * comment leader. + * "backward" must be true for the "O" command. +--- 1589,1597 ---- + + #if defined(FEAT_COMMENTS) || defined(PROTO) + /* +! * get_leader_len() returns the length in bytes of the prefix of the given +! * string which introduces a comment. If this string is not a comment then +! * 0 is returned. + * When "flags" is not NULL, it is set to point to the flags of the recognized + * comment leader. + * "backward" must be true for the "O" command. +*** ../vim-7.4.051/src/ops.c 2013-09-25 23:24:54.000000000 +0200 +--- src/ops.c 2013-10-06 17:11:51.000000000 +0200 +*************** +*** 4989,4995 **** + + /* + * When still in same paragraph, join the lines together. But +! * first delete the comment leader from the second line. + */ + if (!is_end_par) + { +--- 4989,4995 ---- + + /* + * When still in same paragraph, join the lines together. But +! * first delete the leader from the second line. + */ + if (!is_end_par) + { +*************** +*** 4999,5009 **** + if (line_count < 0 && u_save_cursor() == FAIL) + break; + #ifdef FEAT_COMMENTS +- (void)del_bytes((long)next_leader_len, FALSE, FALSE); + if (next_leader_len > 0) + mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L, + (long)-next_leader_len); + #endif + curwin->w_cursor.lnum--; + if (do_join(2, TRUE, FALSE, FALSE) == FAIL) + { +--- 4999,5023 ---- + if (line_count < 0 && u_save_cursor() == FAIL) + break; + #ifdef FEAT_COMMENTS + if (next_leader_len > 0) ++ { ++ (void)del_bytes((long)next_leader_len, FALSE, FALSE); + mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L, + (long)-next_leader_len); ++ } else + #endif ++ if (second_indent > 0) /* the "leader" for FO_Q_SECOND */ ++ { ++ char_u *p = ml_get_curline(); ++ int indent = skipwhite(p) - p; ++ ++ if (indent > 0) ++ { ++ (void)del_bytes(indent, FALSE, FALSE); ++ mark_col_adjust(curwin->w_cursor.lnum, ++ (colnr_T)0, 0L, (long)-indent); ++ } ++ } + curwin->w_cursor.lnum--; + if (do_join(2, TRUE, FALSE, FALSE) == FAIL) + { +*** ../vim-7.4.051/src/testdir/test68.in 2012-07-25 15:57:06.000000000 +0200 +--- src/testdir/test68.in 2013-10-06 16:20:33.000000000 +0200 +*************** +*** 62,67 **** +--- 62,81 ---- + } + + STARTTEST ++ /^{/+3 ++ :set tw=5 fo=t2a si ++ i A_ ++ ENDTEST ++ ++ { ++ ++ x a ++ b ++ c ++ ++ } ++ ++ STARTTEST + /^{/+1 + :set tw=5 fo=qn comments=:# + gwap +*** ../vim-7.4.051/src/testdir/test68.ok 2012-07-25 16:03:05.000000000 +0200 +--- src/testdir/test68.ok 2013-10-06 16:20:33.000000000 +0200 +*************** +*** 43,48 **** +--- 43,57 ---- + + + { ++ ++ x a ++ b_ ++ c ++ ++ } ++ ++ ++ { + # 1 a + # b + } +*** ../vim-7.4.051/src/version.c 2013-10-06 15:46:06.000000000 +0200 +--- src/version.c 2013-10-06 17:25:27.000000000 +0200 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 52, + /**/ + +-- +ARTHUR: Will you ask your master if he wants to join my court at Camelot?! +GUARD #1: But then of course African swallows are not migratory. +GUARD #2: Oh, yeah... +GUARD #1: So they couldn't bring a coconut back anyway... + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.053 b/patches/source/vim/patches/7.4.053 new file mode 100644 index 000000000..22724fc70 --- /dev/null +++ b/patches/source/vim/patches/7.4.053 @@ -0,0 +1,45 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.053 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.053 +Problem: Test75 has a wrong header. (ZyX) +Solution: Fix the text and remove leading ". +Files: src/testdir/test75.in + + +*** ../vim-7.4.052/src/testdir/test75.in 2013-06-29 13:48:42.000000000 +0200 +--- src/testdir/test75.in 2013-10-19 20:28:53.000000000 +0200 +*************** +*** 1,4 **** +! " Tests for functions. + + STARTTEST + :so small.vim +--- 1,4 ---- +! Tests for maparg(). + + STARTTEST + :so small.vim +*** ../vim-7.4.052/src/version.c 2013-10-06 17:46:48.000000000 +0200 +--- src/version.c 2013-11-02 04:18:07.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 53, + /**/ + +-- +Every exit is an entrance into something else. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.054 b/patches/source/vim/patches/7.4.054 new file mode 100644 index 000000000..0fcffac2d --- /dev/null +++ b/patches/source/vim/patches/7.4.054 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.054 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.054 +Problem: Reading past end of the 'stl' string. +Solution: Don't increment pointer when already at the NUL. (Christian + Brabandt) +Files: src/buffer.c + + +*** ../vim-7.4.053/src/buffer.c 2013-08-14 17:11:14.000000000 +0200 +--- src/buffer.c 2013-11-02 04:34:26.000000000 +0100 +*************** +*** 4062,4068 **** + item[curitem].minwid = -syn_namen2id(t, (int)(s - t)); + curitem++; + } +! ++s; + continue; + } + +--- 4062,4069 ---- + item[curitem].minwid = -syn_namen2id(t, (int)(s - t)); + curitem++; + } +! if (*s != NUL) +! ++s; + continue; + } + +*** ../vim-7.4.053/src/version.c 2013-11-02 04:19:10.000000000 +0100 +--- src/version.c 2013-11-02 04:31:50.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 54, + /**/ + +-- +Every person is responsible for the choices he makes. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.055 b/patches/source/vim/patches/7.4.055 new file mode 100644 index 000000000..b6adc044f --- /dev/null +++ b/patches/source/vim/patches/7.4.055 @@ -0,0 +1,138 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.055 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.055 +Problem: Mac: Where availability macros are defined depends on the system. +Solution: Add a configure check. (Felix Bünemann) +Files: src/config.h.in, src/configure.in, src/auto/configure, + src/os_mac.h + +*** ../vim-7.4.054/src/config.h.in 2013-02-26 14:18:19.000000000 +0100 +--- src/config.h.in 2013-11-02 20:52:08.000000000 +0100 +*************** +*** 442,444 **** +--- 442,447 ---- + + /* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/ + #undef FEAT_CYGWIN_WIN32_CLIPBOARD ++ ++ /* Define if we have AvailabilityMacros.h on Mac OS X */ ++ #undef HAVE_AVAILABILITYMACROS_H +*** ../vim-7.4.054/src/configure.in 2013-10-02 18:22:58.000000000 +0200 +--- src/configure.in 2013-11-02 20:58:58.000000000 +0100 +*************** +*** 206,211 **** +--- 206,215 ---- + dnl TODO: use -arch i386 on Intel machines + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + ++ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon ++ dnl so we need to include it to have access to version macros. ++ AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])]) ++ + dnl If Carbon is found, assume we don't want X11 + dnl unless it was specifically asked for (--with-x) + dnl or Motif, Athena or GTK GUI is used. +*** ../vim-7.4.054/src/auto/configure 2013-10-02 18:22:58.000000000 +0200 +--- src/auto/configure 2013-11-02 21:00:40.000000000 +0100 +*************** +*** 4223,4229 **** + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + +! # On IRIX 5.3, sys/types and inttypes.h are conflicting. + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h + do : +--- 4223,4229 ---- + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + +! # On IRIX 5.3, sys/types and inttypes.h are conflicting. + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h + do : +*************** +*** 4241,4247 **** + done + + +! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" + if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : + CARBON=yes + fi +--- 4241,4256 ---- + done + + +! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" +! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : +! +! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h +! +! fi +! +! +! +! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" + if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : + CARBON=yes + fi +*** ../vim-7.4.054/src/os_mac.h 2013-05-06 04:06:04.000000000 +0200 +--- src/os_mac.h 2013-11-02 20:59:46.000000000 +0100 +*************** +*** 16,21 **** +--- 16,26 ---- + # define OPAQUE_TOOLBOX_STRUCTS 0 + #endif + ++ /* Include MAC_OS_X_VERSION_* macros */ ++ #ifdef HAVE_AVAILABILITYMACROS_H ++ # include ++ #endif ++ + /* + * Macintosh machine-dependent things. + * +*************** +*** 263,269 **** + #endif + + /* Some "prep work" definition to be able to compile the MacOS X +! * version with os_unix.x instead of os_mac.c. Based on the result + * of ./configure for console MacOS X. + */ + +--- 268,274 ---- + #endif + + /* Some "prep work" definition to be able to compile the MacOS X +! * version with os_unix.c instead of os_mac.c. Based on the result + * of ./configure for console MacOS X. + */ + +*** ../vim-7.4.054/src/version.c 2013-11-02 04:39:34.000000000 +0100 +--- src/version.c 2013-11-02 21:01:10.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 55, + /**/ + +-- +You can be stopped by the police for biking over 65 miles per hour. +You are not allowed to walk across a street on your hands. + [real standing laws in Connecticut, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.056 b/patches/source/vim/patches/7.4.056 new file mode 100644 index 000000000..e8c1a346f --- /dev/null +++ b/patches/source/vim/patches/7.4.056 @@ -0,0 +1,51 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.056 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.056 +Problem: Mac: Compilation problem with OS X 10.9 Mavericks. +Solution: Include AvailabilityMacros.h when available. (Kazunobu Kuriyama) +Files: src/os_unix.c + + +*** ../vim-7.4.055/src/os_unix.c 2013-09-05 21:41:35.000000000 +0200 +--- src/os_unix.c 2013-11-02 21:46:05.000000000 +0100 +*************** +*** 804,809 **** +--- 804,815 ---- + * completely full. + */ + ++ #if defined(HAVE_AVAILABILITYMACROS_H) \ ++ && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \ ++ && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090) ++ # include ++ #endif ++ + #ifndef SIGSTKSZ + # define SIGSTKSZ 8000 /* just a guess of how much stack is needed... */ + #endif +*** ../vim-7.4.055/src/version.c 2013-11-02 21:04:32.000000000 +0100 +--- src/version.c 2013-11-02 21:44:10.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 56, + /**/ + +-- +If an elephant is left tied to a parking meter, the parking fee has to be paid +just as it would for a vehicle. + [real standing law in Florida, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.057 b/patches/source/vim/patches/7.4.057 new file mode 100644 index 000000000..aee16b6aa --- /dev/null +++ b/patches/source/vim/patches/7.4.057 @@ -0,0 +1,252 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.057 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.057 +Problem: byteidx() does not work for composing characters. +Solution: Add byteidxcomp(). +Files: src/eval.c, src/testdir/test69.in, src/testdir/test69.ok, + runtime/doc/eval.txt + + +*** ../vim-7.4.056/src/eval.c 2013-10-02 16:46:23.000000000 +0200 +--- src/eval.c 2013-11-02 22:30:08.000000000 +0100 +*************** +*** 474,480 **** +--- 474,482 ---- + static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv)); + static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv)); + static void f_byte2line __ARGS((typval_T *argvars, typval_T *rettv)); ++ static void byteidx __ARGS((typval_T *argvars, typval_T *rettv, int comp)); + static void f_byteidx __ARGS((typval_T *argvars, typval_T *rettv)); ++ static void f_byteidxcomp __ARGS((typval_T *argvars, typval_T *rettv)); + static void f_call __ARGS((typval_T *argvars, typval_T *rettv)); + #ifdef FEAT_FLOAT + static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv)); +*************** +*** 7861,7866 **** +--- 7863,7869 ---- + {"bufwinnr", 1, 1, f_bufwinnr}, + {"byte2line", 1, 1, f_byte2line}, + {"byteidx", 2, 2, f_byteidx}, ++ {"byteidxcomp", 2, 2, f_byteidxcomp}, + {"call", 2, 3, f_call}, + #ifdef FEAT_FLOAT + {"ceil", 1, 1, f_ceil}, +*************** +*** 9177,9189 **** + #endif + } + +- /* +- * "byteidx()" function +- */ + static void +! f_byteidx(argvars, rettv) + typval_T *argvars; + typval_T *rettv; + { + #ifdef FEAT_MBYTE + char_u *t; +--- 9180,9190 ---- + #endif + } + + static void +! byteidx(argvars, rettv, comp) + typval_T *argvars; + typval_T *rettv; ++ int comp; + { + #ifdef FEAT_MBYTE + char_u *t; +*************** +*** 9203,9209 **** + { + if (*t == NUL) /* EOL reached */ + return; +! t += (*mb_ptr2len)(t); + } + rettv->vval.v_number = (varnumber_T)(t - str); + #else +--- 9204,9213 ---- + { + if (*t == NUL) /* EOL reached */ + return; +! if (enc_utf8 && comp) +! t += utf_ptr2len(t); +! else +! t += (*mb_ptr2len)(t); + } + rettv->vval.v_number = (varnumber_T)(t - str); + #else +*************** +*** 9212,9217 **** +--- 9216,9243 ---- + #endif + } + ++ /* ++ * "byteidx()" function ++ */ ++ static void ++ f_byteidx(argvars, rettv) ++ typval_T *argvars; ++ typval_T *rettv; ++ { ++ byteidx(argvars, rettv, FALSE); ++ } ++ ++ /* ++ * "byteidxcomp()" function ++ */ ++ static void ++ f_byteidxcomp(argvars, rettv) ++ typval_T *argvars; ++ typval_T *rettv; ++ { ++ byteidx(argvars, rettv, TRUE); ++ } ++ + int + func_call(name, args, selfdict, rettv) + char_u *name; +*** ../vim-7.4.056/src/testdir/test69.in 2013-03-07 18:30:50.000000000 +0100 +--- src/testdir/test69.in 2013-11-02 22:46:02.000000000 +0100 +*************** +*** 1,6 **** +--- 1,7 ---- + Test for multi-byte text formatting. + Also test, that 'mps' with multibyte chars works. + And test "ra" on multi-byte characters. ++ Also test byteidx() and byteidxcomp() + + STARTTEST + :so mbyte.vim +*************** +*** 154,159 **** +--- 155,175 ---- + ï½ï½b + + STARTTEST ++ :let a = '.é.' " one char of two bytes ++ :let b = '.eÌ.' " normal e with composing char ++ /^byteidx ++ :put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)]) ++ :put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)]) ++ /^byteidxcomp ++ :put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)]) ++ :let b = '.eÌ.' ++ :put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)]) ++ ENDTEST ++ ++ byteidx ++ byteidxcomp ++ ++ STARTTEST + :g/^STARTTEST/.,/^ENDTEST/d + :1;/^Results/,$wq! test.out + ENDTEST +*** ../vim-7.4.056/src/testdir/test69.ok 2013-03-07 18:31:32.000000000 +0100 +--- src/testdir/test69.ok 2013-11-02 22:43:25.000000000 +0100 +*************** +*** 149,151 **** +--- 149,159 ---- + aaaa + aaa + ++ ++ byteidx ++ [0, 1, 3, 4, -1] ++ [0, 1, 4, 5, -1] ++ byteidxcomp ++ [0, 1, 3, 4, -1] ++ [0, 1, 2, 4, 5, -1] ++ +*** ../vim-7.4.056/runtime/doc/eval.txt 2013-08-10 13:24:53.000000000 +0200 +--- runtime/doc/eval.txt 2013-11-02 23:27:24.000000000 +0100 +*************** +*** 1712,1717 **** +--- 1713,1719 ---- + bufwinnr( {expr}) Number window number of buffer {expr} + byte2line( {byte}) Number line number at byte count {byte} + byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr} ++ byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr} + call( {func}, {arglist} [, {dict}]) + any call {func} with arguments {arglist} + ceil( {expr}) Float round {expr} up +*************** +*** 2260,2266 **** + {expr}. Use zero for the first character, it returns zero. + This function is only useful when there are multibyte + characters, otherwise the returned value is equal to {nr}. +! Composing characters are counted as a separate character. + Example : > + echo matchstr(str, ".", byteidx(str, 3)) + < will display the fourth character. Another way to do the +--- 2262,2271 ---- + {expr}. Use zero for the first character, it returns zero. + This function is only useful when there are multibyte + characters, otherwise the returned value is equal to {nr}. +! Composing characters are not counted separately, their byte +! length is added to the preceding base character. See +! |byteidxcomp()| below for counting composing characters +! separately. + Example : > + echo matchstr(str, ".", byteidx(str, 3)) + < will display the fourth character. Another way to do the +*************** +*** 2269,2275 **** + echo strpart(s, 0, byteidx(s, 1)) + < If there are less than {nr} characters -1 is returned. + If there are exactly {nr} characters the length of the string +! is returned. + + call({func}, {arglist} [, {dict}]) *call()* *E699* + Call function {func} with the items in |List| {arglist} as +--- 2274,2293 ---- + echo strpart(s, 0, byteidx(s, 1)) + < If there are less than {nr} characters -1 is returned. + If there are exactly {nr} characters the length of the string +! in bytes is returned. +! +! byteidxcomp({expr}, {nr}) *byteidxcomp()* +! Like byteidx(), except that a composing character is counted +! as a separate character. Example: > +! let s = 'e' . nr2char(0x301) +! echo byteidx(s, 1) +! echo byteidxcomp(s, 1) +! echo byteidxcomp(s, 2) +! < The first and third echo result in 3 ('e' plus composing +! character is 3 bytes), the second echo results in 1 ('e' is +! one byte). +! Only works different from byteidx() when 'encoding' is set to +! a Unicode encoding. + + call({func}, {arglist} [, {dict}]) *call()* *E699* + Call function {func} with the items in |List| {arglist} as +*** ../vim-7.4.056/src/version.c 2013-11-02 21:49:28.000000000 +0100 +--- src/version.c 2013-11-02 22:45:13.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 57, + /**/ + +-- +Any sufficiently advanced technology is indistinguishable from magic. + Arthur C. Clarke +Any sufficiently advanced bug is indistinguishable from a feature. + Rich Kulawiec + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.058 b/patches/source/vim/patches/7.4.058 new file mode 100644 index 000000000..0715c848d --- /dev/null +++ b/patches/source/vim/patches/7.4.058 @@ -0,0 +1,67 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.058 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.058 +Problem: Warnings on 64 bit Windows. +Solution: Add type casts. (Mike Williams) +Files: src/ops.c + + +*** ../vim-7.4.057/src/ops.c 2013-10-06 17:46:48.000000000 +0200 +--- src/ops.c 2013-11-02 23:56:15.000000000 +0100 +*************** +*** 5009,5022 **** + if (second_indent > 0) /* the "leader" for FO_Q_SECOND */ + { + char_u *p = ml_get_curline(); +! int indent = skipwhite(p) - p; + + if (indent > 0) + { + (void)del_bytes(indent, FALSE, FALSE); + mark_col_adjust(curwin->w_cursor.lnum, + (colnr_T)0, 0L, (long)-indent); +! } + } + curwin->w_cursor.lnum--; + if (do_join(2, TRUE, FALSE, FALSE) == FAIL) +--- 5009,5022 ---- + if (second_indent > 0) /* the "leader" for FO_Q_SECOND */ + { + char_u *p = ml_get_curline(); +! int indent = (int)(skipwhite(p) - p); + + if (indent > 0) + { + (void)del_bytes(indent, FALSE, FALSE); + mark_col_adjust(curwin->w_cursor.lnum, + (colnr_T)0, 0L, (long)-indent); +! } + } + curwin->w_cursor.lnum--; + if (do_join(2, TRUE, FALSE, FALSE) == FAIL) +*** ../vim-7.4.057/src/version.c 2013-11-02 23:29:17.000000000 +0100 +--- src/version.c 2013-11-02 23:55:01.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 58, + /**/ + +-- +Citizens are not allowed to attend a movie house or theater nor ride in a +public streetcar within at least four hours after eating garlic. + [real standing law in Indiana, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.059 b/patches/source/vim/patches/7.4.059 new file mode 100644 index 000000000..b00cbfe04 --- /dev/null +++ b/patches/source/vim/patches/7.4.059 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.059 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.059 +Problem: set_last_cursor() may encounter w_buffer being NULL. (Matt + Mkaniaris) +Solution: Check for NULL. +Files: src/mark.c + + +*** ../vim-7.4.058/src/mark.c 2013-08-02 17:22:10.000000000 +0200 +--- src/mark.c 2013-11-03 00:18:35.000000000 +0100 +*************** +*** 1374,1380 **** + set_last_cursor(win) + win_T *win; + { +! win->w_buffer->b_last_cursor = win->w_cursor; + } + + #if defined(EXITFREE) || defined(PROTO) +--- 1374,1381 ---- + set_last_cursor(win) + win_T *win; + { +! if (win->w_buffer != NULL) +! win->w_buffer->b_last_cursor = win->w_cursor; + } + + #if defined(EXITFREE) || defined(PROTO) +*** ../vim-7.4.058/src/version.c 2013-11-02 23:59:30.000000000 +0100 +--- src/version.c 2013-11-03 00:17:55.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 59, + /**/ + +-- +How do you know when you have run out of invisible ink? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.060 b/patches/source/vim/patches/7.4.060 new file mode 100644 index 000000000..d6a767275 --- /dev/null +++ b/patches/source/vim/patches/7.4.060 @@ -0,0 +1,71 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.060 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.060 +Problem: Declaration has wrong return type for PyObject_SetAttrString(). +Solution: Use int instead of PyObject. (Andreas Schwab) +Files: src/if_python.c, src/if_python3.c + + +*** ../vim-7.4.059/src/if_python.c 2013-07-09 21:40:11.000000000 +0200 +--- src/if_python.c 2013-11-03 00:24:57.000000000 +0100 +*************** +*** 359,365 **** + static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *); + static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *); + static int (*dll_PyObject_HasAttrString)(PyObject *, const char *); +! static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); + static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...); + static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...); + static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *); +--- 359,365 ---- + static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *); + static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *); + static int (*dll_PyObject_HasAttrString)(PyObject *, const char *); +! static int (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); + static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...); + static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...); + static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *); +*** ../vim-7.4.059/src/if_python3.c 2013-07-09 21:53:21.000000000 +0200 +--- src/if_python3.c 2013-11-03 00:24:57.000000000 +0100 +*************** +*** 302,308 **** + static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *); + static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *); + static int (*py3_PyObject_HasAttrString)(PyObject *, const char *); +! static PyObject* (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); + static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...); + static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...); + static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *); +--- 302,308 ---- + static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *); + static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *); + static int (*py3_PyObject_HasAttrString)(PyObject *, const char *); +! static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); + static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...); + static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...); + static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *); +*** ../vim-7.4.059/src/version.c 2013-11-03 00:20:46.000000000 +0100 +--- src/version.c 2013-11-03 00:26:19.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 60, + /**/ + +-- +Kisses may last for as much as, but no more than, five minutes. + [real standing law in Iowa, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.061 b/patches/source/vim/patches/7.4.061 new file mode 100644 index 000000000..ebd5b2d78 --- /dev/null +++ b/patches/source/vim/patches/7.4.061 @@ -0,0 +1,144 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.061 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.061 (after 7.4.055 and 7.4.056) +Problem: Availability macros configure check in wrong place. +Solution: Also check when not using Darwin. Remove version check. +Files: src/configure.in, src/auto/configure, src/os_unix.c + + +*** ../vim-7.4.060/src/configure.in 2013-11-02 21:04:32.000000000 +0100 +--- src/configure.in 2013-11-03 00:34:07.000000000 +0100 +*************** +*** 206,215 **** + dnl TODO: use -arch i386 on Intel machines + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + +- dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon +- dnl so we need to include it to have access to version macros. +- AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])]) +- + dnl If Carbon is found, assume we don't want X11 + dnl unless it was specifically asked for (--with-x) + dnl or Motif, Athena or GTK GUI is used. +--- 206,211 ---- +*************** +*** 232,237 **** +--- 228,237 ---- + AC_MSG_RESULT(no) + fi + ++ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon ++ dnl so we need to include it to have access to version macros. ++ AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1) ++ + AC_SUBST(OS_EXTRA_SRC) + AC_SUBST(OS_EXTRA_OBJ) + +*** ../vim-7.4.060/src/auto/configure 2013-11-02 21:04:32.000000000 +0100 +--- src/auto/configure 2013-11-03 00:36:20.000000000 +0100 +*************** +*** 4223,4229 **** + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + +! # On IRIX 5.3, sys/types and inttypes.h are conflicting. + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h + do : +--- 4223,4229 ---- + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + +! # On IRIX 5.3, sys/types and inttypes.h are conflicting. + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h + do : +*************** +*** 4241,4256 **** + done + + +! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" +! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : +! +! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h +! +! fi +! +! +! +! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" + if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : + CARBON=yes + fi +--- 4241,4247 ---- + done + + +! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default" + if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then : + CARBON=yes + fi +*************** +*** 4272,4277 **** +--- 4263,4275 ---- + $as_echo "no" >&6; } + fi + ++ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" ++ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : ++ HAVE_AVAILABILITYMACROS_H=1 ++ fi ++ ++ ++ + + + +*** ../vim-7.4.060/src/os_unix.c 2013-11-02 21:49:28.000000000 +0100 +--- src/os_unix.c 2013-11-03 00:34:29.000000000 +0100 +*************** +*** 804,812 **** + * completely full. + */ + +! #if defined(HAVE_AVAILABILITYMACROS_H) \ +! && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \ +! && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090) + # include + #endif + +--- 804,810 ---- + * completely full. + */ + +! #if defined(HAVE_AVAILABILITYMACROS_H) + # include + #endif + +*** ../vim-7.4.060/src/version.c 2013-11-03 00:28:20.000000000 +0100 +--- src/version.c 2013-11-03 00:37:02.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 61, + /**/ + +-- +It is illegal to rob a bank and then shoot at the bank teller with a water +pistol. + [real standing law in Louisana, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.062 b/patches/source/vim/patches/7.4.062 new file mode 100644 index 000000000..dad0a420c --- /dev/null +++ b/patches/source/vim/patches/7.4.062 @@ -0,0 +1,87 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.062 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.062 (after 7.4.061) +Problem: Configure check for AvailabilityMacros.h is wrong. +Solution: Use AC_CHECK_HEADERS(). +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.4.061/src/configure.in 2013-11-03 00:40:54.000000000 +0100 +--- src/configure.in 2013-11-03 20:19:42.000000000 +0100 +*************** +*** 230,236 **** + + dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon + dnl so we need to include it to have access to version macros. +! AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1) + + AC_SUBST(OS_EXTRA_SRC) + AC_SUBST(OS_EXTRA_OBJ) +--- 230,236 ---- + + dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon + dnl so we need to include it to have access to version macros. +! AC_CHECK_HEADERS(AvailabilityMacros.h) + + AC_SUBST(OS_EXTRA_SRC) + AC_SUBST(OS_EXTRA_OBJ) +*** ../vim-7.4.061/src/auto/configure 2013-11-03 00:40:54.000000000 +0100 +--- src/auto/configure 2013-11-03 20:22:56.000000000 +0100 +*************** +*** 4263,4273 **** + $as_echo "no" >&6; } + fi + +! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" + if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : +! HAVE_AVAILABILITYMACROS_H=1 + fi + + + + +--- 4263,4279 ---- + $as_echo "no" >&6; } + fi + +! for ac_header in AvailabilityMacros.h +! do : +! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default" + if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then : +! cat >>confdefs.h <<_ACEOF +! #define HAVE_AVAILABILITYMACROS_H 1 +! _ACEOF +! + fi + ++ done + + + +*** ../vim-7.4.061/src/version.c 2013-11-03 00:40:54.000000000 +0100 +--- src/version.c 2013-11-03 20:25:31.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 62, + /**/ + +-- +Yesterday, all my deadlines seemed so far away +now it looks as though it's freeze in four days +oh I believe in cvs.. + [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.063 b/patches/source/vim/patches/7.4.063 new file mode 100644 index 000000000..b72b0b764 --- /dev/null +++ b/patches/source/vim/patches/7.4.063 @@ -0,0 +1,105 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.063 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.063 +Problem: Crash when using invalid key in Python dictionary. +Solution: Check for object to be NULL. Add tests. (ZyX) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + + +*** ../vim-7.4.062/src/if_py_both.h 2013-07-24 17:09:19.000000000 +0200 +--- src/if_py_both.h 2013-11-04 00:27:40.000000000 +0100 +*************** +*** 1624,1629 **** +--- 1624,1632 ---- + PyObject *rObj = _DictionaryItem(self, keyObject, DICT_FLAG_RETURN_BOOL); + int ret; + ++ if (rObj == NULL) ++ return -1; ++ + ret = (rObj == Py_True); + + Py_DECREF(rObj); +*** ../vim-7.4.062/src/testdir/test86.in 2013-07-13 14:00:31.000000000 +0200 +--- src/testdir/test86.in 2013-11-04 00:27:11.000000000 +0100 +*************** +*** 1088,1093 **** +--- 1088,1096 ---- + stringtochars_test('d.get(%s)') + ee('d.pop("a")') + ee('dl.pop("a")') ++ cb.append(">> DictionaryContains") ++ ee('"" in d') ++ ee('0 in d') + cb.append(">> DictionaryIterNext") + ee('for i in ned: ned["a"] = 1') + del i +*** ../vim-7.4.062/src/testdir/test86.ok 2013-06-23 16:38:39.000000000 +0200 +--- src/testdir/test86.ok 2013-11-04 00:27:11.000000000 +0100 +*************** +*** 516,521 **** +--- 516,524 ---- + <<< Finished + d.pop("a"):KeyError:('a',) + dl.pop("a"):error:('dictionary is locked',) ++ >> DictionaryContains ++ "" in d:ValueError:('empty keys are not allowed',) ++ 0 in d:TypeError:('expected str() or unicode() instance, but got int',) + >> DictionaryIterNext + for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',) + >> DictionaryAssItem +*** ../vim-7.4.062/src/testdir/test87.in 2013-07-06 13:41:30.000000000 +0200 +--- src/testdir/test87.in 2013-11-04 00:27:11.000000000 +0100 +*************** +*** 1039,1044 **** +--- 1039,1047 ---- + stringtochars_test('d.get(%s)') + ee('d.pop("a")') + ee('dl.pop("a")') ++ cb.append(">> DictionaryContains") ++ ee('"" in d') ++ ee('0 in d') + cb.append(">> DictionaryIterNext") + ee('for i in ned: ned["a"] = 1') + del i +*** ../vim-7.4.062/src/testdir/test87.ok 2013-06-23 16:38:39.000000000 +0200 +--- src/testdir/test87.ok 2013-11-04 00:27:11.000000000 +0100 +*************** +*** 505,510 **** +--- 505,513 ---- + <<< Finished + d.pop("a"):(, KeyError('a',)) + dl.pop("a"):(, error('dictionary is locked',)) ++ >> DictionaryContains ++ "" in d:(, ValueError('empty keys are not allowed',)) ++ 0 in d:(, TypeError('expected bytes() or str() instance, but got int',)) + >> DictionaryIterNext + for i in ned: ned["a"] = 1:(, RuntimeError('hashtab changed during iteration',)) + >> DictionaryAssItem +*** ../vim-7.4.062/src/version.c 2013-11-03 20:26:27.000000000 +0100 +--- src/version.c 2013-11-04 00:26:39.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 63, + /**/ + +-- +A parent can be arrested if his child cannot hold back a burp during a church +service. + [real standing law in Nebraska, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.064 b/patches/source/vim/patches/7.4.064 new file mode 100644 index 000000000..771320851 Binary files /dev/null and b/patches/source/vim/patches/7.4.064 differ diff --git a/patches/source/vim/patches/7.4.065 b/patches/source/vim/patches/7.4.065 new file mode 100644 index 000000000..fd17fa06e --- /dev/null +++ b/patches/source/vim/patches/7.4.065 @@ -0,0 +1,70 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.065 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.065 +Problem: When recording, the character typed at the hit-enter prompt is + recorded twice. (Urtica Dioica) +Solution: Avoid recording the character twice. (Christian Brabandt) +Files: src/message.c + + +*** ../vim-7.4.064/src/message.c 2013-08-09 20:30:45.000000000 +0200 +--- src/message.c 2013-11-04 01:56:09.000000000 +0100 +*************** +*** 887,892 **** +--- 887,894 ---- + int oldState; + int tmpState; + int had_got_int; ++ int save_Recording; ++ FILE *save_scriptout; + + if (redraw == TRUE) + must_redraw = CLEAR; +*************** +*** 957,967 **** +--- 959,979 ---- + * typeahead buffer. */ + ++no_mapping; + ++allow_keys; ++ ++ /* Temporarily disable Recording. If Recording is active, the ++ * character will be recorded later, since it will be added to the ++ * typebuf after the loop */ ++ save_Recording = Recording; ++ save_scriptout = scriptout; ++ Recording = FALSE; ++ scriptout = NULL; + c = safe_vgetc(); + if (had_got_int && !global_busy) + got_int = FALSE; + --no_mapping; + --allow_keys; ++ Recording = save_Recording; ++ scriptout = save_scriptout; + + #ifdef FEAT_CLIPBOARD + /* Strange way to allow copying (yanking) a modeless selection at +*** ../vim-7.4.064/src/version.c 2013-11-04 01:41:11.000000000 +0100 +--- src/version.c 2013-11-04 01:53:19.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 65, + /**/ + +-- +Zen Microsystems: we're the om in .commmmmmmmm + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.066 b/patches/source/vim/patches/7.4.066 new file mode 100644 index 000000000..edab09261 --- /dev/null +++ b/patches/source/vim/patches/7.4.066 @@ -0,0 +1,354 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.066 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.066 +Problem: MS-Windows: When there is a colon in the file name (sub-stream + feature) the swap file name is wrong. +Solution: Change the colon to "%". (Yasuhiro Matsumoto) +Files: src/fileio.c, src/memline.c, src/misc1.c, src/proto/misc1.pro + + +*** ../vim-7.4.065/src/memline.c 2013-05-06 04:01:02.000000000 +0200 +--- src/memline.c 2013-11-04 02:52:44.000000000 +0100 +*************** +*** 4014,4019 **** +--- 4014,4026 ---- + else + retval = concat_fnames(dname, tail, TRUE); + ++ #ifdef WIN3264 ++ if (retval != NULL) ++ for (t = gettail(retval); *t != NUL; mb_ptr_adv(t)) ++ if (*t == ':') ++ *t = '%'; ++ #endif ++ + return retval; + } + +*************** +*** 4137,4148 **** + #ifndef SHORT_FNAME + int r; + #endif + + #if !defined(SHORT_FNAME) \ +! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE)) + # define CREATE_DUMMY_FILE + FILE *dummyfd = NULL; + + /* + * If we start editing a new file, e.g. "test.doc", which resides on an + * MSDOS compatible filesystem, it is possible that the file +--- 4144,4172 ---- + #ifndef SHORT_FNAME + int r; + #endif ++ char_u *buf_fname = buf->b_fname; + + #if !defined(SHORT_FNAME) \ +! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE)) + # define CREATE_DUMMY_FILE + FILE *dummyfd = NULL; + ++ # ifdef WIN3264 ++ if (buf_fname != NULL && !mch_isFullName(buf_fname) ++ && vim_strchr(gettail(buf_fname), ':')) ++ { ++ char_u *t; ++ ++ buf_fname = vim_strsave(buf_fname); ++ if (buf_fname == NULL) ++ buf_fname = buf->b_fname; ++ else ++ for (t = gettail(buf_fname); *t != NUL; mb_ptr_adv(t)) ++ if (*t == ':') ++ *t = '%'; ++ } ++ # endif ++ + /* + * If we start editing a new file, e.g. "test.doc", which resides on an + * MSDOS compatible filesystem, it is possible that the file +*************** +*** 4150,4158 **** + * this problem we temporarily create "test.doc". Don't do this when the + * check below for a 8.3 file name is used. + */ +! if (!(buf->b_p_sn || buf->b_shortname) && buf->b_fname != NULL +! && mch_getperm(buf->b_fname) < 0) +! dummyfd = mch_fopen((char *)buf->b_fname, "w"); + #endif + + /* +--- 4174,4182 ---- + * this problem we temporarily create "test.doc". Don't do this when the + * check below for a 8.3 file name is used. + */ +! if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL +! && mch_getperm(buf_fname) < 0) +! dummyfd = mch_fopen((char *)buf_fname, "w"); + #endif + + /* +*************** +*** 4171,4177 **** + if (dir_name == NULL) /* out of memory */ + fname = NULL; + else +! fname = makeswapname(buf->b_fname, buf->b_ffname, buf, dir_name); + + for (;;) + { +--- 4195,4201 ---- + if (dir_name == NULL) /* out of memory */ + fname = NULL; + else +! fname = makeswapname(buf_fname, buf->b_ffname, buf, dir_name); + + for (;;) + { +*************** +*** 4204,4210 **** + * It either contains two dots, is longer than 8 chars, or starts + * with a dot. + */ +! tail = gettail(buf->b_fname); + if ( vim_strchr(tail, '.') != NULL + || STRLEN(tail) > (size_t)8 + || *gettail(fname) == '.') +--- 4228,4234 ---- + * It either contains two dots, is longer than 8 chars, or starts + * with a dot. + */ +! tail = gettail(buf_fname); + if ( vim_strchr(tail, '.') != NULL + || STRLEN(tail) > (size_t)8 + || *gettail(fname) == '.') +*************** +*** 4273,4279 **** + { + buf->b_shortname = TRUE; + vim_free(fname); +! fname = makeswapname(buf->b_fname, buf->b_ffname, + buf, dir_name); + continue; /* try again with b_shortname set */ + } +--- 4297,4303 ---- + { + buf->b_shortname = TRUE; + vim_free(fname); +! fname = makeswapname(buf_fname, buf->b_ffname, + buf, dir_name); + continue; /* try again with b_shortname set */ + } +*************** +*** 4344,4350 **** + { + buf->b_shortname = TRUE; + vim_free(fname); +! fname = makeswapname(buf->b_fname, buf->b_ffname, + buf, dir_name); + continue; /* try again with '.' replaced with '_' */ + } +--- 4368,4374 ---- + { + buf->b_shortname = TRUE; + vim_free(fname); +! fname = makeswapname(buf_fname, buf->b_ffname, + buf, dir_name); + continue; /* try again with '.' replaced with '_' */ + } +*************** +*** 4356,4362 **** + * viewing a help file or when the path of the file is different + * (happens when all .swp files are in one directory). + */ +! if (!recoverymode && buf->b_fname != NULL + && !buf->b_help && !(buf->b_flags & BF_DUMMY)) + { + int fd; +--- 4380,4386 ---- + * viewing a help file or when the path of the file is different + * (happens when all .swp files are in one directory). + */ +! if (!recoverymode && buf_fname != NULL + && !buf->b_help && !(buf->b_flags & BF_DUMMY)) + { + int fd; +*************** +*** 4433,4439 **** + { + fclose(dummyfd); + dummyfd = NULL; +! mch_remove(buf->b_fname); + did_use_dummy = TRUE; + } + #endif +--- 4457,4463 ---- + { + fclose(dummyfd); + dummyfd = NULL; +! mch_remove(buf_fname); + did_use_dummy = TRUE; + } + #endif +*************** +*** 4448,4454 **** + * user anyway. + */ + if (swap_exists_action != SEA_NONE +! && has_autocmd(EVENT_SWAPEXISTS, buf->b_fname, buf)) + choice = do_swapexists(buf, fname); + + if (choice == 0) +--- 4472,4478 ---- + * user anyway. + */ + if (swap_exists_action != SEA_NONE +! && has_autocmd(EVENT_SWAPEXISTS, buf_fname, buf)) + choice = do_swapexists(buf, fname); + + if (choice == 0) +*************** +*** 4549,4555 **** + #ifdef CREATE_DUMMY_FILE + /* Going to try another name, need the dummy file again. */ + if (did_use_dummy) +! dummyfd = mch_fopen((char *)buf->b_fname, "w"); + #endif + } + } +--- 4573,4579 ---- + #ifdef CREATE_DUMMY_FILE + /* Going to try another name, need the dummy file again. */ + if (did_use_dummy) +! dummyfd = mch_fopen((char *)buf_fname, "w"); + #endif + } + } +*************** +*** 4581,4589 **** + if (dummyfd != NULL) /* file has been created temporarily */ + { + fclose(dummyfd); +! mch_remove(buf->b_fname); + } + #endif + return fname; + } + +--- 4605,4617 ---- + if (dummyfd != NULL) /* file has been created temporarily */ + { + fclose(dummyfd); +! mch_remove(buf_fname); + } + #endif ++ #ifdef WIN3264 ++ if (buf_fname != buf->b_fname) ++ vim_free(buf_fname); ++ #endif + return fname; + } + +*** ../vim-7.4.065/src/misc1.c 2013-10-06 17:46:48.000000000 +0200 +--- src/misc1.c 2013-11-04 02:44:28.000000000 +0100 +*************** +*** 4808,4816 **** + + if (fname == NULL) + return (char_u *)""; +! for (p1 = p2 = fname; *p2; ) /* find last part of path */ + { +! if (vim_ispathsep(*p2)) + p1 = p2 + 1; + mb_ptr_adv(p2); + } +--- 4808,4816 ---- + + if (fname == NULL) + return (char_u *)""; +! for (p1 = p2 = get_past_head(fname); *p2; ) /* find last part of path */ + { +! if (vim_ispathsep_nocolon(*p2)) + p1 = p2 + 1; + mb_ptr_adv(p2); + } +*************** +*** 4929,4935 **** + } + + /* +! * return TRUE if 'c' is a path separator. + */ + int + vim_ispathsep(c) +--- 4929,4936 ---- + } + + /* +! * Return TRUE if 'c' is a path separator. +! * Note that for MS-Windows this includes the colon. + */ + int + vim_ispathsep(c) +*************** +*** 4952,4957 **** +--- 4953,4972 ---- + #endif + } + ++ /* ++ * Like vim_ispathsep(c), but exclude the colon for MS-Windows. ++ */ ++ int ++ vim_ispathsep_nocolon(c) ++ int c; ++ { ++ return vim_ispathsep(c) ++ #ifdef BACKSLASH_IN_FILENAME ++ && c != ':' ++ #endif ++ ; ++ } ++ + #if defined(FEAT_SEARCHPATH) || defined(PROTO) + /* + * return TRUE if 'c' is a path list separator. +*** ../vim-7.4.065/src/proto/misc1.pro 2013-08-10 13:37:20.000000000 +0200 +--- src/proto/misc1.pro 2013-11-04 02:44:30.000000000 +0100 +*************** +*** 69,74 **** +--- 69,75 ---- + char_u *getnextcomp __ARGS((char_u *fname)); + char_u *get_past_head __ARGS((char_u *path)); + int vim_ispathsep __ARGS((int c)); ++ int vim_ispathsep_nocolon __ARGS((int c)); + int vim_ispathlistsep __ARGS((int c)); + void shorten_dir __ARGS((char_u *str)); + int dir_of_file_exists __ARGS((char_u *fname)); +*** ../vim-7.4.065/src/version.c 2013-11-04 02:00:55.000000000 +0100 +--- src/version.c 2013-11-04 02:50:35.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 66, + /**/ + +-- +Females are strictly forbidden to appear unshaven in public. + [real standing law in New Mexico, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.067 b/patches/source/vim/patches/7.4.067 new file mode 100644 index 000000000..75a89c2aa --- /dev/null +++ b/patches/source/vim/patches/7.4.067 @@ -0,0 +1,126 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.067 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.067 +Problem: After inserting comment leader, CTRL-\ CTRL-O does move the + cursor. (Wiktor Ruben) +Solution: Avoid moving the cursor. (Christian Brabandt) +Files: src/edit.c + + +*** ../vim-7.4.066/src/edit.c 2013-09-08 20:00:45.000000000 +0200 +--- src/edit.c 2013-11-04 03:57:43.000000000 +0100 +*************** +*** 199,205 **** + static void spell_back_to_badword __ARGS((void)); + static int spell_bad_len = 0; /* length of located bad word */ + #endif +! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc)); + static int echeck_abbr __ARGS((int)); + static int replace_pop __ARGS((void)); + static void replace_join __ARGS((int off)); +--- 199,205 ---- + static void spell_back_to_badword __ARGS((void)); + static int spell_bad_len = 0; /* length of located bad word */ + #endif +! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc, int nomove)); + static int echeck_abbr __ARGS((int)); + static int replace_pop __ARGS((void)); + static void replace_join __ARGS((int off)); +*************** +*** 6698,6704 **** + if (!arrow_used) /* something has been inserted */ + { + AppendToRedobuff(ESC_STR); +! stop_insert(end_insert_pos, FALSE); + arrow_used = TRUE; /* this means we stopped the current insert */ + } + #ifdef FEAT_SPELL +--- 6698,6704 ---- + if (!arrow_used) /* something has been inserted */ + { + AppendToRedobuff(ESC_STR); +! stop_insert(end_insert_pos, FALSE, FALSE); + arrow_used = TRUE; /* this means we stopped the current insert */ + } + #ifdef FEAT_SPELL +*************** +*** 6787,6795 **** + * to another window/buffer. + */ + static void +! stop_insert(end_insert_pos, esc) + pos_T *end_insert_pos; + int esc; /* called by ins_esc() */ + { + int cc; + char_u *ptr; +--- 6787,6796 ---- + * to another window/buffer. + */ + static void +! stop_insert(end_insert_pos, esc, nomove) + pos_T *end_insert_pos; + int esc; /* called by ins_esc() */ ++ int nomove; /* , don't move cursor */ + { + int cc; + char_u *ptr; +*************** +*** 6860,6866 **** + * Do this when ESC was used or moving the cursor up/down. + * Check for the old position still being valid, just in case the text + * got changed unexpectedly. */ +! if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL + && curwin->w_cursor.lnum != end_insert_pos->lnum)) + && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count) + { +--- 6861,6867 ---- + * Do this when ESC was used or moving the cursor up/down. + * Check for the old position still being valid, just in case the text + * got changed unexpectedly. */ +! if (!nomove && did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL + && curwin->w_cursor.lnum != end_insert_pos->lnum)) + && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count) + { +*************** +*** 8377,8383 **** + disabled_redraw = TRUE; + return FALSE; /* repeat the insert */ + } +! stop_insert(&curwin->w_cursor, TRUE); + undisplay_dollar(); + } + +--- 8378,8384 ---- + disabled_redraw = TRUE; + return FALSE; /* repeat the insert */ + } +! stop_insert(&curwin->w_cursor, TRUE, nomove); + undisplay_dollar(); + } + +*** ../vim-7.4.066/src/version.c 2013-11-04 02:53:46.000000000 +0100 +--- src/version.c 2013-11-04 03:57:29.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 67, + /**/ + +-- +Beer & pretzels can't be served at the same time in any bar or restaurant. + [real standing law in North Dakota, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.068 b/patches/source/vim/patches/7.4.068 new file mode 100644 index 000000000..a90933856 --- /dev/null +++ b/patches/source/vim/patches/7.4.068 @@ -0,0 +1,131 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.068 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.068 +Problem: Cannot build Vim on Mac with non-Apple compilers. +Solution: Remove the -no-cpp-precomp flag. (Misty De Meo) +Files: src/configure.in, src/auto/configure, src/osdef.sh + + +*** ../vim-7.4.067/src/configure.in 2013-11-03 20:26:26.000000000 +0100 +--- src/configure.in 2013-11-04 04:53:51.000000000 +0100 +*************** +*** 204,210 **** + OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + dnl TODO: use -arch i386 on Intel machines +! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + + dnl If Carbon is found, assume we don't want X11 + dnl unless it was specifically asked for (--with-x) +--- 204,211 ---- + OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + dnl TODO: use -arch i386 on Intel machines +! dnl Removed -no-cpp-precomp, only for very old compilers. +! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX" + + dnl If Carbon is found, assume we don't want X11 + dnl unless it was specifically asked for (--with-x) +*************** +*** 262,269 **** + ]) + if test "$GCC" = yes -a "$local_dir" != no; then + echo 'void f(){}' > conftest.c +! dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler) +! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"` + have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` + rm -f conftest.c conftest.o + fi +--- 263,270 ---- + ]) + if test "$GCC" = yes -a "$local_dir" != no; then + echo 'void f(){}' > conftest.c +! dnl Removed -no-cpp-precomp, only needed for OS X 10.2 (Ben Fowler) +! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"` + have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` + rm -f conftest.c conftest.o + fi +*** ../vim-7.4.067/src/auto/configure 2013-11-03 20:26:27.000000000 +0100 +--- src/auto/configure 2013-11-04 04:54:16.000000000 +0100 +*************** +*** 4221,4227 **** + MACOSX=yes + OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" +! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + + # On IRIX 5.3, sys/types and inttypes.h are conflicting. + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ +--- 4221,4227 ---- + MACOSX=yes + OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" +! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX" + + # On IRIX 5.3, sys/types and inttypes.h are conflicting. + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ +*************** +*** 4311,4317 **** + + if test "$GCC" = yes -a "$local_dir" != no; then + echo 'void f(){}' > conftest.c +! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"` + have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` + rm -f conftest.c conftest.o + fi +--- 4311,4317 ---- + + if test "$GCC" = yes -a "$local_dir" != no; then + echo 'void f(){}' > conftest.c +! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"` + have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` + rm -f conftest.c conftest.o + fi +*** ../vim-7.4.067/src/osdef.sh 2010-05-15 13:04:08.000000000 +0200 +--- src/osdef.sh 2013-11-04 04:51:36.000000000 +0100 +*************** +*** 47,57 **** + #endif + EOF + +! # Mac uses precompiled headers, but we need real headers here. +! case `uname` in +! Darwin) $CC -I. -I$srcdir -E -no-cpp-precomp osdef0.c >osdef0.cc;; +! *) $CC -I. -I$srcdir -E osdef0.c >osdef0.cc;; +! esac + + # insert a space in front of each line, so that a function name at the + # start of the line is matched with "[)*, ]\1[ (]" +--- 47,53 ---- + #endif + EOF + +! $CC -I. -I$srcdir -E osdef0.c >osdef0.cc + + # insert a space in front of each line, so that a function name at the + # start of the line is matched with "[)*, ]\1[ (]" +*** ../vim-7.4.067/src/version.c 2013-11-04 04:20:28.000000000 +0100 +--- src/version.c 2013-11-04 04:51:51.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 68, + /**/ + +-- +Violators can be fined, arrested or jailed for making ugly faces at a dog. + [real standing law in Oklahoma, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.069 b/patches/source/vim/patches/7.4.069 new file mode 100644 index 000000000..ac52affcf --- /dev/null +++ b/patches/source/vim/patches/7.4.069 @@ -0,0 +1,2559 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.069 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.069 +Problem: Cannot right shift lines starting with #. +Solution: Allow the right shift when 'cino' contains #N with N > 0. + (Christian Brabandt) + Refactor parsing 'cino', store the values in the buffer. +Files: runtime/doc/indent.txt, src/buffer.c, src/edit.c, src/eval.c, + src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c, + src/proto/misc1.pro, src/proto/option.pro, src/structs.h, + src/option.c + + +*** ../vim-7.4.068/runtime/doc/indent.txt 2013-08-10 13:24:56.000000000 +0200 +--- runtime/doc/indent.txt 2013-11-05 07:10:56.000000000 +0100 +*************** +*** 545,554 **** + (default 70 lines). + + *cino-#* +! #N When N is non-zero recognize shell/Perl comments, starting with +! '#'. Default N is zero: don't recognize '#' comments. Note +! that lines starting with # will still be seen as preprocessor +! lines. + + + The defaults, spelled out in full, are: +--- 545,556 ---- + (default 70 lines). + + *cino-#* +! #N When N is non-zero recognize shell/Perl comments starting with +! '#', do not recognize preprocessor lines; allow right-shifting +! lines that start with "#". +! When N is zero (default): don't recognize '#' comments, do +! recognize preprocessor lines; right-shifting lines that start +! with "#" does not work. + + + The defaults, spelled out in full, are: +*************** +*** 556,562 **** + c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0 + + Vim puts a line in column 1 if: +! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'. + - It starts with a label (a keyword followed by ':', other than "case" and + "default") and 'cinoptions' does not contain an 'L' entry with a positive + value. +--- 558,564 ---- + c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0 + + Vim puts a line in column 1 if: +! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'. + - It starts with a label (a keyword followed by ':', other than "case" and + "default") and 'cinoptions' does not contain an 'L' entry with a positive + value. +*************** +*** 581,588 **** + + Clojure indentation differs somewhat from traditional Lisps, due in part to + the use of square and curly brackets, and otherwise by community convention. +! These conventions are not always universally followed, so the Clojure indent +! script offers a few configurable options, listed below. + + If the current vim does not include searchpairpos(), the indent script falls + back to normal 'lisp' indenting, and the following options are ignored. +--- 583,590 ---- + + Clojure indentation differs somewhat from traditional Lisps, due in part to + the use of square and curly brackets, and otherwise by community convention. +! These conventions are not universally followed, so the Clojure indent script +! offers a few configurable options, listed below. + + If the current vim does not include searchpairpos(), the indent script falls + back to normal 'lisp' indenting, and the following options are ignored. +*** ../vim-7.4.068/src/buffer.c 2013-11-02 04:39:34.000000000 +0100 +--- src/buffer.c 2013-11-05 06:18:54.000000000 +0100 +*************** +*** 211,217 **** +--- 211,220 ---- + + /* if first time loading this buffer, init b_chartab[] */ + if (curbuf->b_flags & BF_NEVERLOADED) ++ { + (void)buf_init_chartab(curbuf, FALSE); ++ parse_cino(curbuf); ++ } + + /* + * Set/reset the Changed flag first, autocmds may change the buffer. +*** ../vim-7.4.068/src/edit.c 2013-11-04 04:20:28.000000000 +0100 +--- src/edit.c 2013-11-05 06:12:45.000000000 +0100 +*************** +*** 8958,8964 **** + + *inserted_space_p = FALSE; + if (p_sta && in_indent) +! ts = (int)get_sw_value(); + else + ts = (int)get_sts_value(); + /* Compute the virtual column where we want to be. Since +--- 8958,8964 ---- + + *inserted_space_p = FALSE; + if (p_sta && in_indent) +! ts = (int)get_sw_value(curbuf); + else + ts = (int)get_sts_value(); + /* Compute the virtual column where we want to be. Since +*************** +*** 9647,9653 **** + * When nothing special, insert TAB like a normal character + */ + if (!curbuf->b_p_et +! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value()) + && get_sts_value() == 0) + return TRUE; + +--- 9647,9653 ---- + * When nothing special, insert TAB like a normal character + */ + if (!curbuf->b_p_et +! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value(curbuf)) + && get_sts_value() == 0) + return TRUE; + +*************** +*** 9663,9669 **** + AppendToRedobuff((char_u *)"\t"); + + if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */ +! temp = (int)get_sw_value(); + else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */ + temp = (int)get_sts_value(); + else /* otherwise use 'tabstop' */ +--- 9663,9669 ---- + AppendToRedobuff((char_u *)"\t"); + + if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */ +! temp = (int)get_sw_value(curbuf); + else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */ + temp = (int)get_sts_value(); + else /* otherwise use 'tabstop' */ +*** ../vim-7.4.068/src/eval.c 2013-11-02 23:29:17.000000000 +0100 +--- src/eval.c 2013-11-05 06:12:49.000000000 +0100 +*************** +*** 16934,16940 **** + typval_T *argvars UNUSED; + typval_T *rettv; + { +! rettv->vval.v_number = get_sw_value(); + } + + /* +--- 16934,16940 ---- + typval_T *argvars UNUSED; + typval_T *rettv; + { +! rettv->vval.v_number = get_sw_value(curbuf); + } + + /* +*** ../vim-7.4.068/src/ex_getln.c 2013-07-05 19:44:21.000000000 +0200 +--- src/ex_getln.c 2013-11-05 06:12:57.000000000 +0100 +*************** +*** 2280,2286 **** + + if (c1 == Ctrl_T) + { +! long sw = get_sw_value(); + + p = (char_u *)line_ga.ga_data; + p[line_ga.ga_len] = NUL; +--- 2280,2286 ---- + + if (c1 == Ctrl_T) + { +! long sw = get_sw_value(curbuf); + + p = (char_u *)line_ga.ga_data; + p[line_ga.ga_len] = NUL; +*************** +*** 2337,2343 **** + p[line_ga.ga_len] = NUL; + indent = get_indent_str(p, 8); + --indent; +! indent -= indent % get_sw_value(); + } + while (get_indent_str(p, 8) > indent) + { +--- 2337,2343 ---- + p[line_ga.ga_len] = NUL; + indent = get_indent_str(p, 8); + --indent; +! indent -= indent % get_sw_value(curbuf); + } + while (get_indent_str(p, 8) > indent) + { +*************** +*** 4178,4184 **** + /* + * Prepare a string for expansion. + * When expanding file names: The string will be used with expand_wildcards(). +! * Copy the file name into allocated memory and add a '*' at the end. + * When expanding other names: The string will be used with regcomp(). Copy + * the name into allocated memory and prepend "^". + */ +--- 4178,4184 ---- + /* + * Prepare a string for expansion. + * When expanding file names: The string will be used with expand_wildcards(). +! * Copy "fname[len]" into allocated memory and add a '*' at the end. + * When expanding other names: The string will be used with regcomp(). Copy + * the name into allocated memory and prepend "^". + */ +*** ../vim-7.4.068/src/fold.c 2013-06-15 16:57:24.000000000 +0200 +--- src/fold.c 2013-11-05 06:13:03.000000000 +0100 +*************** +*** 3052,3058 **** + flp->lvl = -1; + } + else +! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(); + if (flp->lvl > flp->wp->w_p_fdn) + { + flp->lvl = flp->wp->w_p_fdn; +--- 3052,3058 ---- + flp->lvl = -1; + } + else +! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(curbuf); + if (flp->lvl > flp->wp->w_p_fdn) + { + flp->lvl = flp->wp->w_p_fdn; +*** ../vim-7.4.068/src/misc1.c 2013-11-04 02:53:46.000000000 +0100 +--- src/misc1.c 2013-11-05 06:45:15.000000000 +0100 +*************** +*** 1405,1411 **** + #ifdef FEAT_SMARTINDENT + if (did_si) + { +! int sw = (int)get_sw_value(); + + if (p_sr) + newindent -= newindent % sw; +--- 1405,1411 ---- + #ifdef FEAT_SMARTINDENT + if (did_si) + { +! int sw = (int)get_sw_value(curbuf); + + if (p_sr) + newindent -= newindent % sw; +*************** +*** 5342,5349 **** + static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment)); + static int cin_is_cpp_namespace __ARGS((char_u *)); + +- static int ind_hash_comment = 0; /* # starts a comment */ +- + /* + * Skip over white space and C comments within the line. + * Also skip over Perl/shell comments if desired. +--- 5342,5347 ---- +*************** +*** 5360,5366 **** + + /* Perl/shell # comment comment continues until eol. Require a space + * before # to avoid recognizing $#array. */ +! if (ind_hash_comment != 0 && s != prev_s && *s == '#') + { + s += STRLEN(s); + break; +--- 5358,5364 ---- + + /* Perl/shell # comment comment continues until eol. Require a space + * before # to avoid recognizing $#array. */ +! if (curbuf->b_ind_hash_comment != 0 && s != prev_s && *s == '#') + { + s += STRLEN(s); + break; +*************** +*** 6639,6839 **** + return retval; + } + +! int +! get_c_indent() + { +! int sw = (int)get_sw_value(); + + /* +! * spaces from a block's opening brace the prevailing indent for that +! * block should be + */ + +! int ind_level = sw; + +! /* +! * spaces from the edge of the line an open brace that's at the end of a +! * line is imagined to be. +! */ +! int ind_open_imag = 0; + +! /* +! * spaces from the prevailing indent for a line that is not preceded by +! * an opening brace. +! */ +! int ind_no_brace = 0; +! +! /* +! * column where the first { of a function should be located } +! */ +! int ind_first_open = 0; + +! /* +! * spaces from the prevailing indent a leftmost open brace should be +! * located +! */ +! int ind_open_extra = 0; + +! /* +! * spaces from the matching open brace (real location for one at the left + * edge; imaginary location from one that ends a line) the matching close +! * brace should be located +! */ +! int ind_close_extra = 0; + +! /* +! * spaces from the edge of the line an open brace sitting in the leftmost +! * column is imagined to be +! */ +! int ind_open_left_imag = 0; + +! /* +! * Spaces jump labels should be shifted to the left if N is non-negative, +! * otherwise the jump label will be put to column 1. +! */ +! int ind_jump_label = -1; + +! /* +! * spaces from the switch() indent a "case xx" label should be located +! */ +! int ind_case = sw; + +! /* +! * spaces from the "case xx:" code after a switch() should be located +! */ +! int ind_case_code = sw; + +! /* +! * lineup break at end of case in switch() with case label +! */ +! int ind_case_break = 0; + +! /* +! * spaces from the class declaration indent a scope declaration label +! * should be located +! */ +! int ind_scopedecl = sw; + +! /* +! * spaces from the scope declaration label code should be located +! */ +! int ind_scopedecl_code = sw; + +! /* +! * amount K&R-style parameters should be indented +! */ +! int ind_param = sw; + +! /* +! * amount a function type spec should be indented +! */ +! int ind_func_type = sw; + +! /* +! * amount a cpp base class declaration or constructor initialization +! * should be indented +! */ +! int ind_cpp_baseclass = sw; + +! /* +! * additional spaces beyond the prevailing indent a continuation line +! * should be located +! */ +! int ind_continuation = sw; + +! /* +! * spaces from the indent of the line with an unclosed parentheses +! */ +! int ind_unclosed = sw * 2; + +! /* +! * spaces from the indent of the line with an unclosed parentheses, which +! * itself is also unclosed +! */ +! int ind_unclosed2 = sw; + +! /* +! * suppress ignoring spaces from the indent of a line starting with an +! * unclosed parentheses. +! */ +! int ind_unclosed_noignore = 0; + +! /* +! * If the opening paren is the last nonwhite character on the line, and +! * ind_unclosed_wrapped is nonzero, use this indent relative to the outer +! * context (for very long lines). +! */ +! int ind_unclosed_wrapped = 0; + +! /* +! * suppress ignoring white space when lining up with the character after +! * an unclosed parentheses. +! */ +! int ind_unclosed_whiteok = 0; + +! /* +! * indent a closing parentheses under the line start of the matching +! * opening parentheses. +! */ +! int ind_matching_paren = 0; + +! /* +! * indent a closing parentheses under the previous line. +! */ +! int ind_paren_prev = 0; + +! /* +! * Extra indent for comments. +! */ +! int ind_comment = 0; + +! /* +! * spaces from the comment opener when there is nothing after it. +! */ +! int ind_in_comment = 3; + +! /* +! * boolean: if non-zero, use ind_in_comment even if there is something +! * after the comment opener. +! */ +! int ind_in_comment2 = 0; + +! /* +! * max lines to search for an open paren +! */ +! int ind_maxparen = 20; + +! /* +! * max lines to search for an open comment +! */ +! int ind_maxcomment = 70; + +! /* +! * handle braces for java code +! */ +! int ind_java = 0; + +! /* +! * not to confuse JS object properties with labels +! */ +! int ind_js = 0; + +! /* +! * handle blocked cases correctly +! */ +! int ind_keep_case_label = 0; + +! /* +! * handle C++ namespace +! */ +! int ind_cpp_namespace = 0; + +! /* +! * handle continuation lines containing conditions of if(), for() and +! * while() +! */ +! int ind_if_for_while = 0; + + pos_T cur_curpos; + int amount; + int scope_amount; +--- 6637,6865 ---- + return retval; + } + +! /* +! * Parse 'cinoptions' and set the values in "curbuf". +! * Must be called when 'cinoptions', 'shiftwidth' and/or 'tabstop' changes. +! */ +! void +! parse_cino(buf) +! buf_T *buf; + { +! char_u *p; +! char_u *l; +! char_u *digits; +! int n; +! int divider; +! int fraction = 0; +! int sw = (int)get_sw_value(buf); + + /* +! * Set the default values. + */ ++ /* Spaces from a block's opening brace the prevailing indent for that ++ * block should be. */ ++ buf->b_ind_level = sw; + +! /* Spaces from the edge of the line an open brace that's at the end of a +! * line is imagined to be. */ +! buf->b_ind_open_imag = 0; + +! /* Spaces from the prevailing indent for a line that is not preceded by +! * an opening brace. */ +! buf->b_ind_no_brace = 0; + +! /* Column where the first { of a function should be located }. */ +! buf->b_ind_first_open = 0; + +! /* Spaces from the prevailing indent a leftmost open brace should be +! * located. */ +! buf->b_ind_open_extra = 0; + +! /* Spaces from the matching open brace (real location for one at the left + * edge; imaginary location from one that ends a line) the matching close +! * brace should be located. */ +! buf->b_ind_close_extra = 0; + +! /* Spaces from the edge of the line an open brace sitting in the leftmost +! * column is imagined to be. */ +! buf->b_ind_open_left_imag = 0; + +! /* Spaces jump labels should be shifted to the left if N is non-negative, +! * otherwise the jump label will be put to column 1. */ +! buf->b_ind_jump_label = -1; + +! /* Spaces from the switch() indent a "case xx" label should be located. */ +! buf->b_ind_case = sw; + +! /* Spaces from the "case xx:" code after a switch() should be located. */ +! buf->b_ind_case_code = sw; + +! /* Lineup break at end of case in switch() with case label. */ +! buf->b_ind_case_break = 0; + +! /* Spaces from the class declaration indent a scope declaration label +! * should be located. */ +! buf->b_ind_scopedecl = sw; + +! /* Spaces from the scope declaration label code should be located. */ +! buf->b_ind_scopedecl_code = sw; + +! /* Amount K&R-style parameters should be indented. */ +! buf->b_ind_param = sw; + +! /* Amount a function type spec should be indented. */ +! buf->b_ind_func_type = sw; + +! /* Amount a cpp base class declaration or constructor initialization +! * should be indented. */ +! buf->b_ind_cpp_baseclass = sw; + +! /* additional spaces beyond the prevailing indent a continuation line +! * should be located. */ +! buf->b_ind_continuation = sw; + +! /* Spaces from the indent of the line with an unclosed parentheses. */ +! buf->b_ind_unclosed = sw * 2; + +! /* Spaces from the indent of the line with an unclosed parentheses, which +! * itself is also unclosed. */ +! buf->b_ind_unclosed2 = sw; + +! /* Suppress ignoring spaces from the indent of a line starting with an +! * unclosed parentheses. */ +! buf->b_ind_unclosed_noignore = 0; + +! /* If the opening paren is the last nonwhite character on the line, and +! * b_ind_unclosed_wrapped is nonzero, use this indent relative to the outer +! * context (for very long lines). */ +! buf->b_ind_unclosed_wrapped = 0; + +! /* Suppress ignoring white space when lining up with the character after +! * an unclosed parentheses. */ +! buf->b_ind_unclosed_whiteok = 0; + +! /* Indent a closing parentheses under the line start of the matching +! * opening parentheses. */ +! buf->b_ind_matching_paren = 0; + +! /* Indent a closing parentheses under the previous line. */ +! buf->b_ind_paren_prev = 0; + +! /* Extra indent for comments. */ +! buf->b_ind_comment = 0; + +! /* Spaces from the comment opener when there is nothing after it. */ +! buf->b_ind_in_comment = 3; + +! /* Boolean: if non-zero, use b_ind_in_comment even if there is something +! * after the comment opener. */ +! buf->b_ind_in_comment2 = 0; + +! /* Max lines to search for an open paren. */ +! buf->b_ind_maxparen = 20; + +! /* Max lines to search for an open comment. */ +! buf->b_ind_maxcomment = 70; + +! /* Handle braces for java code. */ +! buf->b_ind_java = 0; + +! /* Not to confuse JS object properties with labels. */ +! buf->b_ind_js = 0; + +! /* Handle blocked cases correctly. */ +! buf->b_ind_keep_case_label = 0; + +! /* Handle C++ namespace. */ +! buf->b_ind_cpp_namespace = 0; + +! /* Handle continuation lines containing conditions of if(), for() and +! * while(). */ +! buf->b_ind_if_for_while = 0; +! +! for (p = buf->b_p_cino; *p; ) +! { +! l = p++; +! if (*p == '-') +! ++p; +! digits = p; /* remember where the digits start */ +! n = getdigits(&p); +! divider = 0; +! if (*p == '.') /* ".5s" means a fraction */ +! { +! fraction = atol((char *)++p); +! while (VIM_ISDIGIT(*p)) +! { +! ++p; +! if (divider) +! divider *= 10; +! else +! divider = 10; +! } +! } +! if (*p == 's') /* "2s" means two times 'shiftwidth' */ +! { +! if (p == digits) +! n = sw; /* just "s" is one 'shiftwidth' */ +! else +! { +! n *= sw; +! if (divider) +! n += (sw * fraction + divider / 2) / divider; +! } +! ++p; +! } +! if (l[1] == '-') +! n = -n; + ++ /* When adding an entry here, also update the default 'cinoptions' in ++ * doc/indent.txt, and add explanation for it! */ ++ switch (*l) ++ { ++ case '>': buf->b_ind_level = n; break; ++ case 'e': buf->b_ind_open_imag = n; break; ++ case 'n': buf->b_ind_no_brace = n; break; ++ case 'f': buf->b_ind_first_open = n; break; ++ case '{': buf->b_ind_open_extra = n; break; ++ case '}': buf->b_ind_close_extra = n; break; ++ case '^': buf->b_ind_open_left_imag = n; break; ++ case 'L': buf->b_ind_jump_label = n; break; ++ case ':': buf->b_ind_case = n; break; ++ case '=': buf->b_ind_case_code = n; break; ++ case 'b': buf->b_ind_case_break = n; break; ++ case 'p': buf->b_ind_param = n; break; ++ case 't': buf->b_ind_func_type = n; break; ++ case '/': buf->b_ind_comment = n; break; ++ case 'c': buf->b_ind_in_comment = n; break; ++ case 'C': buf->b_ind_in_comment2 = n; break; ++ case 'i': buf->b_ind_cpp_baseclass = n; break; ++ case '+': buf->b_ind_continuation = n; break; ++ case '(': buf->b_ind_unclosed = n; break; ++ case 'u': buf->b_ind_unclosed2 = n; break; ++ case 'U': buf->b_ind_unclosed_noignore = n; break; ++ case 'W': buf->b_ind_unclosed_wrapped = n; break; ++ case 'w': buf->b_ind_unclosed_whiteok = n; break; ++ case 'm': buf->b_ind_matching_paren = n; break; ++ case 'M': buf->b_ind_paren_prev = n; break; ++ case ')': buf->b_ind_maxparen = n; break; ++ case '*': buf->b_ind_maxcomment = n; break; ++ case 'g': buf->b_ind_scopedecl = n; break; ++ case 'h': buf->b_ind_scopedecl_code = n; break; ++ case 'j': buf->b_ind_java = n; break; ++ case 'J': buf->b_ind_js = n; break; ++ case 'l': buf->b_ind_keep_case_label = n; break; ++ case '#': buf->b_ind_hash_comment = n; break; ++ case 'N': buf->b_ind_cpp_namespace = n; break; ++ case 'k': buf->b_ind_if_for_while = n; break; ++ } ++ if (*p == ',') ++ ++p; ++ } ++ } ++ ++ int ++ get_c_indent() ++ { + pos_T cur_curpos; + int amount; + int scope_amount; +*************** +*** 6868,6877 **** + + int whilelevel; + linenr_T lnum; +- char_u *options; +- char_u *digits; +- int fraction = 0; /* init for GCC */ +- int divider; + int n; + int iscase; + int lookfor_break; +--- 6894,6899 ---- +*************** +*** 6880,6962 **** + int original_line_islabel; + int added_to_amount = 0; + +! for (options = curbuf->b_p_cino; *options; ) +! { +! l = options++; +! if (*options == '-') +! ++options; +! digits = options; /* remember where the digits start */ +! n = getdigits(&options); +! divider = 0; +! if (*options == '.') /* ".5s" means a fraction */ +! { +! fraction = atol((char *)++options); +! while (VIM_ISDIGIT(*options)) +! { +! ++options; +! if (divider) +! divider *= 10; +! else +! divider = 10; +! } +! } +! if (*options == 's') /* "2s" means two times 'shiftwidth' */ +! { +! if (options == digits) +! n = sw; /* just "s" is one 'shiftwidth' */ +! else +! { +! n *= sw; +! if (divider) +! n += (sw * fraction + divider / 2) / divider; +! } +! ++options; +! } +! if (l[1] == '-') +! n = -n; +! /* When adding an entry here, also update the default 'cinoptions' in +! * doc/indent.txt, and add explanation for it! */ +! switch (*l) +! { +! case '>': ind_level = n; break; +! case 'e': ind_open_imag = n; break; +! case 'n': ind_no_brace = n; break; +! case 'f': ind_first_open = n; break; +! case '{': ind_open_extra = n; break; +! case '}': ind_close_extra = n; break; +! case '^': ind_open_left_imag = n; break; +! case 'L': ind_jump_label = n; break; +! case ':': ind_case = n; break; +! case '=': ind_case_code = n; break; +! case 'b': ind_case_break = n; break; +! case 'p': ind_param = n; break; +! case 't': ind_func_type = n; break; +! case '/': ind_comment = n; break; +! case 'c': ind_in_comment = n; break; +! case 'C': ind_in_comment2 = n; break; +! case 'i': ind_cpp_baseclass = n; break; +! case '+': ind_continuation = n; break; +! case '(': ind_unclosed = n; break; +! case 'u': ind_unclosed2 = n; break; +! case 'U': ind_unclosed_noignore = n; break; +! case 'W': ind_unclosed_wrapped = n; break; +! case 'w': ind_unclosed_whiteok = n; break; +! case 'm': ind_matching_paren = n; break; +! case 'M': ind_paren_prev = n; break; +! case ')': ind_maxparen = n; break; +! case '*': ind_maxcomment = n; break; +! case 'g': ind_scopedecl = n; break; +! case 'h': ind_scopedecl_code = n; break; +! case 'j': ind_java = n; break; +! case 'J': ind_js = n; break; +! case 'l': ind_keep_case_label = n; break; +! case '#': ind_hash_comment = n; break; +! case 'N': ind_cpp_namespace = n; break; +! case 'k': ind_if_for_while = n; break; +! } +! if (*options == ',') +! ++options; +! } + + /* remember where the cursor was when we started */ + cur_curpos = curwin->w_cursor; +--- 6902,6909 ---- + int original_line_islabel; + int added_to_amount = 0; + +! /* make a copy, value is changed below */ +! int ind_continuation = curbuf->b_ind_continuation; + + /* remember where the cursor was when we started */ + cur_curpos = curwin->w_cursor; +*************** +*** 6990,7011 **** + + curwin->w_cursor.col = 0; + +! original_line_islabel = cin_islabel(ind_maxcomment); /* XXX */ + + /* + * #defines and so on always go at the left when included in 'cinkeys'. + */ + if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE))) +! { +! amount = 0; +! } + + /* + * Is it a non-case label? Then that goes at the left margin too unless: + * - JS flag is set. + * - 'L' item has a positive value. + */ +! else if (original_line_islabel && !ind_js && ind_jump_label < 0) + { + amount = 0; + } +--- 6937,6957 ---- + + curwin->w_cursor.col = 0; + +! original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment); /* XXX */ + + /* + * #defines and so on always go at the left when included in 'cinkeys'. + */ + if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE))) +! amount = curbuf->b_ind_hash_comment; + + /* + * Is it a non-case label? Then that goes at the left margin too unless: + * - JS flag is set. + * - 'L' item has a positive value. + */ +! else if (original_line_islabel && !curbuf->b_ind_js +! && curbuf->b_ind_jump_label < 0) + { + amount = 0; + } +*************** +*** 7027,7033 **** + * comment, try using the 'comments' option. + */ + else if (!cin_iscomment(theline) +! && (trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */ + { + int lead_start_len = 2; + int lead_middle_len = 1; +--- 6973,6980 ---- + * comment, try using the 'comments' option. + */ + else if (!cin_iscomment(theline) +! && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL) +! /* XXX */ + { + int lead_start_len = 2; + int lead_middle_len = 1; +*************** +*** 7161,7167 **** + } + if (amount == -1) /* use the comment opener */ + { +! if (!ind_in_comment2) + { + start = ml_get(trypos->lnum); + look = start + trypos->col + 2; /* skip / and * */ +--- 7108,7114 ---- + } + if (amount == -1) /* use the comment opener */ + { +! if (!curbuf->b_ind_in_comment2) + { + start = ml_get(trypos->lnum); + look = start + trypos->col + 2; /* skip / and * */ +*************** +*** 7170,7177 **** + } + getvcol(curwin, trypos, &col, NULL, NULL); + amount = col; +! if (ind_in_comment2 || *look == NUL) +! amount += ind_in_comment; + } + } + } +--- 7117,7124 ---- + } + getvcol(curwin, trypos, &col, NULL, NULL); + amount = col; +! if (curbuf->b_ind_in_comment2 || *look == NUL) +! amount += curbuf->b_ind_in_comment; + } + } + } +*************** +*** 7179,7187 **** + /* + * Are we inside parentheses or braces? + */ /* XXX */ +! else if (((trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL +! && ind_java == 0) +! || (tryposBrace = find_start_brace(ind_maxcomment)) != NULL + || trypos != NULL) + { + if (trypos != NULL && tryposBrace != NULL) +--- 7126,7136 ---- + /* + * Are we inside parentheses or braces? + */ /* XXX */ +! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL +! && curbuf->b_ind_java == 0) +! || (tryposBrace = +! find_start_brace(curbuf->b_ind_maxcomment)) != NULL + || trypos != NULL) + { + if (trypos != NULL && tryposBrace != NULL) +*************** +*** 7202,7208 **** + * If the matching paren is more than one line away, use the indent of + * a previous non-empty line that matches the same paren. + */ +! if (theline[0] == ')' && ind_paren_prev) + { + /* Line up with the start of the matching paren line. */ + amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */ +--- 7151,7157 ---- + * If the matching paren is more than one line away, use the indent of + * a previous non-empty line that matches the same paren. + */ +! if (theline[0] == ')' && curbuf->b_ind_paren_prev) + { + /* Line up with the start of the matching paren line. */ + amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */ +*************** +*** 7221,7227 **** + curwin->w_cursor.lnum = lnum; + + /* Skip a comment. XXX */ +! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) + { + lnum = trypos->lnum + 1; + continue; +--- 7170,7177 ---- + curwin->w_cursor.lnum = lnum; + + /* Skip a comment. XXX */ +! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) +! != NULL) + { + lnum = trypos->lnum + 1; + continue; +*************** +*** 7229,7236 **** + + /* XXX */ + if ((trypos = find_match_paren( +! corr_ind_maxparen(ind_maxparen, &cur_curpos), +! ind_maxcomment)) != NULL + && trypos->lnum == our_paren_pos.lnum + && trypos->col == our_paren_pos.col) + { +--- 7179,7186 ---- + + /* XXX */ + if ((trypos = find_match_paren( +! corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos), +! curbuf->b_ind_maxcomment)) != NULL + && trypos->lnum == our_paren_pos.lnum + && trypos->col == our_paren_pos.col) + { +*************** +*** 7258,7264 **** + int ignore_paren_col = 0; + int is_if_for_while = 0; + +! if (ind_if_for_while) + { + /* Look for the outermost opening parenthesis on this line + * and check whether it belongs to an "if", "for" or "while". */ +--- 7208,7214 ---- + int ignore_paren_col = 0; + int is_if_for_while = 0; + +! if (curbuf->b_ind_if_for_while) + { + /* Look for the outermost opening parenthesis on this line + * and check whether it belongs to an "if", "for" or "while". */ +*************** +*** 7273,7279 **** + curwin->w_cursor.lnum = outermost.lnum; + curwin->w_cursor.col = outermost.col; + +! trypos = find_match_paren(ind_maxparen, ind_maxcomment); + } while (trypos && trypos->lnum == outermost.lnum); + + curwin->w_cursor = cursor_save; +--- 7223,7230 ---- + curwin->w_cursor.lnum = outermost.lnum; + curwin->w_cursor.col = outermost.col; + +! trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment); + } while (trypos && trypos->lnum == outermost.lnum); + + curwin->w_cursor = cursor_save; +*************** +*** 7284,7290 **** + cin_is_if_for_while_before_offset(line, &outermost.col); + } + +! amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment); + look = skipwhite(look); + if (*look == '(') + { +--- 7235,7242 ---- + cin_is_if_for_while_before_offset(line, &outermost.col); + } + +! amount = skip_label(our_paren_pos.lnum, &look, +! curbuf->b_ind_maxcomment); + look = skipwhite(look); + if (*look == '(') + { +*************** +*** 7298,7304 **** + line = ml_get_curline(); + look_col = (int)(look - line); + curwin->w_cursor.col = look_col + 1; +! if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen)) + != NULL + && trypos->lnum == our_paren_pos.lnum + && trypos->col < our_paren_pos.col) +--- 7250,7257 ---- + line = ml_get_curline(); + look_col = (int)(look - line); + curwin->w_cursor.col = look_col + 1; +! if ((trypos = findmatchlimit(NULL, ')', 0, +! curbuf->b_ind_maxparen)) + != NULL + && trypos->lnum == our_paren_pos.lnum + && trypos->col < our_paren_pos.col) +*************** +*** 7307,7330 **** + curwin->w_cursor.lnum = save_lnum; + look = ml_get(our_paren_pos.lnum) + look_col; + } +! if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0) +! || (!ind_unclosed_noignore && *look == '(' + && ignore_paren_col == 0)) + { + /* + * If we're looking at a close paren, line up right there; + * otherwise, line up with the next (non-white) character. +! * When ind_unclosed_wrapped is set and the matching paren is + * the last nonwhite character of the line, use either the + * indent of the current line or the indentation of the next +! * outer paren and add ind_unclosed_wrapped (for very long + * lines). + */ + if (theline[0] != ')') + { + cur_amount = MAXCOL; + l = ml_get(our_paren_pos.lnum); +! if (ind_unclosed_wrapped + && cin_ends_in(l, (char_u *)"(", NULL)) + { + /* look for opening unmatched paren, indent one level +--- 7260,7284 ---- + curwin->w_cursor.lnum = save_lnum; + look = ml_get(our_paren_pos.lnum) + look_col; + } +! if (theline[0] == ')' || (curbuf->b_ind_unclosed == 0 +! && is_if_for_while == 0) +! || (!curbuf->b_ind_unclosed_noignore && *look == '(' + && ignore_paren_col == 0)) + { + /* + * If we're looking at a close paren, line up right there; + * otherwise, line up with the next (non-white) character. +! * When b_ind_unclosed_wrapped is set and the matching paren is + * the last nonwhite character of the line, use either the + * indent of the current line or the indentation of the next +! * outer paren and add b_ind_unclosed_wrapped (for very long + * lines). + */ + if (theline[0] != ')') + { + cur_amount = MAXCOL; + l = ml_get(our_paren_pos.lnum); +! if (curbuf->b_ind_unclosed_wrapped + && cin_ends_in(l, (char_u *)"(", NULL)) + { + /* look for opening unmatched paren, indent one level +*************** +*** 7346,7354 **** + } + + our_paren_pos.col = 0; +! amount += n * ind_unclosed_wrapped; + } +! else if (ind_unclosed_whiteok) + our_paren_pos.col++; + else + { +--- 7300,7308 ---- + } + + our_paren_pos.col = 0; +! amount += n * curbuf->b_ind_unclosed_wrapped; + } +! else if (curbuf->b_ind_unclosed_whiteok) + our_paren_pos.col++; + else + { +*************** +*** 7374,7385 **** + } + } + +! if (theline[0] == ')' && ind_matching_paren) + { + /* Line up with the start of the matching paren line. */ + } +! else if ((ind_unclosed == 0 && is_if_for_while == 0) +! || (!ind_unclosed_noignore + && *look == '(' && ignore_paren_col == 0)) + { + if (cur_amount != MAXCOL) +--- 7328,7339 ---- + } + } + +! if (theline[0] == ')' && curbuf->b_ind_matching_paren) + { + /* Line up with the start of the matching paren line. */ + } +! else if ((curbuf->b_ind_unclosed == 0 && is_if_for_while == 0) +! || (!curbuf->b_ind_unclosed_noignore + && *look == '(' && ignore_paren_col == 0)) + { + if (cur_amount != MAXCOL) +*************** +*** 7387,7425 **** + } + else + { +! /* Add ind_unclosed2 for each '(' before our matching one, but +! * ignore (void) before the line (ignore_paren_col). */ + col = our_paren_pos.col; + while ((int)our_paren_pos.col > ignore_paren_col) + { + --our_paren_pos.col; + switch (*ml_get_pos(&our_paren_pos)) + { +! case '(': amount += ind_unclosed2; + col = our_paren_pos.col; + break; +! case ')': amount -= ind_unclosed2; + col = MAXCOL; + break; + } + } + +! /* Use ind_unclosed once, when the first '(' is not inside + * braces */ + if (col == MAXCOL) +! amount += ind_unclosed; + else + { + curwin->w_cursor.lnum = our_paren_pos.lnum; + curwin->w_cursor.col = col; +! if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL) +! amount += ind_unclosed2; + else + { + if (is_if_for_while) +! amount += ind_if_for_while; + else +! amount += ind_unclosed; + } + } + /* +--- 7341,7380 ---- + } + else + { +! /* Add b_ind_unclosed2 for each '(' before our matching one, +! * but ignore (void) before the line (ignore_paren_col). */ + col = our_paren_pos.col; + while ((int)our_paren_pos.col > ignore_paren_col) + { + --our_paren_pos.col; + switch (*ml_get_pos(&our_paren_pos)) + { +! case '(': amount += curbuf->b_ind_unclosed2; + col = our_paren_pos.col; + break; +! case ')': amount -= curbuf->b_ind_unclosed2; + col = MAXCOL; + break; + } + } + +! /* Use b_ind_unclosed once, when the first '(' is not inside + * braces */ + if (col == MAXCOL) +! amount += curbuf->b_ind_unclosed; + else + { + curwin->w_cursor.lnum = our_paren_pos.lnum; + curwin->w_cursor.col = col; +! if (find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) != NULL) +! amount += curbuf->b_ind_unclosed2; + else + { + if (is_if_for_while) +! amount += curbuf->b_ind_if_for_while; + else +! amount += curbuf->b_ind_unclosed; + } + } + /* +*************** +*** 7437,7443 **** + + /* add extra indent for a comment */ + if (cin_iscomment(theline)) +! amount += ind_comment; + } + + /* +--- 7392,7398 ---- + + /* add extra indent for a comment */ + if (cin_iscomment(theline)) +! amount += curbuf->b_ind_comment; + } + + /* +*************** +*** 7480,7487 **** + */ + lnum = ourscope; + if (find_last_paren(start, '(', ')') +! && (trypos = find_match_paren(ind_maxparen, +! ind_maxcomment)) != NULL) + lnum = trypos->lnum; + + /* +--- 7435,7442 ---- + */ + lnum = ourscope; + if (find_last_paren(start, '(', ')') +! && (trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + lnum = trypos->lnum; + + /* +*************** +*** 7490,7500 **** + * ldfd) { + * } + */ +! if (ind_js || (ind_keep_case_label + && cin_iscase(skipwhite(ml_get_curline()), FALSE))) + amount = get_indent(); + else +! amount = skip_label(lnum, &l, ind_maxcomment); + + start_brace = BRACE_AT_END; + } +--- 7445,7455 ---- + * ldfd) { + * } + */ +! if (curbuf->b_ind_js || (curbuf->b_ind_keep_case_label + && cin_iscase(skipwhite(ml_get_curline()), FALSE))) + amount = get_indent(); + else +! amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment); + + start_brace = BRACE_AT_END; + } +*************** +*** 7510,7516 **** + * they may want closing braces to line up with something + * other than the open brace. indulge them, if so. + */ +! amount += ind_close_extra; + } + else + { +--- 7465,7471 ---- + * they may want closing braces to line up with something + * other than the open brace. indulge them, if so. + */ +! amount += curbuf->b_ind_close_extra; + } + else + { +*************** +*** 7523,7536 **** + lookfor = LOOKFOR_INITIAL; + if (cin_iselse(theline)) + lookfor = LOOKFOR_IF; +! else if (cin_iswhileofdo(theline, cur_curpos.lnum, ind_maxparen)) +! /* XXX */ + lookfor = LOOKFOR_DO; + if (lookfor != LOOKFOR_INITIAL) + { + curwin->w_cursor.lnum = cur_curpos.lnum; +! if (find_match(lookfor, ourscope, ind_maxparen, +! ind_maxcomment) == OK) + { + amount = get_indent(); /* XXX */ + goto theend; +--- 7478,7491 ---- + lookfor = LOOKFOR_INITIAL; + if (cin_iselse(theline)) + lookfor = LOOKFOR_IF; +! else if (cin_iswhileofdo(theline, cur_curpos.lnum, +! curbuf->b_ind_maxparen)) /* XXX */ + lookfor = LOOKFOR_DO; + if (lookfor != LOOKFOR_INITIAL) + { + curwin->w_cursor.lnum = cur_curpos.lnum; +! if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) == OK) + { + amount = get_indent(); /* XXX */ + goto theend; +*************** +*** 7547,7558 **** + /* + * if the '{' is _really_ at the left margin, use the imaginary + * location of a left-margin brace. Otherwise, correct the +! * location for ind_open_extra. + */ + + if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */ + { +! amount = ind_open_left_imag; + lookfor_cpp_namespace = TRUE; + } + else if (start_brace == BRACE_AT_START && +--- 7502,7513 ---- + /* + * if the '{' is _really_ at the left margin, use the imaginary + * location of a left-margin brace. Otherwise, correct the +! * location for b_ind_open_extra. + */ + + if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */ + { +! amount = curbuf->b_ind_open_left_imag; + lookfor_cpp_namespace = TRUE; + } + else if (start_brace == BRACE_AT_START && +*************** +*** 7565,7580 **** + { + if (start_brace == BRACE_AT_END) /* '{' is at end of line */ + { +! amount += ind_open_imag; + + l = skipwhite(ml_get_curline()); + if (cin_is_cpp_namespace(l)) +! amount += ind_cpp_namespace; + } + else + { +! /* Compensate for adding ind_open_extra later. */ +! amount -= ind_open_extra; + if (amount < 0) + amount = 0; + } +--- 7520,7535 ---- + { + if (start_brace == BRACE_AT_END) /* '{' is at end of line */ + { +! amount += curbuf->b_ind_open_imag; + + l = skipwhite(ml_get_curline()); + if (cin_is_cpp_namespace(l)) +! amount += curbuf->b_ind_cpp_namespace; + } + else + { +! /* Compensate for adding b_ind_open_extra later. */ +! amount -= curbuf->b_ind_open_extra; + if (amount < 0) + amount = 0; + } +*************** +*** 7585,7604 **** + if (cin_iscase(theline, FALSE)) /* it's a switch() label */ + { + lookfor = LOOKFOR_CASE; /* find a previous switch() label */ +! amount += ind_case; + } + else if (cin_isscopedecl(theline)) /* private:, ... */ + { + lookfor = LOOKFOR_SCOPEDECL; /* class decl is this block */ +! amount += ind_scopedecl; + } + else + { +! if (ind_case_break && cin_isbreak(theline)) /* break; ... */ + lookfor_break = TRUE; + + lookfor = LOOKFOR_INITIAL; +! amount += ind_level; /* ind_level from start of block */ + } + scope_amount = amount; + whilelevel = 0; +--- 7540,7561 ---- + if (cin_iscase(theline, FALSE)) /* it's a switch() label */ + { + lookfor = LOOKFOR_CASE; /* find a previous switch() label */ +! amount += curbuf->b_ind_case; + } + else if (cin_isscopedecl(theline)) /* private:, ... */ + { + lookfor = LOOKFOR_SCOPEDECL; /* class decl is this block */ +! amount += curbuf->b_ind_scopedecl; + } + else + { +! if (curbuf->b_ind_case_break && cin_isbreak(theline)) +! /* break; ... */ + lookfor_break = TRUE; + + lookfor = LOOKFOR_INITIAL; +! /* b_ind_level from start of block */ +! amount += curbuf->b_ind_level; + } + scope_amount = amount; + whilelevel = 0; +*************** +*** 7636,7649 **** + { + if (curwin->w_cursor.lnum == 0 + || curwin->w_cursor.lnum +! < ourscope - ind_maxparen) + { +! /* nothing found (abuse ind_maxparen as limit) +! * assume terminated line (i.e. a variable + * initialization) */ + if (cont_amount > 0) + amount = cont_amount; +! else if (!ind_js) + amount += ind_continuation; + break; + } +--- 7593,7606 ---- + { + if (curwin->w_cursor.lnum == 0 + || curwin->w_cursor.lnum +! < ourscope - curbuf->b_ind_maxparen) + { +! /* nothing found (abuse curbuf->b_ind_maxparen as +! * limit) assume terminated line (i.e. a variable + * initialization) */ + if (cont_amount > 0) + amount = cont_amount; +! else if (!curbuf->b_ind_js) + amount += ind_continuation; + break; + } +*************** +*** 7654,7660 **** + * If we're in a comment now, skip to the start of the + * comment. + */ +! trypos = find_start_comment(ind_maxcomment); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +--- 7611,7617 ---- + * If we're in a comment now, skip to the start of the + * comment. + */ +! trypos = find_start_comment(curbuf->b_ind_maxcomment); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +*************** +*** 7680,7686 **** + */ + if (start_brace != BRACE_IN_COL0 + || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, +! 0, ind_maxparen, ind_maxcomment)) + { + /* if the line is terminated with another ',' + * it is a continued variable initialization. +--- 7637,7644 ---- + */ + if (start_brace != BRACE_IN_COL0 + || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, +! 0, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) + { + /* if the line is terminated with another ',' + * it is a continued variable initialization. +*************** +*** 7711,7721 **** + */ /* XXX */ + trypos = NULL; + if (find_last_paren(l, '(', ')')) +! trypos = find_match_paren(ind_maxparen, +! ind_maxcomment); + + if (trypos == NULL && find_last_paren(l, '{', '}')) +! trypos = find_start_brace(ind_maxcomment); + + if (trypos != NULL) + { +--- 7669,7681 ---- + */ /* XXX */ + trypos = NULL; + if (find_last_paren(l, '(', ')')) +! trypos = find_match_paren( +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment); + + if (trypos == NULL && find_last_paren(l, '{', '}')) +! trypos = find_start_brace( +! curbuf->b_ind_maxcomment); + + if (trypos != NULL) + { +*************** +*** 7750,7757 **** + amount = scope_amount; + if (theline[0] == '{') + { +! amount += ind_open_extra; +! added_to_amount = ind_open_extra; + } + } + +--- 7710,7717 ---- + amount = scope_amount; + if (theline[0] == '{') + { +! amount += curbuf->b_ind_open_extra; +! added_to_amount = curbuf->b_ind_open_extra; + } + } + +*************** +*** 7773,7779 **** + + /* If we're in a comment now, skip to the start of + * the comment. */ +! trypos = find_start_comment(ind_maxcomment); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +--- 7733,7740 ---- + + /* If we're in a comment now, skip to the start of + * the comment. */ +! trypos = find_start_comment( +! curbuf->b_ind_maxcomment); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +*************** +*** 7788,7794 **** + /* Finally the actual check for "namespace". */ + if (cin_is_cpp_namespace(l)) + { +! amount += ind_cpp_namespace - added_to_amount; + break; + } + +--- 7749,7756 ---- + /* Finally the actual check for "namespace". */ + if (cin_is_cpp_namespace(l)) + { +! amount += curbuf->b_ind_cpp_namespace +! - added_to_amount; + break; + } + +*************** +*** 7802,7808 **** + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +--- 7764,7771 ---- + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) +! != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +*************** +*** 7856,7863 **** + * Check that this case label is not for another + * switch() + */ /* XXX */ +! if ((trypos = find_start_brace(ind_maxcomment)) == +! NULL || trypos->lnum == ourscope) + { + amount = get_indent(); /* XXX */ + break; +--- 7819,7827 ---- + * Check that this case label is not for another + * switch() + */ /* XXX */ +! if ((trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) == NULL +! || trypos->lnum == ourscope) + { + amount = get_indent(); /* XXX */ + break; +*************** +*** 7900,7908 **** + if (l != NULL && cin_is_cinword(l)) + { + if (theline[0] == '{') +! amount += ind_open_extra; + else +! amount += ind_level + ind_no_brace; + } + break; + } +--- 7864,7873 ---- + if (l != NULL && cin_is_cinword(l)) + { + if (theline[0] == '{') +! amount += curbuf->b_ind_open_extra; + else +! amount += curbuf->b_ind_level +! + curbuf->b_ind_no_brace; + } + break; + } +*************** +*** 7916,7923 **** + * -> y = 1; + */ + scope_amount = get_indent() + (iscase /* XXX */ +! ? ind_case_code : ind_scopedecl_code); +! lookfor = ind_case_break ? LOOKFOR_NOBREAK : LOOKFOR_ANY; + continue; + } + +--- 7881,7890 ---- + * -> y = 1; + */ + scope_amount = get_indent() + (iscase /* XXX */ +! ? curbuf->b_ind_case_code +! : curbuf->b_ind_scopedecl_code); +! lookfor = curbuf->b_ind_case_break +! ? LOOKFOR_NOBREAK : LOOKFOR_ANY; + continue; + } + +*************** +*** 7928,7934 **** + if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) + { + if (find_last_paren(l, '{', '}') && (trypos = +! find_start_brace(ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +--- 7895,7901 ---- + if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) + { + if (find_last_paren(l, '{', '}') && (trypos = +! find_start_brace(curbuf->b_ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +*************** +*** 7939,7945 **** + /* + * Ignore jump labels with nothing after them. + */ +! if (!ind_js && cin_islabel(ind_maxcomment)) + { + l = after_label(ml_get_curline()); + if (l == NULL || cin_nocode(l)) +--- 7906,7912 ---- + /* + * Ignore jump labels with nothing after them. + */ +! if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment)) + { + l = after_label(ml_get_curline()); + if (l == NULL || cin_nocode(l)) +*************** +*** 7962,7968 **** + * constructor initialization? + */ /* XXX */ + n = FALSE; +! if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0) + { + n = cin_is_cpp_baseclass(&col); + l = ml_get_curline(); +--- 7929,7935 ---- + * constructor initialization? + */ /* XXX */ + n = FALSE; +! if (lookfor != LOOKFOR_TERM && curbuf->b_ind_cpp_baseclass > 0) + { + n = cin_is_cpp_baseclass(&col); + l = ml_get_curline(); +*************** +*** 7985,7992 **** + } + else + /* XXX */ +! amount = get_baseclass_amount(col, ind_maxparen, +! ind_maxcomment, ind_cpp_baseclass); + break; + } + else if (lookfor == LOOKFOR_CPP_BASECLASS) +--- 7952,7961 ---- + } + else + /* XXX */ +! amount = get_baseclass_amount(col, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment, +! curbuf->b_ind_cpp_baseclass); + break; + } + else if (lookfor == LOOKFOR_CPP_BASECLASS) +*************** +*** 8029,8036 **** + */ + (void)find_last_paren(l, '(', ')'); + trypos = find_match_paren( +! corr_ind_maxparen(ind_maxparen, &cur_curpos), +! ind_maxcomment); + + /* + * If we are looking for ',', we also look for matching +--- 7998,8005 ---- + */ + (void)find_last_paren(l, '(', ')'); + trypos = find_match_paren( +! corr_ind_maxparen(curbuf->b_ind_maxparen, +! &cur_curpos), curbuf->b_ind_maxcomment); + + /* + * If we are looking for ',', we also look for matching +*************** +*** 8038,8044 **** + */ + if (trypos == NULL && terminated == ',' + && find_last_paren(l, '{', '}')) +! trypos = find_start_brace(ind_maxcomment); + + if (trypos != NULL) + { +--- 8007,8013 ---- + */ + if (trypos == NULL && terminated == ',' + && find_last_paren(l, '{', '}')) +! trypos = find_start_brace(curbuf->b_ind_maxcomment); + + if (trypos != NULL) + { +*************** +*** 8081,8089 **** + * Get indent and pointer to text for current line, + * ignoring any jump label. XXX + */ +! if (!ind_js) + cur_amount = skip_label(curwin->w_cursor.lnum, +! &l, ind_maxcomment); + else + cur_amount = get_indent(); + /* +--- 8050,8058 ---- + * Get indent and pointer to text for current line, + * ignoring any jump label. XXX + */ +! if (!curbuf->b_ind_js) + cur_amount = skip_label(curwin->w_cursor.lnum, +! &l, curbuf->b_ind_maxcomment); + else + cur_amount = get_indent(); + /* +*************** +*** 8098,8113 **** + { + amount = cur_amount; + /* +! * Only add ind_open_extra when the current line + * doesn't start with a '{', which must have a match + * in the same line (scope is the same). Probably: + * { 1, 2 }, + * -> { 3, 4 } + */ + if (*skipwhite(l) != '{') +! amount += ind_open_extra; + +! if (ind_cpp_baseclass) + { + /* have to look back, whether it is a cpp base + * class declaration or initialization */ +--- 8067,8082 ---- + { + amount = cur_amount; + /* +! * Only add b_ind_open_extra when the current line + * doesn't start with a '{', which must have a match + * in the same line (scope is the same). Probably: + * { 1, 2 }, + * -> { 3, 4 } + */ + if (*skipwhite(l) != '{') +! amount += curbuf->b_ind_open_extra; + +! if (curbuf->b_ind_cpp_baseclass) + { + /* have to look back, whether it is a cpp base + * class declaration or initialization */ +*************** +*** 8155,8164 **** + */ + amount = cur_amount; + if (theline[0] == '{') +! amount += ind_open_extra; + if (lookfor != LOOKFOR_TERM) + { +! amount += ind_level + ind_no_brace; + break; + } + +--- 8124,8134 ---- + */ + amount = cur_amount; + if (theline[0] == '{') +! amount += curbuf->b_ind_open_extra; + if (lookfor != LOOKFOR_TERM) + { +! amount += curbuf->b_ind_level +! + curbuf->b_ind_no_brace; + break; + } + +*************** +*** 8192,8201 **** + curwin->w_cursor.col = + (colnr_T)(l - ml_get_curline()) + 1; + +! if ((trypos = find_start_brace(ind_maxcomment)) +! == NULL + || find_match(LOOKFOR_IF, trypos->lnum, +! ind_maxparen, ind_maxcomment) == FAIL) + break; + } + } +--- 8162,8172 ---- + curwin->w_cursor.col = + (colnr_T)(l - ml_get_curline()) + 1; + +! if ((trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) == NULL + || find_match(LOOKFOR_IF, trypos->lnum, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) == FAIL) + break; + } + } +*************** +*** 8232,8238 **** + * enumerations/initializations. */ + if (terminated == ',') + { +! if (ind_cpp_baseclass == 0) + break; + + lookfor = LOOKFOR_CPP_BASECLASS; +--- 8203,8209 ---- + * enumerations/initializations. */ + if (terminated == ',') + { +! if (curbuf->b_ind_cpp_baseclass == 0) + break; + + lookfor = LOOKFOR_CPP_BASECLASS; +*************** +*** 8290,8297 **** + * If so: Ignore until the matching "do". + */ + /* XXX */ +! else if (cin_iswhileofdo_end(terminated, ind_maxparen, +! ind_maxcomment)) + { + /* + * Found an unterminated line after a while ();, line up +--- 8261,8268 ---- + * If so: Ignore until the matching "do". + */ + /* XXX */ +! else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) + { + /* + * Found an unterminated line after a while ();, line up +*************** +*** 8315,8321 **** + lookfor = LOOKFOR_TERM; + amount = get_indent(); /* XXX */ + if (theline[0] == '{') +! amount += ind_open_extra; + } + ++whilelevel; + } +--- 8286,8292 ---- + lookfor = LOOKFOR_TERM; + amount = get_indent(); /* XXX */ + if (theline[0] == '{') +! amount += curbuf->b_ind_open_extra; + } + ++whilelevel; + } +*************** +*** 8408,8415 **** + term_again: + l = ml_get_curline(); + if (find_last_paren(l, '(', ')') +! && (trypos = find_match_paren(ind_maxparen, +! ind_maxcomment)) != NULL) + { + /* + * Check if we are on a case label now. This is +--- 8379,8387 ---- + term_again: + l = ml_get_curline(); + if (find_last_paren(l, '(', ')') +! && (trypos = find_match_paren( +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + { + /* + * Check if we are on a case label now. This is +*************** +*** 8436,8456 **** + * stat; + * } + */ +! iscase = (ind_keep_case_label && cin_iscase(l, FALSE)); + + /* + * Get indent and pointer to text for current line, + * ignoring any jump label. + */ + amount = skip_label(curwin->w_cursor.lnum, +! &l, ind_maxcomment); + + if (theline[0] == '{') +! amount += ind_open_extra; +! /* See remark above: "Only add ind_open_extra.." */ + l = skipwhite(l); + if (*l == '{') +! amount -= ind_open_extra; + lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM; + + /* +--- 8408,8429 ---- + * stat; + * } + */ +! iscase = (curbuf->b_ind_keep_case_label +! && cin_iscase(l, FALSE)); + + /* + * Get indent and pointer to text for current line, + * ignoring any jump label. + */ + amount = skip_label(curwin->w_cursor.lnum, +! &l, curbuf->b_ind_maxcomment); + + if (theline[0] == '{') +! amount += curbuf->b_ind_open_extra; +! /* See remark above: "Only add b_ind_open_extra.." */ + l = skipwhite(l); + if (*l == '{') +! amount -= curbuf->b_ind_open_extra; + lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM; + + /* +*************** +*** 8466,8475 **** + && cin_iselse(l) + && whilelevel == 0) + { +! if ((trypos = find_start_brace(ind_maxcomment)) +! == NULL + || find_match(LOOKFOR_IF, trypos->lnum, +! ind_maxparen, ind_maxcomment) == FAIL) + break; + continue; + } +--- 8439,8449 ---- + && cin_iselse(l) + && whilelevel == 0) + { +! if ((trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) == NULL + || find_match(LOOKFOR_IF, trypos->lnum, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) == FAIL) + break; + continue; + } +*************** +*** 8480,8487 **** + */ + l = ml_get_curline(); + if (find_last_paren(l, '{', '}') +! && (trypos = find_start_brace(ind_maxcomment)) +! != NULL) /* XXX */ + { + curwin->w_cursor = *trypos; + /* if not "else {" check for terminated again */ +--- 8454,8461 ---- + */ + l = ml_get_curline(); + if (find_last_paren(l, '{', '}') +! && (trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) != NULL) /* XXX */ + { + curwin->w_cursor = *trypos; + /* if not "else {" check for terminated again */ +*************** +*** 8500,8510 **** + + /* add extra indent for a comment */ + if (cin_iscomment(theline)) +! amount += ind_comment; + + /* subtract extra left-shift for jump labels */ +! if (ind_jump_label > 0 && original_line_islabel) +! amount -= ind_jump_label; + } + + /* +--- 8474,8484 ---- + + /* add extra indent for a comment */ + if (cin_iscomment(theline)) +! amount += curbuf->b_ind_comment; + + /* subtract extra left-shift for jump labels */ +! if (curbuf->b_ind_jump_label > 0 && original_line_islabel) +! amount -= curbuf->b_ind_jump_label; + } + + /* +*************** +*** 8525,8531 **** + + if (theline[0] == '{') + { +! amount = ind_first_open; + } + + /* +--- 8499,8505 ---- + + if (theline[0] == '{') + { +! amount = curbuf->b_ind_first_open; + } + + /* +*************** +*** 8543,8552 **** + && !cin_ends_in(theline, (char_u *)",", NULL) + && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, + cur_curpos.lnum + 1, +! ind_maxparen, ind_maxcomment) + && !cin_isterminated(theline, FALSE, TRUE)) + { +! amount = ind_func_type; + } + else + { +--- 8517,8527 ---- + && !cin_ends_in(theline, (char_u *)",", NULL) + && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, + cur_curpos.lnum + 1, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) + && !cin_isterminated(theline, FALSE, TRUE)) + { +! amount = curbuf->b_ind_func_type; + } + else + { +*************** +*** 8565,8571 **** + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +--- 8540,8547 ---- + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = find_start_comment( +! curbuf->b_ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +*************** +*** 8577,8583 **** + * constructor initialization? + */ /* XXX */ + n = FALSE; +! if (ind_cpp_baseclass != 0 && theline[0] != '{') + { + n = cin_is_cpp_baseclass(&col); + l = ml_get_curline(); +--- 8553,8559 ---- + * constructor initialization? + */ /* XXX */ + n = FALSE; +! if (curbuf->b_ind_cpp_baseclass != 0 && theline[0] != '{') + { + n = cin_is_cpp_baseclass(&col); + l = ml_get_curline(); +*************** +*** 8585,8592 **** + if (n) + { + /* XXX */ +! amount = get_baseclass_amount(col, ind_maxparen, +! ind_maxcomment, ind_cpp_baseclass); + break; + } + +--- 8561,8569 ---- + if (n) + { + /* XXX */ +! amount = get_baseclass_amount(col, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment, +! curbuf->b_ind_cpp_baseclass); + break; + } + +*************** +*** 8617,8624 **** + { + /* take us back to opening paren */ + if (find_last_paren(l, '(', ')') +! && (trypos = find_match_paren(ind_maxparen, +! ind_maxcomment)) != NULL) + curwin->w_cursor = *trypos; + + /* For a line ending in ',' that is a continuation line go +--- 8594,8602 ---- + { + /* take us back to opening paren */ + if (find_last_paren(l, '(', ')') +! && (trypos = find_match_paren( +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + curwin->w_cursor = *trypos; + + /* For a line ending in ',' that is a continuation line go +*************** +*** 8650,8656 **** + * not in a comment, put it the left margin. + */ + if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0, +! ind_maxparen, ind_maxcomment)) /* XXX */ + break; + l = ml_get_curline(); + +--- 8628,8635 ---- + * not in a comment, put it the left margin. + */ + if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) /* XXX */ + break; + l = ml_get_curline(); + +*************** +*** 8699,8707 **** + * parameters. + */ + if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0, +! ind_maxparen, ind_maxcomment)) + { +! amount = ind_param; + break; + } + +--- 8678,8687 ---- + * parameters. + */ + if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) + { +! amount = curbuf->b_ind_param; + break; + } + +*************** +*** 8730,8737 **** + */ + find_last_paren(l, '(', ')'); + +! if ((trypos = find_match_paren(ind_maxparen, +! ind_maxcomment)) != NULL) + curwin->w_cursor = *trypos; + amount = get_indent(); /* XXX */ + break; +--- 8710,8717 ---- + */ + find_last_paren(l, '(', ')'); + +! if ((trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + curwin->w_cursor = *trypos; + amount = get_indent(); /* XXX */ + break; +*************** +*** 8739,8745 **** + + /* add extra indent for a comment */ + if (cin_iscomment(theline)) +! amount += ind_comment; + + /* add extra indent if the previous line ended in a backslash: + * "asdfasdf\ +--- 8719,8725 ---- + + /* add extra indent for a comment */ + if (cin_iscomment(theline)) +! amount += curbuf->b_ind_comment; + + /* add extra indent if the previous line ended in a backslash: + * "asdfasdf\ +*** ../vim-7.4.068/src/ops.c 2013-11-04 01:41:11.000000000 +0100 +--- src/ops.c 2013-11-05 06:13:27.000000000 +0100 +*************** +*** 336,342 **** + { + int count; + int i, j; +! int p_sw = (int)get_sw_value(); + + count = get_indent(); /* get current indent */ + +--- 336,342 ---- + { + int count; + int i, j; +! int p_sw = (int)get_sw_value(curbuf); + + count = get_indent(); /* get current indent */ + +*************** +*** 392,398 **** + int total; + char_u *newp, *oldp; + int oldcol = curwin->w_cursor.col; +! int p_sw = (int)get_sw_value(); + int p_ts = (int)curbuf->b_p_ts; + struct block_def bd; + int incr; +--- 392,398 ---- + int total; + char_u *newp, *oldp; + int oldcol = curwin->w_cursor.col; +! int p_sw = (int)get_sw_value(curbuf); + int p_ts = (int)curbuf->b_p_ts; + struct block_def bd; + int incr; +*************** +*** 4046,4052 **** + # endif + # endif + # ifdef FEAT_CINDENT +! (curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE)) + # endif + ; + } +--- 4046,4053 ---- + # endif + # endif + # ifdef FEAT_CINDENT +! (curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE) +! && curbuf->b_ind_hash_comment == 0) + # endif + ; + } +*** ../vim-7.4.068/src/proto/misc1.pro 2013-11-04 02:53:46.000000000 +0100 +--- src/proto/misc1.pro 2013-11-05 06:08:46.000000000 +0100 +*************** +*** 84,89 **** +--- 84,90 ---- + int cin_islabel __ARGS((int ind_maxcomment)); + int cin_iscase __ARGS((char_u *s, int strict)); + int cin_isscopedecl __ARGS((char_u *s)); ++ void parse_cino __ARGS((buf_T *buf)); + int get_c_indent __ARGS((void)); + int get_expr_indent __ARGS((void)); + int get_lisp_indent __ARGS((void)); +*** ../vim-7.4.068/src/proto/option.pro 2013-08-10 13:37:22.000000000 +0200 +--- src/proto/option.pro 2013-11-05 06:14:46.000000000 +0100 +*************** +*** 59,65 **** + void save_file_ff __ARGS((buf_T *buf)); + int file_ff_differs __ARGS((buf_T *buf, int ignore_empty)); + int check_ff_value __ARGS((char_u *p)); +! long get_sw_value __ARGS((void)); + long get_sts_value __ARGS((void)); + void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit)); + /* vim: set ft=c : */ +--- 59,65 ---- + void save_file_ff __ARGS((buf_T *buf)); + int file_ff_differs __ARGS((buf_T *buf, int ignore_empty)); + int check_ff_value __ARGS((char_u *p)); +! long get_sw_value __ARGS((buf_T *buf)); + long get_sts_value __ARGS((void)); + void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit)); + /* vim: set ft=c : */ +*** ../vim-7.4.068/src/structs.h 2013-07-03 15:35:59.000000000 +0200 +--- src/structs.h 2013-11-05 05:08:26.000000000 +0100 +*************** +*** 1633,1638 **** +--- 1633,1677 ---- + + /* end of buffer options */ + ++ #ifdef FEAT_CINDENT ++ /* values set from b_p_cino */ ++ int b_ind_level; ++ int b_ind_open_imag; ++ int b_ind_no_brace; ++ int b_ind_first_open; ++ int b_ind_open_extra; ++ int b_ind_close_extra; ++ int b_ind_open_left_imag; ++ int b_ind_jump_label; ++ int b_ind_case; ++ int b_ind_case_code; ++ int b_ind_case_break; ++ int b_ind_param; ++ int b_ind_func_type; ++ int b_ind_comment; ++ int b_ind_in_comment; ++ int b_ind_in_comment2; ++ int b_ind_cpp_baseclass; ++ int b_ind_continuation; ++ int b_ind_unclosed; ++ int b_ind_unclosed2; ++ int b_ind_unclosed_noignore; ++ int b_ind_unclosed_wrapped; ++ int b_ind_unclosed_whiteok; ++ int b_ind_matching_paren; ++ int b_ind_paren_prev; ++ int b_ind_maxparen; ++ int b_ind_maxcomment; ++ int b_ind_scopedecl; ++ int b_ind_scopedecl_code; ++ int b_ind_java; ++ int b_ind_js; ++ int b_ind_keep_case_label; ++ int b_ind_hash_comment; ++ int b_ind_cpp_namespace; ++ int b_ind_if_for_while; ++ #endif ++ + linenr_T b_no_eol_lnum; /* non-zero lnum when last line of next binary + * write should not have an end-of-line */ + +*** ../vim-7.4.068/src/option.c 2013-07-17 21:39:13.000000000 +0200 +--- src/option.c 2013-11-05 06:58:04.000000000 +0100 +*************** +*** 5372,5377 **** +--- 5372,5378 ---- + #ifdef FEAT_CINDENT + check_string_option(&buf->b_p_cink); + check_string_option(&buf->b_p_cino); ++ parse_cino(buf); + #endif + #ifdef FEAT_AUTOCMD + check_string_option(&buf->b_p_ft); +*************** +*** 6990,6995 **** +--- 6991,7005 ---- + } + #endif + ++ #ifdef FEAT_CINDENT ++ /* 'cinoptions' */ ++ else if (gvarp == &p_cino) ++ { ++ /* TODO: recognize errors */ ++ parse_cino(curbuf); ++ } ++ #endif ++ + /* Options that are a list of flags. */ + else + { +*************** +*** 8338,8351 **** + curwin->w_p_fdc = 12; + } + } + + /* 'shiftwidth' or 'tabstop' */ + else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts) + { + if (foldmethodIsIndent(curwin)) + foldUpdateAll(curwin); + } +! #endif /* FEAT_FOLDING */ + + #ifdef FEAT_MBYTE + /* 'maxcombine' */ +--- 8348,8371 ---- + curwin->w_p_fdc = 12; + } + } ++ #endif /* FEAT_FOLDING */ + ++ #if defined(FEAT_FOLDING) || defined(FEAT_CINDENT) + /* 'shiftwidth' or 'tabstop' */ + else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts) + { ++ # ifdef FEAT_FOLDING + if (foldmethodIsIndent(curwin)) + foldUpdateAll(curwin); ++ # endif ++ # ifdef FEAT_CINDENT ++ /* When 'shiftwidth' changes, or it's zero and 'tabstop' changes: ++ * parse 'cinoptions'. */ ++ if (pp == &curbuf->b_p_sw || curbuf->b_p_sw == 0) ++ parse_cino(curbuf); ++ # endif + } +! #endif + + #ifdef FEAT_MBYTE + /* 'maxcombine' */ +*************** +*** 11729,11737 **** + * 'tabstop' value when 'shiftwidth' is zero. + */ + long +! get_sw_value() + { +! return curbuf->b_p_sw ? curbuf->b_p_sw : curbuf->b_p_ts; + } + + /* +--- 11749,11758 ---- + * 'tabstop' value when 'shiftwidth' is zero. + */ + long +! get_sw_value(buf) +! buf_T *buf; + { +! return buf->b_p_sw ? buf->b_p_sw : buf->b_p_ts; + } + + /* +*************** +*** 11741,11747 **** + long + get_sts_value() + { +! return curbuf->b_p_sts < 0 ? get_sw_value() : curbuf->b_p_sts; + } + + /* +--- 11762,11768 ---- + long + get_sts_value() + { +! return curbuf->b_p_sts < 0 ? get_sw_value(curbuf) : curbuf->b_p_sts; + } + + /* +*** ../vim-7.4.068/src/version.c 2013-11-04 04:57:46.000000000 +0100 +--- src/version.c 2013-11-05 04:55:36.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 69, + /**/ + +-- +A special cleaning ordinance bans housewives from hiding dirt and dust under a +rug in a dwelling. + [real standing law in Pennsylvania, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.070 b/patches/source/vim/patches/7.4.070 new file mode 100644 index 000000000..749b7445b --- /dev/null +++ b/patches/source/vim/patches/7.4.070 @@ -0,0 +1,47 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.070 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.070 (after 7.4.069) +Problem: Can't compile with tiny features. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/buffer.c + + +*** ../vim-7.4.069/src/buffer.c 2013-11-05 07:12:59.000000000 +0100 +--- src/buffer.c 2013-11-05 17:37:27.000000000 +0100 +*************** +*** 213,219 **** +--- 213,221 ---- + if (curbuf->b_flags & BF_NEVERLOADED) + { + (void)buf_init_chartab(curbuf, FALSE); ++ #ifdef FEAT_CINDENT + parse_cino(curbuf); ++ #endif + } + + /* +*** ../vim-7.4.069/src/version.c 2013-11-05 07:12:59.000000000 +0100 +--- src/version.c 2013-11-05 17:38:56.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 70, + /**/ + +-- +No man may purchase alcohol without written consent from his wife. + [real standing law in Pennsylvania, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.071 b/patches/source/vim/patches/7.4.071 new file mode 100644 index 000000000..71b2984e5 --- /dev/null +++ b/patches/source/vim/patches/7.4.071 @@ -0,0 +1,1302 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.071 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.071 (after 7.4.069) +Problem: Passing limits around too often. +Solution: Use limits from buffer. +Files: src/edit.c, src/misc1.c, src/proto/misc1.pro + + +*** ../vim-7.4.070/src/edit.c 2013-11-05 07:12:59.000000000 +0100 +--- src/edit.c 2013-11-06 03:19:10.000000000 +0100 +*************** +*** 7857,7864 **** + if (try_match && keytyped == ':') + { + p = ml_get_curline(); +! if (cin_iscase(p, FALSE) || cin_isscopedecl(p) +! || cin_islabel(30)) + return TRUE; + /* Need to get the line again after cin_islabel(). */ + p = ml_get_curline(); +--- 7857,7863 ---- + if (try_match && keytyped == ':') + { + p = ml_get_curline(); +! if (cin_iscase(p, FALSE) || cin_isscopedecl(p) || cin_islabel()) + return TRUE; + /* Need to get the line again after cin_islabel(). */ + p = ml_get_curline(); +*************** +*** 7868,7874 **** + { + p[curwin->w_cursor.col - 1] = ' '; + i = (cin_iscase(p, FALSE) || cin_isscopedecl(p) +! || cin_islabel(30)); + p = ml_get_curline(); + p[curwin->w_cursor.col - 1] = ':'; + if (i) +--- 7867,7873 ---- + { + p[curwin->w_cursor.col - 1] = ' '; + i = (cin_iscase(p, FALSE) || cin_isscopedecl(p) +! || cin_islabel()); + p = ml_get_curline(); + p[curwin->w_cursor.col - 1] = ':'; + if (i) +*** ../vim-7.4.070/src/misc1.c 2013-11-05 07:12:59.000000000 +0100 +--- src/misc1.c 2013-11-06 03:46:59.000000000 +0100 +*************** +*** 5191,5201 **** +--- 5191,5208 ---- + #if defined(FEAT_CINDENT) || defined(FEAT_SYN_HL) + + static char_u *skip_string __ARGS((char_u *p)); ++ static pos_T *ind_find_start_comment __ARGS((void)); + + /* + * Find the start of a comment, not knowing if we are in a comment right now. + * Search starts at w_cursor.lnum and goes backwards. + */ ++ static pos_T * ++ ind_find_start_comment() /* XXX */ ++ { ++ return find_start_comment(curbuf->b_ind_maxcomment); ++ } ++ + pos_T * + find_start_comment(ind_maxcomment) /* XXX */ + int ind_maxcomment; +*************** +*** 5313,5319 **** + static int cin_isdefault __ARGS((char_u *)); + static char_u *after_label __ARGS((char_u *l)); + static int get_indent_nolabel __ARGS((linenr_T lnum)); +! static int skip_label __ARGS((linenr_T, char_u **pp, int ind_maxcomment)); + static int cin_first_id_amount __ARGS((void)); + static int cin_get_equal_amount __ARGS((linenr_T lnum)); + static int cin_ispreproc __ARGS((char_u *)); +--- 5320,5326 ---- + static int cin_isdefault __ARGS((char_u *)); + static char_u *after_label __ARGS((char_u *l)); + static int get_indent_nolabel __ARGS((linenr_T lnum)); +! static int skip_label __ARGS((linenr_T, char_u **pp)); + static int cin_first_id_amount __ARGS((void)); + static int cin_get_equal_amount __ARGS((linenr_T lnum)); + static int cin_ispreproc __ARGS((char_u *)); +*************** +*** 5322,5345 **** + static int cin_islinecomment __ARGS((char_u *)); + static int cin_isterminated __ARGS((char_u *, int, int)); + static int cin_isinit __ARGS((void)); +! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T, int, int)); + static int cin_isif __ARGS((char_u *)); + static int cin_iselse __ARGS((char_u *)); + static int cin_isdo __ARGS((char_u *)); +! static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int)); + static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset)); +! static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment)); + static int cin_isbreak __ARGS((char_u *)); + static int cin_is_cpp_baseclass __ARGS((colnr_T *col)); +! static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass)); + static int cin_ends_in __ARGS((char_u *, char_u *, char_u *)); + static int cin_starts_with __ARGS((char_u *s, char *word)); + static int cin_skip2pos __ARGS((pos_T *trypos)); +! static pos_T *find_start_brace __ARGS((int)); +! static pos_T *find_match_paren __ARGS((int, int)); +! static int corr_ind_maxparen __ARGS((int ind_maxparen, pos_T *startpos)); + static int find_last_paren __ARGS((char_u *l, int start, int end)); +! static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment)); + static int cin_is_cpp_namespace __ARGS((char_u *)); + + /* +--- 5329,5352 ---- + static int cin_islinecomment __ARGS((char_u *)); + static int cin_isterminated __ARGS((char_u *, int, int)); + static int cin_isinit __ARGS((void)); +! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T)); + static int cin_isif __ARGS((char_u *)); + static int cin_iselse __ARGS((char_u *)); + static int cin_isdo __ARGS((char_u *)); +! static int cin_iswhileofdo __ARGS((char_u *, linenr_T)); + static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset)); +! static int cin_iswhileofdo_end __ARGS((int terminated)); + static int cin_isbreak __ARGS((char_u *)); + static int cin_is_cpp_baseclass __ARGS((colnr_T *col)); +! static int get_baseclass_amount __ARGS((int col)); + static int cin_ends_in __ARGS((char_u *, char_u *, char_u *)); + static int cin_starts_with __ARGS((char_u *s, char *word)); + static int cin_skip2pos __ARGS((pos_T *trypos)); +! static pos_T *find_start_brace __ARGS((void)); +! static pos_T *find_match_paren __ARGS((int)); +! static int corr_ind_maxparen __ARGS((pos_T *startpos)); + static int find_last_paren __ARGS((char_u *l, int start, int end)); +! static int find_match __ARGS((int lookfor, linenr_T ourscope)); + static int cin_is_cpp_namespace __ARGS((char_u *)); + + /* +*************** +*** 5444,5451 **** + * Note: curwin->w_cursor must be where we are looking for the label. + */ + int +! cin_islabel(ind_maxcomment) /* XXX */ +! int ind_maxcomment; + { + char_u *s; + +--- 5451,5457 ---- + * Note: curwin->w_cursor must be where we are looking for the label. + */ + int +! cin_islabel() /* XXX */ + { + char_u *s; + +*************** +*** 5479,5485 **** + * If we're in a comment now, skip to the start of the comment. + */ + curwin->w_cursor.col = 0; +! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */ + curwin->w_cursor = *trypos; + + line = ml_get_curline(); +--- 5485,5491 ---- + * If we're in a comment now, skip to the start of the comment. + */ + curwin->w_cursor.col = 0; +! if ((trypos = ind_find_start_comment()) != NULL) /* XXX */ + curwin->w_cursor = *trypos; + + line = ml_get_curline(); +*************** +*** 5725,5734 **** + * ^ + */ + static int +! skip_label(lnum, pp, ind_maxcomment) + linenr_T lnum; + char_u **pp; +- int ind_maxcomment; + { + char_u *l; + int amount; +--- 5731,5739 ---- + * ^ + */ + static int +! skip_label(lnum, pp) + linenr_T lnum; + char_u **pp; + { + char_u *l; + int amount; +*************** +*** 5738,5745 **** + curwin->w_cursor.lnum = lnum; + l = ml_get_curline(); + /* XXX */ +! if (cin_iscase(l, FALSE) || cin_isscopedecl(l) +! || cin_islabel(ind_maxcomment)) + { + amount = get_indent_nolabel(lnum); + l = after_label(ml_get_curline()); +--- 5743,5749 ---- + curwin->w_cursor.lnum = lnum; + l = ml_get_curline(); + /* XXX */ +! if (cin_iscase(l, FALSE) || cin_isscopedecl(l) || cin_islabel()) + { + amount = get_indent_nolabel(lnum); + l = after_label(ml_get_curline()); +*************** +*** 5983,5994 **** + * "min_lnum" is the line before which we will not be looking. + */ + static int +! cin_isfuncdecl(sp, first_lnum, min_lnum, ind_maxparen, ind_maxcomment) + char_u **sp; + linenr_T first_lnum; + linenr_T min_lnum; +- int ind_maxparen; +- int ind_maxcomment; + { + char_u *s; + linenr_T lnum = first_lnum; +--- 5987,5996 ---- + * "min_lnum" is the line before which we will not be looking. + */ + static int +! cin_isfuncdecl(sp, first_lnum, min_lnum) + char_u **sp; + linenr_T first_lnum; + linenr_T min_lnum; + { + char_u *s; + linenr_T lnum = first_lnum; +*************** +*** 6002,6008 **** + s = *sp; + + if (find_last_paren(s, '(', ')') +! && (trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL) + { + lnum = trypos->lnum; + if (lnum < min_lnum) +--- 6004,6010 ---- + s = *sp; + + if (find_last_paren(s, '(', ')') +! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) + { + lnum = trypos->lnum; + if (lnum < min_lnum) +*************** +*** 6110,6119 **** + * ')' and ';'. The condition may be spread over several lines. + */ + static int +! cin_iswhileofdo(p, lnum, ind_maxparen) /* XXX */ + char_u *p; + linenr_T lnum; +- int ind_maxparen; + { + pos_T cursor_save; + pos_T *trypos; +--- 6112,6120 ---- + * ')' and ';'. The condition may be spread over several lines. + */ + static int +! cin_iswhileofdo(p, lnum) /* XXX */ + char_u *p; + linenr_T lnum; + { + pos_T cursor_save; + pos_T *trypos; +*************** +*** 6133,6139 **** + ++p; + ++curwin->w_cursor.col; + } +! if ((trypos = findmatchlimit(NULL, 0, 0, ind_maxparen)) != NULL + && *cin_skipcomment(ml_get_pos(trypos) + 1) == ';') + retval = TRUE; + curwin->w_cursor = cursor_save; +--- 6134,6141 ---- + ++p; + ++curwin->w_cursor.col; + } +! if ((trypos = findmatchlimit(NULL, 0, 0, +! curbuf->b_ind_maxparen)) != NULL + && *cin_skipcomment(ml_get_pos(trypos) + 1) == ';') + retval = TRUE; + curwin->w_cursor = cursor_save; +*************** +*** 6196,6205 **** + * Adjust the cursor to the line with "while". + */ + static int +! cin_iswhileofdo_end(terminated, ind_maxparen, ind_maxcomment) + int terminated; +- int ind_maxparen; +- int ind_maxcomment; + { + char_u *line; + char_u *p; +--- 6198,6205 ---- + * Adjust the cursor to the line with "while". + */ + static int +! cin_iswhileofdo_end(terminated) + int terminated; + { + char_u *line; + char_u *p; +*************** +*** 6223,6229 **** + * before the matching '('. XXX */ + i = (int)(p - line); + curwin->w_cursor.col = i; +! trypos = find_match_paren(ind_maxparen, ind_maxcomment); + if (trypos != NULL) + { + s = cin_skipcomment(ml_get(trypos->lnum)); +--- 6223,6229 ---- + * before the matching '('. XXX */ + i = (int)(p - line); + curwin->w_cursor.col = i; +! trypos = find_match_paren(curbuf->b_ind_maxparen); + if (trypos != NULL) + { + s = cin_skipcomment(ml_get(trypos->lnum)); +*************** +*** 6415,6425 **** + } + + static int +! get_baseclass_amount(col, ind_maxparen, ind_maxcomment, ind_cpp_baseclass) + int col; +- int ind_maxparen; +- int ind_maxcomment; +- int ind_cpp_baseclass; + { + int amount; + colnr_T vcol; +--- 6415,6422 ---- + } + + static int +! get_baseclass_amount(col) + int col; + { + int amount; + colnr_T vcol; +*************** +*** 6429,6439 **** + { + amount = get_indent(); + if (find_last_paren(ml_get_curline(), '(', ')') +! && (trypos = find_match_paren(ind_maxparen, +! ind_maxcomment)) != NULL) + amount = get_indent_lnum(trypos->lnum); /* XXX */ + if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL)) +! amount += ind_cpp_baseclass; + } + else + { +--- 6426,6435 ---- + { + amount = get_indent(); + if (find_last_paren(ml_get_curline(), '(', ')') +! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) + amount = get_indent_lnum(trypos->lnum); /* XXX */ + if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL)) +! amount += curbuf->b_ind_cpp_baseclass; + } + else + { +*************** +*** 6441,6448 **** + getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL); + amount = (int)vcol; + } +! if (amount < ind_cpp_baseclass) +! amount = ind_cpp_baseclass; + return amount; + } + +--- 6437,6444 ---- + getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL); + amount = (int)vcol; + } +! if (amount < curbuf->b_ind_cpp_baseclass) +! amount = curbuf->b_ind_cpp_baseclass; + return amount; + } + +*************** +*** 6526,6533 **** + /* } */ + + static pos_T * +! find_start_brace(ind_maxcomment) /* XXX */ +! int ind_maxcomment; + { + pos_T cursor_save; + pos_T *trypos; +--- 6522,6528 ---- + /* } */ + + static pos_T * +! find_start_brace() /* XXX */ + { + pos_T cursor_save; + pos_T *trypos; +*************** +*** 6543,6549 **** + pos = NULL; + /* ignore the { if it's in a // or / * * / comment */ + if ((colnr_T)cin_skip2pos(trypos) == trypos->col +! && (pos = find_start_comment(ind_maxcomment)) == NULL) /* XXX */ + break; + if (pos != NULL) + curwin->w_cursor.lnum = pos->lnum; +--- 6538,6544 ---- + pos = NULL; + /* ignore the { if it's in a // or / * * / comment */ + if ((colnr_T)cin_skip2pos(trypos) == trypos->col +! && (pos = ind_find_start_comment()) == NULL) /* XXX */ + break; + if (pos != NULL) + curwin->w_cursor.lnum = pos->lnum; +*************** +*** 6557,6565 **** + * Return NULL if no match found. + */ + static pos_T * +! find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */ + int ind_maxparen; +- int ind_maxcomment; + { + pos_T cursor_save; + pos_T *trypos; +--- 6552,6559 ---- + * Return NULL if no match found. + */ + static pos_T * +! find_match_paren(ind_maxparen) /* XXX */ + int ind_maxparen; + { + pos_T cursor_save; + pos_T *trypos; +*************** +*** 6576,6582 **** + pos_copy = *trypos; /* copy trypos, findmatch will change it */ + trypos = &pos_copy; + curwin->w_cursor = *trypos; +! if (find_start_comment(ind_maxcomment) != NULL) /* XXX */ + trypos = NULL; + } + } +--- 6570,6576 ---- + pos_copy = *trypos; /* copy trypos, findmatch will change it */ + trypos = &pos_copy; + curwin->w_cursor = *trypos; +! if (ind_find_start_comment() != NULL) /* XXX */ + trypos = NULL; + } + } +*************** +*** 6591,6605 **** + * looking a few lines further. + */ + static int +! corr_ind_maxparen(ind_maxparen, startpos) +! int ind_maxparen; + pos_T *startpos; + { + long n = (long)startpos->lnum - (long)curwin->w_cursor.lnum; + +! if (n > 0 && n < ind_maxparen / 2) +! return ind_maxparen - (int)n; +! return ind_maxparen; + } + + /* +--- 6585,6598 ---- + * looking a few lines further. + */ + static int +! corr_ind_maxparen(startpos) + pos_T *startpos; + { + long n = (long)startpos->lnum - (long)curwin->w_cursor.lnum; + +! if (n > 0 && n < curbuf->b_ind_maxparen / 2) +! return curbuf->b_ind_maxparen - (int)n; +! return curbuf->b_ind_maxparen; + } + + /* +*************** +*** 6937,6943 **** + + curwin->w_cursor.col = 0; + +! original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment); /* XXX */ + + /* + * #defines and so on always go at the left when included in 'cinkeys'. +--- 6930,6936 ---- + + curwin->w_cursor.col = 0; + +! original_line_islabel = cin_islabel(); /* XXX */ + + /* + * #defines and so on always go at the left when included in 'cinkeys'. +*************** +*** 6973,6979 **** + * comment, try using the 'comments' option. + */ + else if (!cin_iscomment(theline) +! && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL) + /* XXX */ + { + int lead_start_len = 2; +--- 6966,6972 ---- + * comment, try using the 'comments' option. + */ + else if (!cin_iscomment(theline) +! && (trypos = ind_find_start_comment()) != NULL) + /* XXX */ + { + int lead_start_len = 2; +*************** +*** 7126,7136 **** + /* + * Are we inside parentheses or braces? + */ /* XXX */ +! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL + && curbuf->b_ind_java == 0) +! || (tryposBrace = +! find_start_brace(curbuf->b_ind_maxcomment)) != NULL + || trypos != NULL) + { + if (trypos != NULL && tryposBrace != NULL) +--- 7119,7127 ---- + /* + * Are we inside parentheses or braces? + */ /* XXX */ +! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL + && curbuf->b_ind_java == 0) +! || (tryposBrace = find_start_brace()) != NULL + || trypos != NULL) + { + if (trypos != NULL && tryposBrace != NULL) +*************** +*** 7170,7177 **** + curwin->w_cursor.lnum = lnum; + + /* Skip a comment. XXX */ +! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) +! != NULL) + { + lnum = trypos->lnum + 1; + continue; +--- 7161,7167 ---- + curwin->w_cursor.lnum = lnum; + + /* Skip a comment. XXX */ +! if ((trypos = ind_find_start_comment()) != NULL) + { + lnum = trypos->lnum + 1; + continue; +*************** +*** 7179,7186 **** + + /* XXX */ + if ((trypos = find_match_paren( +! corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos), +! curbuf->b_ind_maxcomment)) != NULL + && trypos->lnum == our_paren_pos.lnum + && trypos->col == our_paren_pos.col) + { +--- 7169,7175 ---- + + /* XXX */ + if ((trypos = find_match_paren( +! corr_ind_maxparen(&cur_curpos))) != NULL + && trypos->lnum == our_paren_pos.lnum + && trypos->col == our_paren_pos.col) + { +*************** +*** 7223,7230 **** + curwin->w_cursor.lnum = outermost.lnum; + curwin->w_cursor.col = outermost.col; + +! trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment); + } while (trypos && trypos->lnum == outermost.lnum); + + curwin->w_cursor = cursor_save; +--- 7212,7218 ---- + curwin->w_cursor.lnum = outermost.lnum; + curwin->w_cursor.col = outermost.col; + +! trypos = find_match_paren(curbuf->b_ind_maxparen); + } while (trypos && trypos->lnum == outermost.lnum); + + curwin->w_cursor = cursor_save; +*************** +*** 7235,7242 **** + cin_is_if_for_while_before_offset(line, &outermost.col); + } + +! amount = skip_label(our_paren_pos.lnum, &look, +! curbuf->b_ind_maxcomment); + look = skipwhite(look); + if (*look == '(') + { +--- 7223,7229 ---- + cin_is_if_for_while_before_offset(line, &outermost.col); + } + +! amount = skip_label(our_paren_pos.lnum, &look); + look = skipwhite(look); + if (*look == '(') + { +*************** +*** 7366,7373 **** + { + curwin->w_cursor.lnum = our_paren_pos.lnum; + curwin->w_cursor.col = col; +! if (find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) != NULL) + amount += curbuf->b_ind_unclosed2; + else + { +--- 7353,7359 ---- + { + curwin->w_cursor.lnum = our_paren_pos.lnum; + curwin->w_cursor.col = col; +! if (find_match_paren(curbuf->b_ind_maxparen) != NULL) + amount += curbuf->b_ind_unclosed2; + else + { +*************** +*** 7435,7442 **** + */ + lnum = ourscope; + if (find_last_paren(start, '(', ')') +! && (trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + lnum = trypos->lnum; + + /* +--- 7421,7428 ---- + */ + lnum = ourscope; + if (find_last_paren(start, '(', ')') +! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) +! != NULL) + lnum = trypos->lnum; + + /* +*************** +*** 7449,7455 **** + && cin_iscase(skipwhite(ml_get_curline()), FALSE))) + amount = get_indent(); + else +! amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment); + + start_brace = BRACE_AT_END; + } +--- 7435,7441 ---- + && cin_iscase(skipwhite(ml_get_curline()), FALSE))) + amount = get_indent(); + else +! amount = skip_label(lnum, &l); + + start_brace = BRACE_AT_END; + } +*************** +*** 7478,7491 **** + lookfor = LOOKFOR_INITIAL; + if (cin_iselse(theline)) + lookfor = LOOKFOR_IF; +! else if (cin_iswhileofdo(theline, cur_curpos.lnum, +! curbuf->b_ind_maxparen)) /* XXX */ + lookfor = LOOKFOR_DO; + if (lookfor != LOOKFOR_INITIAL) + { + curwin->w_cursor.lnum = cur_curpos.lnum; +! if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) == OK) + { + amount = get_indent(); /* XXX */ + goto theend; +--- 7464,7475 ---- + lookfor = LOOKFOR_INITIAL; + if (cin_iselse(theline)) + lookfor = LOOKFOR_IF; +! else if (cin_iswhileofdo(theline, cur_curpos.lnum)) /* XXX */ + lookfor = LOOKFOR_DO; + if (lookfor != LOOKFOR_INITIAL) + { + curwin->w_cursor.lnum = cur_curpos.lnum; +! if (find_match(lookfor, ourscope) == OK) + { + amount = get_indent(); /* XXX */ + goto theend; +*************** +*** 7611,7617 **** + * If we're in a comment now, skip to the start of the + * comment. + */ +! trypos = find_start_comment(curbuf->b_ind_maxcomment); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +--- 7595,7601 ---- + * If we're in a comment now, skip to the start of the + * comment. + */ +! trypos = ind_find_start_comment(); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +*************** +*** 7636,7644 **** + * (it's a variable declaration). + */ + if (start_brace != BRACE_IN_COL0 +! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, +! 0, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) + { + /* if the line is terminated with another ',' + * it is a continued variable initialization. +--- 7620,7626 ---- + * (it's a variable declaration). + */ + if (start_brace != BRACE_IN_COL0 +! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0)) + { + /* if the line is terminated with another ',' + * it is a continued variable initialization. +*************** +*** 7670,7681 **** + trypos = NULL; + if (find_last_paren(l, '(', ')')) + trypos = find_match_paren( +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment); + + if (trypos == NULL && find_last_paren(l, '{', '}')) +! trypos = find_start_brace( +! curbuf->b_ind_maxcomment); + + if (trypos != NULL) + { +--- 7652,7661 ---- + trypos = NULL; + if (find_last_paren(l, '(', ')')) + trypos = find_match_paren( +! curbuf->b_ind_maxparen); + + if (trypos == NULL && find_last_paren(l, '{', '}')) +! trypos = find_start_brace(); + + if (trypos != NULL) + { +*************** +*** 7733,7740 **** + + /* If we're in a comment now, skip to the start of + * the comment. */ +! trypos = find_start_comment( +! curbuf->b_ind_maxcomment); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +--- 7713,7719 ---- + + /* If we're in a comment now, skip to the start of + * the comment. */ +! trypos = ind_find_start_comment(); + if (trypos != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; +*************** +*** 7764,7771 **** + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment)) +! != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +--- 7743,7749 ---- + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = ind_find_start_comment()) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +*************** +*** 7819,7826 **** + * Check that this case label is not for another + * switch() + */ /* XXX */ +! if ((trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) == NULL + || trypos->lnum == ourscope) + { + amount = get_indent(); /* XXX */ +--- 7797,7803 ---- + * Check that this case label is not for another + * switch() + */ /* XXX */ +! if ((trypos = find_start_brace()) == NULL + || trypos->lnum == ourscope) + { + amount = get_indent(); /* XXX */ +*************** +*** 7894,7901 **** + */ + if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) + { +! if (find_last_paren(l, '{', '}') && (trypos = +! find_start_brace(curbuf->b_ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +--- 7871,7878 ---- + */ + if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL) + { +! if (find_last_paren(l, '{', '}') +! && (trypos = find_start_brace()) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +*************** +*** 7906,7912 **** + /* + * Ignore jump labels with nothing after them. + */ +! if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment)) + { + l = after_label(ml_get_curline()); + if (l == NULL || cin_nocode(l)) +--- 7883,7889 ---- + /* + * Ignore jump labels with nothing after them. + */ +! if (!curbuf->b_ind_js && cin_islabel()) + { + l = after_label(ml_get_curline()); + if (l == NULL || cin_nocode(l)) +*************** +*** 7952,7961 **** + } + else + /* XXX */ +! amount = get_baseclass_amount(col, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment, +! curbuf->b_ind_cpp_baseclass); + break; + } + else if (lookfor == LOOKFOR_CPP_BASECLASS) +--- 7929,7935 ---- + } + else + /* XXX */ +! amount = get_baseclass_amount(col); + break; + } + else if (lookfor == LOOKFOR_CPP_BASECLASS) +*************** +*** 7997,8005 **** + * matching it will take us back to the start of the line. + */ + (void)find_last_paren(l, '(', ')'); +! trypos = find_match_paren( +! corr_ind_maxparen(curbuf->b_ind_maxparen, +! &cur_curpos), curbuf->b_ind_maxcomment); + + /* + * If we are looking for ',', we also look for matching +--- 7971,7977 ---- + * matching it will take us back to the start of the line. + */ + (void)find_last_paren(l, '(', ')'); +! trypos = find_match_paren(corr_ind_maxparen(&cur_curpos)); + + /* + * If we are looking for ',', we also look for matching +*************** +*** 8007,8013 **** + */ + if (trypos == NULL && terminated == ',' + && find_last_paren(l, '{', '}')) +! trypos = find_start_brace(curbuf->b_ind_maxcomment); + + if (trypos != NULL) + { +--- 7979,7985 ---- + */ + if (trypos == NULL && terminated == ',' + && find_last_paren(l, '{', '}')) +! trypos = find_start_brace(); + + if (trypos != NULL) + { +*************** +*** 8051,8058 **** + * ignoring any jump label. XXX + */ + if (!curbuf->b_ind_js) +! cur_amount = skip_label(curwin->w_cursor.lnum, +! &l, curbuf->b_ind_maxcomment); + else + cur_amount = get_indent(); + /* +--- 8023,8029 ---- + * ignoring any jump label. XXX + */ + if (!curbuf->b_ind_js) +! cur_amount = skip_label(curwin->w_cursor.lnum, &l); + else + cur_amount = get_indent(); + /* +*************** +*** 8162,8172 **** + curwin->w_cursor.col = + (colnr_T)(l - ml_get_curline()) + 1; + +! if ((trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) == NULL +! || find_match(LOOKFOR_IF, trypos->lnum, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) == FAIL) + break; + } + } +--- 8133,8141 ---- + curwin->w_cursor.col = + (colnr_T)(l - ml_get_curline()) + 1; + +! if ((trypos = find_start_brace()) == NULL +! || find_match(LOOKFOR_IF, trypos->lnum) +! == FAIL) + break; + } + } +*************** +*** 8261,8268 **** + * If so: Ignore until the matching "do". + */ + /* XXX */ +! else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) + { + /* + * Found an unterminated line after a while ();, line up +--- 8230,8236 ---- + * If so: Ignore until the matching "do". + */ + /* XXX */ +! else if (cin_iswhileofdo_end(terminated)) + { + /* + * Found an unterminated line after a while ();, line up +*************** +*** 8380,8387 **** + l = ml_get_curline(); + if (find_last_paren(l, '(', ')') + && (trypos = find_match_paren( +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + { + /* + * Check if we are on a case label now. This is +--- 8348,8354 ---- + l = ml_get_curline(); + if (find_last_paren(l, '(', ')') + && (trypos = find_match_paren( +! curbuf->b_ind_maxparen)) != NULL) + { + /* + * Check if we are on a case label now. This is +*************** +*** 8415,8422 **** + * Get indent and pointer to text for current line, + * ignoring any jump label. + */ +! amount = skip_label(curwin->w_cursor.lnum, +! &l, curbuf->b_ind_maxcomment); + + if (theline[0] == '{') + amount += curbuf->b_ind_open_extra; +--- 8382,8388 ---- + * Get indent and pointer to text for current line, + * ignoring any jump label. + */ +! amount = skip_label(curwin->w_cursor.lnum, &l); + + if (theline[0] == '{') + amount += curbuf->b_ind_open_extra; +*************** +*** 8439,8449 **** + && cin_iselse(l) + && whilelevel == 0) + { +! if ((trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) == NULL +! || find_match(LOOKFOR_IF, trypos->lnum, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) == FAIL) + break; + continue; + } +--- 8405,8413 ---- + && cin_iselse(l) + && whilelevel == 0) + { +! if ((trypos = find_start_brace()) == NULL +! || find_match(LOOKFOR_IF, trypos->lnum) +! == FAIL) + break; + continue; + } +*************** +*** 8453,8461 **** + * that block. + */ + l = ml_get_curline(); +! if (find_last_paren(l, '{', '}') +! && (trypos = find_start_brace( +! curbuf->b_ind_maxcomment)) != NULL) /* XXX */ + { + curwin->w_cursor = *trypos; + /* if not "else {" check for terminated again */ +--- 8417,8424 ---- + * that block. + */ + l = ml_get_curline(); +! if (find_last_paren(l, '{', '}') /* XXX */ +! && (trypos = find_start_brace()) != NULL) + { + curwin->w_cursor = *trypos; + /* if not "else {" check for terminated again */ +*************** +*** 8516,8524 **** + && !cin_ends_in(theline, (char_u *)":", NULL) + && !cin_ends_in(theline, (char_u *)",", NULL) + && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, +! cur_curpos.lnum + 1, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment) + && !cin_isterminated(theline, FALSE, TRUE)) + { + amount = curbuf->b_ind_func_type; +--- 8479,8485 ---- + && !cin_ends_in(theline, (char_u *)":", NULL) + && !cin_ends_in(theline, (char_u *)",", NULL) + && cin_isfuncdecl(NULL, cur_curpos.lnum + 1, +! cur_curpos.lnum + 1) + && !cin_isterminated(theline, FALSE, TRUE)) + { + amount = curbuf->b_ind_func_type; +*************** +*** 8540,8547 **** + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = find_start_comment( +! curbuf->b_ind_maxcomment)) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +--- 8501,8507 ---- + /* + * If we're in a comment now, skip to the start of the comment. + */ /* XXX */ +! if ((trypos = ind_find_start_comment()) != NULL) + { + curwin->w_cursor.lnum = trypos->lnum + 1; + curwin->w_cursor.col = 0; +*************** +*** 8561,8569 **** + if (n) + { + /* XXX */ +! amount = get_baseclass_amount(col, curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment, +! curbuf->b_ind_cpp_baseclass); + break; + } + +--- 8521,8527 ---- + if (n) + { + /* XXX */ +! amount = get_baseclass_amount(col); + break; + } + +*************** +*** 8595,8602 **** + /* take us back to opening paren */ + if (find_last_paren(l, '(', ')') + && (trypos = find_match_paren( +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + curwin->w_cursor = *trypos; + + /* For a line ending in ',' that is a continuation line go +--- 8553,8559 ---- + /* take us back to opening paren */ + if (find_last_paren(l, '(', ')') + && (trypos = find_match_paren( +! curbuf->b_ind_maxparen)) != NULL) + curwin->w_cursor = *trypos; + + /* For a line ending in ',' that is a continuation line go +*************** +*** 8627,8635 **** + * If the line looks like a function declaration, and we're + * not in a comment, put it the left margin. + */ +! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) /* XXX */ + break; + l = ml_get_curline(); + +--- 8584,8590 ---- + * If the line looks like a function declaration, and we're + * not in a comment, put it the left margin. + */ +! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0)) /* XXX */ + break; + l = ml_get_curline(); + +*************** +*** 8677,8685 **** + * line (and the ones that follow) needs to be indented as + * parameters. + */ +! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0, +! curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) + { + amount = curbuf->b_ind_param; + break; +--- 8632,8638 ---- + * line (and the ones that follow) needs to be indented as + * parameters. + */ +! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0)) + { + amount = curbuf->b_ind_param; + break; +*************** +*** 8710,8717 **** + */ + find_last_paren(l, '(', ')'); + +! if ((trypos = find_match_paren(curbuf->b_ind_maxparen, +! curbuf->b_ind_maxcomment)) != NULL) + curwin->w_cursor = *trypos; + amount = get_indent(); /* XXX */ + break; +--- 8663,8669 ---- + */ + find_last_paren(l, '(', ')'); + +! if ((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) + curwin->w_cursor = *trypos; + amount = get_indent(); /* XXX */ + break; +*************** +*** 8754,8764 **** + } + + static int +! find_match(lookfor, ourscope, ind_maxparen, ind_maxcomment) + int lookfor; + linenr_T ourscope; +- int ind_maxparen; +- int ind_maxcomment; + { + char_u *look; + pos_T *theirscope; +--- 8706,8714 ---- + } + + static int +! find_match(lookfor, ourscope) + int lookfor; + linenr_T ourscope; + { + char_u *look; + pos_T *theirscope; +*************** +*** 8788,8800 **** + if (cin_iselse(look) + || cin_isif(look) + || cin_isdo(look) /* XXX */ +! || cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen)) + { + /* + * if we've gone outside the braces entirely, + * we must be out of scope... + */ +! theirscope = find_start_brace(ind_maxcomment); /* XXX */ + if (theirscope == NULL) + break; + +--- 8738,8750 ---- + if (cin_iselse(look) + || cin_isif(look) + || cin_isdo(look) /* XXX */ +! || cin_iswhileofdo(look, curwin->w_cursor.lnum)) + { + /* + * if we've gone outside the braces entirely, + * we must be out of scope... + */ +! theirscope = find_start_brace(); /* XXX */ + if (theirscope == NULL) + break; + +*************** +*** 8832,8838 **** + * if it was a "while" then we need to go back to + * another "do", so increment whilelevel. XXX + */ +! if (cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen)) + { + ++whilelevel; + continue; +--- 8782,8788 ---- + * if it was a "while" then we need to go back to + * another "do", so increment whilelevel. XXX + */ +! if (cin_iswhileofdo(look, curwin->w_cursor.lnum)) + { + ++whilelevel; + continue; +*** ../vim-7.4.070/src/proto/misc1.pro 2013-11-05 07:12:59.000000000 +0100 +--- src/proto/misc1.pro 2013-11-06 03:19:45.000000000 +0100 +*************** +*** 81,87 **** + char_u *FullName_save __ARGS((char_u *fname, int force)); + pos_T *find_start_comment __ARGS((int ind_maxcomment)); + void do_c_expr_indent __ARGS((void)); +! int cin_islabel __ARGS((int ind_maxcomment)); + int cin_iscase __ARGS((char_u *s, int strict)); + int cin_isscopedecl __ARGS((char_u *s)); + void parse_cino __ARGS((buf_T *buf)); +--- 81,87 ---- + char_u *FullName_save __ARGS((char_u *fname, int force)); + pos_T *find_start_comment __ARGS((int ind_maxcomment)); + void do_c_expr_indent __ARGS((void)); +! int cin_islabel __ARGS((void)); + int cin_iscase __ARGS((char_u *s, int strict)); + int cin_isscopedecl __ARGS((char_u *s)); + void parse_cino __ARGS((buf_T *buf)); +*** ../vim-7.4.070/src/version.c 2013-11-05 17:40:47.000000000 +0100 +--- src/version.c 2013-11-06 03:43:44.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 71, + /**/ + +-- +A law to reduce crime states: "It is mandatory for a motorist with criminal +intentions to stop at the city limits and telephone the chief of police as he +is entering the town. + [real standing law in Washington, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.072 b/patches/source/vim/patches/7.4.072 new file mode 100644 index 000000000..e96888e7a --- /dev/null +++ b/patches/source/vim/patches/7.4.072 @@ -0,0 +1,61 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.072 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.072 +Problem: Crash when using Insert mode completion. +Solution: Avoid going past the end of pum_array. (idea by Fransisco Lopes) +Files: src/popupmnu.c + + +*** ../vim-7.4.071/src/popupmnu.c 2011-08-17 18:04:28.000000000 +0200 +--- src/popupmnu.c 2013-11-02 04:01:06.000000000 +0100 +*************** +*** 282,287 **** +--- 282,291 ---- + int round; + int n; + ++ /* Never display more than we have */ ++ if (pum_first > pum_size - pum_height) ++ pum_first = pum_size - pum_height; ++ + if (pum_scrollbar) + { + thumb_heigth = pum_height * pum_height / pum_size; +*************** +*** 672,681 **** + #endif + } + +- /* Never display more than we have */ +- if (pum_first > pum_size - pum_height) +- pum_first = pum_size - pum_height; +- + if (!resized) + pum_redraw(); + +--- 676,681 ---- +*** ../vim-7.4.071/src/version.c 2013-11-06 04:01:31.000000000 +0100 +--- src/version.c 2013-11-06 04:03:18.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 72, + /**/ + +-- +No children may attend school with their breath smelling of "wild onions." + [real standing law in West Virginia, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.073 b/patches/source/vim/patches/7.4.073 new file mode 100644 index 000000000..7d9cedcff --- /dev/null +++ b/patches/source/vim/patches/7.4.073 @@ -0,0 +1,404 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.073 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.073 +Problem: Setting undolevels for one buffer changes undo in another. +Solution: Make 'undolevels' a global-local option. (Christian Brabandt) +Files: runtime/doc/options.txt, src/buffer.c, src/option.c, src/option.h + src/structs.h, src/undo.c + + +*** ../vim-7.4.072/runtime/doc/options.txt 2013-08-10 13:24:57.000000000 +0200 +--- runtime/doc/options.txt 2013-11-06 04:18:43.000000000 +0100 +*************** +*** 7594,7600 **** + *'undolevels'* *'ul'* + 'undolevels' 'ul' number (default 100, 1000 for Unix, VMS, + Win32 and OS/2) +! global + {not in Vi} + Maximum number of changes that can be undone. Since undo information + is kept in memory, higher numbers will cause more memory to be used +--- 7594,7600 ---- + *'undolevels'* *'ul'* + 'undolevels' 'ul' number (default 100, 1000 for Unix, VMS, + Win32 and OS/2) +! global or local to buffer |global-local| + {not in Vi} + Maximum number of changes that can be undone. Since undo information + is kept in memory, higher numbers will cause more memory to be used +*************** +*** 7605,7612 **** + < But you can also get Vi compatibility by including the 'u' flag in + 'cpoptions', and still be able to use CTRL-R to repeat undo. + Also see |undo-two-ways|. +! Set to a negative number for no undo at all: > +! set ul=-1 + < This helps when you run out of memory for a single change. + Also see |clear-undo|. + +--- 7605,7613 ---- + < But you can also get Vi compatibility by including the 'u' flag in + 'cpoptions', and still be able to use CTRL-R to repeat undo. + Also see |undo-two-ways|. +! Set to -1 for no undo at all. You might want to do this only for the +! current buffer: > +! setlocal ul=-1 + < This helps when you run out of memory for a single change. + Also see |clear-undo|. + +*** ../vim-7.4.072/src/buffer.c 2013-11-05 17:40:47.000000000 +0100 +--- src/buffer.c 2013-11-06 04:25:27.000000000 +0100 +*************** +*** 1949,1954 **** +--- 1949,1955 ---- + clear_string_option(&buf->b_p_qe); + #endif + buf->b_p_ar = -1; ++ buf->b_p_ul = NO_LOCAL_UNDOLEVEL; + } + + /* +*** ../vim-7.4.072/src/option.c 2013-11-05 07:12:59.000000000 +0100 +--- src/option.c 2013-11-06 04:34:23.000000000 +0100 +*************** +*** 234,239 **** +--- 234,240 ---- + #ifdef FEAT_STL_OPT + # define PV_STL OPT_BOTH(OPT_WIN(WV_STL)) + #endif ++ #define PV_UL OPT_BOTH(OPT_BUF(BV_UL)) + #ifdef FEAT_WINDOWS + # define PV_WFH OPT_WIN(WV_WFH) + #endif +*************** +*** 2683,2689 **** + #endif + {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, + {"undolevels", "ul", P_NUM|P_VI_DEF, +! (char_u *)&p_ul, PV_NONE, + { + #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS) + (char_u *)1000L, +--- 2684,2690 ---- + #endif + {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, + {"undolevels", "ul", P_NUM|P_VI_DEF, +! (char_u *)&p_ul, PV_UL, + { + #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS) + (char_u *)1000L, +*************** +*** 3313,3318 **** +--- 3314,3320 ---- + + curbuf->b_p_initialized = TRUE; + curbuf->b_p_ar = -1; /* no local 'autoread' value */ ++ curbuf->b_p_ul = NO_LOCAL_UNDOLEVEL; + check_buf_options(curbuf); + check_win_options(curwin); + check_options(); +*************** +*** 4512,4519 **** + ((flags & P_VI_DEF) || cp_val) + ? VI_DEFAULT : VIM_DEFAULT]; + else if (nextchar == '<') +! value = *(long *)get_varp_scope(&(options[opt_idx]), +! OPT_GLOBAL); + else if (((long *)varp == &p_wc + || (long *)varp == &p_wcm) + && (*arg == '<' +--- 4514,4529 ---- + ((flags & P_VI_DEF) || cp_val) + ? VI_DEFAULT : VIM_DEFAULT]; + else if (nextchar == '<') +! { +! /* For 'undolevels' NO_LOCAL_UNDOLEVEL means to +! * use the global value. */ +! if ((long *)varp == &curbuf->b_p_ul +! && opt_flags == OPT_LOCAL) +! value = NO_LOCAL_UNDOLEVEL; +! else +! value = *(long *)get_varp_scope( +! &(options[opt_idx]), OPT_GLOBAL); +! } + else if (((long *)varp == &p_wc + || (long *)varp == &p_wcm) + && (*arg == '<' +*************** +*** 8487,8492 **** +--- 8497,8509 ---- + u_sync(TRUE); + p_ul = value; + } ++ else if (pp == &curbuf->b_p_ul) ++ { ++ /* use the old value, otherwise u_sync() may not work properly */ ++ curbuf->b_p_ul = old_value; ++ u_sync(TRUE); ++ curbuf->b_p_ul = value; ++ } + + #ifdef FEAT_LINEBREAK + /* 'numberwidth' must be positive */ +*************** +*** 9720,9726 **** + /* + * Unset local option value, similar to ":set opt<". + */ +- + void + unset_global_local_option(name, from) + char_u *name; +--- 9737,9742 ---- +*************** +*** 9793,9798 **** +--- 9809,9817 ---- + clear_string_option(&((win_T *)from)->w_p_stl); + break; + #endif ++ case PV_UL: ++ buf->b_p_ul = NO_LOCAL_UNDOLEVEL; ++ break; + } + } + +*************** +*** 9841,9846 **** +--- 9860,9866 ---- + #ifdef FEAT_STL_OPT + case PV_STL: return (char_u *)&(curwin->w_p_stl); + #endif ++ case PV_UL: return (char_u *)&(curbuf->b_p_ul); + } + return NULL; /* "cannot happen" */ + } +*************** +*** 9905,9910 **** +--- 9925,9932 ---- + case PV_STL: return *curwin->w_p_stl != NUL + ? (char_u *)&(curwin->w_p_stl) : p->var; + #endif ++ case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL ++ ? (char_u *)&(curbuf->b_p_ul) : p->var; + + #ifdef FEAT_ARABIC + case PV_ARAB: return (char_u *)&(curwin->w_p_arab); +*************** +*** 10445,10450 **** +--- 10467,10473 ---- + /* options that are normally global but also have a local value + * are not copied, start using the global value */ + buf->b_p_ar = -1; ++ buf->b_p_ul = NO_LOCAL_UNDOLEVEL; + #ifdef FEAT_QUICKFIX + buf->b_p_gp = empty_option; + buf->b_p_mp = empty_option; +*** ../vim-7.4.072/src/option.h 2013-06-26 18:41:39.000000000 +0200 +--- src/option.h 2013-11-06 04:17:40.000000000 +0100 +*************** +*** 1031,1036 **** +--- 1031,1037 ---- + , BV_TW + , BV_TX + , BV_UDF ++ , BV_UL + , BV_WM + , BV_COUNT /* must be the last one */ + }; +*************** +*** 1109,1111 **** +--- 1110,1115 ---- + , WV_WRAP + , WV_COUNT /* must be the last one */ + }; ++ ++ /* Value for b_p_ul indicating the global value must be used. */ ++ #define NO_LOCAL_UNDOLEVEL -123456 +*** ../vim-7.4.072/src/structs.h 2013-11-05 07:12:59.000000000 +0100 +--- src/structs.h 2013-11-06 04:26:17.000000000 +0100 +*************** +*** 1627,1632 **** +--- 1627,1633 ---- + char_u *b_p_dict; /* 'dictionary' local value */ + char_u *b_p_tsr; /* 'thesaurus' local value */ + #endif ++ long b_p_ul; /* 'undolevels' local value */ + #ifdef FEAT_PERSISTENT_UNDO + int b_p_udf; /* 'undofile' */ + #endif +*** ../vim-7.4.072/src/undo.c 2013-09-08 15:40:45.000000000 +0200 +--- src/undo.c 2013-11-06 04:33:12.000000000 +0100 +*************** +*** 83,88 **** +--- 83,89 ---- + + #include "vim.h" + ++ static long get_undolevel __ARGS((void)); + static void u_unch_branch __ARGS((u_header_T *uhp)); + static u_entry_T *u_get_headentry __ARGS((void)); + static void u_getbot __ARGS((void)); +*************** +*** 336,341 **** +--- 337,353 ---- + } + + /* ++ * Get the undolevle value for the current buffer. ++ */ ++ static long ++ get_undolevel() ++ { ++ if (curbuf->b_p_ul == NO_LOCAL_UNDOLEVEL) ++ return p_ul; ++ return curbuf->b_p_ul; ++ } ++ ++ /* + * Common code for various ways to save text before a change. + * "top" is the line above the first changed line. + * "bot" is the line below the last changed line. +*************** +*** 419,425 **** + curbuf->b_new_change = TRUE; + #endif + +! if (p_ul >= 0) + { + /* + * Make a new header entry. Do this first so that we don't mess +--- 431,437 ---- + curbuf->b_new_change = TRUE; + #endif + +! if (get_undolevel() >= 0) + { + /* + * Make a new header entry. Do this first so that we don't mess +*************** +*** 449,455 **** + /* + * free headers to keep the size right + */ +! while (curbuf->b_u_numhead > p_ul && curbuf->b_u_oldhead != NULL) + { + u_header_T *uhfree = curbuf->b_u_oldhead; + +--- 461,468 ---- + /* + * free headers to keep the size right + */ +! while (curbuf->b_u_numhead > get_undolevel() +! && curbuf->b_u_oldhead != NULL) + { + u_header_T *uhfree = curbuf->b_u_oldhead; + +*************** +*** 530,536 **** + } + else + { +! if (p_ul < 0) /* no undo at all */ + return OK; + + /* +--- 543,549 ---- + } + else + { +! if (get_undolevel() < 0) /* no undo at all */ + return OK; + + /* +*************** +*** 1972,1978 **** + { + if (curbuf->b_u_curhead == NULL) /* first undo */ + curbuf->b_u_curhead = curbuf->b_u_newhead; +! else if (p_ul > 0) /* multi level undo */ + /* get next undo */ + curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr; + /* nothing to undo */ +--- 1985,1991 ---- + { + if (curbuf->b_u_curhead == NULL) /* first undo */ + curbuf->b_u_curhead = curbuf->b_u_newhead; +! else if (get_undolevel() > 0) /* multi level undo */ + /* get next undo */ + curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr; + /* nothing to undo */ +*************** +*** 1993,1999 **** + } + else + { +! if (curbuf->b_u_curhead == NULL || p_ul <= 0) + { + beep_flush(); /* nothing to redo */ + if (count == startcount - 1) +--- 2006,2012 ---- + } + else + { +! if (curbuf->b_u_curhead == NULL || get_undolevel() <= 0) + { + beep_flush(); /* nothing to redo */ + if (count == startcount - 1) +*************** +*** 2751,2757 **** + if (im_is_preediting()) + return; /* XIM is busy, don't break an undo sequence */ + #endif +! if (p_ul < 0) + curbuf->b_u_synced = TRUE; /* no entries, nothing to do */ + else + { +--- 2764,2770 ---- + if (im_is_preediting()) + return; /* XIM is busy, don't break an undo sequence */ + #endif +! if (get_undolevel() < 0) + curbuf->b_u_synced = TRUE; /* no entries, nothing to do */ + else + { +*************** +*** 2911,2917 **** + } + if (!curbuf->b_u_synced) + return; /* already unsynced */ +! if (p_ul < 0) + return; /* no entries, nothing to do */ + else + { +--- 2924,2930 ---- + } + if (!curbuf->b_u_synced) + return; /* already unsynced */ +! if (get_undolevel() < 0) + return; /* no entries, nothing to do */ + else + { +*** ../vim-7.4.072/src/version.c 2013-11-06 04:04:29.000000000 +0100 +--- src/version.c 2013-11-06 05:21:43.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 73, + /**/ + +-- +Living on Earth includes an annual free trip around the Sun. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.074 b/patches/source/vim/patches/7.4.074 new file mode 100644 index 000000000..70045c088 --- /dev/null +++ b/patches/source/vim/patches/7.4.074 @@ -0,0 +1,67 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.074 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.074 +Problem: When undo'ing all changes and creating a new change the undo + structure is incorrect. (Christian Brabandt) +Solution: When deleting the branch starting at the old header, delete the + whole branch, not just the first entry. +Files: src/undo.c + + +*** ../vim-7.4.073/src/undo.c 2013-11-06 05:26:08.000000000 +0100 +--- src/undo.c 2013-11-07 03:01:42.000000000 +0100 +*************** +*** 3121,3127 **** + * all the pointers. */ + if (uhp == buf->b_u_oldhead) + { +! u_freeheader(buf, uhp, uhpp); + return; + } + +--- 3121,3128 ---- + * all the pointers. */ + if (uhp == buf->b_u_oldhead) + { +! while (buf->b_u_oldhead != NULL) +! u_freeheader(buf, buf->b_u_oldhead, uhpp); + return; + } + +*** ../vim-7.4.073/src/version.c 2013-11-06 05:26:08.000000000 +0100 +--- src/version.c 2013-11-07 03:03:02.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 74, + /**/ + +-- +LETTERS TO THE EDITOR (The Times of London) + +Dear Sir, + +I am firmly opposed to the spread of microchips either to the home or +to the office.  We have more than enough of them foisted upon us in +public places.  They are a disgusting Americanism, and can only result +in the farmers being forced to grow smaller potatoes, which in turn +will cause massive unemployment in the already severely depressed +agricultural industry. + +Yours faithfully, +        Capt. Quinton D'Arcy, J. P. +        Sevenoaks + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.075 b/patches/source/vim/patches/7.4.075 new file mode 100644 index 000000000..f7ba21e1f --- /dev/null +++ b/patches/source/vim/patches/7.4.075 @@ -0,0 +1,290 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.075 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.075 +Problem: Locally setting 'undolevels' is not tested. +Solution: Add a test. (Christian Brabandt) +Files: src/testdir/test100.in, src/testdir/test100.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, src/Makefile + + +*** ../vim-7.4.074/src/testdir/test100.in 2013-11-07 03:24:56.000000000 +0100 +--- src/testdir/test100.in 2013-11-07 03:20:32.000000000 +0100 +*************** +*** 0 **** +--- 1,42 ---- ++ Tests for 'undolevel' setting being global-local ++ ++ STARTTEST ++ :so small.vim ++ :set nocompatible viminfo+=nviminfo ul=5 ++ :fu! FillBuffer() ++ :for i in range(1,13) ++ :put=i ++ :exe "setg ul=" . &g:ul ++ :endfor ++ :endfu ++ :fu! UndoLevel() ++ :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end ++ :$put a ++ :endfu ++ :new one ++ :0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)' ++ :call FillBuffer() ++ :call feedkeys(":earlier 10\n", 't') ++ :call UndoLevel() ++ :%w! test.out ++ :new two ++ :0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)' ++ :setlocal ul=2 ++ :call FillBuffer() ++ :call feedkeys(":earlier 10\n", 't') ++ :call UndoLevel() ++ :setlocal ul=10 ++ :call UndoLevel() ++ :%w >> test.out ++ :wincmd p ++ :redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end ++ :new three ++ :setglobal ul=50 ++ :1put ='global value should be changed to 50' ++ :2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)' ++ :call UndoLevel() ++ :%w >> test.out ++ :"sleep 10 ++ :qa! ++ ENDTEST ++ +*** ../vim-7.4.074/src/testdir/test100.ok 2013-11-07 03:24:56.000000000 +0100 +--- src/testdir/test100.ok 2013-11-07 03:11:51.000000000 +0100 +*************** +*** 0 **** +--- 1,41 ---- ++ ONE: expecting global undolevels: 5, local undolevels: -123456 (default) ++ 1 ++ 2 ++ 3 ++ 4 ++ 5 ++ 6 ++ 7 ++ ++ ++ undolevels=5 global ++ undolevels=-123456 local ++ TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards) ++ 1 ++ 2 ++ 3 ++ 4 ++ 5 ++ 6 ++ 7 ++ 8 ++ 9 ++ 10 ++ ++ ++ undolevels=5 global ++ undolevels=2 local ++ ++ undolevels=5 global ++ undolevels=10 local ++ ++ global value shouldn't be changed and still be 5! ++ ONE: expecting global undolevels: 5, local undolevels: -123456 (default) ++ undolevels=5 global ++ undolevels=-123456 local ++ ++ global value should be changed to 50 ++ THREE: expecting global undolevels: 50, local undolevels: -123456 (default) ++ ++ undolevels=50 global ++ undolevels=-123456 local +*** ../vim-7.4.074/src/testdir/Make_amiga.mak 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/Make_amiga.mak 2013-11-07 03:07:57.000000000 +0100 +*************** +*** 34,40 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out + + .SUFFIXES: .in .out + +--- 34,40 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out + + .SUFFIXES: .in .out + +*************** +*** 150,152 **** +--- 150,153 ---- + test97.out: test97.in + test98.out: test98.in + test99.out: test99.in ++ test100.out: test100.in +*** ../vim-7.4.074/src/testdir/Make_dos.mak 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/Make_dos.mak 2013-11-07 03:08:05.000000000 +0100 +*************** +*** 32,38 **** + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out + + SCRIPTS32 = test50.out test70.out + +--- 32,39 ---- + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out \ +! test100.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.074/src/testdir/Make_ming.mak 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/Make_ming.mak 2013-11-07 03:08:12.000000000 +0100 +*************** +*** 52,58 **** + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out + + SCRIPTS32 = test50.out test70.out + +--- 52,59 ---- + test79.out test80.out test81.out test82.out test83.out \ + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out \ +! test100out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.074/src/testdir/Make_os2.mak 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/Make_os2.mak 2013-11-07 03:08:18.000000000 +0100 +*************** +*** 34,40 **** + test76.out test77.out test78.out test79.out test80.out \ + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out + + .SUFFIXES: .in .out + +--- 34,41 ---- + test76.out test77.out test78.out test79.out test80.out \ + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ +! test94.out test95.out test96.out test98.out test99.out \ +! test100.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.074/src/testdir/Make_vms.mms 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/Make_vms.mms 2013-11-07 03:08:24.000000000 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Sep 19 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 07 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 78,84 **** + test77.out test78.out test79.out test80.out test81.out \ + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ +! test95.out test96.out test97.out test98.out test99.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 78,85 ---- + test77.out test78.out test79.out test80.out test81.out \ + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ +! test95.out test96.out test97.out test98.out test99.out \ +! test100.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.074/src/testdir/Makefile 2013-09-22 15:03:34.000000000 +0200 +--- src/testdir/Makefile 2013-11-07 03:08:31.000000000 +0100 +*************** +*** 30,36 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out + + SCRIPTS_GUI = test16.out + +--- 30,36 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.074/src/Makefile 2013-08-10 14:21:15.000000000 +0200 +--- src/Makefile 2013-11-07 03:10:40.000000000 +0100 +*************** +*** 1882,1888 **** + test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \ + test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \ + test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \ +! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99: + cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) + + testclean: +--- 1883,1890 ---- + test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \ + test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \ + test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \ +! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \ +! test100 test101 test102 test103 test104 test105 test106 test107: + cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) + + testclean: +*** ../vim-7.4.074/src/version.c 2013-11-07 03:04:06.000000000 +0100 +--- src/version.c 2013-11-07 03:10:10.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 75, + /**/ + +-- +Why is "abbreviation" such a long word? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.076 b/patches/source/vim/patches/7.4.076 new file mode 100644 index 000000000..fa9abbc25 --- /dev/null +++ b/patches/source/vim/patches/7.4.076 @@ -0,0 +1,66 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.076 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.076 +Problem: "cgn" does not wrap around the end of the file. (Dimitrov + Dimitrov) +Solution: Restore 'wrapscan' earlier. (Christian Brabandt) +Files: src/search.c + + +*** ../vim-7.4.075/src/search.c 2013-10-02 21:54:57.000000000 +0200 +--- src/search.c 2013-11-07 04:38:46.000000000 +0100 +*************** +*** 4592,4598 **** + ml_get(curwin->w_buffer->b_ml.ml_line_count)); + } + } +! + } + + start_pos = pos; +--- 4592,4598 ---- + ml_get(curwin->w_buffer->b_ml.ml_line_count)); + } + } +! p_ws = old_p_ws; + } + + start_pos = pos; +*************** +*** 4607,4613 **** + if (!VIsual_active) + VIsual = start_pos; + +- p_ws = old_p_ws; + curwin->w_cursor = pos; + VIsual_active = TRUE; + VIsual_mode = 'v'; +--- 4607,4612 ---- +*** ../vim-7.4.075/src/version.c 2013-11-07 03:25:51.000000000 +0100 +--- src/version.c 2013-11-07 04:44:44.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 76, + /**/ + +-- +INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving! + [Suddenly he notices the cameras.] +INSPECTOR END OF FILM: (to Camera) All right, put that away sonny. + [He walks over to it and puts his hand over the lens.] + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.077 b/patches/source/vim/patches/7.4.077 new file mode 100644 index 000000000..fd2d3d7c2 --- /dev/null +++ b/patches/source/vim/patches/7.4.077 @@ -0,0 +1,63 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.077 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.077 +Problem: DOS installer creates shortcut without a path, resulting in the + current directory to be C:\Windows\system32. +Solution: Use environment variables. +Files: src/dosinst.c + + +*** ../vim-7.4.076/src/dosinst.c 2013-05-06 04:06:04.000000000 +0200 +--- src/dosinst.c 2013-11-06 18:18:47.000000000 +0100 +*************** +*** 1773,1781 **** + + /* + * We used to use "homedir" as the working directory, but that is a bad choice +! * on multi-user systems. Not specifying a directory appears to work best. + */ +! #define WORKDIR "" + + /* + * Create shortcut(s) in the Start Menu\Programs\Vim folder. +--- 1773,1783 ---- + + /* + * We used to use "homedir" as the working directory, but that is a bad choice +! * on multi-user systems. However, not specifying a directory results in the +! * current directory to be c:\Windows\system32 on Windows 7. Use environment +! * variables instead. + */ +! #define WORKDIR "%HOMEDRIVE%%HOMEPATH%" + + /* + * Create shortcut(s) in the Start Menu\Programs\Vim folder. +*** ../vim-7.4.076/src/version.c 2013-11-07 04:46:43.000000000 +0100 +--- src/version.c 2013-11-07 04:47:42.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 77, + /**/ + +-- +JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN + WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE + BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE + EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR + LAUNCELOT + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.078 b/patches/source/vim/patches/7.4.078 new file mode 100644 index 000000000..56b507634 --- /dev/null +++ b/patches/source/vim/patches/7.4.078 @@ -0,0 +1,114 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.078 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.078 +Problem: MSVC 2013 is not supported. +Solution: Recognize and support MSVC 2013. (Ed Brown) +Files: src/Make_mvc.mak + + +*** ../vim-7.4.077/src/Make_mvc.mak 2013-07-09 13:13:12.000000000 +0200 +--- src/Make_mvc.mak 2013-11-08 03:12:48.000000000 +0100 +*************** +*** 424,429 **** +--- 424,432 ---- + !if "$(_NMAKE_VER)" == "11.00.60610.1" + MSVCVER = 11.0 + !endif ++ !if "$(_NMAKE_VER)" == "12.00.21005.1" ++ MSVCVER = 12.0 ++ !endif + !endif + + # Abort building VIM if version of VC is unrecognised. +*************** +*** 438,444 **** + !endif + + # Convert processor ID to MVC-compatible number +! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") + !if "$(CPUNR)" == "i386" + CPUARG = /G3 + !elseif "$(CPUNR)" == "i486" +--- 441,447 ---- + !endif + + # Convert processor ID to MVC-compatible number +! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") && ("$(MSVCVER)" != "12.0") + !if "$(CPUNR)" == "i386" + CPUARG = /G3 + !elseif "$(CPUNR)" == "i486" +*************** +*** 472,478 **** + OPTFLAG = /Ox + !endif + +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") + # Use link time code generation if not worried about size + !if "$(OPTIMIZE)" != "SPACE" + OPTFLAG = $(OPTFLAG) /GL +--- 475,481 ---- + OPTFLAG = /Ox + !endif + +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0") + # Use link time code generation if not worried about size + !if "$(OPTIMIZE)" != "SPACE" + OPTFLAG = $(OPTFLAG) /GL +*************** +*** 485,491 **** + !endif + + # Static code analysis generally available starting with VS2012 +! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") + CFLAGS=$(CFLAGS) /analyze + !endif + +--- 488,494 ---- + !endif + + # Static code analysis generally available starting with VS2012 +! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0") + CFLAGS=$(CFLAGS) /analyze + !endif + +*************** +*** 943,949 **** + + # Report link time code generation progress if used. + !ifdef NODEBUG +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") + !if "$(OPTIMIZE)" != "SPACE" + LINKARGS1 = $(LINKARGS1) /LTCG:STATUS + !endif +--- 946,952 ---- + + # Report link time code generation progress if used. + !ifdef NODEBUG +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0") + !if "$(OPTIMIZE)" != "SPACE" + LINKARGS1 = $(LINKARGS1) /LTCG:STATUS + !endif +*** ../vim-7.4.077/src/version.c 2013-11-07 04:49:23.000000000 +0100 +--- src/version.c 2013-11-08 03:13:56.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 78, + /**/ + +-- +Every time I lose weight, it finds me again! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.079 b/patches/source/vim/patches/7.4.079 new file mode 100644 index 000000000..fbda97d82 --- /dev/null +++ b/patches/source/vim/patches/7.4.079 @@ -0,0 +1,470 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.079 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.079 +Problem: A script cannot detect whether 'hlsearch' highlighting is actually + displayed. +Solution: Add the "v:hlsearch" variable. (ZyX) +Files: src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, + src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h, + src/testdir/test101.in, src/testdir/test101.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + + +diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory +diff: src/runtime/doc/eval.txt: No such file or directory +*** ../vim-7.4.078/src/eval.c 2013-11-05 07:12:59.000000000 +0100 +--- src/eval.c 2013-11-08 04:11:46.000000000 +0100 +*************** +*** 356,361 **** +--- 356,362 ---- + {VV_NAME("mouse_col", VAR_NUMBER), 0}, + {VV_NAME("operator", VAR_STRING), VV_RO}, + {VV_NAME("searchforward", VAR_NUMBER), 0}, ++ {VV_NAME("hlsearch", VAR_NUMBER), 0}, + {VV_NAME("oldfiles", VAR_LIST), 0}, + {VV_NAME("windowid", VAR_NUMBER), VV_RO}, + }; +*************** +*** 871,876 **** +--- 872,878 ---- + hash_add(&compat_hashtab, p->vv_di.di_key); + } + set_vim_var_nr(VV_SEARCHFORWARD, 1L); ++ set_vim_var_nr(VV_HLSEARCH, 1L); + set_reg_var(0); /* default for v:register is not 0 but '"' */ + + #ifdef EBCDIC +*************** +*** 20613,20618 **** +--- 20615,20627 ---- + v->di_tv.vval.v_number = get_tv_number(tv); + if (STRCMP(varname, "searchforward") == 0) + set_search_direction(v->di_tv.vval.v_number ? '/' : '?'); ++ #ifdef FEAT_SEARCH_EXTRA ++ else if (STRCMP(varname, "hlsearch") == 0) ++ { ++ no_hlsearch = !v->di_tv.vval.v_number; ++ redraw_all_later(SOME_VALID); ++ } ++ #endif + } + return; + } +*** ../vim-7.4.078/src/ex_docmd.c 2013-07-24 15:09:37.000000000 +0200 +--- src/ex_docmd.c 2013-11-08 04:17:01.000000000 +0100 +*************** +*** 11389,11395 **** + ex_nohlsearch(eap) + exarg_T *eap UNUSED; + { +! no_hlsearch = TRUE; + redraw_all_later(SOME_VALID); + } + +--- 11389,11395 ---- + ex_nohlsearch(eap) + exarg_T *eap UNUSED; + { +! SET_NO_HLSEARCH(TRUE); + redraw_all_later(SOME_VALID); + } + +*** ../vim-7.4.078/src/option.c 2013-11-06 05:26:08.000000000 +0100 +--- src/option.c 2013-11-08 04:17:32.000000000 +0100 +*************** +*** 7811,7817 **** + /* when 'hlsearch' is set or reset: reset no_hlsearch */ + else if ((int *)varp == &p_hls) + { +! no_hlsearch = FALSE; + } + #endif + +--- 7811,7817 ---- + /* when 'hlsearch' is set or reset: reset no_hlsearch */ + else if ((int *)varp == &p_hls) + { +! SET_NO_HLSEARCH(FALSE); + } + #endif + +*** ../vim-7.4.078/src/screen.c 2013-07-13 12:23:00.000000000 +0200 +--- src/screen.c 2013-11-08 04:17:48.000000000 +0100 +*************** +*** 7447,7453 **** + { + /* don't free regprog in the match list, it's a copy */ + vim_regfree(shl->rm.regprog); +! no_hlsearch = TRUE; + } + shl->rm.regprog = NULL; + shl->lnum = 0; +--- 7447,7453 ---- + { + /* don't free regprog in the match list, it's a copy */ + vim_regfree(shl->rm.regprog); +! SET_NO_HLSEARCH(TRUE); + } + shl->rm.regprog = NULL; + shl->lnum = 0; +*** ../vim-7.4.078/src/search.c 2013-11-07 04:46:43.000000000 +0100 +--- src/search.c 2013-11-08 04:18:57.000000000 +0100 +*************** +*** 289,295 **** + /* If 'hlsearch' set and search pat changed: need redraw. */ + if (p_hls) + redraw_all_later(SOME_VALID); +! no_hlsearch = FALSE; + #endif + } + } +--- 289,295 ---- + /* If 'hlsearch' set and search pat changed: need redraw. */ + if (p_hls) + redraw_all_later(SOME_VALID); +! SET_NO_HLSEARCH(FALSE); + #endif + } + } +*************** +*** 333,339 **** + spats[1] = saved_spats[1]; + last_idx = saved_last_idx; + # ifdef FEAT_SEARCH_EXTRA +! no_hlsearch = saved_no_hlsearch; + # endif + } + } +--- 333,339 ---- + spats[1] = saved_spats[1]; + last_idx = saved_last_idx; + # ifdef FEAT_SEARCH_EXTRA +! SET_NO_HLSEARCH(saved_no_hlsearch); + # endif + } + } +*************** +*** 1148,1154 **** + if (no_hlsearch && !(options & SEARCH_KEEP)) + { + redraw_all_later(SOME_VALID); +! no_hlsearch = FALSE; + } + #endif + +--- 1148,1154 ---- + if (no_hlsearch && !(options & SEARCH_KEEP)) + { + redraw_all_later(SOME_VALID); +! SET_NO_HLSEARCH(FALSE); + } + #endif + +*************** +*** 5561,5567 **** + spats[idx].off.off = off; + #ifdef FEAT_SEARCH_EXTRA + if (setlast) +! no_hlsearch = !hlsearch_on; + #endif + } + } +--- 5561,5569 ---- + spats[idx].off.off = off; + #ifdef FEAT_SEARCH_EXTRA + if (setlast) +! { +! SET_NO_HLSEARCH(!hlsearch_on); +! } + #endif + } + } +*** ../vim-7.4.078/src/tag.c 2013-09-05 12:06:26.000000000 +0200 +--- src/tag.c 2013-11-08 04:19:14.000000000 +0100 +*************** +*** 3330,3336 **** + #ifdef FEAT_SEARCH_EXTRA + /* restore no_hlsearch when keeping the old search pattern */ + if (search_options) +! no_hlsearch = save_no_hlsearch; + #endif + + /* Return OK if jumped to another file (at least we found the file!). */ +--- 3330,3338 ---- + #ifdef FEAT_SEARCH_EXTRA + /* restore no_hlsearch when keeping the old search pattern */ + if (search_options) +! { +! SET_NO_HLSEARCH(save_no_hlsearch); +! } + #endif + + /* Return OK if jumped to another file (at least we found the file!). */ +*** ../vim-7.4.078/src/vim.h 2013-08-02 16:02:27.000000000 +0200 +--- src/vim.h 2013-11-08 04:16:57.000000000 +0100 +*************** +*** 1864,1872 **** + #define VV_MOUSE_COL 51 + #define VV_OP 52 + #define VV_SEARCHFORWARD 53 +! #define VV_OLDFILES 54 +! #define VV_WINDOWID 55 +! #define VV_LEN 56 /* number of v: vars */ + + #ifdef FEAT_CLIPBOARD + +--- 1864,1873 ---- + #define VV_MOUSE_COL 51 + #define VV_OP 52 + #define VV_SEARCHFORWARD 53 +! #define VV_HLSEARCH 54 +! #define VV_OLDFILES 55 +! #define VV_WINDOWID 56 +! #define VV_LEN 57 /* number of v: vars */ + + #ifdef FEAT_CLIPBOARD + +*************** +*** 2246,2249 **** +--- 2247,2256 ---- + /* Character used as separated in autoload function/variable names. */ + #define AUTOLOAD_CHAR '#' + ++ #ifdef FEAT_EVAL ++ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch) ++ #else ++ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag) ++ #endif ++ + #endif /* VIM__H */ +*** ../vim-7.4.078/src/testdir/test101.in 2013-11-08 04:28:49.000000000 +0100 +--- src/testdir/test101.in 2013-11-08 04:11:46.000000000 +0100 +*************** +*** 0 **** +--- 1,45 ---- ++ Test for v:hlsearch vim: set ft=vim : ++ ++ STARTTEST ++ :" Last abc: Q ++ :so small.vim ++ :new ++ :call setline(1, repeat(['aaa'], 10)) ++ :set hlsearch nolazyredraw ++ :let r=[] ++ :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch]) ++ /aaa ++ :AddR ++ :nohlsearch ++ :AddR ++ :let v:hlsearch=1 ++ :AddR ++ :let v:hlsearch=0 ++ :AddR ++ :set hlsearch ++ :AddR ++ :let v:hlsearch=0 ++ :AddR ++ n:AddR ++ :let v:hlsearch=0 ++ :AddR ++ / ++ :AddR ++ :let r1=r[0][0] ++ :" I guess it is not guaranteed that screenattr outputs always the same character ++ :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")') ++ :try ++ : let v:hlsearch=[] ++ :catch ++ : call add(r, matchstr(v:exception,'^Vim(let):E\d\+:')) ++ :endtry ++ :bwipeout! ++ :$put=r ++ :call garbagecollect(1) ++ :" ++ :/^start:/,$wq! test.out ++ :" vim: et ts=4 isk-=\: ++ :call getchar() ++ ENDTEST ++ ++ start: +*** ../vim-7.4.078/src/testdir/test101.ok 2013-11-08 04:28:49.000000000 +0100 +--- src/testdir/test101.ok 2013-11-08 04:11:46.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ start: ++ 1:highlighted ++ 0:not highlighted ++ 1:highlighted ++ 0:not highlighted ++ 1:highlighted ++ 0:not highlighted ++ 1:highlighted ++ 0:not highlighted ++ 1:highlighted ++ Vim(let):E706: +*** ../vim-7.4.078/src/testdir/Make_amiga.mak 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/Make_amiga.mak 2013-11-08 04:22:13.000000000 +0100 +*************** +*** 34,40 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out + + .SUFFIXES: .in .out + +--- 34,40 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out + + .SUFFIXES: .in .out + +*************** +*** 151,153 **** +--- 151,154 ---- + test98.out: test98.in + test99.out: test99.in + test100.out: test100.in ++ test101.out: test101.in +*** ../vim-7.4.078/src/testdir/Make_dos.mak 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/Make_dos.mak 2013-11-08 04:22:17.000000000 +0100 +*************** +*** 33,39 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out + + SCRIPTS32 = test50.out test70.out + +--- 33,39 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.078/src/testdir/Make_ming.mak 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/Make_ming.mak 2013-11-08 04:22:19.000000000 +0100 +*************** +*** 53,59 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out + + SCRIPTS32 = test50.out test70.out + +--- 53,59 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out test101.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.078/src/testdir/Make_os2.mak 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/Make_os2.mak 2013-11-08 04:22:21.000000000 +0100 +*************** +*** 35,41 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out + + .SUFFIXES: .in .out + +--- 35,41 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.078/src/testdir/Make_vms.mms 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/Make_vms.mms 2013-11-08 04:22:23.000000000 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 07 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 08 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 79,85 **** + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 79,85 ---- + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.078/src/testdir/Makefile 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/Makefile 2013-11-08 04:22:26.000000000 +0100 +*************** +*** 30,36 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out + + SCRIPTS_GUI = test16.out + +--- 30,36 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.078/src/version.c 2013-11-08 03:15:39.000000000 +0100 +--- src/version.c 2013-11-08 04:11:08.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 79, + /**/ + +-- +Corn oil comes from corn and olive oil comes from olives, so where +does baby oil come from? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.080 b/patches/source/vim/patches/7.4.080 new file mode 100644 index 000000000..eeec1decb --- /dev/null +++ b/patches/source/vim/patches/7.4.080 @@ -0,0 +1,52 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.080 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.080 (after 7.4.079) +Problem: Missing documentation for v:hlsearch. +Solution: Include the right file in the patch. +Files: runtime/doc/eval.txt + + +*** ../vim-7.4.079/runtime/doc/eval.txt 2013-11-02 23:29:17.000000000 +0100 +--- runtime/doc/eval.txt 2013-11-08 04:20:27.000000000 +0100 +*************** +*** 1454,1459 **** +--- 1455,1467 ---- + v:foldstart Used for 'foldtext': first line of closed fold. + Read-only in the |sandbox|. |fold-foldtext| + ++ *v:hlsearch* *hlsearch-variable* ++ v:hlsearch Variable that determines whether search highlighting is on. ++ Makes sense only if 'hlsearch' is enabled which requires ++ |+extra_search|. Setting this variable to zero acts the like ++ |:nohlsearch| command, setting it to one acts like > ++ let &hlsearch = &hlsearch ++ < + *v:insertmode* *insertmode-variable* + v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand + events. Values: +*** ../vim-7.4.079/src/version.c 2013-11-08 04:30:06.000000000 +0100 +--- src/version.c 2013-11-09 01:42:56.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 80, + /**/ + +-- +The chat program is in public domain. This is not the GNU public license. +If it breaks then you get to keep both pieces. + -- Copyright notice for the chat program + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.081 b/patches/source/vim/patches/7.4.081 new file mode 100644 index 000000000..b2c61d9ac --- /dev/null +++ b/patches/source/vim/patches/7.4.081 @@ -0,0 +1,52 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.081 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.081 (after 7.4.078) +Problem: Wrong logic when ANALYZE is "yes". +Solution: Use or instead of and. (KF Leong) +Files: src/Make_mvc.mak + + +*** ../vim-7.4.080/src/Make_mvc.mak 2013-11-08 03:15:39.000000000 +0100 +--- src/Make_mvc.mak 2013-11-08 18:02:54.000000000 +0100 +*************** +*** 488,494 **** + !endif + + # Static code analysis generally available starting with VS2012 +! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0") + CFLAGS=$(CFLAGS) /analyze + !endif + +--- 488,494 ---- + !endif + + # Static code analysis generally available starting with VS2012 +! !if ("$(ANALYZE)" == "yes") && (("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")) + CFLAGS=$(CFLAGS) /analyze + !endif + +*** ../vim-7.4.080/src/version.c 2013-11-09 01:44:38.000000000 +0100 +--- src/version.c 2013-11-09 02:31:34.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 81, + /**/ + +-- +Wi n0t trei a h0liday in Sweden thi yer? + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.082 b/patches/source/vim/patches/7.4.082 new file mode 100644 index 000000000..03089d662 --- /dev/null +++ b/patches/source/vim/patches/7.4.082 @@ -0,0 +1,344 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.082 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.082 +Problem: Using "gf" in a changed buffer suggests adding "!", which is not + possible. (Tim Chase) +Solution: Pass a flag to check_changed() wether adding ! make sense. +Files: src/vim.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/globals.h, + src/ex_cmds.c, src/ex_docmd.c + + +*** ../vim-7.4.081/src/vim.h 2013-11-08 04:30:06.000000000 +0100 +--- src/vim.h 2013-11-09 03:00:00.000000000 +0100 +*************** +*** 1176,1181 **** +--- 1176,1190 ---- + #define RESIZE_BOTH 15 /* resize in both directions */ + + /* ++ * flags for check_changed() ++ */ ++ #define CCGD_AW 1 /* do autowrite if buffer was changed */ ++ #define CCGD_MULTWIN 2 /* check also when several wins for the buf */ ++ #define CCGD_FORCEIT 4 /* ! used */ ++ #define CCGD_ALLBUF 8 /* may write all buffers */ ++ #define CCGD_EXCMD 16 /* may suggest using ! */ ++ ++ /* + * "flags" values for option-setting functions. + * When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global + * values, get local value. +*** ../vim-7.4.081/src/ex_cmds2.c 2013-06-28 20:14:53.000000000 +0200 +--- src/ex_cmds2.c 2013-11-09 03:14:44.000000000 +0100 +*************** +*** 1436,1455 **** + } + + /* +! * return TRUE if buffer was changed and cannot be abandoned. + */ + int +! check_changed(buf, checkaw, mult_win, forceit, allbuf) + buf_T *buf; +! int checkaw; /* do autowrite if buffer was changed */ +! int mult_win; /* check also when several wins for the buf */ +! int forceit; +! int allbuf UNUSED; /* may write all buffers */ + { + if ( !forceit + && bufIsChanged(buf) +! && (mult_win || buf->b_nwindows <= 1) +! && (!checkaw || autowrite(buf, forceit) == FAIL)) + { + #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) + if ((p_confirm || cmdmod.confirm) && p_write) +--- 1436,1455 ---- + } + + /* +! * Return TRUE if buffer was changed and cannot be abandoned. +! * For flags use the CCGD_ values. + */ + int +! check_changed(buf, flags) + buf_T *buf; +! int flags; + { ++ int forceit = (flags & CCGD_FORCEIT); ++ + if ( !forceit + && bufIsChanged(buf) +! && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1) +! && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL)) + { + #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) + if ((p_confirm || cmdmod.confirm) && p_write) +*************** +*** 1457,1463 **** + buf_T *buf2; + int count = 0; + +! if (allbuf) + for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next) + if (bufIsChanged(buf2) + && (buf2->b_ffname != NULL +--- 1457,1463 ---- + buf_T *buf2; + int count = 0; + +! if (flags & CCGD_ALLBUF) + for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next) + if (bufIsChanged(buf2) + && (buf2->b_ffname != NULL +*************** +*** 1480,1486 **** + return bufIsChanged(buf); + } + #endif +! EMSG(_(e_nowrtmsg)); + return TRUE; + } + return FALSE; +--- 1480,1489 ---- + return bufIsChanged(buf); + } + #endif +! if (flags & CCGD_EXCMD) +! EMSG(_(e_nowrtmsg)); +! else +! EMSG(_(e_nowrtmsg_nobang)); + return TRUE; + } + return FALSE; +*************** +*** 1690,1696 **** + { + /* Try auto-writing the buffer. If this fails but the buffer no + * longer exists it's not changed, that's OK. */ +! if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf)) + break; /* didn't save - still changes */ + } + } +--- 1693,1701 ---- + { + /* Try auto-writing the buffer. If this fails but the buffer no + * longer exists it's not changed, that's OK. */ +! if (check_changed(buf, (p_awa ? CCGD_AW : 0) +! | CCGD_MULTWIN +! | CCGD_ALLBUF) && buf_valid(buf)) + break; /* didn't save - still changes */ + } + } +*************** +*** 2274,2280 **** + vim_free(p); + } + if ((!P_HID(curbuf) || !other) +! && check_changed(curbuf, TRUE, !other, eap->forceit, FALSE)) + return; + } + +--- 2279,2288 ---- + vim_free(p); + } + if ((!P_HID(curbuf) || !other) +! && check_changed(curbuf, CCGD_AW +! | (other ? 0 : CCGD_MULTWIN) +! | (eap->forceit ? CCGD_FORCEIT : 0) +! | CCGD_EXCMD)) + return; + } + +*************** +*** 2315,2321 **** + */ + if ( P_HID(curbuf) + || eap->cmdidx == CMD_snext +! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE)) + { + if (*eap->arg != NUL) /* redefine file list */ + { +--- 2323,2331 ---- + */ + if ( P_HID(curbuf) + || eap->cmdidx == CMD_snext +! || !check_changed(curbuf, CCGD_AW +! | (eap->forceit ? CCGD_FORCEIT : 0) +! | CCGD_EXCMD)) + { + if (*eap->arg != NUL) /* redefine file list */ + { +*************** +*** 2458,2464 **** + if (eap->cmdidx == CMD_windo + || eap->cmdidx == CMD_tabdo + || P_HID(curbuf) +! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE)) + { + /* start at the first argument/window/buffer */ + i = 0; +--- 2468,2476 ---- + if (eap->cmdidx == CMD_windo + || eap->cmdidx == CMD_tabdo + || P_HID(curbuf) +! || !check_changed(curbuf, CCGD_AW +! | (eap->forceit ? CCGD_FORCEIT : 0) +! | CCGD_EXCMD)) + { + /* start at the first argument/window/buffer */ + i = 0; +*** ../vim-7.4.081/src/proto/ex_cmds2.pro 2013-08-10 13:37:10.000000000 +0200 +--- src/proto/ex_cmds2.pro 2013-11-09 03:18:02.000000000 +0100 +*************** +*** 35,41 **** + int prof_def_func __ARGS((void)); + int autowrite __ARGS((buf_T *buf, int forceit)); + void autowrite_all __ARGS((void)); +! int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf)); + void browse_save_fname __ARGS((buf_T *buf)); + void dialog_changed __ARGS((buf_T *buf, int checkall)); + int can_abandon __ARGS((buf_T *buf, int forceit)); +--- 35,41 ---- + int prof_def_func __ARGS((void)); + int autowrite __ARGS((buf_T *buf, int forceit)); + void autowrite_all __ARGS((void)); +! int check_changed __ARGS((buf_T *buf, int flags)); + void browse_save_fname __ARGS((buf_T *buf)); + void dialog_changed __ARGS((buf_T *buf, int checkall)); + int can_abandon __ARGS((buf_T *buf, int forceit)); +*** ../vim-7.4.081/src/globals.h 2013-07-04 19:53:44.000000000 +0200 +--- src/globals.h 2013-11-09 03:05:54.000000000 +0100 +*************** +*** 1490,1495 **** +--- 1490,1496 ---- + EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s")); + EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s")); + EXTERN char_u e_nowrtmsg[] INIT(= N_("E37: No write since last change (add ! to override)")); ++ EXTERN char_u e_nowrtmsg_nobang[] INIT(= N_("E37: No write since last change")); + EXTERN char_u e_null[] INIT(= N_("E38: Null argument")); + #ifdef FEAT_DIGRAPHS + EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected")); +*** ../vim-7.4.081/src/ex_cmds.c 2013-10-02 18:43:00.000000000 +0200 +--- src/ex_cmds.c 2013-11-09 03:19:25.000000000 +0100 +*************** +*** 3253,3260 **** + if ( ((!other_file && !(flags & ECMD_OLDBUF)) + || (curbuf->b_nwindows == 1 + && !(flags & (ECMD_HIDE | ECMD_ADDBUF)))) +! && check_changed(curbuf, p_awa, !other_file, +! (flags & ECMD_FORCEIT), FALSE)) + { + if (fnum == 0 && other_file && ffname != NULL) + (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum); +--- 3253,3262 ---- + if ( ((!other_file && !(flags & ECMD_OLDBUF)) + || (curbuf->b_nwindows == 1 + && !(flags & (ECMD_HIDE | ECMD_ADDBUF)))) +! && check_changed(curbuf, (p_awa ? CCGD_AW : 0) +! | (other_file ? 0 : CCGD_MULTWIN) +! | ((flags & ECMD_FORCEIT) ? CCGD_FORCEIT : 0) +! | (eap == NULL ? 0 : CCGD_EXCMD))) + { + if (fnum == 0 && other_file && ffname != NULL) + (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum); +*************** +*** 7664,7670 **** + # ifdef FEAT_WINDOWS + ++emsg_off; + # endif +! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE); + # ifdef FEAT_WINDOWS + --emsg_off; + # else +--- 7666,7672 ---- + # ifdef FEAT_WINDOWS + ++emsg_off; + # endif +! split = check_changed(curbuf, CCGD_AW | CCGD_EXCMD); + # ifdef FEAT_WINDOWS + --emsg_off; + # else +*** ../vim-7.4.081/src/ex_docmd.c 2013-11-08 04:30:06.000000000 +0100 +--- src/ex_docmd.c 2013-11-09 03:30:10.000000000 +0100 +*************** +*** 6565,6571 **** + if (check_more(FALSE, eap->forceit) == OK && only_one_window()) + exiting = TRUE; + if ((!P_HID(curbuf) +! && check_changed(curbuf, p_awa, FALSE, eap->forceit, FALSE)) + || check_more(TRUE, eap->forceit) == FAIL + || (only_one_window() && check_changed_any(eap->forceit))) + { +--- 6565,6573 ---- + if (check_more(FALSE, eap->forceit) == OK && only_one_window()) + exiting = TRUE; + if ((!P_HID(curbuf) +! && check_changed(curbuf, (p_awa ? CCGD_AW : 0) +! | (eap->forceit ? CCGD_FORCEIT : 0) +! | CCGD_EXCMD)) + || check_more(TRUE, eap->forceit) == FAIL + || (only_one_window() && check_changed_any(eap->forceit))) + { +*************** +*** 7099,7105 **** + if (!P_HID(curbuf) && !split) + { + ++emsg_off; +! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE); + --emsg_off; + } + if (split) +--- 7101,7107 ---- + if (!P_HID(curbuf) && !split) + { + ++emsg_off; +! split = check_changed(curbuf, CCGD_AW); + --emsg_off; + } + if (split) +*************** +*** 7361,7367 **** + { + /* Set recoverymode right away to avoid the ATTENTION prompt. */ + recoverymode = TRUE; +! if (!check_changed(curbuf, p_awa, TRUE, eap->forceit, FALSE) + && (*eap->arg == NUL + || setfname(curbuf, eap->arg, NULL, TRUE) == OK)) + ml_recover(); +--- 7363,7373 ---- + { + /* Set recoverymode right away to avoid the ATTENTION prompt. */ + recoverymode = TRUE; +! if (!check_changed(curbuf, (p_awa ? CCGD_AW : 0) +! | CCGD_MULTWIN +! | (eap->forceit ? CCGD_FORCEIT : 0) +! | CCGD_EXCMD) +! + && (*eap->arg == NUL + || setfname(curbuf, eap->arg, NULL, TRUE) == OK)) + ml_recover(); +*** ../vim-7.4.081/src/version.c 2013-11-09 02:32:15.000000000 +0100 +--- src/version.c 2013-11-09 03:26:06.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 82, + /**/ + +-- +People who want to share their religious views with you +almost never want you to share yours with them. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.083 b/patches/source/vim/patches/7.4.083 new file mode 100644 index 000000000..c71450eb6 --- /dev/null +++ b/patches/source/vim/patches/7.4.083 @@ -0,0 +1,136 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.083 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.083 +Problem: It's hard to avoid adding a used pattern to the search history. +Solution: Add the ":keeppatterns" modifier. (Christian Brabandt) +Files: runtime/doc/cmdline.txt, src/ex_cmds.h, src/ex_docmd.c, + src/ex_getln.c, src/structs.h + + +*** ../vim-7.4.082/runtime/doc/cmdline.txt 2013-08-10 13:24:52.000000000 +0200 +--- runtime/doc/cmdline.txt 2013-11-09 04:26:30.000000000 +0100 +*************** +*** 356,361 **** +--- 356,365 ---- + List the recent five entries from all histories: > + :history all -5, + ++ :keepp[atterns] {command} *:keepp* *:keeppatterns* ++ Execute {command}, without adding anything to the search ++ history ++ + ============================================================================== + 2. Command-line completion *cmdline-completion* + +*** ../vim-7.4.082/src/ex_cmds.h 2013-06-08 15:08:20.000000000 +0200 +--- src/ex_cmds.h 2013-11-09 04:26:30.000000000 +0100 +*************** +*** 477,482 **** +--- 477,484 ---- + NEEDARG|EXTRA|NOTRLCOM), + EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, + NEEDARG|EXTRA|NOTRLCOM), ++ EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier, ++ NEEDARG|EXTRA|NOTRLCOM), + EX(CMD_keepalt, "keepalt", ex_wrongmodifier, + NEEDARG|EXTRA|NOTRLCOM), + EX(CMD_list, "list", ex_print, +*** ../vim-7.4.082/src/ex_docmd.c 2013-11-09 03:31:45.000000000 +0100 +--- src/ex_docmd.c 2013-11-09 04:31:36.000000000 +0100 +*************** +*** 1843,1848 **** +--- 1843,1853 ---- + cmdmod.keepalt = TRUE; + continue; + } ++ if (checkforcmd(&ea.cmd, "keeppatterns", 5)) ++ { ++ cmdmod.keeppatterns = TRUE; ++ continue; ++ } + if (!checkforcmd(&ea.cmd, "keepjumps", 5)) + break; + cmdmod.keepjumps = TRUE; +*************** +*** 2584,2589 **** +--- 2589,2595 ---- + case CMD_keepalt: + case CMD_keepjumps: + case CMD_keepmarks: ++ case CMD_keeppatterns: + case CMD_leftabove: + case CMD_let: + case CMD_lockmarks: +*************** +*** 3089,3094 **** +--- 3095,3101 ---- + {"keepalt", 5, FALSE}, + {"keepjumps", 5, FALSE}, + {"keepmarks", 3, FALSE}, ++ {"keeppatterns", 5, FALSE}, + {"leftabove", 5, FALSE}, + {"lockmarks", 3, FALSE}, + {"noautocmd", 3, FALSE}, +*************** +*** 3597,3602 **** +--- 3604,3610 ---- + case CMD_keepalt: + case CMD_keepjumps: + case CMD_keepmarks: ++ case CMD_keeppatterns: + case CMD_leftabove: + case CMD_lockmarks: + case CMD_rightbelow: +*** ../vim-7.4.082/src/ex_getln.c 2013-11-05 07:12:59.000000000 +0100 +--- src/ex_getln.c 2013-11-09 04:26:30.000000000 +0100 +*************** +*** 5498,5503 **** +--- 5498,5506 ---- + if (hislen == 0) /* no history */ + return; + ++ if (cmdmod.keeppatterns && histype == HIST_SEARCH) ++ return; ++ + /* + * Searches inside the same mapping overwrite each other, so that only + * the last line is kept. Be careful not to remove a line that was moved +*** ../vim-7.4.082/src/structs.h 2013-11-06 05:26:08.000000000 +0100 +--- src/structs.h 2013-11-09 04:26:30.000000000 +0100 +*************** +*** 542,547 **** +--- 542,548 ---- + int keepmarks; /* TRUE when ":keepmarks" was used */ + int keepjumps; /* TRUE when ":keepjumps" was used */ + int lockmarks; /* TRUE when ":lockmarks" was used */ ++ int keeppatterns; /* TRUE when ":keeppatterns" was used */ + # ifdef FEAT_AUTOCMD + char_u *save_ei; /* saved value of 'eventignore' */ + # endif +*** ../vim-7.4.082/src/version.c 2013-11-09 03:31:45.000000000 +0100 +--- src/version.c 2013-11-09 04:29:07.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 83, + /**/ + +-- +I am always surprised in the Linux world how quickly solutions can be +obtained. (Imagine sending an email to Bill Gates, asking why Windows +crashed, and how to fix it... and then getting an answer that fixed the +problem... <0>_<0> !) -- Mark Langdon + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.084 b/patches/source/vim/patches/7.4.084 new file mode 100644 index 000000000..142e251d3 --- /dev/null +++ b/patches/source/vim/patches/7.4.084 @@ -0,0 +1,184 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.084 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.084 +Problem: Python: interrupt not being properly discarded. (Yggdroot Chen) +Solution: Discard interrupt in VimTryEnd. (ZyX) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + + +*** ../vim-7.4.083/src/if_py_both.h 2013-11-04 00:34:47.000000000 +0100 +--- src/if_py_both.h 2013-11-11 00:56:41.000000000 +0100 +*************** +*** 558,564 **** + /* Keyboard interrupt should be preferred over anything else */ + if (got_int) + { +! did_throw = got_int = FALSE; + PyErr_SetNone(PyExc_KeyboardInterrupt); + return -1; + } +--- 558,568 ---- + /* Keyboard interrupt should be preferred over anything else */ + if (got_int) + { +! if (current_exception != NULL) +! discard_current_exception(); +! else +! need_rethrow = did_throw = FALSE; +! got_int = FALSE; + PyErr_SetNone(PyExc_KeyboardInterrupt); + return -1; + } +*************** +*** 567,573 **** + /* Python exception is preferred over vim one; unlikely to occur though */ + else if (PyErr_Occurred()) + { +! did_throw = FALSE; + return -1; + } + /* Finally transform VimL exception to python one */ +--- 571,580 ---- + /* Python exception is preferred over vim one; unlikely to occur though */ + else if (PyErr_Occurred()) + { +! if (current_exception != NULL) +! discard_current_exception(); +! else +! need_rethrow = did_throw = FALSE; + return -1; + } + /* Finally transform VimL exception to python one */ +*** ../vim-7.4.083/src/testdir/test86.in 2013-11-04 00:34:47.000000000 +0100 +--- src/testdir/test86.in 2013-11-11 00:56:11.000000000 +0100 +*************** +*** 1281,1286 **** +--- 1281,1317 ---- + EOF + :delfunction Exe + :" ++ :" Regression: interrupting vim.command propagates to next vim.command ++ py << EOF ++ def test_keyboard_interrupt(): ++ try: ++ vim.command('while 1 | endwhile') ++ except KeyboardInterrupt: ++ cb.append('Caught KeyboardInterrupt') ++ except Exception: ++ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info)) ++ else: ++ cb.append('!!!!!!!! No exception') ++ try: ++ vim.command('$ put =\'Running :put\'') ++ except KeyboardInterrupt: ++ cb.append('!!!!!!!! Caught KeyboardInterrupt') ++ except Exception: ++ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info)) ++ else: ++ cb.append('No exception') ++ EOF ++ :debuggreedy ++ :call inputsave() ++ :call feedkeys("s\ns\ns\ns\nq\n") ++ :redir => output ++ :debug silent! py test_keyboard_interrupt() ++ :redir END ++ :0 debuggreedy ++ :silent $put =output ++ :unlet output ++ :py del test_keyboard_interrupt ++ :" + :" Cleanup + py << EOF + del cb +*** ../vim-7.4.083/src/testdir/test86.ok 2013-11-04 00:34:47.000000000 +0100 +--- src/testdir/test86.ok 2013-11-11 00:56:11.000000000 +0100 +*************** +*** 1198,1200 **** +--- 1198,1204 ---- + vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',) + vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) + vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) ++ Caught KeyboardInterrupt ++ Running :put ++ No exception ++ +*** ../vim-7.4.083/src/testdir/test87.in 2013-11-04 00:34:47.000000000 +0100 +--- src/testdir/test87.in 2013-11-11 00:56:11.000000000 +0100 +*************** +*** 1232,1237 **** +--- 1232,1268 ---- + EOF + :delfunction Exe + :" ++ :" Regression: interrupting vim.command propagates to next vim.command ++ py3 << EOF ++ def test_keyboard_interrupt(): ++ try: ++ vim.command('while 1 | endwhile') ++ except KeyboardInterrupt: ++ cb.append('Caught KeyboardInterrupt') ++ except Exception as e: ++ cb.append('!!!!!!!! Caught exception: ' + repr(e)) ++ else: ++ cb.append('!!!!!!!! No exception') ++ try: ++ vim.command('$ put =\'Running :put\'') ++ except KeyboardInterrupt: ++ cb.append('!!!!!!!! Caught KeyboardInterrupt') ++ except Exception as e: ++ cb.append('!!!!!!!! Caught exception: ' + repr(e)) ++ else: ++ cb.append('No exception') ++ EOF ++ :debuggreedy ++ :call inputsave() ++ :call feedkeys("s\ns\ns\ns\nq\n") ++ :redir => output ++ :debug silent! py3 test_keyboard_interrupt() ++ :redir END ++ :0 debuggreedy ++ :silent $put =output ++ :unlet output ++ :py3 del test_keyboard_interrupt ++ :" + :" Cleanup + py3 << EOF + del cb +*** ../vim-7.4.083/src/testdir/test87.ok 2013-11-04 00:34:47.000000000 +0100 +--- src/testdir/test87.ok 2013-11-11 00:56:11.000000000 +0100 +*************** +*** 1187,1189 **** +--- 1187,1193 ---- + vim.eval("Exe('echoerr ''jkl''')"):(, error('Vim(echoerr):jkl',)) + vim.eval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) + vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) ++ Caught KeyboardInterrupt ++ Running :put ++ No exception ++ +*** ../vim-7.4.083/src/version.c 2013-11-09 05:30:18.000000000 +0100 +--- src/version.c 2013-11-11 00:55:23.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 84, + /**/ + +-- +Computers make very fast, very accurate, mistakes. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.085 b/patches/source/vim/patches/7.4.085 new file mode 100644 index 000000000..a6e9a8047 --- /dev/null +++ b/patches/source/vim/patches/7.4.085 @@ -0,0 +1,118 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.085 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.085 +Problem: When inserting text in Visual block mode and moving the cursor the + wrong text gets repeated in other lines. +Solution: Use the '[ mark to find the start of the actually inserted text. + (Christian Brabandt) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + + +*** ../vim-7.4.084/src/ops.c 2013-11-05 07:12:59.000000000 +0100 +--- src/ops.c 2013-11-11 01:23:14.000000000 +0100 +*************** +*** 2640,2645 **** +--- 2640,2670 ---- + { + struct block_def bd2; + ++ /* The user may have moved the cursor before inserting something, try ++ * to adjust the block for that. */ ++ if (oap->start.lnum == curbuf->b_op_start.lnum) ++ { ++ if (oap->op_type == OP_INSERT ++ && oap->start.col != curbuf->b_op_start.col) ++ { ++ oap->start.col = curbuf->b_op_start.col; ++ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) ++ - oap->start_vcol; ++ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); ++ } ++ else if (oap->op_type == OP_APPEND ++ && oap->end.col >= curbuf->b_op_start.col) ++ { ++ oap->start.col = curbuf->b_op_start.col; ++ /* reset pre_textlen to the value of OP_INSERT */ ++ pre_textlen += bd.textlen; ++ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) ++ - oap->start_vcol; ++ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); ++ oap->op_type = OP_INSERT; ++ } ++ } ++ + /* + * Spaces and tabs in the indent may have changed to other spaces and + * tabs. Get the starting column again and correct the length. +*** ../vim-7.4.084/src/testdir/test39.in 2013-11-04 01:41:11.000000000 +0100 +--- src/testdir/test39.in 2013-11-11 01:20:51.000000000 +0100 +*************** +*** 19,24 **** +--- 19,28 ---- + :" Test block-change + G$khhhhhkkcmno + :$-4,$w! test.out ++ :" Test block-insert using cursor keys for movement ++ /^aaaa/ ++ :exe ":norm! l\jjjlllI\\ \" ++ :/^aa/,/^$/w >> test.out + :" gUe must uppercase a whole word, also when ß changes to SS + Gothe youtußeuu endYpk0wgUe + :" gUfx must uppercase until x, inclusive. +*************** +*** 40,45 **** +--- 44,54 ---- + :qa! + ENDTEST + ++ aaaaaa ++ bbbbbb ++ cccccc ++ dddddd ++ + abcdefghijklm + abcdefghijklm + abcdefghijklm +*** ../vim-7.4.084/src/testdir/test39.ok 2013-11-04 01:41:11.000000000 +0100 +--- src/testdir/test39.ok 2013-11-11 01:20:51.000000000 +0100 +*************** +*** 3,8 **** +--- 3,13 ---- + axyzqqqqef mno ghijklm + axyzqqqqefgmnoklm + abcdqqqqijklm ++ aaa aaa ++ bbb bbb ++ ccc ccc ++ ddd ddd ++ + the YOUTUSSEUU end + - yOUSSTUSSEXu - + THE YOUTUSSEUU END +*** ../vim-7.4.084/src/version.c 2013-11-11 01:05:43.000000000 +0100 +--- src/version.c 2013-11-11 01:18:01.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 85, + /**/ + +-- +SOLDIER: What? Ridden on a horse? +ARTHUR: Yes! +SOLDIER: You're using coconuts! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.086 b/patches/source/vim/patches/7.4.086 new file mode 100644 index 000000000..46f9eb90a --- /dev/null +++ b/patches/source/vim/patches/7.4.086 @@ -0,0 +1,145 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.086 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.086 +Problem: Skipping over an expression when not evaluating it does not work + properly for dict members. +Solution: Skip over unrecognized expression. (ZyX) +Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok + + +*** ../vim-7.4.085/src/eval.c 2013-11-08 04:30:06.000000000 +0100 +--- src/eval.c 2013-11-11 04:11:38.000000000 +0100 +*************** +*** 19845,19868 **** + while (ret == OK + && (**arg == '[' + || (**arg == '.' && rettv->v_type == VAR_DICT) +! || (**arg == '(' && rettv->v_type == VAR_FUNC)) + && !vim_iswhite(*(*arg - 1))) + { + if (**arg == '(') + { + /* need to copy the funcref so that we can clear rettv */ +! functv = *rettv; +! rettv->v_type = VAR_UNKNOWN; + +! /* Invoke the function. Recursive! */ +! s = functv.vval.v_string; + ret = get_func_tv(s, (int)STRLEN(s), rettv, arg, + curwin->w_cursor.lnum, curwin->w_cursor.lnum, + &len, evaluate, selfdict); + + /* Clear the funcref afterwards, so that deleting it while + * evaluating the arguments is possible (see test55). */ +! clear_tv(&functv); + + /* Stop the expression evaluation when immediately aborting on + * error, or when an interrupt occurred or an exception was thrown +--- 19845,19874 ---- + while (ret == OK + && (**arg == '[' + || (**arg == '.' && rettv->v_type == VAR_DICT) +! || (**arg == '(' && (!evaluate || rettv->v_type == VAR_FUNC))) + && !vim_iswhite(*(*arg - 1))) + { + if (**arg == '(') + { + /* need to copy the funcref so that we can clear rettv */ +! if (evaluate) +! { +! functv = *rettv; +! rettv->v_type = VAR_UNKNOWN; + +! /* Invoke the function. Recursive! */ +! s = functv.vval.v_string; +! } +! else +! s = (char_u *)""; + ret = get_func_tv(s, (int)STRLEN(s), rettv, arg, + curwin->w_cursor.lnum, curwin->w_cursor.lnum, + &len, evaluate, selfdict); + + /* Clear the funcref afterwards, so that deleting it while + * evaluating the arguments is possible (see test55). */ +! if (evaluate) +! clear_tv(&functv); + + /* Stop the expression evaluation when immediately aborting on + * error, or when an interrupt occurred or an exception was thrown +*** ../vim-7.4.085/src/testdir/test34.in 2012-07-16 16:51:29.000000000 +0200 +--- src/testdir/test34.in 2013-11-11 04:10:13.000000000 +0100 +*************** +*** 1,6 **** +--- 1,7 ---- + Test for user functions. + Also test an mapping calling a function. + Also test that a builtin function cannot be replaced. ++ Also test for regression when calling arbitrary expression. + + STARTTEST + :so small.vim +*************** +*** 62,68 **** + [(one again:call append(line('$'), max([1, 2, 3])) + :call extend(g:, {'max': function('min')}) + :call append(line('$'), max([1, 2, 3])) +! :$-7,$w! test.out + :delfunc Table + :delfunc Compute + :delfunc Expr1 +--- 63,79 ---- + [(one again:call append(line('$'), max([1, 2, 3])) + :call extend(g:, {'max': function('min')}) + :call append(line('$'), max([1, 2, 3])) +! :try +! : " Regression: the first line below used to throw ?E110: Missing ')'? +! : " Second is here just to prove that this line is correct when not skipping +! : " rhs of &&. +! : $put =(0&&(function('tr'))(1, 2, 3)) +! : $put =(1&&(function('tr'))(1, 2, 3)) +! :catch +! : $put ='!!! Unexpected exception:' +! : $put =v:exception +! :endtry +! :$-9,$w! test.out + :delfunc Table + :delfunc Compute + :delfunc Expr1 +*** ../vim-7.4.085/src/testdir/test34.ok 2012-07-16 16:43:15.000000000 +0200 +--- src/testdir/test34.ok 2013-11-11 04:10:13.000000000 +0100 +*************** +*** 6,8 **** +--- 6,10 ---- + 1. one again + 3 + 3 ++ 0 ++ 1 +*** ../vim-7.4.085/src/version.c 2013-11-11 01:29:16.000000000 +0100 +--- src/version.c 2013-11-11 04:15:59.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 86, + /**/ + +-- +ARTHUR: The swallow may fly south with the sun, or the house martin or the + plover seek warmer hot lands in winter, yet these are not strangers to + our land. +SOLDIER: Are you suggesting coconuts migrate? + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.087 b/patches/source/vim/patches/7.4.087 new file mode 100644 index 000000000..b8c1a48a9 --- /dev/null +++ b/patches/source/vim/patches/7.4.087 @@ -0,0 +1,56 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.087 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.087 +Problem: Compiler warning on 64 bit Windows systems. +Solution: Fix type cast. (Mike Williams) +Files: src/ops.c + + +*** ../vim-7.4.086/src/ops.c 2013-11-11 01:29:16.000000000 +0100 +--- src/ops.c 2013-11-11 23:16:06.000000000 +0100 +*************** +*** 2193,2199 **** + else + { + /* Replacing with \r or \n means splitting the line. */ +! after_p = alloc_check((unsigned)oldlen + 1 + n - STRLEN(newp)); + if (after_p != NULL) + STRMOVE(after_p, oldp); + } +--- 2193,2200 ---- + else + { + /* Replacing with \r or \n means splitting the line. */ +! after_p = alloc_check( +! (unsigned)(oldlen + 1 + n - STRLEN(newp))); + if (after_p != NULL) + STRMOVE(after_p, oldp); + } +*** ../vim-7.4.086/src/version.c 2013-11-11 04:25:48.000000000 +0100 +--- src/version.c 2013-11-11 23:16:23.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 87, + /**/ + + +-- +SECOND SOLDIER: It could be carried by an African swallow! +FIRST SOLDIER: Oh yes! An African swallow maybe ... but not a European + swallow. that's my point. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.088 b/patches/source/vim/patches/7.4.088 new file mode 100644 index 000000000..62dc91cac --- /dev/null +++ b/patches/source/vim/patches/7.4.088 @@ -0,0 +1,564 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.088 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.088 +Problem: When spell checking is enabled Asian characters are always marked + as error. +Solution: When 'spelllang' contains "cjk" do not mark Asian characters as + error. (Ken Takata) +Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/mbyte.c, + src/option.c, src/spell.c, src/structs.h + + +*** ../vim-7.4.087/runtime/doc/options.txt 2013-11-06 05:26:08.000000000 +0100 +--- runtime/doc/options.txt 2013-11-12 04:00:51.000000000 +0100 +*************** +*** 6555,6560 **** +--- 6555,6563 ---- + region by listing them: "en_us,en_ca" supports both US and Canadian + English, but not words specific for Australia, New Zealand or Great + Britain. ++ If the name "cjk" is included East Asian characters are excluded from ++ spell checking. This is useful when editing text that also has Asian ++ words. + *E757* + As a special case the name of a .spl file can be given as-is. The + first "_xx" in the name is removed and used as the region name +*** ../vim-7.4.087/runtime/doc/spell.txt 2013-08-10 13:25:01.000000000 +0200 +--- runtime/doc/spell.txt 2013-11-12 04:02:27.000000000 +0100 +*************** +*** 269,274 **** +--- 269,281 ---- + latin1 yi transliterated Yiddish + utf-8 yi-tr transliterated Yiddish + ++ *spell-cjk* ++ Chinese, Japanese and other East Asian characters are normally marked as ++ errors, because spell checking of these characters is not supported. If ++ 'spelllang' includes "cjk", these characters are not marked as errors. This ++ is useful when editing text with spell checking while some Asian words are ++ present. ++ + + SPELL FILES *spell-load* + +*** ../vim-7.4.087/src/mbyte.c 2013-07-05 20:07:21.000000000 +0200 +--- src/mbyte.c 2013-11-12 03:55:50.000000000 +0100 +*************** +*** 947,954 **** + { + case 0x2121: /* ZENKAKU space */ + return 0; +! case 0x2122: /* KU-TEN (Japanese comma) */ +! case 0x2123: /* TOU-TEN (Japanese period) */ + case 0x2124: /* ZENKAKU comma */ + case 0x2125: /* ZENKAKU period */ + return 1; +--- 947,954 ---- + { + case 0x2121: /* ZENKAKU space */ + return 0; +! case 0x2122: /* TOU-TEN (Japanese comma) */ +! case 0x2123: /* KU-TEN (Japanese period) */ + case 0x2124: /* ZENKAKU comma */ + case 0x2125: /* ZENKAKU period */ + return 1; +*************** +*** 2477,2485 **** + /* sorted list of non-overlapping intervals */ + static struct clinterval + { +! unsigned short first; +! unsigned short last; +! unsigned short class; + } classes[] = + { + {0x037e, 0x037e, 1}, /* Greek question mark */ +--- 2477,2485 ---- + /* sorted list of non-overlapping intervals */ + static struct clinterval + { +! unsigned int first; +! unsigned int last; +! unsigned int class; + } classes[] = + { + {0x037e, 0x037e, 1}, /* Greek question mark */ +*************** +*** 2544,2549 **** +--- 2544,2553 ---- + {0xff1a, 0xff20, 1}, /* half/fullwidth ASCII */ + {0xff3b, 0xff40, 1}, /* half/fullwidth ASCII */ + {0xff5b, 0xff65, 1}, /* half/fullwidth ASCII */ ++ {0x20000, 0x2a6df, 0x4e00}, /* CJK Ideographs */ ++ {0x2a700, 0x2b73f, 0x4e00}, /* CJK Ideographs */ ++ {0x2b740, 0x2b81f, 0x4e00}, /* CJK Ideographs */ ++ {0x2f800, 0x2fa1f, 0x4e00}, /* CJK Ideographs */ + }; + int bot = 0; + int top = sizeof(classes) / sizeof(struct clinterval) - 1; +*************** +*** 2563,2571 **** + while (top >= bot) + { + mid = (bot + top) / 2; +! if (classes[mid].last < c) + bot = mid + 1; +! else if (classes[mid].first > c) + top = mid - 1; + else + return (int)classes[mid].class; +--- 2567,2575 ---- + while (top >= bot) + { + mid = (bot + top) / 2; +! if (classes[mid].last < (unsigned int)c) + bot = mid + 1; +! else if (classes[mid].first > (unsigned int)c) + top = mid - 1; + else + return (int)classes[mid].class; +*** ../vim-7.4.087/src/option.c 2013-11-08 04:30:06.000000000 +0100 +--- src/option.c 2013-11-12 04:34:46.000000000 +0100 +*************** +*** 7122,7127 **** +--- 7122,7132 ---- + if (varp == &(curwin->w_s->b_p_spl)) + { + char_u fname[200]; ++ char_u *q = curwin->w_s->b_p_spl; ++ ++ /* Skip the first name if it is "cjk". */ ++ if (STRNCMP(q, "cjk,", 4) == 0) ++ q += 4; + + /* + * Source the spell/LANG.vim in 'runtimepath'. +*************** +*** 7129,7139 **** + * Use the first name in 'spelllang' up to '_region' or + * '.encoding'. + */ +! for (p = curwin->w_s->b_p_spl; *p != NUL; ++p) + if (vim_strchr((char_u *)"_.,", *p) != NULL) + break; +! vim_snprintf((char *)fname, 200, "spell/%.*s.vim", +! (int)(p - curwin->w_s->b_p_spl), curwin->w_s->b_p_spl); + source_runtime(fname, TRUE); + } + #endif +--- 7134,7143 ---- + * Use the first name in 'spelllang' up to '_region' or + * '.encoding'. + */ +! for (p = q; *p != NUL; ++p) + if (vim_strchr((char_u *)"_.,", *p) != NULL) + break; +! vim_snprintf((char *)fname, 200, "spell/%.*s.vim", (int)(p - q), q); + source_runtime(fname, TRUE); + } + #endif +*** ../vim-7.4.087/src/spell.c 2013-09-29 13:38:25.000000000 +0200 +--- src/spell.c 2013-11-12 04:37:33.000000000 +0100 +*************** +*** 754,762 **** + static void clear_spell_chartab __ARGS((spelltab_T *sp)); + static int set_spell_finish __ARGS((spelltab_T *new_st)); + static int spell_iswordp __ARGS((char_u *p, win_T *wp)); +! static int spell_iswordp_nmw __ARGS((char_u *p)); + #ifdef FEAT_MBYTE +! static int spell_mb_isword_class __ARGS((int cl)); + static int spell_iswordp_w __ARGS((int *p, win_T *wp)); + #endif + static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap)); +--- 754,762 ---- + static void clear_spell_chartab __ARGS((spelltab_T *sp)); + static int set_spell_finish __ARGS((spelltab_T *new_st)); + static int spell_iswordp __ARGS((char_u *p, win_T *wp)); +! static int spell_iswordp_nmw __ARGS((char_u *p, win_T *wp)); + #ifdef FEAT_MBYTE +! static int spell_mb_isword_class __ARGS((int cl, win_T *wp)); + static int spell_iswordp_w __ARGS((int *p, win_T *wp)); + #endif + static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap)); +*************** +*** 1149,1155 **** + + /* When we are at a non-word character there is no error, just + * skip over the character (try looking for a word after it). */ +! else if (!spell_iswordp_nmw(ptr)) + { + if (capcol != NULL && wp->w_s->b_cap_prog != NULL) + { +--- 1149,1155 ---- + + /* When we are at a non-word character there is no error, just + * skip over the character (try looking for a word after it). */ +! else if (!spell_iswordp_nmw(ptr, wp)) + { + if (capcol != NULL && wp->w_s->b_cap_prog != NULL) + { +*************** +*** 1561,1567 **** + * accept a no-caps word, even when the dictionary + * word specifies ONECAP. */ + mb_ptr_back(mip->mi_word, p); +! if (spell_iswordp_nmw(p) + ? capflags == WF_ONECAP + : (flags & WF_ONECAP) != 0 + && capflags != WF_ONECAP) +--- 1561,1567 ---- + * accept a no-caps word, even when the dictionary + * word specifies ONECAP. */ + mb_ptr_back(mip->mi_word, p); +! if (spell_iswordp_nmw(p, mip->mi_win) + ? capflags == WF_ONECAP + : (flags & WF_ONECAP) != 0 + && capflags != WF_ONECAP) +*************** +*** 4234,4240 **** + if (spl_copy == NULL) + goto theend; + +! /* loop over comma separated language names. */ + for (splp = spl_copy; *splp != NUL; ) + { + /* Get one language name. */ +--- 4234,4242 ---- + if (spl_copy == NULL) + goto theend; + +! wp->w_s->b_cjk = 0; +! +! /* Loop over comma separated language names. */ + for (splp = spl_copy; *splp != NUL; ) + { + /* Get one language name. */ +*************** +*** 4242,4247 **** +--- 4244,4255 ---- + region = NULL; + len = (int)STRLEN(lang); + ++ if (STRCMP(lang, "cjk") == 0) ++ { ++ wp->w_s->b_cjk = 1; ++ continue; ++ } ++ + /* If the name ends in ".spl" use it as the name of the spell file. + * If there is a region name let "region" point to it and remove it + * from the name. */ +*************** +*** 4601,4607 **** + int past_second = FALSE; /* past second word char */ + + /* find first letter */ +! for (p = word; !spell_iswordp_nmw(p); mb_ptr_adv(p)) + if (end == NULL ? *p == NUL : p >= end) + return 0; /* only non-word characters, illegal word */ + #ifdef FEAT_MBYTE +--- 4609,4615 ---- + int past_second = FALSE; /* past second word char */ + + /* find first letter */ +! for (p = word; !spell_iswordp_nmw(p, curwin); mb_ptr_adv(p)) + if (end == NULL ? *p == NUL : p >= end) + return 0; /* only non-word characters, illegal word */ + #ifdef FEAT_MBYTE +*************** +*** 4617,4623 **** + * But a word with an upper char only at start is a ONECAP. + */ + for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p)) +! if (spell_iswordp_nmw(p)) + { + c = PTR2CHAR(p); + if (!SPELL_ISUPPER(c)) +--- 4625,4631 ---- + * But a word with an upper char only at start is a ONECAP. + */ + for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p)) +! if (spell_iswordp_nmw(p, curwin)) + { + c = PTR2CHAR(p); + if (!SPELL_ISUPPER(c)) +*************** +*** 9907,9913 **** + + c = mb_ptr2char(s); + if (c > 255) +! return spell_mb_isword_class(mb_get_class(s)); + return spelltab.st_isw[c]; + } + #endif +--- 9915,9921 ---- + + c = mb_ptr2char(s); + if (c > 255) +! return spell_mb_isword_class(mb_get_class(s), wp); + return spelltab.st_isw[c]; + } + #endif +*************** +*** 9920,9927 **** + * Unlike spell_iswordp() this doesn't check for "midword" characters. + */ + static int +! spell_iswordp_nmw(p) + char_u *p; + { + #ifdef FEAT_MBYTE + int c; +--- 9928,9936 ---- + * Unlike spell_iswordp() this doesn't check for "midword" characters. + */ + static int +! spell_iswordp_nmw(p, wp) + char_u *p; ++ win_T *wp; + { + #ifdef FEAT_MBYTE + int c; +*************** +*** 9930,9936 **** + { + c = mb_ptr2char(p); + if (c > 255) +! return spell_mb_isword_class(mb_get_class(p)); + return spelltab.st_isw[c]; + } + #endif +--- 9939,9945 ---- + { + c = mb_ptr2char(p); + if (c > 255) +! return spell_mb_isword_class(mb_get_class(p), wp); + return spelltab.st_isw[c]; + } + #endif +*************** +*** 9942,9952 **** + * Return TRUE if word class indicates a word character. + * Only for characters above 255. + * Unicode subscript and superscript are not considered word characters. + */ + static int +! spell_mb_isword_class(cl) +! int cl; + { + return cl >= 2 && cl != 0x2070 && cl != 0x2080; + } + +--- 9951,9966 ---- + * Return TRUE if word class indicates a word character. + * Only for characters above 255. + * Unicode subscript and superscript are not considered word characters. ++ * See also dbcs_class() and utf_class() in mbyte.c. + */ + static int +! spell_mb_isword_class(cl, wp) +! int cl; +! win_T *wp; + { ++ if (wp->w_s->b_cjk) ++ /* East Asian characters are not considered word characters. */ ++ return cl == 2 || cl == 0x2800; + return cl >= 2 && cl != 0x2070 && cl != 0x2080; + } + +*************** +*** 9971,9979 **** + if (*s > 255) + { + if (enc_utf8) +! return spell_mb_isword_class(utf_class(*s)); + if (enc_dbcs) +! return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2; + return 0; + } + return spelltab.st_isw[*s]; +--- 9985,9994 ---- + if (*s > 255) + { + if (enc_utf8) +! return spell_mb_isword_class(utf_class(*s), wp); + if (enc_dbcs) +! return spell_mb_isword_class( +! dbcs_class((unsigned)*s >> 8, *s & 0xff), wp); + return 0; + } + return spelltab.st_isw[*s]; +*************** +*** 10193,10205 **** + line = ml_get_curline(); + p = line + curwin->w_cursor.col; + /* Backup to before start of word. */ +! while (p > line && spell_iswordp_nmw(p)) + mb_ptr_back(line, p); + /* Forward to start of word. */ +! while (*p != NUL && !spell_iswordp_nmw(p)) + mb_ptr_adv(p); + +! if (!spell_iswordp_nmw(p)) /* No word found. */ + { + beep_flush(); + return; +--- 10208,10220 ---- + line = ml_get_curline(); + p = line + curwin->w_cursor.col; + /* Backup to before start of word. */ +! while (p > line && spell_iswordp_nmw(p, curwin)) + mb_ptr_back(line, p); + /* Forward to start of word. */ +! while (*p != NUL && !spell_iswordp_nmw(p, curwin)) + mb_ptr_adv(p); + +! if (!spell_iswordp_nmw(p, curwin)) /* No word found. */ + { + beep_flush(); + return; +*************** +*** 10436,10442 **** + for (;;) + { + mb_ptr_back(line, p); +! if (p == line || spell_iswordp_nmw(p)) + break; + if (vim_regexec(®match, p, 0) + && regmatch.endp[0] == line + endcol) +--- 10451,10457 ---- + for (;;) + { + mb_ptr_back(line, p); +! if (p == line || spell_iswordp_nmw(p, curwin)) + break; + if (vim_regexec(®match, p, 0) + && regmatch.endp[0] == line + endcol) +*************** +*** 11645,11651 **** + + /* When appending a compound word after a word character don't + * use Onecap. */ +! if (p != NULL && spell_iswordp_nmw(p)) + c &= ~WF_ONECAP; + make_case_word(tword + sp->ts_splitoff, + preword + sp->ts_prewordlen, c); +--- 11660,11666 ---- + + /* When appending a compound word after a word character don't + * use Onecap. */ +! if (p != NULL && spell_iswordp_nmw(p, curwin)) + c &= ~WF_ONECAP; + make_case_word(tword + sp->ts_splitoff, + preword + sp->ts_prewordlen, c); +*************** +*** 11895,11901 **** + * character when the word ends. But only when the + * good word can end. */ + if (((!try_compound && !spell_iswordp_nmw(fword +! + sp->ts_fidx)) + || fword_ends) + && fword[sp->ts_fidx] != NUL + && goodword_ends) +--- 11910,11917 ---- + * character when the word ends. But only when the + * good word can end. */ + if (((!try_compound && !spell_iswordp_nmw(fword +! + sp->ts_fidx, +! curwin)) + || fword_ends) + && fword[sp->ts_fidx] != NUL + && goodword_ends) +*************** +*** 14226,14232 **** + } + else + { +! if (spell_iswordp_nmw(s)) + *t++ = *s; + ++s; + } +--- 14242,14248 ---- + } + else + { +! if (spell_iswordp_nmw(s, curwin)) + *t++ = *s; + ++s; + } +*************** +*** 14521,14527 **** + else + { + did_white = FALSE; +! if (!spell_iswordp_nmw(t)) + continue; + } + } +--- 14537,14543 ---- + else + { + did_white = FALSE; +! if (!spell_iswordp_nmw(t, curwin)) + continue; + } + } +*************** +*** 16045,16051 **** + for (p = line + startcol; p > line; ) + { + mb_ptr_back(line, p); +! if (spell_iswordp_nmw(p)) + break; + } + +--- 16061,16067 ---- + for (p = line + startcol; p > line; ) + { + mb_ptr_back(line, p); +! if (spell_iswordp_nmw(p, curwin)) + break; + } + +*** ../vim-7.4.087/src/structs.h 2013-11-09 05:30:18.000000000 +0100 +--- src/structs.h 2013-11-12 03:55:50.000000000 +0100 +*************** +*** 1310,1315 **** +--- 1310,1318 ---- + regprog_T *b_cap_prog; /* program for 'spellcapcheck' */ + char_u *b_p_spf; /* 'spellfile' */ + char_u *b_p_spl; /* 'spelllang' */ ++ # ifdef FEAT_MBYTE ++ int b_cjk; /* all CJK letters as OK */ ++ # endif + #endif + #if !defined(FEAT_SYN_HL) && !defined(FEAT_SPELL) + int dummy; +*** ../vim-7.4.087/src/version.c 2013-11-11 23:17:31.000000000 +0100 +--- src/version.c 2013-11-12 03:59:03.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 88, + /**/ + +-- +THEOREM: VI is perfect. +PROOF: VI in roman numerals is 6. The natural numbers < 6 which divide 6 are +1, 2, and 3. 1+2+3 = 6. So 6 is a perfect number. Therefore, VI is perfect. +QED + -- Arthur Tateishi + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.089 b/patches/source/vim/patches/7.4.089 new file mode 100644 index 000000000..80697cef2 --- /dev/null +++ b/patches/source/vim/patches/7.4.089 @@ -0,0 +1,47 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.089 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.089 +Problem: When editing a file in a directory mounted through sshfs Vim + doesn't set the security context on a renamed file. +Solution: Add mch_copy_sec() to vim_rename(). (Peter Backes) +Files: src/fileio.c + + +*** ../vim-7.4.088/src/fileio.c 2013-08-30 17:06:56.000000000 +0200 +--- src/fileio.c 2013-11-12 05:07:22.000000000 +0100 +*************** +*** 6707,6712 **** +--- 6707,6715 ---- + mch_set_acl(to, acl); + mch_free_acl(acl); + #endif ++ #ifdef HAVE_SELINUX ++ mch_copy_sec(from, to) ++ #endif + if (errmsg != NULL) + { + EMSG2(errmsg, to); +*** ../vim-7.4.088/src/version.c 2013-11-12 04:43:57.000000000 +0100 +--- src/version.c 2013-11-12 05:11:02.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 89, + /**/ + +-- +Kiss me twice. I'm schizophrenic. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.090 b/patches/source/vim/patches/7.4.090 new file mode 100644 index 000000000..a7ee9275d --- /dev/null +++ b/patches/source/vim/patches/7.4.090 @@ -0,0 +1,223 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.090 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.090 +Problem: Win32: When a directory name contains an exclamation mark, + completion doesn't complete the contents of the directory. +Solution: Escape the exclamation mark. (Jan Stocker) +Files: src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + + +*** ../vim-7.4.089/src/ex_getln.c 2013-11-09 05:30:18.000000000 +0100 +--- src/ex_getln.c 2013-11-12 05:23:15.000000000 +0100 +*************** +*** 3852,3860 **** + char_u buf[20]; + int j = 0; + +! /* Don't escape '[' and '{' if they are in 'isfname'. */ + for (p = PATH_ESC_CHARS; *p != NUL; ++p) +! if ((*p != '[' && *p != '{') || !vim_isfilec(*p)) + buf[j++] = *p; + buf[j] = NUL; + p = vim_strsave_escaped(fname, buf); +--- 3852,3860 ---- + char_u buf[20]; + int j = 0; + +! /* Don't escape '[', '{' and '!' if they are in 'isfname'. */ + for (p = PATH_ESC_CHARS; *p != NUL; ++p) +! if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p)) + buf[j++] = *p; + buf[j] = NUL; + p = vim_strsave_escaped(fname, buf); +*** ../vim-7.4.089/src/testdir/test102.in 2013-11-12 05:27:48.000000000 +0100 +--- src/testdir/test102.in 2013-11-12 05:21:26.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ Test if fnameescape is correct for special chars like ! ++ ++ STARTTEST ++ :%d ++ :let fname = 'Xspa ce' ++ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry ++ :let fname = 'Xemark!' ++ :try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry ++ :w! test.out ++ :qa! ++ ENDTEST ++ +*** ../vim-7.4.089/src/testdir/test102.ok 2013-11-12 05:27:48.000000000 +0100 +--- src/testdir/test102.ok 2013-11-12 05:21:19.000000000 +0100 +*************** +*** 0 **** +--- 1,3 ---- ++ ++ Space ++ ExclamationMark +*** ../vim-7.4.089/src/testdir/Make_amiga.mak 2013-11-08 04:30:06.000000000 +0100 +--- src/testdir/Make_amiga.mak 2013-11-12 05:20:03.000000000 +0100 +*************** +*** 34,40 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out + + .SUFFIXES: .in .out + +--- 34,40 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out + + .SUFFIXES: .in .out + +*************** +*** 152,154 **** +--- 152,155 ---- + test99.out: test99.in + test100.out: test100.in + test101.out: test101.in ++ test102.out: test102.in +*** ../vim-7.4.089/src/testdir/Make_dos.mak 2013-11-08 04:30:06.000000000 +0100 +--- src/testdir/Make_dos.mak 2013-11-12 05:20:10.000000000 +0100 +*************** +*** 33,39 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out + + SCRIPTS32 = test50.out test70.out + +--- 33,39 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.089/src/testdir/Make_ming.mak 2013-11-08 04:30:06.000000000 +0100 +--- src/testdir/Make_ming.mak 2013-11-12 05:20:14.000000000 +0100 +*************** +*** 53,59 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out test101.out + + SCRIPTS32 = test50.out test70.out + +--- 53,59 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out test101.out test102.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.089/src/testdir/Make_os2.mak 2013-11-08 04:30:06.000000000 +0100 +--- src/testdir/Make_os2.mak 2013-11-12 05:20:18.000000000 +0100 +*************** +*** 35,41 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out + + .SUFFIXES: .in .out + +--- 35,41 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.089/src/testdir/Make_vms.mms 2013-11-08 04:30:06.000000000 +0100 +--- src/testdir/Make_vms.mms 2013-11-12 05:20:21.000000000 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 08 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 12 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 79,85 **** + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 79,85 ---- + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.089/src/testdir/Makefile 2013-11-08 04:30:06.000000000 +0100 +--- src/testdir/Makefile 2013-11-12 05:20:32.000000000 +0100 +*************** +*** 30,36 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out + + SCRIPTS_GUI = test16.out + +--- 30,36 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.089/src/version.c 2013-11-12 05:11:58.000000000 +0100 +--- src/version.c 2013-11-12 05:24:24.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 90, + /**/ + +-- +If you don't get everything you want, think of +everything you didn't get and don't want. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.091 b/patches/source/vim/patches/7.4.091 new file mode 100644 index 000000000..230601df3 --- /dev/null +++ b/patches/source/vim/patches/7.4.091 @@ -0,0 +1,59 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.091 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.091 (after 7.4.089) +Problem: Missing semicolon. +Solution: Add the semicolon. +Files: src/fileio.c + + +*** ../vim-7.4.090/src/fileio.c 2013-11-12 05:11:58.000000000 +0100 +--- src/fileio.c 2013-11-12 18:07:47.000000000 +0100 +*************** +*** 6708,6714 **** + mch_free_acl(acl); + #endif + #ifdef HAVE_SELINUX +! mch_copy_sec(from, to) + #endif + if (errmsg != NULL) + { +--- 6708,6714 ---- + mch_free_acl(acl); + #endif + #ifdef HAVE_SELINUX +! mch_copy_sec(from, to); + #endif + if (errmsg != NULL) + { +*** ../vim-7.4.090/src/version.c 2013-11-12 05:28:08.000000000 +0100 +--- src/version.c 2013-11-12 18:08:33.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 91, + /**/ + +-- +CART DRIVER: Bring out your dead! + We follow the cart through a wretched, impoverished plague-ridden village. + A few starved mongrels run about in the mud scavenging. In the open + doorway of one house perhaps we jug glimpse a pair of legs dangling from + the ceiling. In another doorway an OLD WOMAN is beating a cat against a + wall rather like one does with a mat. The cart passes round a dead donkey + or cow in the mud. And a MAN tied to a cart is being hammered to death by + four NUNS with huge mallets. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.092 b/patches/source/vim/patches/7.4.092 new file mode 100644 index 000000000..e74888eba --- /dev/null +++ b/patches/source/vim/patches/7.4.092 @@ -0,0 +1,62 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.092 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.092 (after 7.4.088) +Problem: Can't build small version. +Solution: Add #ifdef where the b_cjk flag is used. (Ken Takata) +Files: src/spell.c + + +*** ../vim-7.4.091/src/spell.c 2013-11-12 04:43:57.000000000 +0100 +--- src/spell.c 2013-11-14 03:51:24.000000000 +0100 +*************** +*** 4234,4240 **** +--- 4234,4242 ---- + if (spl_copy == NULL) + goto theend; + ++ #ifdef FEAT_MBYTE + wp->w_s->b_cjk = 0; ++ #endif + + /* Loop over comma separated language names. */ + for (splp = spl_copy; *splp != NUL; ) +*************** +*** 4246,4252 **** +--- 4248,4256 ---- + + if (STRCMP(lang, "cjk") == 0) + { ++ #ifdef FEAT_MBYTE + wp->w_s->b_cjk = 1; ++ #endif + continue; + } + +*** ../vim-7.4.091/src/version.c 2013-11-12 18:09:20.000000000 +0100 +--- src/version.c 2013-11-14 03:52:18.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 92, + /**/ + +-- +ARTHUR: Old woman! +DENNIS: Man! +ARTHUR: Man. I'm sorry. Old man, What knight live in that castle over there? +DENNIS: I'm thirty-seven. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.093 b/patches/source/vim/patches/7.4.093 new file mode 100644 index 000000000..24da0a8f3 --- /dev/null +++ b/patches/source/vim/patches/7.4.093 @@ -0,0 +1,72 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.093 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.093 +Problem: Configure can't use LuaJIT on ubuntu 12.04. +Solution: Adjust the configure regexp that locates the version number. + (Charles Strahan) +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.4.092/src/configure.in 2013-11-04 04:57:46.000000000 +0100 +--- src/configure.in 2013-11-17 20:12:04.000000000 +0100 +*************** +*** 496,502 **** + if test "X$vi_cv_path_luajit" != "X"; then + dnl -- find LuaJIT version + AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, +! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]] .*/\1/'` ]) + AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, + [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) + vi_cv_path_lua="$vi_cv_path_luajit" +--- 496,502 ---- + if test "X$vi_cv_path_luajit" != "X"; then + dnl -- find LuaJIT version + AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, +! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ]) + AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, + [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) + vi_cv_path_lua="$vi_cv_path_luajit" +*** ../vim-7.4.092/src/auto/configure 2013-11-04 04:57:46.000000000 +0100 +--- src/auto/configure 2013-11-17 20:13:30.000000000 +0100 +*************** +*** 4743,4749 **** + if test "${vi_cv_version_luajit+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +! vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([0-9.]*\)\.[0-9] .*/\1/'` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 + $as_echo "$vi_cv_version_luajit" >&6; } +--- 4743,4749 ---- + if test "${vi_cv_version_luajit+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 + $as_echo "$vi_cv_version_luajit" >&6; } +*** ../vim-7.4.092/src/version.c 2013-11-14 03:54:02.000000000 +0100 +--- src/version.c 2013-11-17 20:13:43.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 93, + /**/ + +-- +"Beware of bugs in the above code; I have only proved +it correct, not tried it." -- Donald Knuth + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.094 b/patches/source/vim/patches/7.4.094 new file mode 100644 index 000000000..96ebc4d41 --- /dev/null +++ b/patches/source/vim/patches/7.4.094 @@ -0,0 +1,139 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.094 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.094 +Problem: Configure may not find that -lint is needed for gettext(). +Solution: Check for gettext() with empty $LIBS. (Thomas De Schampheleire) +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.4.093/src/configure.in 2013-11-17 20:17:05.000000000 +0100 +--- src/configure.in 2013-11-17 20:23:49.000000000 +0100 +*************** +*** 3725,3730 **** +--- 3725,3733 ---- + fi + + dnl Check if gettext() is working and if it needs -lintl ++ dnl We take care to base this on an empty LIBS: on some systems libelf would be ++ dnl in LIBS and implicitly take along libintl. The final LIBS would then not ++ dnl contain libintl, and the link step would fail due to -Wl,--as-needed. + AC_MSG_CHECKING(--disable-nls argument) + AC_ARG_ENABLE(nls, + [ --disable-nls Don't support NLS (gettext()).], , +*************** +*** 3743,3758 **** + if test -f po/Makefile; then + have_gettext="no" + if test -n "$MSGFMT"; then + AC_TRY_LINK( + [#include ], + [gettext("Test");], +! AC_MSG_RESULT([gettext() works]); have_gettext="yes", +! olibs=$LIBS +! LIBS="$LIBS -lintl" + AC_TRY_LINK( + [#include ], + [gettext("Test");], +! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes", + AC_MSG_RESULT([gettext() doesn't work]); + LIBS=$olibs)) + else +--- 3746,3763 ---- + if test -f po/Makefile; then + have_gettext="no" + if test -n "$MSGFMT"; then ++ olibs=$LIBS ++ LIBS="" + AC_TRY_LINK( + [#include ], + [gettext("Test");], +! AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs, +! LIBS="-lintl" + AC_TRY_LINK( + [#include ], + [gettext("Test");], +! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes"; +! LIBS="$olibs -lintl", + AC_MSG_RESULT([gettext() doesn't work]); + LIBS=$olibs)) + else +*** ../vim-7.4.093/src/auto/configure 2013-11-17 20:17:05.000000000 +0100 +--- src/auto/configure 2013-11-17 20:25:13.000000000 +0100 +*************** +*** 12690,12695 **** +--- 12690,12697 ---- + if test -f po/Makefile; then + have_gettext="no" + if test -n "$MSGFMT"; then ++ olibs=$LIBS ++ LIBS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +*************** +*** 12703,12712 **** + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5 +! $as_echo "gettext() works" >&6; }; have_gettext="yes" + else +! olibs=$LIBS +! LIBS="$LIBS -lintl" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +--- 12705,12713 ---- + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5 +! $as_echo "gettext() works" >&6; }; have_gettext="yes"; LIBS=$olibs + else +! LIBS="-lintl" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include +*************** +*** 12720,12726 **** + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5 +! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5 + $as_echo "gettext() doesn't work" >&6; }; +--- 12721,12728 ---- + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5 +! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"; +! LIBS="$olibs -lintl" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5 + $as_echo "gettext() doesn't work" >&6; }; +*** ../vim-7.4.093/src/version.c 2013-11-17 20:17:05.000000000 +0100 +--- src/version.c 2013-11-17 20:27:43.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 94, + /**/ + +-- +BLACK KNIGHT: The Black Knight always triumphs. Have at you! + ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright. +BLACK KNIGHT: All right, we'll call it a draw. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.095 b/patches/source/vim/patches/7.4.095 new file mode 100644 index 000000000..f7abfcafb --- /dev/null +++ b/patches/source/vim/patches/7.4.095 @@ -0,0 +1,73 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.095 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.095 (after 7.4.093) +Problem: Regexp for LuaJIT version doesn't work on BSD. +Solution: Use "*" instead of "\+" and "\?". (Ozaki) +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.4.094/src/configure.in 2013-11-17 20:32:49.000000000 +0100 +--- src/configure.in 2013-11-21 12:04:46.000000000 +0100 +*************** +*** 496,502 **** + if test "X$vi_cv_path_luajit" != "X"; then + dnl -- find LuaJIT version + AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, +! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ]) + AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, + [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) + vi_cv_path_lua="$vi_cv_path_luajit" +--- 496,502 ---- + if test "X$vi_cv_path_luajit" != "X"; then + dnl -- find LuaJIT version + AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, +! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]*\)* .*/\1/'` ]) + AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, + [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) + vi_cv_path_lua="$vi_cv_path_luajit" +*** ../vim-7.4.094/src/auto/configure 2013-11-17 20:32:49.000000000 +0100 +--- src/auto/configure 2013-11-21 12:07:39.000000000 +0100 +*************** +*** 4743,4749 **** + if test "${vi_cv_version_luajit+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 + $as_echo "$vi_cv_version_luajit" >&6; } +--- 4743,4749 ---- + if test "${vi_cv_version_luajit+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5 + $as_echo "$vi_cv_version_luajit" >&6; } +*** ../vim-7.4.094/src/version.c 2013-11-17 20:32:49.000000000 +0100 +--- src/version.c 2013-11-21 12:06:26.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 95, + /**/ + +-- +Our job was to build a computer information system for the branch banks. We +were the perfect people for the job: Dean had seen a computer once, and I had +heard Dean talk about it. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.096 b/patches/source/vim/patches/7.4.096 new file mode 100644 index 000000000..be20959b3 --- /dev/null +++ b/patches/source/vim/patches/7.4.096 @@ -0,0 +1,96 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.096 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.096 +Problem: Can't change directory to an UNC path. +Solution: Use win32_getattrs() in mch_getperm(). (Christian Brabandt) +Files: src/os_win32.c + + +*** ../vim-7.4.095/src/os_win32.c 2013-09-25 19:13:32.000000000 +0200 +--- src/os_win32.c 2013-11-21 12:31:52.000000000 +0100 +*************** +*** 2841,2858 **** + } + + /* +! * get file permissions for `name' +! * -1 : error +! * else mode_t + */ + long + mch_getperm(char_u *name) + { + struct stat st; +! int n; + + n = mch_stat(name, &st); +! return n == 0 ? (int)st.st_mode : -1; + } + + +--- 2841,2860 ---- + } + + /* +! * Get file permissions for "name". +! * Return mode_t or -1 for error. + */ + long + mch_getperm(char_u *name) + { + struct stat st; +! int n; + ++ if (name[0] == '\\' && name[1] == '\\') ++ /* UNC path */ ++ return (long)win32_getattrs(name); + n = mch_stat(name, &st); +! return n == 0 ? (long)st.st_mode : -1L; + } + + +*************** +*** 3094,3101 **** + * -1 : error + * else FILE_ATTRIBUTE_* defined in winnt.h + */ +! static +! int + win32_getattrs(char_u *name) + { + int attr; +--- 3096,3102 ---- + * -1 : error + * else FILE_ATTRIBUTE_* defined in winnt.h + */ +! static int + win32_getattrs(char_u *name) + { + int attr; +*** ../vim-7.4.095/src/version.c 2013-11-21 12:17:46.000000000 +0100 +--- src/version.c 2013-11-21 12:32:46.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 96, + /**/ + +-- +If your company is not involved in something called "ISO 9000" you probably +have no idea what it is. If your company _is_ involved in ISO 9000 then you +definitely have no idea what it is. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.097 b/patches/source/vim/patches/7.4.097 new file mode 100644 index 000000000..cfb618398 --- /dev/null +++ b/patches/source/vim/patches/7.4.097 @@ -0,0 +1,50 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.097 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.097 (after 7.4.034) +Problem: Unexpected behavior change related to 'virtualedit'. (Ingo Karkat) +Solution: Update the valid cursor position. (Christian Brabandt) +Files: src/ops.c + + +*** ../vim-7.4.096/src/ops.c 2013-11-11 23:17:31.000000000 +0100 +--- src/ops.c 2013-11-21 13:21:24.000000000 +0100 +*************** +*** 3844,3850 **** +--- 3844,3854 ---- + ml_replace(lnum, newp, FALSE); + /* Place cursor on last putted char. */ + if (lnum == curwin->w_cursor.lnum) ++ { ++ /* make sure curwin->w_virtcol is updated */ ++ changed_cline_bef_curs(); + curwin->w_cursor.col += (colnr_T)(totlen - 1); ++ } + } + #ifdef FEAT_VISUAL + if (VIsual_active) +*** ../vim-7.4.096/src/version.c 2013-11-21 12:34:07.000000000 +0100 +--- src/version.c 2013-11-21 13:08:27.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 97, + /**/ + +-- +The only way the average employee can speak to an executive is by taking a +second job as a golf caddie. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.098 b/patches/source/vim/patches/7.4.098 new file mode 100644 index 000000000..78af90e21 --- /dev/null +++ b/patches/source/vim/patches/7.4.098 @@ -0,0 +1,243 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.098 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.098 +Problem: When using ":'<,'>del" errors may be given for the visual line + numbers being out of range. +Solution: Reset Visual mode in ":del". (Lech Lorens) +Files: src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + + +*** ../vim-7.4.097/src/ex_docmd.c 2013-11-09 05:30:18.000000000 +0100 +--- src/ex_docmd.c 2013-11-21 14:04:55.000000000 +0100 +*************** +*** 8570,8575 **** +--- 8570,8580 ---- + beginline(BL_SOL | BL_FIX); + } + ++ #if defined(FEAT_VISUAL) ++ if (VIsual_active) ++ end_visual_mode(); ++ #endif ++ + switch (eap->cmdidx) + { + case CMD_delete: +*** ../vim-7.4.097/src/testdir/test103.in 2013-11-21 14:21:12.000000000 +0100 +--- src/testdir/test103.in 2013-11-21 14:02:09.000000000 +0100 +*************** +*** 0 **** +--- 1,37 ---- ++ Test for visual mode not being reset causing E315 error. ++ STARTTEST ++ :so small.vim ++ :enew ++ :let g:msg="Everything's fine." ++ :function! TriggerTheProblem() ++ : " At this point there is no visual selection because :call reset it. ++ : " Let's restore the selection: ++ : normal gv ++ : '<,'>del _ ++ : try ++ : exe "normal \" ++ : catch /^Vim\%((\a\+)\)\=:E315/ ++ : echom 'Snap! E315 error!' ++ : let g:msg='Snap! E315 error!' ++ : endtry ++ :endfunction ++ :enew ++ :setl buftype=nofile ++ :call append(line('$'), 'Delete this line.') ++ :" ++ :" ++ :" NOTE: this has to be done by a call to a function because executing :del the ++ :" ex-way will require the colon operator which resets the visual mode thus ++ :" preventing the problem: ++ :" ++ GV:call TriggerTheProblem() ++ :%del _ ++ :call append(line('$'), g:msg) ++ :w! test.out ++ :brewind ++ ENDTEST ++ ++ STARTTEST ++ :qa! ++ ENDTEST ++ +*** ../vim-7.4.097/src/testdir/test103.ok 2013-11-21 14:21:12.000000000 +0100 +--- src/testdir/test103.ok 2013-11-21 14:02:28.000000000 +0100 +*************** +*** 0 **** +--- 1,2 ---- ++ ++ Everything's fine. +*** ../vim-7.4.097/src/testdir/Make_amiga.mak 2013-11-12 05:28:08.000000000 +0100 +--- src/testdir/Make_amiga.mak 2013-11-21 14:02:51.000000000 +0100 +*************** +*** 34,40 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out + + .SUFFIXES: .in .out + +--- 34,40 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out test103.out + + .SUFFIXES: .in .out + +*************** +*** 153,155 **** +--- 153,156 ---- + test100.out: test100.in + test101.out: test101.in + test102.out: test102.in ++ test103.out: test103.in +*** ../vim-7.4.097/src/testdir/Make_dos.mak 2013-11-12 05:28:08.000000000 +0100 +--- src/testdir/Make_dos.mak 2013-11-21 14:02:58.000000000 +0100 +*************** +*** 33,39 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out + + SCRIPTS32 = test50.out test70.out + +--- 33,39 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.097/src/testdir/Make_ming.mak 2013-11-12 05:28:08.000000000 +0100 +--- src/testdir/Make_ming.mak 2013-11-21 14:03:01.000000000 +0100 +*************** +*** 53,59 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out test101.out test102.out + + SCRIPTS32 = test50.out test70.out + +--- 53,59 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out test101.out test102.out test103.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.097/src/testdir/Make_os2.mak 2013-11-12 05:28:08.000000000 +0100 +--- src/testdir/Make_os2.mak 2013-11-21 14:03:03.000000000 +0100 +*************** +*** 35,41 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out + + .SUFFIXES: .in .out + +--- 35,41 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.097/src/testdir/Make_vms.mms 2013-11-12 05:28:08.000000000 +0100 +--- src/testdir/Make_vms.mms 2013-11-21 14:03:13.000000000 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 12 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 21 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 79,85 **** + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 79,85 ---- + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.097/src/testdir/Makefile 2013-11-12 05:28:08.000000000 +0100 +--- src/testdir/Makefile 2013-11-21 14:03:23.000000000 +0100 +*************** +*** 30,36 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out + + SCRIPTS_GUI = test16.out + +--- 30,36 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out test103.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.097/src/version.c 2013-11-21 13:24:36.000000000 +0100 +--- src/version.c 2013-11-21 14:20:34.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 98, + /**/ + +-- +I recommend ordering large cargo containers of paper towels to make up +whatever budget underruns you have. Paper products are always useful and they +have the advantage of being completely flushable if you need to make room in +the storage area later. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.099 b/patches/source/vim/patches/7.4.099 new file mode 100644 index 000000000..a9cf63689 --- /dev/null +++ b/patches/source/vim/patches/7.4.099 @@ -0,0 +1,113 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.099 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.099 +Problem: Append in blockwise Visual mode with "$" is wrong. +Solution: After "$" don't use the code that checks if the cursor was moved. + (Hirohito Higashi, Ken Takata) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + + +*** ../vim-7.4.098/src/ops.c 2013-11-21 13:24:36.000000000 +0100 +--- src/ops.c 2013-11-21 14:33:57.000000000 +0100 +*************** +*** 2643,2649 **** + + /* The user may have moved the cursor before inserting something, try + * to adjust the block for that. */ +! if (oap->start.lnum == curbuf->b_op_start.lnum) + { + if (oap->op_type == OP_INSERT + && oap->start.col != curbuf->b_op_start.col) +--- 2643,2649 ---- + + /* The user may have moved the cursor before inserting something, try + * to adjust the block for that. */ +! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX) + { + if (oap->op_type == OP_INSERT + && oap->start.col != curbuf->b_op_start.col) +*** ../vim-7.4.098/src/testdir/test39.in 2013-11-11 01:29:16.000000000 +0100 +--- src/testdir/test39.in 2013-11-21 14:25:55.000000000 +0100 +*************** +*** 23,28 **** +--- 23,40 ---- + /^aaaa/ + :exe ":norm! l\jjjlllI\\ \" + :/^aa/,/^$/w >> test.out ++ :" Test for Visual block was created with the last $ ++ /^A23$/ ++ :exe ":norm! l\j$Aab\" ++ :.,/^$/w >> test.out ++ :" Test for Visual block was created with the middle $ (1) ++ /^B23$/ ++ :exe ":norm! l\j$hAab\" ++ :.,/^$/w >> test.out ++ :" Test for Visual block was created with the middle $ (2) ++ /^C23$/ ++ :exe ":norm! l\j$hhAab\" ++ :.,/^$/w >> test.out + :" gUe must uppercase a whole word, also when ß changes to SS + Gothe youtußeuu endYpk0wgUe + :" gUfx must uppercase until x, inclusive. +*************** +*** 49,54 **** +--- 61,75 ---- + cccccc + dddddd + ++ A23 ++ 4567 ++ ++ B23 ++ 4567 ++ ++ C23 ++ 4567 ++ + abcdefghijklm + abcdefghijklm + abcdefghijklm +*** ../vim-7.4.098/src/testdir/test39.ok 2013-11-11 01:29:16.000000000 +0100 +--- src/testdir/test39.ok 2013-11-21 14:25:10.000000000 +0100 +*************** +*** 8,13 **** +--- 8,22 ---- + ccc ccc + ddd ddd + ++ A23ab ++ 4567ab ++ ++ B23 ab ++ 4567ab ++ ++ C23ab ++ 456ab7 ++ + the YOUTUSSEUU end + - yOUSSTUSSEXu - + THE YOUTUSSEUU END +*** ../vim-7.4.098/src/version.c 2013-11-21 14:21:25.000000000 +0100 +--- src/version.c 2013-11-21 14:34:28.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 99, + /**/ + +-- +If the Universe is constantly expanding, why can't I ever find a parking space? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.100 b/patches/source/vim/patches/7.4.100 new file mode 100644 index 000000000..c3c0cb647 --- /dev/null +++ b/patches/source/vim/patches/7.4.100 @@ -0,0 +1,82 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.100 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.100 +Problem: NFA regexp doesn't handle backreference correctly. (Ryuichi + Hayashida, Urtica Dioica) +Solution: Always add NFA_SKIP, also when it already exists at the start + position. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.099/src/regexp_nfa.c 2013-10-06 15:46:06.000000000 +0200 +--- src/regexp_nfa.c 2013-11-21 15:58:58.000000000 +0100 +*************** +*** 4278,4284 **** + * endless loop for "\(\)*" */ + + default: +! if (state->lastlist[nfa_ll_index] == l->id) + { + /* This state is already in the list, don't add it again, + * unless it is an MOPEN that is used for a backreference or +--- 4278,4284 ---- + * endless loop for "\(\)*" */ + + default: +! if (state->lastlist[nfa_ll_index] == l->id && state->c != NFA_SKIP) + { + /* This state is already in the list, don't add it again, + * unless it is an MOPEN that is used for a backreference or +*** ../vim-7.4.099/src/testdir/test64.in 2013-09-25 18:16:34.000000000 +0200 +--- src/testdir/test64.in 2013-11-21 15:58:19.000000000 +0100 +*************** +*** 406,411 **** +--- 406,412 ---- + :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@ +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.101 +Problem: Using \1 in pattern goes one line too far. (Bohr Shaw, John Little) +Solution: Only advance the match end for the matched characters in the last + line. +Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok + + +*** ../vim-7.4.100/src/regexp.c 2013-09-19 17:03:57.000000000 +0200 +--- src/regexp.c 2013-11-21 16:58:38.000000000 +0100 +*************** +*** 6455,6461 **** + /* + * Check whether a backreference matches. + * Returns RA_FAIL, RA_NOMATCH or RA_MATCH. +! * If "bytelen" is not NULL, it is set to the bytelength of the whole match. + */ + static int + match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen) +--- 6455,6462 ---- + /* + * Check whether a backreference matches. + * Returns RA_FAIL, RA_NOMATCH or RA_MATCH. +! * If "bytelen" is not NULL, it is set to the byte length of the match in the +! * last line. + */ + static int + match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen) +*************** +*** 6511,6516 **** +--- 6512,6519 ---- + + /* Advance to next line. */ + reg_nextline(); ++ if (bytelen != NULL) ++ *bytelen = 0; + ++clnum; + ccol = 0; + if (got_int) +*** ../vim-7.4.100/src/testdir/test64.in 2013-11-21 16:03:35.000000000 +0100 +--- src/testdir/test64.in 2013-11-21 16:56:20.000000000 +0100 +*************** +*** 507,512 **** +--- 507,514 ---- + :" Check a pattern with a line break and ^ and $ + :call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']]) + :" ++ :call add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']]) ++ :" + :"""" Run the multi-line tests + :" + :$put ='multi-line tests' +*** ../vim-7.4.100/src/testdir/test64.ok 2013-11-21 16:03:35.000000000 +0100 +--- src/testdir/test64.ok 2013-11-21 16:57:41.000000000 +0100 +*************** +*** 1031,1036 **** +--- 1031,1039 ---- + OK 0 - a\n^b$\n^c + OK 1 - a\n^b$\n^c + OK 2 - a\n^b$\n^c ++ OK 0 - \(^.\+\n\)\1 ++ OK 1 - \(^.\+\n\)\1 ++ OK 2 - \(^.\+\n\)\1 + + Ta 5 + Ac 7 +*** ../vim-7.4.100/src/version.c 2013-11-21 16:03:35.000000000 +0100 +--- src/version.c 2013-11-21 16:44:00.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 101, + /**/ + +-- +The budget process was invented by an alien race of sadistic beings who +resemble large cats. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.102 b/patches/source/vim/patches/7.4.102 new file mode 100644 index 000000000..b41341301 --- /dev/null +++ b/patches/source/vim/patches/7.4.102 @@ -0,0 +1,84 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.102 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.102 +Problem: Crash when interrupting "z=". +Solution: Add safety check for word length. (Christian Brabandt, Dominique + Pelle) +Files: src/spell.c + + +*** ../vim-7.4.101/src/spell.c 2013-11-14 03:54:02.000000000 +0100 +--- src/spell.c 2013-11-21 17:37:04.000000000 +0100 +*************** +*** 13398,13406 **** + + /* Lookup the word "orgnr" one of the two tries. */ + n = 0; +- wlen = 0; + wordcount = 0; +! for (;;) + { + i = 1; + if (wordcount == orgnr && byts[n + 1] == NUL) +--- 13398,13405 ---- + + /* Lookup the word "orgnr" one of the two tries. */ + n = 0; + wordcount = 0; +! for (wlen = 0; wlen < MAXWLEN - 3; ++wlen) + { + i = 1; + if (wordcount == orgnr && byts[n + 1] == NUL) +*************** +*** 13414,13419 **** +--- 13413,13419 ---- + if (i > byts[n]) /* safety check */ + { + STRCPY(theword + wlen, "BAD"); ++ wlen += 3; + goto badword; + } + +*************** +*** 13426,13432 **** + wordcount += wc; + } + +! theword[wlen++] = byts[n + i]; + n = idxs[n + i]; + } + badword: +--- 13426,13432 ---- + wordcount += wc; + } + +! theword[wlen] = byts[n + i]; + n = idxs[n + i]; + } + badword: +*** ../vim-7.4.101/src/version.c 2013-11-21 17:12:55.000000000 +0100 +--- src/version.c 2013-11-21 17:38:21.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 102, + /**/ + +-- +Engineers will go without food and hygiene for days to solve a problem. +(Other times just because they forgot.) + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.103 b/patches/source/vim/patches/7.4.103 new file mode 100644 index 000000000..4dbce9970 --- /dev/null +++ b/patches/source/vim/patches/7.4.103 @@ -0,0 +1,93 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.103 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.103 +Problem: Dos installer uses an old way to escape spaces in the diff + command. +Solution: Adjust the quoting to the new default shellxquote. (Ben Fritz) +Files: src/dosinst.c + + +*** ../vim-7.4.102/src/dosinst.c 2013-11-07 04:49:23.000000000 +0100 +--- src/dosinst.c 2013-11-21 18:12:13.000000000 +0100 +*************** +*** 1192,1214 **** + fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n"); + + /* If the path has a space: When using cmd.exe (Win NT/2000/XP) put +! * quotes around the whole command and around the diff command. + * Otherwise put a double quote just before the space and at the + * end of the command. Putting quotes around the whole thing + * doesn't work on Win 95/98/ME. This is mostly guessed! */ +- fprintf(fd, " let eq = ''\n"); + fprintf(fd, " if $VIMRUNTIME =~ ' '\n"); + fprintf(fd, " if &sh =~ '\\ ' . arg3 . eq\n"); +! + fprintf(fd, "endfunction\n"); + fprintf(fd, "\n"); + } +--- 1192,1220 ---- + fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n"); + + /* If the path has a space: When using cmd.exe (Win NT/2000/XP) put +! * quotes around the diff command and rely on the default value of +! * shellxquote to solve the quoting problem for the whole command. +! * + * Otherwise put a double quote just before the space and at the + * end of the command. Putting quotes around the whole thing + * doesn't work on Win 95/98/ME. This is mostly guessed! */ + fprintf(fd, " if $VIMRUNTIME =~ ' '\n"); + fprintf(fd, " if &sh =~ '\\ ' . arg3\n"); +! fprintf(fd, " if exists('l:shxq_sav')\n"); +! fprintf(fd, " let &shellxquote=l:shxq_sav\n"); +! fprintf(fd, " endif\n"); + fprintf(fd, "endfunction\n"); + fprintf(fd, "\n"); + } +*** ../vim-7.4.102/src/version.c 2013-11-21 17:42:26.000000000 +0100 +--- src/version.c 2013-11-21 18:11:08.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 103, + /**/ + +-- +The fastest way to get an engineer to solve a problem is to declare that the +problem is unsolvable. No engineer can walk away from an unsolvable problem +until it's solved. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.104 b/patches/source/vim/patches/7.4.104 new file mode 100644 index 000000000..6e51568a3 --- /dev/null +++ b/patches/source/vim/patches/7.4.104 @@ -0,0 +1,107 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.104 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.104 +Problem: ":help s/\_" reports an internal error. (John Beckett) +Solution: Check for NUL and invalid character classes. +Files: src/regexp_nfa.c + + +*** ../vim-7.4.103/src/regexp_nfa.c 2013-11-21 16:03:35.000000000 +0100 +--- src/regexp_nfa.c 2013-11-28 14:05:34.000000000 +0100 +*************** +*** 239,245 **** +--- 239,247 ---- + NFA_UPPER, NFA_NUPPER + }; + ++ static char_u e_nul_found[] = N_("E865: (NFA) Regexp end encountered prematurely"); + static char_u e_misplaced[] = N_("E866: (NFA regexp) Misplaced %c"); ++ static char_u e_ill_char_class[] = N_("E877: (NFA regexp) Invalid character class: %ld"); + + /* NFA regexp \ze operator encountered. */ + static int nfa_has_zend; +*************** +*** 1137,1143 **** + switch (c) + { + case NUL: +! EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely")); + + case Magic('^'): + EMIT(NFA_BOL); +--- 1139,1145 ---- + switch (c) + { + case NUL: +! EMSG_RET_FAIL(_(e_nul_found)); + + case Magic('^'): + EMIT(NFA_BOL); +*************** +*** 1160,1165 **** +--- 1162,1170 ---- + + case Magic('_'): + c = no_Magic(getchr()); ++ if (c == NUL) ++ EMSG_RET_FAIL(_(e_nul_found)); ++ + if (c == '^') /* "\_^" is start-of-line */ + { + EMIT(NFA_BOL); +*************** +*** 1216,1221 **** +--- 1221,1232 ---- + p = vim_strchr(classchars, no_Magic(c)); + if (p == NULL) + { ++ if (extra == NFA_ADD_NL) ++ { ++ EMSGN(_(e_ill_char_class), c); ++ rc_did_emsg = TRUE; ++ return FAIL; ++ } + EMSGN("INTERNAL: Unknown character class char: %ld", c); + return FAIL; + } +*************** +*** 4733,4739 **** + + default: + /* should not be here :P */ +! EMSGN("E877: (NFA regexp) Invalid character class: %ld", class); + return FAIL; + } + return FAIL; +--- 4744,4750 ---- + + default: + /* should not be here :P */ +! EMSGN(_(e_ill_char_class), class); + return FAIL; + } + return FAIL; +*** ../vim-7.4.103/src/version.c 2013-11-21 18:13:26.000000000 +0100 +--- src/version.c 2013-11-28 14:06:59.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 104, + /**/ + +-- +Everybody wants to go to heaven, but nobody wants to die. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.105 b/patches/source/vim/patches/7.4.105 new file mode 100644 index 000000000..f219ac6ff --- /dev/null +++ b/patches/source/vim/patches/7.4.105 @@ -0,0 +1,58 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.105 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.105 +Problem: Completing a tag pattern may give an error for invalid pattern. +Solution: Suppress the error, just return no matches. +Files: src/tag.c + + +*** ../vim-7.4.104/src/tag.c 2013-11-08 04:30:06.000000000 +0100 +--- src/tag.c 2013-11-28 14:27:38.000000000 +0100 +*************** +*** 1326,1331 **** +--- 1326,1332 ---- + int match_no_ic = 0;/* matches with rm_ic == FALSE */ + int match_re; /* match with regexp */ + int matchoff = 0; ++ int save_emsg_off; + + #ifdef FEAT_EMACS_TAGS + /* +*************** +*** 1442,1448 **** +--- 1443,1452 ---- + if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */ + orgpat.len = p_tl; + ++ save_emsg_off = emsg_off; ++ emsg_off = TRUE; /* don't want error for invalid RE here */ + prepare_pats(&orgpat, has_re); ++ emsg_off = save_emsg_off; + if (has_re && orgpat.regmatch.regprog == NULL) + goto findtag_end; + +*** ../vim-7.4.104/src/version.c 2013-11-28 14:20:11.000000000 +0100 +--- src/version.c 2013-11-28 14:30:35.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 105, + /**/ + +-- +The goal of science is to build better mousetraps. +The goal of nature is to build better mice. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.106 b/patches/source/vim/patches/7.4.106 new file mode 100644 index 000000000..13ab0b117 --- /dev/null +++ b/patches/source/vim/patches/7.4.106 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.106 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.106 +Problem: Can't build with Ruby using Cygwin. +Solution: Fix library name in makefile. (Steve Hall) +Files: src/Make_cyg.mak + + +*** ../vim-7.4.105/src/Make_cyg.mak 2013-09-19 20:48:59.000000000 +0200 +--- src/Make_cyg.mak 2013-11-28 16:29:52.000000000 +0100 +*************** +*** 1,6 **** + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Sep 19 + # + # Also read INSTALLpc.txt! + # +--- 1,6 ---- + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Nov 28 + # + # Also read INSTALLpc.txt! + # +*************** +*** 272,278 **** + DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" + DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER) + else +! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib + endif + endif + +--- 272,278 ---- + DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" + DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER) + else +! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME) + endif + endif + +*** ../vim-7.4.105/src/version.c 2013-11-28 14:36:24.000000000 +0100 +--- src/version.c 2013-11-28 16:29:25.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 106, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +7. You finally do take that vacation, but only after buying a cellular modem + and a laptop. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.107 b/patches/source/vim/patches/7.4.107 new file mode 100644 index 000000000..5ac7189f1 --- /dev/null +++ b/patches/source/vim/patches/7.4.107 @@ -0,0 +1,639 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.107 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.107 +Problem: Python: When vim.eval() encounters a Vim error, a try/catch in the + Python code doesn't catch it. (Yggdroot Chen) +Solution: Throw exceptions on errors in vim.eval(). (ZyX) +Files: src/ex_eval.c, src/if_py_both.h, src/proto/ex_eval.pro, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + + +*** ../vim-7.4.106/src/ex_eval.c 2013-06-08 15:50:28.000000000 +0200 +--- src/ex_eval.c 2013-11-28 16:59:09.000000000 +0100 +*************** +*** 321,326 **** +--- 321,337 ---- + } + + /* ++ * Free global "*msg_list" and the messages it contains, then set "*msg_list" ++ * to NULL. ++ */ ++ void ++ free_global_msglist() ++ { ++ free_msglist(*msg_list); ++ *msg_list = NULL; ++ } ++ ++ /* + * Throw the message specified in the call to cause_errthrow() above as an + * error exception. If cstack is NULL, postpone the throw until do_cmdline() + * has returned (see do_one_cmd()). +*************** +*** 410,475 **** + return TRUE; + } + +- + /* +! * Throw a new exception. Return FAIL when out of memory or it was tried to +! * throw an illegal user exception. "value" is the exception string for a user +! * or interrupt exception, or points to a message list in case of an error +! * exception. + */ +! static int +! throw_exception(value, type, cmdname) + void *value; + int type; + char_u *cmdname; + { +! except_T *excp; +! char_u *p, *mesg, *val; + int cmdlen; +! +! /* +! * Disallow faking Interrupt or error exceptions as user exceptions. They +! * would be treated differently from real interrupt or error exceptions when +! * no active try block is found, see do_cmdline(). +! */ +! if (type == ET_USER) +! { +! if (STRNCMP((char_u *)value, "Vim", 3) == 0 && +! (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' || +! ((char_u *)value)[3] == '(')) +! { +! EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix")); +! goto fail; +! } +! } +! +! excp = (except_T *)alloc((unsigned)sizeof(except_T)); +! if (excp == NULL) +! goto nomem; + + if (type == ET_ERROR) + { +! /* Store the original message and prefix the exception value with +! * "Vim:" or, if a command name is given, "Vim(cmdname):". */ +! excp->messages = (struct msglist *)value; +! mesg = excp->messages->throw_msg; + if (cmdname != NULL && *cmdname != NUL) + { + cmdlen = (int)STRLEN(cmdname); +! excp->value = vim_strnsave((char_u *)"Vim(", + 4 + cmdlen + 2 + (int)STRLEN(mesg)); +! if (excp->value == NULL) +! goto nomem; +! STRCPY(&excp->value[4], cmdname); +! STRCPY(&excp->value[4 + cmdlen], "):"); +! val = excp->value + 4 + cmdlen + 2; + } + else + { +! excp->value = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg)); +! if (excp->value == NULL) +! goto nomem; +! val = excp->value + 4; + } + + /* msg_add_fname may have been used to prefix the message with a file +--- 421,461 ---- + return TRUE; + } + + /* +! * Get an exception message that is to be stored in current_exception->value. + */ +! char_u * +! get_exception_string(value, type, cmdname, should_free) + void *value; + int type; + char_u *cmdname; ++ int *should_free; + { +! char_u *ret, *mesg; + int cmdlen; +! char_u *p, *val; + + if (type == ET_ERROR) + { +! *should_free = FALSE; +! mesg = ((struct msglist *)value)->throw_msg; + if (cmdname != NULL && *cmdname != NUL) + { + cmdlen = (int)STRLEN(cmdname); +! ret = vim_strnsave((char_u *)"Vim(", + 4 + cmdlen + 2 + (int)STRLEN(mesg)); +! if (ret == NULL) +! return ret; +! STRCPY(&ret[4], cmdname); +! STRCPY(&ret[4 + cmdlen], "):"); +! val = ret + 4 + cmdlen + 2; + } + else + { +! ret = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg)); +! if (ret == NULL) +! return ret; +! val = ret + 4; + } + + /* msg_add_fname may have been used to prefix the message with a file +*************** +*** 506,519 **** + } + } + else +! excp->value = value; + + excp->type = type; + excp->throw_name = vim_strsave(sourcing_name == NULL + ? (char_u *)"" : sourcing_name); + if (excp->throw_name == NULL) + { +! if (type == ET_ERROR) + vim_free(excp->value); + goto nomem; + } +--- 492,556 ---- + } + } + else +! { +! *should_free = FALSE; +! ret = (char_u *) value; +! } +! +! return ret; +! } +! +! +! /* +! * Throw a new exception. Return FAIL when out of memory or it was tried to +! * throw an illegal user exception. "value" is the exception string for a +! * user or interrupt exception, or points to a message list in case of an +! * error exception. +! */ +! static int +! throw_exception(value, type, cmdname) +! void *value; +! int type; +! char_u *cmdname; +! { +! except_T *excp; +! int should_free; +! +! /* +! * Disallow faking Interrupt or error exceptions as user exceptions. They +! * would be treated differently from real interrupt or error exceptions +! * when no active try block is found, see do_cmdline(). +! */ +! if (type == ET_USER) +! { +! if (STRNCMP((char_u *)value, "Vim", 3) == 0 +! && (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' +! || ((char_u *)value)[3] == '(')) +! { +! EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix")); +! goto fail; +! } +! } +! +! excp = (except_T *)alloc((unsigned)sizeof(except_T)); +! if (excp == NULL) +! goto nomem; +! +! if (type == ET_ERROR) +! /* Store the original message and prefix the exception value with +! * "Vim:" or, if a command name is given, "Vim(cmdname):". */ +! excp->messages = (struct msglist *)value; +! +! excp->value = get_exception_string(value, type, cmdname, &should_free); +! if (excp->value == NULL && should_free) +! goto nomem; + + excp->type = type; + excp->throw_name = vim_strsave(sourcing_name == NULL + ? (char_u *)"" : sourcing_name); + if (excp->throw_name == NULL) + { +! if (should_free) + vim_free(excp->value); + goto nomem; + } +*************** +*** 2033,2042 **** + /* If an error was about to be converted to an exception when + * enter_cleanup() was called, free the message list. */ + if (msg_list != NULL) +! { +! free_msglist(*msg_list); +! *msg_list = NULL; +! } + } + + /* +--- 2070,2076 ---- + /* If an error was about to be converted to an exception when + * enter_cleanup() was called, free the message list. */ + if (msg_list != NULL) +! free_global_msglist(); + } + + /* +*** ../vim-7.4.106/src/if_py_both.h 2013-11-11 01:05:43.000000000 +0100 +--- src/if_py_both.h 2013-11-28 17:00:22.000000000 +0100 +*************** +*** 566,571 **** +--- 566,593 ---- + PyErr_SetNone(PyExc_KeyboardInterrupt); + return -1; + } ++ else if (msg_list != NULL && *msg_list != NULL) ++ { ++ int should_free; ++ char_u *msg; ++ ++ msg = get_exception_string(*msg_list, ET_ERROR, NULL, &should_free); ++ ++ if (msg == NULL) ++ { ++ PyErr_NoMemory(); ++ return -1; ++ } ++ ++ PyErr_SetVim((char *) msg); ++ ++ free_global_msglist(); ++ ++ if (should_free) ++ vim_free(msg); ++ ++ return -1; ++ } + else if (!did_throw) + return (PyErr_Occurred() ? -1 : 0); + /* Python exception is preferred over vim one; unlikely to occur though */ +*** ../vim-7.4.106/src/proto/ex_eval.pro 2013-08-10 13:37:10.000000000 +0200 +--- src/proto/ex_eval.pro 2013-11-28 16:56:33.000000000 +0100 +*************** +*** 4,11 **** +--- 4,13 ---- + int should_abort __ARGS((int retcode)); + int aborted_in_try __ARGS((void)); + int cause_errthrow __ARGS((char_u *mesg, int severe, int *ignore)); ++ void free_global_msglist __ARGS((void)); + void do_errthrow __ARGS((struct condstack *cstack, char_u *cmdname)); + int do_intthrow __ARGS((struct condstack *cstack)); ++ char_u *get_exception_string __ARGS((void *value, int type, char_u *cmdname, int *should_free)); + void discard_current_exception __ARGS((void)); + void report_make_pending __ARGS((int pending, void *value)); + void report_resume_pending __ARGS((int pending, void *value)); +*** ../vim-7.4.106/src/testdir/test86.in 2013-11-11 01:05:43.000000000 +0100 +--- src/testdir/test86.in 2013-11-28 16:41:01.000000000 +0100 +*************** +*** 179,184 **** +--- 179,210 ---- + :unlockvar! l + :" + :" Function calls ++ py << EOF ++ import sys ++ def ee(expr, g=globals(), l=locals()): ++ try: ++ exec(expr, g, l) ++ except: ++ ei = sys.exc_info() ++ msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args) ++ msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'') ++ if expr.find('None') > -1: ++ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', ++ 'TypeError:("\'NoneType\' object is not iterable",)') ++ if expr.find('FailingNumber') > -1: ++ msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'') ++ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', ++ 'TypeError:("\'FailingNumber\' object is not iterable",)') ++ if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1: ++ msg = msg.replace('(\'', '("').replace('\',)', '",)') ++ if expr == 'fd(self=[])': ++ # HACK: PyMapping_Check changed meaning ++ msg = msg.replace('AttributeError:(\'keys\',)', ++ 'TypeError:(\'unable to convert list to vim dictionary\',)') ++ vim.current.buffer.append(expr + ':' + msg) ++ else: ++ vim.current.buffer.append(expr + ':NOT FAILED') ++ EOF + :fun New(...) + : return ['NewStart']+a:000+['NewEnd'] + :endfun +*************** +*** 193,210 **** + :$put =string(l) + :py l.extend([l[0].name]) + :$put =string(l) +! :try +! : py l[1](1, 2, 3) +! :catch +! : $put =v:exception[:16] +! :endtry + :py f=l[0] + :delfunction New +! :try +! : py f(1, 2, 3) +! :catch +! : $put =v:exception[:16] +! :endtry + :if has('float') + : let l=[0.0] + : py l=vim.bindeval('l') +--- 219,228 ---- + :$put =string(l) + :py l.extend([l[0].name]) + :$put =string(l) +! :py ee('l[1](1, 2, 3)') + :py f=l[0] + :delfunction New +! :py ee('f(1, 2, 3)') + :if has('float') + : let l=[0.0] + : py l=vim.bindeval('l') +*************** +*** 216,222 **** + :let messages=[] + :delfunction DictNew + py < 8 # check if the background thread is working + :py del time + :py del threading ++ :py del t + :$put =string(l) + :" + :" settrace +*************** +*** 882,910 **** + :fun D() + :endfun + py << EOF +- def ee(expr, g=globals(), l=locals()): +- try: +- exec(expr, g, l) +- except: +- ei = sys.exc_info() +- msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args) +- msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'') +- if expr.find('None') > -1: +- msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', +- 'TypeError:("\'NoneType\' object is not iterable",)') +- if expr.find('FailingNumber') > -1: +- msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'') +- msg = msg.replace('TypeError:(\'iteration over non-sequence\',)', +- 'TypeError:("\'FailingNumber\' object is not iterable",)') +- if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1: +- msg = msg.replace('(\'', '("').replace('\',)', '",)') +- if expr == 'fd(self=[])': +- # HACK: PyMapping_Check changed meaning +- msg = msg.replace('AttributeError:(\'keys\',)', +- 'TypeError:(\'unable to convert list to vim dictionary\',)') +- cb.append(expr + ':' + msg) +- else: +- cb.append(expr + ':NOT FAILED') + d = vim.Dictionary() + ned = vim.Dictionary(foo='bar', baz='abcD') + dl = vim.Dictionary(a=1) +--- 900,905 ---- +*************** +*** 1276,1281 **** +--- 1271,1277 ---- + ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")') + ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")') + ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")') ++ ee('vim.eval("xxx_unknown_function_xxx()")') + ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")') + del Exe + EOF +*** ../vim-7.4.106/src/testdir/test86.ok 2013-11-11 01:05:43.000000000 +0100 +--- src/testdir/test86.ok 2013-11-28 16:41:01.000000000 +0100 +*************** +*** 53,60 **** + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] +! Vim(python):E725: +! Vim(python):E117: + [0.0, 0.0] + KeyError + TypeError +--- 53,60 ---- + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] +! l[1](1, 2, 3):error:('Vim:E725: Calling dict function without Dictionary: DictNew',) +! f(1, 2, 3):error:('Vim:E117: Unknown function: New',) + [0.0, 0.0] + KeyError + TypeError +*************** +*** 1197,1202 **** +--- 1197,1203 ---- + vim.eval("Exe('throw ''ghi''')"):error:('ghi',) + vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',) + vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) ++ vim.eval("xxx_unknown_function_xxx()"):error:('Vim:E117: Unknown function: xxx_unknown_function_xxx',) + vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',) + Caught KeyboardInterrupt + Running :put +*** ../vim-7.4.106/src/testdir/test87.in 2013-11-11 01:05:43.000000000 +0100 +--- src/testdir/test87.in 2013-11-28 16:41:01.000000000 +0100 +*************** +*** 172,177 **** +--- 172,207 ---- + :unlockvar! l + :" + :" Function calls ++ py3 << EOF ++ import sys ++ import re ++ ++ py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$') ++ ++ def ee(expr, g=globals(), l=locals()): ++ cb = vim.current.buffer ++ try: ++ try: ++ exec(expr, g, l) ++ except Exception as e: ++ if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."): ++ cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1])))) ++ elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0: ++ cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", ''))))) ++ elif sys.version_info >= (3, 3) and e.__class__ is TypeError: ++ m = py33_type_error_pattern.search(str(e)) ++ if m: ++ msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2)) ++ cb.append(expr + ':' + repr((e.__class__, TypeError(msg)))) ++ else: ++ cb.append(expr + ':' + repr((e.__class__, e))) ++ else: ++ cb.append(expr + ':' + repr((e.__class__, e))) ++ else: ++ cb.append(expr + ':NOT FAILED') ++ except Exception as e: ++ cb.append(expr + '::' + repr((e.__class__, e))) ++ EOF + :fun New(...) + : return ['NewStart']+a:000+['NewEnd'] + :endfun +*************** +*** 186,203 **** + :$put =string(l) + :py3 l+=[l[0].name] + :$put =string(l) +! :try +! : py3 l[1](1, 2, 3) +! :catch +! : $put =v:exception[:13] +! :endtry + :py3 f=l[0] + :delfunction New +! :try +! : py3 f(1, 2, 3) +! :catch +! : $put =v:exception[:13] +! :endtry + :if has('float') + : let l=[0.0] + : py3 l=vim.bindeval('l') +--- 216,225 ---- + :$put =string(l) + :py3 l+=[l[0].name] + :$put =string(l) +! :py3 ee('l[1](1, 2, 3)') + :py3 f=l[0] + :delfunction New +! :py3 ee('f(1, 2, 3)') + :if has('float') + : let l=[0.0] + : py3 l=vim.bindeval('l') +*************** +*** 315,320 **** +--- 337,343 ---- + :py3 l[0] = t.t > 8 # check if the background thread is working + :py3 del time + :py3 del threading ++ :py3 del t + :$put =string(l) + :" + :" settrace +*************** +*** 829,861 **** + :fun D() + :endfun + py3 << EOF +- import re +- +- py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$') +- +- def ee(expr, g=globals(), l=locals()): +- try: +- try: +- exec(expr, g, l) +- except Exception as e: +- if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."): +- cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1])))) +- elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0: +- cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", ''))))) +- elif sys.version_info >= (3, 3) and e.__class__ is TypeError: +- m = py33_type_error_pattern.search(str(e)) +- if m: +- msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2)) +- cb.append(expr + ':' + repr((e.__class__, TypeError(msg)))) +- else: +- cb.append(expr + ':' + repr((e.__class__, e))) +- else: +- cb.append(expr + ':' + repr((e.__class__, e))) +- else: +- cb.append(expr + ':NOT FAILED') +- except Exception as e: +- cb.append(expr + '::' + repr((e.__class__, e))) +- + d = vim.Dictionary() + ned = vim.Dictionary(foo='bar', baz='abcD') + dl = vim.Dictionary(a=1) +--- 852,857 ---- +*************** +*** 1227,1232 **** +--- 1223,1229 ---- + ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")') + ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")') + ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")') ++ ee('vim.eval("xxx_unknown_function_xxx()")') + ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")') + del Exe + EOF +*** ../vim-7.4.106/src/testdir/test87.ok 2013-11-11 01:05:43.000000000 +0100 +--- src/testdir/test87.ok 2013-11-28 16:41:01.000000000 +0100 +*************** +*** 53,60 **** + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] +! Vim(py3):E725: +! Vim(py3):E117: + [0.0, 0.0] + KeyError + TypeError +--- 53,60 ---- + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New'] +! l[1](1, 2, 3):(, error('Vim:E725: Calling dict function without Dictionary: DictNew',)) +! f(1, 2, 3):(, error('Vim:E117: Unknown function: New',)) + [0.0, 0.0] + KeyError + TypeError +*************** +*** 1186,1191 **** +--- 1186,1192 ---- + vim.eval("Exe('throw ''ghi''')"):(, error('ghi',)) + vim.eval("Exe('echoerr ''jkl''')"):(, error('Vim(echoerr):jkl',)) + vim.eval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) ++ vim.eval("xxx_unknown_function_xxx()"):(, error('Vim:E117: Unknown function: xxx_unknown_function_xxx',)) + vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)) + Caught KeyboardInterrupt + Running :put +*** ../vim-7.4.106/src/version.c 2013-11-28 16:32:34.000000000 +0100 +--- src/version.c 2013-11-28 16:41:43.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 107, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +8. You spend half of the plane trip with your laptop on your lap...and your + child in the overhead compartment. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.108 b/patches/source/vim/patches/7.4.108 new file mode 100644 index 000000000..054234746 --- /dev/null +++ b/patches/source/vim/patches/7.4.108 @@ -0,0 +1,215 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.108 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.108 +Problem: "zG" and "zW" leave temp files around on MS-Windows. +Solution: Delete the temp files when exiting. (Ken Takata) +Files: src/memline.c, src/proto/spell.pro, src/spell.c + + +*** ../vim-7.4.107/src/memline.c 2013-11-04 02:53:46.000000000 +0100 +--- src/memline.c 2013-11-28 17:27:06.000000000 +0100 +*************** +*** 841,848 **** + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 + || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); + #ifdef TEMPDIRNAMES +! vim_deltempdir(); /* delete created temp directory */ + #endif + } + +--- 841,851 ---- + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 + || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); ++ #ifdef FEAT_SPELL ++ spell_delete_wordlist(); /* delete the internal wordlist */ ++ #endif + #ifdef TEMPDIRNAMES +! vim_deltempdir(); /* delete created temp directory */ + #endif + } + +*** ../vim-7.4.107/src/proto/spell.pro 2013-08-10 13:37:26.000000000 +0200 +--- src/proto/spell.pro 2013-11-28 17:25:59.000000000 +0100 +*************** +*** 3,8 **** +--- 3,9 ---- + int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp)); + void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen)); + char_u *did_set_spelllang __ARGS((win_T *wp)); ++ void spell_delete_wordlist __ARGS((void)); + void spell_free_all __ARGS((void)); + void spell_reload __ARGS((void)); + int spell_check_msm __ARGS((void)); +*** ../vim-7.4.107/src/spell.c 2013-11-21 17:42:26.000000000 +0100 +--- src/spell.c 2013-11-28 17:25:59.000000000 +0100 +*************** +*** 2180,2188 **** + char_u *endp; + hlf_T attr; + int len; +! # ifdef FEAT_SYN_HL + int has_syntax = syntax_present(wp); +! # endif + int col; + int can_spell; + char_u *buf = NULL; +--- 2180,2188 ---- + char_u *endp; + hlf_T attr; + int len; +! #ifdef FEAT_SYN_HL + int has_syntax = syntax_present(wp); +! #endif + int col; + int can_spell; + char_u *buf = NULL; +*************** +*** 2280,2286 **** + : p - buf) + > wp->w_cursor.col))) + { +! # ifdef FEAT_SYN_HL + if (has_syntax) + { + col = (int)(p - buf); +--- 2280,2286 ---- + : p - buf) + > wp->w_cursor.col))) + { +! #ifdef FEAT_SYN_HL + if (has_syntax) + { + col = (int)(p - buf); +*************** +*** 4701,4707 **** + return flags; + } + +! # if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) + /* + * Free all languages. + */ +--- 4701,4725 ---- + return flags; + } + +! /* +! * Delete the internal wordlist and its .spl file. +! */ +! void +! spell_delete_wordlist() +! { +! char_u fname[MAXPATHL]; +! +! if (int_wordlist != NULL) +! { +! mch_remove(int_wordlist); +! int_wordlist_spl(fname); +! mch_remove(fname); +! vim_free(int_wordlist); +! int_wordlist = NULL; +! } +! } +! +! #if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO) + /* + * Free all languages. + */ +*************** +*** 4710,4716 **** + { + slang_T *slang; + buf_T *buf; +- char_u fname[MAXPATHL]; + + /* Go through all buffers and handle 'spelllang'. */ + for (buf = firstbuf; buf != NULL; buf = buf->b_next) +--- 4728,4733 ---- +*************** +*** 4723,4746 **** + slang_free(slang); + } + +! if (int_wordlist != NULL) +! { +! /* Delete the internal wordlist and its .spl file */ +! mch_remove(int_wordlist); +! int_wordlist_spl(fname); +! mch_remove(fname); +! vim_free(int_wordlist); +! int_wordlist = NULL; +! } + + vim_free(repl_to); + repl_to = NULL; + vim_free(repl_from); + repl_from = NULL; + } +! # endif + +! # if defined(FEAT_MBYTE) || defined(PROTO) + /* + * Clear all spelling tables and reload them. + * Used after 'encoding' is set and when ":mkspell" was used. +--- 4740,4755 ---- + slang_free(slang); + } + +! spell_delete_wordlist(); + + vim_free(repl_to); + repl_to = NULL; + vim_free(repl_from); + repl_from = NULL; + } +! #endif + +! #if defined(FEAT_MBYTE) || defined(PROTO) + /* + * Clear all spelling tables and reload them. + * Used after 'encoding' is set and when ":mkspell" was used. +*************** +*** 4773,4779 **** + } + } + } +! # endif + + /* + * Reload the spell file "fname" if it's loaded. +--- 4782,4788 ---- + } + } + } +! #endif + + /* + * Reload the spell file "fname" if it's loaded. +*** ../vim-7.4.107/src/version.c 2013-11-28 17:04:38.000000000 +0100 +--- src/version.c 2013-11-28 17:26:31.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 108, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +9. All your daydreaming is preoccupied with getting a faster connection to the + net: 28.8...ISDN...cable modem...T1...T3. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.109 b/patches/source/vim/patches/7.4.109 new file mode 100644 index 000000000..70ed86d23 --- /dev/null +++ b/patches/source/vim/patches/7.4.109 @@ -0,0 +1,123 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.109 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.109 +Problem: ColorScheme autocommand matches with the current buffer name. +Solution: Match with the colorscheme name. (Christian Brabandt) +Files: runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c + + +*** ../vim-7.4.108/runtime/doc/autocmd.txt 2013-08-10 13:24:52.000000000 +0200 +--- runtime/doc/autocmd.txt 2013-11-28 18:44:20.000000000 +0100 +*************** +*** 480,485 **** +--- 480,491 ---- + |cmdwin-char| + *ColorScheme* + ColorScheme After loading a color scheme. |:colorscheme| ++ The pattern is matched against the ++ colorscheme name. can be used for the ++ name of the actual file where this option was ++ set, and for the new colorscheme ++ name. ++ + + *CompleteDone* + CompleteDone After Insert mode completion is done. Either +*** ../vim-7.4.108/src/fileio.c 2013-11-12 18:09:20.000000000 +0100 +--- src/fileio.c 2013-11-28 18:44:20.000000000 +0100 +*************** +*** 9330,9336 **** + */ + if (fname_io == NULL) + { +! if (fname != NULL && *fname != NUL) + autocmd_fname = fname; + else if (buf != NULL) + autocmd_fname = buf->b_ffname; +--- 9330,9338 ---- + */ + if (fname_io == NULL) + { +! if (event == EVENT_COLORSCHEME) +! autocmd_fname = NULL; +! else if (fname != NULL && *fname != NUL) + autocmd_fname = fname; + else if (buf != NULL) + autocmd_fname = buf->b_ffname; +*************** +*** 9383,9396 **** + else + { + sfname = vim_strsave(fname); +! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or +! * QuickFixCmd* */ + if (event == EVENT_FILETYPE + || event == EVENT_SYNTAX + || event == EVENT_FUNCUNDEFINED + || event == EVENT_REMOTEREPLY + || event == EVENT_SPELLFILEMISSING + || event == EVENT_QUICKFIXCMDPRE + || event == EVENT_QUICKFIXCMDPOST) + fname = vim_strsave(fname); + else +--- 9385,9399 ---- + else + { + sfname = vim_strsave(fname); +! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID, +! * ColorScheme or QuickFixCmd* */ + if (event == EVENT_FILETYPE + || event == EVENT_SYNTAX + || event == EVENT_FUNCUNDEFINED + || event == EVENT_REMOTEREPLY + || event == EVENT_SPELLFILEMISSING + || event == EVENT_QUICKFIXCMDPRE ++ || event == EVENT_COLORSCHEME + || event == EVENT_QUICKFIXCMDPOST) + fname = vim_strsave(fname); + else +*** ../vim-7.4.108/src/syntax.c 2013-06-08 16:10:08.000000000 +0200 +--- src/syntax.c 2013-11-28 18:44:20.000000000 +0100 +*************** +*** 7071,7077 **** + retval = source_runtime(buf, FALSE); + vim_free(buf); + #ifdef FEAT_AUTOCMD +! apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf); + #endif + } + recursive = FALSE; +--- 7071,7077 ---- + retval = source_runtime(buf, FALSE); + vim_free(buf); + #ifdef FEAT_AUTOCMD +! apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf); + #endif + } + recursive = FALSE; +*** ../vim-7.4.108/src/version.c 2013-11-28 17:41:41.000000000 +0100 +--- src/version.c 2013-11-28 18:48:42.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 109, + /**/ + +-- +"How is your new girlfriend?" +"90-60-90 man!" +"What, pale purple?" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.110 b/patches/source/vim/patches/7.4.110 new file mode 100644 index 000000000..0a40ee90f --- /dev/null +++ b/patches/source/vim/patches/7.4.110 @@ -0,0 +1,102 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.110 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.110 +Problem: "gUgn" cannot be repeeated. (Dimitar Dimitrov) +Solution: Don't put "gn" in a different order in the redo buffer. Restore + 'wrapscan' when the pattern isn't found. (Christian Wellenbrock) +Files: src/normal.c, src/search.c, src/test53.in, src/test53.ok + + +*** ../vim-7.4.109/src/normal.c 2013-11-04 01:41:11.000000000 +0100 +--- src/normal.c 2013-11-28 19:02:45.000000000 +0100 +*************** +*** 962,972 **** + #ifdef FEAT_CMDL_INFO + need_flushbuf |= add_to_showcmd(ca.nchar); + #endif +- /* For "gn" from redo, need to get one more char to determine the +- * operator */ + if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`' +! || ca.nchar == Ctrl_BSL +! || ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty())) + { + cp = &ca.extra_char; /* need to get a third character */ + if (ca.nchar != 'r') +--- 962,969 ---- + #ifdef FEAT_CMDL_INFO + need_flushbuf |= add_to_showcmd(ca.nchar); + #endif + if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`' +! || ca.nchar == Ctrl_BSL) + { + cp = &ca.extra_char; /* need to get a third character */ + if (ca.nchar != 'r') +*************** +*** 1797,1806 **** + * otherwise it might be the second char of the operator. */ + if (cap->cmdchar == 'g' && (cap->nchar == 'n' + || cap->nchar == 'N')) +! /* "gn" and "gN" are a bit different */ +! prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar, +! get_op_char(oap->op_type), +! get_extra_op_char(oap->op_type)); + else if (cap->cmdchar != ':') + prep_redo(oap->regname, 0L, NUL, 'v', + get_op_char(oap->op_type), +--- 1794,1802 ---- + * otherwise it might be the second char of the operator. */ + if (cap->cmdchar == 'g' && (cap->nchar == 'n' + || cap->nchar == 'N')) +! prep_redo(oap->regname, cap->count0, +! get_op_char(oap->op_type), get_extra_op_char(oap->op_type), +! oap->motion_force, cap->cmdchar, cap->nchar); + else if (cap->cmdchar != ':') + prep_redo(oap->regname, 0L, NUL, 'v', + get_op_char(oap->op_type), +*** ../vim-7.4.109/src/search.c 2013-11-08 04:30:06.000000000 +0100 +--- src/search.c 2013-11-28 19:05:16.000000000 +0100 +*************** +*** 4544,4550 **** + /* Is the pattern is zero-width? */ + one_char = is_one_char(spats[last_idx].pat); + if (one_char == -1) +! return FAIL; /* invalid pattern */ + + /* + * The trick is to first search backwards and then search forward again, +--- 4544,4553 ---- + /* Is the pattern is zero-width? */ + one_char = is_one_char(spats[last_idx].pat); + if (one_char == -1) +! { +! p_ws = old_p_ws; +! return FAIL; /* pattern not found */ +! } + + /* + * The trick is to first search backwards and then search forward again, +*** ../vim-7.4.109/src/version.c 2013-11-28 18:53:47.000000000 +0100 +--- src/version.c 2013-11-28 19:20:29.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 110, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +10. And even your night dreams are in HTML. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.111 b/patches/source/vim/patches/7.4.111 new file mode 100644 index 000000000..e8c7a48d8 --- /dev/null +++ b/patches/source/vim/patches/7.4.111 @@ -0,0 +1,63 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.111 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.111 +Problem: Memory leak in Python OptionsAssItem. (Ken Takata) +Solution: Call Py_XDECREF() where needed. (ZyX) +Files: src/if_py_both.h + + +*** ../vim-7.4.110/src/if_py_both.h 2013-11-28 17:04:38.000000000 +0100 +--- src/if_py_both.h 2013-12-07 14:23:00.000000000 +0100 +*************** +*** 3005,3015 **** + else + { + char_u *val; +! PyObject *todecref; + +! if ((val = StringToChars(valObject, &todecref))) + ret = set_option_value_for(key, 0, val, opt_flags, + self->opt_type, self->from); + else + ret = -1; + } +--- 3005,3018 ---- + else + { + char_u *val; +! PyObject *todecref2; + +! if ((val = StringToChars(valObject, &todecref2))) +! { + ret = set_option_value_for(key, 0, val, opt_flags, + self->opt_type, self->from); ++ Py_XDECREF(todecref2); ++ } + else + ret = -1; + } +*** ../vim-7.4.110/src/version.c 2013-11-28 19:27:18.000000000 +0100 +--- src/version.c 2013-12-07 14:24:16.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 111, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +12. Sing along at the opera. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.112 b/patches/source/vim/patches/7.4.112 new file mode 100644 index 000000000..ab64e1311 --- /dev/null +++ b/patches/source/vim/patches/7.4.112 @@ -0,0 +1,70 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.112 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.112 +Problem: The defaults for 'directory' and 'backupdir' on MS-Windows do not + include a directory that exists. +Solution: Use $TEMP. +Files: src/os_dos.h + + +*** ../vim-7.4.111/src/os_dos.h 2013-06-12 20:09:44.000000000 +0200 +--- src/os_dos.h 2013-12-04 15:23:22.000000000 +0100 +*************** +*** 109,115 **** + #endif + + #ifndef DFLT_BDIR +! # define DFLT_BDIR ".,c:\\tmp,c:\\temp" /* default for 'backupdir' */ + #endif + + #ifndef DFLT_VDIR +--- 109,115 ---- + #endif + + #ifndef DFLT_BDIR +! # define DFLT_BDIR ".,$TEMP,c:\\tmp,c:\\temp" /* default for 'backupdir' */ + #endif + + #ifndef DFLT_VDIR +*************** +*** 117,123 **** + #endif + + #ifndef DFLT_DIR +! # define DFLT_DIR ".,c:\\tmp,c:\\temp" /* default for 'directory' */ + #endif + + #define DFLT_ERRORFILE "errors.err" +--- 117,123 ---- + #endif + + #ifndef DFLT_DIR +! # define DFLT_DIR ".,$TEMP,c:\\tmp,c:\\temp" /* default for 'directory' */ + #endif + + #define DFLT_ERRORFILE "errors.err" +*** ../vim-7.4.111/src/version.c 2013-12-07 14:28:37.000000000 +0100 +--- src/version.c 2013-12-07 14:31:03.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 112, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +13. Go to a poetry recital and ask why the poems don't rhyme. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.113 b/patches/source/vim/patches/7.4.113 new file mode 100644 index 000000000..97059e551 --- /dev/null +++ b/patches/source/vim/patches/7.4.113 @@ -0,0 +1,101 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.113 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.113 +Problem: MSVC static analysis gives warnings. +Solution: Avoid the warnings and avoid possible bugs. (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.112/src/os_win32.c 2013-11-21 12:34:07.000000000 +0100 +--- src/os_win32.c 2013-12-07 14:41:35.000000000 +0100 +*************** +*** 2509,2515 **** + WCHAR *porig, *porigPrev; + int flen; + WIN32_FIND_DATAW fb; +! HANDLE hFind; + int c; + int slen; + +--- 2509,2515 ---- + WCHAR *porig, *porigPrev; + int flen; + WIN32_FIND_DATAW fb; +! HANDLE hFind = INVALID_HANDLE_VALUE; + int c; + int slen; + +*************** +*** 2528,2535 **** + /* copy leading drive letter */ + *ptrue++ = *porig++; + *ptrue++ = *porig++; +- *ptrue = NUL; /* in case nothing follows */ + } + + while (*porig != NUL) + { +--- 2528,2535 ---- + /* copy leading drive letter */ + *ptrue++ = *porig++; + *ptrue++ = *porig++; + } ++ *ptrue = NUL; /* in case nothing follows */ + + while (*porig != NUL) + { +*************** +*** 2673,2680 **** + /* copy leading drive letter */ + *ptrue++ = *porig++; + *ptrue++ = *porig++; +- *ptrue = NUL; /* in case nothing follows */ + } + + while (*porig != NUL) + { +--- 2673,2680 ---- + /* copy leading drive letter */ + *ptrue++ = *porig++; + *ptrue++ = *porig++; + } ++ *ptrue = NUL; /* in case nothing follows */ + + while (*porig != NUL) + { +*************** +*** 6272,6277 **** +--- 6272,6278 ---- + while (i > 0) + free(argv[--i]); + free(argv); ++ argv = NULL; + argc = 0; + } + } +*** ../vim-7.4.112/src/version.c 2013-12-07 14:32:04.000000000 +0100 +--- src/version.c 2013-12-07 14:37:48.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 113, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +15. Five days in advance, tell your friends you can't attend their + party because you're not in the mood. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.114 b/patches/source/vim/patches/7.4.114 new file mode 100644 index 000000000..9b982f6b6 --- /dev/null +++ b/patches/source/vim/patches/7.4.114 @@ -0,0 +1,56 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.114 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.114 +Problem: New GNU make outputs messages about changing directory in another + format. +Solution: Recognize the new format. +Files: src/option.h + + +*** ../vim-7.4.113/src/option.h 2013-11-06 05:26:08.000000000 +0100 +--- src/option.h 2013-12-04 12:43:03.000000000 +0100 +*************** +*** 31,39 **** + # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" + # else /* Unix, probably */ + # ifdef EBCDIC +! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" + # else +! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" + # endif + # endif + # endif +--- 31,39 ---- + # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" + # else /* Unix, probably */ + # ifdef EBCDIC +! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" + # else +! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" + # endif + # endif + # endif +*** ../vim-7.4.113/src/version.c 2013-12-07 14:48:06.000000000 +0100 +--- src/version.c 2013-12-11 12:22:19.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 114, + /**/ + +-- +Everyone has a photographic memory. Some don't have film. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.115 b/patches/source/vim/patches/7.4.115 new file mode 100644 index 000000000..1d1a561bb --- /dev/null +++ b/patches/source/vim/patches/7.4.115 @@ -0,0 +1,52 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.115 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.115 +Problem: When using Zsh expanding ~abc doesn't work when the result + contains a space. +Solution: Off-by-one error in detecting the NUL. (Pavol Juhas) +Files: src/os_unix.c + + +*** ../vim-7.4.114/src/os_unix.c 2013-11-03 00:40:54.000000000 +0100 +--- src/os_unix.c 2013-12-11 13:19:26.000000000 +0100 +*************** +*** 5990,5996 **** + { + /* If there is a NUL, set did_find_nul, else set check_spaces */ + buffer[len] = NUL; +! if (len && (int)STRLEN(buffer) < (int)len - 1) + did_find_nul = TRUE; + else + check_spaces = TRUE; +--- 5990,5996 ---- + { + /* If there is a NUL, set did_find_nul, else set check_spaces */ + buffer[len] = NUL; +! if (len && (int)STRLEN(buffer) < (int)len) + did_find_nul = TRUE; + else + check_spaces = TRUE; +*** ../vim-7.4.114/src/version.c 2013-12-11 12:22:54.000000000 +0100 +--- src/version.c 2013-12-11 13:20:29.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 115, + /**/ + +-- +Change is inevitable, except from a vending machine. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.116 b/patches/source/vim/patches/7.4.116 new file mode 100644 index 000000000..f242f0500 --- /dev/null +++ b/patches/source/vim/patches/7.4.116 @@ -0,0 +1,46 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.116 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.116 +Problem: When a mapping starts with a space, the typed space does not show + up for 'showcmd'. +Solution: Show "<20>". (Brook Hong) +Files: src/normal.c + + +*** ../vim-7.4.115/src/normal.c 2013-11-28 19:27:18.000000000 +0100 +--- src/normal.c 2013-12-07 14:30:29.000000000 +0100 +*************** +*** 4021,4026 **** +--- 4021,4028 ---- + #endif + + p = transchar(c); ++ if (*p == ' ') ++ STRCPY(p, "<20>"); + old_len = (int)STRLEN(showcmd_buf); + extra_len = (int)STRLEN(p); + overflow = old_len + extra_len - SHOWCMD_COLS; +*** ../vim-7.4.115/src/version.c 2013-12-11 13:21:44.000000000 +0100 +--- src/version.c 2013-12-11 14:16:58.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 116, + /**/ + +-- +Bumper sticker: Honk if you love peace and quiet. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.117 b/patches/source/vim/patches/7.4.117 new file mode 100644 index 000000000..5fb026891 --- /dev/null +++ b/patches/source/vim/patches/7.4.117 @@ -0,0 +1,263 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.117 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.117 +Problem: Can't build with Cygwin/MingW and Perl 5.18. +Solution: Add a linker argument for the Perl library. (Cesar Romani) + Adjust CFLAGS and LIB. (Cesar Romani) + Move including inline.h further down. (Ken Takata) +Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_perl.xs + + +*** ../vim-7.4.116/src/Make_cyg.mak 2013-11-28 16:32:34.000000000 +0100 +--- src/Make_cyg.mak 2013-12-11 14:59:12.000000000 +0100 +*************** +*** 1,6 **** + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Nov 28 + # + # Also read INSTALLpc.txt! + # +--- 1,6 ---- + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Dec 11 + # + # Also read INSTALLpc.txt! + # +*************** +*** 155,161 **** + ifeq (yes, $(DYNAMIC_PERL)) + DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" + else +! EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib + endif + endif + +--- 155,161 ---- + ifeq (yes, $(DYNAMIC_PERL)) + DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" + else +! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER) + endif + endif + +*** ../vim-7.4.116/src/Make_ming.mak 2013-07-06 13:32:11.000000000 +0200 +--- src/Make_ming.mak 2013-12-07 20:02:52.000000000 +0100 +*************** +*** 359,364 **** +--- 359,365 ---- + + CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall + WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED ++ EXTRA_LIBS = + + ifdef GETTEXT + DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H +*************** +*** 377,385 **** + endif + + ifdef PERL +! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS) + ifeq (yes, $(DYNAMIC_PERL)) + CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" + endif + endif + +--- 378,387 ---- + endif + + ifdef PERL +! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL + ifeq (yes, $(DYNAMIC_PERL)) + CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" ++ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) + endif + endif + +*************** +*** 632,638 **** + + ifdef PERL + ifeq (no, $(DYNAMIC_PERL)) +! LIB += -lperl$(PERL_VER) + endif + endif + +--- 634,640 ---- + + ifdef PERL + ifeq (no, $(DYNAMIC_PERL)) +! LIB += -L$(PERLLIBS) -lperl$(PERL_VER) + endif + endif + +*** ../vim-7.4.116/src/if_perl.xs 2013-08-02 19:28:50.000000000 +0200 +--- src/if_perl.xs 2013-12-11 15:02:58.000000000 +0100 +*************** +*** 14,20 **** + #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ + + /* +! * Currently 32-bit version of ActivePerl is built with VC6. + * (http://community.activestate.com/faq/windows-compilers-perl-modules) + * It means that time_t should be 32-bit. However the default size of + * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T. +--- 14,21 ---- + #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ + + /* +! * Currently 32-bit version of ActivePerl is built with VC6 (or MinGW since +! * ActivePerl 5.18). + * (http://community.activestate.com/faq/windows-compilers-perl-modules) + * It means that time_t should be 32-bit. However the default size of + * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T. +*************** +*** 23,28 **** +--- 24,45 ---- + # define _USE_32BIT_TIME_T + #endif + ++ /* Work around for perl-5.18. ++ * Don't include "perl\lib\CORE\inline.h" for now, ++ * include it after Perl_sv_free2 is defined. */ ++ #define PERL_NO_INLINE_FUNCTIONS ++ ++ /* ++ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is ++ * already included before including winsock2.h, because winsock2.h isn't ++ * compatible with winsock.h. However the detection doesn't work with some ++ * versions of MinGW. If WIN32_LEAN_AND_MEAN is defined, windows.h will not ++ * include winsock.h. ++ */ ++ #ifdef WIN32 ++ # define WIN32_LEAN_AND_MEAN ++ #endif ++ + #include "vim.h" + + #include +*************** +*** 81,90 **** + # define PERL5101_OR_LATER + #endif + +- #if (PERL_REVISION == 5) && (PERL_VERSION >= 18) +- # define PERL5180_OR_LATER +- #endif +- + #ifndef pTHX + # define pTHX void + # define pTHX_ +--- 98,103 ---- +*************** +*** 145,155 **** + # define perl_free dll_perl_free + # define Perl_get_context dll_Perl_get_context + # define Perl_croak dll_Perl_croak +- # ifndef PERL5180_OR_LATER + # ifdef PERL5101_OR_LATER + # define Perl_croak_xs_usage dll_Perl_croak_xs_usage + # endif +- # endif + # ifndef PROTO + # define Perl_croak_nocontext dll_Perl_croak_nocontext + # define Perl_call_argv dll_Perl_call_argv +--- 158,166 ---- +*************** +*** 262,271 **** + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); +- #ifndef PERL5180_OR_LATER + #ifdef PERL5101_OR_LATER + static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); +! #endif + #endif + static void (*Perl_croak_nocontext)(const char*, ...); + static I32 (*Perl_dowantarray)(pTHX); +--- 273,285 ---- + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); + #ifdef PERL5101_OR_LATER ++ /* Perl-5.18 has a different Perl_croak_xs_usage signature. */ ++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18) ++ static void (*Perl_croak_xs_usage)(const CV *const, const char *const params); ++ # else + static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); +! # endif + #endif + static void (*Perl_croak_nocontext)(const char*, ...); + static I32 (*Perl_dowantarray)(pTHX); +*************** +*** 337,343 **** +--- 351,362 ---- + static XPV** (*Perl_TXpv_ptr)(register PerlInterpreter*); + static STRLEN* (*Perl_Tna_ptr)(register PerlInterpreter*); + #else ++ /* Perl-5.18 has a different Perl_sv_free2 signature. */ ++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18) ++ static void (*Perl_sv_free2)(pTHX_ SV*, const U32); ++ # else + static void (*Perl_sv_free2)(pTHX_ SV*); ++ # endif + static void (*Perl_sys_init)(int* argc, char*** argv); + static void (*Perl_sys_term)(void); + static void (*Perl_call_list)(pTHX_ I32, AV*); +*************** +*** 384,394 **** + {"perl_parse", (PERL_PROC*)&perl_parse}, + {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, + {"Perl_croak", (PERL_PROC*)&Perl_croak}, +- #ifndef PERL5180_OR_LATER + #ifdef PERL5101_OR_LATER + {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, + #endif +- #endif + {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, + {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, + {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, +--- 403,411 ---- +*************** +*** 492,497 **** +--- 509,522 ---- + {"", NULL}, + }; + ++ /* Work around for perl-5.18. ++ * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include ++ * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined. ++ * The linker won't complain about undefined __impl_Perl_sv_free2. */ ++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 18) ++ # include ++ #endif ++ + /* + * Make all runtime-links of perl. + * +*** ../vim-7.4.116/src/version.c 2013-12-11 14:54:58.000000000 +0100 +--- src/version.c 2013-12-11 15:00:12.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 117, + /**/ + +-- +Despite the cost of living, have you noticed how it remains so popular? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.118 b/patches/source/vim/patches/7.4.118 new file mode 100644 index 000000000..04701cc40 --- /dev/null +++ b/patches/source/vim/patches/7.4.118 @@ -0,0 +1,90 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.118 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.118 +Problem: It's possible that redrawing the status lines causes + win_redr_custom() to be called recursively. +Solution: Protect against recursiveness. (Yasuhiro Matsumoto) +Files: src/screen.c + + +*** ../vim-7.4.117/src/screen.c 2013-11-08 04:30:06.000000000 +0100 +--- src/screen.c 2013-12-11 15:32:21.000000000 +0100 +*************** +*** 6653,6658 **** +--- 6653,6659 ---- + win_T *wp; + int draw_ruler; /* TRUE or FALSE */ + { ++ static int entered = FALSE; + int attr; + int curattr; + int row; +*************** +*** 6671,6676 **** +--- 6672,6684 ---- + win_T *ewp; + int p_crb_save; + ++ /* There is a tiny chance that this gets called recursively: When ++ * redrawing a status line triggers redrawing the ruler or tabline. ++ * Avoid trouble by not allowing recursion. */ ++ if (entered) ++ return; ++ entered = TRUE; ++ + /* setup environment for the task at hand */ + if (wp == NULL) + { +*************** +*** 6746,6752 **** + } + + if (maxwidth <= 0) +! return; + + /* Temporarily reset 'cursorbind', we don't want a side effect from moving + * the cursor away and back. */ +--- 6754,6760 ---- + } + + if (maxwidth <= 0) +! goto theend; + + /* Temporarily reset 'cursorbind', we don't want a side effect from moving + * the cursor away and back. */ +*************** +*** 6827,6832 **** +--- 6835,6843 ---- + while (col < Columns) + TabPageIdxs[col++] = fillchar; + } ++ ++ theend: ++ entered = FALSE; + } + + #endif /* FEAT_STL_OPT */ +*** ../vim-7.4.117/src/version.c 2013-12-11 15:06:36.000000000 +0100 +--- src/version.c 2013-12-11 15:32:16.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 118, + /**/ + +-- +Nothing is fool-proof to a sufficiently talented fool. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.119 b/patches/source/vim/patches/7.4.119 new file mode 100644 index 000000000..061b81a55 --- /dev/null +++ b/patches/source/vim/patches/7.4.119 @@ -0,0 +1,245 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.119 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.119 +Problem: Vim doesn't work well on OpenVMS. +Solution: Fix various problems. (Samuel Ferencik) +Files: src/os_unix.c, src/os_unix.h, src/os_vms.c + + +*** ../vim-7.4.118/src/os_unix.c 2013-12-11 13:21:44.000000000 +0100 +--- src/os_unix.c 2013-12-11 16:16:03.000000000 +0100 +*************** +*** 168,174 **** + static pid_t wait4pid __ARGS((pid_t, waitstatus *)); + + static int WaitForChar __ARGS((long)); +! #if defined(__BEOS__) + int RealWaitForChar __ARGS((int, long, int *)); + #else + static int RealWaitForChar __ARGS((int, long, int *)); +--- 168,174 ---- + static pid_t wait4pid __ARGS((pid_t, waitstatus *)); + + static int WaitForChar __ARGS((long)); +! #if defined(__BEOS__) || defined(VMS) + int RealWaitForChar __ARGS((int, long, int *)); + #else + static int RealWaitForChar __ARGS((int, long, int *)); +*************** +*** 435,441 **** + /* Process the queued netbeans messages. */ + netbeans_parse_messages(); + #endif +- #ifndef VMS /* VMS: must try reading, WaitForChar() does nothing. */ + /* + * We want to be interrupted by the winch signal + * or by an event on the monitored file descriptors. +--- 435,440 ---- +*************** +*** 446,452 **** + handle_resize(); + return 0; + } +- #endif + + /* If input was put directly in typeahead buffer bail out here. */ + if (typebuf_changed(tb_change_cnt)) +--- 445,450 ---- +*************** +*** 5039,5044 **** +--- 5037,5043 ---- + return avail; + } + ++ #ifndef VMS + /* + * Wait "msec" msec until a character is available from file descriptor "fd". + * "msec" == 0 will check for characters once. +*************** +*** 5338,5350 **** + } + # endif + +- # ifdef OLD_VMS +- /* Old VMS as v6.2 and older have broken select(). It waits more than +- * required. Should not be used */ +- ret = 0; +- # else + ret = select(maxfd + 1, &rfds, NULL, &efds, tvp); +- # endif + # ifdef EINTR + if (ret == -1 && errno == EINTR) + { +--- 5337,5343 ---- +*************** +*** 5466,5473 **** + return (ret > 0); + } + +- #ifndef VMS +- + #ifndef NO_EXPANDPATH + /* + * Expand a path into all matching files and/or directories. Handles "*", +--- 5459,5464 ---- +*** ../vim-7.4.118/src/os_unix.h 2013-06-12 20:09:44.000000000 +0200 +--- src/os_unix.h 2013-12-11 16:16:03.000000000 +0100 +*************** +*** 225,230 **** +--- 225,232 ---- + # include + # include + # include ++ # include ++ # include + + # ifdef FEAT_GUI_GTK + # include "gui_gtk_vms.h" +*** ../vim-7.4.118/src/os_vms.c 2010-06-26 06:03:31.000000000 +0200 +--- src/os_vms.c 2013-12-11 17:10:24.000000000 +0100 +*************** +*** 11,16 **** +--- 11,33 ---- + + #include "vim.h" + ++ /* define _generic_64 for use in time functions */ ++ #ifndef VAX ++ # include ++ #else ++ /* based on Alpha's gen64def.h; the file is absent on VAX */ ++ typedef struct _generic_64 { ++ # pragma __nomember_alignment ++ __union { /* You can treat me as... */ ++ /* long long is not available on VAXen */ ++ /* unsigned __int64 gen64$q_quadword; ...a single 64-bit value, or */ ++ ++ unsigned int gen64$l_longword [2]; /* ...two 32-bit values, or */ ++ unsigned short int gen64$w_word [4]; /* ...four 16-bit values */ ++ } gen64$r_quad_overlay; ++ } GENERIC_64; ++ #endif ++ + typedef struct + { + char class; +*************** +*** 669,671 **** +--- 686,777 ---- + } + return ; + } ++ ++ struct typeahead_st { ++ unsigned short numchars; ++ unsigned char firstchar; ++ unsigned char reserved0; ++ unsigned long reserved1; ++ } typeahead; ++ ++ /* ++ * Wait "msec" msec until a character is available from file descriptor "fd". ++ * "msec" == 0 will check for characters once. ++ * "msec" == -1 will block until a character is available. ++ */ ++ int ++ RealWaitForChar(fd, msec, check_for_gpm) ++ int fd UNUSED; /* always read from iochan */ ++ long msec; ++ int *check_for_gpm UNUSED; ++ { ++ int status; ++ struct _generic_64 time_curr; ++ struct _generic_64 time_diff; ++ struct _generic_64 time_out; ++ unsigned int convert_operation = LIB$K_DELTA_SECONDS_F; ++ float sec = (float) msec / 1000; ++ ++ /* make sure the iochan is set */ ++ if (!iochan) ++ get_tty(); ++ ++ if (msec > 0) { ++ /* time-out specified; convert it to absolute time */ ++ ++ /* get current time (number of 100ns ticks since the VMS Epoch) */ ++ status = sys$gettim(&time_curr); ++ if (status != SS$_NORMAL) ++ return 0; /* error */ ++ ++ /* construct the delta time */ ++ status = lib$cvtf_to_internal_time( ++ &convert_operation, &sec, &time_diff); ++ if (status != LIB$_NORMAL) ++ return 0; /* error */ ++ ++ /* add them up */ ++ status = lib$add_times( ++ &time_curr, ++ &time_diff, ++ &time_out); ++ if (status != LIB$_NORMAL) ++ return 0; /* error */ ++ } ++ ++ while (TRUE) { ++ /* select() */ ++ status = sys$qiow(0, iochan, IO$_SENSEMODE | IO$M_TYPEAHDCNT, iosb, ++ 0, 0, &typeahead, 8, 0, 0, 0, 0); ++ if (status != SS$_NORMAL || (iosb[0] & 0xFFFF) != SS$_NORMAL) ++ return 0; /* error */ ++ ++ if (typeahead.numchars) ++ return 1; /* ready to read */ ++ ++ /* there's nothing to read; what now? */ ++ if (msec == 0) { ++ /* immediate time-out; return impatiently */ ++ return 0; ++ } ++ else if (msec < 0) { ++ /* no time-out; wait on indefinitely */ ++ continue; ++ } ++ else { ++ /* time-out needs to be checked */ ++ status = sys$gettim(&time_curr); ++ if (status != SS$_NORMAL) ++ return 0; /* error */ ++ ++ status = lib$sub_times( ++ &time_out, ++ &time_curr, ++ &time_diff); ++ if (status != LIB$_NORMAL) ++ return 0; /* error, incl. time_diff < 0 (i.e. time-out) */ ++ ++ /* otherwise wait some more */ ++ } ++ } ++ } +*** ../vim-7.4.118/src/version.c 2013-12-11 15:51:54.000000000 +0100 +--- src/version.c 2013-12-11 16:09:16.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 119, + /**/ + +-- +It is hard to understand how a cemetery raised its burial +cost and blamed it on the cost of living. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.120 b/patches/source/vim/patches/7.4.120 new file mode 100644 index 000000000..4f7a17a18 --- /dev/null +++ b/patches/source/vim/patches/7.4.120 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.120 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.120 (after 7.4.117) +Problem: Can't build with Perl 5.18 on Linux. (Lcd 47) +Solution: Add #ifdef. (Ken Takata) +Files: src/if_perl.xs + + +*** ../vim-7.4.119/src/if_perl.xs 2013-12-11 15:06:36.000000000 +0100 +--- src/if_perl.xs 2013-12-11 17:17:43.000000000 +0100 +*************** +*** 27,33 **** + /* Work around for perl-5.18. + * Don't include "perl\lib\CORE\inline.h" for now, + * include it after Perl_sv_free2 is defined. */ +! #define PERL_NO_INLINE_FUNCTIONS + + /* + * Prevent including winsock.h. perl.h tries to detect whether winsock.h is +--- 27,35 ---- + /* Work around for perl-5.18. + * Don't include "perl\lib\CORE\inline.h" for now, + * include it after Perl_sv_free2 is defined. */ +! #ifdef DYNAMIC_PERL +! # define PERL_NO_INLINE_FUNCTIONS +! #endif + + /* + * Prevent including winsock.h. perl.h tries to detect whether winsock.h is +*** ../vim-7.4.119/src/version.c 2013-12-11 17:12:32.000000000 +0100 +--- src/version.c 2013-12-11 17:19:34.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 120, + /**/ + +-- +Just remember...if the world didn't suck, we'd all fall off. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.121 b/patches/source/vim/patches/7.4.121 new file mode 100644 index 000000000..2e04890ec --- /dev/null +++ b/patches/source/vim/patches/7.4.121 @@ -0,0 +1,48 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.121 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.121 +Problem: Completion doesn't work for ":py3d" and ":py3f". (Bohr Shaw) +Solution: Skip over letters after ":py3". +Files: src/ex_docmd.c + + +*** ../vim-7.4.120/src/ex_docmd.c 2013-11-21 14:21:25.000000000 +0100 +--- src/ex_docmd.c 2013-12-11 17:41:50.000000000 +0100 +*************** +*** 3261,3267 **** +--- 3261,3271 ---- + ++p; + /* for python 3.x: ":py3*" commands completion */ + if (cmd[0] == 'p' && cmd[1] == 'y' && p == cmd + 2 && *p == '3') ++ { + ++p; ++ while (ASCII_ISALPHA(*p) || *p == '*') ++ ++p; ++ } + len = (int)(p - cmd); + + if (len == 0) +*** ../vim-7.4.120/src/version.c 2013-12-11 17:20:14.000000000 +0100 +--- src/version.c 2013-12-11 17:43:44.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 121, + /**/ + +-- +It was recently discovered that research causes cancer in rats. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.122 b/patches/source/vim/patches/7.4.122 new file mode 100644 index 000000000..2e6e581c7 --- /dev/null +++ b/patches/source/vim/patches/7.4.122 @@ -0,0 +1,215 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.122 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.122 +Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage + is cp932 then ":grep" and other commands don't work for multi-byte + characters. +Solution: (Yasuhiro Matsumoto) +Files: src/os_win32.c + + +*** ../vim-7.4.121/src/os_win32.c 2013-12-07 14:48:06.000000000 +0100 +--- src/os_win32.c 2013-12-11 17:57:48.000000000 +0100 +*************** +*** 3788,3793 **** +--- 3788,3837 ---- + } + #endif /* FEAT_GUI_W32 */ + ++ static BOOL ++ vim_create_process( ++ const char *cmd, ++ DWORD flags, ++ BOOL inherit_handles, ++ STARTUPINFO *si, ++ PROCESS_INFORMATION *pi) ++ { ++ # ifdef FEAT_MBYTE ++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) ++ { ++ WCHAR *wcmd = enc_to_utf16(cmd, NULL); ++ ++ if (wcmd != NULL) ++ { ++ BOOL ret; ++ ret = CreateProcessW( ++ NULL, /* Executable name */ ++ wcmd, /* Command to execute */ ++ NULL, /* Process security attributes */ ++ NULL, /* Thread security attributes */ ++ inherit_handles, /* Inherit handles */ ++ flags, /* Creation flags */ ++ NULL, /* Environment */ ++ NULL, /* Current directory */ ++ si, /* Startup information */ ++ pi); /* Process information */ ++ vim_free(wcmd); ++ return ret; ++ } ++ } ++ #endif ++ return CreateProcess( ++ NULL, /* Executable name */ ++ cmd, /* Command to execute */ ++ NULL, /* Process security attributes */ ++ NULL, /* Thread security attributes */ ++ inherit_handles, /* Inherit handles */ ++ flags, /* Creation flags */ ++ NULL, /* Environment */ ++ NULL, /* Current directory */ ++ si, /* Startup information */ ++ pi); /* Process information */ ++ } + + + #if defined(FEAT_GUI_W32) || defined(PROTO) +*************** +*** 3834,3851 **** + cmd += 3; + + /* Now, run the command */ +! CreateProcess(NULL, /* Executable name */ +! cmd, /* Command to execute */ +! NULL, /* Process security attributes */ +! NULL, /* Thread security attributes */ +! FALSE, /* Inherit handles */ +! CREATE_DEFAULT_ERROR_MODE | /* Creation flags */ +! CREATE_NEW_CONSOLE, +! NULL, /* Environment */ +! NULL, /* Current directory */ +! &si, /* Startup information */ +! &pi); /* Process information */ +! + + /* Wait for the command to terminate before continuing */ + if (g_PlatformId != VER_PLATFORM_WIN32s) +--- 3878,3885 ---- + cmd += 3; + + /* Now, run the command */ +! vim_create_process(cmd, FALSE, +! CREATE_DEFAULT_ERROR_MODE | CREATE_NEW_CONSOLE, &si, &pi); + + /* Wait for the command to terminate before continuing */ + if (g_PlatformId != VER_PLATFORM_WIN32s) +*************** +*** 4177,4198 **** + p = cmd; + } + +! /* Now, run the command */ +! CreateProcess(NULL, /* Executable name */ +! p, /* Command to execute */ +! NULL, /* Process security attributes */ +! NULL, /* Thread security attributes */ +! +! // this command can be litigious, handle inheritance was +! // deactivated for pending temp file, but, if we deactivate +! // it, the pipes don't work for some reason. +! TRUE, /* Inherit handles, first deactivated, +! * but needed */ +! CREATE_DEFAULT_ERROR_MODE, /* Creation flags */ +! NULL, /* Environment */ +! NULL, /* Current directory */ +! &si, /* Startup information */ +! &pi); /* Process information */ + + if (p != cmd) + vim_free(p); +--- 4211,4221 ---- + p = cmd; + } + +! /* Now, run the command. +! * About "Inherit handles" being TRUE: this command can be litigious, +! * handle inheritance was deactivated for pending temp file, but, if we +! * deactivate it, the pipes don't work for some reason. */ +! vim_create_process(p, TRUE, CREATE_DEFAULT_ERROR_MODE, &si, &pi); + + if (p != cmd) + vim_free(p); +*************** +*** 4410,4416 **** + } + #else + +! # define mch_system(c, o) system(c) + + #endif + +--- 4433,4457 ---- + } + #else + +! # ifdef FEAT_MBYTE +! static int +! mch_system(char *cmd, int options) +! { +! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) +! { +! WCHAR *wcmd = enc_to_utf16(cmd, NULL); +! if (wcmd != NULL) +! { +! int ret = _wsystem(wcmd); +! vim_free(wcmd); +! return ret; +! } +! } +! return system(cmd); +! } +! # else +! # define mch_system(c, o) system(c) +! # endif + + #endif + +*************** +*** 4578,4593 **** + * inherit our handles which causes unpleasant dangling swap + * files if we exit before the spawned process + */ +! if (CreateProcess(NULL, // Executable name +! newcmd, // Command to execute +! NULL, // Process security attributes +! NULL, // Thread security attributes +! FALSE, // Inherit handles +! flags, // Creation flags +! NULL, // Environment +! NULL, // Current directory +! &si, // Startup information +! &pi)) // Process information + x = 0; + else + { +--- 4619,4625 ---- + * inherit our handles which causes unpleasant dangling swap + * files if we exit before the spawned process + */ +! if (vim_create_process(newcmd, FALSE, flags, &si, &pi)) + x = 0; + else + { +*** ../vim-7.4.121/src/version.c 2013-12-11 17:44:33.000000000 +0100 +--- src/version.c 2013-12-11 17:48:09.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 122, + /**/ + +-- +Never overestimate a man's ability to underestimate a woman. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.123 b/patches/source/vim/patches/7.4.123 new file mode 100644 index 000000000..b564fe405 --- /dev/null +++ b/patches/source/vim/patches/7.4.123 @@ -0,0 +1,64 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.123 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.123 +Problem: Win32: Getting user name does not use wide function. +Solution: Use GetUserNameW() if possible. (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.122/src/os_win32.c 2013-12-11 17:58:29.000000000 +0100 +--- src/os_win32.c 2013-12-11 18:14:29.000000000 +0100 +*************** +*** 2768,2773 **** +--- 2768,2793 ---- + char szUserName[256 + 1]; /* UNLEN is 256 */ + DWORD cch = sizeof szUserName; + ++ #ifdef FEAT_MBYTE ++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) ++ { ++ WCHAR wszUserName[256 + 1]; /* UNLEN is 256 */ ++ DWORD wcch = sizeof(wszUserName) / sizeof(WCHAR); ++ ++ if (GetUserNameW(wszUserName, &wcch)) ++ { ++ char_u *p = utf16_to_enc(wszUserName, NULL); ++ ++ if (p != NULL) ++ { ++ vim_strncpy(s, p, len - 1); ++ vim_free(p); ++ return OK; ++ } ++ } ++ /* Retry with non-wide function (for Windows 98). */ ++ } ++ #endif + if (GetUserName(szUserName, &cch)) + { + vim_strncpy(s, szUserName, len - 1); +*** ../vim-7.4.122/src/version.c 2013-12-11 17:58:29.000000000 +0100 +--- src/version.c 2013-12-11 18:15:48.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 123, + /**/ + +-- +Everybody lies, but it doesn't matter since nobody listens. + -- Lieberman's Law + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.124 b/patches/source/vim/patches/7.4.124 new file mode 100644 index 000000000..7815bf5e9 --- /dev/null +++ b/patches/source/vim/patches/7.4.124 @@ -0,0 +1,63 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.124 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.124 +Problem: Win32: Getting host name does not use wide function. +Solution: Use GetComputerNameW() if possible. (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.123/src/os_win32.c 2013-12-11 18:18:01.000000000 +0100 +--- src/os_win32.c 2013-12-11 18:19:11.000000000 +0100 +*************** +*** 2808,2813 **** +--- 2808,2833 ---- + { + DWORD cch = len; + ++ #ifdef FEAT_MBYTE ++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) ++ { ++ WCHAR wszHostName[256 + 1]; ++ DWORD wcch = sizeof(wszHostName) / sizeof(WCHAR); ++ ++ if (GetComputerNameW(wszHostName, &wcch)) ++ { ++ char_u *p = utf16_to_enc(wszHostName, NULL); ++ ++ if (p != NULL) ++ { ++ vim_strncpy(s, p, len - 1); ++ vim_free(p); ++ return; ++ } ++ } ++ /* Retry with non-wide function (for Windows 98). */ ++ } ++ #endif + if (!GetComputerName(s, &cch)) + vim_strncpy(s, "PC (Win32 Vim)", len - 1); + } +*** ../vim-7.4.123/src/version.c 2013-12-11 18:18:01.000000000 +0100 +--- src/version.c 2013-12-11 18:20:03.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 124, + /**/ + +-- +Don't read everything you believe. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.125 b/patches/source/vim/patches/7.4.125 new file mode 100644 index 000000000..04a0fe9aa --- /dev/null +++ b/patches/source/vim/patches/7.4.125 @@ -0,0 +1,57 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.125 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.125 +Problem: Win32: Dealing with messages may not work for multi-byte chars. +Solution: Use pDispatchMessage(). (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.124/src/os_win32.c 2013-12-11 18:21:41.000000000 +0100 +--- src/os_win32.c 2013-12-11 18:23:47.000000000 +0100 +*************** +*** 4282,4291 **** + { + MSG msg; + +! if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE)) + { + TranslateMessage(&msg); +! DispatchMessage(&msg); + } + + /* write pipe information in the window */ +--- 4282,4291 ---- + { + MSG msg; + +! if (pPeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE)) + { + TranslateMessage(&msg); +! pDispatchMessage(&msg); + } + + /* write pipe information in the window */ +*** ../vim-7.4.124/src/version.c 2013-12-11 18:21:41.000000000 +0100 +--- src/version.c 2013-12-11 18:35:44.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 125, + /**/ + +-- +Don't believe everything you hear or anything you say. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.126 b/patches/source/vim/patches/7.4.126 new file mode 100644 index 000000000..c7acae7d8 --- /dev/null +++ b/patches/source/vim/patches/7.4.126 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.126 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.126 +Problem: Compiler warnings for "const" and incompatible types. +Solution: Remove "const", add type cast. (Ken Takata) +Files: src/os_win32.c + + +*** ../vim-7.4.125/src/os_win32.c 2013-12-11 18:36:28.000000000 +0100 +--- src/os_win32.c 2013-12-12 20:19:39.000000000 +0100 +*************** +*** 3830,3836 **** + + static BOOL + vim_create_process( +! const char *cmd, + DWORD flags, + BOOL inherit_handles, + STARTUPINFO *si, +--- 3830,3836 ---- + + static BOOL + vim_create_process( +! char *cmd, + DWORD flags, + BOOL inherit_handles, + STARTUPINFO *si, +*************** +*** 3853,3859 **** + flags, /* Creation flags */ + NULL, /* Environment */ + NULL, /* Current directory */ +! si, /* Startup information */ + pi); /* Process information */ + vim_free(wcmd); + return ret; +--- 3853,3859 ---- + flags, /* Creation flags */ + NULL, /* Environment */ + NULL, /* Current directory */ +! (LPSTARTUPINFOW)si, /* Startup information */ + pi); /* Process information */ + vim_free(wcmd); + return ret; +*** ../vim-7.4.125/src/version.c 2013-12-11 18:36:28.000000000 +0100 +--- src/version.c 2013-12-12 20:21:27.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 126, + /**/ + +-- +Microsoft is to software what McDonalds is to gourmet cooking + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.127 b/patches/source/vim/patches/7.4.127 new file mode 100644 index 000000000..71ce694b4 --- /dev/null +++ b/patches/source/vim/patches/7.4.127 @@ -0,0 +1,67 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.127 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.127 +Problem: Perl 5.18 on Unix doesn't work. +Solution: Move workaround to after including vim.h. (Ken Takata) +Files: src/if_perl.xs + + +*** ../vim-7.4.126/src/if_perl.xs 2013-12-11 17:20:14.000000000 +0100 +--- src/if_perl.xs 2013-12-14 11:41:56.000000000 +0100 +*************** +*** 24,36 **** + # define _USE_32BIT_TIME_T + #endif + +- /* Work around for perl-5.18. +- * Don't include "perl\lib\CORE\inline.h" for now, +- * include it after Perl_sv_free2 is defined. */ +- #ifdef DYNAMIC_PERL +- # define PERL_NO_INLINE_FUNCTIONS +- #endif +- + /* + * Prevent including winsock.h. perl.h tries to detect whether winsock.h is + * already included before including winsock2.h, because winsock2.h isn't +--- 24,29 ---- +*************** +*** 44,49 **** +--- 37,49 ---- + + #include "vim.h" + ++ /* Work around for perl-5.18. ++ * Don't include "perl\lib\CORE\inline.h" for now, ++ * include it after Perl_sv_free2 is defined. */ ++ #ifdef DYNAMIC_PERL ++ # define PERL_NO_INLINE_FUNCTIONS ++ #endif ++ + #include + #include + #include +*** ../vim-7.4.126/src/version.c 2013-12-12 20:25:39.000000000 +0100 +--- src/version.c 2013-12-14 11:43:54.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 127, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +54. You start tilting your head sideways to smile. :-) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.128 b/patches/source/vim/patches/7.4.128 new file mode 100644 index 000000000..ead1b6766 --- /dev/null +++ b/patches/source/vim/patches/7.4.128 @@ -0,0 +1,66 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.128 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.128 +Problem: Perl 5.18 for MSVC doesn't work. +Solution: Add check in makefile and define __inline. (Ken Takata) +Files: src/Make_mvc.mak, src/if_perl.xs + + +*** ../vim-7.4.127/src/Make_mvc.mak 2013-11-09 02:32:15.000000000 +0100 +--- src/Make_mvc.mak 2013-12-14 11:47:37.000000000 +0100 +*************** +*** 825,831 **** +--- 825,836 ---- + PERL_LIB = $(PERL_INCDIR)\perl.lib + !else + PERL_DLL = perl$(PERL_VER).dll ++ !if exist($(PERL_INCDIR)\perl$(PERL_VER).lib) + PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib ++ !else ++ # For ActivePerl 5.18 and later ++ PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a ++ !endif + !endif + + CFLAGS = $(CFLAGS) -DFEAT_PERL +*** ../vim-7.4.127/src/if_perl.xs 2013-12-14 11:46:04.000000000 +0100 +--- src/if_perl.xs 2013-12-14 11:47:37.000000000 +0100 +*************** +*** 44,49 **** +--- 44,54 ---- + # define PERL_NO_INLINE_FUNCTIONS + #endif + ++ /* Work around for using MSVC and ActivePerl 5.18. */ ++ #ifdef _MSC_VER ++ # define __inline__ __inline ++ #endif ++ + #include + #include + #include +*** ../vim-7.4.127/src/version.c 2013-12-14 11:46:04.000000000 +0100 +--- src/version.c 2013-12-14 11:48:51.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 128, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +55. You ask your doctor to implant a gig in your brain. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.129 b/patches/source/vim/patches/7.4.129 new file mode 100644 index 000000000..efe9a1c5d --- /dev/null +++ b/patches/source/vim/patches/7.4.129 @@ -0,0 +1,56 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.129 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.129 +Problem: getline(-1) returns zero. (mvxxc) +Solution: Return an empty string. +Files: src/eval.c + + +*** ../vim-7.4.128/src/eval.c 2013-11-11 04:25:48.000000000 +0100 +--- src/eval.c 2013-12-14 12:11:27.000000000 +0100 +*************** +*** 11119,11124 **** +--- 11119,11126 ---- + { + char_u *p; + ++ rettv->v_type = VAR_STRING; ++ rettv->vval.v_string = NULL; + if (retlist && rettv_list_alloc(rettv) == FAIL) + return; + +*************** +*** 11131,11138 **** + p = ml_get_buf(buf, start, FALSE); + else + p = (char_u *)""; +- +- rettv->v_type = VAR_STRING; + rettv->vval.v_string = vim_strsave(p); + } + else +--- 11133,11138 ---- +*** ../vim-7.4.128/src/version.c 2013-12-14 11:50:28.000000000 +0100 +--- src/version.c 2013-12-14 12:13:32.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 129, + /**/ + +-- +Keyboard not found. Think ENTER to continue. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.130 b/patches/source/vim/patches/7.4.130 new file mode 100644 index 000000000..864d82c9d --- /dev/null +++ b/patches/source/vim/patches/7.4.130 @@ -0,0 +1,69 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.130 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.130 +Problem: Relative line numbers mix up windows when using folds. +Solution: Use hasFoldingWin() instead of hasFolding(). (Lech Lorens) +Files: src/misc2.c + + +*** ../vim-7.4.129/src/misc2.c 2013-09-08 16:07:03.000000000 +0200 +--- src/misc2.c 2013-12-14 12:43:35.000000000 +0100 +*************** +*** 487,493 **** + { + while (lnum > cursor) + { +! (void)hasFolding(lnum, &lnum, NULL); + /* if lnum and cursor are in the same fold, + * now lnum <= cursor */ + if (lnum > cursor) +--- 487,493 ---- + { + while (lnum > cursor) + { +! (void)hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL); + /* if lnum and cursor are in the same fold, + * now lnum <= cursor */ + if (lnum > cursor) +*************** +*** 499,505 **** + { + while (lnum < cursor) + { +! (void)hasFolding(lnum, NULL, &lnum); + /* if lnum and cursor are in the same fold, + * now lnum >= cursor */ + if (lnum < cursor) +--- 499,505 ---- + { + while (lnum < cursor) + { +! (void)hasFoldingWin(wp, lnum, NULL, &lnum, TRUE, NULL); + /* if lnum and cursor are in the same fold, + * now lnum >= cursor */ + if (lnum < cursor) +*** ../vim-7.4.129/src/version.c 2013-12-14 12:17:34.000000000 +0100 +--- src/version.c 2013-12-14 12:44:27.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 130, + /**/ + +-- +Over the years, I've developed my sense of deja vu so acutely that now +I can remember things that *have* happened before ... + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.131 b/patches/source/vim/patches/7.4.131 new file mode 100644 index 000000000..ec04b85fd --- /dev/null +++ b/patches/source/vim/patches/7.4.131 @@ -0,0 +1,113 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.131 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.131 +Problem: Syncbind causes E315 errors in some situations. (Liang Li) +Solution: Set and restore curbuf in ex_syncbind(). (Christian Brabandt) +Files: src/ex_docmd.c, src/testdir/test37.ok + + +*** ../vim-7.4.130/src/ex_docmd.c 2013-12-11 17:44:33.000000000 +0100 +--- src/ex_docmd.c 2013-12-14 12:55:05.000000000 +0100 +*************** +*** 8054,8059 **** +--- 8054,8061 ---- + { + #ifdef FEAT_SCROLLBIND + win_T *wp; ++ win_T *save_curwin = curwin; ++ buf_T *save_curbuf = curbuf; + long topline; + long y; + linenr_T old_linenr = curwin->w_cursor.lnum; +*************** +*** 8085,8097 **** + + + /* +! * set all scrollbind windows to the same topline + */ +- wp = curwin; + for (curwin = firstwin; curwin; curwin = curwin->w_next) + { + if (curwin->w_p_scb) + { + y = topline - curwin->w_topline; + if (y > 0) + scrollup(y, TRUE); +--- 8087,8099 ---- + + + /* +! * Set all scrollbind windows to the same topline. + */ + for (curwin = firstwin; curwin; curwin = curwin->w_next) + { + if (curwin->w_p_scb) + { ++ curbuf = curwin->w_buffer; + y = topline - curwin->w_topline; + if (y > 0) + scrollup(y, TRUE); +*************** +*** 8105,8111 **** + #endif + } + } +! curwin = wp; + if (curwin->w_p_scb) + { + did_syncbind = TRUE; +--- 8107,8114 ---- + #endif + } + } +! curwin = save_curwin; +! curbuf = save_curbuf; + if (curwin->w_p_scb) + { + did_syncbind = TRUE; +*** ../vim-7.4.130/src/testdir/test37.ok 2010-05-15 13:04:10.000000000 +0200 +--- src/testdir/test37.ok 2013-12-14 12:54:57.000000000 +0100 +*************** +*** 27,33 **** + + . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 + :set scrollbind +- zt: +- . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 + :set scrollbind +! . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 +--- 27,33 ---- + + . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 + :set scrollbind + :set scrollbind +! . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 +! j: +! . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 +*** ../vim-7.4.130/src/version.c 2013-12-14 12:48:55.000000000 +0100 +--- src/version.c 2013-12-14 13:03:51.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 131, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +57. You begin to wonder how on earth your service provider is allowed to call + 200 hours per month "unlimited." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.132 b/patches/source/vim/patches/7.4.132 new file mode 100644 index 000000000..73d7281c4 --- /dev/null +++ b/patches/source/vim/patches/7.4.132 @@ -0,0 +1,54 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.132 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.132 (after 7.4.122) +Problem: Win32: flags and inherit_handles arguments mixed up. +Solution: Swap the argument. (cs86661) +Files: src/os_win32.c + + +*** ../vim-7.4.131/src/os_win32.c 2013-12-12 20:25:39.000000000 +0100 +--- src/os_win32.c 2014-01-05 13:24:15.000000000 +0100 +*************** +*** 3831,3838 **** + static BOOL + vim_create_process( + char *cmd, +- DWORD flags, + BOOL inherit_handles, + STARTUPINFO *si, + PROCESS_INFORMATION *pi) + { +--- 3831,3838 ---- + static BOOL + vim_create_process( + char *cmd, + BOOL inherit_handles, ++ DWORD flags, + STARTUPINFO *si, + PROCESS_INFORMATION *pi) + { +*** ../vim-7.4.131/src/version.c 2013-12-14 13:06:13.000000000 +0100 +--- src/version.c 2014-01-05 13:27:25.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 132, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +93. New mail alarm on your palmtop annoys other churchgoers. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.133 b/patches/source/vim/patches/7.4.133 new file mode 100644 index 000000000..7c4bdfad9 --- /dev/null +++ b/patches/source/vim/patches/7.4.133 @@ -0,0 +1,74 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.133 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.133 +Problem: Clang warns for using NUL. +Solution: Change NUL to NULL. (Dominique Pelle) +Files: src/eval.c, src/misc2.c + + +*** ../vim-7.4.132/src/eval.c 2013-12-14 12:17:34.000000000 +0100 +--- src/eval.c 2014-01-06 06:11:50.000000000 +0100 +*************** +*** 14141,14148 **** + } + else + { +! list_append_string(rettv->vval.v_list, NUL, -1); +! list_append_string(rettv->vval.v_list, NUL, -1); + } + } + #endif +--- 14141,14148 ---- + } + else + { +! list_append_string(rettv->vval.v_list, NULL, -1); +! list_append_string(rettv->vval.v_list, NULL, -1); + } + } + #endif +*** ../vim-7.4.132/src/misc2.c 2013-12-14 12:48:55.000000000 +0100 +--- src/misc2.c 2014-01-06 06:11:50.000000000 +0100 +*************** +*** 4695,4702 **** + else + { + char_u *p = gettail(search_ctx->ffsc_fix_path); +! char_u *wc_path = NUL; +! char_u *temp = NUL; + int len = 0; + + if (p > search_ctx->ffsc_fix_path) +--- 4695,4702 ---- + else + { + char_u *p = gettail(search_ctx->ffsc_fix_path); +! char_u *wc_path = NULL; +! char_u *temp = NULL; + int len = 0; + + if (p > search_ctx->ffsc_fix_path) +*** ../vim-7.4.132/src/version.c 2014-01-06 06:16:55.000000000 +0100 +--- src/version.c 2014-01-06 06:13:26.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 133, + /**/ + +-- +A meeting is an event at which the minutes are kept and the hours are lost. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.134 b/patches/source/vim/patches/7.4.134 new file mode 100644 index 000000000..d8f47c570 --- /dev/null +++ b/patches/source/vim/patches/7.4.134 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.134 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.134 +Problem: Spurious space in MingW Makefile. +Solution: Remove the space. (Michael Soyka) +Files: src/Make_ming.mak + + +*** ../vim-7.4.133/src/Make_ming.mak 2013-12-11 15:06:36.000000000 +0100 +--- src/Make_ming.mak 2014-01-06 15:37:57.000000000 +0100 +*************** +*** 598,604 **** + ifeq (yes, $(GUI)) + OBJ += $(OUTDIR)/xpm_w32.o + # You'll need libXpm.a from http://gnuwin32.sf.net +! LIB += -L $(XPM)/lib -lXpm + endif + endif + +--- 598,604 ---- + ifeq (yes, $(GUI)) + OBJ += $(OUTDIR)/xpm_w32.o + # You'll need libXpm.a from http://gnuwin32.sf.net +! LIB += -L$(XPM)/lib -lXpm + endif + endif + +*** ../vim-7.4.133/src/version.c 2014-01-06 06:18:44.000000000 +0100 +--- src/version.c 2014-01-06 15:39:32.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 134, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +115. You are late picking up your kid from school and try to explain + to the teacher you were stuck in Web traffic. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.135 b/patches/source/vim/patches/7.4.135 new file mode 100644 index 000000000..4f11071b5 --- /dev/null +++ b/patches/source/vim/patches/7.4.135 @@ -0,0 +1,51 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.135 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.135 +Problem: Missing dot in MingW test Makefile. +Solution: Add the dot. (Michael Soyka) +Files: src/testdir/Make_ming.mak + + +*** ../vim-7.4.134/src/testdir/Make_ming.mak 2013-11-21 14:21:25.000000000 +0100 +--- src/testdir/Make_ming.mak 2014-01-06 15:41:27.000000000 +0100 +*************** +*** 53,59 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100out test101.out test102.out test103.out + + SCRIPTS32 = test50.out test70.out + +--- 53,59 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.134/src/version.c 2014-01-06 15:44:59.000000000 +0100 +--- src/version.c 2014-01-06 15:47:14.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 135, + /**/ + +-- +Two percent of zero is almost nothing. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.136 b/patches/source/vim/patches/7.4.136 new file mode 100644 index 000000000..20976809a --- /dev/null +++ b/patches/source/vim/patches/7.4.136 @@ -0,0 +1,75 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.136 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.136 (after 7.4.096) +Problem: MS-Windows: When saving a file with a UNC path the file becomes + read-only. +Solution: Don't mix up Win32 attributes and Unix attributes. (Ken Takata) +Files: src/os_mswin.c, src/os_win32.c + + +*** ../vim-7.4.135/src/os_mswin.c 2013-09-29 19:05:17.000000000 +0200 +--- src/os_mswin.c 2014-01-10 13:03:19.000000000 +0100 +*************** +*** 617,624 **** +--- 617,638 ---- + p = buf + strlen(buf); + if (p > buf) + mb_ptr_back(buf, p); ++ ++ /* Remove trailing '\\' except root path. */ + if (p > buf && (*p == '\\' || *p == '/') && p[-1] != ':') + *p = NUL; ++ ++ if ((buf[0] == '\\' && buf[1] == '\\') || (buf[0] == '/' && buf[1] == '/')) ++ { ++ /* UNC root path must be followed by '\\'. */ ++ p = vim_strpbrk(buf + 2, "\\/"); ++ if (p != NULL) ++ { ++ p = vim_strpbrk(p + 1, "\\/"); ++ if (p == NULL) ++ STRCAT(buf, "\\"); ++ } ++ } + #ifdef FEAT_MBYTE + if (enc_codepage >= 0 && (int)GetACP() != enc_codepage + # ifdef __BORLANDC__ +*** ../vim-7.4.135/src/os_win32.c 2014-01-05 13:29:16.000000000 +0100 +--- src/os_win32.c 2014-01-10 12:59:32.000000000 +0100 +*************** +*** 2890,2898 **** + struct stat st; + int n; + +- if (name[0] == '\\' && name[1] == '\\') +- /* UNC path */ +- return (long)win32_getattrs(name); + n = mch_stat(name, &st); + return n == 0 ? (long)st.st_mode : -1L; + } +--- 2890,2895 ---- +*** ../vim-7.4.135/src/version.c 2014-01-06 15:51:46.000000000 +0100 +--- src/version.c 2014-01-10 13:04:43.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 136, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +128. You can access the Net -- via your portable and cellular phone. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.137 b/patches/source/vim/patches/7.4.137 new file mode 100644 index 000000000..4e685c139 --- /dev/null +++ b/patches/source/vim/patches/7.4.137 @@ -0,0 +1,239 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.137 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.137 +Problem: Cannot use IME with Windows 8 console. +Solution: Change the user of ReadConsoleInput() and PeekConsoleInput(). + (Nobuhiro Takasaki) +Files: src/os_win32.c + + +*** ../vim-7.4.136/src/os_win32.c 2014-01-10 13:05:12.000000000 +0100 +--- src/os_win32.c 2014-01-10 13:42:19.000000000 +0100 +*************** +*** 232,237 **** +--- 232,306 ---- + + static char_u *exe_path = NULL; + ++ /* ++ * Version of ReadConsoleInput() that works with IME. ++ */ ++ static BOOL ++ read_console_input( ++ HANDLE hConsoleInput, ++ PINPUT_RECORD lpBuffer, ++ DWORD nLength, ++ LPDWORD lpNumberOfEventsRead) ++ { ++ enum ++ { ++ IRSIZE = 10, /* rough value */ ++ }; ++ static INPUT_RECORD irCache[IRSIZE]; ++ static DWORD s_dwIndex = 0; ++ static DWORD s_dwMax = 0; ++ ++ if (hConsoleInput == NULL || lpBuffer == NULL) ++ return ReadConsoleInput(hConsoleInput, lpBuffer, nLength, ++ lpNumberOfEventsRead); ++ ++ if (nLength == -1) ++ { ++ if (s_dwMax == 0) ++ { ++ PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead); ++ if (*lpNumberOfEventsRead == 0) ++ return FALSE; ++ ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); ++ s_dwIndex = 0; ++ } ++ ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; ++ *lpNumberOfEventsRead = 1; ++ return TRUE; ++ } ++ ++ if (s_dwMax == 0) ++ { ++ ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); ++ s_dwIndex = 0; ++ if (s_dwMax == 0) ++ { ++ *lpNumberOfEventsRead = 0; ++ return FALSE; ++ } ++ } ++ ++ ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; ++ if (++s_dwIndex == s_dwMax) ++ s_dwMax = 0; ++ *lpNumberOfEventsRead = 1; ++ return TRUE; ++ } ++ ++ /* ++ * Version of PeekConsoleInput() that works with IME. ++ */ ++ static BOOL ++ peek_console_input( ++ HANDLE hConsoleInput, ++ PINPUT_RECORD lpBuffer, ++ DWORD nLength, ++ LPDWORD lpNumberOfEventsRead) ++ { ++ return read_console_input(hConsoleInput, lpBuffer, -1, ++ lpNumberOfEventsRead); ++ } ++ + static void + get_exe_name(void) + { +*************** +*** 1117,1123 **** + INPUT_RECORD ir; + MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent; + +! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords); + + if (cRecords == 0 || ir.EventType != MOUSE_EVENT + || !(pmer2->dwButtonState & LEFT_RIGHT)) +--- 1186,1192 ---- + INPUT_RECORD ir; + MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent; + +! peek_console_input(g_hConIn, &ir, 1, &cRecords); + + if (cRecords == 0 || ir.EventType != MOUSE_EVENT + || !(pmer2->dwButtonState & LEFT_RIGHT)) +*************** +*** 1126,1132 **** + { + if (pmer2->dwEventFlags != MOUSE_MOVED) + { +! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); + + return decode_mouse_event(pmer2); + } +--- 1195,1201 ---- + { + if (pmer2->dwEventFlags != MOUSE_MOVED) + { +! read_console_input(g_hConIn, &ir, 1, &cRecords); + + return decode_mouse_event(pmer2); + } +*************** +*** 1134,1143 **** + s_yOldMouse == pmer2->dwMousePosition.Y) + { + /* throw away spurious mouse move */ +! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); + + /* are there any more mouse events in queue? */ +! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords); + + if (cRecords==0 || ir.EventType != MOUSE_EVENT) + break; +--- 1203,1212 ---- + s_yOldMouse == pmer2->dwMousePosition.Y) + { + /* throw away spurious mouse move */ +! read_console_input(g_hConIn, &ir, 1, &cRecords); + + /* are there any more mouse events in queue? */ +! peek_console_input(g_hConIn, &ir, 1, &cRecords); + + if (cRecords==0 || ir.EventType != MOUSE_EVENT) + break; +*************** +*** 1374,1380 **** + } + + cRecords = 0; +! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords); + + #ifdef FEAT_MBYTE_IME + if (State & CMDLINE && msg_row == Rows - 1) +--- 1443,1449 ---- + } + + cRecords = 0; +! peek_console_input(g_hConIn, &ir, 1, &cRecords); + + #ifdef FEAT_MBYTE_IME + if (State & CMDLINE && msg_row == Rows - 1) +*************** +*** 1405,1411 **** + if (ir.Event.KeyEvent.uChar.UnicodeChar == 0 + && ir.Event.KeyEvent.wVirtualKeyCode == 13) + { +! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); + continue; + } + #endif +--- 1474,1480 ---- + if (ir.Event.KeyEvent.uChar.UnicodeChar == 0 + && ir.Event.KeyEvent.wVirtualKeyCode == 13) + { +! read_console_input(g_hConIn, &ir, 1, &cRecords); + continue; + } + #endif +*************** +*** 1414,1420 **** + return TRUE; + } + +! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords); + + if (ir.EventType == FOCUS_EVENT) + handle_focus_event(ir); +--- 1483,1489 ---- + return TRUE; + } + +! read_console_input(g_hConIn, &ir, 1, &cRecords); + + if (ir.EventType == FOCUS_EVENT) + handle_focus_event(ir); +*************** +*** 1484,1490 **** + return 0; + # endif + #endif +! if (ReadConsoleInput(g_hConIn, &ir, 1, &cRecords) == 0) + { + if (did_create_conin) + read_error_exit(); +--- 1553,1559 ---- + return 0; + # endif + #endif +! if (read_console_input(g_hConIn, &ir, 1, &cRecords) == 0) + { + if (did_create_conin) + read_error_exit(); +*** ../vim-7.4.136/src/version.c 2014-01-10 13:05:12.000000000 +0100 +--- src/version.c 2014-01-10 13:42:34.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 137, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +131. You challenge authority and society by portnuking people + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.138 b/patches/source/vim/patches/7.4.138 new file mode 100644 index 000000000..413383c50 --- /dev/null +++ b/patches/source/vim/patches/7.4.138 @@ -0,0 +1,55 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.138 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.138 (after 7.4.114) +Problem: Directory change messages are not recognized. +Solution: Fix using a character range literally. (Lech Lorens) +Files: src/option.h + + +*** ../vim-7.4.137/src/option.h 2013-12-11 12:22:54.000000000 +0100 +--- src/option.h 2014-01-10 15:17:09.000000000 +0100 +*************** +*** 31,39 **** + # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" + # else /* Unix, probably */ + # ifdef EBCDIC +! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" + # else +! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m" + # endif + # endif + # endif +--- 31,39 ---- + # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" + # else /* Unix, probably */ + # ifdef EBCDIC +! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m" + # else +! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m" + # endif + # endif + # endif +*** ../vim-7.4.137/src/version.c 2014-01-10 13:51:35.000000000 +0100 +--- src/version.c 2014-01-10 15:17:04.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 138, + /**/ + +-- +In a world without fences, who needs Gates and Windows? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.139 b/patches/source/vim/patches/7.4.139 new file mode 100644 index 000000000..dc870dc0a --- /dev/null +++ b/patches/source/vim/patches/7.4.139 @@ -0,0 +1,76 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.139 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.139 +Problem: Crash when using :cd in autocommand. (François Ingelrest) +Solution: Set w_localdir to NULL after freeing it. (Dominique Pelle) +Files: src/ex_docmd.c, src/window.c + + +*** ../vim-7.4.138/src/ex_docmd.c 2013-12-14 13:06:13.000000000 +0100 +--- src/ex_docmd.c 2014-01-10 15:39:58.000000000 +0100 +*************** +*** 8228,8233 **** +--- 8228,8234 ---- + int local; + { + vim_free(curwin->w_localdir); ++ curwin->w_localdir = NULL; + if (local) + { + /* If still in global directory, need to remember current +*************** +*** 8244,8250 **** + * name. */ + vim_free(globaldir); + globaldir = NULL; +- curwin->w_localdir = NULL; + } + + shorten_fnames(TRUE); +--- 8245,8250 ---- +*** ../vim-7.4.138/src/window.c 2013-08-14 17:11:14.000000000 +0200 +--- src/window.c 2014-01-10 15:39:58.000000000 +0100 +*************** +*** 1216,1223 **** + else + copy_loclist(oldp, newp); + #endif +! if (oldp->w_localdir != NULL) +! newp->w_localdir = vim_strsave(oldp->w_localdir); + + /* copy tagstack and folds */ + for (i = 0; i < oldp->w_tagstacklen; i++) +--- 1216,1223 ---- + else + copy_loclist(oldp, newp); + #endif +! newp->w_localdir = (oldp->w_localdir == NULL) +! ? NULL : vim_strsave(oldp->w_localdir); + + /* copy tagstack and folds */ + for (i = 0; i < oldp->w_tagstacklen; i++) +*** ../vim-7.4.138/src/version.c 2014-01-10 15:32:17.000000000 +0100 +--- src/version.c 2014-01-10 15:39:48.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 139, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +132. You come back and check this list every half-hour. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.140 b/patches/source/vim/patches/7.4.140 new file mode 100644 index 000000000..e493828e7 --- /dev/null +++ b/patches/source/vim/patches/7.4.140 @@ -0,0 +1,174 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.140 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.140 +Problem: Crash when wiping out buffer triggers autocommand that wipes out + only other buffer. +Solution: Do not delete the last buffer, make it empty. (Hirohito Higashi) +Files: src/buffer.c + + +*** ../vim-7.4.139/src/buffer.c 2013-11-06 05:26:08.000000000 +0100 +--- src/buffer.c 2014-01-10 16:41:22.000000000 +0100 +*************** +*** 994,999 **** +--- 994,1043 ---- + #if defined(FEAT_LISTCMDS) || defined(FEAT_PYTHON) \ + || defined(FEAT_PYTHON3) || defined(PROTO) + ++ static int empty_curbuf __ARGS((int close_others, int forceit, int action)); ++ ++ /* ++ * Make the current buffer empty. ++ * Used when it is wiped out and it's the last buffer. ++ */ ++ static int ++ empty_curbuf(close_others, forceit, action) ++ int close_others; ++ int forceit; ++ int action; ++ { ++ int retval; ++ buf_T *buf = curbuf; ++ ++ if (action == DOBUF_UNLOAD) ++ { ++ EMSG(_("E90: Cannot unload last buffer")); ++ return FAIL; ++ } ++ ++ if (close_others) ++ { ++ /* Close any other windows on this buffer, then make it empty. */ ++ #ifdef FEAT_WINDOWS ++ close_windows(buf, TRUE); ++ #endif ++ } ++ ++ setpcmark(); ++ retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ++ forceit ? ECMD_FORCEIT : 0, curwin); ++ ++ /* ++ * do_ecmd() may create a new buffer, then we have to delete ++ * the old one. But do_ecmd() may have done that already, check ++ * if the buffer still exists. ++ */ ++ if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0) ++ close_buffer(NULL, buf, action, FALSE); ++ if (!close_others) ++ need_fileinfo = FALSE; ++ return retval; ++ } + /* + * Implementation of the commands for the buffer list. + * +*************** +*** 1114,1120 **** + if (unload) + { + int forward; +- int retval; + + /* When unloading or deleting a buffer that's already unloaded and + * unlisted: fail silently. */ +--- 1158,1163 ---- +*************** +*** 1155,1184 **** + if (bp->b_p_bl && bp != buf) + break; + if (bp == NULL && buf == curbuf) +! { +! if (action == DOBUF_UNLOAD) +! { +! EMSG(_("E90: Cannot unload last buffer")); +! return FAIL; +! } +! +! /* Close any other windows on this buffer, then make it empty. */ +! #ifdef FEAT_WINDOWS +! close_windows(buf, TRUE); +! #endif +! setpcmark(); +! retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, +! forceit ? ECMD_FORCEIT : 0, curwin); +! +! /* +! * do_ecmd() may create a new buffer, then we have to delete +! * the old one. But do_ecmd() may have done that already, check +! * if the buffer still exists. +! */ +! if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0) +! close_buffer(NULL, buf, action, FALSE); +! return retval; +! } + + #ifdef FEAT_WINDOWS + /* +--- 1198,1204 ---- + if (bp->b_p_bl && bp != buf) + break; + if (bp == NULL && buf == curbuf) +! return empty_curbuf(TRUE, forceit, action); + + #ifdef FEAT_WINDOWS + /* +*************** +*** 1212,1218 **** + + /* + * Deleting the current buffer: Need to find another buffer to go to. +! * There must be another, otherwise it would have been handled above. + * First use au_new_curbuf, if it is valid. + * Then prefer the buffer we most recently visited. + * Else try to find one that is loaded, after the current buffer, +--- 1232,1239 ---- + + /* + * Deleting the current buffer: Need to find another buffer to go to. +! * There should be another, otherwise it would have been handled +! * above. However, autocommands may have deleted all buffers. + * First use au_new_curbuf, if it is valid. + * Then prefer the buffer we most recently visited. + * Else try to find one that is loaded, after the current buffer, +*************** +*** 1311,1316 **** +--- 1332,1344 ---- + } + } + ++ if (buf == NULL) ++ { ++ /* Autocommands must have wiped out all other buffers. Only option ++ * now is to make the current buffer empty. */ ++ return empty_curbuf(FALSE, forceit, action); ++ } ++ + /* + * make buf current buffer + */ +*** ../vim-7.4.139/src/version.c 2014-01-10 15:53:09.000000000 +0100 +--- src/version.c 2014-01-10 16:36:03.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 140, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +133. You communicate with people on other continents more than you + do with your own neighbors. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.141 b/patches/source/vim/patches/7.4.141 new file mode 100644 index 000000000..8667b7277 --- /dev/null +++ b/patches/source/vim/patches/7.4.141 @@ -0,0 +1,88 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.141 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.141 +Problem: Problems when building with Borland: st_mode is signed short; + can't build with Python; temp files not ignored by Mercurial; + building with DEBUG doesn't define _DEBUG. +Solution: Fix the problems. (Ken Takata) +Files: src/Make_bc5.mak, src/if_py_both.h, src/os_win32.c + + +*** ../vim-7.4.140/src/Make_bc5.mak 2013-06-03 20:09:58.000000000 +0200 +--- src/Make_bc5.mak 2014-01-10 18:12:14.000000000 +0100 +*************** +*** 419,425 **** + ALIGNARG = -a$(ALIGN) + # + !if ("$(DEBUG)"=="yes") +! DEFINES=$(DEFINES) -DDEBUG + !endif + # + !if ("$(OLE)"=="yes") +--- 419,425 ---- + ALIGNARG = -a$(ALIGN) + # + !if ("$(DEBUG)"=="yes") +! DEFINES=$(DEFINES) -DDEBUG -D_DEBUG + !endif + # + !if ("$(OLE)"=="yes") +*** ../vim-7.4.140/src/if_py_both.h 2013-12-07 14:28:37.000000000 +0100 +--- src/if_py_both.h 2014-01-10 18:12:14.000000000 +0100 +*************** +*** 13,18 **** +--- 13,23 ---- + * Common code for if_python.c and if_python3.c. + */ + ++ #ifdef __BORLANDC__ ++ /* Disable Warning W8060: Possibly incorrect assignment in function ... */ ++ # pragma warn -8060 ++ #endif ++ + static char_u e_py_systemexit[] = "E880: Can't handle SystemExit of %s exception in vim"; + + #if PY_VERSION_HEX < 0x02050000 +*** ../vim-7.4.140/src/os_win32.c 2014-01-10 13:51:35.000000000 +0100 +--- src/os_win32.c 2014-01-10 18:12:14.000000000 +0100 +*************** +*** 2960,2966 **** + int n; + + n = mch_stat(name, &st); +! return n == 0 ? (long)st.st_mode : -1L; + } + + +--- 2960,2966 ---- + int n; + + n = mch_stat(name, &st); +! return n == 0 ? (long)(unsigned short)st.st_mode : -1L; + } + + +*** ../vim-7.4.140/src/version.c 2014-01-10 16:43:09.000000000 +0100 +--- src/version.c 2014-01-10 18:14:58.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 141, + /**/ + +-- +Never eat yellow snow. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.142 b/patches/source/vim/patches/7.4.142 new file mode 100644 index 000000000..0e4f8f07d --- /dev/null +++ b/patches/source/vim/patches/7.4.142 @@ -0,0 +1,186 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.142 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.142 (after 7.4.137) +Problem: On MS-Windows 8 IME input doen't work correctly. +Solution: Work around the problem. (Nobuhiro Takasaki) +Files: src/os_win32.c + + +*** ../vim-7.4.141/src/os_win32.c 2014-01-10 18:16:00.000000000 +0100 +--- src/os_win32.c 2014-01-12 13:23:24.000000000 +0100 +*************** +*** 234,289 **** + + /* + * Version of ReadConsoleInput() that works with IME. + */ + static BOOL + read_console_input( +! HANDLE hConsoleInput, +! PINPUT_RECORD lpBuffer, +! DWORD nLength, +! LPDWORD lpNumberOfEventsRead) + { + enum + { +! IRSIZE = 10, /* rough value */ + }; +! static INPUT_RECORD irCache[IRSIZE]; + static DWORD s_dwIndex = 0; + static DWORD s_dwMax = 0; +! +! if (hConsoleInput == NULL || lpBuffer == NULL) +! return ReadConsoleInput(hConsoleInput, lpBuffer, nLength, +! lpNumberOfEventsRead); +! +! if (nLength == -1) +! { +! if (s_dwMax == 0) +! { +! PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead); +! if (*lpNumberOfEventsRead == 0) +! return FALSE; +! ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); +! s_dwIndex = 0; +! } +! ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; +! *lpNumberOfEventsRead = 1; +! return TRUE; +! } + + if (s_dwMax == 0) + { +! ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax); + s_dwIndex = 0; +! if (s_dwMax == 0) + { +! *lpNumberOfEventsRead = 0; +! return FALSE; + } + } +! +! ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex]; +! if (++s_dwIndex == s_dwMax) + s_dwMax = 0; +! *lpNumberOfEventsRead = 1; + return TRUE; + } + +--- 234,275 ---- + + /* + * Version of ReadConsoleInput() that works with IME. ++ * Works around problems on Windows 8. + */ + static BOOL + read_console_input( +! HANDLE hInput, +! INPUT_RECORD *lpBuffer, +! DWORD nLength, +! LPDWORD lpEvents) + { + enum + { +! IRSIZE = 10 + }; +! static INPUT_RECORD s_irCache[IRSIZE]; + static DWORD s_dwIndex = 0; + static DWORD s_dwMax = 0; +! DWORD dwEvents; + + if (s_dwMax == 0) + { +! if (nLength == -1) +! return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents); +! if (!ReadConsoleInput(hInput, s_irCache, IRSIZE, &dwEvents)) +! return FALSE; + s_dwIndex = 0; +! s_dwMax = dwEvents; +! if (dwEvents == 0) + { +! *lpEvents = 0; +! return TRUE; + } + } +! *lpBuffer = s_irCache[s_dwIndex]; +! if (nLength != -1 && ++s_dwIndex >= s_dwMax) + s_dwMax = 0; +! *lpEvents = 1; + return TRUE; + } + +*************** +*** 292,304 **** + */ + static BOOL + peek_console_input( +! HANDLE hConsoleInput, +! PINPUT_RECORD lpBuffer, +! DWORD nLength, +! LPDWORD lpNumberOfEventsRead) + { +! return read_console_input(hConsoleInput, lpBuffer, -1, +! lpNumberOfEventsRead); + } + + static void +--- 278,289 ---- + */ + static BOOL + peek_console_input( +! HANDLE hInput, +! INPUT_RECORD *lpBuffer, +! DWORD nLength, +! LPDWORD lpEvents) + { +! return read_console_input(hInput, lpBuffer, -1, lpEvents); + } + + static void +*************** +*** 585,594 **** + static BOOL + win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable) + { +! BOOL bResult; +! LUID luid; +! HANDLE hToken; +! TOKEN_PRIVILEGES tokenPrivileges; + + if (!OpenProcessToken(GetCurrentProcess(), + TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) +--- 570,579 ---- + static BOOL + win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable) + { +! BOOL bResult; +! LUID luid; +! HANDLE hToken; +! TOKEN_PRIVILEGES tokenPrivileges; + + if (!OpenProcessToken(GetCurrentProcess(), + TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) +*** ../vim-7.4.141/src/version.c 2014-01-10 18:16:00.000000000 +0100 +--- src/version.c 2014-01-12 13:17:47.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 142, + /**/ + +-- +Drink wet cement and get really stoned. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.143 b/patches/source/vim/patches/7.4.143 new file mode 100644 index 000000000..909a9e9c2 --- /dev/null +++ b/patches/source/vim/patches/7.4.143 @@ -0,0 +1,214 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.143 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.143 +Problem: TextChangedI is not triggered. +Solution: Reverse check for "ready". (lilydjwg) +Files: src/edit.c + + +*** ../vim-7.4.142/src/edit.c 2013-11-06 04:01:31.000000000 +0100 +--- src/edit.c 2014-01-12 13:30:53.000000000 +0100 +*************** +*** 1556,1642 **** + int conceal_update_lines = FALSE; + #endif + +! if (!char_avail()) +! { + #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL) +! /* Trigger CursorMoved if the cursor moved. Not when the popup menu is +! * visible, the command might delete it. */ +! if (ready && ( + # ifdef FEAT_AUTOCMD +! has_cursormovedI() + # endif + # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL) +! || + # endif + # ifdef FEAT_CONCEAL +! curwin->w_p_cole > 0 + # endif +! ) +! && !equalpos(last_cursormoved, curwin->w_cursor) + # ifdef FEAT_INS_EXPAND +! && !pum_visible() + # endif +! ) +! { + # ifdef FEAT_SYN_HL +! /* Need to update the screen first, to make sure syntax +! * highlighting is correct after making a change (e.g., inserting +! * a "(". The autocommand may also require a redraw, so it's done +! * again below, unfortunately. */ +! if (syntax_present(curwin) && must_redraw) +! update_screen(0); + # endif + # ifdef FEAT_AUTOCMD +! if (has_cursormovedI()) +! apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf); + # endif + # ifdef FEAT_CONCEAL +! if (curwin->w_p_cole > 0) +! { +! conceal_old_cursor_line = last_cursormoved.lnum; +! conceal_new_cursor_line = curwin->w_cursor.lnum; +! conceal_update_lines = TRUE; +! } +! # endif +! last_cursormoved = curwin->w_cursor; + } + #endif + #ifdef FEAT_AUTOCMD +! /* Trigger TextChangedI if b_changedtick differs. */ +! if (!ready && has_textchangedI() +! && last_changedtick != curbuf->b_changedtick + # ifdef FEAT_INS_EXPAND +! && !pum_visible() + # endif +! ) +! { +! if (last_changedtick_buf == curbuf) +! apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf); +! last_changedtick_buf = curbuf; +! last_changedtick = curbuf->b_changedtick; +! } + #endif +! if (must_redraw) +! update_screen(0); +! else if (clear_cmdline || redraw_cmdline) +! showmode(); /* clear cmdline and show mode */ + # if defined(FEAT_CONCEAL) +! if ((conceal_update_lines +! && (conceal_old_cursor_line != conceal_new_cursor_line +! || conceal_cursor_line(curwin))) +! || need_cursor_line_redraw) +! { +! if (conceal_old_cursor_line != conceal_new_cursor_line) +! update_single_line(curwin, conceal_old_cursor_line); +! update_single_line(curwin, conceal_new_cursor_line == 0 +! ? curwin->w_cursor.lnum : conceal_new_cursor_line); +! curwin->w_valid &= ~VALID_CROW; +! } +! # endif +! showruler(FALSE); +! setcursor(); +! emsg_on_display = FALSE; /* may remove error message now */ + } + } + + /* +--- 1556,1644 ---- + int conceal_update_lines = FALSE; + #endif + +! if (char_avail()) +! return; +! + #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL) +! /* Trigger CursorMoved if the cursor moved. Not when the popup menu is +! * visible, the command might delete it. */ +! if (ready && ( + # ifdef FEAT_AUTOCMD +! has_cursormovedI() + # endif + # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL) +! || + # endif + # ifdef FEAT_CONCEAL +! curwin->w_p_cole > 0 + # endif +! ) +! && !equalpos(last_cursormoved, curwin->w_cursor) + # ifdef FEAT_INS_EXPAND +! && !pum_visible() + # endif +! ) +! { + # ifdef FEAT_SYN_HL +! /* Need to update the screen first, to make sure syntax +! * highlighting is correct after making a change (e.g., inserting +! * a "(". The autocommand may also require a redraw, so it's done +! * again below, unfortunately. */ +! if (syntax_present(curwin) && must_redraw) +! update_screen(0); + # endif + # ifdef FEAT_AUTOCMD +! if (has_cursormovedI()) +! apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf); + # endif + # ifdef FEAT_CONCEAL +! if (curwin->w_p_cole > 0) +! { +! conceal_old_cursor_line = last_cursormoved.lnum; +! conceal_new_cursor_line = curwin->w_cursor.lnum; +! conceal_update_lines = TRUE; + } ++ # endif ++ last_cursormoved = curwin->w_cursor; ++ } + #endif ++ + #ifdef FEAT_AUTOCMD +! /* Trigger TextChangedI if b_changedtick differs. */ +! if (ready && has_textchangedI() +! && last_changedtick != curbuf->b_changedtick + # ifdef FEAT_INS_EXPAND +! && !pum_visible() + # endif +! ) +! { +! if (last_changedtick_buf == curbuf) +! apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf); +! last_changedtick_buf = curbuf; +! last_changedtick = curbuf->b_changedtick; +! } + #endif +! +! if (must_redraw) +! update_screen(0); +! else if (clear_cmdline || redraw_cmdline) +! showmode(); /* clear cmdline and show mode */ + # if defined(FEAT_CONCEAL) +! if ((conceal_update_lines +! && (conceal_old_cursor_line != conceal_new_cursor_line +! || conceal_cursor_line(curwin))) +! || need_cursor_line_redraw) +! { +! if (conceal_old_cursor_line != conceal_new_cursor_line) +! update_single_line(curwin, conceal_old_cursor_line); +! update_single_line(curwin, conceal_new_cursor_line == 0 +! ? curwin->w_cursor.lnum : conceal_new_cursor_line); +! curwin->w_valid &= ~VALID_CROW; + } ++ # endif ++ showruler(FALSE); ++ setcursor(); ++ emsg_on_display = FALSE; /* may remove error message now */ + } + + /* +*** ../vim-7.4.142/src/version.c 2014-01-12 13:24:46.000000000 +0100 +--- src/version.c 2014-01-14 12:15:50.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 143, + /**/ + +-- +You are not really successful until someone claims he sat +beside you in school. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.144 b/patches/source/vim/patches/7.4.144 new file mode 100644 index 000000000..c88e2d2c3 --- /dev/null +++ b/patches/source/vim/patches/7.4.144 @@ -0,0 +1,52 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.144 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.144 +Problem: MingW also supports intptr_t for OPEN_OH_ARGTYPE. +Solution: Adjust #ifdef. (Ken Takata) +Files: src/os_mswin.c + + +*** ../vim-7.4.143/src/os_mswin.c 2014-01-10 13:05:12.000000000 +0100 +--- src/os_mswin.c 2014-01-14 12:15:30.000000000 +0100 +*************** +*** 498,504 **** + } + } + +! #if (_MSC_VER >= 1300) + # define OPEN_OH_ARGTYPE intptr_t + #else + # define OPEN_OH_ARGTYPE long +--- 498,504 ---- + } + } + +! #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__) + # define OPEN_OH_ARGTYPE intptr_t + #else + # define OPEN_OH_ARGTYPE long +*** ../vim-7.4.143/src/version.c 2014-01-14 12:16:57.000000000 +0100 +--- src/version.c 2014-01-14 12:18:10.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 144, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +150. You find yourself counting emoticons to get to sleep. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.145 b/patches/source/vim/patches/7.4.145 new file mode 100644 index 000000000..aa7b28d09 --- /dev/null +++ b/patches/source/vim/patches/7.4.145 @@ -0,0 +1,75 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.145 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.145 +Problem: getregtype() does not return zero for unknown register. +Solution: Adjust documention: return empty string for unknown register. + Check the register name to be valid. (Yukihiro Nakadaira) +Files: runtime/doc/eval.txt, src/ops.c + + +*** ../vim-7.4.144/runtime/doc/eval.txt 2013-11-09 01:44:38.000000000 +0100 +--- runtime/doc/eval.txt 2014-01-14 12:24:35.000000000 +0100 +*************** +*** 3459,3465 **** + "v" for |characterwise| text + "V" for |linewise| text + "{width}" for |blockwise-visual| text +! 0 for an empty or unknown register + is one character with value 0x16. + If {regname} is not specified, |v:register| is used. + +--- 3460,3466 ---- + "v" for |characterwise| text + "V" for |linewise| text + "{width}" for |blockwise-visual| text +! "" for an empty or unknown register + is one character with value 0x16. + If {regname} is not specified, |v:register| is used. + +*** ../vim-7.4.144/src/ops.c 2013-11-21 14:39:58.000000000 +0100 +--- src/ops.c 2014-01-14 12:28:33.000000000 +0100 +*************** +*** 6240,6246 **** + regname = may_get_selection(regname); + #endif + +! /* Should we check for a valid name? */ + get_yank_register(regname, FALSE); + + if (y_current->y_array != NULL) +--- 6240,6248 ---- + regname = may_get_selection(regname); + #endif + +! if (regname != NUL && !valid_yank_reg(regname, FALSE)) +! return MAUTO; +! + get_yank_register(regname, FALSE); + + if (y_current->y_array != NULL) +*** ../vim-7.4.144/src/version.c 2014-01-14 12:18:41.000000000 +0100 +--- src/version.c 2014-01-14 12:26:13.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 145, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +151. You find yourself engaged to someone you've never actually met, + except through e-mail. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.146 b/patches/source/vim/patches/7.4.146 new file mode 100644 index 000000000..f23a77dae --- /dev/null +++ b/patches/source/vim/patches/7.4.146 @@ -0,0 +1,67 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.146 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.146 +Problem: When starting Vim with "-u NONE" v:oldfiles is NULL. +Solution: Set v:oldfiles to an empty list. (Yasuhiro Matsumoto) +Files: src/main.c + + +*** ../vim-7.4.145/src/main.c 2013-09-29 16:27:42.000000000 +0200 +--- src/main.c 2014-01-14 12:53:28.000000000 +0100 +*************** +*** 702,707 **** +--- 702,712 ---- + TIME_MSG("reading viminfo"); + } + #endif ++ #ifdef FEAT_EVAL ++ /* It's better to make v:oldfiles an empty list than NULL. */ ++ if (get_vim_var_list(VV_OLDFILES) == NULL) ++ set_vim_var_list(VV_OLDFILES, list_alloc()); ++ #endif + + #ifdef FEAT_QUICKFIX + /* +*************** +*** 1048,1054 **** + /* Setup to catch a terminating error from the X server. Just ignore + * it, restore the state and continue. This might not always work + * properly, but at least we don't exit unexpectedly when the X server +! * exists while Vim is running in a console. */ + if (!cmdwin && !noexmode && SETJMP(x_jump_env)) + { + State = NORMAL; +--- 1053,1059 ---- + /* Setup to catch a terminating error from the X server. Just ignore + * it, restore the state and continue. This might not always work + * properly, but at least we don't exit unexpectedly when the X server +! * exits while Vim is running in a console. */ + if (!cmdwin && !noexmode && SETJMP(x_jump_env)) + { + State = NORMAL; +*** ../vim-7.4.145/src/version.c 2014-01-14 12:33:32.000000000 +0100 +--- src/version.c 2014-01-14 12:56:08.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 146, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +152. You find yourself falling for someone you've never seen or hardly + know, but, boy can he/she TYPE!!!!!! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.147 b/patches/source/vim/patches/7.4.147 new file mode 100644 index 000000000..0df6ffa81 Binary files /dev/null and b/patches/source/vim/patches/7.4.147 differ diff --git a/patches/source/vim/patches/7.4.148 b/patches/source/vim/patches/7.4.148 new file mode 100644 index 000000000..582b37880 --- /dev/null +++ b/patches/source/vim/patches/7.4.148 @@ -0,0 +1,83 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.148 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.148 +Problem: Cannot build with Cygwin and X11. +Solution: Include Xwindows.h instead of windows.h. (Lech Lorens) +Files: src/mbyte.c + + +*** ../vim-7.4.147/src/mbyte.c 2013-11-12 04:43:57.000000000 +0100 +--- src/mbyte.c 2014-01-14 13:21:36.000000000 +0100 +*************** +*** 83,92 **** + # ifndef WIN32_LEAN_AND_MEAN + # define WIN32_LEAN_AND_MEAN + # endif +! # include + # ifdef WIN32 + # undef WIN32 /* Some windows.h define WIN32, we don't want that here. */ + # endif + #endif + + #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__) +--- 83,100 ---- + # ifndef WIN32_LEAN_AND_MEAN + # define WIN32_LEAN_AND_MEAN + # endif +! # if defined(FEAT_GUI) || defined(FEAT_XCLIPBOARD) +! # include +! # define WINBYTE wBYTE +! # else +! # include +! # define WINBYTE BYTE +! # endif + # ifdef WIN32 + # undef WIN32 /* Some windows.h define WIN32, we don't want that here. */ + # endif ++ #else ++ # define WINBYTE BYTE + #endif + + #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__) +*************** +*** 698,704 **** + /* enc_dbcs is set by setting 'fileencoding'. It becomes a Windows + * CodePage identifier, which we can pass directly in to Windows + * API */ +! n = IsDBCSLeadByteEx(enc_dbcs, (BYTE)i) ? 2 : 1; + #else + # if defined(MACOS) || defined(__amigaos4__) + /* +--- 706,712 ---- + /* enc_dbcs is set by setting 'fileencoding'. It becomes a Windows + * CodePage identifier, which we can pass directly in to Windows + * API */ +! n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1; + #else + # if defined(MACOS) || defined(__amigaos4__) + /* +*** ../vim-7.4.147/src/version.c 2014-01-14 13:18:53.000000000 +0100 +--- src/version.c 2014-01-14 13:24:17.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 148, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +154. You fondle your mouse. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.149 b/patches/source/vim/patches/7.4.149 new file mode 100644 index 000000000..b1584205a --- /dev/null +++ b/patches/source/vim/patches/7.4.149 @@ -0,0 +1,822 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.149 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.149 +Problem: Get E685 error when assigning a function to an autoload variable. + (Yukihiro Nakadaira) +Solution: Instead of having a global no_autoload variable, pass an autoload + flag down to where it is used. (ZyX) +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok, + src/testdir/test60.in, src/testdir/test60.ok, + src/testdir/sautest/autoload/footest.vim + + +*** ../vim-7.4.148/src/eval.c 2014-01-06 06:18:44.000000000 +0100 +--- src/eval.c 2014-01-14 15:14:05.000000000 +0100 +*************** +*** 125,133 **** + */ + static hashtab_T compat_hashtab; + +- /* When using exists() don't auto-load a script. */ +- static int no_autoload = FALSE; +- + /* + * When recursively copying lists and dicts we need to remember which ones we + * have done to avoid endless recursiveness. This unique ID is used for that. +--- 125,130 ---- +*************** +*** 156,161 **** +--- 153,163 ---- + /* Values for trans_function_name() argument: */ + #define TFN_INT 1 /* internal function name OK */ + #define TFN_QUIET 2 /* no error messages */ ++ #define TFN_NO_AUTOLOAD 4 /* do not use script autoloading */ ++ ++ /* Values for get_lval() flags argument: */ ++ #define GLV_QUIET TFN_QUIET /* no error messages */ ++ #define GLV_NO_AUTOLOAD TFN_NO_AUTOLOAD /* do not use script autoloading */ + + /* + * Structure to hold info for a user function. +*************** +*** 390,396 **** + static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first)); + static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op)); + static int check_changedtick __ARGS((char_u *arg)); +! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet, int fne_flags)); + static void clear_lval __ARGS((lval_T *lp)); + static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op)); + static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op)); +--- 392,398 ---- + static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first)); + static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op)); + static int check_changedtick __ARGS((char_u *arg)); +! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int flags, int fne_flags)); + static void clear_lval __ARGS((lval_T *lp)); + static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op)); + static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op)); +*************** +*** 770,776 **** + static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end)); + static int eval_isnamec __ARGS((int c)); + static int eval_isnamec1 __ARGS((int c)); +! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose)); + static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose)); + static typval_T *alloc_tv __ARGS((void)); + static typval_T *alloc_string_tv __ARGS((char_u *string)); +--- 772,778 ---- + static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end)); + static int eval_isnamec __ARGS((int c)); + static int eval_isnamec1 __ARGS((int c)); +! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose, int no_autoload)); + static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose)); + static typval_T *alloc_tv __ARGS((void)); + static typval_T *alloc_string_tv __ARGS((char_u *string)); +*************** +*** 781,788 **** + static char_u *get_tv_string __ARGS((typval_T *varp)); + static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf)); + static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf)); +! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp)); +! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int writing)); + static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname)); + static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val)); + static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi)); +--- 783,790 ---- + static char_u *get_tv_string __ARGS((typval_T *varp)); + static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf)); + static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf)); +! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp, int no_autoload)); +! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int no_autoload)); + static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname)); + static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val)); + static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi)); +*************** +*** 1059,1065 **** + ga_init2(&redir_ga, (int)sizeof(char), 500); + + /* Parse the variable name (can be a dict or list entry). */ +! redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE, + FNE_CHECK_START); + if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL) + { +--- 1061,1067 ---- + ga_init2(&redir_ga, (int)sizeof(char), 500); + + /* Parse the variable name (can be a dict or list entry). */ +! redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, 0, + FNE_CHECK_START); + if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL) + { +*************** +*** 1150,1156 **** + /* Call get_lval() again, if it's inside a Dict or List it may + * have changed. */ + redir_endp = get_lval(redir_varname, NULL, redir_lval, +! FALSE, FALSE, FALSE, FNE_CHECK_START); + if (redir_endp != NULL && redir_lval->ll_name != NULL) + set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); + clear_lval(redir_lval); +--- 1152,1158 ---- + /* Call get_lval() again, if it's inside a Dict or List it may + * have changed. */ + redir_endp = get_lval(redir_varname, NULL, redir_lval, +! FALSE, FALSE, 0, FNE_CHECK_START); + if (redir_endp != NULL && redir_lval->ll_name != NULL) + set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); + clear_lval(redir_lval); +*************** +*** 2239,2245 **** + { + if (tofree != NULL) + name = tofree; +! if (get_var_tv(name, len, &tv, TRUE) == FAIL) + error = TRUE; + else + { +--- 2241,2247 ---- + { + if (tofree != NULL) + name = tofree; +! if (get_var_tv(name, len, &tv, TRUE, FALSE) == FAIL) + error = TRUE; + else + { +*************** +*** 2474,2480 **** + { + lval_T lv; + +! p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE, FNE_CHECK_START); + if (p != NULL && lv.ll_name != NULL) + { + if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL) +--- 2476,2482 ---- + { + lval_T lv; + +! p = get_lval(arg, tv, &lv, FALSE, FALSE, 0, FNE_CHECK_START); + if (p != NULL && lv.ll_name != NULL) + { + if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL) +*************** +*** 2519,2536 **** + * "unlet" is TRUE for ":unlet": slightly different behavior when something is + * wrong; must end in space or cmd separator. + * + * Returns a pointer to just after the name, including indexes. + * When an evaluation error occurs "lp->ll_name" is NULL; + * Returns NULL for a parsing error. Still need to free items in "lp"! + */ + static char_u * +! get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags) + char_u *name; + typval_T *rettv; + lval_T *lp; + int unlet; + int skip; +! int quiet; /* don't give error messages */ + int fne_flags; /* flags for find_name_end() */ + { + char_u *p; +--- 2521,2542 ---- + * "unlet" is TRUE for ":unlet": slightly different behavior when something is + * wrong; must end in space or cmd separator. + * ++ * flags: ++ * GLV_QUIET: do not give error messages ++ * GLV_NO_AUTOLOAD: do not use script autoloading ++ * + * Returns a pointer to just after the name, including indexes. + * When an evaluation error occurs "lp->ll_name" is NULL; + * Returns NULL for a parsing error. Still need to free items in "lp"! + */ + static char_u * +! get_lval(name, rettv, lp, unlet, skip, flags, fne_flags) + char_u *name; + typval_T *rettv; + lval_T *lp; + int unlet; + int skip; +! int flags; /* GLV_ values */ + int fne_flags; /* flags for find_name_end() */ + { + char_u *p; +*************** +*** 2544,2549 **** +--- 2550,2556 ---- + char_u *key = NULL; + int len; + hashtab_T *ht; ++ int quiet = flags & GLV_QUIET; + + /* Clear everything in "lp". */ + vim_memset(lp, 0, sizeof(lval_T)); +*************** +*** 2591,2597 **** + + cc = *p; + *p = NUL; +! v = find_var(lp->ll_name, &ht); + if (v == NULL && !quiet) + EMSG2(_(e_undefvar), lp->ll_name); + *p = cc; +--- 2598,2604 ---- + + cc = *p; + *p = NUL; +! v = find_var(lp->ll_name, &ht, flags & GLV_NO_AUTOLOAD); + if (v == NULL && !quiet) + EMSG2(_(e_undefvar), lp->ll_name); + *p = cc; +*************** +*** 2904,2910 **** + + /* handle +=, -= and .= */ + if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name), +! &tv, TRUE) == OK) + { + if (tv_op(&tv, rettv, op) == OK) + set_var(lp->ll_name, &tv, FALSE); +--- 2911,2917 ---- + + /* handle +=, -= and .= */ + if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name), +! &tv, TRUE, FALSE) == OK) + { + if (tv_op(&tv, rettv, op) == OK) + set_var(lp->ll_name, &tv, FALSE); +*************** +*** 3556,3562 **** + do + { + /* Parse the name and find the end. */ +! name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE, + FNE_CHECK_START); + if (lv.ll_name == NULL) + error = TRUE; /* error but continue parsing */ +--- 3563,3569 ---- + do + { + /* Parse the name and find the end. */ +! name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0, + FNE_CHECK_START); + if (lv.ll_name == NULL) + error = TRUE; /* error but continue parsing */ +*************** +*** 3709,3715 **** + ret = FAIL; + else + { +! di = find_var(lp->ll_name, NULL); + if (di == NULL) + ret = FAIL; + else +--- 3716,3722 ---- + ret = FAIL; + else + { +! di = find_var(lp->ll_name, NULL, TRUE); + if (di == NULL) + ret = FAIL; + else +*************** +*** 5179,5185 **** + } + } + else if (evaluate) +! ret = get_var_tv(s, len, rettv, TRUE); + else + ret = OK; + } +--- 5186,5192 ---- + } + } + else if (evaluate) +! ret = get_var_tv(s, len, rettv, TRUE, FALSE); + else + ret = OK; + } +*************** +*** 8284,8290 **** + + cc = name[*lenp]; + name[*lenp] = NUL; +! v = find_var(name, NULL); + name[*lenp] = cc; + if (v != NULL && v->di_tv.v_type == VAR_FUNC) + { +--- 8291,8297 ---- + + cc = name[*lenp]; + name[*lenp] = NUL; +! v = find_var(name, NULL, FALSE); + name[*lenp] = cc; + if (v != NULL && v->di_tv.v_type == VAR_FUNC) + { +*************** +*** 10039,10046 **** + int n = FALSE; + int len = 0; + +- no_autoload = TRUE; +- + p = get_tv_string(&argvars[0]); + if (*p == '$') /* environment variable */ + { +--- 10046,10051 ---- +*************** +*** 10091,10097 **** + { + if (tofree != NULL) + name = tofree; +! n = (get_var_tv(name, len, &tv, FALSE) == OK); + if (n) + { + /* handle d.key, l[idx], f(expr) */ +--- 10096,10102 ---- + { + if (tofree != NULL) + name = tofree; +! n = (get_var_tv(name, len, &tv, FALSE, TRUE) == OK); + if (n) + { + /* handle d.key, l[idx], f(expr) */ +*************** +*** 10107,10114 **** + } + + rettv->vval.v_number = n; +- +- no_autoload = FALSE; + } + + #ifdef FEAT_FLOAT +--- 10112,10117 ---- +*************** +*** 13344,13351 **** + dictitem_T *di; + + rettv->vval.v_number = -1; +! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE, +! FNE_CHECK_START); + if (end != NULL && lv.ll_name != NULL) + { + if (*end != NUL) +--- 13347,13354 ---- + dictitem_T *di; + + rettv->vval.v_number = -1; +! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, +! GLV_NO_AUTOLOAD, FNE_CHECK_START); + if (end != NULL && lv.ll_name != NULL) + { + if (*end != NUL) +*************** +*** 13358,13364 **** + rettv->vval.v_number = 1; /* always locked */ + else + { +! di = find_var(lv.ll_name, NULL); + if (di != NULL) + { + /* Consider a variable locked when: +--- 13361,13367 ---- + rettv->vval.v_number = 1; /* always locked */ + else + { +! di = find_var(lv.ll_name, NULL, TRUE); + if (di != NULL) + { + /* Consider a variable locked when: +*************** +*** 19774,19784 **** + * Return OK or FAIL. + */ + static int +! get_var_tv(name, len, rettv, verbose) + char_u *name; + int len; /* length of "name" */ + typval_T *rettv; /* NULL when only checking existence */ + int verbose; /* may give error message */ + { + int ret = OK; + typval_T *tv = NULL; +--- 19777,19788 ---- + * Return OK or FAIL. + */ + static int +! get_var_tv(name, len, rettv, verbose, no_autoload) + char_u *name; + int len; /* length of "name" */ + typval_T *rettv; /* NULL when only checking existence */ + int verbose; /* may give error message */ ++ int no_autoload; /* do not use script autoloading */ + { + int ret = OK; + typval_T *tv = NULL; +*************** +*** 19805,19811 **** + */ + else + { +! v = find_var(name, NULL); + if (v != NULL) + tv = &v->di_tv; + } +--- 19809,19815 ---- + */ + else + { +! v = find_var(name, NULL, no_autoload); + if (v != NULL) + tv = &v->di_tv; + } +*************** +*** 20207,20215 **** + * hashtab_T used. + */ + static dictitem_T * +! find_var(name, htp) + char_u *name; + hashtab_T **htp; + { + char_u *varname; + hashtab_T *ht; +--- 20211,20220 ---- + * hashtab_T used. + */ + static dictitem_T * +! find_var(name, htp, no_autoload) + char_u *name; + hashtab_T **htp; ++ int no_autoload; + { + char_u *varname; + hashtab_T *ht; +*************** +*** 20219,20225 **** + *htp = ht; + if (ht == NULL) + return NULL; +! return find_var_in_ht(ht, *name, varname, htp != NULL); + } + + /* +--- 20224,20230 ---- + *htp = ht; + if (ht == NULL) + return NULL; +! return find_var_in_ht(ht, *name, varname, no_autoload || htp != NULL); + } + + /* +*************** +*** 20227,20237 **** + * Returns NULL if not found. + */ + static dictitem_T * +! find_var_in_ht(ht, htname, varname, writing) + hashtab_T *ht; + int htname; + char_u *varname; +! int writing; + { + hashitem_T *hi; + +--- 20232,20242 ---- + * Returns NULL if not found. + */ + static dictitem_T * +! find_var_in_ht(ht, htname, varname, no_autoload) + hashtab_T *ht; + int htname; + char_u *varname; +! int no_autoload; + { + hashitem_T *hi; + +*************** +*** 20263,20269 **** + * worked find the variable again. Don't auto-load a script if it was + * loaded already, otherwise it would be loaded every time when + * checking if a function name is a Funcref variable. */ +! if (ht == &globvarht && !writing) + { + /* Note: script_autoload() may make "hi" invalid. It must either + * be obtained again or not used. */ +--- 20268,20274 ---- + * worked find the variable again. Don't auto-load a script if it was + * loaded already, otherwise it would be loaded every time when + * checking if a function name is a Funcref variable. */ +! if (ht == &globvarht && !no_autoload) + { + /* Note: script_autoload() may make "hi" invalid. It must either + * be obtained again or not used. */ +*************** +*** 20343,20349 **** + { + dictitem_T *v; + +! v = find_var(name, NULL); + if (v == NULL) + return NULL; + return get_tv_string(&v->di_tv); +--- 20348,20354 ---- + { + dictitem_T *v; + +! v = find_var(name, NULL, FALSE); + if (v == NULL) + return NULL; + return get_tv_string(&v->di_tv); +*************** +*** 21672,21678 **** + */ + if (fudi.fd_dict == NULL) + { +! v = find_var(name, &ht); + if (v != NULL && v->di_tv.v_type == VAR_FUNC) + { + emsg_funcname(N_("E707: Function name conflicts with variable: %s"), +--- 21677,21683 ---- + */ + if (fudi.fd_dict == NULL) + { +! v = find_var(name, &ht, FALSE); + if (v != NULL && v->di_tv.v_type == VAR_FUNC) + { + emsg_funcname(N_("E707: Function name conflicts with variable: %s"), +*************** +*** 21830,21837 **** + * Also handles a Funcref in a List or Dictionary. + * Returns the function name in allocated memory, or NULL for failure. + * flags: +! * TFN_INT: internal function name OK +! * TFN_QUIET: be quiet + * Advances "pp" to just after the function name (if no error). + */ + static char_u * +--- 21835,21843 ---- + * Also handles a Funcref in a List or Dictionary. + * Returns the function name in allocated memory, or NULL for failure. + * flags: +! * TFN_INT: internal function name OK +! * TFN_QUIET: be quiet +! * TFN_NO_AUTOLOAD: do not use script autoloading + * Advances "pp" to just after the function name (if no error). + */ + static char_u * +*************** +*** 21869,21875 **** + if (lead > 2) + start += lead; + +! end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET, + lead > 2 ? 0 : FNE_CHECK_START); + if (end == start) + { +--- 21875,21882 ---- + if (lead > 2) + start += lead; + +! /* Note that TFN_ flags use the same values as GLV_ flags. */ +! end = get_lval(start, NULL, &lv, FALSE, skip, flags, + lead > 2 ? 0 : FNE_CHECK_START); + if (end == start) + { +*************** +*** 22146,22152 **** + char_u *p; + int n = FALSE; + +! p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET, NULL); + nm = skipwhite(nm); + + /* Only accept "funcname", "funcname ", "funcname (..." and +--- 22153,22160 ---- + char_u *p; + int n = FALSE; + +! p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET|TFN_NO_AUTOLOAD, +! NULL); + nm = skipwhite(nm); + + /* Only accept "funcname", "funcname ", "funcname (..." and +*************** +*** 22393,22402 **** + int ret = FALSE; + int i; + +- /* Return quickly when autoload disabled. */ +- if (no_autoload) +- return FALSE; +- + /* If there is no '#' after name[0] there is no package name. */ + p = vim_strchr(name, AUTOLOAD_CHAR); + if (p == NULL || p == name) +--- 22401,22406 ---- +*** ../vim-7.4.148/src/testdir/test55.in 2013-03-07 14:33:12.000000000 +0100 +--- src/testdir/test55.in 2014-01-14 14:48:10.000000000 +0100 +*************** +*** 282,287 **** +--- 282,294 ---- + : $put =ps + : endfor + :endfor ++ :" :lockvar/islocked() triggering script autoloading ++ :set rtp+=./sautest ++ :lockvar g:footest#x ++ :unlockvar g:footest#x ++ :$put ='locked g:footest#x:'.islocked('g:footest#x') ++ :$put ='exists g:footest#x:'.exists('g:footest#x') ++ :$put ='g:footest#x: '.g:footest#x + :" + :" a:000 function argument + :" first the tests that should fail +*** ../vim-7.4.148/src/testdir/test55.ok 2012-08-29 16:51:15.000000000 +0200 +--- src/testdir/test55.ok 2014-01-14 14:45:14.000000000 +0100 +*************** +*** 86,91 **** +--- 86,94 ---- + FFpFFpp + 0000-000 + ppppppp ++ locked g:footest#x:-1 ++ exists g:footest#x:0 ++ g:footest#x: 1 + caught a:000 + caught a:000[0] + caught a:000[2] +*** ../vim-7.4.148/src/testdir/test60.in 2010-05-15 13:04:10.000000000 +0200 +--- src/testdir/test60.in 2014-01-14 14:49:10.000000000 +0100 +*************** +*** 1,4 **** +! Tests for the exists() function. vim: set ft=vim : + + STARTTEST + :so small.vim +--- 1,4 ---- +! Tests for the exists() function. vim: set ft=vim ts=8 : + + STARTTEST + :so small.vim +*************** +*** 11,18 **** + endfunction + :function! TestExists() + augroup myagroup +! autocmd! BufEnter *.my echo 'myfile edited' + augroup END + + let test_cases = [] + +--- 11,20 ---- + endfunction + :function! TestExists() + augroup myagroup +! autocmd! BufEnter *.my echo "myfile edited" +! autocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu" + augroup END ++ set rtp+=./sautest + + let test_cases = [] + +*************** +*** 95,104 **** + " Non-existing user defined function + let test_cases += [['*MyxyzFunc', 0]] + + redir! > test.out + + for [test_case, result] in test_cases +! echo test_case . ": " . result + call RunTest(test_case, result) + endfor + +--- 97,111 ---- + " Non-existing user defined function + let test_cases += [['*MyxyzFunc', 0]] + ++ " Function that may be created by FuncUndefined event ++ let test_cases += [['*UndefFun', 0]] ++ " Function that may be created by script autoloading ++ let test_cases += [['*footest#F', 0]] ++ + redir! > test.out + + for [test_case, result] in test_cases +! echo test_case . ": " . result + call RunTest(test_case, result) + endfor + +*************** +*** 207,212 **** +--- 214,227 ---- + echo "FAILED" + endif + ++ " Non-existing autoload variable that may be autoloaded ++ echo 'footest#x: 0' ++ if !exists('footest#x') ++ echo "OK" ++ else ++ echo "FAILED" ++ endif ++ + " Valid local list + let local_list = ["blue", "orange"] + echo 'local_list: 1' +*************** +*** 566,571 **** +--- 581,590 ---- + + call TestFuncArg("arg1", "arg2") + ++ echo ' g:footest#x =' g:footest#x ++ echo ' footest#F()' footest#F() ++ echo 'UndefFun()' UndefFun() ++ + redir END + endfunction + :call TestExists() +*************** +*** 576,580 **** +--- 595,600 ---- + :set ff=unix + :w + :qa! ++ :while getchar(1) | call getchar() | endwhile + ENDTEST + +*** ../vim-7.4.148/src/testdir/test60.ok 2010-05-15 13:04:10.000000000 +0200 +--- src/testdir/test60.ok 2014-01-14 14:50:50.000000000 +0100 +*************** +*** 71,76 **** +--- 71,80 ---- + OK + *MyxyzFunc: 0 + OK ++ *UndefFun: 0 ++ OK ++ *footest#F: 0 ++ OK + :edit: 2 + OK + :edit/a: 0 +*************** +*** 95,100 **** +--- 99,106 ---- + OK + local_var: 0 + OK ++ footest#x: 0 ++ OK + local_list: 1 + OK + local_list[1]: 1 +*************** +*** 195,197 **** +--- 201,206 ---- + OK + a:2: 0 + OK ++ g:footest#x = 1 ++ footest#F() 0 ++ UndefFun() 0 +*** ../vim-7.4.148/src/testdir/sautest/autoload/footest.vim 1970-01-01 01:00:00.000000000 +0100 +--- src/testdir/sautest/autoload/footest.vim 2014-01-14 14:52:06.000000000 +0100 +*************** +*** 0 **** +--- 1,5 ---- ++ " Autoload script used by test55 and test60 ++ let footest#x = 1 ++ func footest#F() ++ return 0 ++ endfunc +*** ../vim-7.4.148/src/version.c 2014-01-14 13:26:17.000000000 +0100 +--- src/version.c 2014-01-14 15:23:36.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 149, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +157. You fum through a magazine, you first check to see if it has a web + address. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.150 b/patches/source/vim/patches/7.4.150 new file mode 100644 index 000000000..528f4d6bd --- /dev/null +++ b/patches/source/vim/patches/7.4.150 @@ -0,0 +1,93 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.150 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.150 +Problem: :keeppatterns is not respected for :s. +Solution: Check the keeppatterns flag. (Yasuhiro Matsumoto) +Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok + + +*** ../vim-7.4.149/src/search.c 2013-11-28 19:27:18.000000000 +0100 +--- src/search.c 2014-01-14 15:44:33.000000000 +0100 +*************** +*** 201,207 **** + * Save the currently used pattern in the appropriate place, + * unless the pattern should not be remembered. + */ +! if (!(options & SEARCH_KEEP)) + { + /* search or global command */ + if (pat_save == RE_SEARCH || pat_save == RE_BOTH) +--- 201,207 ---- + * Save the currently used pattern in the appropriate place, + * unless the pattern should not be remembered. + */ +! if (!(options & SEARCH_KEEP) && !cmdmod.keeppatterns) + { + /* search or global command */ + if (pat_save == RE_SEARCH || pat_save == RE_BOTH) +*** ../vim-7.4.149/src/testdir/test14.in 2013-04-03 20:59:14.000000000 +0200 +--- src/testdir/test14.in 2014-01-14 15:43:28.000000000 +0100 +*************** +*** 47,52 **** +--- 47,61 ---- + /two + :call search('.', 'c') + :call append(line('$'), getline('.')[col('.') - 1:]) ++ :" ++ /^substitute ++ :s/foo/bar/ ++ :$put =@/ ++ /^substitute ++ :keeppatterns s/asdf/xyz/ ++ :$put =@/ ++ /^substitute ++ Y:$put =@0 + :/^search()/,$w >>test.out + :qa! + ENDTEST +*************** +*** 81,86 **** +--- 90,96 ---- + + foobar + ++ substitute foo asdf + + one two + search() +*** ../vim-7.4.149/src/testdir/test14.ok 2013-04-03 20:59:14.000000000 +0200 +--- src/testdir/test14.ok 2014-01-14 15:46:42.000000000 +0100 +*************** +*** 20,22 **** +--- 20,25 ---- + 1 + 1 + two ++ foo ++ ^substitute ++ substitute bar xyz +*** ../vim-7.4.149/src/version.c 2014-01-14 15:24:24.000000000 +0100 +--- src/version.c 2014-01-14 15:45:34.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 150, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +158. You get a tuner card so you can watch TV while surfing. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.151 b/patches/source/vim/patches/7.4.151 new file mode 100644 index 000000000..646cc7924 --- /dev/null +++ b/patches/source/vim/patches/7.4.151 @@ -0,0 +1,1470 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.151 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.151 +Problem: Python: slices with steps are not supported. +Solution: Support slices in Python vim.List. (ZyX) +Files: src/eval.c, src/if_py_both.h, src/if_python3.c, src/if_python.c, + src/proto/eval.pro, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + + +*** ../vim-7.4.150/src/eval.c 2014-01-14 15:24:24.000000000 +0100 +--- src/eval.c 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 6425,6430 **** +--- 6425,6440 ---- + if (ni == NULL) + return FAIL; + copy_tv(tv, &ni->li_tv); ++ list_insert(l, ni, item); ++ return OK; ++ } ++ ++ void ++ list_insert(l, ni, item) ++ list_T *l; ++ listitem_T *ni; ++ listitem_T *item; ++ { + if (item == NULL) + /* Append new item at end of list. */ + list_append(l, ni); +*************** +*** 6446,6452 **** + item->li_prev = ni; + ++l->lv_len; + } +- return OK; + } + + /* +--- 6456,6461 ---- +*** ../vim-7.4.150/src/if_py_both.h 2014-01-10 18:16:00.000000000 +0100 +--- src/if_py_both.h 2014-01-14 16:31:49.000000000 +0100 +*************** +*** 36,43 **** + #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str)) + #define PyErr_SetVim(str) PyErr_SetString(VimError, str) + #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str) +! #define PyErr_FORMAT(exc, str, tail) PyErr_Format(exc, _(str), tail) +! #define PyErr_VIM_FORMAT(str, tail) PyErr_FORMAT(VimError, str, tail) + + #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \ + ? "(NULL)" \ +--- 36,44 ---- + #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str)) + #define PyErr_SetVim(str) PyErr_SetString(VimError, str) + #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str) +! #define PyErr_FORMAT(exc, str, arg) PyErr_Format(exc, _(str), arg) +! #define PyErr_FORMAT2(exc, str, arg1, arg2) PyErr_Format(exc, _(str), arg1,arg2) +! #define PyErr_VIM_FORMAT(str, arg) PyErr_FORMAT(VimError, str, arg) + + #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \ + ? "(NULL)" \ +*************** +*** 2108,2115 **** + }; + + static PyTypeObject ListType; +- static PySequenceMethods ListAsSeq; +- static PyMappingMethods ListAsMapping; + + typedef struct + { +--- 2109,2114 ---- +*************** +*** 2253,2259 **** + } + + static PyObject * +! ListItem(ListObject *self, Py_ssize_t index) + { + listitem_T *li; + +--- 2252,2258 ---- + } + + static PyObject * +! ListIndex(ListObject *self, Py_ssize_t index) + { + listitem_T *li; + +*************** +*** 2273,2436 **** + return ConvertToPyObject(&li->li_tv); + } + +- #define PROC_RANGE \ +- if (last < 0) {\ +- if (last < -size) \ +- last = 0; \ +- else \ +- last += size; \ +- } \ +- if (first < 0) \ +- first = 0; \ +- if (first > size) \ +- first = size; \ +- if (last > size) \ +- last = size; +- + static PyObject * +! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last) + { + PyInt i; +- PyInt size = ListLength(self); +- PyInt n; + PyObject *list; +- int reversed = 0; + +! PROC_RANGE +! if (first >= last) +! first = last; + +! n = last-first; +! list = PyList_New(n); + if (list == NULL) + return NULL; + +! for (i = 0; i < n; ++i) + { +! PyObject *item = ListItem(self, first + i); + if (item == NULL) + { + Py_DECREF(list); + return NULL; + } + +! PyList_SET_ITEM(list, ((reversed)?(n-i-1):(i)), item); + } + + return list; + } + +- typedef struct +- { +- listwatch_T lw; +- list_T *list; +- } listiterinfo_T; +- +- static void +- ListIterDestruct(listiterinfo_T *lii) +- { +- list_rem_watch(lii->list, &lii->lw); +- PyMem_Free(lii); +- } +- + static PyObject * +! ListIterNext(listiterinfo_T **lii) + { +! PyObject *ret; +! +! if (!((*lii)->lw.lw_item)) +! return NULL; +! +! if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv)))) +! return NULL; +! +! (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next; +! +! return ret; +! } +! +! static PyObject * +! ListIter(ListObject *self) +! { +! listiterinfo_T *lii; +! list_T *l = self->list; +! +! if (!(lii = PyMem_New(listiterinfo_T, 1))) + { +! PyErr_NoMemory(); +! return NULL; + } +! +! list_add_watch(l, &lii->lw); +! lii->lw.lw_item = l->lv_first; +! lii->list = l; +! +! return IterNew(lii, +! (destructorfun) ListIterDestruct, (nextfun) ListIterNext, +! NULL, NULL); +! } +! +! static int +! ListAssItem(ListObject *self, Py_ssize_t index, PyObject *obj) +! { +! typval_T tv; +! list_T *l = self->list; +! listitem_T *li; +! Py_ssize_t length = ListLength(self); +! +! if (l->lv_lock) + { +! RAISE_LOCKED_LIST; +! return -1; + } +! if (index > length || (index == length && obj == NULL)) + { +! PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range")); +! return -1; +! } + +! if (obj == NULL) + { +! li = list_find(l, (long) index); +! list_remove(l, li, li); +! clear_tv(&li->li_tv); +! vim_free(li); +! return 0; + } + +! if (ConvertFromPyObject(obj, &tv) == -1) +! return -1; +! +! if (index == length) + { +! if (list_append_tv(l, &tv) == FAIL) +! { +! clear_tv(&tv); +! PyErr_SET_VIM(N_("failed to add item to list")); +! return -1; +! } + } +! else + { +! li = list_find(l, (long) index); +! clear_tv(&li->li_tv); +! copy_tv(&tv, &li->li_tv); +! clear_tv(&tv); + } +- return 0; + } + + static int +! ListAssSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last, PyObject *obj) + { +- PyInt size = ListLength(self); + PyObject *iterator; + PyObject *item; + listitem_T *li; + listitem_T *next; + typval_T v; + list_T *l = self->list; + PyInt i; + + if (l->lv_lock) + { +--- 2272,2381 ---- + return ConvertToPyObject(&li->li_tv); + } + + static PyObject * +! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t step, +! Py_ssize_t slicelen) + { + PyInt i; + PyObject *list; + +! if (step == 0) +! { +! PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero")); +! return NULL; +! } + +! list = PyList_New(slicelen); + if (list == NULL) + return NULL; + +! for (i = 0; i < slicelen; ++i) + { +! PyObject *item; +! +! item = ListIndex(self, first + i*step); + if (item == NULL) + { + Py_DECREF(list); + return NULL; + } + +! PyList_SET_ITEM(list, i, item); + } + + return list; + } + + static PyObject * +! ListItem(ListObject *self, PyObject* idx) + { +! #if PY_MAJOR_VERSION < 3 +! if (PyInt_Check(idx)) + { +! long _idx = PyInt_AsLong(idx); +! return ListIndex(self, _idx); + } +! else +! #endif +! if (PyLong_Check(idx)) + { +! long _idx = PyLong_AsLong(idx); +! return ListIndex(self, _idx); + } +! else if (PySlice_Check(idx)) + { +! Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx(idx, ListLength(self), +! &start, &stop, &step, &slicelen) < 0) +! return NULL; +! return ListSlice(self, start, step, slicelen); +! } +! else + { +! RAISE_INVALID_INDEX_TYPE(idx); +! return NULL; + } ++ } + +! static void +! list_restore(Py_ssize_t numadded, Py_ssize_t numreplaced, Py_ssize_t slicelen, +! list_T *l, listitem_T **lis, listitem_T *lastaddedli) +! { +! while (numreplaced--) + { +! list_insert(l, lis[numreplaced], lis[slicelen + numreplaced]); +! listitem_remove(l, lis[slicelen + numreplaced]); + } +! while (numadded--) + { +! listitem_T *next; +! +! next = lastaddedli->li_prev; +! listitem_remove(l, lastaddedli); +! lastaddedli = next; + } + } + + static int +! ListAssSlice(ListObject *self, Py_ssize_t first, +! Py_ssize_t step, Py_ssize_t slicelen, PyObject *obj) + { + PyObject *iterator; + PyObject *item; + listitem_T *li; ++ listitem_T *lastaddedli = NULL; + listitem_T *next; + typval_T v; + list_T *l = self->list; + PyInt i; ++ PyInt j; ++ PyInt numreplaced = 0; ++ PyInt numadded = 0; ++ PyInt size; ++ listitem_T **lis; ++ ++ size = ListLength(self); + + if (l->lv_lock) + { +*************** +*** 2438,2444 **** + return -1; + } + +! PROC_RANGE + + if (first == size) + li = NULL; +--- 2383,2424 ---- + return -1; + } + +! if (step == 0) +! { +! PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero")); +! return -1; +! } +! +! if (step != 1 && slicelen == 0) +! { +! /* Nothing to do. Only error out if obj has some items. */ +! int ret = 0; +! +! if (obj == NULL) +! return 0; +! +! if (!(iterator = PyObject_GetIter(obj))) +! return -1; +! +! if ((item = PyIter_Next(iterator))) +! { +! PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %d " +! "to extended slice"), 0); +! Py_DECREF(item); +! ret = -1; +! } +! Py_DECREF(iterator); +! return ret; +! } +! +! if (obj != NULL) +! /* XXX May allocate zero bytes. */ +! if (!(lis = PyMem_New(listitem_T *, slicelen * 2))) +! { +! PyErr_NoMemory(); +! return -1; +! } + + if (first == size) + li = NULL; +*************** +*** 2449,2465 **** + { + PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"), + (int)first); + return -1; + } +! if (last > first) + { +! i = last - first; +! while (i-- && li != NULL) +! { +! next = li->li_next; + listitem_remove(l, li); +! li = next; +! } + } + } + +--- 2429,2461 ---- + { + PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"), + (int)first); ++ if (obj != NULL) ++ PyMem_Free(lis); + return -1; + } +! i = slicelen; +! while (i-- && li != NULL) + { +! j = step; +! next = li; +! if (step > 0) +! while (next != NULL && ((next = next->li_next) != NULL) && --j); +! else +! while (next != NULL && ((next = next->li_prev) != NULL) && ++j); +! +! if (obj == NULL) + listitem_remove(l, li); +! else +! lis[slicelen - i - 1] = li; +! +! li = next; +! } +! if (li == NULL && i != -1) +! { +! PyErr_SET_VIM(N_("internal error: not enough list items")); +! if (obj != NULL) +! PyMem_Free(lis); +! return -1; + } + } + +*************** +*** 2467,2499 **** + return 0; + + if (!(iterator = PyObject_GetIter(obj))) + return -1; + + while ((item = PyIter_Next(iterator))) + { + if (ConvertFromPyObject(item, &v) == -1) + { + Py_DECREF(iterator); + Py_DECREF(item); + return -1; + } + Py_DECREF(item); +! if (list_insert_tv(l, &v, li) == FAIL) + { + clear_tv(&v); + PyErr_SET_VIM(N_("internal error: failed to add item to list")); + return -1; + } + clear_tv(&v); + } + Py_DECREF(iterator); + + if (PyErr_Occurred()) + return -1; + + return 0; + } + + static PyObject * + ListConcatInPlace(ListObject *self, PyObject *obj) + { +--- 2463,2634 ---- + return 0; + + if (!(iterator = PyObject_GetIter(obj))) ++ { ++ PyMem_Free(lis); + return -1; ++ } + ++ i = 0; + while ((item = PyIter_Next(iterator))) + { + if (ConvertFromPyObject(item, &v) == -1) + { + Py_DECREF(iterator); + Py_DECREF(item); ++ PyMem_Free(lis); + return -1; + } + Py_DECREF(item); +! if (list_insert_tv(l, &v, numreplaced < slicelen +! ? lis[numreplaced] +! : li) == FAIL) + { + clear_tv(&v); + PyErr_SET_VIM(N_("internal error: failed to add item to list")); ++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); ++ PyMem_Free(lis); + return -1; + } ++ if (numreplaced < slicelen) ++ { ++ lis[slicelen + numreplaced] = lis[numreplaced]->li_prev; ++ list_remove(l, lis[numreplaced], lis[numreplaced]); ++ numreplaced++; ++ } ++ else ++ { ++ if (li) ++ lastaddedli = li->li_prev; ++ else ++ lastaddedli = l->lv_last; ++ numadded++; ++ } + clear_tv(&v); ++ if (step != 1 && i >= slicelen) ++ { ++ Py_DECREF(iterator); ++ PyErr_FORMAT(PyExc_ValueError, ++ N_("attempt to assign sequence of size greater then %d " ++ "to extended slice"), slicelen); ++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); ++ PyMem_Free(lis); ++ return -1; ++ } ++ ++i; + } + Py_DECREF(iterator); + ++ if (step != 1 && i != slicelen) ++ { ++ PyErr_FORMAT2(PyExc_ValueError, ++ N_("attempt to assign sequence of size %d to extended slice " ++ "of size %d"), i, slicelen); ++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); ++ PyMem_Free(lis); ++ return -1; ++ } ++ + if (PyErr_Occurred()) ++ { ++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); ++ PyMem_Free(lis); + return -1; ++ } ++ ++ for (i = 0; i < numreplaced; i++) ++ listitem_free(lis[i]); ++ if (step == 1) ++ for (i = numreplaced; i < slicelen; i++) ++ listitem_remove(l, lis[i]); ++ ++ PyMem_Free(lis); + + return 0; + } + ++ static int ++ ListAssIndex(ListObject *self, Py_ssize_t index, PyObject *obj) ++ { ++ typval_T tv; ++ list_T *l = self->list; ++ listitem_T *li; ++ Py_ssize_t length = ListLength(self); ++ ++ if (l->lv_lock) ++ { ++ RAISE_LOCKED_LIST; ++ return -1; ++ } ++ if (index > length || (index == length && obj == NULL)) ++ { ++ PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range")); ++ return -1; ++ } ++ ++ if (obj == NULL) ++ { ++ li = list_find(l, (long) index); ++ list_remove(l, li, li); ++ clear_tv(&li->li_tv); ++ vim_free(li); ++ return 0; ++ } ++ ++ if (ConvertFromPyObject(obj, &tv) == -1) ++ return -1; ++ ++ if (index == length) ++ { ++ if (list_append_tv(l, &tv) == FAIL) ++ { ++ clear_tv(&tv); ++ PyErr_SET_VIM(N_("failed to add item to list")); ++ return -1; ++ } ++ } ++ else ++ { ++ li = list_find(l, (long) index); ++ clear_tv(&li->li_tv); ++ copy_tv(&tv, &li->li_tv); ++ clear_tv(&tv); ++ } ++ return 0; ++ } ++ ++ static Py_ssize_t ++ ListAssItem(ListObject *self, PyObject *idx, PyObject *obj) ++ { ++ #if PY_MAJOR_VERSION < 3 ++ if (PyInt_Check(idx)) ++ { ++ long _idx = PyInt_AsLong(idx); ++ return ListAssIndex(self, _idx, obj); ++ } ++ else ++ #endif ++ if (PyLong_Check(idx)) ++ { ++ long _idx = PyLong_AsLong(idx); ++ return ListAssIndex(self, _idx, obj); ++ } ++ else if (PySlice_Check(idx)) ++ { ++ Py_ssize_t start, stop, step, slicelen; ++ ++ if (PySlice_GetIndicesEx(idx, ListLength(self), ++ &start, &stop, &step, &slicelen) < 0) ++ return -1; ++ return ListAssSlice(self, start, step, slicelen, ++ obj); ++ } ++ else ++ { ++ RAISE_INVALID_INDEX_TYPE(idx); ++ return -1; ++ } ++ } ++ + static PyObject * + ListConcatInPlace(ListObject *self, PyObject *obj) + { +*************** +*** 2520,2525 **** +--- 2655,2710 ---- + return (PyObject *)(self); + } + ++ typedef struct ++ { ++ listwatch_T lw; ++ list_T *list; ++ } listiterinfo_T; ++ ++ static void ++ ListIterDestruct(listiterinfo_T *lii) ++ { ++ list_rem_watch(lii->list, &lii->lw); ++ PyMem_Free(lii); ++ } ++ ++ static PyObject * ++ ListIterNext(listiterinfo_T **lii) ++ { ++ PyObject *ret; ++ ++ if (!((*lii)->lw.lw_item)) ++ return NULL; ++ ++ if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv)))) ++ return NULL; ++ ++ (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next; ++ ++ return ret; ++ } ++ ++ static PyObject * ++ ListIter(ListObject *self) ++ { ++ listiterinfo_T *lii; ++ list_T *l = self->list; ++ ++ if (!(lii = PyMem_New(listiterinfo_T, 1))) ++ { ++ PyErr_NoMemory(); ++ return NULL; ++ } ++ ++ list_add_watch(l, &lii->lw); ++ lii->lw.lw_item = l->lv_first; ++ lii->list = l; ++ ++ return IterNew(lii, ++ (destructorfun) ListIterDestruct, (nextfun) ListIterNext, ++ NULL, NULL); ++ } ++ + static char *ListAttrs[] = { + "locked", + NULL +*************** +*** 2567,2572 **** +--- 2752,2776 ---- + } + } + ++ static PySequenceMethods ListAsSeq = { ++ (lenfunc) ListLength, /* sq_length, len(x) */ ++ (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */ ++ 0, /* RangeRepeat, sq_repeat, x*n */ ++ (PyIntArgFunc) ListIndex, /* sq_item, x[i] */ ++ 0, /* was_sq_slice, x[i:j] */ ++ (PyIntObjArgProc) ListAssIndex, /* sq_as_item, x[i]=v */ ++ 0, /* was_sq_ass_slice, x[i:j]=v */ ++ 0, /* sq_contains */ ++ (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */ ++ 0, /* sq_inplace_repeat */ ++ }; ++ ++ static PyMappingMethods ListAsMapping = { ++ /* mp_length */ (lenfunc) ListLength, ++ /* mp_subscript */ (binaryfunc) ListItem, ++ /* mp_ass_subscript */ (objobjargproc) ListAssItem, ++ }; ++ + static struct PyMethodDef ListMethods[] = { + {"extend", (PyCFunction)ListConcatInPlace, METH_O, ""}, + {"__dir__", (PyCFunction)ListDir, METH_NOARGS, ""}, +*** ../vim-7.4.150/src/if_python3.c 2013-11-03 00:28:20.000000000 +0100 +--- src/if_python3.c 2014-01-14 16:32:40.000000000 +0100 +*************** +*** 97,102 **** +--- 97,105 ---- + #define Py_ssize_t_fmt "n" + #define Py_bytes_fmt "y" + ++ #define PyIntArgFunc ssizeargfunc ++ #define PyIntObjArgProc ssizeobjargproc ++ + #if defined(DYNAMIC_PYTHON3) || defined(PROTO) + + # ifndef WIN3264 +*************** +*** 292,298 **** + static int (*py3_PyMapping_Check)(PyObject *); + static PyObject* (*py3_PyMapping_Keys)(PyObject *); + static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length, +! Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength); + static PyObject* (*py3_PyErr_NoMemory)(void); + static void (*py3_Py_Finalize)(void); + static void (*py3_PyErr_SetString)(PyObject *, const char *); +--- 295,302 ---- + static int (*py3_PyMapping_Check)(PyObject *); + static PyObject* (*py3_PyMapping_Keys)(PyObject *); + static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length, +! Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, +! Py_ssize_t *slicelen); + static PyObject* (*py3_PyErr_NoMemory)(void); + static void (*py3_Py_Finalize)(void); + static void (*py3_PyErr_SetString)(PyObject *, const char *); +*************** +*** 1478,1553 **** + /* List object - Definitions + */ + +- static PySequenceMethods ListAsSeq = { +- (lenfunc) ListLength, /* sq_length, len(x) */ +- (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */ +- (ssizeargfunc) 0, /* RangeRepeat, sq_repeat, x*n */ +- (ssizeargfunc) ListItem, /* sq_item, x[i] */ +- (void *) 0, /* was_sq_slice, x[i:j] */ +- (ssizeobjargproc) ListAssItem, /* sq_as_item, x[i]=v */ +- (void *) 0, /* was_sq_ass_slice, x[i:j]=v */ +- 0, /* sq_contains */ +- (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */ +- 0, /* sq_inplace_repeat */ +- }; +- +- static PyObject *ListSubscript(PyObject *, PyObject *); +- static Py_ssize_t ListAsSubscript(PyObject *, PyObject *, PyObject *); +- +- static PyMappingMethods ListAsMapping = { +- /* mp_length */ (lenfunc) ListLength, +- /* mp_subscript */ (binaryfunc) ListSubscript, +- /* mp_ass_subscript */ (objobjargproc) ListAsSubscript, +- }; +- +- static PyObject * +- ListSubscript(PyObject *self, PyObject* idx) +- { +- if (PyLong_Check(idx)) +- { +- long _idx = PyLong_AsLong(idx); +- return ListItem((ListObject *)(self), _idx); +- } +- else if (PySlice_Check(idx)) +- { +- Py_ssize_t start, stop, step, slicelen; +- +- if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)), +- &start, &stop, &step, &slicelen) < 0) +- return NULL; +- return ListSlice((ListObject *)(self), start, stop); +- } +- else +- { +- RAISE_INVALID_INDEX_TYPE(idx); +- return NULL; +- } +- } +- +- static Py_ssize_t +- ListAsSubscript(PyObject *self, PyObject *idx, PyObject *obj) +- { +- if (PyLong_Check(idx)) +- { +- long _idx = PyLong_AsLong(idx); +- return ListAssItem((ListObject *)(self), _idx, obj); +- } +- else if (PySlice_Check(idx)) +- { +- Py_ssize_t start, stop, step, slicelen; +- +- if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)), +- &start, &stop, &step, &slicelen) < 0) +- return -1; +- return ListAssSlice((ListObject *)(self), start, stop, obj); +- } +- else +- { +- RAISE_INVALID_INDEX_TYPE(idx); +- return -1; +- } +- } +- + static PyObject * + ListGetattro(PyObject *self, PyObject *nameobj) + { +--- 1482,1487 ---- +*** ../vim-7.4.150/src/if_python.c 2013-11-03 00:28:20.000000000 +0100 +--- src/if_python.c 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 196,201 **** +--- 196,202 ---- + # define PyTuple_Size dll_PyTuple_Size + # define PyTuple_GetItem dll_PyTuple_GetItem + # define PyTuple_Type (*dll_PyTuple_Type) ++ # define PySlice_GetIndicesEx dll_PySlice_GetIndicesEx + # define PyImport_ImportModule dll_PyImport_ImportModule + # define PyDict_New dll_PyDict_New + # define PyDict_GetItemString dll_PyDict_GetItemString +*************** +*** 241,246 **** +--- 242,248 ---- + # define PySys_GetObject dll_PySys_GetObject + # define PySys_SetArgv dll_PySys_SetArgv + # define PyType_Type (*dll_PyType_Type) ++ # define PySlice_Type (*dll_PySlice_Type) + # define PyType_Ready (*dll_PyType_Ready) + # define PyType_GenericAlloc dll_PyType_GenericAlloc + # define Py_BuildValue dll_Py_BuildValue +*************** +*** 341,346 **** +--- 343,351 ---- + static PyInt(*dll_PyTuple_Size)(PyObject *); + static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt); + static PyTypeObject* dll_PyTuple_Type; ++ static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length, ++ PyInt *start, PyInt *stop, PyInt *step, ++ PyInt *slicelen); + static PyObject*(*dll_PyImport_ImportModule)(const char *); + static PyObject*(*dll_PyDict_New)(void); + static PyObject*(*dll_PyDict_GetItemString)(PyObject *, const char *); +*************** +*** 382,387 **** +--- 387,393 ---- + static PyObject *(*dll_PySys_GetObject)(char *); + static int(*dll_PySys_SetArgv)(int, char **); + static PyTypeObject* dll_PyType_Type; ++ static PyTypeObject* dll_PySlice_Type; + static int (*dll_PyType_Ready)(PyTypeObject *type); + static PyObject* (*dll_PyType_GenericAlloc)(PyTypeObject *type, PyInt nitems); + static PyObject*(*dll_Py_BuildValue)(char *, ...); +*************** +*** 521,526 **** +--- 527,533 ---- + {"PyTuple_GetItem", (PYTHON_PROC*)&dll_PyTuple_GetItem}, + {"PyTuple_Size", (PYTHON_PROC*)&dll_PyTuple_Size}, + {"PyTuple_Type", (PYTHON_PROC*)&dll_PyTuple_Type}, ++ {"PySlice_GetIndicesEx", (PYTHON_PROC*)&dll_PySlice_GetIndicesEx}, + {"PyImport_ImportModule", (PYTHON_PROC*)&dll_PyImport_ImportModule}, + {"PyDict_GetItemString", (PYTHON_PROC*)&dll_PyDict_GetItemString}, + {"PyDict_Next", (PYTHON_PROC*)&dll_PyDict_Next}, +*************** +*** 562,567 **** +--- 569,575 ---- + {"PySys_GetObject", (PYTHON_PROC*)&dll_PySys_GetObject}, + {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv}, + {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type}, ++ {"PySlice_Type", (PYTHON_PROC*)&dll_PySlice_Type}, + {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready}, + {"PyType_GenericAlloc", (PYTHON_PROC*)&dll_PyType_GenericAlloc}, + {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod}, +*************** +*** 1472,1492 **** + return Py_FindMethod(DictionaryMethods, self, name); + } + +- static PySequenceMethods ListAsSeq = { +- (PyInquiry) ListLength, +- (binaryfunc) 0, +- (PyIntArgFunc) 0, +- (PyIntArgFunc) ListItem, +- (PyIntIntArgFunc) ListSlice, +- (PyIntObjArgProc) ListAssItem, +- (PyIntIntObjArgProc) ListAssSlice, +- (objobjproc) 0, +- #if PY_MAJOR_VERSION >= 2 +- (binaryfunc) ListConcatInPlace, +- 0, +- #endif +- }; +- + static PyObject * + ListGetattr(PyObject *self, char *name) + { +--- 1480,1485 ---- +*** ../vim-7.4.150/src/proto/eval.pro 2013-08-10 13:37:09.000000000 +0200 +--- src/proto/eval.pro 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 60,65 **** +--- 60,66 ---- + int list_append_string __ARGS((list_T *l, char_u *str, int len)); + int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); + void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2)); ++ void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item)); + int garbage_collect __ARGS((void)); + void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID)); + void set_ref_in_list __ARGS((list_T *l, int copyID)); +*** ../vim-7.4.150/src/testdir/test86.in 2013-11-28 17:04:38.000000000 +0100 +--- src/testdir/test86.in 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 135,140 **** +--- 135,152 ---- + :py l=vim.bindeval('l') + :py del l[-6:2] + :$put =string(l) ++ :let l = [0, 1, 2, 3] ++ :py l=vim.bindeval('l') ++ :py del l[::2] ++ :$put =string(l) ++ :let l = [0, 1, 2, 3] ++ :py l=vim.bindeval('l') ++ :py del l[3:0:-2] ++ :$put =string(l) ++ :let l = [0, 1, 2, 3] ++ :py l=vim.bindeval('l') ++ :py del l[2:4:-2] ++ :$put =string(l) + :" + :" Slice assignment to a list + :let l = [0, 1, 2, 3] +*************** +*** 169,174 **** +--- 181,206 ---- + :py l=vim.bindeval('l') + :py l[0:0]=['h'] + :$put =string(l) ++ :let l = range(8) ++ :py l=vim.bindeval('l') ++ :py l[2:6:2] = [10, 20] ++ :$put =string(l) ++ :let l = range(8) ++ :py l=vim.bindeval('l') ++ :py l[6:2:-2] = [10, 20] ++ :$put =string(l) ++ :let l = range(8) ++ :py l=vim.bindeval('l') ++ :py l[6:2] = () ++ :$put =string(l) ++ :let l = range(8) ++ :py l=vim.bindeval('l') ++ :py l[6:2:1] = () ++ :$put =string(l) ++ :let l = range(8) ++ :py l=vim.bindeval('l') ++ :py l[2:2:1] = () ++ :$put =string(l) + :" + :" Locked variables + :let l = [0, 1, 2, 3] +*************** +*** 390,395 **** +--- 422,434 ---- + :$put =string(pyeval('l')) + :py l = ll[-10:10] + :$put =string(pyeval('l')) ++ :py l = ll[4:2:-1] ++ :$put =string(pyeval('l')) ++ :py l = ll[::2] ++ :$put =string(pyeval('l')) ++ :py l = ll[4:2:1] ++ :$put =string(pyeval('l')) ++ :py del l + :" + :" Vars + :let g:foo = 'bac' +*************** +*** 907,912 **** +--- 946,952 ---- + l = vim.List() + ll = vim.List('abcE') + ll.locked = True ++ nel = vim.List('abcO') + f = vim.Function('string') + fd = vim.Function('F') + fdel = vim.Function('D') +*************** +*** 994,999 **** +--- 1034,1053 ---- + def next(self): + raise NotImplementedError('next') + ++ class FailingIterNextN(object): ++ def __init__(self, n): ++ self.n = n ++ ++ def __iter__(self): ++ return self ++ ++ def next(self): ++ if self.n: ++ self.n -= 1 ++ return 1 ++ else: ++ raise NotImplementedError('next N') ++ + class FailingMappingKey(object): + def __getitem__(self, item): + raise NotImplementedError('getitem:mappingkey') +*************** +*** 1098,1103 **** +--- 1152,1158 ---- + cb.append(">>> iter") + ee('d.update(FailingMapping())') + ee('d.update([FailingIterNext()])') ++ ee('d.update([FailingIterNextN(1)])') + iter_test('d.update(%s)') + convertfrompyobject_test('d.update(%s)') + stringtochars_test('d.update(((%s, 0),))') +*************** +*** 1120,1125 **** +--- 1175,1188 ---- + cb.append(">> ListAssSlice") + ee('ll[1:100] = "abcJ"') + iter_test('l[:] = %s') ++ ee('nel[1:10:2] = "abcK"') ++ cb.append(repr(tuple(nel))) ++ ee('nel[1:10:2] = "a"') ++ cb.append(repr(tuple(nel))) ++ ee('nel[1:1:-1] = "a"') ++ cb.append(repr(tuple(nel))) ++ ee('nel[:] = FailingIterNextN(2)') ++ cb.append(repr(tuple(nel))) + convertfrompyobject_test('l[:] = [%s]') + cb.append(">> ListConcatInPlace") + iter_test('l.extend(%s)') +*************** +*** 1201,1206 **** +--- 1264,1270 ---- + del dl + del l + del ll ++ del nel + del f + del fd + del fdel +*************** +*** 1214,1219 **** +--- 1278,1284 ---- + del FailingTrue + del FailingIter + del FailingIterNext ++ del FailingIterNextN + del FailingMapping + del FailingMappingKey + del FailingList +*** ../vim-7.4.150/src/testdir/test86.ok 2013-11-28 17:04:38.000000000 +0100 +--- src/testdir/test86.ok 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 41,46 **** +--- 41,49 ---- + [2, 3] + [2, 3] + [2, 3] ++ [1, 3] ++ [0, 2] ++ [0, 1, 2, 3] + ['a', 0, 1, 2, 3] + [0, 'b', 2, 3] + [0, 1, 'c'] +*************** +*** 49,54 **** +--- 52,62 ---- + ['f', 2, 3] + [0, 1, 'g', 2, 3] + ['h'] ++ [0, 1, 10, 3, 20, 5, 6, 7] ++ [0, 1, 2, 3, 20, 5, 10, 7] ++ [0, 1, 2, 3, 4, 5, 6, 7] ++ [0, 1, 2, 3, 4, 5, 6, 7] ++ [0, 1, 2, 3, 4, 5, 6, 7] + [0, 1, 2, 3] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] +*************** +*** 96,101 **** +--- 104,112 ---- + [0, 1, 2, 3, 4, 5] + [0, 1, 2, 3, 4, 5] + [0, 1, 2, 3, 4, 5] ++ [4, 3] ++ [0, 2, 4] ++ [] + Abc + bac + def +*************** +*** 599,604 **** +--- 610,616 ---- + >>> iter + d.update(FailingMapping()):NotImplementedError:('keys',) + d.update([FailingIterNext()]):NotImplementedError:('next',) ++ d.update([FailingIterNextN(1)]):NotImplementedError:('next N',) + >>> Testing *Iter* using d.update(%s) + d.update(FailingIter()):NotImplementedError:('iter',) + d.update(FailingIterNext()):NotImplementedError:('next',) +*************** +*** 829,834 **** +--- 841,854 ---- + l[:] = FailingIter():NotImplementedError:('iter',) + l[:] = FailingIterNext():NotImplementedError:('next',) + <<< Finished ++ nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',) ++ ('a', 'b', 'c', 'O') ++ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) ++ ('a', 'b', 'c', 'O') ++ nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',) ++ ('a', 'b', 'c', 'O') ++ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) ++ ('a', 'b', 'c', 'O') + >>> Testing StringToChars using l[:] = [{%s : 1}] + l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',) + l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',) +*** ../vim-7.4.150/src/testdir/test87.in 2013-11-28 17:04:38.000000000 +0100 +--- src/testdir/test87.in 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 128,133 **** +--- 128,145 ---- + :py3 l=vim.bindeval('l') + :py3 del l[-6:2] + :$put =string(l) ++ :let l = [0, 1, 2, 3] ++ :py3 l=vim.bindeval('l') ++ :py3 del l[::2] ++ :$put =string(l) ++ :let l = [0, 1, 2, 3] ++ :py3 l=vim.bindeval('l') ++ :py3 del l[3:0:-2] ++ :$put =string(l) ++ :let l = [0, 1, 2, 3] ++ :py3 l=vim.bindeval('l') ++ :py3 del l[2:4:-2] ++ :$put =string(l) + :" + :" Slice assignment to a list + :let l = [0, 1, 2, 3] +*************** +*** 162,167 **** +--- 174,199 ---- + :py3 l=vim.bindeval('l') + :py3 l[0:0]=['h'] + :$put =string(l) ++ :let l = range(8) ++ :py3 l=vim.bindeval('l') ++ :py3 l[2:6:2] = [10, 20] ++ :$put =string(l) ++ :let l = range(8) ++ :py3 l=vim.bindeval('l') ++ :py3 l[6:2:-2] = [10, 20] ++ :$put =string(l) ++ :let l = range(8) ++ :py3 l=vim.bindeval('l') ++ :py3 l[6:2] = () ++ :$put =string(l) ++ :let l = range(8) ++ :py3 l=vim.bindeval('l') ++ :py3 l[6:2:1] = () ++ :$put =string(l) ++ :let l = range(8) ++ :py3 l=vim.bindeval('l') ++ :py3 l[2:2:1] = () ++ :$put =string(l) + :" + :" Locked variables + :let l = [0, 1, 2, 3] +*************** +*** 363,368 **** +--- 395,432 ---- + :py3 del trace_main + :$put =string(l) + :" ++ :" Slice ++ :py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]') ++ :py3 l = ll[:4] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[2:] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[:-4] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[-2:] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[2:4] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[4:2] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[-4:-2] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[-2:-4] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[:] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[0:6] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[-10:10] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[4:2:-1] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[::2] ++ :$put =string(py3eval('l')) ++ :py3 l = ll[4:2:1] ++ :$put =string(py3eval('l')) ++ :py3 del l ++ :" + :" Vars + :let g:foo = 'bac' + :let w:abc3 = 'def' +*************** +*** 859,864 **** +--- 923,929 ---- + l = vim.List() + ll = vim.List('abcE') + ll.locked = True ++ nel = vim.List('abcO') + f = vim.Function('string') + fd = vim.Function('F') + fdel = vim.Function('D') +*************** +*** 946,951 **** +--- 1011,1030 ---- + def __next__(self): + raise NotImplementedError('next') + ++ class FailingIterNextN(object): ++ def __init__(self, n): ++ self.n = n ++ ++ def __iter__(self): ++ return self ++ ++ def __next__(self): ++ if self.n: ++ self.n -= 1 ++ return 1 ++ else: ++ raise NotImplementedError('next N') ++ + class FailingMappingKey(object): + def __getitem__(self, item): + raise NotImplementedError('getitem:mappingkey') +*************** +*** 1050,1055 **** +--- 1129,1135 ---- + cb.append(">>> iter") + ee('d.update(FailingMapping())') + ee('d.update([FailingIterNext()])') ++ ee('d.update([FailingIterNextN(1)])') + iter_test('d.update(%s)') + convertfrompyobject_test('d.update(%s)') + stringtochars_test('d.update(((%s, 0),))') +*************** +*** 1072,1077 **** +--- 1152,1165 ---- + cb.append(">> ListAssSlice") + ee('ll[1:100] = "abcJ"') + iter_test('l[:] = %s') ++ ee('nel[1:10:2] = "abcK"') ++ cb.append(repr(tuple(nel))) ++ ee('nel[1:10:2] = "a"') ++ cb.append(repr(tuple(nel))) ++ ee('nel[1:1:-1] = "a"') ++ cb.append(repr(tuple(nel))) ++ ee('nel[:] = FailingIterNextN(2)') ++ cb.append(repr(tuple(nel))) + convertfrompyobject_test('l[:] = [%s]') + cb.append(">> ListConcatInPlace") + iter_test('l.extend(%s)') +*************** +*** 1153,1158 **** +--- 1241,1247 ---- + del dl + del l + del ll ++ del nel + del f + del fd + del fdel +*************** +*** 1166,1171 **** +--- 1255,1261 ---- + del FailingTrue + del FailingIter + del FailingIterNext ++ del FailingIterNextN + del FailingMapping + del FailingMappingKey + del FailingList +*** ../vim-7.4.150/src/testdir/test87.ok 2013-11-28 17:04:38.000000000 +0100 +--- src/testdir/test87.ok 2014-01-14 16:24:49.000000000 +0100 +*************** +*** 41,46 **** +--- 41,49 ---- + [2, 3] + [2, 3] + [2, 3] ++ [1, 3] ++ [0, 2] ++ [0, 1, 2, 3] + ['a', 0, 1, 2, 3] + [0, 'b', 2, 3] + [0, 1, 'c'] +*************** +*** 49,54 **** +--- 52,62 ---- + ['f', 2, 3] + [0, 1, 'g', 2, 3] + ['h'] ++ [0, 1, 10, 3, 20, 5, 6, 7] ++ [0, 1, 2, 3, 20, 5, 10, 7] ++ [0, 1, 2, 3, 4, 5, 6, 7] ++ [0, 1, 2, 3, 4, 5, 6, 7] ++ [0, 1, 2, 3, 4, 5, 6, 7] + [0, 1, 2, 3] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd'] + [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}] +*************** +*** 85,90 **** +--- 93,112 ---- + vim: Vim(let):E859: + [1] + [1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1] ++ [0, 1, 2, 3] ++ [2, 3, 4, 5] ++ [0, 1] ++ [4, 5] ++ [2, 3] ++ [] ++ [2, 3] ++ [] ++ [0, 1, 2, 3, 4, 5] ++ [0, 1, 2, 3, 4, 5] ++ [0, 1, 2, 3, 4, 5] ++ [4, 3] ++ [0, 2, 4] ++ [] + Abc + bac + def +*************** +*** 588,593 **** +--- 610,616 ---- + >>> iter + d.update(FailingMapping()):(, NotImplementedError('keys',)) + d.update([FailingIterNext()]):(, NotImplementedError('next',)) ++ d.update([FailingIterNextN(1)]):(, NotImplementedError('next N',)) + >>> Testing *Iter* using d.update(%s) + d.update(FailingIter()):(, NotImplementedError('iter',)) + d.update(FailingIterNext()):(, NotImplementedError('next',)) +*************** +*** 818,823 **** +--- 841,854 ---- + l[:] = FailingIter():(, NotImplementedError('iter',)) + l[:] = FailingIterNext():(, NotImplementedError('next',)) + <<< Finished ++ nel[1:10:2] = "abcK":(, ValueError('attempt to assign sequence of size greater then 2 to extended slice',)) ++ (b'a', b'b', b'c', b'O') ++ nel[1:10:2] = "a":(, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',)) ++ (b'a', b'b', b'c', b'O') ++ nel[1:1:-1] = "a":(, ValueError('attempt to assign sequence of size greater then 0 to extended slice',)) ++ (b'a', b'b', b'c', b'O') ++ nel[:] = FailingIterNextN(2):(, NotImplementedError('next N',)) ++ (b'a', b'b', b'c', b'O') + >>> Testing StringToChars using l[:] = [{%s : 1}] + l[:] = [{1 : 1}]:(, TypeError('expected bytes() or str() instance, but got int',)) + l[:] = [{b"\0" : 1}]:(, TypeError('expected bytes with no null',)) +*** ../vim-7.4.150/src/version.c 2014-01-14 15:53:47.000000000 +0100 +--- src/version.c 2014-01-14 16:27:01.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 151, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +159. You get excited whenever discussing your hard drive. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.152 b/patches/source/vim/patches/7.4.152 new file mode 100644 index 000000000..6e54ddb9c --- /dev/null +++ b/patches/source/vim/patches/7.4.152 @@ -0,0 +1,708 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.152 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.152 +Problem: Python: Cannot iterate over options. +Solution: Add options iterator. (ZyX) +Files: src/if_py_both.h, src/option.c, src/proto/option.pro, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok, src/vim.h + + +*** ../vim-7.4.151/src/if_py_both.h 2014-01-14 16:36:40.000000000 +0100 +--- src/if_py_both.h 2014-01-14 16:51:30.000000000 +0100 +*************** +*** 2949,2958 **** + typedef struct + { + PyObject_HEAD +! int opt_type; +! void *from; +! checkfun Check; +! PyObject *fromObj; + } OptionsObject; + + static int +--- 2949,2958 ---- + typedef struct + { + PyObject_HEAD +! int opt_type; +! void *from; +! checkfun Check; +! PyObject *fromObj; + } OptionsObject; + + static int +*************** +*** 3072,3077 **** +--- 3072,3140 ---- + } + + static int ++ OptionsContains(OptionsObject *self, PyObject *keyObject) ++ { ++ char_u *key; ++ PyObject *todecref; ++ ++ if (!(key = StringToChars(keyObject, &todecref))) ++ return -1; ++ ++ if (*key == NUL) ++ { ++ Py_XDECREF(todecref); ++ return 0; ++ } ++ ++ if (get_option_value_strict(key, NULL, NULL, self->opt_type, NULL)) ++ { ++ Py_XDECREF(todecref); ++ return 1; ++ } ++ else ++ { ++ Py_XDECREF(todecref); ++ return 0; ++ } ++ } ++ ++ typedef struct ++ { ++ void *lastoption; ++ int opt_type; ++ } optiterinfo_T; ++ ++ static PyObject * ++ OptionsIterNext(optiterinfo_T **oii) ++ { ++ char_u *name; ++ ++ if ((name = option_iter_next(&((*oii)->lastoption), (*oii)->opt_type))) ++ return PyString_FromString((char *)name); ++ ++ return NULL; ++ } ++ ++ static PyObject * ++ OptionsIter(OptionsObject *self) ++ { ++ optiterinfo_T *oii; ++ ++ if (!(oii = PyMem_New(optiterinfo_T, 1))) ++ { ++ PyErr_NoMemory(); ++ return NULL; ++ } ++ ++ oii->opt_type = self->opt_type; ++ oii->lastoption = NULL; ++ ++ return IterNew(oii, ++ (destructorfun) PyMem_Free, (nextfun) OptionsIterNext, ++ NULL, NULL); ++ } ++ ++ static int + set_option_value_err(char_u *key, int numval, char_u *stringval, int opt_flags) + { + char_u *errmsg; +*************** +*** 3231,3236 **** +--- 3294,3312 ---- + return ret; + } + ++ static PySequenceMethods OptionsAsSeq = { ++ 0, /* sq_length */ ++ 0, /* sq_concat */ ++ 0, /* sq_repeat */ ++ 0, /* sq_item */ ++ 0, /* sq_slice */ ++ 0, /* sq_ass_item */ ++ 0, /* sq_ass_slice */ ++ (objobjproc) OptionsContains, /* sq_contains */ ++ 0, /* sq_inplace_concat */ ++ 0, /* sq_inplace_repeat */ ++ }; ++ + static PyMappingMethods OptionsAsMapping = { + (lenfunc) NULL, + (binaryfunc) OptionsItem, +*************** +*** 6121,6128 **** +--- 6197,6206 ---- + vim_memset(&OptionsType, 0, sizeof(OptionsType)); + OptionsType.tp_name = "vim.options"; + OptionsType.tp_basicsize = sizeof(OptionsObject); ++ OptionsType.tp_as_sequence = &OptionsAsSeq; + OptionsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC; + OptionsType.tp_doc = "object for manipulating options"; ++ OptionsType.tp_iter = (getiterfunc)OptionsIter; + OptionsType.tp_as_mapping = &OptionsAsMapping; + OptionsType.tp_dealloc = (destructor)OptionsDestructor; + OptionsType.tp_traverse = (traverseproc)OptionsTraverse; +*** ../vim-7.4.151/src/option.c 2013-11-12 04:43:57.000000000 +0100 +--- src/option.c 2014-01-14 16:50:52.000000000 +0100 +*************** +*** 8861,8867 **** + } + #endif + +! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) + /* + * Returns the option attributes and its value. Unlike the above function it + * will return either global value or local value of the option depending on +--- 8861,8867 ---- + } + #endif + +! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO) + /* + * Returns the option attributes and its value. Unlike the above function it + * will return either global value or local value of the option depending on +*************** +*** 8874,8880 **** + * opt_type). Uses + * + * Returned flags: +! * 0 hidden or unknown option + * see SOPT_* in vim.h for other flags + * + * Possible opt_type values: see SREQ_* in vim.h +--- 8874,8881 ---- + * opt_type). Uses + * + * Returned flags: +! * 0 hidden or unknown option, also option that does not have requested +! * type (see SREQ_* in vim.h) + * see SOPT_* in vim.h for other flags + * + * Possible opt_type values: see SREQ_* in vim.h +*************** +*** 8997,9002 **** +--- 8998,9065 ---- + + return r; + } ++ ++ /* ++ * Iterate over options. First argument is a pointer to a pointer to a structure ++ * inside options[] array, second is option type like in the above function. ++ * ++ * If first argument points to NULL it is assumed that iteration just started ++ * and caller needs the very first value. ++ * If first argument points to the end marker function returns NULL and sets ++ * first argument to NULL. ++ * ++ * Returns full option name for current option on each call. ++ */ ++ char_u * ++ option_iter_next(option, opt_type) ++ void **option; ++ int opt_type; ++ { ++ struct vimoption *ret = NULL; ++ do ++ { ++ if (*option == NULL) ++ *option = (void *) options; ++ else if (((struct vimoption *) (*option))->fullname == NULL) ++ { ++ *option = NULL; ++ return NULL; ++ } ++ else ++ *option = (void *) (((struct vimoption *) (*option)) + 1); ++ ++ ret = ((struct vimoption *) (*option)); ++ ++ /* Hidden option */ ++ if (ret->var == NULL) ++ { ++ ret = NULL; ++ continue; ++ } ++ ++ switch (opt_type) ++ { ++ case SREQ_GLOBAL: ++ if (!(ret->indir == PV_NONE || ret->indir & PV_BOTH)) ++ ret = NULL; ++ break; ++ case SREQ_BUF: ++ if (!(ret->indir & PV_BUF)) ++ ret = NULL; ++ break; ++ case SREQ_WIN: ++ if (!(ret->indir & PV_WIN)) ++ ret = NULL; ++ break; ++ default: ++ EMSG2(_(e_intern2), "option_iter_next()"); ++ return NULL; ++ } ++ } ++ while (ret == NULL); ++ ++ return (char_u *)ret->fullname; ++ } + #endif + + /* +*** ../vim-7.4.151/src/proto/option.pro 2013-11-05 07:12:59.000000000 +0100 +--- src/proto/option.pro 2014-01-14 16:51:41.000000000 +0100 +*************** +*** 23,28 **** +--- 23,29 ---- + char_u *check_stl_option __ARGS((char_u *s)); + int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags)); + int get_option_value_strict __ARGS((char_u *name, long *numval, char_u **stringval, int opt_type, void *from)); ++ char_u *option_iter_next __ARGS((void **option, int opt_type)); + char_u *set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags)); + char_u *get_term_code __ARGS((char_u *tname)); + char_u *get_highlight_default __ARGS((void)); +*** ../vim-7.4.151/src/testdir/test86.in 2014-01-14 16:36:40.000000000 +0100 +--- src/testdir/test86.in 2014-01-14 16:49:10.000000000 +0100 +*************** +*** 506,511 **** +--- 506,516 ---- + :py bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options + :py bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options + :py bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options ++ :$put ='wopts iters equal: '.pyeval('list(wopts1) == list(wopts2)') ++ :$put ='bopts iters equal: '.pyeval('list(bopts1) == list(bopts2)') ++ :py gset=set(iter(gopts1)) ++ :py wset=set(iter(wopts1)) ++ :py bset=set(iter(bopts1)) + :set path=.,..,, + :let lst=[] + :let lst+=[['paste', 1, 0, 1, 2, 1, 1, 0 ]] +*************** +*** 536,541 **** +--- 541,548 ---- + : py oval3=bool(oval3) + : endif + : put ='>>> '.oname ++ : $put =' g/w/b:'.pyeval('oname in gset').'/'.pyeval('oname in wset').'/'.pyeval('oname in bset') ++ : $put =' g/w/b (in):'.pyeval('oname in gopts1').'/'.pyeval('oname in wopts1').'/'.pyeval('oname in bopts1') + : for v in ['gopts1', 'wopts1', 'bopts1'] + : try + : put =' p/'.v.': '.Ev('repr('.v.'['''.oname.'''])') +*************** +*** 1122,1127 **** +--- 1129,1141 ---- + ee('import failing') + vim.options['rtp'] = old_rtp + del old_rtp ++ cb.append("> Options") ++ cb.append(">> OptionsItem") ++ ee('vim.options["abcQ"]') ++ ee('vim.options[""]') ++ stringtochars_test('vim.options[%s]') ++ cb.append(">> OptionsContains") ++ stringtochars_test('%s in vim.options') + cb.append("> Dictionary") + cb.append(">> DictionaryConstructor") + ee('vim.Dictionary("abcI")') +*** ../vim-7.4.151/src/testdir/test86.ok 2014-01-14 16:36:40.000000000 +0100 +--- src/testdir/test86.ok 2014-01-14 16:49:10.000000000 +0100 +*************** +*** 112,118 **** +--- 112,122 ---- + def + bar + jkl ++ wopts iters equal: 1 ++ bopts iters equal: 1 + >>> paste ++ g/w/b:1/0/0 ++ g/w/b (in):1/0/0 + p/gopts1: False + p/wopts1! KeyError + inv: 2! KeyError +*************** +*** 133,138 **** +--- 137,144 ---- + W: 1:1 2:1 3:1 4:1 + B: 1:1 2:1 3:1 4:1 + >>> previewheight ++ g/w/b:1/0/0 ++ g/w/b (in):1/0/0 + p/gopts1: 12 + inv: 'a'! TypeError + p/wopts1! KeyError +*************** +*** 154,159 **** +--- 160,167 ---- + W: 1:5 2:5 3:5 4:5 + B: 1:5 2:5 3:5 4:5 + >>> operatorfunc ++ g/w/b:1/0/0 ++ g/w/b (in):1/0/0 + p/gopts1: '' + inv: 2! TypeError + p/wopts1! KeyError +*************** +*** 175,180 **** +--- 183,190 ---- + W: 1:'A' 2:'A' 3:'A' 4:'A' + B: 1:'A' 2:'A' 3:'A' 4:'A' + >>> number ++ g/w/b:0/1/0 ++ g/w/b (in):0/1/0 + p/gopts1! KeyError + inv: 0! KeyError + gopts1! KeyError +*************** +*** 193,198 **** +--- 203,210 ---- + W: 1:1 2:1 3:0 4:0 + B: 1:1 2:1 3:0 4:0 + >>> numberwidth ++ g/w/b:0/1/0 ++ g/w/b (in):0/1/0 + p/gopts1! KeyError + inv: -100! KeyError + gopts1! KeyError +*************** +*** 212,217 **** +--- 224,231 ---- + W: 1:3 2:5 3:2 4:8 + B: 1:3 2:5 3:2 4:8 + >>> colorcolumn ++ g/w/b:0/1/0 ++ g/w/b (in):0/1/0 + p/gopts1! KeyError + inv: 'abc4'! KeyError + gopts1! KeyError +*************** +*** 231,236 **** +--- 245,252 ---- + W: 1:'+2' 2:'+3' 3:'+1' 4:'' + B: 1:'+2' 2:'+3' 3:'+1' 4:'' + >>> statusline ++ g/w/b:1/1/0 ++ g/w/b (in):1/1/0 + p/gopts1: '' + inv: 0! TypeError + p/wopts1: None +*************** +*** 248,253 **** +--- 264,271 ---- + W: 1:'2' 2:'1' 3:'1' 4:'1' + B: 1:'2' 2:'1' 3:'1' 4:'1' + >>> autoindent ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 2! KeyError + gopts1! KeyError +*************** +*** 266,271 **** +--- 284,291 ---- + W: 1:0 2:1 3:0 4:1 + B: 1:0 2:1 3:0 4:1 + >>> shiftwidth ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 3! KeyError + gopts1! KeyError +*************** +*** 284,289 **** +--- 304,311 ---- + W: 1:0 2:2 3:8 4:1 + B: 1:0 2:2 3:8 4:1 + >>> omnifunc ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 1! KeyError + gopts1! KeyError +*************** +*** 303,308 **** +--- 325,332 ---- + W: 1:'A' 2:'B' 3:'' 4:'C' + B: 1:'A' 2:'B' 3:'' 4:'C' + >>> preserveindent ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 2! KeyError + gopts1! KeyError +*************** +*** 321,326 **** +--- 345,352 ---- + W: 1:0 2:1 3:0 4:1 + B: 1:0 2:1 3:0 4:1 + >>> path ++ g/w/b:1/0/1 ++ g/w/b (in):1/0/1 + p/gopts1: '.,..,,' + inv: 0! TypeError + p/wopts1! KeyError +*************** +*** 509,514 **** +--- 535,555 ---- + import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',) + import failing_import:ImportError:('No module named failing_import',) + import failing:NotImplementedError:() ++ > Options ++ >> OptionsItem ++ vim.options["abcQ"]:KeyError:('abcQ',) ++ vim.options[""]:ValueError:('empty keys are not allowed',) ++ >>> Testing StringToChars using vim.options[%s] ++ vim.options[1]:TypeError:('expected str() or unicode() instance, but got int',) ++ vim.options[u"\0"]:TypeError:('expected string without null bytes',) ++ vim.options["\0"]:TypeError:('expected string without null bytes',) ++ <<< Finished ++ >> OptionsContains ++ >>> Testing StringToChars using %s in vim.options ++ 1 in vim.options:TypeError:('expected str() or unicode() instance, but got int',) ++ u"\0" in vim.options:TypeError:('expected string without null bytes',) ++ "\0" in vim.options:TypeError:('expected string without null bytes',) ++ <<< Finished + > Dictionary + >> DictionaryConstructor + vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',) +*** ../vim-7.4.151/src/testdir/test87.in 2014-01-14 16:36:40.000000000 +0100 +--- src/testdir/test87.in 2014-01-14 16:49:10.000000000 +0100 +*************** +*** 503,508 **** +--- 503,513 ---- + :py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options + :py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options + :py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options ++ :$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts2)') ++ :$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts2)') ++ :py3 gset=set(iter(gopts1)) ++ :py3 wset=set(iter(wopts1)) ++ :py3 bset=set(iter(bopts1)) + :set path=.,..,, + :let lst=[] + :let lst+=[['paste', 1, 0, 1, 2, 1, 1, 0 ]] +*************** +*** 533,538 **** +--- 538,545 ---- + : py3 oval3=bool(oval3) + : endif + : put ='>>> '.oname ++ : $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('oname in wset').'/'.py3eval('oname in bset') ++ : $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3eval('oname in wopts1').'/'.py3eval('oname in bopts1') + : for v in ['gopts1', 'wopts1', 'bopts1'] + : try + : put =' p/'.v.': '.Ev('repr('.v.'['''.oname.'''])') +*************** +*** 1099,1104 **** +--- 1106,1118 ---- + ee('import failing') + vim.options['rtp'] = old_rtp + del old_rtp ++ cb.append("> Options") ++ cb.append(">> OptionsItem") ++ ee('vim.options["abcQ"]') ++ ee('vim.options[""]') ++ stringtochars_test('vim.options[%s]') ++ cb.append(">> OptionsContains") ++ stringtochars_test('%s in vim.options') + cb.append("> Dictionary") + cb.append(">> DictionaryConstructor") + ee('vim.Dictionary("abcI")') +*** ../vim-7.4.151/src/testdir/test87.ok 2014-01-14 16:36:40.000000000 +0100 +--- src/testdir/test87.ok 2014-01-14 16:49:10.000000000 +0100 +*************** +*** 112,118 **** +--- 112,122 ---- + def + bar + jkl ++ wopts iters equal: 1 ++ bopts iters equal: 1 + >>> paste ++ g/w/b:1/0/0 ++ g/w/b (in):1/0/0 + p/gopts1: False + p/wopts1! KeyError + inv: 2! KeyError +*************** +*** 133,138 **** +--- 137,144 ---- + W: 1:1 2:1 3:1 4:1 + B: 1:1 2:1 3:1 4:1 + >>> previewheight ++ g/w/b:1/0/0 ++ g/w/b (in):1/0/0 + p/gopts1: 12 + inv: 'a'! TypeError + p/wopts1! KeyError +*************** +*** 154,159 **** +--- 160,167 ---- + W: 1:5 2:5 3:5 4:5 + B: 1:5 2:5 3:5 4:5 + >>> operatorfunc ++ g/w/b:1/0/0 ++ g/w/b (in):1/0/0 + p/gopts1: b'' + inv: 2! TypeError + p/wopts1! KeyError +*************** +*** 175,180 **** +--- 183,190 ---- + W: 1:'A' 2:'A' 3:'A' 4:'A' + B: 1:'A' 2:'A' 3:'A' 4:'A' + >>> number ++ g/w/b:0/1/0 ++ g/w/b (in):0/1/0 + p/gopts1! KeyError + inv: 0! KeyError + gopts1! KeyError +*************** +*** 193,198 **** +--- 203,210 ---- + W: 1:1 2:1 3:0 4:0 + B: 1:1 2:1 3:0 4:0 + >>> numberwidth ++ g/w/b:0/1/0 ++ g/w/b (in):0/1/0 + p/gopts1! KeyError + inv: -100! KeyError + gopts1! KeyError +*************** +*** 212,217 **** +--- 224,231 ---- + W: 1:3 2:5 3:2 4:8 + B: 1:3 2:5 3:2 4:8 + >>> colorcolumn ++ g/w/b:0/1/0 ++ g/w/b (in):0/1/0 + p/gopts1! KeyError + inv: 'abc4'! KeyError + gopts1! KeyError +*************** +*** 231,236 **** +--- 245,252 ---- + W: 1:'+2' 2:'+3' 3:'+1' 4:'' + B: 1:'+2' 2:'+3' 3:'+1' 4:'' + >>> statusline ++ g/w/b:1/1/0 ++ g/w/b (in):1/1/0 + p/gopts1: b'' + inv: 0! TypeError + p/wopts1: None +*************** +*** 248,253 **** +--- 264,271 ---- + W: 1:'2' 2:'1' 3:'1' 4:'1' + B: 1:'2' 2:'1' 3:'1' 4:'1' + >>> autoindent ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 2! KeyError + gopts1! KeyError +*************** +*** 266,271 **** +--- 284,291 ---- + W: 1:0 2:1 3:0 4:1 + B: 1:0 2:1 3:0 4:1 + >>> shiftwidth ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 3! KeyError + gopts1! KeyError +*************** +*** 284,289 **** +--- 304,311 ---- + W: 1:0 2:2 3:8 4:1 + B: 1:0 2:2 3:8 4:1 + >>> omnifunc ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 1! KeyError + gopts1! KeyError +*************** +*** 303,308 **** +--- 325,332 ---- + W: 1:'A' 2:'B' 3:'' 4:'C' + B: 1:'A' 2:'B' 3:'' 4:'C' + >>> preserveindent ++ g/w/b:0/0/1 ++ g/w/b (in):0/0/1 + p/gopts1! KeyError + inv: 2! KeyError + gopts1! KeyError +*************** +*** 321,326 **** +--- 345,352 ---- + W: 1:0 2:1 3:0 4:1 + B: 1:0 2:1 3:0 4:1 + >>> path ++ g/w/b:1/0/1 ++ g/w/b (in):1/0/1 + p/gopts1: b'.,..,,' + inv: 0! TypeError + p/wopts1! KeyError +*************** +*** 509,514 **** +--- 535,555 ---- + import xxx_no_such_module_xxx:(, ImportError('No module named xxx_no_such_module_xxx',)) + import failing_import:(, ImportError('No module named failing_import',)) + import failing:(, NotImplementedError()) ++ > Options ++ >> OptionsItem ++ vim.options["abcQ"]:(, KeyError('abcQ',)) ++ vim.options[""]:(, ValueError('empty keys are not allowed',)) ++ >>> Testing StringToChars using vim.options[%s] ++ vim.options[1]:(, TypeError('expected bytes() or str() instance, but got int',)) ++ vim.options[b"\0"]:(, TypeError('expected bytes with no null',)) ++ vim.options["\0"]:(, TypeError('expected bytes with no null',)) ++ <<< Finished ++ >> OptionsContains ++ >>> Testing StringToChars using %s in vim.options ++ 1 in vim.options:(, TypeError('expected bytes() or str() instance, but got int',)) ++ b"\0" in vim.options:(, TypeError('expected bytes with no null',)) ++ "\0" in vim.options:(, TypeError('expected bytes with no null',)) ++ <<< Finished + > Dictionary + >> DictionaryConstructor + vim.Dictionary("abcI"):(, ValueError('expected sequence element of size 2, but got sequence of size 1',)) +*** ../vim-7.4.151/src/vim.h 2013-11-09 03:31:45.000000000 +0100 +--- src/vim.h 2014-01-14 16:49:10.000000000 +0100 +*************** +*** 2249,2254 **** +--- 2249,2255 ---- + #define SOPT_BUF 0x20 /* Option has buffer-local value */ + #define SOPT_UNSET 0x40 /* Option does not have local value set */ + ++ /* Option types for various functions in option.c */ + #define SREQ_GLOBAL 0 /* Request global option */ + #define SREQ_WIN 1 /* Request window-local option */ + #define SREQ_BUF 2 /* Request buffer-local option */ +*** ../vim-7.4.151/src/version.c 2014-01-14 16:36:40.000000000 +0100 +--- src/version.c 2014-01-14 16:43:58.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 152, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +160. You get in the elevator and double-click the button for the floor + you want. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.153 b/patches/source/vim/patches/7.4.153 new file mode 100644 index 000000000..73881b5d9 --- /dev/null +++ b/patches/source/vim/patches/7.4.153 @@ -0,0 +1,176 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.153 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.153 +Problem: Compiler warning for pointer type. +Solution: Add type cast. +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + + +*** ../vim-7.4.152/src/if_py_both.h 2014-01-14 16:54:53.000000000 +0100 +--- src/if_py_both.h 2014-01-14 18:54:47.000000000 +0100 +*************** +*** 2326,2332 **** + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx(idx, ListLength(self), + &start, &stop, &step, &slicelen) < 0) + return NULL; + return ListSlice(self, start, step, slicelen); +--- 2326,2332 ---- + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self), + &start, &stop, &step, &slicelen) < 0) + return NULL; + return ListSlice(self, start, step, slicelen); +*************** +*** 2616,2622 **** + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx(idx, ListLength(self), + &start, &stop, &step, &slicelen) < 0) + return -1; + return ListAssSlice(self, start, step, slicelen, +--- 2616,2622 ---- + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self), + &start, &stop, &step, &slicelen) < 0) + return -1; + return ListAssSlice(self, start, step, slicelen, +*** ../vim-7.4.152/src/if_python.c 2014-01-14 16:36:40.000000000 +0100 +--- src/if_python.c 2014-01-14 18:56:41.000000000 +0100 +*************** +*** 343,349 **** + static PyInt(*dll_PyTuple_Size)(PyObject *); + static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt); + static PyTypeObject* dll_PyTuple_Type; +! static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length, + PyInt *start, PyInt *stop, PyInt *step, + PyInt *slicelen); + static PyObject*(*dll_PyImport_ImportModule)(const char *); +--- 343,349 ---- + static PyInt(*dll_PyTuple_Size)(PyObject *); + static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt); + static PyTypeObject* dll_PyTuple_Type; +! static int (*dll_PySlice_GetIndicesEx)(PySliceObject *r, PyInt length, + PyInt *start, PyInt *stop, PyInt *step, + PyInt *slicelen); + static PyObject*(*dll_PyImport_ImportModule)(const char *); +*** ../vim-7.4.152/src/if_python3.c 2014-01-14 16:36:40.000000000 +0100 +--- src/if_python3.c 2014-01-14 18:58:19.000000000 +0100 +*************** +*** 294,300 **** + static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t); + static int (*py3_PyMapping_Check)(PyObject *); + static PyObject* (*py3_PyMapping_Keys)(PyObject *); +! static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, + Py_ssize_t *slicelen); + static PyObject* (*py3_PyErr_NoMemory)(void); +--- 294,300 ---- + static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t); + static int (*py3_PyMapping_Check)(PyObject *); + static PyObject* (*py3_PyMapping_Keys)(PyObject *); +! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length, + Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, + Py_ssize_t *slicelen); + static PyObject* (*py3_PyErr_NoMemory)(void); +*************** +*** 1190,1196 **** + if (CheckBuffer((BufferObject *) self)) + return NULL; + +! if (PySlice_GetIndicesEx((PyObject *)idx, + (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, + &start, &stop, + &step, &slicelen) < 0) +--- 1190,1196 ---- + if (CheckBuffer((BufferObject *) self)) + return NULL; + +! if (PySlice_GetIndicesEx((PySliceObject *)idx, + (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, + &start, &stop, + &step, &slicelen) < 0) +*************** +*** 1222,1228 **** + if (CheckBuffer((BufferObject *) self)) + return -1; + +! if (PySlice_GetIndicesEx((PyObject *)idx, + (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, + &start, &stop, + &step, &slicelen) < 0) +--- 1222,1228 ---- + if (CheckBuffer((BufferObject *) self)) + return -1; + +! if (PySlice_GetIndicesEx((PySliceObject *)idx, + (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count, + &start, &stop, + &step, &slicelen) < 0) +*************** +*** 1306,1312 **** + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx((PyObject *)idx, + ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, + &start, &stop, + &step, &slicelen) < 0) +--- 1306,1312 ---- + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx((PySliceObject *)idx, + ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, + &start, &stop, + &step, &slicelen) < 0) +*************** +*** 1333,1339 **** + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx((PyObject *)idx, + ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, + &start, &stop, + &step, &slicelen) < 0) +--- 1333,1339 ---- + { + Py_ssize_t start, stop, step, slicelen; + +! if (PySlice_GetIndicesEx((PySliceObject *)idx, + ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1, + &start, &stop, + &step, &slicelen) < 0) +*** ../vim-7.4.152/src/version.c 2014-01-14 16:54:53.000000000 +0100 +--- src/version.c 2014-01-14 18:54:01.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 153, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +161. You get up before the sun rises to check your e-mail, and you + find yourself in the very same chair long after the sun has set. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.154 b/patches/source/vim/patches/7.4.154 new file mode 100644 index 000000000..db5ae62d6 --- /dev/null +++ b/patches/source/vim/patches/7.4.154 @@ -0,0 +1,153 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.154 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.154 (after 7.4.149) +Problem: Still a problem with auto-loading. +Solution: Pass no_autoload to deref_func_name(). (Yukihiro Nakadaira) +Files: src/eval.c + + +*** ../vim-7.4.153/src/eval.c 2014-01-14 16:36:40.000000000 +0100 +--- src/eval.c 2014-01-14 19:40:36.000000000 +0100 +*************** +*** 447,453 **** + #endif + static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); + static int find_internal_func __ARGS((char_u *name)); +! static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); + static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); + static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); + static void emsg_funcname __ARGS((char *ermsg, char_u *name)); +--- 447,453 ---- + #endif + static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); + static int find_internal_func __ARGS((char_u *name)); +! static char_u *deref_func_name __ARGS((char_u *name, int *lenp, int no_autoload)); + static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); + static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); + static void emsg_funcname __ARGS((char *ermsg, char_u *name)); +*************** +*** 3432,3438 **** + + /* If it is the name of a variable of type VAR_FUNC use its contents. */ + len = (int)STRLEN(tofree); +! name = deref_func_name(tofree, &len); + + /* Skip white space to allow ":call func ()". Not good, but required for + * backward compatibility. */ +--- 3432,3438 ---- + + /* If it is the name of a variable of type VAR_FUNC use its contents. */ + len = (int)STRLEN(tofree); +! name = deref_func_name(tofree, &len, FALSE); + + /* Skip white space to allow ":call func ()". Not good, but required for + * backward compatibility. */ +*************** +*** 5159,5165 **** + { + /* If "s" is the name of a variable of type VAR_FUNC + * use its contents. */ +! s = deref_func_name(s, &len); + + /* Invoke the function. */ + ret = get_func_tv(s, len, rettv, arg, +--- 5159,5165 ---- + { + /* If "s" is the name of a variable of type VAR_FUNC + * use its contents. */ +! s = deref_func_name(s, &len, FALSE); + + /* Invoke the function. */ + ret = get_func_tv(s, len, rettv, arg, +*************** +*** 8291,8306 **** + * name it contains, otherwise return "name". + */ + static char_u * +! deref_func_name(name, lenp) + char_u *name; + int *lenp; + { + dictitem_T *v; + int cc; + + cc = name[*lenp]; + name[*lenp] = NUL; +! v = find_var(name, NULL, FALSE); + name[*lenp] = cc; + if (v != NULL && v->di_tv.v_type == VAR_FUNC) + { +--- 8291,8307 ---- + * name it contains, otherwise return "name". + */ + static char_u * +! deref_func_name(name, lenp, no_autoload) + char_u *name; + int *lenp; ++ int no_autoload; + { + dictitem_T *v; + int cc; + + cc = name[*lenp]; + name[*lenp] = NUL; +! v = find_var(name, NULL, no_autoload); + name[*lenp] = cc; + if (v != NULL && v->di_tv.v_type == VAR_FUNC) + { +*************** +*** 21947,21960 **** + if (lv.ll_exp_name != NULL) + { + len = (int)STRLEN(lv.ll_exp_name); +! name = deref_func_name(lv.ll_exp_name, &len); + if (name == lv.ll_exp_name) + name = NULL; + } + else + { + len = (int)(end - *pp); +! name = deref_func_name(*pp, &len); + if (name == *pp) + name = NULL; + } +--- 21948,21961 ---- + if (lv.ll_exp_name != NULL) + { + len = (int)STRLEN(lv.ll_exp_name); +! name = deref_func_name(lv.ll_exp_name, &len, flags & TFN_NO_AUTOLOAD); + if (name == lv.ll_exp_name) + name = NULL; + } + else + { + len = (int)(end - *pp); +! name = deref_func_name(*pp, &len, flags & TFN_NO_AUTOLOAD); + if (name == *pp) + name = NULL; + } +*** ../vim-7.4.153/src/version.c 2014-01-14 19:35:49.000000000 +0100 +--- src/version.c 2014-01-14 19:42:05.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 154, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +162. You go outside and look for a brightness knob to turn down the sun. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.155 b/patches/source/vim/patches/7.4.155 new file mode 100644 index 000000000..e2b26bde5 --- /dev/null +++ b/patches/source/vim/patches/7.4.155 @@ -0,0 +1,83 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.155 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.155 +Problem: ":keeppatterns /pat" does not keep search pattern offset. +Solution: Restore the offset after doing the search. +Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok + + +*** ../vim-7.4.154/src/search.c 2014-01-14 15:53:47.000000000 +0100 +--- src/search.c 2014-01-14 21:27:32.000000000 +0100 +*************** +*** 1437,1443 **** + curwin->w_set_curswant = TRUE; + + end_do_search: +! if (options & SEARCH_KEEP) + spats[0].off = old_off; + vim_free(strcopy); + +--- 1437,1443 ---- + curwin->w_set_curswant = TRUE; + + end_do_search: +! if ((options & SEARCH_KEEP) || cmdmod.keeppatterns) + spats[0].off = old_off; + vim_free(strcopy); + +*** ../vim-7.4.154/src/testdir/test14.in 2014-01-14 15:53:47.000000000 +0100 +--- src/testdir/test14.in 2014-01-14 21:13:39.000000000 +0100 +*************** +*** 56,62 **** + :$put =@/ + /^substitute + Y:$put =@0 +! :/^search()/,$w >>test.out + :qa! + ENDTEST + +--- 56,65 ---- + :$put =@/ + /^substitute + Y:$put =@0 +! /bar /e +! :$put =@0 +! -:keeppatterns /xyz +! 0dn:/^search()/,$w >>test.out + :qa! + ENDTEST + +*** ../vim-7.4.154/src/testdir/test14.ok 2014-01-14 15:53:47.000000000 +0100 +--- src/testdir/test14.ok 2014-01-14 21:16:23.000000000 +0100 +*************** +*** 23,25 **** +--- 23,26 ---- + foo + ^substitute + substitute bar xyz ++ xyz +*** ../vim-7.4.154/src/version.c 2014-01-14 19:44:30.000000000 +0100 +--- src/version.c 2014-01-14 21:28:24.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 155, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +164. You got out to buy software, instead of going out for a beer. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.156 b/patches/source/vim/patches/7.4.156 new file mode 100644 index 000000000..a1a272c5d --- /dev/null +++ b/patches/source/vim/patches/7.4.156 @@ -0,0 +1,49 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.156 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.156 +Problem: Test file missing from distribution. +Solution: Add new directory to file list. +Files: Filelist + + +*** ../vim-7.4.155/Filelist 2013-07-13 15:23:38.000000000 +0200 +--- Filelist 2014-01-23 14:23:38.639298979 +0100 +*************** +*** 80,85 **** +--- 80,86 ---- + src/main.aap \ + src/testdir/main.aap \ + src/testdir/*.in \ ++ src/testdir/sautest/autoload/*.vim \ + src/testdir/test[0-9]*.ok \ + src/testdir/test49.vim \ + src/testdir/test60.vim \ +*** ../vim-7.4.155/src/version.c 2014-01-14 21:31:30.000000000 +0100 +--- src/version.c 2014-01-23 14:24:18.475300074 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 156, + /**/ + +-- +Some of the well known MS-Windows errors: + ETIME Wrong time, wait a little while + ECRASH Try again... + EDETECT Unable to detect errors + EOVER You lost! Play another game? + ENOCLUE Eh, what did you want? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.157 b/patches/source/vim/patches/7.4.157 new file mode 100644 index 000000000..9ec2bd067 --- /dev/null +++ b/patches/source/vim/patches/7.4.157 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.157 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.157 +Problem: Error number used twice. (Yukihiro Nakadaira) +Solution: Change the one not referred in the docs. +Files: src/undo.c + + +*** ../vim-7.4.156/src/undo.c 2013-11-07 03:04:06.000000000 +0100 +--- src/undo.c 2014-01-23 18:07:33.395668196 +0100 +*************** +*** 409,415 **** + { + /* This happens when the FileChangedRO autocommand changes the + * file in a way it becomes shorter. */ +! EMSG(_("E834: Line count changed unexpectedly")); + return FAIL; + } + #endif +--- 409,415 ---- + { + /* This happens when the FileChangedRO autocommand changes the + * file in a way it becomes shorter. */ +! EMSG(_("E881: Line count changed unexpectedly")); + return FAIL; + } + #endif +*** ../vim-7.4.156/src/version.c 2014-01-23 14:26:18.815303381 +0100 +--- src/version.c 2014-01-23 18:10:47.551673532 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 157, + /**/ + + +-- +hundred-and-one symptoms of being an internet addict: +201. When somebody asks you where you are, you tell them in which chat room. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.158 b/patches/source/vim/patches/7.4.158 new file mode 100644 index 000000000..d5291d3ee --- /dev/null +++ b/patches/source/vim/patches/7.4.158 @@ -0,0 +1,140 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.158 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.158 (after 7.4.045) +Problem: Pattern containing \zs is not handled correctly by substitute(). +Solution: Change how an empty match is skipped. (Yukihiro Nakadaira) +Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok + + +*** ../vim-7.4.157/src/eval.c 2014-01-14 19:44:30.000000000 +0100 +--- src/eval.c 2014-01-23 19:25:23.199796533 +0100 +*************** +*** 24365,24371 **** + garray_T ga; + char_u *ret; + char_u *save_cpo; +! int zero_width; + + /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ + save_cpo = p_cpo; +--- 24365,24371 ---- + garray_T ga; + char_u *ret; + char_u *save_cpo; +! char_u *zero_width = NULL; + + /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ + save_cpo = p_cpo; +*************** +*** 24382,24387 **** +--- 24382,24400 ---- + tail = str; + while (vim_regexec_nl(®match, str, (colnr_T)(tail - str))) + { ++ /* Skip empty match except for first match. */ ++ if (regmatch.startp[0] == regmatch.endp[0]) ++ { ++ if (zero_width == regmatch.startp[0]) ++ { ++ /* avoid getting stuck on a match with an empty string */ ++ *((char_u *)ga.ga_data + ga.ga_len) = *tail++; ++ ++ga.ga_len; ++ continue; ++ } ++ zero_width = regmatch.startp[0]; ++ } ++ + /* + * Get some space for a temporary buffer to do the substitution + * into. It will contain: +*************** +*** 24404,24420 **** + (void)vim_regsub(®match, sub, (char_u *)ga.ga_data + + ga.ga_len + i, TRUE, TRUE, FALSE); + ga.ga_len += i + sublen - 1; +- zero_width = (tail == regmatch.endp[0] +- || regmatch.startp[0] == regmatch.endp[0]); + tail = regmatch.endp[0]; + if (*tail == NUL) + break; +- if (zero_width) +- { +- /* avoid getting stuck on a match with an empty string */ +- *((char_u *)ga.ga_data + ga.ga_len) = *tail++; +- ++ga.ga_len; +- } + if (!do_all) + break; + } +--- 24417,24425 ---- +*** ../vim-7.4.157/src/testdir/test80.in 2013-09-29 21:11:00.000000000 +0200 +--- src/testdir/test80.in 2014-01-23 19:24:30.487795084 +0100 +*************** +*** 176,181 **** +--- 176,198 ---- + TEST_10: + + STARTTEST ++ :set magic& ++ :set cpo& ++ :$put =\"\n\nTEST_10:\" ++ :let y = substitute('123', '\zs', 'a', 'g') | $put =y ++ :let y = substitute('123', '\zs.', 'a', 'g') | $put =y ++ :let y = substitute('123', '.\zs', 'a', 'g') | $put =y ++ :let y = substitute('123', '\ze', 'a', 'g') | $put =y ++ :let y = substitute('123', '\ze.', 'a', 'g') | $put =y ++ :let y = substitute('123', '.\ze', 'a', 'g') | $put =y ++ :let y = substitute('123', '1\|\ze', 'a', 'g') | $put =y ++ :let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y ++ /^TEST_11 ++ ENDTEST ++ ++ TEST_11: ++ ++ STARTTEST + :/^Results/,$wq! test.out + ENDTEST + +*** ../vim-7.4.157/src/testdir/test80.ok 2013-09-29 21:11:00.000000000 +0200 +--- src/testdir/test80.ok 2014-01-23 19:24:35.691795227 +0100 +*************** +*** 115,117 **** +--- 115,128 ---- + + TEST_9: + XXx ++ ++ ++ TEST_10: ++ a1a2a3a ++ aaa ++ 1a2a3a ++ a1a2a3a ++ a1a2a3 ++ aaa ++ aa2a3a ++ 1aaa +*** ../vim-7.4.157/src/version.c 2014-01-23 18:12:44.695676751 +0100 +--- src/version.c 2014-01-23 19:27:21.611799787 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 158, + /**/ + +-- +$ echo pizza > /dev/oven + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.159 b/patches/source/vim/patches/7.4.159 new file mode 100644 index 000000000..be89abeb8 --- /dev/null +++ b/patches/source/vim/patches/7.4.159 @@ -0,0 +1,116 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.159 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.159 +Problem: Completion hangs when scanning the current buffer after doing + keywords. (Christian Brabandt) +Solution: Set the first match position when starting to scan the current + buffer. +Files: src/edit.c + + +*** ../vim-7.4.158/src/edit.c 2014-01-14 12:16:57.000000000 +0100 +--- src/edit.c 2014-01-23 22:42:20.964121311 +0100 +*************** +*** 4180,4185 **** +--- 4180,4186 ---- + char_u *dict = NULL; + int dict_f = 0; + compl_T *old_match; ++ int set_match_pos; + + if (!compl_started) + { +*************** +*** 4198,4203 **** +--- 4199,4205 ---- + for (;;) + { + found_new_match = FAIL; ++ set_match_pos = FALSE; + + /* For ^N/^P pick a new entry from e_cpt if compl_started is off, + * or if found_all says this entry is done. For ^X^L only use the +*************** +*** 4217,4222 **** +--- 4219,4228 ---- + dec(&first_match_pos); + last_match_pos = first_match_pos; + type = 0; ++ ++ /* Remember the first match so that the loop stops when we ++ * wrap and come back there a second time. */ ++ set_match_pos = TRUE; + } + else if (vim_strchr((char_u *)"buwU", *e_cpt) != NULL + && (ins_buf = ins_compl_next_buf(ins_buf, *e_cpt)) != curbuf) +*************** +*** 4381,4387 **** + if (ins_buf->b_p_inf) + p_scs = FALSE; + +! /* buffers other than curbuf are scanned from the beginning or the + * end but never from the middle, thus setting nowrapscan in this + * buffers is a good idea, on the other hand, we always set + * wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */ +--- 4387,4393 ---- + if (ins_buf->b_p_inf) + p_scs = FALSE; + +! /* Buffers other than curbuf are scanned from the beginning or the + * end but never from the middle, thus setting nowrapscan in this + * buffers is a good idea, on the other hand, we always set + * wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */ +*************** +*** 4408,4419 **** + compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG, + RE_LAST, (linenr_T)0, NULL); + --msg_silent; +! if (!compl_started) + { + /* set "compl_started" even on fail */ + compl_started = TRUE; + first_match_pos = *pos; + last_match_pos = *pos; + } + else if (first_match_pos.lnum == last_match_pos.lnum + && first_match_pos.col == last_match_pos.col) +--- 4414,4426 ---- + compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG, + RE_LAST, (linenr_T)0, NULL); + --msg_silent; +! if (!compl_started || set_match_pos) + { + /* set "compl_started" even on fail */ + compl_started = TRUE; + first_match_pos = *pos; + last_match_pos = *pos; ++ set_match_pos = FALSE; + } + else if (first_match_pos.lnum == last_match_pos.lnum + && first_match_pos.col == last_match_pos.col) +*** ../vim-7.4.158/src/version.c 2014-01-23 20:09:29.523869260 +0100 +--- src/version.c 2014-01-23 22:44:40.908125157 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 159, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +205. You're constantly yelling at your spouse, family, roommate, whatever, + for using the phone for stupid things...like talking. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.160 b/patches/source/vim/patches/7.4.160 new file mode 100644 index 000000000..41b0043e5 --- /dev/null +++ b/patches/source/vim/patches/7.4.160 @@ -0,0 +1,66 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.160 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.160 +Problem: Win32: Crash when executing external command. +Solution: Only close the handle when it was created. (Yasuhiro Matsumoto) +Files: src/os_win32.c + + +*** ../vim-7.4.159/src/os_win32.c 2014-01-12 13:24:46.000000000 +0100 +--- src/os_win32.c 2014-01-24 19:54:35.778219160 +0100 +*************** +*** 4627,4632 **** +--- 4627,4633 ---- + DWORD flags = CREATE_NEW_CONSOLE; + char_u *p; + ++ ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + si.lpReserved = NULL; + si.lpDesktop = NULL; +*************** +*** 4723,4731 **** + if (newcmd != cmdbase) + vim_free(newcmd); + +! if (si.hStdInput != NULL) + { +! /* Close the handle to \\.\NUL */ + CloseHandle(si.hStdInput); + } + /* Close the handles to the subprocess, so that it goes away */ +--- 4724,4732 ---- + if (newcmd != cmdbase) + vim_free(newcmd); + +! if (si.dwFlags == STARTF_USESTDHANDLES && si.hStdInput != NULL) + { +! /* Close the handle to \\.\NUL created above. */ + CloseHandle(si.hStdInput); + } + /* Close the handles to the subprocess, so that it goes away */ +*** ../vim-7.4.159/src/version.c 2014-01-23 22:45:54.608127182 +0100 +--- src/version.c 2014-01-24 19:52:46.946216170 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 160, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +209. Your house stinks because you haven't cleaned it in a week. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.161 b/patches/source/vim/patches/7.4.161 new file mode 100644 index 000000000..0487264c7 --- /dev/null +++ b/patches/source/vim/patches/7.4.161 @@ -0,0 +1,75 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.161 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.161 +Problem: Crash in Python exception handling. +Solution: Only use exception variables if did_throw is set. (ZyX) +Files: if_py_both.h + + +*** ../vim-7.4.160/src/if_py_both.h 2014-01-14 19:35:49.000000000 +0100 +--- src/if_py_both.h 2014-01-31 14:46:20.455526607 +0100 +*************** +*** 564,573 **** + /* Keyboard interrupt should be preferred over anything else */ + if (got_int) + { +! if (current_exception != NULL) + discard_current_exception(); +- else +- need_rethrow = did_throw = FALSE; + got_int = FALSE; + PyErr_SetNone(PyExc_KeyboardInterrupt); + return -1; +--- 564,571 ---- + /* Keyboard interrupt should be preferred over anything else */ + if (got_int) + { +! if (did_throw) + discard_current_exception(); + got_int = FALSE; + PyErr_SetNone(PyExc_KeyboardInterrupt); + return -1; +*************** +*** 599,608 **** + /* Python exception is preferred over vim one; unlikely to occur though */ + else if (PyErr_Occurred()) + { +! if (current_exception != NULL) +! discard_current_exception(); +! else +! need_rethrow = did_throw = FALSE; + return -1; + } + /* Finally transform VimL exception to python one */ +--- 597,603 ---- + /* Python exception is preferred over vim one; unlikely to occur though */ + else if (PyErr_Occurred()) + { +! discard_current_exception(); + return -1; + } + /* Finally transform VimL exception to python one */ +*** ../vim-7.4.160/src/version.c 2014-01-24 19:55:33.078220735 +0100 +--- src/version.c 2014-01-31 14:46:39.127526894 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 161, + /**/ + +-- +Eagles may soar, but weasels don't get sucked into jet engines. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.162 b/patches/source/vim/patches/7.4.162 new file mode 100644 index 000000000..0687e882b --- /dev/null +++ b/patches/source/vim/patches/7.4.162 @@ -0,0 +1,45 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.162 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.162 +Problem: Running tests in shadow dir doesn't work. +Solution: Add testdir/sautest to the shadow target. (James McCoy) +Files: src/Makefile + + +*** ../vim-7.4.161/src/Makefile 2013-11-07 03:25:51.000000000 +0100 +--- src/Makefile 2014-02-05 12:34:00.214024436 +0100 +*************** +*** 2381,2386 **** +--- 2381,2387 ---- + ../../testdir/*.in \ + ../../testdir/*.vim \ + ../../testdir/python* \ ++ ../../testdir/sautest \ + ../../testdir/test83-tags? \ + ../../testdir/*.ok . + +*** ../vim-7.4.161/src/version.c 2014-01-31 14:53:59.715533645 +0100 +--- src/version.c 2014-02-05 12:34:19.766024736 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 162, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +263. You have more e-mail addresses than shorts. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.163 b/patches/source/vim/patches/7.4.163 new file mode 100644 index 000000000..b04e91d71 --- /dev/null +++ b/patches/source/vim/patches/7.4.163 @@ -0,0 +1,75 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.163 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.163 (after 7.4.142) +Problem: MS-Windows input doesn't work properly on Windows 7 and earlier. +Solution: Add a check for Windows 8. (Yasuhiro Matsumoto) +Files: src/os_win32.c + + +*** ../vim-7.4.162/src/os_win32.c 2014-01-24 19:55:33.078220735 +0100 +--- src/os_win32.c 2014-02-05 13:33:03.758078734 +0100 +*************** +*** 232,237 **** +--- 232,239 ---- + + static char_u *exe_path = NULL; + ++ static BOOL win8_or_later = FALSE; ++ + /* + * Version of ReadConsoleInput() that works with IME. + * Works around problems on Windows 8. +*************** +*** 252,257 **** +--- 254,266 ---- + static DWORD s_dwMax = 0; + DWORD dwEvents; + ++ if (!win8_or_later) ++ { ++ if (nLength == -1) ++ return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents); ++ return ReadConsoleInput(hInput, lpBuffer, 1, &dwEvents); ++ } ++ + if (s_dwMax == 0) + { + if (nLength == -1) +*************** +*** 617,622 **** +--- 626,635 ---- + + g_PlatformId = ovi.dwPlatformId; + ++ if ((ovi.dwMajorVersion == 6 && ovi.dwMinorVersion >= 2) ++ || ovi.dwMajorVersion > 6) ++ win8_or_later = TRUE; ++ + #ifdef HAVE_ACL + /* + * Load the ADVAPI runtime if we are on anything +*** ../vim-7.4.162/src/version.c 2014-02-05 12:36:36.622026833 +0100 +--- src/version.c 2014-02-05 13:31:31.618077322 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 163, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +266. You hear most of your jokes via e-mail instead of in person. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.164 b/patches/source/vim/patches/7.4.164 new file mode 100644 index 000000000..b35debadf --- /dev/null +++ b/patches/source/vim/patches/7.4.164 @@ -0,0 +1,78 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.164 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.164 (after 7.4.163) +Problem: Problem with event handling on Windows 8. +Solution: Ignore duplicate WINDOW_BUFFER_SIZE_EVENTs. (Nobuhiro Takasaki) +Files: src/os_win32.c + + +*** ../vim-7.4.163/src/os_win32.c 2014-02-05 13:36:50.846082213 +0100 +--- src/os_win32.c 2014-02-05 14:01:13.350104623 +0100 +*************** +*** 253,258 **** +--- 253,261 ---- + static DWORD s_dwIndex = 0; + static DWORD s_dwMax = 0; + DWORD dwEvents; ++ int head; ++ int tail; ++ int i; + + if (!win8_or_later) + { +*************** +*** 274,280 **** +--- 277,305 ---- + *lpEvents = 0; + return TRUE; + } ++ ++ if (s_dwMax > 1) ++ { ++ head = 0; ++ tail = s_dwMax - 1; ++ while (head != tail) ++ { ++ if (s_irCache[head].EventType == WINDOW_BUFFER_SIZE_EVENT ++ && s_irCache[head + 1].EventType ++ == WINDOW_BUFFER_SIZE_EVENT) ++ { ++ /* Remove duplicate event to avoid flicker. */ ++ for (i = head; i < tail; ++i) ++ s_irCache[i] = s_irCache[i + 1]; ++ --tail; ++ continue; ++ } ++ head++; ++ } ++ s_dwMax = tail + 1; ++ } + } ++ + *lpBuffer = s_irCache[s_dwIndex]; + if (nLength != -1 && ++s_dwIndex >= s_dwMax) + s_dwMax = 0; +*** ../vim-7.4.163/src/version.c 2014-02-05 13:36:50.850082213 +0100 +--- src/version.c 2014-02-05 13:54:15.570098222 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 164, + /**/ + +-- +XML is a nice language for computers. Not for humans. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.165 b/patches/source/vim/patches/7.4.165 new file mode 100644 index 000000000..ab42f7300 --- /dev/null +++ b/patches/source/vim/patches/7.4.165 @@ -0,0 +1,71 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.165 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.165 +Problem: By default, after closing a buffer changes can't be undone. +Solution: In the example vimrc file set 'undofile'. +Files: runtime/vimrc_example.vim + + +*** ../vim-7.4.164/runtime/vimrc_example.vim 2011-04-15 20:58:36.000000000 +0200 +--- runtime/vimrc_example.vim 2014-02-05 21:59:40.534544501 +0100 +*************** +*** 1,7 **** + " An example for a vimrc file. + " + " Maintainer: Bram Moolenaar +! " Last change: 2011 Apr 15 + " + " To use it, copy it to + " for Unix and OS/2: ~/.vimrc +--- 1,7 ---- + " An example for a vimrc file. + " + " Maintainer: Bram Moolenaar +! " Last change: 2014 Feb 05 + " + " To use it, copy it to + " for Unix and OS/2: ~/.vimrc +*************** +*** 24,30 **** + if has("vms") + set nobackup " do not keep a backup file, use versions instead + else +! set backup " keep a backup file + endif + set history=50 " keep 50 lines of command line history + set ruler " show the cursor position all the time +--- 24,31 ---- + if has("vms") + set nobackup " do not keep a backup file, use versions instead + else +! set backup " keep a backup file (restore to previous version) +! set undofile " keep an undo file (undo changes after closing) + endif + set history=50 " keep 50 lines of command line history + set ruler " show the cursor position all the time +*** ../vim-7.4.164/src/version.c 2014-02-05 14:02:23.590105699 +0100 +--- src/version.c 2014-02-05 21:59:47.774544612 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 165, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +269. You wonder how you can make your dustbin produce Sesame Street's + Oscar's the Garbage Monster song when you empty it. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.166 b/patches/source/vim/patches/7.4.166 new file mode 100644 index 000000000..16f51b42d --- /dev/null +++ b/patches/source/vim/patches/7.4.166 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.166 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.166 +Problem: Auto-loading a function for code that won't be executed. +Solution: Do not auto-load when evaluation is off. (Yasuhiro Matsumoto) +Files: src/eval.c + + +*** ../vim-7.4.165/src/eval.c 2014-01-23 20:09:29.523869260 +0100 +--- src/eval.c 2014-02-05 22:04:21.110548800 +0100 +*************** +*** 5159,5165 **** + { + /* If "s" is the name of a variable of type VAR_FUNC + * use its contents. */ +! s = deref_func_name(s, &len, FALSE); + + /* Invoke the function. */ + ret = get_func_tv(s, len, rettv, arg, +--- 5159,5165 ---- + { + /* If "s" is the name of a variable of type VAR_FUNC + * use its contents. */ +! s = deref_func_name(s, &len, !evaluate); + + /* Invoke the function. */ + ret = get_func_tv(s, len, rettv, arg, +*** ../vim-7.4.165/src/version.c 2014-02-05 22:01:56.690546587 +0100 +--- src/version.c 2014-02-05 22:06:18.610550600 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 166, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +270. You are subscribed to a mailing list for every piece of software + you use. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.167 b/patches/source/vim/patches/7.4.167 new file mode 100644 index 000000000..c3ad07400 --- /dev/null +++ b/patches/source/vim/patches/7.4.167 @@ -0,0 +1,195 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.167 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.167 (after 7.4.149) +Problem: Fixes are not tested. +Solution: Add a test for not autoloading on assignment. (Yukihiro Nakadaira) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/sautest/autoload/Test104.vim, src/testdir/test104.in, + src/testdir/test104.ok + + +*** ../vim-7.4.166/src/testdir/Make_amiga.mak 2013-11-21 14:21:25.000000000 +0100 +--- src/testdir/Make_amiga.mak 2014-02-05 22:16:46.654560224 +0100 +*************** +*** 34,40 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out test103.out + + .SUFFIXES: .in .out + +--- 34,41 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out test103.out \ +! test104.out + + .SUFFIXES: .in .out + +*************** +*** 154,156 **** +--- 155,158 ---- + test101.out: test101.in + test102.out: test102.in + test103.out: test103.in ++ test104.out: test104.in +*** ../vim-7.4.166/src/testdir/Make_dos.mak 2013-11-21 14:21:25.000000000 +0100 +--- src/testdir/Make_dos.mak 2014-02-05 22:16:46.654560224 +0100 +*************** +*** 33,39 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + SCRIPTS32 = test50.out test70.out + +--- 33,39 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.166/src/testdir/Make_ming.mak 2014-01-06 15:51:46.000000000 +0100 +--- src/testdir/Make_ming.mak 2014-02-05 22:16:46.654560224 +0100 +*************** +*** 53,59 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + SCRIPTS32 = test50.out test70.out + +--- 53,59 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.166/src/testdir/Make_os2.mak 2013-11-21 14:21:25.000000000 +0100 +--- src/testdir/Make_os2.mak 2014-02-05 22:16:46.654560224 +0100 +*************** +*** 35,41 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + .SUFFIXES: .in .out + +--- 35,41 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.166/src/testdir/Make_vms.mms 2013-11-21 14:21:25.000000000 +0100 +--- src/testdir/Make_vms.mms 2014-02-05 22:16:46.658560224 +0100 +*************** +*** 79,85 **** + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 79,85 ---- + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.166/src/testdir/Makefile 2013-11-21 14:21:25.000000000 +0100 +--- src/testdir/Makefile 2014-02-05 22:16:46.658560224 +0100 +*************** +*** 30,36 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out test103.out + + SCRIPTS_GUI = test16.out + +--- 30,37 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ +! test99.out test100.out test101.out test102.out test103.out \ +! test104.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.166/src/testdir/sautest/autoload/Test104.vim 2014-02-05 22:25:12.050567968 +0100 +--- src/testdir/sautest/autoload/Test104.vim 2014-02-05 22:16:46.658560224 +0100 +*************** +*** 0 **** +--- 1 ---- ++ let Test104#numvar = 123 +*** ../vim-7.4.166/src/testdir/test104.in 2014-02-05 22:25:12.062567968 +0100 +--- src/testdir/test104.in 2014-02-05 22:24:07.706566982 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ Tests for autoload. vim: set ft=vim ts=8 : ++ ++ STARTTEST ++ :so small.vim ++ :set runtimepath+=./sautest ++ :" Test to not autoload when assigning. It causes internal error. ++ :try ++ : let Test104#numvar = function('tr') ++ : $put ='OK: ' . string(Test104#numvar) ++ :catch ++ : $put ='FAIL: ' . v:exception ++ :endtry ++ :/^Results/,$wq! test.out ++ ENDTEST ++ ++ Results of test104: +*** ../vim-7.4.166/src/testdir/test104.ok 2014-02-05 22:25:12.070567968 +0100 +--- src/testdir/test104.ok 2014-02-05 22:16:46.658560224 +0100 +*************** +*** 0 **** +--- 1,2 ---- ++ Results of test104: ++ OK: function('tr') +*** ../vim-7.4.166/src/version.c 2014-02-05 22:13:02.366556787 +0100 +--- src/version.c 2014-02-05 22:18:05.506561432 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 167, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +271. You collect hilarious signatures from all 250 mailing lists you + are subscribed to. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.168 b/patches/source/vim/patches/7.4.168 new file mode 100644 index 000000000..ac57dc490 --- /dev/null +++ b/patches/source/vim/patches/7.4.168 @@ -0,0 +1,91 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.168 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.168 +Problem: Can't compile with Ruby 2.1.0. +Solution: Add support for new GC. (Kohei Suzuki) +Files: src/if_ruby.c + + +*** ../vim-7.4.167/src/if_ruby.c 2013-05-20 12:47:48.000000000 +0200 +--- src/if_ruby.c 2014-02-05 22:35:17.378577243 +0100 +*************** +*** 96,101 **** +--- 96,107 ---- + # define rb_num2int rb_num2int_stub + #endif + ++ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 21 ++ /* Ruby 2.1 adds new GC called RGenGC and RARRAY_PTR uses ++ * rb_gc_writebarrier_unprotect_promoted if USE_RGENGC */ ++ # define rb_gc_writebarrier_unprotect_promoted rb_gc_writebarrier_unprotect_promoted_stub ++ # endif ++ + #include + #ifdef RUBY19_OR_LATER + # include +*************** +*** 373,378 **** +--- 379,388 ---- + static void* (*ruby_process_options)(int, char**); + # endif + ++ # if defined(USE_RGENGC) && USE_RGENGC ++ static void (*dll_rb_gc_writebarrier_unprotect_promoted)(VALUE); ++ # endif ++ + # if defined(RUBY19_OR_LATER) && !defined(PROTO) + SIGNED_VALUE rb_num2long_stub(VALUE x) + { +*************** +*** 406,411 **** +--- 416,428 ---- + # endif + # endif + ++ # if defined(USE_RGENGC) && USE_RGENGC ++ void rb_gc_writebarrier_unprotect_promoted_stub(VALUE obj) ++ { ++ return dll_rb_gc_writebarrier_unprotect_promoted(obj); ++ } ++ # endif ++ + static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */ + + /* +*************** +*** 521,526 **** +--- 538,546 ---- + # endif + {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, + # endif ++ # if defined(USE_RGENGC) && USE_RGENGC ++ {"rb_gc_writebarrier_unprotect_promoted", (RUBY_PROC*)&dll_rb_gc_writebarrier_unprotect_promoted}, ++ # endif + {"", NULL}, + }; + +*** ../vim-7.4.167/src/version.c 2014-02-05 22:25:29.982568243 +0100 +--- src/version.c 2014-02-05 22:36:14.010578111 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 168, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +10E. You start counting in hex. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.169 b/patches/source/vim/patches/7.4.169 new file mode 100644 index 000000000..bfb4c16f7 --- /dev/null +++ b/patches/source/vim/patches/7.4.169 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.169 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.169 +Problem: ":sleep" puts cursor in the wrong column. (Liang Li) +Solution: Add the window offset. (Christian Brabandt) +Files: src/ex_docmd.c + + +*** ../vim-7.4.168/src/ex_docmd.c 2014-01-10 15:53:09.000000000 +0100 +--- src/ex_docmd.c 2014-02-05 22:45:39.318586773 +0100 +*************** +*** 8371,8377 **** + { + n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled; + if (n >= 0) +! windgoto((int)n, curwin->w_wcol); + } + + len = eap->line2; +--- 8371,8377 ---- + { + n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled; + if (n >= 0) +! windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol); + } + + len = eap->line2; +*** ../vim-7.4.168/src/version.c 2014-02-05 22:41:11.430582669 +0100 +--- src/version.c 2014-02-05 22:44:51.458586040 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 169, + /**/ + +-- +ARTHUR: This new learning amazes me, Sir Bedevere. Explain again how sheep's + bladders may be employed to prevent earthquakes. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.170 b/patches/source/vim/patches/7.4.170 new file mode 100644 index 000000000..17de640b6 --- /dev/null +++ b/patches/source/vim/patches/7.4.170 @@ -0,0 +1,90 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.170 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.170 +Problem: Some help tags don't work with ":help". (Tim Chase) +Solution: Add exceptions. +Files: src/ex_cmds.c + + +*** ../vim-7.4.169/src/ex_cmds.c 2013-11-09 03:31:45.000000000 +0100 +--- src/ex_cmds.c 2014-02-11 12:10:43.905946437 +0100 +*************** +*** 5936,5949 **** + "?", ":?", "?", "g?", "g?g?", "g??", "z?", + "/\\?", "/\\z(\\)", "\\=", ":s\\=", + "[count]", "[quotex]", "[range]", +! "[pattern]", "\\|", "\\%$"}; + static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star", + "/star", "/\\\\star", "quotestar", "starstar", + "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)", + "?", ":?", "?", "g?", "g?g?", "g??", "z?", + "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=", + "\\[count]", "\\[quotex]", "\\[range]", +! "\\[pattern]", "\\\\bar", "/\\\\%\\$"}; + int flags; + + d = IObuff; /* assume IObuff is long enough! */ +--- 5936,5953 ---- + "?", ":?", "?", "g?", "g?g?", "g??", "z?", + "/\\?", "/\\z(\\)", "\\=", ":s\\=", + "[count]", "[quotex]", "[range]", +! "[pattern]", "\\|", "\\%$", +! "s/\\~", "s/\\U", "s/\\L", +! "s/\\1", "s/\\2", "s/\\3", "s/\\9"}; + static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star", + "/star", "/\\\\star", "quotestar", "starstar", + "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)", + "?", ":?", "?", "g?", "g?g?", "g??", "z?", + "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=", + "\\[count]", "\\[quotex]", "\\[range]", +! "\\[pattern]", "\\\\bar", "/\\\\%\\$", +! "s/\\\\\\~", "s/\\\\U", "s/\\\\L", +! "s/\\\\1", "s/\\\\2", "s/\\\\3", "s/\\\\9"}; + int flags; + + d = IObuff; /* assume IObuff is long enough! */ +*************** +*** 5982,5988 **** + /* Replace: + * "[:...:]" with "\[:...:]" + * "[++...]" with "\[++...]" +! * "\{" with "\\{" + */ + if ((arg[0] == '[' && (arg[1] == ':' + || (arg[1] == '+' && arg[2] == '+'))) +--- 5986,5992 ---- + /* Replace: + * "[:...:]" with "\[:...:]" + * "[++...]" with "\[++...]" +! * "\{" with "\\{" -- matching "} \}" + */ + if ((arg[0] == '[' && (arg[1] == ':' + || (arg[1] == '+' && arg[2] == '+'))) +*** ../vim-7.4.169/src/version.c 2014-02-05 22:46:49.062587842 +0100 +--- src/version.c 2014-02-11 11:41:50.433919875 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 170, + /**/ + +-- + GALAHAD turns back. We see from his POV the lovely ZOOT standing by him + smiling enchantingly and a number of equally delectable GIRLIES draped + around in the seductively poulticed room. They look at him smilingly and + wave. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.171 b/patches/source/vim/patches/7.4.171 new file mode 100644 index 000000000..cfd390690 --- /dev/null +++ b/patches/source/vim/patches/7.4.171 @@ -0,0 +1,841 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.171 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.171 +Problem: Redo does not set v:count and v:count1. +Solution: Use a separate buffer for redo, so that we can set the counts when + performing redo. +Files: src/getchar.c, src/globals.h, src/normal.c, src/proto/getchar.pro, + src/structs.h + + +*** ../vim-7.4.170/src/getchar.c 2013-06-29 13:43:27.000000000 +0200 +--- src/getchar.c 2014-02-11 14:54:46.830097259 +0100 +*************** +*** 40,52 **** + + #define MINIMAL_SIZE 20 /* minimal size for b_str */ + +! static struct buffheader redobuff = {{NULL, {NUL}}, NULL, 0, 0}; +! static struct buffheader old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; + #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO) +! static struct buffheader save_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; +! static struct buffheader save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; + #endif +! static struct buffheader recordbuff = {{NULL, {NUL}}, NULL, 0, 0}; + + static int typeahead_char = 0; /* typeahead char that's not flushed */ + +--- 40,52 ---- + + #define MINIMAL_SIZE 20 /* minimal size for b_str */ + +! static buffheader_T redobuff = {{NULL, {NUL}}, NULL, 0, 0}; +! static buffheader_T old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; + #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO) +! static buffheader_T save_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; +! static buffheader_T save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; + #endif +! static buffheader_T recordbuff = {{NULL, {NUL}}, NULL, 0, 0}; + + static int typeahead_char = 0; /* typeahead char that's not flushed */ + +*************** +*** 112,122 **** + + static int last_recorded_len = 0; /* number of last recorded chars */ + +! static char_u *get_buffcont __ARGS((struct buffheader *, int)); +! static void add_buff __ARGS((struct buffheader *, char_u *, long n)); +! static void add_num_buff __ARGS((struct buffheader *, long)); +! static void add_char_buff __ARGS((struct buffheader *, int)); +! static int read_stuff __ARGS((int advance)); + static void start_stuff __ARGS((void)); + static int read_redo __ARGS((int, int)); + static void copy_redo __ARGS((int)); +--- 112,123 ---- + + static int last_recorded_len = 0; /* number of last recorded chars */ + +! static char_u *get_buffcont __ARGS((buffheader_T *, int)); +! static void add_buff __ARGS((buffheader_T *, char_u *, long n)); +! static void add_num_buff __ARGS((buffheader_T *, long)); +! static void add_char_buff __ARGS((buffheader_T *, int)); +! static int read_readbuffers __ARGS((int advance)); +! static int read_readbuf __ARGS((buffheader_T *buf, int advance)); + static void start_stuff __ARGS((void)); + static int read_redo __ARGS((int, int)); + static void copy_redo __ARGS((int)); +*************** +*** 137,145 **** + */ + void + free_buff(buf) +! struct buffheader *buf; + { +! struct buffblock *p, *np; + + for (p = buf->bh_first.b_next; p != NULL; p = np) + { +--- 138,146 ---- + */ + void + free_buff(buf) +! buffheader_T *buf; + { +! buffblock_T *p, *np; + + for (p = buf->bh_first.b_next; p != NULL; p = np) + { +*************** +*** 155,168 **** + */ + static char_u * + get_buffcont(buffer, dozero) +! struct buffheader *buffer; + int dozero; /* count == zero is not an error */ + { + long_u count = 0; + char_u *p = NULL; + char_u *p2; + char_u *str; +! struct buffblock *bp; + + /* compute the total length of the string */ + for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next) +--- 156,169 ---- + */ + static char_u * + get_buffcont(buffer, dozero) +! buffheader_T *buffer; + int dozero; /* count == zero is not an error */ + { + long_u count = 0; + char_u *p = NULL; + char_u *p2; + char_u *str; +! buffblock_T *bp; + + /* compute the total length of the string */ + for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next) +*************** +*** 230,240 **** + */ + static void + add_buff(buf, s, slen) +! struct buffheader *buf; + char_u *s; + long slen; /* length of "s" or -1 */ + { +! struct buffblock *p; + long_u len; + + if (slen < 0) +--- 231,241 ---- + */ + static void + add_buff(buf, s, slen) +! buffheader_T *buf; + char_u *s; + long slen; /* length of "s" or -1 */ + { +! buffblock_T *p; + long_u len; + + if (slen < 0) +*************** +*** 270,276 **** + len = MINIMAL_SIZE; + else + len = slen; +! p = (struct buffblock *)lalloc((long_u)(sizeof(struct buffblock) + len), + TRUE); + if (p == NULL) + return; /* no space, just forget it */ +--- 271,277 ---- + len = MINIMAL_SIZE; + else + len = slen; +! p = (buffblock_T *)lalloc((long_u)(sizeof(buffblock_T) + len), + TRUE); + if (p == NULL) + return; /* no space, just forget it */ +*************** +*** 289,295 **** + */ + static void + add_num_buff(buf, n) +! struct buffheader *buf; + long n; + { + char_u number[32]; +--- 290,296 ---- + */ + static void + add_num_buff(buf, n) +! buffheader_T *buf; + long n; + { + char_u number[32]; +*************** +*** 304,310 **** + */ + static void + add_char_buff(buf, c) +! struct buffheader *buf; + int c; + { + #ifdef FEAT_MBYTE +--- 305,311 ---- + */ + static void + add_char_buff(buf, c) +! buffheader_T *buf; + int c; + { + #ifdef FEAT_MBYTE +*************** +*** 354,399 **** + #endif + } + + /* +! * Get one byte from the stuff buffer. + * If advance == TRUE go to the next char. + * No translation is done K_SPECIAL and CSI are escaped. + */ + static int +! read_stuff(advance) + int advance; + { +! char_u c; +! struct buffblock *curr; + +! if (stuffbuff.bh_first.b_next == NULL) /* buffer is empty */ + return NUL; + +! curr = stuffbuff.bh_first.b_next; +! c = curr->b_str[stuffbuff.bh_index]; + + if (advance) + { +! if (curr->b_str[++stuffbuff.bh_index] == NUL) + { +! stuffbuff.bh_first.b_next = curr->b_next; + vim_free(curr); +! stuffbuff.bh_index = 0; + } + } + return c; + } + + /* +! * Prepare the stuff buffer for reading (if it contains something). + */ + static void + start_stuff() + { +! if (stuffbuff.bh_first.b_next != NULL) + { +! stuffbuff.bh_curr = &(stuffbuff.bh_first); +! stuffbuff.bh_space = 0; + } + } + +--- 355,425 ---- + #endif + } + ++ /* First read ahead buffer. Used for translated commands. */ ++ static buffheader_T readbuf1 = {{NULL, {NUL}}, NULL, 0, 0}; ++ ++ /* Second read ahead buffer. Used for redo. */ ++ static buffheader_T readbuf2 = {{NULL, {NUL}}, NULL, 0, 0}; ++ + /* +! * Get one byte from the read buffers. Use readbuf1 one first, use readbuf2 +! * if that one is empty. + * If advance == TRUE go to the next char. + * No translation is done K_SPECIAL and CSI are escaped. + */ + static int +! read_readbuffers(advance) + int advance; + { +! int c; +! +! c = read_readbuf(&readbuf1, advance); +! if (c == NUL) +! c = read_readbuf(&readbuf2, advance); +! return c; +! } +! +! static int +! read_readbuf(buf, advance) +! buffheader_T *buf; +! int advance; +! { +! char_u c; +! buffblock_T *curr; + +! if (buf->bh_first.b_next == NULL) /* buffer is empty */ + return NUL; + +! curr = buf->bh_first.b_next; +! c = curr->b_str[buf->bh_index]; + + if (advance) + { +! if (curr->b_str[++buf->bh_index] == NUL) + { +! buf->bh_first.b_next = curr->b_next; + vim_free(curr); +! buf->bh_index = 0; + } + } + return c; + } + + /* +! * Prepare the read buffers for reading (if they contains something). + */ + static void + start_stuff() + { +! if (readbuf1.bh_first.b_next != NULL) + { +! readbuf1.bh_curr = &(readbuf1.bh_first); +! readbuf1.bh_space = 0; +! } +! if (readbuf2.bh_first.b_next != NULL) +! { +! readbuf2.bh_curr = &(readbuf2.bh_first); +! readbuf2.bh_space = 0; + } + } + +*************** +*** 403,409 **** + int + stuff_empty() + { +! return (stuffbuff.bh_first.b_next == NULL); + } + + /* +--- 429,446 ---- + int + stuff_empty() + { +! return (readbuf1.bh_first.b_next == NULL +! && readbuf2.bh_first.b_next == NULL); +! } +! +! /* +! * Return TRUE if readbuf1 is empty. There may still be redo characters in +! * redbuf2. +! */ +! int +! readbuf1_empty() +! { +! return (readbuf1.bh_first.b_next == NULL); + } + + /* +*************** +*** 428,434 **** + init_typebuf(); + + start_stuff(); +! while (read_stuff(TRUE) != NUL) + ; + + if (flush_typeahead) /* remove all typeahead */ +--- 465,471 ---- + init_typebuf(); + + start_stuff(); +! while (read_readbuffers(TRUE) != NUL) + ; + + if (flush_typeahead) /* remove all typeahead */ +*************** +*** 483,489 **** + redobuff = old_redobuff; + old_redobuff.bh_first.b_next = NULL; + start_stuff(); +! while (read_stuff(TRUE) != NUL) + ; + } + } +--- 520,526 ---- + redobuff = old_redobuff; + old_redobuff.bh_first.b_next = NULL; + start_stuff(); +! while (read_readbuffers(TRUE) != NUL) + ; + } + } +*************** +*** 638,644 **** + stuffReadbuff(s) + char_u *s; + { +! add_buff(&stuffbuff, s, -1L); + } + + void +--- 675,681 ---- + stuffReadbuff(s) + char_u *s; + { +! add_buff(&readbuf1, s, -1L); + } + + void +*************** +*** 646,652 **** + char_u *s; + long len; + { +! add_buff(&stuffbuff, s, len); + } + + #if defined(FEAT_EVAL) || defined(PROTO) +--- 683,689 ---- + char_u *s; + long len; + { +! add_buff(&readbuf1, s, len); + } + + #if defined(FEAT_EVAL) || defined(PROTO) +*************** +*** 692,698 **** + stuffcharReadbuff(c) + int c; + { +! add_char_buff(&stuffbuff, c); + } + + /* +--- 729,735 ---- + stuffcharReadbuff(c) + int c; + { +! add_char_buff(&readbuf1, c); + } + + /* +*************** +*** 702,708 **** + stuffnumReadbuff(n) + long n; + { +! add_num_buff(&stuffbuff, n); + } + + /* +--- 739,745 ---- + stuffnumReadbuff(n) + long n; + { +! add_num_buff(&readbuf1, n); + } + + /* +*************** +*** 718,730 **** + int init; + int old_redo; + { +! static struct buffblock *bp; +! static char_u *p; +! int c; + #ifdef FEAT_MBYTE +! int n; +! char_u buf[MB_MAXBYTES + 1]; +! int i; + #endif + + if (init) +--- 755,767 ---- + int init; + int old_redo; + { +! static buffblock_T *bp; +! static char_u *p; +! int c; + #ifdef FEAT_MBYTE +! int n; +! char_u buf[MB_MAXBYTES + 1]; +! int i; + #endif + + if (init) +*************** +*** 795,805 **** + int c; + + while ((c = read_redo(FALSE, old_redo)) != NUL) +! stuffcharReadbuff(c); + } + + /* +! * Stuff the redo buffer into the stuffbuff. + * Insert the redo count into the command. + * If "old_redo" is TRUE, the last but one command is repeated + * instead of the last command (inserting text). This is used for +--- 832,842 ---- + int c; + + while ((c = read_redo(FALSE, old_redo)) != NUL) +! add_char_buff(&readbuf2, c); + } + + /* +! * Stuff the redo buffer into readbuf2. + * Insert the redo count into the command. + * If "old_redo" is TRUE, the last but one command is repeated + * instead of the last command (inserting text). This is used for +*************** +*** 823,835 **** + /* copy the buffer name, if present */ + if (c == '"') + { +! add_buff(&stuffbuff, (char_u *)"\"", 1L); + c = read_redo(FALSE, old_redo); + + /* if a numbered buffer is used, increment the number */ + if (c >= '1' && c < '9') + ++c; +! add_char_buff(&stuffbuff, c); + c = read_redo(FALSE, old_redo); + } + +--- 860,872 ---- + /* copy the buffer name, if present */ + if (c == '"') + { +! add_buff(&readbuf2, (char_u *)"\"", 1L); + c = read_redo(FALSE, old_redo); + + /* if a numbered buffer is used, increment the number */ + if (c >= '1' && c < '9') + ++c; +! add_char_buff(&readbuf2, c); + c = read_redo(FALSE, old_redo); + } + +*************** +*** 850,867 **** + { + while (VIM_ISDIGIT(c)) /* skip "old" count */ + c = read_redo(FALSE, old_redo); +! add_num_buff(&stuffbuff, count); + } + + /* copy from the redo buffer into the stuff buffer */ +! add_char_buff(&stuffbuff, c); + copy_redo(old_redo); + return OK; + } + + /* + * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing +! * the redo buffer into the stuffbuff. + * return FAIL for failure, OK otherwise + */ + int +--- 887,904 ---- + { + while (VIM_ISDIGIT(c)) /* skip "old" count */ + c = read_redo(FALSE, old_redo); +! add_num_buff(&readbuf2, count); + } + + /* copy from the redo buffer into the stuff buffer */ +! add_char_buff(&readbuf2, c); + copy_redo(old_redo); + return OK; + } + + /* + * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing +! * the redo buffer into readbuf2. + * return FAIL for failure, OK otherwise + */ + int +*************** +*** 879,885 **** + if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL) + { + if (c == 'O' || c == 'o') +! stuffReadbuff(NL_STR); + break; + } + } +--- 916,922 ---- + if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL) + { + if (c == 'O' || c == 'o') +! add_buff(&readbuf2, NL_STR, -1L); + break; + } + } +*************** +*** 1360,1367 **** + tp->old_mod_mask = old_mod_mask; + old_char = -1; + +! tp->save_stuffbuff = stuffbuff; +! stuffbuff.bh_first.b_next = NULL; + # ifdef USE_INPUT_BUF + tp->save_inputbuf = get_input_buf(); + # endif +--- 1397,1406 ---- + tp->old_mod_mask = old_mod_mask; + old_char = -1; + +! tp->save_readbuf1 = readbuf1; +! readbuf1.bh_first.b_next = NULL; +! tp->save_readbuf2 = readbuf2; +! readbuf2.bh_first.b_next = NULL; + # ifdef USE_INPUT_BUF + tp->save_inputbuf = get_input_buf(); + # endif +*************** +*** 1384,1391 **** + old_char = tp->old_char; + old_mod_mask = tp->old_mod_mask; + +! free_buff(&stuffbuff); +! stuffbuff = tp->save_stuffbuff; + # ifdef USE_INPUT_BUF + set_input_buf(tp->save_inputbuf); + # endif +--- 1423,1432 ---- + old_char = tp->old_char; + old_mod_mask = tp->old_mod_mask; + +! free_buff(&readbuf1); +! readbuf1 = tp->save_readbuf1; +! free_buff(&readbuf2); +! readbuf2 = tp->save_readbuf2; + # ifdef USE_INPUT_BUF + set_input_buf(tp->save_inputbuf); + # endif +*************** +*** 1992,1998 **** + typeahead_char = 0; + } + else +! c = read_stuff(advance); + if (c != NUL && !got_int) + { + if (advance) +--- 2033,2039 ---- + typeahead_char = 0; + } + else +! c = read_readbuffers(advance); + if (c != NUL && !got_int) + { + if (advance) +*** ../vim-7.4.170/src/globals.h 2013-11-09 03:31:45.000000000 +0100 +--- src/globals.h 2014-02-11 14:17:44.070063200 +0100 +*************** +*** 979,989 **** + EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */ + EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */ + +- EXTERN struct buffheader stuffbuff /* stuff buffer */ +- #ifdef DO_INIT +- = {{NULL, {NUL}}, NULL, 0, 0} +- #endif +- ; + EXTERN typebuf_T typebuf /* typeahead buffer */ + #ifdef DO_INIT + = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0} +--- 979,984 ---- +*** ../vim-7.4.170/src/normal.c 2014-01-14 13:18:53.000000000 +0100 +--- src/normal.c 2014-02-11 14:53:54.246096453 +0100 +*************** +*** 655,662 **** + #ifdef FEAT_EVAL + /* Set v:count here, when called from main() and not a stuffed + * command, so that v:count can be used in an expression mapping +! * when there is no count. */ +! if (toplevel && stuff_empty()) + set_vcount_ca(&ca, &set_prevcount); + #endif + +--- 655,662 ---- + #ifdef FEAT_EVAL + /* Set v:count here, when called from main() and not a stuffed + * command, so that v:count can be used in an expression mapping +! * when there is no count. Do set it for redo. */ +! if (toplevel && readbuf1_empty()) + set_vcount_ca(&ca, &set_prevcount); + #endif + +*************** +*** 736,743 **** + #ifdef FEAT_EVAL + /* Set v:count here, when called from main() and not a stuffed + * command, so that v:count can be used in an expression mapping +! * right after the count. */ +! if (toplevel && stuff_empty()) + set_vcount_ca(&ca, &set_prevcount); + #endif + if (ctrl_w) +--- 736,743 ---- + #ifdef FEAT_EVAL + /* Set v:count here, when called from main() and not a stuffed + * command, so that v:count can be used in an expression mapping +! * right after the count. Do set it for redo. */ +! if (toplevel && readbuf1_empty()) + set_vcount_ca(&ca, &set_prevcount); + #endif + if (ctrl_w) +*************** +*** 819,826 **** + #ifdef FEAT_EVAL + /* + * Only set v:count when called from main() and not a stuffed command. + */ +! if (toplevel && stuff_empty()) + set_vcount(ca.count0, ca.count1, set_prevcount); + #endif + +--- 819,827 ---- + #ifdef FEAT_EVAL + /* + * Only set v:count when called from main() and not a stuffed command. ++ * Do set it for redo. + */ +! if (toplevel && readbuf1_empty()) + set_vcount(ca.count0, ca.count1, set_prevcount); + #endif + +*** ../vim-7.4.170/src/proto/getchar.pro 2013-08-10 13:37:12.000000000 +0200 +--- src/proto/getchar.pro 2014-02-11 14:55:14.806097687 +0100 +*************** +*** 1,8 **** + /* getchar.c */ +! void free_buff __ARGS((struct buffheader *buf)); + char_u *get_recorded __ARGS((void)); + char_u *get_inserted __ARGS((void)); + int stuff_empty __ARGS((void)); + void typeahead_noflush __ARGS((int c)); + void flush_buffers __ARGS((int flush_typeahead)); + void ResetRedobuff __ARGS((void)); +--- 1,9 ---- + /* getchar.c */ +! void free_buff __ARGS((buffheader_T *buf)); + char_u *get_recorded __ARGS((void)); + char_u *get_inserted __ARGS((void)); + int stuff_empty __ARGS((void)); ++ int readbuf1_empty __ARGS((void)); + void typeahead_noflush __ARGS((int c)); + void flush_buffers __ARGS((int flush_typeahead)); + void ResetRedobuff __ARGS((void)); +*** ../vim-7.4.170/src/structs.h 2013-11-12 04:43:57.000000000 +0100 +--- src/structs.h 2014-02-11 14:35:43.606079741 +0100 +*************** +*** 471,483 **** + blocknr_T nt_new_bnum; /* new, positive, number */ + }; + + /* + * structure used to store one block of the stuff/redo/recording buffers + */ + struct buffblock + { +! struct buffblock *b_next; /* pointer to next buffblock */ +! char_u b_str[1]; /* contents (actually longer) */ + }; + + /* +--- 471,487 ---- + blocknr_T nt_new_bnum; /* new, positive, number */ + }; + ++ ++ typedef struct buffblock buffblock_T; ++ typedef struct buffheader buffheader_T; ++ + /* + * structure used to store one block of the stuff/redo/recording buffers + */ + struct buffblock + { +! buffblock_T *b_next; /* pointer to next buffblock */ +! char_u b_str[1]; /* contents (actually longer) */ + }; + + /* +*************** +*** 485,494 **** + */ + struct buffheader + { +! struct buffblock bh_first; /* first (dummy) block of list */ +! struct buffblock *bh_curr; /* buffblock for appending */ +! int bh_index; /* index for reading */ +! int bh_space; /* space in bh_curr for appending */ + }; + + /* +--- 489,498 ---- + */ + struct buffheader + { +! buffblock_T bh_first; /* first (dummy) block of list */ +! buffblock_T *bh_curr; /* buffblock for appending */ +! int bh_index; /* index for reading */ +! int bh_space; /* space in bh_curr for appending */ + }; + + /* +*************** +*** 964,970 **** + int typebuf_valid; /* TRUE when save_typebuf valid */ + int old_char; + int old_mod_mask; +! struct buffheader save_stuffbuff; + #ifdef USE_INPUT_BUF + char_u *save_inputbuf; + #endif +--- 968,975 ---- + int typebuf_valid; /* TRUE when save_typebuf valid */ + int old_char; + int old_mod_mask; +! buffheader_T save_readbuf1; +! buffheader_T save_readbuf2; + #ifdef USE_INPUT_BUF + char_u *save_inputbuf; + #endif +*** ../vim-7.4.170/src/version.c 2014-02-11 12:15:39.781950970 +0100 +--- src/version.c 2014-02-11 15:05:17.306106920 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 171, + /**/ + +-- +Linux is just like a wigwam: no Windows, no Gates and an Apache inside. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.172 b/patches/source/vim/patches/7.4.172 new file mode 100644 index 000000000..8ad9fca23 --- /dev/null +++ b/patches/source/vim/patches/7.4.172 @@ -0,0 +1,346 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.172 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.172 +Problem: The blowfish code mentions output feedback, but the code is + actually doing cipher feedback. +Solution: Adjust names and comments. +Files: src/blowfish.c, src/fileio.c, src/proto/blowfish.pro, + src/memline.c + + +*** ../vim-7.4.171/src/blowfish.c 2010-12-17 19:58:18.000000000 +0100 +--- src/blowfish.c 2014-02-11 15:18:12.882118804 +0100 +*************** +*** 6,12 **** + * Do ":help credits" in Vim to see a list of people who contributed. + * See README.txt for an overview of the Vim source code. + * +! * Blowfish encryption for Vim; in Blowfish output feedback mode. + * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh + * Based on http://www.schneier.com/blowfish.html by Bruce Schneier. + */ +--- 6,12 ---- + * Do ":help credits" in Vim to see a list of people who contributed. + * See README.txt for an overview of the Vim source code. + * +! * Blowfish encryption for Vim; in Blowfish cipher feedback mode. + * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh + * Based on http://www.schneier.com/blowfish.html by Bruce Schneier. + */ +*************** +*** 19,25 **** + + #define BF_BLOCK 8 + #define BF_BLOCK_MASK 7 +! #define BF_OFB_LEN (8*(BF_BLOCK)) + + typedef union { + UINT32_T ul[2]; +--- 19,25 ---- + + #define BF_BLOCK 8 + #define BF_BLOCK_MASK 7 +! #define BF_CFB_LEN (8*(BF_BLOCK)) + + typedef union { + UINT32_T ul[2]; +*************** +*** 554,595 **** + return err > 0 ? FAIL : OK; + } + +! /* Output feedback mode. */ + static int randbyte_offset = 0; + static int update_offset = 0; +! static char_u ofb_buffer[BF_OFB_LEN]; /* 64 bytes */ + + /* + * Initialize with seed "iv[iv_len]". + */ + void +! bf_ofb_init(iv, iv_len) + char_u *iv; + int iv_len; + { + int i, mi; + + randbyte_offset = update_offset = 0; +! vim_memset(ofb_buffer, 0, BF_OFB_LEN); + if (iv_len > 0) + { +! mi = iv_len > BF_OFB_LEN ? iv_len : BF_OFB_LEN; + for (i = 0; i < mi; i++) +! ofb_buffer[i % BF_OFB_LEN] ^= iv[i % iv_len]; + } + } + +! #define BF_OFB_UPDATE(c) { \ +! ofb_buffer[update_offset] ^= (char_u)c; \ +! if (++update_offset == BF_OFB_LEN) \ + update_offset = 0; \ + } + + #define BF_RANBYTE(t) { \ + if ((randbyte_offset & BF_BLOCK_MASK) == 0) \ +! bf_e_cblock(&ofb_buffer[randbyte_offset]); \ +! t = ofb_buffer[randbyte_offset]; \ +! if (++randbyte_offset == BF_OFB_LEN) \ + randbyte_offset = 0; \ + } + +--- 554,595 ---- + return err > 0 ? FAIL : OK; + } + +! /* Cipher feedback mode. */ + static int randbyte_offset = 0; + static int update_offset = 0; +! static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */ + + /* + * Initialize with seed "iv[iv_len]". + */ + void +! bf_cfb_init(iv, iv_len) + char_u *iv; + int iv_len; + { + int i, mi; + + randbyte_offset = update_offset = 0; +! vim_memset(cfb_buffer, 0, BF_CFB_LEN); + if (iv_len > 0) + { +! mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN; + for (i = 0; i < mi; i++) +! cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len]; + } + } + +! #define BF_CFB_UPDATE(c) { \ +! cfb_buffer[update_offset] ^= (char_u)c; \ +! if (++update_offset == BF_CFB_LEN) \ + update_offset = 0; \ + } + + #define BF_RANBYTE(t) { \ + if ((randbyte_offset & BF_BLOCK_MASK) == 0) \ +! bf_e_cblock(&cfb_buffer[randbyte_offset]); \ +! t = cfb_buffer[randbyte_offset]; \ +! if (++randbyte_offset == BF_CFB_LEN) \ + randbyte_offset = 0; \ + } + +*************** +*** 610,616 **** + { + ztemp = from[i]; + BF_RANBYTE(t); +! BF_OFB_UPDATE(ztemp); + to[i] = t ^ ztemp; + } + } +--- 610,616 ---- + { + ztemp = from[i]; + BF_RANBYTE(t); +! BF_CFB_UPDATE(ztemp); + to[i] = t ^ ztemp; + } + } +*************** +*** 630,636 **** + { + BF_RANBYTE(t); + *p ^= t; +! BF_OFB_UPDATE(*p); + } + } + +--- 630,636 ---- + { + BF_RANBYTE(t); + *p ^= t; +! BF_CFB_UPDATE(*p); + } + } + +*************** +*** 646,658 **** + + for (p = passwd; *p != NUL; ++p) + { +! BF_OFB_UPDATE(*p); + } + } + + static int save_randbyte_offset; + static int save_update_offset; +! static char_u save_ofb_buffer[BF_OFB_LEN]; + static UINT32_T save_pax[18]; + static UINT32_T save_sbx[4][256]; + +--- 646,658 ---- + + for (p = passwd; *p != NUL; ++p) + { +! BF_CFB_UPDATE(*p); + } + } + + static int save_randbyte_offset; + static int save_update_offset; +! static char_u save_cfb_buffer[BF_CFB_LEN]; + static UINT32_T save_pax[18]; + static UINT32_T save_sbx[4][256]; + +*************** +*** 665,671 **** + { + save_randbyte_offset = randbyte_offset; + save_update_offset = update_offset; +! mch_memmove(save_ofb_buffer, ofb_buffer, BF_OFB_LEN); + mch_memmove(save_pax, pax, 4 * 18); + mch_memmove(save_sbx, sbx, 4 * 4 * 256); + } +--- 665,671 ---- + { + save_randbyte_offset = randbyte_offset; + save_update_offset = update_offset; +! mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN); + mch_memmove(save_pax, pax, 4 * 18); + mch_memmove(save_sbx, sbx, 4 * 4 * 256); + } +*************** +*** 679,685 **** + { + randbyte_offset = save_randbyte_offset; + update_offset = save_update_offset; +! mch_memmove(ofb_buffer, save_ofb_buffer, BF_OFB_LEN); + mch_memmove(pax, save_pax, 4 * 18); + mch_memmove(sbx, save_sbx, 4 * 4 * 256); + } +--- 679,685 ---- + { + randbyte_offset = save_randbyte_offset; + update_offset = save_update_offset; +! mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN); + mch_memmove(pax, save_pax, 4 * 18); + mch_memmove(sbx, save_sbx, 4 * 4 * 256); + } +*** ../vim-7.4.171/src/fileio.c 2013-11-28 18:53:47.000000000 +0100 +--- src/fileio.c 2014-02-11 15:16:57.546117649 +0100 +*************** +*** 2973,2979 **** + else + { + bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len); +! bf_ofb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len); + } + + /* Remove magic number from the text */ +--- 2973,2979 ---- + else + { + bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len); +! bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len); + } + + /* Remove magic number from the text */ +*************** +*** 3025,3031 **** + if (fread(buffer, salt_len + seed_len, 1, fp) != 1) + return FAIL; + bf_key_init(curbuf->b_p_key, buffer, salt_len); +! bf_ofb_init(buffer + salt_len, seed_len); + } + return OK; + } +--- 3025,3031 ---- + if (fread(buffer, salt_len + seed_len, 1, fp) != 1) + return FAIL; + bf_key_init(curbuf->b_p_key, buffer, salt_len); +! bf_cfb_init(buffer + salt_len, seed_len); + } + return OK; + } +*************** +*** 3064,3070 **** + seed = salt + salt_len; + sha2_seed(salt, salt_len, seed, seed_len); + bf_key_init(buf->b_p_key, salt, salt_len); +! bf_ofb_init(seed, seed_len); + } + } + *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len; +--- 3064,3070 ---- + seed = salt + salt_len; + sha2_seed(salt, salt_len, seed, seed_len); + bf_key_init(buf->b_p_key, salt, salt_len); +! bf_cfb_init(seed, seed_len); + } + } + *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len; +*** ../vim-7.4.171/src/proto/blowfish.pro 2013-08-10 13:37:06.000000000 +0200 +--- src/proto/blowfish.pro 2014-02-11 15:18:20.382118919 +0100 +*************** +*** 1,6 **** + /* blowfish.c */ + void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len)); +! void bf_ofb_init __ARGS((char_u *iv, int iv_len)); + void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to)); + void bf_crypt_decode __ARGS((char_u *ptr, long len)); + void bf_crypt_init_keys __ARGS((char_u *passwd)); +--- 1,6 ---- + /* blowfish.c */ + void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len)); +! void bf_cfb_init __ARGS((char_u *iv, int iv_len)); + void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to)); + void bf_crypt_decode __ARGS((char_u *ptr, long len)); + void bf_crypt_init_keys __ARGS((char_u *passwd)); +*** ../vim-7.4.171/src/memline.c 2013-11-28 17:41:41.000000000 +0100 +--- src/memline.c 2014-02-11 15:17:02.190117720 +0100 +*************** +*** 4914,4920 **** + * block for the salt. */ + vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset); + bf_key_init(key, salt, (int)STRLEN(salt)); +! bf_ofb_init(seed, MF_SEED_LEN); + } + } + +--- 4914,4920 ---- + * block for the salt. */ + vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset); + bf_key_init(key, salt, (int)STRLEN(salt)); +! bf_cfb_init(seed, MF_SEED_LEN); + } + } + +*** ../vim-7.4.171/src/version.c 2014-02-11 15:10:38.138111836 +0100 +--- src/version.c 2014-02-11 15:16:01.206116786 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 172, + /**/ + +-- +GALAHAD: No look, really, this isn't nescess ... +PIGLET: We must examine you. +GALAHAD: There's nothing wrong with ... that. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.173 b/patches/source/vim/patches/7.4.173 new file mode 100644 index 000000000..1756bdcd0 --- /dev/null +++ b/patches/source/vim/patches/7.4.173 @@ -0,0 +1,61 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.173 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.173 +Problem: When using scrollbind the cursor can end up below the last line. + (mvxxc) +Solution: Reset w_botfill when scrolling up. (Christian Brabandt) +Files: src/move.c + + +*** ../vim-7.4.172/src/move.c 2012-11-28 18:15:42.000000000 +0100 +--- src/move.c 2014-02-11 15:39:24.758138292 +0100 +*************** +*** 2101,2106 **** +--- 2101,2107 ---- + int used; + lineoff_T loff; + lineoff_T boff; ++ linenr_T old_topline = curwin->w_topline; + + loff.lnum = boff.lnum = curwin->w_cursor.lnum; + #ifdef FEAT_FOLDING +*************** +*** 2156,2161 **** +--- 2157,2164 ---- + curwin->w_topline = topline; + #ifdef FEAT_DIFF + curwin->w_topfill = topfill; ++ if (old_topline > curwin->w_topline + curwin->w_height) ++ curwin->w_botfill = FALSE; + check_topfill(curwin, FALSE); + #endif + curwin->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE|VALID_BOTLINE_AP); +*** ../vim-7.4.172/src/version.c 2014-02-11 15:23:27.942123631 +0100 +--- src/version.c 2014-02-11 15:38:34.562137523 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 173, + /**/ + +-- + GALAHAD hurries to the door and pushes through it. As he leaves the room + we CUT TO the reverse to show that he is now in a room full of bathing + and romping GIRLIES, all innocent, wide-eyed and beautiful. They smile + enchantingly at him as he tries to keep walking without being diverted by + the lovely sights assaulting his eyeballs. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.174 b/patches/source/vim/patches/7.4.174 new file mode 100644 index 000000000..827e65cd8 --- /dev/null +++ b/patches/source/vim/patches/7.4.174 @@ -0,0 +1,94 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.174 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.174 +Problem: Compiler warnings for Python interface. (Tony Mechelynck) +Solution: Add type casts, initialize variable. +Files: src/if_py_both.h + + +*** ../vim-7.4.173/src/if_py_both.h 2014-01-31 14:53:59.715533645 +0100 +--- src/if_py_both.h 2014-02-11 15:57:30.678154932 +0100 +*************** +*** 2368,2374 **** + PyInt numreplaced = 0; + PyInt numadded = 0; + PyInt size; +! listitem_T **lis; + + size = ListLength(self); + +--- 2368,2374 ---- + PyInt numreplaced = 0; + PyInt numadded = 0; + PyInt size; +! listitem_T **lis = NULL; + + size = ListLength(self); + +*************** +*** 2503,2510 **** + { + Py_DECREF(iterator); + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %d " +! "to extended slice"), slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +--- 2503,2510 ---- + { + Py_DECREF(iterator); + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %ld " +! "to extended slice"), (long)slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +*************** +*** 2516,2523 **** + if (step != 1 && i != slicelen) + { + PyErr_FORMAT2(PyExc_ValueError, +! N_("attempt to assign sequence of size %d to extended slice " +! "of size %d"), i, slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +--- 2516,2523 ---- + if (step != 1 && i != slicelen) + { + PyErr_FORMAT2(PyExc_ValueError, +! N_("attempt to assign sequence of size %ld to extended slice " +! "of size %ld"), (long)i, (long)slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +*** ../vim-7.4.173/src/version.c 2014-02-11 15:47:41.382145902 +0100 +--- src/version.c 2014-02-11 15:59:04.646156372 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 174, + /**/ + +-- +DINGO: You must spank her well and after you have spanked her you + may deal with her as you like and then ... spank me. +AMAZING: And spank me! +STUNNER: And me. +LOVELY: And me. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.175 b/patches/source/vim/patches/7.4.175 new file mode 100644 index 000000000..99ca39036 --- /dev/null +++ b/patches/source/vim/patches/7.4.175 @@ -0,0 +1,180 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.175 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.175 +Problem: When a wide library function fails, falling back to the non-wide + function may do the wrong thing. +Solution: Check the platform, when the wide function is supported don't fall + back to the non-wide function. (Ken Takata) +Files: src/os_mswin.c, src/os_win32.c + + +*** ../vim-7.4.174/src/os_mswin.c 2014-01-14 12:18:41.000000000 +0100 +--- src/os_mswin.c 2014-02-11 17:02:03.002214267 +0100 +*************** +*** 648,654 **** + { + n = wstat_symlink_aware(wp, (struct _stat *)stp); + vim_free(wp); +! if (n >= 0) + return n; + /* Retry with non-wide function (for Windows 98). Can't use + * GetLastError() here and it's unclear what errno gets set to if +--- 648,654 ---- + { + n = wstat_symlink_aware(wp, (struct _stat *)stp); + vim_free(wp); +! if (n >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT) + return n; + /* Retry with non-wide function (for Windows 98). Can't use + * GetLastError() here and it's unclear what errno gets set to if +*************** +*** 815,822 **** + { + n = _wchdir(p); + vim_free(p); +! if (n == 0) +! return 0; + /* Retry with non-wide function (for Windows 98). */ + } + } +--- 815,822 ---- + { + n = _wchdir(p); + vim_free(p); +! if (n == 0 || g_PlatformId == VER_PLATFORM_WIN32_NT) +! return n; + /* Retry with non-wide function (for Windows 98). */ + } + } +*************** +*** 1942,1949 **** + + shortcut_errorw: + vim_free(p); +! if (hr == S_OK) +! goto shortcut_end; + } + } + /* Retry with non-wide function (for Windows 98). */ +--- 1942,1948 ---- + + shortcut_errorw: + vim_free(p); +! goto shortcut_end; + } + } + /* Retry with non-wide function (for Windows 98). */ +*** ../vim-7.4.174/src/os_win32.c 2014-02-05 14:02:23.590105699 +0100 +--- src/os_win32.c 2014-02-11 16:59:26.810211874 +0100 +*************** +*** 2877,2882 **** +--- 2877,2884 ---- + return OK; + } + } ++ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) ++ return FAIL; + /* Retry with non-wide function (for Windows 98). */ + } + #endif +*************** +*** 2917,2922 **** +--- 2919,2926 ---- + return; + } + } ++ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) ++ return; + /* Retry with non-wide function (for Windows 98). */ + } + #endif +*************** +*** 2966,2971 **** +--- 2970,2977 ---- + return OK; + } + } ++ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) ++ return FAIL; + /* Retry with non-wide function (for Windows 98). */ + } + #endif +*************** +*** 3006,3012 **** + { + n = _wchmod(p, perm); + vim_free(p); +! if (n == -1 && GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) + return FAIL; + /* Retry with non-wide function (for Windows 98). */ + } +--- 3012,3018 ---- + { + n = _wchmod(p, perm); + vim_free(p); +! if (n == -1 && g_PlatformId == VER_PLATFORM_WIN32_NT) + return FAIL; + /* Retry with non-wide function (for Windows 98). */ + } +*************** +*** 6048,6054 **** + { + f = _wopen(wn, flags, mode); + vim_free(wn); +! if (f >= 0) + return f; + /* Retry with non-wide function (for Windows 98). Can't use + * GetLastError() here and it's unclear what errno gets set to if +--- 6054,6060 ---- + { + f = _wopen(wn, flags, mode); + vim_free(wn); +! if (f >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT) + return f; + /* Retry with non-wide function (for Windows 98). Can't use + * GetLastError() here and it's unclear what errno gets set to if +*************** +*** 6099,6105 **** + _set_fmode(oldMode); + # endif + +! if (f != NULL) + return f; + /* Retry with non-wide function (for Windows 98). Can't use + * GetLastError() here and it's unclear what errno gets set to if +--- 6105,6111 ---- + _set_fmode(oldMode); + # endif + +! if (f != NULL || g_PlatformId == VER_PLATFORM_WIN32_NT) + return f; + /* Retry with non-wide function (for Windows 98). Can't use + * GetLastError() here and it's unclear what errno gets set to if +*** ../vim-7.4.174/src/version.c 2014-02-11 16:00:31.198157698 +0100 +--- src/version.c 2014-02-11 16:33:10.002187713 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 175, + /**/ + +-- +DINGO: And after the spanking ... the oral sex. +GALAHAD: Oh, dear! Well, I... +GIRLS: The oral sex ... The oral sex. +GALAHAD: Well, I suppose I could stay a BIT longer. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.176 b/patches/source/vim/patches/7.4.176 new file mode 100644 index 000000000..ccde6b682 --- /dev/null +++ b/patches/source/vim/patches/7.4.176 @@ -0,0 +1,91 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.176 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.176 +Problem: Dictionary.update() thows an error when used without arguments. + Python programmers don't expect that. +Solution: Make Dictionary.update() without arguments do nothing. (ZyX) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test87.in + + +*** ../vim-7.4.175/src/if_py_both.h 2014-02-11 16:00:31.198157698 +0100 +--- src/if_py_both.h 2014-02-11 18:41:12.774305435 +0100 +*************** +*** 1918,1928 **** + } + else + { +! PyObject *obj; + +! if (!PyArg_ParseTuple(args, "O", &obj)) + return NULL; + + if (PyObject_HasAttrString(obj, "keys")) + return DictionaryUpdate(self, NULL, obj); + else +--- 1919,1935 ---- + } + else + { +! PyObject *obj = NULL; + +! if (!PyArg_ParseTuple(args, "|O", &obj)) + return NULL; + ++ if (obj == NULL) ++ { ++ Py_INCREF(Py_None); ++ return Py_None; ++ } ++ + if (PyObject_HasAttrString(obj, "keys")) + return DictionaryUpdate(self, NULL, obj); + else +*** ../vim-7.4.175/src/testdir/test86.in 2014-01-14 16:54:53.000000000 +0100 +--- src/testdir/test86.in 2014-02-11 17:25:08.414235496 +0100 +*************** +*** 39,44 **** +--- 39,45 ---- + py << EOF + d=vim.bindeval('d') + d['1']='asd' ++ d.update() # Must not do anything, including throwing errors + d.update(b=[1, 2, f]) + d.update((('-1', {'a': 1}),)) + d.update({'0': -1}) +*** ../vim-7.4.175/src/testdir/test87.in 2014-01-14 16:54:53.000000000 +0100 +--- src/testdir/test87.in 2014-02-11 17:25:12.602235560 +0100 +*************** +*** 33,38 **** +--- 33,39 ---- + py3 << EOF + d=vim.bindeval('d') + d['1']='asd' ++ d.update() # Must not do anything, including throwing errors + d.update(b=[1, 2, f]) + d.update((('-1', {'a': 1}),)) + d.update({'0': -1}) +*** ../vim-7.4.175/src/version.c 2014-02-11 17:05:57.282217857 +0100 +--- src/version.c 2014-02-11 18:46:37.518310411 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 176, + /**/ + +-- +"Intelligence has much less practical application than you'd think." + -- Scott Adams, Dilbert. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.177 b/patches/source/vim/patches/7.4.177 new file mode 100644 index 000000000..b943a1901 --- /dev/null +++ b/patches/source/vim/patches/7.4.177 @@ -0,0 +1,48 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.177 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.177 +Problem: Compiler warning for unused variable. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/move.c + + +*** ../vim-7.4.176/src/move.c 2014-02-11 15:47:41.382145902 +0100 +--- src/move.c 2014-02-11 18:13:57.378280376 +0100 +*************** +*** 2101,2107 **** +--- 2101,2109 ---- + int used; + lineoff_T loff; + lineoff_T boff; ++ #ifdef FEAT_DIFF + linenr_T old_topline = curwin->w_topline; ++ #endif + + loff.lnum = boff.lnum = curwin->w_cursor.lnum; + #ifdef FEAT_FOLDING +*** ../vim-7.4.176/src/version.c 2014-02-11 18:47:18.682311042 +0100 +--- src/version.c 2014-02-11 18:57:55.110320794 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 177, + /**/ + +-- +The psychic said, "God bless you." I said, "I didn't sneeze." She +looked deep into my eyes and said, "You will, eventually." And, damn +if she wasn't right. Two days later, I sneezed. --Ellen Degeneres + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.178 b/patches/source/vim/patches/7.4.178 new file mode 100644 index 000000000..36e2eecea --- /dev/null +++ b/patches/source/vim/patches/7.4.178 @@ -0,0 +1,62 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.178 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.178 +Problem: The J command does not update '[ and '] marks. (William Gardner) +Solution: Set the marks. (Christian Brabandt) +Files: src/ops.c + + +*** ../vim-7.4.177/src/ops.c 2014-01-14 12:33:32.000000000 +0100 +--- src/ops.c 2014-02-11 19:22:46.538343647 +0100 +*************** +*** 4452,4457 **** +--- 4452,4463 ---- + for (t = 0; t < count; ++t) + { + curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t)); ++ if (t == 0) ++ { ++ /* Set the '[ mark. */ ++ curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum; ++ curwin->w_buffer->b_op_start.col = (colnr_T)STRLEN(curr); ++ } + #if defined(FEAT_COMMENTS) || defined(PROTO) + if (remove_comments) + { +*************** +*** 4568,4573 **** +--- 4574,4583 ---- + } + ml_replace(curwin->w_cursor.lnum, newp, FALSE); + ++ /* Set the '] mark. */ ++ curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum; ++ curwin->w_buffer->b_op_end.col = (colnr_T)STRLEN(newp); ++ + /* Only report the change in the first line here, del_lines() will report + * the deleted line. */ + changed_lines(curwin->w_cursor.lnum, currsize, +*** ../vim-7.4.177/src/version.c 2014-02-11 18:58:05.102320947 +0100 +--- src/version.c 2014-02-11 19:23:59.722344768 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 178, + /**/ + +-- +Eight Megabytes And Continually Swapping. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.179 b/patches/source/vim/patches/7.4.179 new file mode 100644 index 000000000..29b366eec --- /dev/null +++ b/patches/source/vim/patches/7.4.179 @@ -0,0 +1,57 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.179 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.179 +Problem: Warning for type-punned pointer. (Tony Mechelynck) +Solution: Use intermediate variable. +Files: src/if_py_both.h + + +*** ../vim-7.4.178/src/if_py_both.h 2014-02-11 18:47:18.678311042 +0100 +--- src/if_py_both.h 2014-02-11 18:41:12.774305435 +0100 +*************** +*** 1617,1624 **** + } + else if (flags & DICT_FLAG_RETURN_BOOL) + { +! Py_INCREF(Py_True); +! return Py_True; + } + + di = dict_lookup(hi); +--- 1617,1625 ---- + } + else if (flags & DICT_FLAG_RETURN_BOOL) + { +! ret = Py_True; +! Py_INCREF(ret); +! return ret; + } + + di = dict_lookup(hi); +*** ../vim-7.4.178/src/version.c 2014-02-11 19:33:03.358353098 +0100 +--- src/version.c 2014-02-12 22:08:16.795819706 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 179, + /**/ + +-- +Luxury. We used to have to get out of the lake at three o'clock in the +morning, clean the lake, eat a handful of hot gravel, go to work at the +mill every day for tuppence a month, come home, and Dad would beat us +around the head and neck with a broken bottle, if we were LUCKY! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.180 b/patches/source/vim/patches/7.4.180 new file mode 100644 index 000000000..4fa07699d --- /dev/null +++ b/patches/source/vim/patches/7.4.180 @@ -0,0 +1,76 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.180 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.180 (after 7.4.174) +Problem: Older Python versions don't support %ld. +Solution: Use %d instead. (ZyX) +Files: src/if_py_both.h + + +*** ../vim-7.4.179/src/if_py_both.h 2014-02-12 22:08:46.055820155 +0100 +--- src/if_py_both.h 2014-02-15 15:56:44.133904982 +0100 +*************** +*** 2510,2517 **** + { + Py_DECREF(iterator); + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %ld " +! "to extended slice"), (long)slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +--- 2510,2517 ---- + { + Py_DECREF(iterator); + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %d " +! "to extended slice"), (int) slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +*************** +*** 2523,2530 **** + if (step != 1 && i != slicelen) + { + PyErr_FORMAT2(PyExc_ValueError, +! N_("attempt to assign sequence of size %ld to extended slice " +! "of size %ld"), (long)i, (long)slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +--- 2523,2530 ---- + if (step != 1 && i != slicelen) + { + PyErr_FORMAT2(PyExc_ValueError, +! N_("attempt to assign sequence of size %d to extended slice " +! "of size %d"), (int) i, (int) slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); + return -1; +*** ../vim-7.4.179/src/version.c 2014-02-12 22:08:46.059820155 +0100 +--- src/version.c 2014-02-15 15:58:13.877904839 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 180, + /**/ + +-- + LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and + hacks him to the floor. Blood. Swashbuckling music (perhaps). + LAUNCELOT races through into the castle screaming. +SECOND SENTRY: Hey! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.181 b/patches/source/vim/patches/7.4.181 new file mode 100644 index 000000000..3668d086b --- /dev/null +++ b/patches/source/vim/patches/7.4.181 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.181 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.181 +Problem: When using 'pastetoggle' the status lines are not updated. (Samuel + Ferencik, Jan Christoph Ebersbach) +Solution: Update the status lines. (Nobuhiro Takasaki) +Files: src/getchar.c + + +*** ../vim-7.4.180/src/getchar.c 2014-02-11 15:10:38.130111835 +0100 +--- src/getchar.c 2014-02-15 16:14:34.249903278 +0100 +*************** +*** 406,412 **** + } + + /* +! * Prepare the read buffers for reading (if they contains something). + */ + static void + start_stuff() +--- 406,412 ---- + } + + /* +! * Prepare the read buffers for reading (if they contain something). + */ + static void + start_stuff() +*************** +*** 2302,2307 **** +--- 2302,2311 ---- + msg_row = Rows - 1; + msg_clr_eos(); /* clear ruler */ + } ++ #ifdef FEAT_WINDOWS ++ status_redraw_all(); ++ redraw_statuslines(); ++ #endif + showmode(); + setcursor(); + continue; +*** ../vim-7.4.180/src/version.c 2014-02-15 15:58:55.081904773 +0100 +--- src/version.c 2014-02-15 16:12:22.329903488 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 181, + /**/ + +-- +FIRST GUARD: Ah! Now ... we're not allowed to ... + SIR LAUNCELOT runs him through, grabs his spear and stabs the other + guard who collapses in a heap. Hiccoughs quietly. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.182 b/patches/source/vim/patches/7.4.182 new file mode 100644 index 000000000..72b41483d --- /dev/null +++ b/patches/source/vim/patches/7.4.182 @@ -0,0 +1,56 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.182 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.182 +Problem: Building with mzscheme and racket does not work. (David Chimay) +Solution: Adjust autoconf. (Sergey Khorev) +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.4.181/src/configure.in 2013-11-21 12:17:46.000000000 +0100 +--- src/configure.in 2014-02-15 16:21:41.705902597 +0100 +*************** +*** 802,810 **** +--- 802,820 ---- + AC_MSG_CHECKING(for mzscheme_base.c) + if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then + MZSCHEME_EXTRA="mzscheme_base.c" ++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" ++ MZSCHEME_MOD="++lib scheme/base" + else + if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then + MZSCHEME_EXTRA="mzscheme_base.c" ++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" ++ MZSCHEME_MOD="++lib scheme/base" ++ else ++ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then ++ MZSCHEME_EXTRA="mzscheme_base.c" ++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool" ++ MZSCHEME_MOD="" ++ fi + fi + fi + if test "X$MZSCHEME_EXTRA" != "X" ; then +*** ../vim-7.4.181/src/version.c 2014-02-15 16:17:02.213903042 +0100 +--- src/version.c 2014-02-15 16:23:42.505902405 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 182, + /**/ + +-- +Overflow on /dev/null, please empty the bit bucket. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.183 b/patches/source/vim/patches/7.4.183 new file mode 100644 index 000000000..f23061cfc --- /dev/null +++ b/patches/source/vim/patches/7.4.183 @@ -0,0 +1,49 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.183 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.183 +Problem: MSVC Visual Studio update not supported. +Solution: Add version number. (Mike William) +Files: src/Make_mvc.mak + + +*** ../vim-7.4.182/src/Make_mvc.mak 2013-12-14 11:50:28.000000000 +0100 +--- src/Make_mvc.mak 2014-02-15 19:25:27.333885042 +0100 +*************** +*** 424,429 **** +--- 424,432 ---- + !if "$(_NMAKE_VER)" == "11.00.60610.1" + MSVCVER = 11.0 + !endif ++ !if "$(_NMAKE_VER)" == "11.00.61030.0" ++ MSVCVER = 11.0 ++ !endif + !if "$(_NMAKE_VER)" == "12.00.21005.1" + MSVCVER = 12.0 + !endif +*** ../vim-7.4.182/src/version.c 2014-02-15 17:18:56.953897128 +0100 +--- src/version.c 2014-02-15 19:31:11.337884494 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 183, + /**/ + +-- +FATHER: Did you kill all those guards? +LAUNCELOT: Yes ... I'm very sorry ... +FATHER: They cost fifty pounds each! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.184 b/patches/source/vim/patches/7.4.184 new file mode 100644 index 000000000..d6ceb64af --- /dev/null +++ b/patches/source/vim/patches/7.4.184 @@ -0,0 +1,250 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.184 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.184 +Problem: match() does not work properly with a {count} argument. +Solution: Compute the length once and update it. Quit the loop when at the + end. (Hirohito Higashi) +Files: src/eval.c, src/testdir/test53.in, src/testdir/test53.ok + + +*** ../vim-7.4.183/src/eval.c 2014-02-05 22:13:02.366556787 +0100 +--- src/eval.c 2014-02-22 22:13:26.644906020 +0100 +*************** +*** 8014,8020 **** + {"log10", 1, 1, f_log10}, + #endif + #ifdef FEAT_LUA +! {"luaeval", 1, 2, f_luaeval}, + #endif + {"map", 2, 2, f_map}, + {"maparg", 1, 4, f_maparg}, +--- 8014,8020 ---- + {"log10", 1, 1, f_log10}, + #endif + #ifdef FEAT_LUA +! {"luaeval", 1, 2, f_luaeval}, + #endif + {"map", 2, 2, f_map}, + {"maparg", 1, 4, f_maparg}, +*************** +*** 13905,13910 **** +--- 13905,13911 ---- + int type; + { + char_u *str = NULL; ++ long len = 0; + char_u *expr = NULL; + char_u *pat; + regmatch_T regmatch; +*************** +*** 13944,13950 **** +--- 13945,13954 ---- + li = l->lv_first; + } + else ++ { + expr = str = get_tv_string(&argvars[0]); ++ len = (long)STRLEN(str); ++ } + + pat = get_tv_string_buf_chk(&argvars[1], patbuf); + if (pat == NULL) +*************** +*** 13968,13974 **** + { + if (start < 0) + start = 0; +! if (start > (long)STRLEN(str)) + goto theend; + /* When "count" argument is there ignore matches before "start", + * otherwise skip part of the string. Differs when pattern is "^" +--- 13972,13978 ---- + { + if (start < 0) + start = 0; +! if (start > len) + goto theend; + /* When "count" argument is there ignore matches before "start", + * otherwise skip part of the string. Differs when pattern is "^" +*************** +*** 13976,13982 **** +--- 13980,13989 ---- + if (argvars[3].v_type != VAR_UNKNOWN) + startcol = start; + else ++ { + str += start; ++ len -= start; ++ } + } + + if (argvars[3].v_type != VAR_UNKNOWN) +*************** +*** 14026,14031 **** +--- 14033,14044 ---- + #else + startcol = (colnr_T)(regmatch.startp[0] + 1 - str); + #endif ++ if (startcol > (colnr_T)len ++ || str + startcol <= regmatch.startp[0]) ++ { ++ match = FALSE; ++ break; ++ } + } + } + +*** ../vim-7.4.183/src/testdir/test53.in 2013-10-02 21:54:57.000000000 +0200 +--- src/testdir/test53.in 2014-02-22 22:08:24.260906501 +0100 +*************** +*** 4,9 **** +--- 4,11 ---- + + Also test match() and matchstr() + ++ Also test the gn command and repeating it. ++ + STARTTEST + :so small.vim + /^start:/ +*************** +*** 28,33 **** +--- 30,57 ---- + :put =matchstr(\"abcd\", \".\", 0, -1) " a + :put =match(\"abcd\", \".\", 0, 5) " -1 + :put =match(\"abcd\", \".\", 0, -1) " 0 ++ :put =match('abc', '.', 0, 1) " 0 ++ :put =match('abc', '.', 0, 2) " 1 ++ :put =match('abc', '.', 0, 3) " 2 ++ :put =match('abc', '.', 0, 4) " -1 ++ :put =match('abc', '.', 1, 1) " 1 ++ :put =match('abc', '.', 2, 1) " 2 ++ :put =match('abc', '.', 3, 1) " -1 ++ :put =match('abc', '$', 0, 1) " 3 ++ :put =match('abc', '$', 0, 2) " -1 ++ :put =match('abc', '$', 1, 1) " 3 ++ :put =match('abc', '$', 2, 1) " 3 ++ :put =match('abc', '$', 3, 1) " 3 ++ :put =match('abc', '$', 4, 1) " -1 ++ :put =match('abc', '\zs', 0, 1) " 0 ++ :put =match('abc', '\zs', 0, 2) " 1 ++ :put =match('abc', '\zs', 0, 3) " 2 ++ :put =match('abc', '\zs', 0, 4) " 3 ++ :put =match('abc', '\zs', 0, 5) " -1 ++ :put =match('abc', '\zs', 1, 1) " 1 ++ :put =match('abc', '\zs', 2, 1) " 2 ++ :put =match('abc', '\zs', 3, 1) " 3 ++ :put =match('abc', '\zs', 4, 1) " -1 + /^foobar + gncsearchmatch/one\_s*two\_s + :1 +*************** +*** 49,54 **** +--- 73,84 ---- + :" Make sure there is no other match y uppercase. + /x59 + gggnd ++ :" test repeating dgn ++ /^Johnny ++ ggdgn. ++ :" test repeating gUgn ++ /^Depp ++ gggUgn. + :/^start:/,/^end:/wq! test.out + ENDTEST + +*************** +*** 81,84 **** +--- 111,123 ---- + Y + text + Y ++ --1 ++ Johnny ++ --2 ++ Johnny ++ --3 ++ Depp ++ --4 ++ Depp ++ --5 + end: +*** ../vim-7.4.183/src/testdir/test53.ok 2013-10-02 21:54:57.000000000 +0200 +--- src/testdir/test53.ok 2014-02-22 22:08:24.264906501 +0100 +*************** +*** 18,23 **** +--- 18,45 ---- + a + -1 + 0 ++ 0 ++ 1 ++ 2 ++ -1 ++ 1 ++ 2 ++ -1 ++ 3 ++ -1 ++ 3 ++ 3 ++ 3 ++ -1 ++ 0 ++ 1 ++ 2 ++ 3 ++ -1 ++ 1 ++ 2 ++ 3 ++ -1 + SEARCH: + searchmatch + abcdx | | abcdx +*************** +*** 30,33 **** +--- 52,64 ---- + + text + Y ++ --1 ++ ++ --2 ++ ++ --3 ++ DEPP ++ --4 ++ DEPP ++ --5 + end: +*** ../vim-7.4.183/src/version.c 2014-02-15 19:47:46.685882910 +0100 +--- src/version.c 2014-02-22 22:10:49.604906270 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 184, + /**/ + +-- +WOMAN: I didn't know we had a king. I thought we were an autonomous + collective. +DENNIS: You're fooling yourself. We're living in a dictatorship. A + self-perpetuating autocracy in which the working classes-- +WOMAN: Oh there you go, bringing class into it again. +DENNIS: That's what it's all about if only people would-- + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.185 b/patches/source/vim/patches/7.4.185 new file mode 100644 index 000000000..b326a16df --- /dev/null +++ b/patches/source/vim/patches/7.4.185 @@ -0,0 +1,64 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.185 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.185 +Problem: Clang gives warnings. +Solution: Adjust how bigness is set. (Dominique Pelle) +Files: src/ex_cmds.c + + +*** ../vim-7.4.184/src/ex_cmds.c 2014-02-11 12:15:39.781950970 +0100 +--- src/ex_cmds.c 2014-02-22 22:25:45.800904843 +0100 +*************** +*** 4099,4110 **** + * 'scroll' */ + if (eap->forceit) + bigness = curwin->w_height; +- else if (firstwin == lastwin) +- bigness = curwin->w_p_scr * 2; + #ifdef FEAT_WINDOWS +! else + bigness = curwin->w_height - 3; + #endif + if (bigness < 1) + bigness = 1; + +--- 4099,4110 ---- + * 'scroll' */ + if (eap->forceit) + bigness = curwin->w_height; + #ifdef FEAT_WINDOWS +! else if (firstwin != lastwin) + bigness = curwin->w_height - 3; + #endif ++ else ++ bigness = curwin->w_p_scr * 2; + if (bigness < 1) + bigness = 1; + +*** ../vim-7.4.184/src/version.c 2014-02-22 22:18:39.536905522 +0100 +--- src/version.c 2014-02-22 22:22:51.912905120 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 185, + /**/ + +-- +There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU, +Linux, etc, and those who know COBOL. It gets very difficult for me at +parties, not knowing which group to socialise with :-) + Sitaram Chamarty + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.186 b/patches/source/vim/patches/7.4.186 new file mode 100644 index 000000000..84f0a3133 --- /dev/null +++ b/patches/source/vim/patches/7.4.186 @@ -0,0 +1,164 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.186 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.186 (after 7.4.085) +Problem: Insert in Visual mode sometimes gives incorrect results. + (Dominique Pelle) +Solution: Remember the original insert start position. (Christian Brabandt, + Dominique Pelle) +Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h + + +*** ../vim-7.4.185/src/edit.c 2014-01-23 22:45:54.608127182 +0100 +--- src/edit.c 2014-02-22 22:43:52.820903112 +0100 +*************** +*** 264,269 **** +--- 264,270 ---- + + static colnr_T Insstart_textlen; /* length of line when insert started */ + static colnr_T Insstart_blank_vcol; /* vcol for first inserted blank */ ++ static int update_Insstart_orig = TRUE; /* set Insstart_orig to Insstart */ + + static char_u *last_insert = NULL; /* the text of the previous insert, + K_SPECIAL and CSI are escaped */ +*************** +*** 340,345 **** +--- 341,349 ---- + * error message */ + check_for_delay(TRUE); + ++ /* set Insstart_orig to Insstart */ ++ update_Insstart_orig = TRUE; ++ + #ifdef HAVE_SANDBOX + /* Don't allow inserting in the sandbox. */ + if (sandbox != 0) +*************** +*** 631,636 **** +--- 635,643 ---- + if (arrow_used) /* don't repeat insert when arrow key used */ + count = 0; + ++ if (update_Insstart_orig) ++ Insstart_orig = Insstart; ++ + if (stop_insert_mode) + { + /* ":stopinsert" used or 'insertmode' reset */ +*************** +*** 6923,6928 **** +--- 6930,6936 ---- + if (end_insert_pos != NULL) + { + curbuf->b_op_start = Insstart; ++ curbuf->b_op_start_orig = Insstart_orig; + curbuf->b_op_end = *end_insert_pos; + } + } +*************** +*** 8257,8262 **** +--- 8265,8271 ---- + + /* Need to reset Insstart, esp. because a BS that joins + * a line to the previous one must save for undo. */ ++ update_Insstart_orig = FALSE; + Insstart = curwin->w_cursor; + break; + +*** ../vim-7.4.185/src/globals.h 2014-02-11 15:10:38.130111835 +0100 +--- src/globals.h 2014-02-22 23:02:01.644901378 +0100 +*************** +*** 752,757 **** +--- 752,763 ---- + */ + EXTERN pos_T Insstart; /* This is where the latest + * insert/append mode started. */ ++ ++ /* This is where the latest insert/append mode started. In contrast to ++ * Insstart, this won't be reset by certain keys and is needed for ++ * op_insert(), to detect correctly where inserting by the user started. */ ++ EXTERN pos_T Insstart_orig; ++ + #ifdef FEAT_VREPLACE + /* + * Stuff for VREPLACE mode. +*** ../vim-7.4.185/src/ops.c 2014-02-11 19:33:03.358353098 +0100 +--- src/ops.c 2014-02-22 22:39:47.588903502 +0100 +*************** +*** 2643,2662 **** + + /* The user may have moved the cursor before inserting something, try + * to adjust the block for that. */ +! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX) + { + if (oap->op_type == OP_INSERT +! && oap->start.col != curbuf->b_op_start.col) + { +! oap->start.col = curbuf->b_op_start.col; + pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) + - oap->start_vcol; + oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); + } + else if (oap->op_type == OP_APPEND +! && oap->end.col >= curbuf->b_op_start.col) + { +! oap->start.col = curbuf->b_op_start.col; + /* reset pre_textlen to the value of OP_INSERT */ + pre_textlen += bd.textlen; + pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) +--- 2643,2662 ---- + + /* The user may have moved the cursor before inserting something, try + * to adjust the block for that. */ +! if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX) + { + if (oap->op_type == OP_INSERT +! && oap->start.col != curbuf->b_op_start_orig.col) + { +! oap->start.col = curbuf->b_op_start_orig.col; + pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) + - oap->start_vcol; + oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); + } + else if (oap->op_type == OP_APPEND +! && oap->end.col >= curbuf->b_op_start_orig.col) + { +! oap->start.col = curbuf->b_op_start_orig.col; + /* reset pre_textlen to the value of OP_INSERT */ + pre_textlen += bd.textlen; + pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) +*** ../vim-7.4.185/src/structs.h 2014-02-11 15:10:38.138111836 +0100 +--- src/structs.h 2014-02-22 22:39:47.588903502 +0100 +*************** +*** 1449,1454 **** +--- 1449,1455 ---- + * start and end of an operator, also used for '[ and '] + */ + pos_T b_op_start; ++ pos_T b_op_start_orig; /* used for Insstart_orig */ + pos_T b_op_end; + + #ifdef FEAT_VIMINFO +*** ../vim-7.4.185/src/version.c 2014-02-22 22:27:20.772904692 +0100 +--- src/version.c 2014-02-22 22:39:08.932903564 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 186, + /**/ + +-- +Individualists unite! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.187 b/patches/source/vim/patches/7.4.187 new file mode 100644 index 000000000..122056e47 --- /dev/null +++ b/patches/source/vim/patches/7.4.187 @@ -0,0 +1,136 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.187 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.187 +Problem: Delete that crosses line break splits multi-byte character. +Solution: Advance a character instead of a byte. (Cade Foster) +Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok + + +*** ../vim-7.4.186/src/normal.c 2014-02-11 15:10:38.134111836 +0100 +--- src/normal.c 2014-02-22 23:41:12.472897635 +0100 +*************** +*** 21,27 **** + static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ + static linenr_T resel_VIsual_line_count; /* number of lines */ + static colnr_T resel_VIsual_vcol; /* nr of cols or end col */ +! static int VIsual_mode_orig = NUL; /* type of Visual mode, that user entered */ + + static int restart_VIsual_select = 0; + #endif +--- 21,27 ---- + static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ + static linenr_T resel_VIsual_line_count; /* number of lines */ + static colnr_T resel_VIsual_vcol; /* nr of cols or end col */ +! static int VIsual_mode_orig = NUL; /* saved Visual mode */ + + static int restart_VIsual_select = 0; + #endif +*************** +*** 6202,6209 **** + || cap->oap->op_type == OP_CHANGE) + && !lineempty(curwin->w_cursor.lnum)) + { +! if (*ml_get_cursor() != NUL) +! ++curwin->w_cursor.col; + cap->retval |= CA_NO_ADJ_OP_END; + } + continue; +--- 6202,6218 ---- + || cap->oap->op_type == OP_CHANGE) + && !lineempty(curwin->w_cursor.lnum)) + { +! char_u *cp = ml_get_cursor(); +! +! if (*cp != NUL) +! { +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! curwin->w_cursor.col += (*mb_ptr2len)(cp); +! else +! #endif +! ++curwin->w_cursor.col; +! } + cap->retval |= CA_NO_ADJ_OP_END; + } + continue; +*************** +*** 9482,9488 **** + # ifdef FEAT_CLIPBOARD + adjust_clip_reg(®name); + # endif +! if (regname == 0 || regname == '"' + || VIM_ISDIGIT(regname) || regname == '-' + # ifdef FEAT_CLIPBOARD + || (clip_unnamed && (regname == '*' || regname == '+')) +--- 9491,9497 ---- + # ifdef FEAT_CLIPBOARD + adjust_clip_reg(®name); + # endif +! if (regname == 0 || regname == '"' + || VIM_ISDIGIT(regname) || regname == '-' + # ifdef FEAT_CLIPBOARD + || (clip_unnamed && (regname == '*' || regname == '+')) +*** ../vim-7.4.186/src/testdir/test69.in 2013-11-02 23:29:17.000000000 +0100 +--- src/testdir/test69.in 2014-02-22 23:38:50.508897861 +0100 +*************** +*** 155,160 **** +--- 155,170 ---- + ï½ï½b + + STARTTEST ++ :set whichwrap+=h ++ /^x ++ dh ++ :set whichwrap-=h ++ ENDTEST ++ ++ á ++ x ++ ++ STARTTEST + :let a = '.é.' " one char of two bytes + :let b = '.eÌ.' " normal e with composing char + /^byteidx +*** ../vim-7.4.186/src/testdir/test69.ok 2013-11-02 23:29:17.000000000 +0100 +--- src/testdir/test69.ok 2014-02-22 23:38:53.752897856 +0100 +*************** +*** 150,155 **** +--- 150,158 ---- + aaa + + ++ áx ++ ++ + byteidx + [0, 1, 3, 4, -1] + [0, 1, 4, 5, -1] +*** ../vim-7.4.186/src/version.c 2014-02-22 23:03:48.716901208 +0100 +--- src/version.c 2014-02-22 23:30:24.412898667 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 187, + /**/ + +-- +ARTHUR: Then who is your lord? +WOMAN: We don't have a lord. +ARTHUR: What? +DENNIS: I told you. We're an anarcho-syndicalist commune. We take it in + turns to act as a sort of executive officer for the week. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.188 b/patches/source/vim/patches/7.4.188 new file mode 100644 index 000000000..b2b4fa12f --- /dev/null +++ b/patches/source/vim/patches/7.4.188 @@ -0,0 +1,617 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.188 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.188 +Problem: SIZEOF_LONG clashes with similar defines in header files. +Solution: Rename to a name starting with VIM_. Also for SIZEOF_INT. +Files: src/if_ruby.c, src/vim.h, src/configure.in, src/auto/configure, + src/config.h.in, src/fileio.c, src/if_python.c, src/message.c, + src/spell.c, src/feature.h, src/os_os2_cfg.h, src/os_vms_conf.h, + src/os_win16.h, src/structs.h + + +*** ../vim-7.4.187/src/if_ruby.c 2014-02-05 22:41:11.430582669 +0100 +--- src/if_ruby.c 2014-02-23 21:55:03.516770208 +0100 +*************** +*** 89,97 **** + #endif + + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ +! && SIZEOF_INT < SIZEOF_LONG + /* Ruby 2.0 defines a number of static functions which use rb_fix2int and +! * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */ + # define rb_fix2int rb_fix2int_stub + # define rb_num2int rb_num2int_stub + #endif +--- 89,97 ---- + #endif + + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ +! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG + /* Ruby 2.0 defines a number of static functions which use rb_fix2int and +! * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */ + # define rb_fix2int rb_fix2int_stub + # define rb_num2int rb_num2int_stub + #endif +*************** +*** 202,208 **** + # define rb_hash_new dll_rb_hash_new + # define rb_inspect dll_rb_inspect + # define rb_int2inum dll_rb_int2inum +! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */ + # define rb_fix2int dll_rb_fix2int + # define rb_num2int dll_rb_num2int + # define rb_num2uint dll_rb_num2uint +--- 202,208 ---- + # define rb_hash_new dll_rb_hash_new + # define rb_inspect dll_rb_inspect + # define rb_int2inum dll_rb_int2inum +! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ + # define rb_fix2int dll_rb_fix2int + # define rb_num2int dll_rb_num2int + # define rb_num2uint dll_rb_num2uint +*************** +*** 310,316 **** + static VALUE (*dll_rb_hash_new) (void); + static VALUE (*dll_rb_inspect) (VALUE); + static VALUE (*dll_rb_int2inum) (long); +! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */ + static long (*dll_rb_fix2int) (VALUE); + static long (*dll_rb_num2int) (VALUE); + static unsigned long (*dll_rb_num2uint) (VALUE); +--- 310,316 ---- + static VALUE (*dll_rb_hash_new) (void); + static VALUE (*dll_rb_inspect) (VALUE); + static VALUE (*dll_rb_int2inum) (long); +! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ + static long (*dll_rb_fix2int) (VALUE); + static long (*dll_rb_num2int) (VALUE); + static unsigned long (*dll_rb_num2uint) (VALUE); +*************** +*** 393,399 **** + return dll_rb_int2big(x); + } + # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ +! && SIZEOF_INT < SIZEOF_LONG + long rb_fix2int_stub(VALUE x) + { + return dll_rb_fix2int(x); +--- 393,399 ---- + return dll_rb_int2big(x); + } + # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ +! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG + long rb_fix2int_stub(VALUE x) + { + return dll_rb_fix2int(x); +*************** +*** 466,472 **** + {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new}, + {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect}, + {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum}, +! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */ + {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int}, + {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int}, + {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint}, +--- 466,472 ---- + {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new}, + {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect}, + {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum}, +! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ + {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int}, + {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int}, + {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint}, +*** ../vim-7.4.187/src/vim.h 2014-01-14 16:54:53.000000000 +0100 +--- src/vim.h 2014-02-23 21:58:23.764769890 +0100 +*************** +*** 43,49 **** + * it becomes zero. This is likely a problem of not being able to run the + * test program. Other items from configure may also be wrong then! + */ +! # if (SIZEOF_INT == 0) + Error: configure did not run properly. Check auto/config.log. + # endif + +--- 43,49 ---- + * it becomes zero. This is likely a problem of not being able to run the + * test program. Other items from configure may also be wrong then! + */ +! # if (VIM_SIZEOF_INT == 0) + Error: configure did not run properly. Check auto/config.log. + # endif + +*************** +*** 148,169 **** + #endif + + /* +! * SIZEOF_INT is used in feature.h, and the system-specific included files +! * need items from feature.h. Therefore define SIZEOF_INT here. + */ + #ifdef WIN3264 +! # define SIZEOF_INT 4 + #endif + #ifdef MSDOS + # ifdef DJGPP + # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ +! # define SIZEOF_INT 4 /* 32 bit ints */ + # endif + # define DOS32 + # define FEAT_CLIPBOARD + # else + # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ +! # define SIZEOF_INT 2 /* 16 bit ints */ + # endif + # define SMALL_MALLOC /* 16 bit storage allocation */ + # define DOS16 +--- 148,169 ---- + #endif + + /* +! * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files +! * need items from feature.h. Therefore define VIM_SIZEOF_INT here. + */ + #ifdef WIN3264 +! # define VIM_SIZEOF_INT 4 + #endif + #ifdef MSDOS + # ifdef DJGPP + # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ +! # define VIM_SIZEOF_INT 4 /* 32 bit ints */ + # endif + # define DOS32 + # define FEAT_CLIPBOARD + # else + # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ +! # define VIM_SIZEOF_INT 2 /* 16 bit ints */ + # endif + # define SMALL_MALLOC /* 16 bit storage allocation */ + # define DOS16 +*************** +*** 174,191 **** + /* Be conservative about sizeof(int). It could be 4 too. */ + # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ + # ifdef __GNUC__ +! # define SIZEOF_INT 4 + # else +! # define SIZEOF_INT 2 + # endif + # endif + #endif + #ifdef MACOS + # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \ + || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */ +! # define SIZEOF_INT 4 + # else +! # define SIZEOF_INT 2 + # endif + #endif + +--- 174,191 ---- + /* Be conservative about sizeof(int). It could be 4 too. */ + # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ + # ifdef __GNUC__ +! # define VIM_SIZEOF_INT 4 + # else +! # define VIM_SIZEOF_INT 2 + # endif + # endif + #endif + #ifdef MACOS + # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \ + || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */ +! # define VIM_SIZEOF_INT 4 + # else +! # define VIM_SIZEOF_INT 2 + # endif + #endif + +*************** +*** 417,428 **** + #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U + + /* +! * Only systems which use configure will have SIZEOF_OFF_T and SIZEOF_LONG + * defined, which is ok since those are the same systems which can have + * varying sizes for off_t. The other systems will continue to use "%ld" to + * print off_t since off_t is simply a typedef to long for them. + */ +! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG) + # define LONG_LONG_OFF_T + #endif + +--- 417,428 ---- + #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U + + /* +! * Only systems which use configure will have SIZEOF_OFF_T and VIM_SIZEOF_LONG + * defined, which is ok since those are the same systems which can have + * varying sizes for off_t. The other systems will continue to use "%ld" to + * print off_t since off_t is simply a typedef to long for them. + */ +! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > VIM_SIZEOF_LONG) + # define LONG_LONG_OFF_T + #endif + +*************** +*** 448,454 **** + # ifdef UNICODE16 + typedef unsigned short u8char_T; /* short should be 16 bits */ + # else +! # if SIZEOF_INT >= 4 + typedef unsigned int u8char_T; /* int is 32 bits */ + # else + typedef unsigned long u8char_T; /* long should be 32 bits or more */ +--- 448,454 ---- + # ifdef UNICODE16 + typedef unsigned short u8char_T; /* short should be 16 bits */ + # else +! # if VIM_SIZEOF_INT >= 4 + typedef unsigned int u8char_T; /* int is 32 bits */ + # else + typedef unsigned long u8char_T; /* long should be 32 bits or more */ +*************** +*** 1608,1614 **** + * With this we restrict the maximum line length to 1073741823. I guess this is + * not a real problem. BTW: Longer lines are split. + */ +! #if SIZEOF_INT >= 4 + # ifdef __MVS__ + # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */ + # else +--- 1608,1614 ---- + * With this we restrict the maximum line length to 1073741823. I guess this is + * not a real problem. BTW: Longer lines are split. + */ +! #if VIM_SIZEOF_INT >= 4 + # ifdef __MVS__ + # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */ + # else +*** ../vim-7.4.187/src/configure.in 2014-02-15 17:18:56.953897128 +0100 +--- src/configure.in 2014-02-23 22:37:40.080766138 +0100 +*************** +*** 3581,3586 **** +--- 3581,3590 ---- + AC_CHECK_SIZEOF([time_t]) + AC_CHECK_SIZEOF([off_t]) + ++ dnl Use different names to avoid clashing with other header files. ++ AC_DEFINE_UNQUOTED(VIM_SIZEOF_INT, [$ac_cv_sizeof_int]) ++ AC_DEFINE_UNQUOTED(VIM_SIZEOF_LONG, [$ac_cv_sizeof_long]) ++ + dnl Make sure that uint32_t is really 32 bits unsigned. + AC_MSG_CHECKING([uint32_t is 32 bits]) + AC_TRY_RUN([ +*** ../vim-7.4.187/src/auto/configure 2013-11-21 12:17:46.000000000 +0100 +--- src/auto/configure 2014-02-23 22:37:43.692766132 +0100 +*************** +*** 5199,5207 **** +--- 5199,5217 ---- + $as_echo_n "checking for mzscheme_base.c... " >&6; } + if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then + MZSCHEME_EXTRA="mzscheme_base.c" ++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" ++ MZSCHEME_MOD="++lib scheme/base" + else + if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then + MZSCHEME_EXTRA="mzscheme_base.c" ++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" ++ MZSCHEME_MOD="++lib scheme/base" ++ else ++ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then ++ MZSCHEME_EXTRA="mzscheme_base.c" ++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool" ++ MZSCHEME_MOD="" ++ fi + fi + fi + if test "X$MZSCHEME_EXTRA" != "X" ; then +*************** +*** 12323,12328 **** +--- 12333,12347 ---- + + + ++ cat >>confdefs.h <<_ACEOF ++ #define VIM_SIZEOF_INT $ac_cv_sizeof_int ++ _ACEOF ++ ++ cat >>confdefs.h <<_ACEOF ++ #define VIM_SIZEOF_LONG $ac_cv_sizeof_long ++ _ACEOF ++ ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5 + $as_echo_n "checking uint32_t is 32 bits... " >&6; } + if test "$cross_compiling" = yes; then : +*** ../vim-7.4.187/src/config.h.in 2013-11-02 21:04:32.000000000 +0100 +--- src/config.h.in 2014-02-23 21:45:36.784771111 +0100 +*************** +*** 37,46 **** + #undef UNIX + + /* Defined to the size of an int */ +! #undef SIZEOF_INT + + /* Defined to the size of a long */ +! #undef SIZEOF_LONG + + /* Defined to the size of off_t */ + #undef SIZEOF_OFF_T +--- 37,46 ---- + #undef UNIX + + /* Defined to the size of an int */ +! #undef VIM_SIZEOF_INT + + /* Defined to the size of a long */ +! #undef VIM_SIZEOF_LONG + + /* Defined to the size of off_t */ + #undef SIZEOF_OFF_T +*** ../vim-7.4.187/src/fileio.c 2014-02-11 15:23:27.938123631 +0100 +--- src/fileio.c 2014-02-23 22:31:00.824766773 +0100 +*************** +*** 1185,1191 **** + * The amount is limited by the fact that read() only can read + * upto max_unsigned characters (and other things). + */ +! #if SIZEOF_INT <= 2 + if (linerest >= 0x7ff0) + { + ++split; +--- 1185,1191 ---- + * The amount is limited by the fact that read() only can read + * upto max_unsigned characters (and other things). + */ +! #if VIM_SIZEOF_INT <= 2 + if (linerest >= 0x7ff0) + { + ++split; +*************** +*** 1197,1203 **** + { + if (!skip_read) + { +! #if SIZEOF_INT > 2 + # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L) + size = SSIZE_MAX; /* use max I/O size, 52K */ + # else +--- 1197,1203 ---- + { + if (!skip_read) + { +! #if VIM_SIZEOF_INT > 2 + # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L) + size = SSIZE_MAX; /* use max I/O size, 52K */ + # else +*** ../vim-7.4.187/src/if_python.c 2014-01-14 19:35:49.000000000 +0100 +--- src/if_python.c 2014-02-23 21:54:39.212770247 +0100 +*************** +*** 613,619 **** + # endif + # endif + # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \ +! && SIZEOF_SIZE_T != SIZEOF_INT + # ifdef Py_DEBUG + {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4}, + # else +--- 613,619 ---- + # endif + # endif + # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \ +! && SIZEOF_SIZE_T != VIM_SIZEOF_INT + # ifdef Py_DEBUG + {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4}, + # else +*** ../vim-7.4.187/src/message.c 2013-11-04 02:00:55.000000000 +0100 +--- src/message.c 2014-02-23 21:55:16.984770187 +0100 +*************** +*** 4376,4382 **** + { + /* Don't put the #if inside memchr(), it can be a + * macro. */ +! #if SIZEOF_INT <= 2 + char *q = memchr(str_arg, '\0', precision); + #else + /* memchr on HP does not like n > 2^31 !!! */ +--- 4376,4382 ---- + { + /* Don't put the #if inside memchr(), it can be a + * macro. */ +! #if VIM_SIZEOF_INT <= 2 + char *q = memchr(str_arg, '\0', precision); + #else + /* memchr on HP does not like n > 2^31 !!! */ +*** ../vim-7.4.187/src/spell.c 2013-11-28 17:41:41.000000000 +0100 +--- src/spell.c 2014-02-23 21:55:24.600770175 +0100 +*************** +*** 317,323 **** + + /* Type used for indexes in the word tree need to be at least 4 bytes. If int + * is 8 bytes we could use something smaller, but what? */ +! #if SIZEOF_INT > 3 + typedef int idx_T; + #else + typedef long idx_T; +--- 317,323 ---- + + /* Type used for indexes in the word tree need to be at least 4 bytes. If int + * is 8 bytes we could use something smaller, but what? */ +! #if VIM_SIZEOF_INT > 3 + typedef int idx_T; + #else + typedef long idx_T; +*** ../vim-7.4.187/src/feature.h 2013-05-18 20:18:20.000000000 +0200 +--- src/feature.h 2014-02-23 21:55:54.868770127 +0100 +*************** +*** 328,334 **** + * + * Disabled for EBCDIC as it requires multibyte. + */ +! #if defined(FEAT_BIG) && !defined(WIN16) && SIZEOF_INT >= 4 && !defined(EBCDIC) + # define FEAT_ARABIC + #endif + #ifdef FEAT_ARABIC +--- 328,334 ---- + * + * Disabled for EBCDIC as it requires multibyte. + */ +! #if defined(FEAT_BIG) && !defined(WIN16) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC) + # define FEAT_ARABIC + #endif + #ifdef FEAT_ARABIC +*************** +*** 640,646 **** + */ + #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \ + && !defined(FEAT_MBYTE) && !defined(WIN16) \ +! && SIZEOF_INT >= 4 && !defined(EBCDIC) + # define FEAT_MBYTE + #endif + +--- 640,646 ---- + */ + #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \ + && !defined(FEAT_MBYTE) && !defined(WIN16) \ +! && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC) + # define FEAT_MBYTE + #endif + +*************** +*** 661,667 **** + # define FEAT_MBYTE + #endif + +! #if defined(FEAT_MBYTE) && SIZEOF_INT < 4 && !defined(PROTO) + Error: Can only handle multi-byte feature with 32 bit int or larger + #endif + +--- 661,667 ---- + # define FEAT_MBYTE + #endif + +! #if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO) + Error: Can only handle multi-byte feature with 32 bit int or larger + #endif + +*** ../vim-7.4.187/src/os_os2_cfg.h 2010-05-15 13:04:11.000000000 +0200 +--- src/os_os2_cfg.h 2014-02-23 21:56:03.540770113 +0100 +*************** +*** 47,53 **** + #undef UNIX /* define always by current configure script */ + + /* Defined to the size of an int */ +! #define SIZEOF_INT 4 + + /* + * If we cannot trust one of the following from the libraries, we use our +--- 47,53 ---- + #undef UNIX /* define always by current configure script */ + + /* Defined to the size of an int */ +! #define VIM_SIZEOF_INT 4 + + /* + * If we cannot trust one of the following from the libraries, we use our +*** ../vim-7.4.187/src/os_vms_conf.h 2010-07-28 19:07:48.000000000 +0200 +--- src/os_vms_conf.h 2014-02-23 21:56:20.700770086 +0100 +*************** +*** 23,29 **** + #define HAVE_DATE_TIME + + /* Defined to the size of an int */ +! #define SIZEOF_INT 4 + + /* #undef USEBCOPY */ + #define USEMEMMOVE +--- 23,29 ---- + #define HAVE_DATE_TIME + + /* Defined to the size of an int */ +! #define VIM_SIZEOF_INT 4 + + /* #undef USEBCOPY */ + #define USEMEMMOVE +*** ../vim-7.4.187/src/os_win16.h 2013-05-06 04:06:04.000000000 +0200 +--- src/os_win16.h 2014-02-23 21:56:39.292770056 +0100 +*************** +*** 55,62 **** + + #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */ + +! #ifndef SIZEOF_INT +! # define SIZEOF_INT 2 + #endif + + typedef long off_t; +--- 55,62 ---- + + #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */ + +! #ifndef VIM_SIZEOF_INT +! # define VIM_SIZEOF_INT 2 + #endif + + typedef long off_t; +*** ../vim-7.4.187/src/structs.h 2014-02-22 23:03:48.716901208 +0100 +--- src/structs.h 2014-02-23 21:57:17.680769995 +0100 +*************** +*** 364,370 **** + /* + * structures used in undo.c + */ +! #if SIZEOF_INT > 2 + # define ALIGN_LONG /* longword alignment and use filler byte */ + # define ALIGN_SIZE (sizeof(long)) + #else +--- 364,370 ---- + /* + * structures used in undo.c + */ +! #if VIM_SIZEOF_INT > 2 + # define ALIGN_LONG /* longword alignment and use filler byte */ + # define ALIGN_SIZE (sizeof(long)) + #else +*************** +*** 1094,1100 **** + typedef long_u hash_T; /* Type for hi_hash */ + + +! #if SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ + typedef long varnumber_T; + #else + typedef int varnumber_T; +--- 1094,1100 ---- + typedef long_u hash_T; /* Type for hi_hash */ + + +! #if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ + typedef long varnumber_T; + #else + typedef int varnumber_T; +*** ../vim-7.4.187/src/version.c 2014-02-22 23:49:30.268896843 +0100 +--- src/version.c 2014-02-23 22:40:55.708765826 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 188, + /**/ + +-- +I'm sure that I asked CBuilder to do a "full" install. Looks like I got +a "fool" install, instead. Charles E Campbell, Jr, PhD + + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.189 b/patches/source/vim/patches/7.4.189 new file mode 100644 index 000000000..cf6a2b702 --- /dev/null +++ b/patches/source/vim/patches/7.4.189 @@ -0,0 +1,52 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.189 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.189 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. +Files: src/eval.c + + +*** ../vim-7.4.188/src/eval.c 2014-02-22 22:18:39.532905522 +0100 +--- src/eval.c 2014-02-23 22:29:14.976766942 +0100 +*************** +*** 9203,9209 **** + byteidx(argvars, rettv, comp) + typval_T *argvars; + typval_T *rettv; +! int comp; + { + #ifdef FEAT_MBYTE + char_u *t; +--- 9203,9209 ---- + byteidx(argvars, rettv, comp) + typval_T *argvars; + typval_T *rettv; +! int comp UNUSED; + { + #ifdef FEAT_MBYTE + char_u *t; +*** ../vim-7.4.188/src/version.c 2014-02-23 22:52:33.372764715 +0100 +--- src/version.c 2014-02-23 22:54:17.836764549 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 189, + /**/ + +-- +Q: How does a UNIX Guru pick up a girl? +A: look; grep; which; eval; nice; uname; talk; date; + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.190 b/patches/source/vim/patches/7.4.190 new file mode 100644 index 000000000..6cafb4b26 --- /dev/null +++ b/patches/source/vim/patches/7.4.190 @@ -0,0 +1,70 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.190 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.190 +Problem: Compiler warning for using %lld for off_t. +Solution: Add type cast. +Files: src/fileio.c + + +*** ../vim-7.4.189/src/fileio.c 2014-02-23 22:52:33.368764715 +0100 +--- src/fileio.c 2014-02-23 22:31:00.824766773 +0100 +*************** +*** 5294,5300 **** + if (shortmess(SHM_LINES)) + sprintf((char *)p, + #ifdef LONG_LONG_OFF_T +! "%ldL, %lldC", lnum, nchars + #else + /* Explicit typecast avoids warning on Mac OS X 10.6 */ + "%ldL, %ldC", lnum, (long)nchars +--- 5294,5300 ---- + if (shortmess(SHM_LINES)) + sprintf((char *)p, + #ifdef LONG_LONG_OFF_T +! "%ldL, %lldC", lnum, (long long)nchars + #else + /* Explicit typecast avoids warning on Mac OS X 10.6 */ + "%ldL, %ldC", lnum, (long)nchars +*************** +*** 5312,5318 **** + else + sprintf((char *)p, + #ifdef LONG_LONG_OFF_T +! _("%lld characters"), nchars + #else + /* Explicit typecast avoids warning on Mac OS X 10.6 */ + _("%ld characters"), (long)nchars +--- 5312,5318 ---- + else + sprintf((char *)p, + #ifdef LONG_LONG_OFF_T +! _("%lld characters"), (long long)nchars + #else + /* Explicit typecast avoids warning on Mac OS X 10.6 */ + _("%ld characters"), (long)nchars +*** ../vim-7.4.189/src/version.c 2014-02-23 22:54:54.728764490 +0100 +--- src/version.c 2014-02-23 22:57:43.648764221 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 190, + /**/ + +-- +Courtroom Quote #19: +Q: Doctor, how many autopsies have you performed on dead people? +A: All my autopsies have been performed on dead people. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.191 b/patches/source/vim/patches/7.4.191 new file mode 100644 index 000000000..f0bb71bfc --- /dev/null +++ b/patches/source/vim/patches/7.4.191 @@ -0,0 +1,689 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.191 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.191 +Problem: Escaping a file name for shell commands can't be done without a + function. +Solution: Add the :S file name modifier. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test105.in, src/testdir/test105.ok, + runtime/doc/cmdline.txt, runtime/doc/eval.txt, + runtime/doc/map.txt, runtime/doc/options.txt, + runtime/doc/quickfix.txt, runtime/doc/usr_30.txt, + runtime/doc/usr_40.txt, runtime/doc/usr_42.txt, + runtime/doc/vi_diff.txt, src/eval.c, src/misc2.c, src/normal.c, + src/proto/misc2.pro + + +*** ../vim-7.4.190/src/testdir/Make_amiga.mak 2014-02-05 22:25:29.974568243 +0100 +--- src/testdir/Make_amiga.mak 2014-02-23 23:16:51.056762395 +0100 +*************** +*** 35,41 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out + + .SUFFIXES: .in .out + +--- 35,41 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out test105.out + + .SUFFIXES: .in .out + +*************** +*** 156,158 **** +--- 156,159 ---- + test102.out: test102.in + test103.out: test103.in + test104.out: test104.in ++ test105.out: test105.in +*** ../vim-7.4.190/src/testdir/Make_dos.mak 2014-02-05 22:25:29.978568243 +0100 +--- src/testdir/Make_dos.mak 2014-02-23 23:17:41.840762314 +0100 +*************** +*** 33,39 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + SCRIPTS32 = test50.out test70.out + +--- 33,40 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.190/src/testdir/Make_ming.mak 2014-02-05 22:25:29.978568243 +0100 +--- src/testdir/Make_ming.mak 2014-02-23 23:17:29.400762333 +0100 +*************** +*** 53,59 **** + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + SCRIPTS32 = test50.out test70.out + +--- 53,60 ---- + test84.out test85.out test86.out test87.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.190/src/testdir/Make_os2.mak 2014-02-05 22:25:29.978568243 +0100 +--- src/testdir/Make_os2.mak 2014-02-23 23:17:49.476762302 +0100 +*************** +*** 35,41 **** + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + .SUFFIXES: .in .out + +--- 35,42 ---- + test81.out test82.out test83.out test84.out test88.out \ + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.190/src/testdir/Make_vms.mms 2014-02-05 22:25:29.978568243 +0100 +--- src/testdir/Make_vms.mms 2014-02-23 23:17:56.596762290 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2013 Nov 21 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2014 Feb 23 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 79,85 **** + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 79,86 ---- + test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.4.190/src/testdir/Makefile 2014-02-05 22:25:29.982568243 +0100 +--- src/testdir/Makefile 2014-02-23 23:18:14.040762262 +0100 +*************** +*** 31,37 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out + + SCRIPTS_GUI = test16.out + +--- 31,37 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out test105.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.190/src/testdir/test105.in 2014-02-23 23:35:40.680760596 +0100 +--- src/testdir/test105.in 2014-02-23 23:30:24.748761099 +0100 +*************** +*** 0 **** +--- 1,45 ---- ++ Test filename modifiers vim: set ft=vim : ++ ++ STARTTEST ++ :source small.vim ++ :%delete _ ++ :set shell=sh ++ :set shellslash ++ :let tab="\t" ++ :command -nargs=1 Put :let expr= | $put =expr.tab.strtrans(string(eval(expr))) ++ :let $HOME=fnamemodify('.', ':p:h:h:h') ++ :Put fnamemodify('.', ':p' )[-1:] ++ :Put fnamemodify('.', ':p:h' )[-1:] ++ :Put fnamemodify('test.out', ':p' )[-1:] ++ :Put fnamemodify('test.out', ':.' ) ++ :Put fnamemodify('../testdir/a', ':.' ) ++ :Put fnamemodify('test.out', ':~' ) ++ :Put fnamemodify('../testdir/a', ':~' ) ++ :Put fnamemodify('../testdir/a', ':t' ) ++ :Put fnamemodify('.', ':p:t' ) ++ :Put fnamemodify('test.out', ':p:t' ) ++ :Put fnamemodify('test.out', ':p:e' ) ++ :Put fnamemodify('test.out', ':p:t:e' ) ++ :Put fnamemodify('abc.fb2.tar.gz', ':r' ) ++ :Put fnamemodify('abc.fb2.tar.gz', ':r:r' ) ++ :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) ++ :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '') ++ :Put fnamemodify('abc.fb2.tar.gz', ':e' ) ++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e' ) ++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) ++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e:e') ++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:r' ) ++ :Put fnamemodify('abc def', ':S' ) ++ :Put fnamemodify('abc" "def', ':S' ) ++ :Put fnamemodify('abc"%"def', ':S' ) ++ :Put fnamemodify('abc'' ''def', ':S' ) ++ :Put fnamemodify('abc''%''def', ':S' ) ++ :Put fnamemodify("abc\ndef", ':S' ) ++ :set shell=tcsh ++ :Put fnamemodify("abc\ndef", ':S' ) ++ :$put ='vim: ts=8' ++ :1 delete _ ++ :w! test.out ++ :qa! ++ ENDTEST ++ +*** ../vim-7.4.190/src/testdir/test105.ok 2014-02-23 23:35:40.688760596 +0100 +--- src/testdir/test105.ok 2014-02-23 23:32:11.204760929 +0100 +*************** +*** 0 **** +--- 1,29 ---- ++ fnamemodify('.', ':p' )[-1:] '/' ++ fnamemodify('.', ':p:h' )[-1:] 'r' ++ fnamemodify('test.out', ':p' )[-1:] 't' ++ fnamemodify('test.out', ':.' ) 'test.out' ++ fnamemodify('../testdir/a', ':.' ) 'a' ++ fnamemodify('test.out', ':~' ) '~/src/testdir/test.out' ++ fnamemodify('../testdir/a', ':~' ) '~/src/testdir/a' ++ fnamemodify('../testdir/a', ':t' ) 'a' ++ fnamemodify('.', ':p:t' ) '' ++ fnamemodify('test.out', ':p:t' ) 'test.out' ++ fnamemodify('test.out', ':p:e' ) 'out' ++ fnamemodify('test.out', ':p:t:e' ) 'out' ++ fnamemodify('abc.fb2.tar.gz', ':r' ) 'abc.fb2.tar' ++ fnamemodify('abc.fb2.tar.gz', ':r:r' ) 'abc.fb2' ++ fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) 'abc' ++ substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '') 'src/testdir/abc.fb2' ++ fnamemodify('abc.fb2.tar.gz', ':e' ) 'gz' ++ fnamemodify('abc.fb2.tar.gz', ':e:e' ) 'tar.gz' ++ fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) 'fb2.tar.gz' ++ fnamemodify('abc.fb2.tar.gz', ':e:e:e:e') 'fb2.tar.gz' ++ fnamemodify('abc.fb2.tar.gz', ':e:e:r' ) 'tar' ++ fnamemodify('abc def', ':S' ) '''abc def''' ++ fnamemodify('abc" "def', ':S' ) '''abc" "def''' ++ fnamemodify('abc"%"def', ':S' ) '''abc"%"def''' ++ fnamemodify('abc'' ''def', ':S' ) '''abc''\'''' ''\''''def''' ++ fnamemodify('abc''%''def', ':S' ) '''abc''\''''%''\''''def''' ++ fnamemodify("abc\ndef", ':S' ) '''abc^@def''' ++ fnamemodify("abc\ndef", ':S' ) '''abc\^@def''' ++ vim: ts=8 +*** ../vim-7.4.190/runtime/doc/cmdline.txt 2013-11-09 05:30:18.000000000 +0100 +--- runtime/doc/cmdline.txt 2014-02-23 23:20:57.020762003 +0100 +*************** +*** 758,763 **** +--- 758,764 ---- + function expand() |expand()|. + % Is replaced with the current file name. *:_%* *c_%* + # Is replaced with the alternate file name. *:_#* *c_#* ++ This is remembered for every window. + #n (where n is a number) is replaced with *:_#0* *:_#n* + the file name of buffer n. "#0" is the same as "#". *c_#n* + ## Is replaced with all names in the argument list *:_##* *c_##* +*************** +*** 823,830 **** + the start of the function. + + *filename-modifiers* +! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* +! *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* + The file name modifiers can be used after "%", "#", "#n", "", "", + "" or "". They are also used with the |fnamemodify()| function. + These are not available when Vim has been compiled without the |+modify_fname| +--- 824,831 ---- + the start of the function. + + *filename-modifiers* +! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S* +! *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S* + The file name modifiers can be used after "%", "#", "#n", "", "", + "" or "". They are also used with the |fnamemodify()| function. + These are not available when Vim has been compiled without the |+modify_fname| +*************** +*** 879,884 **** +--- 880,889 ---- + :gs?pat?sub? + Substitute all occurrences of "pat" with "sub". Otherwise + this works like ":s". ++ :S Escape special characters for use with a shell command (see ++ |shellescape()|). Must be the last one. Examples: > ++ :!dir :S ++ :call system('chmod +w -- ' . expand('%:S')) + + Examples, when the file name is "src/version.c", current dir + "/home/mool/vim": > +*** ../vim-7.4.190/runtime/doc/eval.txt 2014-01-14 12:33:32.000000000 +0100 +--- runtime/doc/eval.txt 2014-02-23 23:19:32.420762138 +0100 +*************** +*** 5414,5419 **** +--- 5428,5434 ---- + < This results in a directory listing for the file under the + cursor. Example of use with |system()|: > + :call system("chmod +w -- " . shellescape(expand("%"))) ++ < See also |::S|. + + + shiftwidth() *shiftwidth()* +*************** +*** 5896,5909 **** + passed as stdin to the command. The string is written as-is, + you need to take care of using the correct line separators + yourself. Pipes are not used. +! Note: Use |shellescape()| to escape special characters in a +! command argument. Newlines in {expr} may cause the command to +! fail. The characters in 'shellquote' and 'shellxquote' may +! also cause trouble. + This is not to be used for interactive commands. + + The result is a String. Example: > + :let files = system("ls " . shellescape(expand('%:h'))) + + < To make the result more system-independent, the shell output + is filtered to replace with for Macintosh, and +--- 5911,5926 ---- + passed as stdin to the command. The string is written as-is, + you need to take care of using the correct line separators + yourself. Pipes are not used. +! Note: Use |shellescape()| or |::S| with |expand()| or +! |fnamemodify()| to escape special characters in a command +! argument. Newlines in {expr} may cause the command to fail. +! The characters in 'shellquote' and 'shellxquote' may also +! cause trouble. + This is not to be used for interactive commands. + + The result is a String. Example: > + :let files = system("ls " . shellescape(expand('%:h'))) ++ :let files = system('ls ' . expand('%:h:S')) + + < To make the result more system-independent, the shell output + is filtered to replace with for Macintosh, and +*** ../vim-7.4.190/runtime/doc/map.txt 2013-08-10 13:24:56.000000000 +0200 +--- runtime/doc/map.txt 2014-02-23 23:19:32.424762138 +0100 +*************** +*** 380,386 **** + The simplest way to load a set of related language mappings is by using the + 'keymap' option. See |45.5|. + In Insert mode and in Command-line mode the mappings can be disabled with +! the CTRL-^ command |i_CTRL-^| |c_CTRL-^| These commands change the value of + the 'iminsert' option. When starting to enter a normal command line (not a + search pattern) the mappings are disabled until a CTRL-^ is typed. The state + last used is remembered for Insert mode and Search patterns separately. The +--- 380,386 ---- + The simplest way to load a set of related language mappings is by using the + 'keymap' option. See |45.5|. + In Insert mode and in Command-line mode the mappings can be disabled with +! the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of + the 'iminsert' option. When starting to enter a normal command line (not a + search pattern) the mappings are disabled until a CTRL-^ is typed. The state + last used is remembered for Insert mode and Search patterns separately. The +*************** +*** 593,599 **** + When you have a mapping that contains an Ex command, you need to put a line + terminator after it to have it executed. The use of is recommended for + this (see |<>|). Example: > +! :map _ls :!ls -l %:echo "the end" + + To avoid mapping of the characters you type in insert or Command-line mode, + type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste' +--- 593,599 ---- + When you have a mapping that contains an Ex command, you need to put a line + terminator after it to have it executed. The use of is recommended for + this (see |<>|). Example: > +! :map _ls :!ls -l %:S:echo "the end" + + To avoid mapping of the characters you type in insert or Command-line mode, + type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste' +*** ../vim-7.4.190/runtime/doc/options.txt 2013-11-12 04:43:57.000000000 +0100 +--- runtime/doc/options.txt 2014-02-23 23:19:32.428762138 +0100 +*************** +*** 4757,4764 **** + global or local to buffer |global-local| + {not in Vi} + Program to use for the ":make" command. See |:make_makeprg|. +! This option may contain '%' and '#' characters, which are expanded to +! the current and alternate file name. |:_%| |:_#| + Environment variables are expanded |:set_env|. See |option-backslash| + about including spaces and backslashes. + Note that a '|' must be escaped twice: once for ":set" and once for +--- 4757,4765 ---- + global or local to buffer |global-local| + {not in Vi} + Program to use for the ":make" command. See |:make_makeprg|. +! This option may contain '%' and '#' characters (see |:_%| and |:_#|), +! which are expanded to the current and alternate file name. Use |::S| +! to escape file names in case they contain special characters. + Environment variables are expanded |:set_env|. See |option-backslash| + about including spaces and backslashes. + Note that a '|' must be escaped twice: once for ":set" and once for +*** ../vim-7.4.190/runtime/doc/quickfix.txt 2013-08-10 13:25:00.000000000 +0200 +--- runtime/doc/quickfix.txt 2014-02-23 23:19:32.432762138 +0100 +*************** +*** 838,844 **** + The alltests.py script seems to be used quite often, that's all. + Useful values for the 'makeprg' options therefore are: + setlocal makeprg=./alltests.py " Run a testsuite +! setlocal makeprg=python % " Run a single testcase + + Also see http://vim.sourceforge.net/tip_view.php?tip_id=280. + +--- 838,844 ---- + The alltests.py script seems to be used quite often, that's all. + Useful values for the 'makeprg' options therefore are: + setlocal makeprg=./alltests.py " Run a testsuite +! setlocal makeprg=python\ %:S " Run a single testcase + + Also see http://vim.sourceforge.net/tip_view.php?tip_id=280. + +*************** +*** 1332,1338 **** + Here is an alternative from Michael F. Lamb for Unix that filters the errors + first: > + :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%# +! :setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter + + You need to put the following in "vim-javac-filter" somewhere in your path + (e.g., in ~/bin) and make it executable: > +--- 1332,1338 ---- + Here is an alternative from Michael F. Lamb for Unix that filters the errors + first: > + :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%# +! :setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter + + You need to put the following in "vim-javac-filter" somewhere in your path + (e.g., in ~/bin) and make it executable: > +*** ../vim-7.4.190/runtime/doc/usr_30.txt 2013-08-10 13:25:05.000000000 +0200 +--- runtime/doc/usr_30.txt 2014-02-23 23:19:32.432762138 +0100 +*************** +*** 128,134 **** + You can include special Vim keywords in the command specification. The % + character expands to the name of the current file. So if you execute the + command: > +! :set makeprg=make\ % + + When you are editing main.c, then ":make" executes the following command: > + +--- 128,134 ---- + You can include special Vim keywords in the command specification. The % + character expands to the name of the current file. So if you execute the + command: > +! :set makeprg=make\ %:S + + When you are editing main.c, then ":make" executes the following command: > + +*************** +*** 137,143 **** + This is not too useful, so you will refine the command a little and use the :r + (root) modifier: > + +! :set makeprg=make\ %:r.o + + Now the command executed is as follows: > + +--- 137,143 ---- + This is not too useful, so you will refine the command a little and use the :r + (root) modifier: > + +! :set makeprg=make\ %:r:S.o + + Now the command executed is as follows: > + +*** ../vim-7.4.190/runtime/doc/usr_40.txt 2013-08-10 13:25:05.000000000 +0200 +--- runtime/doc/usr_40.txt 2014-02-23 23:19:32.432762138 +0100 +*************** +*** 209,215 **** + separates the two commands. This also means that a | character can't be used + inside a map command. To include one, use (five characters). Example: + > +! :map :write !checkin % + + The same problem applies to the ":unmap" command, with the addition that you + have to watch out for trailing white space. These two commands are different: +--- 209,215 ---- + separates the two commands. This also means that a | character can't be used + inside a map command. To include one, use (five characters). Example: + > +! :map :write !checkin %:S + + The same problem applies to the ":unmap" command, with the addition that you + have to watch out for trailing white space. These two commands are different: +*** ../vim-7.4.190/runtime/doc/usr_42.txt 2013-08-10 13:25:05.000000000 +0200 +--- runtime/doc/usr_42.txt 2014-02-23 23:19:32.432762138 +0100 +*************** +*** 311,317 **** + item with a bitmap. For example, define a new toolbar item with: > + + :tmenu ToolBar.Compile Compile the current file +! :amenu ToolBar.Compile :!cc % -o %:r + + Now you need to create the icon. For MS-Windows it must be in bitmap format, + with the name "Compile.bmp". For Unix XPM format is used, the file name is +--- 311,317 ---- + item with a bitmap. For example, define a new toolbar item with: > + + :tmenu ToolBar.Compile Compile the current file +! :amenu ToolBar.Compile :!cc %:S -o %:r:S + + Now you need to create the icon. For MS-Windows it must be in bitmap format, + with the name "Compile.bmp". For Unix XPM format is used, the file name is +*** ../vim-7.4.190/runtime/doc/vi_diff.txt 2013-08-10 13:25:07.000000000 +0200 +--- runtime/doc/vi_diff.txt 2014-02-23 23:19:32.432762138 +0100 +*************** +*** 540,546 **** + Added :wnext command. Same as ":write" followed by ":next". + + The ":w!" command always writes, also when the file is write protected. In Vi +! you would have to do ":!chmod +w %" and ":set noro". + + When 'tildeop' has been set, "~" is an operator (must be followed by a + movement command). +--- 540,546 ---- + Added :wnext command. Same as ":write" followed by ":next". + + The ":w!" command always writes, also when the file is write protected. In Vi +! you would have to do ":!chmod +w %:S" and ":set noro". + + When 'tildeop' has been set, "~" is an operator (must be followed by a + movement command). +*** ../vim-7.4.190/src/eval.c 2014-02-23 22:54:54.724764490 +0100 +--- src/eval.c 2014-02-23 23:19:32.432762138 +0100 +*************** +*** 16950,16956 **** + typval_T *rettv; + { + rettv->vval.v_string = vim_strsave_shellescape( +! get_tv_string(&argvars[0]), non_zero_arg(&argvars[1])); + rettv->v_type = VAR_STRING; + } + +--- 16950,16956 ---- + typval_T *rettv; + { + rettv->vval.v_string = vim_strsave_shellescape( +! get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]), TRUE); + rettv->v_type = VAR_STRING; + } + +*************** +*** 24355,24360 **** +--- 24355,24371 ---- + } + } + ++ if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S') ++ { ++ p = vim_strsave_shellescape(*fnamep, FALSE, FALSE); ++ if (p == NULL) ++ return -1; ++ vim_free(*bufp); ++ *bufp = *fnamep = p; ++ *fnamelen = (int)STRLEN(p); ++ *usedlen += 2; ++ } ++ + return valid; + } + +*** ../vim-7.4.190/src/misc2.c 2014-01-06 06:18:44.000000000 +0100 +--- src/misc2.c 2014-02-23 23:25:44.168761546 +0100 +*************** +*** 1369,1380 **** + * Escape a newline, depending on the 'shell' option. + * When "do_special" is TRUE also replace "!", "%", "#" and things starting + * with "<" like "". + * Returns the result in allocated memory, NULL if we have run out. + */ + char_u * +! vim_strsave_shellescape(string, do_special) + char_u *string; + int do_special; + { + unsigned length; + char_u *p; +--- 1369,1382 ---- + * Escape a newline, depending on the 'shell' option. + * When "do_special" is TRUE also replace "!", "%", "#" and things starting + * with "<" like "". ++ * When "do_newline" is FALSE do not escape newline unless it is csh shell. + * Returns the result in allocated memory, NULL if we have run out. + */ + char_u * +! vim_strsave_shellescape(string, do_special, do_newline) + char_u *string; + int do_special; ++ int do_newline; + { + unsigned length; + char_u *p; +*************** +*** 1403,1409 **** + # endif + if (*p == '\'') + length += 3; /* ' => '\'' */ +! if (*p == '\n' || (*p == '!' && (csh_like || do_special))) + { + ++length; /* insert backslash */ + if (csh_like && do_special) +--- 1405,1412 ---- + # endif + if (*p == '\'') + length += 3; /* ' => '\'' */ +! if ((*p == '\n' && (csh_like || do_newline)) +! || (*p == '!' && (csh_like || do_special))) + { + ++length; /* insert backslash */ + if (csh_like && do_special) +*************** +*** 1454,1460 **** + ++p; + continue; + } +! if (*p == '\n' || (*p == '!' && (csh_like || do_special))) + { + *d++ = '\\'; + if (csh_like && do_special) +--- 1457,1464 ---- + ++p; + continue; + } +! if ((*p == '\n' && (csh_like || do_newline)) +! || (*p == '!' && (csh_like || do_special))) + { + *d++ = '\\'; + if (csh_like && do_special) +*** ../vim-7.4.190/src/normal.c 2014-02-22 23:49:30.268896843 +0100 +--- src/normal.c 2014-02-23 23:19:32.436762138 +0100 +*************** +*** 5790,5796 **** + { + /* Escape the argument properly for a shell command */ + ptr = vim_strnsave(ptr, n); +! p = vim_strsave_shellescape(ptr, TRUE); + vim_free(ptr); + if (p == NULL) + { +--- 5790,5796 ---- + { + /* Escape the argument properly for a shell command */ + ptr = vim_strnsave(ptr, n); +! p = vim_strsave_shellescape(ptr, TRUE, TRUE); + vim_free(ptr); + if (p == NULL) + { +*** ../vim-7.4.190/src/proto/misc2.pro 2013-08-10 13:37:20.000000000 +0200 +--- src/proto/misc2.pro 2014-02-23 23:19:32.436762138 +0100 +*************** +*** 32,38 **** + char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars)); + char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl)); + int csh_like_shell __ARGS((void)); +! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special)); + char_u *vim_strsave_up __ARGS((char_u *string)); + char_u *vim_strnsave_up __ARGS((char_u *string, int len)); + void vim_strup __ARGS((char_u *p)); +--- 32,38 ---- + char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars)); + char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl)); + int csh_like_shell __ARGS((void)); +! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special, int do_newline)); + char_u *vim_strsave_up __ARGS((char_u *string)); + char_u *vim_strnsave_up __ARGS((char_u *string, int len)); + void vim_strup __ARGS((char_u *p)); +*** ../vim-7.4.190/src/version.c 2014-02-23 22:58:12.072764176 +0100 +--- src/version.c 2014-02-23 23:35:51.044760579 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 191, + /**/ + +-- +Windows +M!uqoms + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.192 b/patches/source/vim/patches/7.4.192 new file mode 100644 index 000000000..256d0fafb --- /dev/null +++ b/patches/source/vim/patches/7.4.192 @@ -0,0 +1,44 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.192 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.192 +Problem: Memory leak when giving E853. +Solution: Free the argument. (Dominique Pelle) +Files: src/eval.c + + +*** ../vim-7.4.191/src/eval.c 2014-02-23 23:38:58.824760280 +0100 +--- src/eval.c 2014-02-24 03:27:39.244738435 +0100 +*************** +*** 21457,21462 **** +--- 21457,21463 ---- + if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0) + { + EMSG2(_("E853: Duplicate argument name: %s"), arg); ++ vim_free(arg); + goto erret; + } + +*** ../vim-7.4.191/src/version.c 2014-02-23 23:38:58.828760280 +0100 +--- src/version.c 2014-02-24 03:28:23.068738365 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 192, + /**/ + +-- +Seen on the back of a biker's vest: If you can read this, my wife fell off. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.193 b/patches/source/vim/patches/7.4.193 new file mode 100644 index 000000000..f84a9d1c7 --- /dev/null +++ b/patches/source/vim/patches/7.4.193 @@ -0,0 +1,106 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.193 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.193 +Problem: Typos in messages. +Solution: "then" -> "than". (Dominique Pelle) +Files: src/if_py_both.h, src/spell.c + + +*** ../vim-7.4.192/src/if_py_both.h 2014-02-15 15:58:55.081904773 +0100 +--- src/if_py_both.h 2014-03-08 16:10:46.015459417 +0100 +*************** +*** 236,242 **** + if (*result <= 0) + { + PyErr_SET_STRING(PyExc_ValueError, +! N_("number must be greater then zero")); + return -1; + } + } +--- 236,242 ---- + if (*result <= 0) + { + PyErr_SET_STRING(PyExc_ValueError, +! N_("number must be greater than zero")); + return -1; + } + } +*************** +*** 2405,2411 **** + if ((item = PyIter_Next(iterator))) + { + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %d " + "to extended slice"), 0); + Py_DECREF(item); + ret = -1; +--- 2405,2411 ---- + if ((item = PyIter_Next(iterator))) + { + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater than %d " + "to extended slice"), 0); + Py_DECREF(item); + ret = -1; +*************** +*** 2510,2516 **** + { + Py_DECREF(iterator); + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater then %d " + "to extended slice"), (int) slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); +--- 2510,2516 ---- + { + Py_DECREF(iterator); + PyErr_FORMAT(PyExc_ValueError, +! N_("attempt to assign sequence of size greater than %d " + "to extended slice"), (int) slicelen); + list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli); + PyMem_Free(lis); +*** ../vim-7.4.192/src/spell.c 2014-02-23 22:52:33.372764715 +0100 +--- src/spell.c 2014-03-08 16:10:46.019459417 +0100 +*************** +*** 12037,12043 **** + /* Normal byte, go one level deeper. If it's not equal to the + * byte in the bad word adjust the score. But don't even try + * when the byte was already changed. And don't try when we +! * just deleted this byte, accepting it is always cheaper then + * delete + substitute. */ + if (c == fword[sp->ts_fidx] + #ifdef FEAT_MBYTE +--- 12037,12043 ---- + /* Normal byte, go one level deeper. If it's not equal to the + * byte in the bad word adjust the score. But don't even try + * when the byte was already changed. And don't try when we +! * just deleted this byte, accepting it is always cheaper than + * delete + substitute. */ + if (c == fword[sp->ts_fidx] + #ifdef FEAT_MBYTE +*** ../vim-7.4.192/src/version.c 2014-02-24 03:31:55.816738026 +0100 +--- src/version.c 2014-03-08 16:11:51.591460422 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 193, + /**/ + +-- +BEDEVERE: How do you know so much about swallows? +ARTHUR: Well you have to know these things when you're a king, you know. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.194 b/patches/source/vim/patches/7.4.194 new file mode 100644 index 000000000..e73bd1398 --- /dev/null +++ b/patches/source/vim/patches/7.4.194 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.194 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.194 +Problem: Can't build for Android. +Solution: Add #if condition. (Fredrik Fornwall) +Files: src/mbyte.c + + +*** ../vim-7.4.193/src/mbyte.c 2014-01-14 13:26:17.000000000 +0100 +--- src/mbyte.c 2014-03-03 22:41:30.527101306 +0100 +*************** +*** 708,714 **** + * API */ + n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1; + #else +! # if defined(MACOS) || defined(__amigaos4__) + /* + * if mblen() is not available, character which MSB is turned on + * are treated as leading byte character. (note : This assumption +--- 708,714 ---- + * API */ + n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1; + #else +! # if defined(MACOS) || defined(__amigaos4__) || defined(__ANDROID__) + /* + * if mblen() is not available, character which MSB is turned on + * are treated as leading byte character. (note : This assumption +*** ../vim-7.4.193/src/version.c 2014-03-08 16:13:39.123462070 +0100 +--- src/version.c 2014-03-12 14:53:45.148684209 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 194, + /**/ + +-- +A programmer's wife asks him: "Please run to the store and pick up a loaf of +bread. If they have eggs, get a dozen". The programmer comes home with 12 +loafs of bread. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.195 b/patches/source/vim/patches/7.4.195 new file mode 100644 index 000000000..0cd888d46 --- /dev/null +++ b/patches/source/vim/patches/7.4.195 @@ -0,0 +1,164 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.195 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.195 (after 7.4.193) +Problem: Python tests fail. +Solution: Change "then" to "than" in more places. (Dominique Pelle, Taro + Muraoka) +Files: src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + + +*** ../vim-7.4.194/src/testdir/test86.in 2014-02-11 18:47:18.678311042 +0100 +--- src/testdir/test86.in 2014-03-12 15:20:41.512708977 +0100 +*************** +*** 675,681 **** + # Check GCing iterator that was not fully exhausted + i = iter(vim.buffers) + cb.append('i:' + str(next(i))) +! # and also check creating more then one iterator at a time + i2 = iter(vim.buffers) + cb.append('i2:' + str(next(i2))) + cb.append('i:' + str(next(i))) +--- 675,681 ---- + # Check GCing iterator that was not fully exhausted + i = iter(vim.buffers) + cb.append('i:' + str(next(i))) +! # and also check creating more than one iterator at a time + i2 = iter(vim.buffers) + cb.append('i2:' + str(next(i2))) + cb.append('i:' + str(next(i))) +*** ../vim-7.4.194/src/testdir/test86.ok 2014-01-14 16:54:53.000000000 +0100 +--- src/testdir/test86.ok 2014-03-12 15:19:28.080707851 +0100 +*************** +*** 882,892 **** + l[:] = FailingIter():NotImplementedError:('iter',) + l[:] = FailingIterNext():NotImplementedError:('next',) + <<< Finished +! nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',) + ('a', 'b', 'c', 'O') + nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) + ('a', 'b', 'c', 'O') +! nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',) + ('a', 'b', 'c', 'O') + nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) + ('a', 'b', 'c', 'O') +--- 882,892 ---- + l[:] = FailingIter():NotImplementedError:('iter',) + l[:] = FailingIterNext():NotImplementedError:('next',) + <<< Finished +! nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',) + ('a', 'b', 'c', 'O') + nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',) + ('a', 'b', 'c', 'O') +! nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',) + ('a', 'b', 'c', 'O') + nel[:] = FailingIterNextN(2):NotImplementedError:('next N',) + ('a', 'b', 'c', 'O') +*************** +*** 1233,1240 **** + >>> Testing NumberToLong using vim.buffers[%s] + vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) + vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) +! vim.buffers[-1]:ValueError:('number must be greater then zero',) +! vim.buffers[0]:ValueError:('number must be greater then zero',) + <<< Finished + > Current + >> CurrentGetattr +--- 1233,1240 ---- + >>> Testing NumberToLong using vim.buffers[%s] + vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',) + vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',) +! vim.buffers[-1]:ValueError:('number must be greater than zero',) +! vim.buffers[0]:ValueError:('number must be greater than zero',) + <<< Finished + > Current + >> CurrentGetattr +*** ../vim-7.4.194/src/testdir/test87.in 2014-02-11 18:47:18.678311042 +0100 +--- src/testdir/test87.in 2014-03-12 15:21:20.036709567 +0100 +*************** +*** 664,670 **** + # Check GCing iterator that was not fully exhausted + i = iter(vim.buffers) + cb.append('i:' + str(next(i))) +! # and also check creating more then one iterator at a time + i2 = iter(vim.buffers) + cb.append('i2:' + str(next(i2))) + cb.append('i:' + str(next(i))) +--- 664,670 ---- + # Check GCing iterator that was not fully exhausted + i = iter(vim.buffers) + cb.append('i:' + str(next(i))) +! # and also check creating more than one iterator at a time + i2 = iter(vim.buffers) + cb.append('i2:' + str(next(i2))) + cb.append('i:' + str(next(i))) +*** ../vim-7.4.194/src/testdir/test87.ok 2014-01-14 16:54:53.000000000 +0100 +--- src/testdir/test87.ok 2014-03-12 15:19:28.080707851 +0100 +*************** +*** 882,892 **** + l[:] = FailingIter():(, NotImplementedError('iter',)) + l[:] = FailingIterNext():(, NotImplementedError('next',)) + <<< Finished +! nel[1:10:2] = "abcK":(, ValueError('attempt to assign sequence of size greater then 2 to extended slice',)) + (b'a', b'b', b'c', b'O') + nel[1:10:2] = "a":(, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',)) + (b'a', b'b', b'c', b'O') +! nel[1:1:-1] = "a":(, ValueError('attempt to assign sequence of size greater then 0 to extended slice',)) + (b'a', b'b', b'c', b'O') + nel[:] = FailingIterNextN(2):(, NotImplementedError('next N',)) + (b'a', b'b', b'c', b'O') +--- 882,892 ---- + l[:] = FailingIter():(, NotImplementedError('iter',)) + l[:] = FailingIterNext():(, NotImplementedError('next',)) + <<< Finished +! nel[1:10:2] = "abcK":(, ValueError('attempt to assign sequence of size greater than 2 to extended slice',)) + (b'a', b'b', b'c', b'O') + nel[1:10:2] = "a":(, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',)) + (b'a', b'b', b'c', b'O') +! nel[1:1:-1] = "a":(, ValueError('attempt to assign sequence of size greater than 0 to extended slice',)) + (b'a', b'b', b'c', b'O') + nel[:] = FailingIterNextN(2):(, NotImplementedError('next N',)) + (b'a', b'b', b'c', b'O') +*************** +*** 1233,1240 **** + >>> Testing NumberToLong using vim.buffers[%s] + vim.buffers[[]]:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) + vim.buffers[None]:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) +! vim.buffers[-1]:(, ValueError('number must be greater then zero',)) +! vim.buffers[0]:(, ValueError('number must be greater then zero',)) + <<< Finished + > Current + >> CurrentGetattr +--- 1233,1240 ---- + >>> Testing NumberToLong using vim.buffers[%s] + vim.buffers[[]]:(, TypeError('expected int() or something supporting coercing to int(), but got list',)) + vim.buffers[None]:(, TypeError('expected int() or something supporting coercing to int(), but got NoneType',)) +! vim.buffers[-1]:(, ValueError('number must be greater than zero',)) +! vim.buffers[0]:(, ValueError('number must be greater than zero',)) + <<< Finished + > Current + >> CurrentGetattr +*** ../vim-7.4.194/src/version.c 2014-03-12 14:54:29.920684895 +0100 +--- src/version.c 2014-03-12 15:19:20.016707728 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 195, + /**/ + +-- +Zen Microsystems: we're the om in .commmmmmmmm + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.196 b/patches/source/vim/patches/7.4.196 new file mode 100644 index 000000000..d483b241d --- /dev/null +++ b/patches/source/vim/patches/7.4.196 @@ -0,0 +1,51 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.196 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.196 +Problem: Tests fail on Solaris 9 and 10. +Solution: Use "test -f" instead of "test -e". (Laurent Blume) +Files: src/testdir/Makefile + + +*** ../vim-7.4.195/src/testdir/Makefile 2014-02-23 23:38:58.812760280 +0100 +--- src/testdir/Makefile 2014-03-12 15:46:41.352732878 +0100 +*************** +*** 61,67 **** + test1.out: test1.in + -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize + $(RUN_VIM) $*.in +! @/bin/sh -c "if test -e wrongtermsize; \ + then echo; \ + echo test1 FAILED - terminal size must be 80x24 or larger; \ + echo; exit 1; \ +--- 61,67 ---- + test1.out: test1.in + -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize + $(RUN_VIM) $*.in +! @/bin/sh -c "if test -f wrongtermsize; \ + then echo; \ + echo test1 FAILED - terminal size must be 80x24 or larger; \ + echo; exit 1; \ +*** ../vim-7.4.195/src/version.c 2014-03-12 15:26:36.432714415 +0100 +--- src/version.c 2014-03-12 15:48:09.700734232 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 196, + /**/ + +-- +My Go, this amn keyboar oesn't have a . + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.197 b/patches/source/vim/patches/7.4.197 new file mode 100644 index 000000000..80783eb46 --- /dev/null +++ b/patches/source/vim/patches/7.4.197 @@ -0,0 +1,1052 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.197 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.197 +Problem: Various problems on VMS. +Solution: Fix several VMS problems. (Zoltan Arpadffy) +Files: runtime/doc/os_vms.txt, src/Make_vms.mms, src/fileio.c, + src/os_unix.c, src/os_unix.h, src/os_vms.c, src/os_vms_conf.h, + src/proto/os_vms.pro, src/testdir/Make_vms.mms, + src/testdir/test72.in, src/testdir/test77a.com, + src/testdir/test77a.in, src/testdir/test77a.ok src/undo.c + + +*** ../vim-7.4.196/runtime/doc/os_vms.txt 2013-08-10 13:24:59.000000000 +0200 +--- runtime/doc/os_vms.txt 2014-03-12 15:55:50.196741288 +0100 +*************** +*** 1,4 **** +! *os_vms.txt* For Vim version 7.4. Last change: 2011 Aug 14 + + + VIM REFERENCE MANUAL +--- 1,4 ---- +! *os_vms.txt* For Vim version 7.4. Last change: 2014 Feb 24 + + + VIM REFERENCE MANUAL +*************** +*** 24,30 **** + + 1. Getting started *vms-started* + +! Vim (Vi IMproved) is a vi-compatible text editor that runs on nearly every + operating system known to humanity. Now use Vim on OpenVMS too, in character + or X/Motif environment. It is fully featured and absolutely compatible with + Vim on other operating systems. +--- 24,30 ---- + + 1. Getting started *vms-started* + +! Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every + operating system known to humanity. Now use Vim on OpenVMS too, in character + or X/Motif environment. It is fully featured and absolutely compatible with + Vim on other operating systems. +*************** +*** 764,769 **** +--- 764,785 ---- + + 9. VMS related changes *vms-changes* + ++ Version 7.4 ++ - Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name" ++ add _un_ at the beginning to keep the extension ++ - correct swap file name wildcard handling ++ - handle iconv usage correctly ++ - do not optimize on vax - otherwise it hangs compiling crypto files ++ - fileio.c fix the comment ++ - correct RealWaitForChar ++ - after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have ++ G_FLOAT but IA64 uses IEEE float otherwise Vim crashes ++ - guard agains crashes that are caused by mixed filenames ++ - [TESTDIR]make_vms.mms changed to see the output files ++ - Improve tests, update known issues ++ - minor compiler warnings fixed ++ - CTAGS 5.8 +regex included ++ + Version 7.3 + - CTAGS 5.8 included + - VMS compile warnings fixed - floating-point overflow warning corrected on VAX +*** ../vim-7.4.196/src/Make_vms.mms 2013-05-06 04:06:04.000000000 +0200 +--- src/Make_vms.mms 2014-03-12 15:55:50.196741288 +0100 +*************** +*** 2,8 **** + # Makefile for Vim on OpenVMS + # + # Maintainer: Zoltan Arpadffy +! # Last change: 2008 Aug 16 + # + # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64 + # with MMS and MMK +--- 2,8 ---- + # Makefile for Vim on OpenVMS + # + # Maintainer: Zoltan Arpadffy +! # Last change: 2014 Feb 24 + # + # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64 + # with MMS and MMK +*************** +*** 21,29 **** + ###################################################################### + # Configuration section. + ###################################################################### +- # VMS version +- # Uncomment if you use VMS version 6.2 or older +- # OLD_VMS = YES + + # Compiler selection. + # Comment out if you use the VAXC compiler +--- 21,26 ---- +*************** +*** 60,66 **** + + # Uncomment if want a debug version. Resulting executable is DVIM.EXE + # Development purpose only! Normally, it should not be defined. !!! +! # DEBUG = YES + + # Languages support for Perl, Python, TCL etc. + # If you don't need it really, leave them behind the comment. +--- 57,63 ---- + + # Uncomment if want a debug version. Resulting executable is DVIM.EXE + # Development purpose only! Normally, it should not be defined. !!! +! # DEBUG = YES + + # Languages support for Perl, Python, TCL etc. + # If you don't need it really, leave them behind the comment. +*************** +*** 87,92 **** +--- 84,92 ---- + # Allow FEATURE_MZSCHEME + # VIM_MZSCHEME = YES + ++ # Use ICONV ++ # VIM_ICONV = YES ++ + ###################################################################### + # Directory, library and include files configuration section. + # Normally you need not to change anything below. ! +*************** +*** 99,123 **** + + .IFDEF MMSVAX + .IFDEF DECC # VAX with DECC +! CC_DEF = cc # /decc # some system requires this switch but when it is not required /ver might fail + PREFIX = /prefix=all + .ELSE # VAX with VAXC + CC_DEF = cc + PREFIX = + CCVER = + .ENDIF +! .ELSE # AXP wixh DECC + CC_DEF = cc + PREFIX = /prefix=all + .ENDIF + + LD_DEF = link + C_INC = [.proto] + +- .IFDEF OLD_VMS +- VMS_DEF = ,"OLD_VMS" +- .ENDIF +- + .IFDEF DEBUG + DEBUG_DEF = ,"DEBUG" + TARGET = dvim.exe +--- 99,123 ---- + + .IFDEF MMSVAX + .IFDEF DECC # VAX with DECC +! CC_DEF = cc # /decc # some versions require /decc switch but when it is not required /ver might fail + PREFIX = /prefix=all ++ OPTIMIZE= /noopt # do not optimize on VAX. The compiler has hard time with crypto functions + .ELSE # VAX with VAXC + CC_DEF = cc + PREFIX = ++ OPTIMIZE= /noopt + CCVER = + .ENDIF +! .ELSE # AXP and IA64 with DECC + CC_DEF = cc + PREFIX = /prefix=all ++ OPTIMIZE= /opt + .ENDIF + ++ + LD_DEF = link + C_INC = [.proto] + + .IFDEF DEBUG + DEBUG_DEF = ,"DEBUG" + TARGET = dvim.exe +*************** +*** 125,131 **** + LDFLAGS = /debug + .ELSE + TARGET = vim.exe +! CFLAGS = /opt$(PREFIX) + LDFLAGS = + .ENDIF + +--- 125,131 ---- + LDFLAGS = /debug + .ELSE + TARGET = vim.exe +! CFLAGS = $(OPTIMIZE)$(PREFIX) + LDFLAGS = + .ENDIF + +*************** +*** 274,279 **** +--- 274,284 ---- + MZSCH_OBJ = if_mzsch.obj + .ENDIF + ++ .IFDEF VIM_ICONV ++ # ICONV related setup ++ ICONV_DEF = ,"USE_ICONV" ++ .ENDIF ++ + ###################################################################### + # End of configuration section. + # Please, do not change anything below without programming experience. +*************** +*** 287,294 **** + + .SUFFIXES : .obj .c + +! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - +! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) - + $(CFLAGS)$(GUI_FLAG) - + /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) + +--- 292,299 ---- + + .SUFFIXES : .obj .c + +! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - +! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) - + $(CFLAGS)$(GUI_FLAG) - + /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) + +*************** +*** 296,303 **** + # It is specially formated for correct display of unix like includes + # as $(GUI_INC) - replaced with $(GUI_INC_VER) + # Otherwise should not be any other difference. +! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - +! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) - + $(CFLAGS)$(GUI_FLAG) - + /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) + +--- 301,308 ---- + # It is specially formated for correct display of unix like includes + # as $(GUI_INC) - replaced with $(GUI_INC_VER) + # Otherwise should not be any other difference. +! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - +! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) - + $(CFLAGS)$(GUI_FLAG) - + /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC)) + +*** ../vim-7.4.196/src/fileio.c 2014-02-23 22:58:12.072764176 +0100 +--- src/fileio.c 2014-03-12 15:55:50.200741288 +0100 +*************** +*** 7559,7565 **** + p = (char_u *)tempnam("tmp:", (char *)itmp); + if (p != NULL) + { +! /* VMS will use '.LOG' if we don't explicitly specify an extension, + * and VIM will then be unable to find the file later */ + STRCPY(itmp, p); + STRCAT(itmp, ".txt"); +--- 7559,7565 ---- + p = (char_u *)tempnam("tmp:", (char *)itmp); + if (p != NULL) + { +! /* VMS will use '.LIS' if we don't explicitly specify an extension, + * and VIM will then be unable to find the file later */ + STRCPY(itmp, p); + STRCAT(itmp, ".txt"); +*** ../vim-7.4.196/src/os_unix.c 2013-12-11 17:12:32.000000000 +0100 +--- src/os_unix.c 2014-03-12 16:25:11.144768271 +0100 +*************** +*** 2965,2971 **** +--- 2965,2990 ---- + + if (stat((char *)name, &st)) + return 0; ++ #ifdef VMS ++ /* Like on Unix system file can have executable rights but not necessarily ++ * be an executable, but on Unix is not a default for an ordianry file to ++ * have an executable flag - on VMS it is in most cases. ++ * Therefore, this check does not have any sense - let keep us to the ++ * conventions instead: ++ * *.COM and *.EXE files are the executables - the rest are not. This is ++ * not ideal but better then it was. ++ */ ++ int vms_executable = 0; ++ if (S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0) ++ { ++ if (strstr(vms_tolower((char*)name),".exe") != NULL ++ || strstr(vms_tolower((char*)name),".com")!= NULL) ++ vms_executable = 1; ++ } ++ return vms_executable; ++ #else + return S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0; ++ #endif + } + + /* +*************** +*** 2983,2989 **** +--- 3002,3010 ---- + /* If it's an absolute or relative path don't need to use $PATH. */ + if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/' + || (name[1] == '.' && name[2] == '/')))) ++ { + return executable_file(name); ++ } + + p = (char_u *)getenv("PATH"); + if (p == NULL || *p == NUL) +*** ../vim-7.4.196/src/os_unix.h 2013-12-11 17:12:32.000000000 +0100 +--- src/os_unix.h 2014-03-12 15:55:50.204741288 +0100 +*************** +*** 302,308 **** + # define USR_VIMRC_FILE2 "$HOME/vimfiles/vimrc" + # else + # ifdef VMS +! # define USR_VIMRC_FILE2 "sys$login:vimfiles:vimrc" + # else + # define USR_VIMRC_FILE2 "~/.vim/vimrc" + # endif +--- 302,308 ---- + # define USR_VIMRC_FILE2 "$HOME/vimfiles/vimrc" + # else + # ifdef VMS +! # define USR_VIMRC_FILE2 "sys$login:vimfiles/vimrc" + # else + # define USR_VIMRC_FILE2 "~/.vim/vimrc" + # endif +*************** +*** 329,335 **** + # define USR_GVIMRC_FILE2 "$HOME/vimfiles/gvimrc" + # else + # ifdef VMS +! # define USR_GVIMRC_FILE2 "sys$login:vimfiles:gvimrc" + # else + # define USR_GVIMRC_FILE2 "~/.vim/gvimrc" + # endif +--- 329,335 ---- + # define USR_GVIMRC_FILE2 "$HOME/vimfiles/gvimrc" + # else + # ifdef VMS +! # define USR_GVIMRC_FILE2 "sys$login:vimfiles/gvimrc" + # else + # define USR_GVIMRC_FILE2 "~/.vim/gvimrc" + # endif +*** ../vim-7.4.196/src/os_vms.c 2013-12-11 17:12:32.000000000 +0100 +--- src/os_vms.c 2014-03-12 16:26:17.544769288 +0100 +*************** +*** 296,301 **** +--- 296,313 ---- + } + + /* ++ * Convert string to lowercase - most often filename ++ */ ++ char * ++ vms_tolower( char *name ) ++ { ++ int i,nlen = strlen(name); ++ for (i = 0; i < nlen; i++) ++ name[i] = TOLOWER_ASC(name[i]); ++ return name; ++ } ++ ++ /* + * Convert VMS system() or lib$spawn() return code to Unix-like exit value. + */ + int +*************** +*** 361,373 **** + vms_wproc(char *name, int val) + { + int i; +- int nlen; + static int vms_match_alloced = 0; + +! if (val != DECC$K_FILE) /* Directories and foreign non VMS files are not +! counting */ + return 1; + + if (vms_match_num == 0) { + /* first time through, setup some things */ + if (NULL == vms_fmatch) { +--- 373,384 ---- + vms_wproc(char *name, int val) + { + int i; + static int vms_match_alloced = 0; + +! if (val == DECC$K_FOREIGN ) /* foreign non VMS files are not counting */ + return 1; + ++ /* accept all DECC$K_FILE and DECC$K_DIRECTORY */ + if (vms_match_num == 0) { + /* first time through, setup some things */ + if (NULL == vms_fmatch) { +*************** +*** 383,394 **** + } + } + + vms_remove_version(name); +! +! /* convert filename to lowercase */ +! nlen = strlen(name); +! for (i = 0; i < nlen; i++) +! name[i] = TOLOWER_ASC(name[i]); + + /* if name already exists, don't add it */ + for (i = 0; i 0) + cnt = vms_match_num; + +--- 458,470 ---- + STRCPY(buf,pat[i]); + + vms_match_num = 0; /* reset collection counter */ +! result = decc$translate_vms(vms_fixfilename(buf)); +! if ( (int) result == 0 || (int) result == -1 ) { +! cnt = 0; +! } +! else { +! cnt = decc$to_vms(result, vms_wproc, 1 /*allow wild*/ , (flags & EW_DIR ? 0:1 ) /*allow directory*/) ; +! } + if (cnt > 0) + cnt = vms_match_num; + +*************** +*** 497,506 **** + mch_expandpath(garray_T *gap, char_u *path, int flags) + { + int i,cnt = 0; +! vms_match_num = 0; + +! cnt = decc$to_vms(decc$translate_vms(vms_fixfilename(path)), vms_wproc, 1, 0); +! /* allow wild, no dir */ + if (cnt > 0) + cnt = vms_match_num; + for (i = 0; i < cnt; i++) +--- 511,528 ---- + mch_expandpath(garray_T *gap, char_u *path, int flags) + { + int i,cnt = 0; +! char *result; + +! vms_match_num = 0; +! /* the result from the decc$translate_vms needs to be handled */ +! /* otherwise it might create ACCVIO error in decc$to_vms */ +! result = decc$translate_vms(vms_fixfilename(path)); +! if ( (int) result == 0 || (int) result == -1 ) { +! cnt = 0; +! } +! else { +! cnt = decc$to_vms(result, vms_wproc, 1 /*allow_wild*/, (flags & EW_DIR ? 0:1 ) /*allow directory*/); +! } + if (cnt > 0) + cnt = vms_match_num; + for (i = 0; i < cnt; i++) +*************** +*** 521,526 **** +--- 543,549 ---- + char *end_of_dir; + char ch; + int len; ++ char *out_str=out; + + /* copy vms filename portion up to last colon + * (node and/or disk) +*************** +*** 602,608 **** + *end_of_dir = ']'; + } + +- + /* + * for decc$to_vms in vms_fixfilename + */ +--- 625,630 ---- +*************** +*** 710,735 **** + struct _generic_64 time_diff; + struct _generic_64 time_out; + unsigned int convert_operation = LIB$K_DELTA_SECONDS_F; +! float sec = (float) msec / 1000; + + /* make sure the iochan is set */ + if (!iochan) + get_tty(); + +! if (msec > 0) { + /* time-out specified; convert it to absolute time */ + + /* get current time (number of 100ns ticks since the VMS Epoch) */ + status = sys$gettim(&time_curr); + if (status != SS$_NORMAL) + return 0; /* error */ +- + /* construct the delta time */ +! status = lib$cvtf_to_internal_time( + &convert_operation, &sec, &time_diff); + if (status != LIB$_NORMAL) + return 0; /* error */ +- + /* add them up */ + status = lib$add_times( + &time_curr, +--- 732,764 ---- + struct _generic_64 time_diff; + struct _generic_64 time_out; + unsigned int convert_operation = LIB$K_DELTA_SECONDS_F; +! float sec =(float) msec/1000; + + /* make sure the iochan is set */ + if (!iochan) + get_tty(); + +! if (sec > 0) { + /* time-out specified; convert it to absolute time */ ++ /* sec>0 requirement of lib$cvtf_to_internal_time()*/ + + /* get current time (number of 100ns ticks since the VMS Epoch) */ + status = sys$gettim(&time_curr); + if (status != SS$_NORMAL) + return 0; /* error */ + /* construct the delta time */ +! #if __G_FLOAT==0 +! # ifndef VAX +! /* IEEE is default on IA64, but can be used on Alpha too - but not on VAX */ +! status = lib$cvts_to_internal_time( + &convert_operation, &sec, &time_diff); ++ # endif ++ #else /* default on Alpha and VAX */ ++ status = lib$cvtf_to_internal_time( ++ &convert_operation, &sec, &time_diff); ++ #endif + if (status != LIB$_NORMAL) + return 0; /* error */ + /* add them up */ + status = lib$add_times( + &time_curr, +*** ../vim-7.4.196/src/os_vms_conf.h 2014-02-23 22:52:33.372764715 +0100 +--- src/os_vms_conf.h 2014-03-12 15:55:50.204741288 +0100 +*************** +*** 166,173 **** + #undef HAVE_SYS_TIME_H + #undef HAVE_LOCALE_H + #define BROKEN_LOCALE +- #undef HAVE_ICONV_H +- #undef HAVE_ICONV + #undef DYNAMIC_ICONV + #undef HAVE_STRFTIME + #else +--- 166,171 ---- +*************** +*** 177,188 **** + #define HAVE_SYS_TIME_H + #define HAVE_LOCALE_H + #define BROKEN_LOCALE +- #undef HAVE_ICONV_H +- #undef HAVE_ICONV + #undef DYNAMIC_ICONV + #define HAVE_STRFTIME + #endif + + /* GUI support defines */ + #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) + #define HAVE_X11 +--- 175,192 ---- + #define HAVE_SYS_TIME_H + #define HAVE_LOCALE_H + #define BROKEN_LOCALE + #undef DYNAMIC_ICONV + #define HAVE_STRFTIME + #endif + ++ #if defined(USE_ICONV) ++ #define HAVE_ICONV_H ++ #define HAVE_ICONV ++ #else ++ #undef HAVE_ICONV_H ++ #undef HAVE_ICONV ++ #endif ++ + /* GUI support defines */ + #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) + #define HAVE_X11 +*** ../vim-7.4.196/src/proto/os_vms.pro 2013-08-10 13:37:40.000000000 +0200 +--- src/proto/os_vms.pro 2014-03-12 15:55:50.204741288 +0100 +*************** +*** 7,12 **** +--- 7,13 ---- + int vms_sys __ARGS((char *cmd, char *out, char *inp)); + int vms_sys_status __ARGS((int status)); + int vms_read __ARGS((char *inbuf, size_t nbytes)); ++ char *vms_tolower __ARGS((char *name)); + int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags)); + int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags)); + void *vms_fixfilename __ARGS((void *instring)); +*** ../vim-7.4.196/src/testdir/Make_vms.mms 2014-02-23 23:38:58.812760280 +0100 +--- src/testdir/Make_vms.mms 2014-03-12 16:06:22.888750982 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2014 Feb 23 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, + # Sandor Kopanyi, + # +! # Last change: 2014 Mar 12 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 41,56 **** + # They fail because VMS does not support file names. + # WANT_SPELL = YES + +! # Comment out if you want to run mzschema tests. + # It fails because VMS does not support this feature yet. + # WANT_MZSCH = YES + + # Comment out if you have gzip on your system + # HAVE_GZIP = YES + + # Comment out if you have GNU compatible diff on your system + # HAVE_GDIFF = YES + + ####################################################################### + # End of configuration section. + # +--- 41,71 ---- + # They fail because VMS does not support file names. + # WANT_SPELL = YES + +! # Comment out if you want to run mzschema tests. + # It fails because VMS does not support this feature yet. + # WANT_MZSCH = YES + ++ # Comment out if you have ODS-5 file system ++ # HAVE_ODS5 = YES ++ + # Comment out if you have gzip on your system + # HAVE_GZIP = YES + + # Comment out if you have GNU compatible diff on your system + # HAVE_GDIFF = YES + ++ # Comment out if you have GNU compatible cksum on your system ++ # HAVE_CKSUM = YES ++ ++ # Comment out if you have ICONV support ++ # HAVE_ICONV = YES ++ ++ # Comment out if you have LUA support ++ # HAVE_LUA = YES ++ ++ # Comment out if you have PYTHON support ++ # HAVE_PYTHON = YES ++ + ####################################################################### + # End of configuration section. + # +*************** +*** 63,99 **** + + SCRIPT = test1.out test2.out test3.out test4.out test5.out \ + test6.out test7.out test8.out test9.out test10a.out\ +! test13.out test14.out test15.out test17.out \ + test18.out test19.out test20.out test21.out test22.out \ + test23.out test24.out test26.out \ + test28.out test29.out test30.out test31.out test32.out \ + test33.out test34.out test35.out test36.out test37.out \ + test38.out test39.out test40.out test41.out test42.out \ + test43.out test44.out test45.out test46.out \ +! test48.out test51.out test53.out test54.out test55.out \ +! test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ + test71.out test72.out test74.out test75.out test76.out \ +! test77.out test78.out test79.out test80.out test81.out \ +! test82.out test83.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ +! test95.out test96.out test97.out test98.out test99.out \ +! test100.out test101.out test102.out test103.out test104.out \ + test105.out + + # Known problems: +! # Test 30: a problem around mac format - unknown reason + # +! # Test 32: VMS is not case sensitive and all filenames are lowercase within Vim + # (this should be changed in order to preserve the original filename) - should + # be fixed. VMS allows just one dot in the filename + # +! # Test 58 and 59: Failed/Hangs - VMS does not support spell files (file names + # with too many dots). + # +! # Test 72: unknown reason +! # Test 85: no Lua interface + + .IFDEF WANT_GUI + SCRIPT_GUI = test16.out +--- 78,121 ---- + + SCRIPT = test1.out test2.out test3.out test4.out test5.out \ + test6.out test7.out test8.out test9.out test10a.out\ +! test13.out test14.out test15.out \ + test18.out test19.out test20.out test21.out test22.out \ + test23.out test24.out test26.out \ + test28.out test29.out test30.out test31.out test32.out \ + test33.out test34.out test35.out test36.out test37.out \ + test38.out test39.out test40.out test41.out test42.out \ + test43.out test44.out test45.out test46.out \ +! test48.out test49.out test51.out test53.out test54.out \ +! test55.out test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ + test71.out test72.out test74.out test75.out test76.out \ +! test77a.out test78.out test79.out test80.out test81.out \ +! test82.out test84.out test88.out test89.out \ + test90.out test91.out test92.out test93.out test94.out \ +! test95.out test96.out test98.out test99.out \ +! test100.out test101.out test103.out test104.out \ + test105.out + + # Known problems: +! # test17: ? +! # +! # test30: bug, most probably - a problem around mac format + # +! # test32: VMS is not case sensitive and all filenames are lowercase within Vim + # (this should be changed in order to preserve the original filename) - should + # be fixed. VMS allows just one dot in the filename + # +! # test58, test59: Failed/Hangs - VMS does not support spell files (file names + # with too many dots). + # +! # test72: bug - Vim hangs at :rename (while rename works well otherwise) +! # test78: bug - Vim dies at :recover Xtest +! # test83: ? +! # test85: no Lua interface +! # test89: bug - findfile() does not work on VMS (just in the current directory) +! # test97, test102: Just ODS-5 supports space and special chars in the filename. +! # On ODS-2 tests fail. + + .IFDEF WANT_GUI + SCRIPT_GUI = test16.out +*************** +*** 101,107 **** + .ENDIF + + .IFDEF WANT_UNIX +! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test49.out test73.out + .ENDIF + + .IFDEF WANT_WIN +--- 123,129 ---- + .ENDIF + + .IFDEF WANT_UNIX +! SCRIPT_UNIX = test10.out test12.out test17.out test25.out test27.out test49.out test73.out + .ENDIF + + .IFDEF WANT_WIN +*************** +*** 116,121 **** +--- 138,147 ---- + SCRIPT_MZSCH = test70.out + .ENDIF + ++ .IFDEF HAVE_ODS5 ++ SCRIPT_ODS5 = test97.out test102.out ++ .ENDIF ++ + .IFDEF HAVE_GZIP + SCRIPT_GZIP = test11.out + .ENDIF +*************** +*** 124,133 **** +--- 150,177 ---- + SCRIPT_GDIFF = test47.out + .ENDIF + ++ .IFDEF HAVE_CKSUM ++ SCRIPT_CKSUM = test77.out ++ .ENDIF ++ ++ .IFDEF HAVE_ICONV ++ SCRIPT_ICONV = test83.out ++ .ENDIF ++ ++ .IFDEF HAVE_LUA ++ SCRIPT_LUA = test85.out ++ .ENDIF ++ ++ .IFDEF HAVE_PYTHON ++ SCRIPT_PYTHON = test86.out test87.out ++ .ENDIF ++ + .in.out : + -@ !clean up before doing the test + -@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.* + -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then delete/noconfirm/nolog $*.out.* ++ -@ ! define TMP if not set - some tests use it ++ -@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP [] + -@ write sys$output " " + -@ write sys$output "-----------------------------------------------" + -@ write sys$output " "$*" " +*************** +*** 140,148 **** + -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok; + -@ !clean up after the test + -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.* + +! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) \ +! $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) nolog + -@ write sys$output " " + -@ write sys$output "-----------------------------------------------" + -@ write sys$output " All done" +--- 184,193 ---- + -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok; + -@ !clean up after the test + -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.* ++ -@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.* + +! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \ +! $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog + -@ write sys$output " " + -@ write sys$output "-----------------------------------------------" + -@ write sys$output " All done" +*************** +*** 165,177 **** + -@ write sys$output " Test results:" + -@ write sys$output "-----------------------------------------------" + -@ write sys$output "MAKE_VMS.MMS options:" +! -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" " +! -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" " +! -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" " +! -@ write sys$output " WANT_SPELL= ""$(WANT_SPELL)"" " +! -@ write sys$output " WANT_MZSCH= ""$(WANT_MZSCH)"" " +! -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" " +! -@ write sys$output " HAVE_GDIFF= ""$(HAVE_GDIFF)"" " + -@ write sys$output "Default vimrc file is VMS.VIM:" + -@ write sys$output "-----------------------------------------------" + -@ type VMS.VIM +--- 210,227 ---- + -@ write sys$output " Test results:" + -@ write sys$output "-----------------------------------------------" + -@ write sys$output "MAKE_VMS.MMS options:" +! -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" " +! -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" " +! -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" " +! -@ write sys$output " WANT_SPELL = ""$(WANT_SPELL)"" " +! -@ write sys$output " WANT_MZSCH = ""$(WANT_MZSCH)"" " +! -@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" " +! -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" " +! -@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" " +! -@ write sys$output " HAVE_CKSUM = ""$(HAVE_CKSUM)"" " +! -@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" " +! -@ write sys$output " HAVE_LUA = ""$(HAVE_LUA)"" " +! -@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" " + -@ write sys$output "Default vimrc file is VMS.VIM:" + -@ write sys$output "-----------------------------------------------" + -@ type VMS.VIM +*************** +*** 181,186 **** +--- 231,239 ---- + -@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.* + -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.* + -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.* ++ -@ if "''F$SEARCH("Xtest*.*")'" .NES. "" then delete/noconfirm/nolog Xtest*.*.* ++ -@ if "''F$SEARCH("XX*.*")'" .NES. "" then delete/noconfirm/nolog XX*.*.* ++ -@ if "''F$SEARCH("_un_*.*")'" .NES. "" then delete/noconfirm/nolog _un_*.*.* + -@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.* + -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.* + -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.* +*************** +*** 188,193 **** + -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.* + -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.* + -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.* +! -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.* + -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.* + +--- 241,246 ---- + -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.* + -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.* + -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.* +! -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.* + -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.* + +*** ../vim-7.4.196/src/testdir/test72.in 2012-01-04 19:04:17.000000000 +0100 +--- src/testdir/test72.in 2014-03-12 15:55:50.204741288 +0100 +*************** +*** 105,111 **** + u:.w >>test.out + :" + :" Rename the undo file so that it gets cleaned up. +! :call rename(".Xtestfile.un~", "Xtestundo") + :qa! + ENDTEST + +--- 105,115 ---- + u:.w >>test.out + :" + :" Rename the undo file so that it gets cleaned up. +! :if has("vms") +! : call rename("_un_Xtestfile", "Xtestundo") +! :else +! : call rename(".Xtestfile.un~", "Xtestundo") +! :endif + :qa! + ENDTEST + +*** ../vim-7.4.196/src/testdir/test77a.com 2014-03-12 16:49:10.740790329 +0100 +--- src/testdir/test77a.com 2014-03-12 16:40:04.316781957 +0100 +*************** +*** 0 **** +--- 1,8 ---- ++ $! test77a - help file creating checksum on VMS ++ $! Created by Zoltan Arpadffy ++ $ ++ $ IF P1 .NES. "" ++ $ THEN ++ $ checksum 'P1' ++ $ show symb CHECKSUM$CHECKSUM ++ $ ENDIF +*** ../vim-7.4.196/src/testdir/test77a.in 2014-03-12 16:49:10.748790329 +0100 +--- src/testdir/test77a.in 2014-03-12 15:55:50.204741288 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ Inserts 2 million lines with consecutive integers starting from 1 ++ (essentially, the output of GNU's seq 1 2000000), writes them to Xtest ++ and writes its cksum to test.out. ++ ++ We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess ++ up the lines the checksum would differ. ++ ++ cksum is part of POSIX and so should be available on most Unixes. ++ If it isn't available then the test will be skipped. ++ ++ VMS does not have CKSUM but has a built in CHECKSUM - it should be used ++ STARTTEST ++ :so small.vim ++ :if !has("vms") ++ : e! test.ok ++ : w! test.out ++ : qa! ++ :endif ++ :set fileformat=unix undolevels=-1 ++ ggdG ++ :let i = 1 ++ :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile ++ ggdd ++ :w! Xtest. ++ :r !@test77a.com Xtest. ++ :s/\s/ /g ++ :set fileformat& ++ :.w! test.out ++ :qa! ++ ENDTEST ++ +*** ../vim-7.4.196/src/testdir/test77a.ok 2014-03-12 16:49:10.756790330 +0100 +--- src/testdir/test77a.ok 2014-03-12 15:55:50.204741288 +0100 +*************** +*** 0 **** +--- 1 ---- ++ CHECKSUM$CHECKSUM = "844110470" +*** ../vim-7.4.196/src/undo.c 2014-01-23 18:12:44.695676751 +0100 +--- src/undo.c 2014-03-12 16:31:52.432774419 +0100 +*************** +*** 790,798 **** +--- 790,809 ---- + if (undo_file_name == NULL) + break; + p = gettail(undo_file_name); ++ #ifdef VMS ++ /* VMS can not handle more than one dot in the filenames ++ * use "dir/name" -> "dir/_un_name" - add _un_ ++ * at the beginning to keep the extension */ ++ mch_memmove(p + 4, p, STRLEN(p) + 1); ++ mch_memmove(p, "_un_", 4); ++ ++ #else ++ /* Use same directory as the ffname, ++ * "dir/name" -> "dir/.name.un~" */ + mch_memmove(p + 1, p, STRLEN(p) + 1); + *p = '.'; + STRCAT(p, ".un~"); ++ #endif + } + else + { +*** ../vim-7.4.196/src/version.c 2014-03-12 15:50:18.472736205 +0100 +--- src/version.c 2014-03-12 15:54:26.712740008 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 197, + /**/ + +-- +Violators can be fined, arrested or jailed for making ugly faces at a dog. + [real standing law in Oklahoma, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.198 b/patches/source/vim/patches/7.4.198 new file mode 100644 index 000000000..f204c2e04 --- /dev/null +++ b/patches/source/vim/patches/7.4.198 @@ -0,0 +1,103 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.198 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.198 +Problem: Can't build Vim with Perl when -Dusethreads is not specified for + building Perl, and building Vim with --enable-perlinterp=dynamic. +Solution: Adjust #ifdefs. (Yasuhiro Matsumoto) +Files: src/if_perl.xs + + +*** ../vim-7.4.197/src/if_perl.xs 2013-12-14 11:50:28.000000000 +0100 +--- src/if_perl.xs 2014-03-12 17:05:07.832804995 +0100 +*************** +*** 138,143 **** +--- 138,145 ---- + #endif + typedef int XSINIT_t; + typedef int XSUBADDR_t; ++ #endif ++ #ifndef USE_ITHREADS + typedef int perl_key; + #endif + +*************** +*** 264,270 **** + # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr + # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr + # if (PERL_REVISION == 5) && (PERL_VERSION >= 14) +! # define PL_thr_key *dll_PL_thr_key + # endif + + /* +--- 266,274 ---- + # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr + # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr + # if (PERL_REVISION == 5) && (PERL_VERSION >= 14) +! # ifdef USE_ITHREADS +! # define PL_thr_key *dll_PL_thr_key +! # endif + # endif + + /* +*************** +*** 386,392 **** +--- 390,398 ---- + #endif + + #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) ++ # ifdef USE_ITHREADS + static perl_key* dll_PL_thr_key; ++ # endif + #else + static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*); + static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*); +*************** +*** 413,419 **** +--- 419,427 ---- + #ifdef PERL5101_OR_LATER + {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, + #endif ++ #ifdef PERL_IMPLICIT_CONTEXT + {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, ++ #endif + {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, + {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, + {"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv}, +*************** +*** 505,511 **** +--- 513,521 ---- + # endif + #endif + #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) ++ # ifdef USE_ITHREADS + {"PL_thr_key", (PERL_PROC*)&dll_PL_thr_key}, ++ # endif + #else + {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr}, + {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr}, +*** ../vim-7.4.197/src/version.c 2014-03-12 16:51:35.060792541 +0100 +--- src/version.c 2014-03-12 17:06:27.660806218 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 198, + /**/ + +-- +Dogs must have a permit signed by the mayor in order to congregate in groups +of three or more on private property. + [real standing law in Oklahoma, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.199 b/patches/source/vim/patches/7.4.199 new file mode 100644 index 000000000..d421df0af --- /dev/null +++ b/patches/source/vim/patches/7.4.199 @@ -0,0 +1,106 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.199 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.199 +Problem: (issue 197) ]P doesn't paste over Visual selection. +Solution: Handle Visual mode specifically. (Christian Brabandt) +Files: src/normal.c + + +*** ../vim-7.4.198/src/normal.c 2014-02-23 23:38:58.824760280 +0100 +--- src/normal.c 2014-03-12 17:33:28.184831049 +0100 +*************** +*** 6751,6760 **** + { + if (!checkclearop(cap->oap)) + { + prep_redo_cmd(cap); +! do_put(cap->oap->regname, +! (cap->cmdchar == ']' && cap->nchar == 'p') ? FORWARD : BACKWARD, +! cap->count1, PUT_FIXINDENT); + } + } + +--- 6751,6808 ---- + { + if (!checkclearop(cap->oap)) + { ++ int dir = (cap->cmdchar == ']' && cap->nchar == 'p') ++ ? FORWARD : BACKWARD; ++ int regname = cap->oap->regname; ++ #ifdef FEAT_VISUAL ++ int was_visual = VIsual_active; ++ int line_count = curbuf->b_ml.ml_line_count; ++ pos_T start, end; ++ ++ if (VIsual_active) ++ { ++ start = ltoreq(VIsual, curwin->w_cursor) ++ ? VIsual : curwin->w_cursor; ++ end = equalpos(start,VIsual) ? curwin->w_cursor : VIsual; ++ curwin->w_cursor = (dir == BACKWARD ? start : end); ++ } ++ #endif ++ # ifdef FEAT_CLIPBOARD ++ adjust_clip_reg(®name); ++ # endif + prep_redo_cmd(cap); +! +! do_put(regname, dir, cap->count1, PUT_FIXINDENT); +! #ifdef FEAT_VISUAL +! if (was_visual) +! { +! VIsual = start; +! curwin->w_cursor = end; +! if (dir == BACKWARD) +! { +! /* adjust lines */ +! VIsual.lnum += curbuf->b_ml.ml_line_count - line_count; +! curwin->w_cursor.lnum += +! curbuf->b_ml.ml_line_count - line_count; +! } +! +! VIsual_active = TRUE; +! if (VIsual_mode == 'V') +! { +! /* delete visually selected lines */ +! cap->cmdchar = 'd'; +! cap->nchar = NUL; +! cap->oap->regname = regname; +! nv_operator(cap); +! do_pending_operator(cap, 0, FALSE); +! } +! if (VIsual_active) +! { +! end_visual_mode(); +! redraw_later(SOME_VALID); +! } +! } +! #endif + } + } + +*** ../vim-7.4.198/src/version.c 2014-03-12 17:08:01.508807656 +0100 +--- src/version.c 2014-03-12 17:30:36.908828425 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 199, + /**/ + +-- +No man may purchase alcohol without written consent from his wife. + [real standing law in Pennsylvania, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.200 b/patches/source/vim/patches/7.4.200 new file mode 100644 index 000000000..be3dfb38e --- /dev/null +++ b/patches/source/vim/patches/7.4.200 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.200 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.200 +Problem: Too many #ifdefs in the code. +Solution: Enable FEAT_VISUAL always, await any complaints +Files: src/feature.h + + +*** ../vim-7.4.199/src/feature.h 2014-02-23 22:52:33.372764715 +0100 +--- src/feature.h 2014-03-12 17:48:24.396844782 +0100 +*************** +*** 211,228 **** + #endif + + /* +! * +visual Visual mode. + * +visualextra Extra features for Visual mode (mostly block operators). + */ +! #ifdef FEAT_SMALL +! # define FEAT_VISUAL +! # ifdef FEAT_NORMAL +! # define FEAT_VISUALEXTRA +! # endif +! #else +! # ifdef FEAT_CLIPBOARD +! # undef FEAT_CLIPBOARD /* can't use clipboard without Visual mode */ +! # endif + #endif + + /* +--- 211,222 ---- + #endif + + /* +! * +visual Visual mode - now always included. + * +visualextra Extra features for Visual mode (mostly block operators). + */ +! #define FEAT_VISUAL +! #ifdef FEAT_NORMAL +! # define FEAT_VISUALEXTRA + #endif + + /* +*** ../vim-7.4.199/src/version.c 2014-03-12 17:41:59.128838878 +0100 +--- src/version.c 2014-03-12 17:52:28.080848516 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 200, + /**/ + +-- +It is illegal to take more than three sips of beer at a time while standing. + [real standing law in Texas, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.201 b/patches/source/vim/patches/7.4.201 new file mode 100644 index 000000000..9bed2b5cf --- /dev/null +++ b/patches/source/vim/patches/7.4.201 @@ -0,0 +1,273 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.201 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.201 +Problem: 'lispwords' is a global option. +Solution: Make 'lispwords' global-local. (Sung Pae) +Files: runtime/doc/options.txt, runtime/optwin.vim, src/buffer.c, + src/misc1.c, src/option.c, src/option.h, src/structs.h, + src/testdir/test100.in, src/testdir/test100.ok + + +*** ../vim-7.4.200/runtime/doc/options.txt 2014-02-23 23:38:58.820760280 +0100 +--- runtime/doc/options.txt 2014-03-12 18:20:30.748874299 +0100 +*************** +*** 4629,4635 **** + + *'lispwords'* *'lw'* + 'lispwords' 'lw' string (default is very long) +! global + {not in Vi} + {not available when compiled without the |+lispindent| + feature} +--- 4629,4635 ---- + + *'lispwords'* *'lw'* + 'lispwords' 'lw' string (default is very long) +! global or local to buffer |global-local| + {not in Vi} + {not available when compiled without the |+lispindent| + feature} +*** ../vim-7.4.200/runtime/optwin.vim 2013-06-29 14:32:06.000000000 +0200 +--- runtime/optwin.vim 2014-03-12 18:20:30.748874299 +0100 +*************** +*** 855,861 **** + call append("$", "\t(local to buffer)") + call BinOptionL("lisp") + call append("$", "lispwords\twords that change how lisp indenting works") +! call OptionG("lw", &lw) + endif + + +--- 855,861 ---- + call append("$", "\t(local to buffer)") + call BinOptionL("lisp") + call append("$", "lispwords\twords that change how lisp indenting works") +! call OptionL("lw", &lw) + endif + + +*** ../vim-7.4.200/src/buffer.c 2014-01-10 16:43:09.000000000 +0100 +--- src/buffer.c 2014-03-12 18:20:30.752874299 +0100 +*************** +*** 1978,1983 **** +--- 1978,1986 ---- + #endif + buf->b_p_ar = -1; + buf->b_p_ul = NO_LOCAL_UNDOLEVEL; ++ #ifdef FEAT_LISP ++ clear_string_option(&buf->b_p_lw); ++ #endif + } + + /* +*** ../vim-7.4.200/src/misc1.c 2013-11-06 04:01:31.000000000 +0100 +--- src/misc1.c 2014-03-12 18:20:30.752874299 +0100 +*************** +*** 8879,8885 **** + { + char_u buf[LSIZE]; + int len; +! char_u *word = p_lispwords; + + while (*word != NUL) + { +--- 8879,8885 ---- + { + char_u buf[LSIZE]; + int len; +! char_u *word = *curbuf->b_p_lw != NUL ? curbuf->b_p_lw : p_lispwords; + + while (*word != NUL) + { +*** ../vim-7.4.200/src/option.c 2014-01-14 16:54:53.000000000 +0100 +--- src/option.c 2014-03-12 18:20:30.752874299 +0100 +*************** +*** 134,139 **** +--- 134,140 ---- + #define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) + #ifdef FEAT_LISP + # define PV_LISP OPT_BUF(BV_LISP) ++ # define PV_LW OPT_BOTH(OPT_BUF(BV_LW)) + #endif + #define PV_MA OPT_BUF(BV_MA) + #define PV_ML OPT_BUF(BV_ML) +*************** +*** 1718,1724 **** + {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, + {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, + #ifdef FEAT_LISP +! (char_u *)&p_lispwords, PV_NONE, + {(char_u *)LISPWORD_VALUE, (char_u *)0L} + #else + (char_u *)NULL, PV_NONE, +--- 1719,1725 ---- + {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, + {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, + #ifdef FEAT_LISP +! (char_u *)&p_lispwords, PV_LW, + {(char_u *)LISPWORD_VALUE, (char_u *)0L} + #else + (char_u *)NULL, PV_NONE, +*************** +*** 5412,5417 **** +--- 5413,5421 ---- + check_string_option(&buf->b_p_dict); + check_string_option(&buf->b_p_tsr); + #endif ++ #ifdef FEAT_LISP ++ check_string_option(&buf->b_p_lw); ++ #endif + } + + /* +*************** +*** 9879,9884 **** +--- 9883,9893 ---- + case PV_UL: + buf->b_p_ul = NO_LOCAL_UNDOLEVEL; + break; ++ #ifdef FEAT_LISP ++ case PV_LW: ++ clear_string_option(&buf->b_p_lw); ++ break; ++ #endif + } + } + +*************** +*** 9928,9933 **** +--- 9937,9945 ---- + case PV_STL: return (char_u *)&(curwin->w_p_stl); + #endif + case PV_UL: return (char_u *)&(curbuf->b_p_ul); ++ #ifdef FEAT_LISP ++ case PV_LW: return (char_u *)&(curbuf->b_p_lw); ++ #endif + } + return NULL; /* "cannot happen" */ + } +*************** +*** 9994,9999 **** +--- 10006,10015 ---- + #endif + case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL + ? (char_u *)&(curbuf->b_p_ul) : p->var; ++ #ifdef FEAT_LISP ++ case PV_LW: return *curbuf->b_p_lw != NUL ++ ? (char_u *)&(curbuf->b_p_lw) : p->var; ++ #endif + + #ifdef FEAT_ARABIC + case PV_ARAB: return (char_u *)&(curwin->w_p_arab); +*************** +*** 10567,10572 **** +--- 10583,10591 ---- + #ifdef FEAT_PERSISTENT_UNDO + buf->b_p_udf = p_udf; + #endif ++ #ifdef FEAT_LISP ++ buf->b_p_lw = empty_option; ++ #endif + + /* + * Don't copy the options set by ex_help(), use the saved values, +*** ../vim-7.4.200/src/option.h 2014-01-10 15:32:17.000000000 +0100 +--- src/option.h 2014-03-12 18:20:30.752874299 +0100 +*************** +*** 990,995 **** +--- 990,996 ---- + , BV_KP + #ifdef FEAT_LISP + , BV_LISP ++ , BV_LW + #endif + , BV_MA + , BV_ML +*** ../vim-7.4.200/src/structs.h 2014-02-23 22:52:33.372764715 +0100 +--- src/structs.h 2014-03-12 18:20:30.752874299 +0100 +*************** +*** 1641,1646 **** +--- 1641,1649 ---- + #ifdef FEAT_PERSISTENT_UNDO + int b_p_udf; /* 'undofile' */ + #endif ++ #ifdef FEAT_LISP ++ char_u *b_p_lw; /* 'lispwords' local value */ ++ #endif + + /* end of buffer options */ + +*** ../vim-7.4.200/src/testdir/test100.in 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/test100.in 2014-03-12 18:25:27.792878851 +0100 +*************** +*** 1,4 **** +! Tests for 'undolevel' setting being global-local + + STARTTEST + :so small.vim +--- 1,4 ---- +! Tests for 'undolevel' and 'lispwords' settings being global-local + + STARTTEST + :so small.vim +*************** +*** 37,42 **** +--- 37,50 ---- + :call UndoLevel() + :%w >> test.out + :"sleep 10 ++ :" ++ :" Testing 'lispwords' ++ :" ++ :setglobal lispwords=foo,bar,baz ++ :setlocal lispwords-=foo | setlocal lispwords+=quux ++ :redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end ++ :setlocal lispwords< ++ :redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end + :qa! + ENDTEST + +*** ../vim-7.4.200/src/testdir/test100.ok 2013-11-07 03:25:51.000000000 +0100 +--- src/testdir/test100.ok 2014-03-12 18:25:27.792878851 +0100 +*************** +*** 39,41 **** +--- 39,51 ---- + + undolevels=50 global + undolevels=-123456 local ++ ++ Testing 'lispwords' local value ++ lispwords=foo,bar,baz ++ lispwords=bar,baz,quux ++ bar,baz,quux ++ ++ Testing 'lispwords' value reset ++ lispwords=foo,bar,baz ++ lispwords=foo,bar,baz ++ foo,bar,baz +*** ../vim-7.4.200/src/version.c 2014-03-12 17:56:42.960852421 +0100 +--- src/version.c 2014-03-12 18:19:13.720873119 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 201, + /**/ + +-- +Lawmakers made it obligatory for everybody to take at least one bath +each week -- on Saturday night. + [real standing law in Vermont, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.202 b/patches/source/vim/patches/7.4.202 new file mode 100644 index 000000000..5c50d8780 --- /dev/null +++ b/patches/source/vim/patches/7.4.202 @@ -0,0 +1,281 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.202 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.202 +Problem: MS-Windows: non-ASCII font names don't work. +Solution: Convert between the current code page and 'encoding'. (Ken Takata) +Files: src/gui_w48.c, src/os_mswin.c, src/proto/winclip.pro, + src/winclip.c + + +*** ../vim-7.4.201/src/gui_w48.c 2013-09-22 15:43:34.000000000 +0200 +--- src/gui_w48.c 2014-03-12 19:18:14.264927370 +0100 +*************** +*** 3069,3083 **** + char *p; + char *res; + char *charset_name; + + charset_name = charset_id2name((int)lf.lfCharSet); +! res = alloc((unsigned)(strlen(lf.lfFaceName) + 20 + + (charset_name == NULL ? 0 : strlen(charset_name) + 2))); + if (res != NULL) + { + p = res; + /* make a normal font string out of the lf thing:*/ +! sprintf((char *)p, "%s:h%d", lf.lfFaceName, pixels_to_points( + lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE)); + while (*p) + { +--- 3069,3094 ---- + char *p; + char *res; + char *charset_name; ++ char *font_name = lf.lfFaceName; + + charset_name = charset_id2name((int)lf.lfCharSet); +! #ifdef FEAT_MBYTE +! /* Convert a font name from the current codepage to 'encoding'. +! * TODO: Use Wide APIs (including LOGFONTW) instead of ANSI APIs. */ +! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) +! { +! int len; +! acp_to_enc(lf.lfFaceName, strlen(lf.lfFaceName), +! (char_u **)&font_name, &len); +! } +! #endif +! res = alloc((unsigned)(strlen(font_name) + 20 + + (charset_name == NULL ? 0 : strlen(charset_name) + 2))); + if (res != NULL) + { + p = res; + /* make a normal font string out of the lf thing:*/ +! sprintf((char *)p, "%s:h%d", font_name, pixels_to_points( + lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE)); + while (*p) + { +*************** +*** 3102,3107 **** +--- 3113,3122 ---- + } + } + ++ #ifdef FEAT_MBYTE ++ if (font_name != lf.lfFaceName) ++ vim_free(font_name); ++ #endif + return res; + } + +*** ../vim-7.4.201/src/os_mswin.c 2014-02-11 17:05:57.278217857 +0100 +--- src/os_mswin.c 2014-03-12 19:18:14.264927370 +0100 +*************** +*** 2867,2878 **** +--- 2867,2893 ---- + { + char_u *p; + int i; ++ int ret = FAIL; + static LOGFONT *lastlf = NULL; ++ #ifdef FEAT_MBYTE ++ char_u *acpname = NULL; ++ #endif + + *lf = s_lfDefault; + if (name == NULL) + return OK; + ++ #ifdef FEAT_MBYTE ++ /* Convert 'name' from 'encoding' to the current codepage, because ++ * lf->lfFaceName uses the current codepage. ++ * TODO: Use Wide APIs instead of ANSI APIs. */ ++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) ++ { ++ int len; ++ enc_to_acp(name, strlen(name), &acpname, &len); ++ name = acpname; ++ } ++ #endif + if (STRCMP(name, "*") == 0) + { + #if defined(FEAT_GUI_W32) +*************** +*** 2887,2896 **** + cf.lpLogFont = lf; + cf.nFontType = 0 ; //REGULAR_FONTTYPE; + if (ChooseFont(&cf)) +! goto theend; +! #else +! return FAIL; + #endif + } + + /* +--- 2902,2910 ---- + cf.lpLogFont = lf; + cf.nFontType = 0 ; //REGULAR_FONTTYPE; + if (ChooseFont(&cf)) +! ret = OK; + #endif ++ goto theend; + } + + /* +*************** +*** 2899,2905 **** + for (p = name; *p && *p != ':'; p++) + { + if (p - name + 1 > LF_FACESIZE) +! return FAIL; /* Name too long */ + lf->lfFaceName[p - name] = *p; + } + if (p != name) +--- 2913,2919 ---- + for (p = name; *p && *p != ':'; p++) + { + if (p - name + 1 > LF_FACESIZE) +! goto theend; /* Name too long */ + lf->lfFaceName[p - name] = *p; + } + if (p != name) +*************** +*** 2927,2933 **** + did_replace = TRUE; + } + if (!did_replace || init_logfont(lf) == FAIL) +! return FAIL; + } + + while (*p == ':') +--- 2941,2947 ---- + did_replace = TRUE; + } + if (!did_replace || init_logfont(lf) == FAIL) +! goto theend; + } + + while (*p == ':') +*************** +*** 2988,3012 **** + p[-1], name); + EMSG(IObuff); + } +! return FAIL; + } + while (*p == ':') + p++; + } + +- #if defined(FEAT_GUI_W32) + theend: +- #endif + /* ron: init lastlf */ +! if (printer_dc == NULL) + { + vim_free(lastlf); + lastlf = (LOGFONT *)alloc(sizeof(LOGFONT)); + if (lastlf != NULL) + mch_memmove(lastlf, lf, sizeof(LOGFONT)); + } + +! return OK; + } + + #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */ +--- 3002,3028 ---- + p[-1], name); + EMSG(IObuff); + } +! goto theend; + } + while (*p == ':') + p++; + } ++ ret = OK; + + theend: + /* ron: init lastlf */ +! if (ret == OK && printer_dc == NULL) + { + vim_free(lastlf); + lastlf = (LOGFONT *)alloc(sizeof(LOGFONT)); + if (lastlf != NULL) + mch_memmove(lastlf, lf, sizeof(LOGFONT)); + } ++ #ifdef FEAT_MBYTE ++ vim_free(acpname); ++ #endif + +! return ret; + } + + #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */ +*** ../vim-7.4.201/src/proto/winclip.pro 2013-08-10 13:37:39.000000000 +0200 +--- src/proto/winclip.pro 2014-03-12 19:18:14.264927370 +0100 +*************** +*** 11,14 **** +--- 11,15 ---- + short_u *enc_to_utf16 __ARGS((char_u *str, int *lenp)); + char_u *utf16_to_enc __ARGS((short_u *str, int *lenp)); + void acp_to_enc __ARGS((char_u *str, int str_size, char_u **out, int *outlen)); ++ void enc_to_acp __ARGS((char_u *str, int str_size, char_u **out, int *outlen)); + /* vim: set ft=c : */ +*** ../vim-7.4.201/src/winclip.c 2013-07-01 21:05:53.000000000 +0200 +--- src/winclip.c 2014-03-12 19:18:14.264927370 +0100 +*************** +*** 797,800 **** +--- 797,825 ---- + vim_free(widestr); + } + } ++ ++ /* ++ * Convert from 'encoding' to the active codepage. ++ * Input is "str[str_size]". ++ * The result is in allocated memory: "out[outlen]". With terminating NUL. ++ */ ++ void ++ enc_to_acp(str, str_size, out, outlen) ++ char_u *str; ++ int str_size; ++ char_u **out; ++ int *outlen; ++ ++ { ++ LPWSTR widestr; ++ int len = str_size; ++ ++ widestr = (WCHAR *)enc_to_utf16(str, &len); ++ if (widestr != NULL) ++ { ++ WideCharToMultiByte_alloc(GetACP(), 0, widestr, len, ++ (LPSTR *)out, outlen, 0, 0); ++ vim_free(widestr); ++ } ++ } + #endif +*** ../vim-7.4.201/src/version.c 2014-03-12 18:55:52.104906804 +0100 +--- src/version.c 2014-03-12 19:19:01.388928092 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 202, + /**/ + +-- + Girls are like internet domain names, + the ones I like are already taken. + Well, you can stil get one from a strange country :-P + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.203 b/patches/source/vim/patches/7.4.203 new file mode 100644 index 000000000..d5cb84ae2 --- /dev/null +++ b/patches/source/vim/patches/7.4.203 @@ -0,0 +1,203 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.203 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.203 +Problem: Parsing 'errorformat' is not correct. +Solution: Reset "multiignore" at the start of a multi-line message. (Lcd) +Files: src/quickfix.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test106.in, + src/testdir/test106.ok + + +*** ../vim-7.4.202/src/quickfix.c 2013-07-01 21:16:44.000000000 +0200 +--- src/quickfix.c 2014-03-12 19:35:22.016943118 +0100 +*************** +*** 751,757 **** +--- 751,760 ---- + fmt_start = fmt_ptr; + + if (vim_strchr((char_u *)"AEWI", idx) != NULL) ++ { + multiline = TRUE; /* start of a multi-line message */ ++ multiignore = FALSE; /* reset continuation */ ++ } + else if (vim_strchr((char_u *)"CZ", idx) != NULL) + { /* continuation of multi-line msg */ + if (qfprev == NULL) +*** ../vim-7.4.202/src/testdir/Make_amiga.mak 2014-02-23 23:38:58.808760280 +0100 +--- src/testdir/Make_amiga.mak 2014-03-12 19:32:32.192940516 +0100 +*************** +*** 35,41 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out test105.out + + .SUFFIXES: .in .out + +--- 35,41 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out test105.out test106.out + + .SUFFIXES: .in .out + +*************** +*** 157,159 **** +--- 157,160 ---- + test103.out: test103.in + test104.out: test104.in + test105.out: test105.in ++ test106.out: test106.in +*** ../vim-7.4.202/src/testdir/Make_dos.mak 2014-02-23 23:38:58.808760280 +0100 +--- src/testdir/Make_dos.mak 2014-03-12 19:32:40.100940637 +0100 +*************** +*** 34,40 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ + test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + SCRIPTS32 = test50.out test70.out + +--- 34,40 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ + test100.out test101.out test102.out test103.out test104.out \ +! test105.out test106.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.202/src/testdir/Make_ming.mak 2014-02-23 23:38:58.812760280 +0100 +--- src/testdir/Make_ming.mak 2014-03-12 19:32:44.948940712 +0100 +*************** +*** 54,60 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ + test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + SCRIPTS32 = test50.out test70.out + +--- 54,60 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ + test100.out test101.out test102.out test103.out test104.out \ +! test105.out test106.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.4.202/src/testdir/Make_os2.mak 2014-02-23 23:38:58.812760280 +0100 +--- src/testdir/Make_os2.mak 2014-03-12 19:32:48.112940760 +0100 +*************** +*** 36,42 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ + test100.out test101.out test102.out test103.out test104.out \ +! test105.out + + .SUFFIXES: .in .out + +--- 36,42 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test98.out test99.out \ + test100.out test101.out test102.out test103.out test104.out \ +! test105.out test106.out + + .SUFFIXES: .in .out + +*** ../vim-7.4.202/src/testdir/Make_vms.mms 2014-03-12 16:51:35.060792541 +0100 +--- src/testdir/Make_vms.mms 2014-03-12 19:32:51.836940817 +0100 +*************** +*** 95,101 **** + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test98.out test99.out \ + test100.out test101.out test103.out test104.out \ +! test105.out + + # Known problems: + # test17: ? +--- 95,101 ---- + test90.out test91.out test92.out test93.out test94.out \ + test95.out test96.out test98.out test99.out \ + test100.out test101.out test103.out test104.out \ +! test105.out test106.out + + # Known problems: + # test17: ? +*** ../vim-7.4.202/src/testdir/Makefile 2014-03-12 15:50:18.472736205 +0100 +--- src/testdir/Makefile 2014-03-12 19:32:13.884940236 +0100 +*************** +*** 31,37 **** + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out test105.out + + SCRIPTS_GUI = test16.out + +--- 31,37 ---- + test89.out test90.out test91.out test92.out test93.out \ + test94.out test95.out test96.out test97.out test98.out \ + test99.out test100.out test101.out test102.out test103.out \ +! test104.out test105.out test106.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.4.202/src/testdir/test106.in 2014-03-12 19:40:59.584948291 +0100 +--- src/testdir/test106.in 2014-03-12 19:33:30.332941407 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ Tests for errorformat. vim: set ft=vim ts=8 : ++ ++ STARTTEST ++ :so small.vim ++ :if !has('quickfix') | e! test.ok | wq! test.out | endif ++ :set efm=%EEEE%m,%WWWW%m,%+CCCC%.%#,%-GGGG%.%# ++ :cgetexpr ['WWWW', 'EEEE', 'CCCC'] ++ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) ++ :cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC'] ++ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) ++ :cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY'] ++ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) ++ :/^Results/,$wq! test.out ++ ENDTEST ++ ++ Results of test106: +*** ../vim-7.4.202/src/testdir/test106.ok 2014-03-12 19:40:59.592948291 +0100 +--- src/testdir/test106.ok 2014-03-12 19:33:50.496941716 +0100 +*************** +*** 0 **** +--- 1,4 ---- ++ Results of test106: ++ [['W', 1], ['E^@CCCC', 1]] ++ [['W', 1], ['E^@CCCC', 1]] ++ [['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]] +*** ../vim-7.4.202/src/version.c 2014-03-12 19:24:32.508933166 +0100 +--- src/version.c 2014-03-12 19:39:34.344946985 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 203, + /**/ + +-- +"I know that there are people who don't love their fellow man, +and I hate those people!" - Tom Lehrer + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/patches/source/vim/patches/7.4.204 b/patches/source/vim/patches/7.4.204 new file mode 100644 index 000000000..c6b491e0b --- /dev/null +++ b/patches/source/vim/patches/7.4.204 @@ -0,0 +1,113 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.204 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.204 +Problem: A mapping where the second byte is 0x80 doesn't work. +Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro + Takasaki) +Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok + + +*** ../vim-7.4.203/src/getchar.c 2014-02-15 16:17:02.213903042 +0100 +--- src/getchar.c 2014-03-12 20:06:17.944971557 +0100 +*************** +*** 2206,2215 **** + #ifdef FEAT_MBYTE + /* Don't allow mapping the first byte(s) of a + * multi-byte char. Happens when mapping +! * and then changing 'encoding'. */ +! if (has_mbyte && MB_BYTE2LEN(c1) +! > (*mb_ptr2len)(mp->m_keys)) +! mlen = 0; + #endif + /* + * Check an entry whether it matches. +--- 2206,2221 ---- + #ifdef FEAT_MBYTE + /* Don't allow mapping the first byte(s) of a + * multi-byte char. Happens when mapping +! * and then changing 'encoding'. Beware +! * that 0x80 is escaped. */ +! { +! char_u *p1 = mp->m_keys; +! char_u *p2 = mb_unescape(&p1); +! +! if (has_mbyte && p2 != NULL +! && MB_BYTE2LEN(c1) > MB_PTR2LEN(p2)) +! mlen = 0; +! } + #endif + /* + * Check an entry whether it matches. +*** ../vim-7.4.203/src/testdir/test75.in 2013-11-02 04:19:10.000000000 +0100 +--- src/testdir/test75.in 2014-03-12 20:02:45.932968308 +0100 +*************** +*** 1,8 **** +--- 1,11 ---- + Tests for maparg(). ++ Also test utf8 map with a 0x80 byte. + + STARTTEST + :so small.vim ++ :so mbyte.vim + :set cpo-=< ++ :set encoding=utf8 + :" Test maparg() with a string result + :map foo isfoo + :vnoremap