From 75a4a592e5ccda30715f93563d741b83e0dcf39e Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Mon, 25 Apr 2011 13:37:00 +0000 Subject: Slackware 13.37 Mon Apr 25 13:37:00 UTC 2011 Slackware 13.37 x86_64 stable is released! Thanks to everyone who pitched in on this release: the Slackware team, the folks producing upstream code, and linuxquestions.org for providing a great forum for collaboration and testing. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. As always, thanks to the Slackware community for testing, suggestions, and feedback. :-) Have fun! --- source/d/autoconf/autoconf.SlackBuild | 15 +- source/d/automake/automake.SlackBuild | 9 +- source/d/binutils/binutils-2.20.51.0.8.tar.sign | 8 - source/d/binutils/binutils-2.21.51.0.6.tar.sign | 8 + source/d/binutils/binutils.SlackBuild | 32 +- source/d/binutils/release.binutils-2.20.51.0.8 | 491 ----------------- source/d/binutils/release.binutils-2.21.51.0.6 | 257 +++++++++ source/d/bison/bison.SlackBuild | 18 +- source/d/ccache/ccache.SlackBuild | 42 +- source/d/clisp/clisp.SlackBuild | 4 +- source/d/cmake/cmake.SlackBuild | 9 +- source/d/cvs/cvs.SlackBuild | 18 +- source/d/dev86/dev86.SlackBuild | 14 +- source/d/distcc/distcc.SlackBuild | 16 +- source/d/doxygen/doxygen.SlackBuild | 19 +- source/d/flex/flex.SlackBuild | 19 +- source/d/gcc/ecj-4.3.jar | Bin 1377431 -> 0 bytes source/d/gcc/ecj-4.5.jar | Bin 0 -> 1470676 bytes .../1000-fastjar-0.97-segfault.patch | 29 + .../fastjar-patches/1001-fastjar-0.97-len1.patch | 16 + .../1002-fastjar-0.97-filename0.patch | 14 + .../1003-fastjar-CVE-2010-0831.patch | 102 ++++ .../d/gcc/fastjar-patches/1004-fastjar-man.patch | 27 + source/d/gcc/gcc-no_fixincludes.diff | 12 +- source/d/gcc/gcc.SlackBuild | 211 +++++--- source/d/gdb/gdb.SlackBuild | 5 +- source/d/gettext-tools | 1 + source/d/git/git-1.7.1.tar.sign | 8 - source/d/git/git-1.7.4.4.tar.sign | 8 + source/d/git/git.SlackBuild | 4 +- source/d/gperf/gperf.SlackBuild | 23 +- source/d/guile/guile.SlackBuild | 9 +- source/d/indent/indent.SlackBuild | 17 +- source/d/libtool/libtool.SlackBuild | 15 +- source/d/libtool/libtool.no.moved.warning.diff | 32 +- source/d/m4/m4.SlackBuild | 22 +- source/d/make/make.SlackBuild | 41 +- source/d/nasm/nasm.SlackBuild | 9 +- source/d/oprofile/oprofile.SlackBuild | 4 +- source/d/p2c/p2c.SlackBuild | 19 +- source/d/perl/perl.SlackBuild | 33 +- source/d/pkg-config/pkg-config.SlackBuild | 24 +- source/d/pmake/pmake.SlackBuild | 17 +- source/d/python/python.SlackBuild | 4 +- source/d/python/python.pure64.diff | 12 +- .../python/python.readline.set_pre_input_hook.diff | 4 +- source/d/python/python.x86_64.diff | 183 +++---- source/d/ruby/ruby.SlackBuild | 17 +- source/d/slacktrack/OVERVIEW | 595 +++++++++++++++++++++ source/d/slacktrack/slacktrack.SlackBuild | 19 + source/d/strace/strace.SlackBuild | 28 +- source/d/subversion/subversion.SlackBuild | 2 +- source/d/swig/swig.SlackBuild | 20 +- source/d/yasm/slack-desc | 19 + source/d/yasm/yasm.SlackBuild | 216 ++++++++ 55 files changed, 1979 insertions(+), 821 deletions(-) delete mode 100644 source/d/binutils/binutils-2.20.51.0.8.tar.sign create mode 100644 source/d/binutils/binutils-2.21.51.0.6.tar.sign delete mode 100644 source/d/binutils/release.binutils-2.20.51.0.8 create mode 100644 source/d/binutils/release.binutils-2.21.51.0.6 delete mode 100644 source/d/gcc/ecj-4.3.jar create mode 100644 source/d/gcc/ecj-4.5.jar create mode 100644 source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch create mode 100644 source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch create mode 100644 source/d/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch create mode 100644 source/d/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch create mode 100644 source/d/gcc/fastjar-patches/1004-fastjar-man.patch create mode 120000 source/d/gettext-tools delete mode 100644 source/d/git/git-1.7.1.tar.sign create mode 100644 source/d/git/git-1.7.4.4.tar.sign create mode 100644 source/d/slacktrack/OVERVIEW create mode 100755 source/d/slacktrack/slacktrack.SlackBuild create mode 100644 source/d/yasm/slack-desc create mode 100755 source/d/yasm/yasm.SlackBuild (limited to 'source/d') diff --git a/source/d/autoconf/autoconf.SlackBuild b/source/d/autoconf/autoconf.SlackBuild index 7ed33f754..d71daa506 100755 --- a/source/d/autoconf/autoconf.SlackBuild +++ b/source/d/autoconf/autoconf.SlackBuild @@ -21,7 +21,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.65 +PKGNAM=autoconf +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j7 "} @@ -60,7 +61,7 @@ find . \ --prefix=/usr \ --infodir=/usr/info \ --mandir=/usr/man \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 @@ -71,9 +72,17 @@ gzip -9 $PKG/usr/man/man1/*.? mkdir -p $PKG/usr/doc/autoconf-$VERSION cp -a \ - AUTHORS BUGS COPYING* NEWS README THANKS TODO \ + AUTHORS BUGS COPYING* NEWS README* THANKS TODO \ $PKG/usr/doc/autoconf-$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 diff --git a/source/d/automake/automake.SlackBuild b/source/d/automake/automake.SlackBuild index b7ef13c6b..55353a400 100755 --- a/source/d/automake/automake.SlackBuild +++ b/source/d/automake/automake.SlackBuild @@ -23,7 +23,7 @@ VERSION=1.11.1 NUMJOBS=${NUMJOBS:-" -j7 "} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Note: the package is _built_ as 'noarch' # Automatically determine architecture for build & packaging: @@ -79,6 +79,13 @@ SHORTNAME=$(echo $VERSION | cut -f1,2 -d .) mkdir -p $PKG/usr/share/aclocal touch $PKG/usr/share/aclocal +# 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/automake-$VERSION mv $PKG/usr/share/doc/automake/* $PKG/usr/doc/automake-$VERSION cp -a \ diff --git a/source/d/binutils/binutils-2.20.51.0.8.tar.sign b/source/d/binutils/binutils-2.20.51.0.8.tar.sign deleted file mode 100644 index 321434264..000000000 --- a/source/d/binutils/binutils-2.20.51.0.8.tar.sign +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.9 (GNU/Linux) -Comment: See http://www.kernel.org/signature.html for info - -iD8DBQBLxPBQyGugalF9Dw4RAq+mAKCJbsksL4Hlb/tH9dL7kTbFE/BO8QCfXStv -0oOljJ/jyU8Z8SlaEywyfys= -=qMqR ------END PGP SIGNATURE----- diff --git a/source/d/binutils/binutils-2.21.51.0.6.tar.sign b/source/d/binutils/binutils-2.21.51.0.6.tar.sign new file mode 100644 index 000000000..f5824788e --- /dev/null +++ b/source/d/binutils/binutils-2.21.51.0.6.tar.sign @@ -0,0 +1,8 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) +Comment: See http://www.kernel.org/signature.html for info + +iD8DBQBNNlEFyGugalF9Dw4RAiCTAJ4iU8QPmGnj/bIA+qXwpNK926m3ywCeMEGE ++3QFy1J7SclHy+sNNX0unSA= +=OHU3 +-----END PGP SIGNATURE----- diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild index b0ffefb6e..a5616ea21 100755 --- a/source/d/binutils/binutils.SlackBuild +++ b/source/d/binutils/binutils.SlackBuild @@ -37,8 +37,27 @@ fi NUMJOBS=${NUMJOBS:-" -j7 "} +# Uncomment this to include the experimental gold linker: +GOLD=" --enable-gold=yes --enable-ld=default " + +# Set to ld.gold or ld.bfd: +DEFAULT_LD=ld.bfd + +# The --enable-initfini-array option was added in binutils-2.21.51.0.3. +# This option currently causes a world of hurt trying to compile glibc, +# and might break static libraries or cause other ill effects. There +# is an upstream patch for glibc but it does not avoid all of the known +# problems (and there may be some unknown ones, too), so we will avoid +# introducing this feature for now. +# References: +# http://sourceware.org/bugzilla/show_bug.cgi?id=12343 +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770 +NO_INITFINI=" --disable-initfini-array " + if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" + # The config option below is currently needed to compile on x86: + WERROR="--enable-werror=no" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -78,7 +97,12 @@ CFLAGS="$SLKCFLAGS" \ --enable-shared \ --enable-multilib \ --enable-64-bit-bfd \ + --enable-plugins \ + --enable-threads \ --enable-targets=$ARCH-slackware-linux \ + $GOLD \ + $NO_INITFINI \ + $WERROR \ --build=$ARCH-slackware-linux \ || exit 1 @@ -97,13 +121,19 @@ cp -a include/libiberty.h $PKG/usr/include/libiberty.h mv $PKG/usr/${ARCH}-slackware-linux/lib/ldscripts $PKG/usr/lib${LIBDIRSUFFIX} ( cd $PKG/usr/${ARCH}-slackware-linux ln -s /usr/lib${LIBDIRSUFFIX}/ldscripts lib/ldscripts - for FILE in ar as ld nm objcopy objdump ranlib strip ; do + for FILE in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip ; do if [ -r "/usr/bin/$FILE" ]; then rm -f bin/$FILE ln -s /usr/bin/$FILE bin/$FILE fi done ) + +# If the requested default linker is present, make it the default: +# Set the link differently on the system to change the default at runtime. +if [ -r $PKG/usr/bin/$DEFAULT_LD ]; then + ( cd $PKG/usr/bin ; rm -f ld ; ln -sf $DEFAULT_LD ld ) +fi find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null diff --git a/source/d/binutils/release.binutils-2.20.51.0.8 b/source/d/binutils/release.binutils-2.20.51.0.8 deleted file mode 100644 index d3d2bd8a7..000000000 --- a/source/d/binutils/release.binutils-2.20.51.0.8 +++ /dev/null @@ -1,491 +0,0 @@ -This is the beta release of binutils 2.20.51.0.8 for Linux, which is -based on binutils 2010 0412 in CVS on sourceware.org plus various -changes. It is purely for Linux. - -All relevant patches in patches have been applied to the source tree. -You can take a look at patches/README to see what have been applied and -in what order they have been applied. - -Starting from the 2.20.51.0.4 release, no diffs against the previous -release will be provided. - -You can enable both gold and bfd ld with --enable-gold=both. Gold will -be installed as ld.gold and bfd ld will be installed as ld.bfd. By -default, ld.gold will be installed as ld. You can use the configure -option, --enable-gold=both/bfd to choose bfd ld as the default linker, -ld. IA-32 binary and X64_64 binary tar balls are configured with ---enable-gold=both/bfd --enable-plugins --enable-threads. - -Starting from the 2.18.50.0.4 release, the x86 assembler no longer -accepts - - fnstsw %eax - -fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged. -Please use - - fnstsw %ax - -Starting from the 2.17.50.0.4 release, the default output section LMA -(load memory address) has changed for allocatable sections from being -equal to VMA (virtual memory address), to keeping the difference between -LMA and VMA the same as the previous output section in the same region. - -For - -.data.init_task : { *(.data.init_task) } - -LMA of .data.init_task section is equal to its VMA with the old linker. -With the new linker, it depends on the previous output section. You -can use - -.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) } - -to ensure that LMA of .data.init_task section is always equal to its -VMA. The linker script in the older 2.6 x86-64 kernel depends on the -old behavior. You can add AT (ADDR(section)) to force LMA of -.data.init_task section equal to its VMA. It will work with both old -and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and -above is OK. - -The new x86_64 assembler no longer accepts - - monitor %eax,%ecx,%edx - -You should use - - monitor %rax,%ecx,%edx - -or - monitor - -which works with both old and new x86_64 assemblers. They should -generate the same opcode. - -The new i386/x86_64 assemblers no longer accept instructions for moving -between a segment register and a 32bit memory location, i.e., - - movl (%eax),%ds - movl %ds,(%eax) - -To generate instructions for moving between a segment register and a -16bit memory location without the 16bit operand size prefix, 0x66, - - mov (%eax),%ds - mov %ds,(%eax) - -should be used. It will work with both new and old assemblers. The -assembler starting from 2.16.90.0.1 will also support - - movw (%eax),%ds - movw %ds,(%eax) - -without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are -available at - -http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch -http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch - -The ia64 assembler is now defaulted to tune for Itanium 2 processors. -To build a kernel for Itanium 1 processors, you will need to add - -ifeq ($(CONFIG_ITANIUM),y) - CFLAGS += -Wa,-mtune=itanium1 - AFLAGS += -Wa,-mtune=itanium1 -endif - -to arch/ia64/Makefile in your kernel source tree. - -Please report any bugs related to binutils 2.20.51.0.8 to -hjl.tools@gmail.com - -and - -http://www.sourceware.org/bugzilla/ - -Changes from binutils 2.20.51.0.7: - -1. Update from binutils 2010 0412. -2. Don't bind unique symbol locally. PR 11434. -3. Add DWARF 4 support to linker and readelf. -4. Fix --no-export-dynamic for PIE. PR 11413. -5. Speed up x86 assembler. -6. Use memmove instead of memcpy to copy overlap memory in assembler. -PR 11456. -7. Improve gold. -8. Improve VMS support. -9. Improve PE support. -10. Add TI C6X support. -11. Improve arm support. -12. Improve cris support. -13. Improve ppc support. - -Changes from binutils 2.20.51.0.6: - -1. Update from binutils 2010 0318. -2. Don't set ELFOSABI_LINUX for undefined STT_GNU_IFUNC symbols. -3. Improve x86 assembler error messages. -4. Support vpermilp[ds] for x86. -5. Fix strip for group sections. -6. Fix objcopy for PE PIE. PR 11396. -7. Avoid 32bit overflow in linker. -8. Correct backslash quote logic in assembler. PR 11356. -9. Improve linker --section-start support. PR 11304. -10. Properly update LMA. PR 11219. -11. Don't combine .init_array/.fini_array sections for relocatable link. -12. Add Solaris Sparc/x86 linker support. -13. Support dumping .ARM.exidx/.ARM.extab. -14. Add STT_GNU_IFUNC support for Sparc. -15. Improve gold. -16. Improve arm support. -17. Improve avr support. -18. Improve mips support. -19. Improve ppc support. -20. Improve xtensa support. - -Changes from binutils 2.20.51.0.5: - -1. Update from binutils 2010 0205. -2. Support x86 XSAVE extended state core dump. -3. Add an option, -mavxscalar=, to x86 assembler to encoding AVX -scalar instructions with VL=256 and update x86 disassembler. -4. Add xsave64/xrstor64 to x86 assembler/disassembler. -5. Add all the possible aliases for VPCOM* insns to x86 assembler. -5. Fix --gc-sections to detect unresolved symbol in DSO. PR 11218. -6. Support number of ELF program segments > 64K. -7. Support BSD4.4 extended archive write. -8. Report error on bad section name with "objdump -j". PR 11225. -9. Linker now checks if all files are present and indicates those missing. -PR 4437. -10. Allow adding section from empy file with objcopy. -11. Update C++ demangler to support vector. -12. Improve gold. -13. Improve arm support. -14. Improve hppa support. -15. Improve ppc support. -16. Improve s390 support. - -Changes from binutils 2.20.51.0.4: - -1. Update from binutils 2010 0115. -2. Optimize x86 assembler/disassembler. -3. Add a new program, elfedit, to edit ELF files. PR 11131. -4. Add --dyn-syms to readelf. PR 11146. -5. Remove "Warning: " from objcopy error message. PR 11130. -6. Fix linker --gc-sections with undefined __start_XXX/__stop_XXX symbols. -PR 11133. -7. Fix linker --gc-sections with SHT_NOTE section. PR 11143. -8. Fix a c++filt bug. PR 11137. -9. Fix assembler listing. PR 11122. -10. Improve gold. Change --enable-gold to --enable-gold=[both[/{gold,bfd}]]. -11. Improve arm support. -12. Improve mips support. -13. Improve ppc support. -14. Improve MacOS support. - -Changes from binutils 2.20.51.0.3: - -1. Update from binutils 2009 1214. -2. Update x86 assembler to check lockable instructions for lock prefix. -3. Update x86 disassembler to display all prefixes. -4. Support AMD XOP new instructions. -5. Fix an x86 assembler regression on Intel syntax. PR 11037. -6. Improve ia64 linker relaxation. PR 10955. -7. Add --no-relax linker option. -8. Update readelf to dump .debug_pubtype sections. -9. Improve gold: - a. Support linking against STT_GNU_IFUNC symbols defined in - shared libraries. - b. Support linking with STB_GNU_UNIQUE symbols. -10. Improve arm support. -11. Improve m68k support. -12. Improve mips support. -13. Improve ppc support. - -Changes from binutils 2.20.51.0.2: - -1. Update from binutils 2009 1109. -2. Fix "ld -s -static" with STT_GNU_IFUNC symbols. PR 10911. -3. Fix file permission on PIE with objcopy. PR 10802. -4. Fix x86 Intel syntax assembler with relocation. PR 10856. -5. Fix x86 Intel syntax assembler with far jump. PR 10740. -6. Add AMD LWP support. -7. Renamed linker option --add-needed to --copy-dt-needed-entries. -8. Support enabling both ld and gold with --enable-gold=both and ---enable-linker=[bfd,gold]. -9. Improve gold. -10. Improve arm support. -11. Improve cris support. -12. Improve hppa support. -13. Improve m68k support. -14. Improve RX support. -15. Improve spu support. -16. Improve vax support. -17. Improve MacOS support. -18. Improve Windows support. - -Changes from binutils 2.20.51.0.1: - -1. Update from binutils 2009 1009. -2. Add .cfi_sections to assembler. -3. Fix a linker bug with local dynamic symbols. PR 10630. -4. Add DWARF-3/DWARF-4 support. -5. Fix the x86 assembler PIC bug. PR 10677. -6. Fix the x86-64 displacement assembler bug. PR 10636. -7. Fix the x86 assembler bug with Intel memory syntax. PR 10637. -8. Fix the x86 PIC assembler bug with Intel syntax. PR 10704. -9. Add RX support. -10. Improve gold. -11. Improve arm support. -12. Improve bfin support. -13. Improve cr16 support. -14. Improve m68k support. -15. Improve mips support. -16. Improve ppc support. - -Changes from binutils 2.19.51.0.14: - -1. Update from binutils 2009 0905. -2. Add Intel L1OM support. -3. Add MicroBlaze support. -4. Fix assembler for DWARF info without .file/.loc directives. PR 10531. -5. Improve -pie with TLS relocations on ia32 and x86-64. PRs 6443/10434. -6. Fix linker page size support. PR 10569. -7. Fix wildcard in linker version script. PR 10518. -8. Fix strip with STB_GNU_UNIQUE. PR 10492. -9. Fix strip on unwriteable files. PR 10364. -10. Fix crash with "ld --build-id /usr/lib/libc.a". PR 10555. -11. Fix linker for Linux kernel build. PR 10429. -12. Support string merge on .comment section. -13. Improve build with C++ compiler. -14. Improve gold. -15. Improve arm support. -16. Improve bfin support. -11. Improve m32c support. -17. Improve m68k support. -18. Improve mep support. -19. Improve mips support. -20. Improve ppc support. -21. Improve spu support. -22. Improve xtensa support. - -Changes from binutils 2.19.51.0.13: - -1. Update from binutils 2009 0722. -2. Fix linker for STT_GNU_IFUNC symbols in static executables. PR 10433. -3. Fix linker bug for Linux kernel build. PR 10429. - -Changes from binutils 2.19.51.0.12: - -1. Update from binutils 2009 0721. -2. Fix linker for undefined STT_GNU_IFUNC symbols. PR 10426. -3. Fix x86 assembler for nops in 64bit. PR 10420. -4. Add a new option, --insn-width, to objdump. -5. Improve arm support. -6. Improve mips support. -7. Improve gold support. - -Changes from binutils 2.19.51.0.11: - -1. Update from binutils 2009 0716. -2. Fix x86 assembler for jumping to local STT_GNU_IFUNC symbols. -3. Fix x86 linker for relocatable link with local STT_GNU_IFUNC symbols. -4. Implement ppc STT_GNU_IFUNC support. -5. Support x86 FMA4. -6. Fix linker regression with Linux kernel build. -7. Support unordered references in DWARF reader. -8. Improve PE/COFF support. -8. Improve arm support. -9. Improve m10300 support. -10. Improve ppc support. -11. Improve spu support. -12. Improve gold support. - -Changes from binutils 2.19.51.0.10: - -1. Update from binutils 2009 0627. -2. Fix strip on static executable with STT_GNU_IFUNC symbol. PR 10337. -3. Add STB_GNU_UNIQUE support. -4. Fix objcopy on empty file. PR 10321. -5. Fix debug section for PE-COFF. -6. Suport build with gcc 4.5.0. -7. Improve arm support. -8. Improve ppc support. -9. Improve m10300 support. -10. Improve mep support. -11. Improve MacOS support. -12. Improve gold support. - -Changes from binutils 2.19.51.0.9: - -1. Update from binutils 2009 0618. -2. Update STT_GNU_IFUNC symbol support. PR 10269/10270. -3. Fix an assembler CFI bug. PR 10255. -4. Improve objdump. PR 10263/10288 -5. Improve readelf. -6. Improve arm support. -7. Improve moxie support. -8. Improve spu support. -9. Improve vax support. -10. Improve COFF/PE support. -11. Improve MacOS support. - -Changes from binutils 2.19.51.0.8: - -1. Update from binutils 2009 0606. -2. Update STT_GNU_IFUNC symbol support. - -Changes from binutils 2.19.51.0.7: - -1. Update from binutils 2009 0603. -2. Fix STT_GNU_IFUNC symbol with pointer equality. - -Changes from binutils 2.19.51.0.6: - -1. Update from binutils 2009 0601. -2. Update STT_GNU_IFUNC support. PR 10205. -3. Fix x86 asssembler Intel syntax regression with '$'. PR 10198. - -Changes from binutils 2.19.51.0.5: - -1. Update from binutils 2009 0529. -2. Rewrite STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE linker -support for STT_GNU_IFUNC symbols in shared library, dynamic executable -and static executable. -3. Add plugin support. -4. Improve spu support. - -Changes from binutils 2.19.51.0.4: - -1. Update from binutils 2009 0525. -2. Add STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE support to -assembler and linker. -3. Add LD_AS_NEEDED support to linker. -4. Remove AMD SSE5 support. -5. A new Intel syntax parser in x86 assembler. -6. Add DWARF discriminator support. -7. Add --64 support for x86 PE/COFF assembler. -8. Support common symbol with alignment for PE/COFF. -9. Improve gold support. -10. Improve arm support. -11. Improve mep support. -12. Improve mips support. -13. Improve ppc support. -14. Improve spu support. - -Changes from binutils 2.19.51.0.3: - -1. Update from binutils 2009 0418. -2. Remove EFI targets and use PEI targets for EFI. Add --file-alignment, ---heap, --image-base, --section-alignment, --stack and --subsystem command -line options for objcopy. PR 10074. -3. Update linker to warn alternate ELF machine code. -4. Fix x86 linker TLS transition. PR 9938. -5. Improve DWARF dumper to check relocations against STT_SECTION -symbol. -6. Guard DWARF dumper on bad DWARF input. -7. Add EM_ETPU and EM_SLE9X. Reserve 3 ELF machine types for Intel. -8. Adding a linker missing entry symbol warning for -pie. PR 9970. -9. Make the -e option for linker to imply -u. PR 6766. -10. Properly handle paging for PEI targets. -11. Fix assembler listing with input from stdin. -12. Update objcopy/string to generate symbol table if there is any -relocation in output. PR 9945. -13. Require texinfo 4.7 for build. PR 10039. -14. Add moxie support. -15. Improve gold support. -16. Improve AIX support. -17. Improve arm support. -18. Improve cris support. -19. Improve crx support. -20. Improve mips support. -21. Improve ppc support. -22. Improve s390 support. -23. Improve spu support. -24. Improve vax support. - -Changes from binutils 2.19.51.0.2: - -1. Update from binutils 2009 0310. -2. Fix strip on common symbols in relocatable file. PR 9933. -3. Fix --enable-targets=all build. -4. Fix ia64 build with -Wformat-security. PR 9874. -5. Add REGION_ALIAS support in linker script. -6. Add think archive support to readelf. -7. Improve DWARF support in objdump. -8. Improve alpha support. -9. Improve arm support. -10. Improve hppa support. -11. Improve m68k support. -12. Improve mips support. -13. Improve ppc support. -14. Improve xtensa support. -15. Add score 7 support. - -Changes from binutils 2.19.51.0.1: - -1. Update from binutils 2009 0204. -2. Support AVX Programming Reference (January, 2009) -3. Improve .s suffix support in x86 disassembler. -4. Add --prefix/--prefix-strip for objdump -S. PR 9784. -5. Change "ld --as-needed" to resolve undefined references in DSO. -6. Add -Ttext-segment to ld to set address of text segment. -7. Fix "ld -r --gc-sections --entry" crash with COMDAT group. PR 9727. -8. Improve linker compatibility for g++ 3.4 `.gnu.linkonce.r.*. -9. Add VMS/ia64 support. -10. Improve arm support. -11. Improve cris support. -12. Improve m68k support. -13. Improve mips support. -14. Improve spu support. - -Changes from binutils 2.19.50.0.1: - -1. Update from binutils 2009 0106. -2. Support AVX Programming Reference (December, 2008) -2. Encode AVX insns with 2byte VEX prefix if possible. -4. Add .s suffix support to swap register operands to x86 assembler. -5. Properly select NOP insns for code alignment in x86 assembler. -6. Fix 2 symbol visibility linker bugs. PRs 9676/9679. -7. Fix an ia64 linker relaxation bug. PR 7036. -8. Fix a symbol versioning bug. PR 7047. -9. Fix unitialized data in linker. PR 7028. -10. Avoid a linker crash on bad input. PR 7023. -11. Fix a linker memory leak. PR 7012. -12. Fix strip/objcopy crash on PT_GNU_RELRO. PR 7011. -13. Improve MacOS support. -14. Fix a COFF linker bug. PR 6945. -15. Add LM32 support. -16. Fix various arm bugs. -17. Fix various avr bugs. -18. Fix various CR16 bugs. -19. Fix various cris bugs. -20. Fix various m32c bugs. -21. Fix various m68k bugs. -22. Fix various mips bugs. -23. Fix various ppc bugs. -24. Fix various s390 bugs. -25. Fix various sparc bugs. -26. Fix various spu bugs. -27. Fix various xtensa bugs. - -The file list: - -1. binutils-2.20.51.0.8.tar.bz2. Source code. -2. binutils-2.20.51.0.8.i686.tar.bz2. IA-32 binary tar ball for RedHat - EL 5. -3. binutils-2.20.51.0.8.ia64.tar.bz2. IA-64 binary tar ball for RedHat - EL 5. -4. binutils-2.20.51.0.8.x86_64.tar.bz2. X64_64 binary tar ball for RedHat - EL 5. - -The primary sites for the beta Linux binutils are: - -1. http://www.kernel.org/pub/linux/devel/binutils/ - -Thanks. - - -H.J. Lu -hjl.tools@gmail.com -04/13/2010 diff --git a/source/d/binutils/release.binutils-2.21.51.0.6 b/source/d/binutils/release.binutils-2.21.51.0.6 new file mode 100644 index 000000000..38a38474f --- /dev/null +++ b/source/d/binutils/release.binutils-2.21.51.0.6 @@ -0,0 +1,257 @@ +This is the beta release of binutils 2.21.51.0.6 for Linux, which is +based on binutils 2011 0118 in CVS on sourceware.org plus various +changes. It is purely for Linux. + +All relevant patches in patches have been applied to the source tree. +You can take a look at patches/README to see what have been applied and +in what order they have been applied. + +Starting from the 2.21.51.0.3 release, you must remove .ctors/.dtors +section sentinels when building glibc or other C run-time libraries. +Otherwise, you will run into: + +http://sourceware.org/bugzilla/show_bug.cgi?id=12343 + +Starting from the 2.21.51.0.2 release, BFD linker has the working LTO +plugin support. It can be used with GCC 4.5 and above. For GCC 4.5, you +need to configure GCC with --enable-gold to enable LTO plugin support. + +Starting from the 2.21.51.0.2 release, binutils fully supports compressed +debug sections. However, compressed debug section isn't turned on by +default in assembler. I am planning to turn it on for x86 assembler in +the future release, which may lead to the Linux kernel bug messages like + +WARNING: lib/ts_kmp.o (.zdebug_aranges): unexpected non-allocatable section. + +But the resulting kernel works fine. + +Starting from the 2.20.51.0.4 release, no diffs against the previous +release will be provided. + +You can enable both gold and bfd ld with --enable-gold=both. Gold will +be installed as ld.gold and bfd ld will be installed as ld.bfd. By +default, ld.bfd will be installed as ld. You can use the configure +option, --enable-gold=both/gold to choose gold as the default linker, +ld. IA-32 binary and X64_64 binary tar balls are configured with +--enable-gold=both/ld --enable-plugins --enable-threads. + +Starting from the 2.18.50.0.4 release, the x86 assembler no longer +accepts + + fnstsw %eax + +fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged. +Please use + + fnstsw %ax + +Starting from the 2.17.50.0.4 release, the default output section LMA +(load memory address) has changed for allocatable sections from being +equal to VMA (virtual memory address), to keeping the difference between +LMA and VMA the same as the previous output section in the same region. + +For + +.data.init_task : { *(.data.init_task) } + +LMA of .data.init_task section is equal to its VMA with the old linker. +With the new linker, it depends on the previous output section. You +can use + +.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) } + +to ensure that LMA of .data.init_task section is always equal to its +VMA. The linker script in the older 2.6 x86-64 kernel depends on the +old behavior. You can add AT (ADDR(section)) to force LMA of +.data.init_task section equal to its VMA. It will work with both old +and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and +above is OK. + +The new x86_64 assembler no longer accepts + + monitor %eax,%ecx,%edx + +You should use + + monitor %rax,%ecx,%edx + +or + monitor + +which works with both old and new x86_64 assemblers. They should +generate the same opcode. + +The new i386/x86_64 assemblers no longer accept instructions for moving +between a segment register and a 32bit memory location, i.e., + + movl (%eax),%ds + movl %ds,(%eax) + +To generate instructions for moving between a segment register and a +16bit memory location without the 16bit operand size prefix, 0x66, + + mov (%eax),%ds + mov %ds,(%eax) + +should be used. It will work with both new and old assemblers. The +assembler starting from 2.16.90.0.1 will also support + + movw (%eax),%ds + movw %ds,(%eax) + +without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are +available at + +http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch +http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch + +The ia64 assembler is now defaulted to tune for Itanium 2 processors. +To build a kernel for Itanium 1 processors, you will need to add + +ifeq ($(CONFIG_ITANIUM),y) + CFLAGS += -Wa,-mtune=itanium1 + AFLAGS += -Wa,-mtune=itanium1 +endif + +to arch/ia64/Makefile in your kernel source tree. + +Please report any bugs related to binutils 2.21.51.0.6 to +hjl.tools@gmail.com + +and + +http://www.sourceware.org/bugzilla/ + +Changes from binutils 2.21.51.0.5: + +1. Update from binutils 2011 0118. +2. Fix x32 (ILP32) support. Renamed assembler option to --x32. It +can create working static and dynamic x32 executables. +3. Add BMI and TBM new instruction support. +4. Fix x86 disassembler to properly display sign-extended byte. +5. Improve IFUNC linker support. PRs 12366/12371. +6. Fix readelf bug on archive. PR 12408. +7. Fix a assembler when compressing empty debug sections. PR 12409. +8. Fix a warning symbol linker bug. PR 12339. +9. Fix a duplicated assert message linker bug. PR 12380. +10. Fix plugin linker build. PR 12391. +11. Fix a plugin linker crash. PR 12364. +12. Improve plugin linker. +13. Improve gold. +14. Improve arm support. +15. Improve mips support. +16. Improve rx support. + +Changes from binutils 2.21.51.0.4: + +1. Update from binutils 2011 0104. +2. Add ILP32 support: + +http://www.kernel.org/pub/linux/devel/binutils/ilp32/abi.pdf + +to Linux/x86-64. +3. Prevent the Linux x86-64 kernel build failure and remove +__ld_compatibility support. PR 12356. +4. Improve gold. +5. Improve Windows support. +6. Improve hppa support. +7. Improve mips support. + +Changes from binutils 2.21.51.0.3: + +1. Update from binutils 2010 1217. +2. Fix the Linux relocatable kernel build. PR 12327. +3. Improve mips support. + +Changes from binutils 2.21.51.0.2: + +1. Update from binutils 2010 1215. +2. Add BFD linker support for placing input .ctors/.dtors sections in +output .init_array/.fini_array section. Add SORT_BY_INIT_PRIORITY. The +benefits are + a. Avoid output .ctors/.dtors section in executables and shared + libraries. + b. Allow mixing input .ctors/.dtors sections with input + .init_array/.fini_array sectiobs. GCC PR 46770. +3. Add BFD linker support for "ld -r" on mixed IR/non-IR objects. Add +the new ELF section type SHT_GNU_OBJECT_ONLY (0x6ffffff8). See + +http://sourceware.org/bugzilla/show_bug.cgi?id=12291 + +4. Update BFD linker to accept -flto and -flto-partition= for GCC LTO +option compatibility. +5. Fix BFD linker to avoid touching uncompressed section content when +relocating DWARF debug sections for errror reporting. +6. Mark .gnu.lto_* sections with SHF_EXCLUDE. +7. Add --target option to ar. +8. Improve gold. +9. Improve AIX support. +10. Improve Windows support. +11. Improve mips support. + +Changes from binutils 2.21.51.0.1: + +1. Update from binutils 2010 1206. +2. Fix BFD and GOLD linker for compressed debug section support. +3. Fix BFD linker plugin support. PR ld/12246, ld/12247, ld/12248, +ld/12277, ld/12288 and ld/12289. +4. Update BFD linker to group .text.exit, text.startup and .text.hot +sections. +5. Fix linker for W_EH_PE_datarel handling. PR ld/12253. +6. Fix array access bug in readelf/elfedit. PR binutils/11742 and +binutils/12235. +7. Support dumping GDB .gdb_index section. +8. Install plugin-api.h. +9. Improve gold. +10. Improve Solaris support. +11. Improve VMS support. +12. Improve Windows support. +13. Improve arm support. +14. Improve bfin support. +15. Improve mips support. +16. Improve s390 support. +17. Improve z80 support. + +Changes from binutils 2.20.51.0.12: + +1. Update from binutils 2010 1110. +2. Fix ld plugin support. PRs lto/46291 and lto/46319. +3. Fix x86 assembler to properly fold _GLOBAL_OFFSET_TABLE_ in Intel +syntax. PR 12186. +4. Update assembler to ensure that group signature symbols have the name +of the group. +5. Avoid unnecessary relaxation in assembler. PR 12049. +6. Update linker NOLOAD processing. +7. Update linker not to include archive members when symbols therein have +already been defined. PR 12001. +8. Change objdump to display compressed section names without 'z'. +9. Improve gold. +10. Improve Solaris support. +11. Improve VMS support. +12. Improve Windows support. +13. Improve arm support. +14. Improve cr16 support. +15. Improve mips support. +16. Improve ppc support. +17. Improve tic6x support. + +The file list: + +1. binutils-2.21.51.0.6.tar.bz2. Source code. +2. binutils-2.21.51.0.6.i686.tar.bz2. IA-32 binary tar ball for RedHat + EL 5. +3. binutils-2.21.51.0.6.ia64.tar.bz2. IA-64 binary tar ball for RedHat + EL 5. +4. binutils-2.21.51.0.6.x86_64.tar.bz2. X64_64 binary tar ball for RedHat + EL 5. + +The primary sites for the beta Linux binutils are: + +1. http://www.kernel.org/pub/linux/devel/binutils/ + +Thanks. + + +H.J. Lu +hjl.tools@gmail.com +01/18/2011 diff --git a/source/d/bison/bison.SlackBuild b/source/d/bison/bison.SlackBuild index d41436251..b4835eedc 100755 --- a/source/d/bison/bison.SlackBuild +++ b/source/d/bison/bison.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,8 +21,9 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.4.2 -BUILD=${BUILD:-1} +PKGNAM=bison +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:--j6} @@ -84,12 +85,21 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \ rm -f $PKG/usr/info/dir gzip -9 $PKG/usr/info/* gzip -9 $PKG/usr/man/man1/bison.1 +gzip -9 $PKG/usr/man/man1/yacc.1 mkdir -p $PKG/usr/doc/bison-$VERSION cp -a \ - AUTHORS COPYING* INSTALL NEWS README REFERENCES THANKS doc/FAQ \ + AUTHORS COPYING* INSTALL NEWS README* REFERENCES THANKS doc/FAQ \ $PKG/usr/doc/bison-$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 diff --git a/source/d/ccache/ccache.SlackBuild b/source/d/ccache/ccache.SlackBuild index c7898ee85..ea0e5a690 100755 --- a/source/d/ccache/ccache.SlackBuild +++ b/source/d/ccache/ccache.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# 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 @@ -20,21 +20,32 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.4 -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} +PKGNAM=ccache +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | 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 + CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-ccache +NUMJOBS=${NUMJOBS:-" -j7 "} + rm -rf $PKG mkdir -p $TMP $PKG cd $TMP rm -rf ccache-$VERSION -tar xvf $CWD/ccache-$VERSION.tar.gz || exit 1 +tar xvf $CWD/ccache-$VERSION.tar.xz || exit 1 cd ccache-$VERSION || exit 1 chown -R root:root . find . \ @@ -43,16 +54,31 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -./configure --prefix=/usr +./configure \ + --prefix=/usr \ + --mandir=/usr/man make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 -gzip -9 $PKG/usr/man/man1/*.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/ccache-$VERSION cp -a \ - web/index.html README \ + *.txt \ $PKG/usr/doc/ccache-$VERSION # Strip binaries: diff --git a/source/d/clisp/clisp.SlackBuild b/source/d/clisp/clisp.SlackBuild index 4d6b43f48..c94838fac 100755 --- a/source/d/clisp/clisp.SlackBuild +++ b/source/d/clisp/clisp.SlackBuild @@ -21,8 +21,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.48 -DIRNAME=2.48 +VERSION=2.49 +DIRNAME=2.49 BUILD=${BUILD:-1} # Bundled libraries: diff --git a/source/d/cmake/cmake.SlackBuild b/source/d/cmake/cmake.SlackBuild index 25fd3b4f2..e3e1504eb 100755 --- a/source/d/cmake/cmake.SlackBuild +++ b/source/d/cmake/cmake.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# 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 @@ -75,7 +75,8 @@ CXXFLAGS="$SLKCFLAGS" \ ../configure \ --prefix=/usr \ --docdir=/doc/$PKGNAM-$VERSION \ - $SLKCONFIGFLAGS \ + --qt-gui \ + --system-libs \ --build=$ARCH-slackware-linux make $NUMJOBS || make || exit 1 @@ -89,6 +90,10 @@ if [ -r ../ChangeLog.txt ]; then touch -r ../ChangeLog.txt $DOCSDIR/ChangeLog.txt fi +# How many redundant docs do we need? +# If you really require the docbook, it is in the source. +rm -f $PKG/usr/doc/$PKGNAM-$VERSION/*.docbook + # Compress and link manpages, if any: if [ -d $PKG/usr/man ]; then ( cd $PKG/usr/man diff --git a/source/d/cvs/cvs.SlackBuild b/source/d/cvs/cvs.SlackBuild index f7cec7ace..4c3528cba 100755 --- a/source/d/cvs/cvs.SlackBuild +++ b/source/d/cvs/cvs.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,16 +22,28 @@ VERSION=1.11.23 -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} 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 + +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) diff --git a/source/d/dev86/dev86.SlackBuild b/source/d/dev86/dev86.SlackBuild index e4c06882c..5c4e1555f 100755 --- a/source/d/dev86/dev86.SlackBuild +++ b/source/d/dev86/dev86.SlackBuild @@ -24,9 +24,18 @@ PRGNAM=dev86 SRCNAM=Dev86src VERSION=0.16.17 -ARCH=${ARCH:-x86_64} BUILD=${BUILD:-2} +# 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-$PRGNAM @@ -41,6 +50,9 @@ elif [ "$ARCH" = "i686" ]; then elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi set -e diff --git a/source/d/distcc/distcc.SlackBuild b/source/d/distcc/distcc.SlackBuild index e65233859..c432cddb7 100755 --- a/source/d/distcc/distcc.SlackBuild +++ b/source/d/distcc/distcc.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,10 +22,20 @@ VERSION=2.18.3 -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} BUILD=${BUILD:-2} +# 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-distcc diff --git a/source/d/doxygen/doxygen.SlackBuild b/source/d/doxygen/doxygen.SlackBuild index 66ae4d360..97db3b100 100755 --- a/source/d/doxygen/doxygen.SlackBuild +++ b/source/d/doxygen/doxygen.SlackBuild @@ -87,11 +87,20 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ # If there are misplaced man pages, fix that: mv $PKG/usr/*.1 $PKG/usr/man/man1 -# 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 -) +# 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/doxygen-$VERSION cp -a \ diff --git a/source/d/flex/flex.SlackBuild b/source/d/flex/flex.SlackBuild index 8c1d1ec94..f46b24e94 100755 --- a/source/d/flex/flex.SlackBuild +++ b/source/d/flex/flex.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# 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 @@ -23,10 +23,20 @@ PKGNAM=flex VERSION=${VERSION:-2.5.35} -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} 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 + +NUMJOBS=${NUMJOBS:-" -j7 "} + CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-${PKGNAM} @@ -43,6 +53,9 @@ elif [ "$ARCH" = "s390" ]; then elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi cd $TMP diff --git a/source/d/gcc/ecj-4.3.jar b/source/d/gcc/ecj-4.3.jar deleted file mode 100644 index db02a5e24..000000000 Binary files a/source/d/gcc/ecj-4.3.jar and /dev/null differ diff --git a/source/d/gcc/ecj-4.5.jar b/source/d/gcc/ecj-4.5.jar new file mode 100644 index 000000000..8d5ed17a9 Binary files /dev/null and b/source/d/gcc/ecj-4.5.jar differ diff --git a/source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch b/source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch new file mode 100644 index 000000000..ab6262407 --- /dev/null +++ b/source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch @@ -0,0 +1,29 @@ +2009-01-14 Jakub Jelinek + + * jartool.c (make_manifest): Initialize current_time before + calling unix2dostime on it. + +--- fastjar-0.97/jartool.c.jj 2008-10-15 18:35:37.000000000 +0200 ++++ fastjar-0.97/jartool.c 2009-01-14 15:40:50.000000000 +0100 +@@ -820,6 +820,10 @@ int make_manifest(int jfd, const char *m + int mod_time; /* file modification time */ + struct zipentry *ze; + ++ current_time = time(NULL); ++ if(current_time == (time_t)-1) ++ exit_on_error("time"); ++ + mod_time = unix2dostime(¤t_time); + + /* If we are creating a new manifest, create a META-INF directory entry */ +@@ -828,10 +832,6 @@ int make_manifest(int jfd, const char *m + + memset((file_header + 12), '\0', 16); /*clear mod time, crc, size fields*/ + +- current_time = time(NULL); +- if(current_time == (time_t)-1) +- exit_on_error("time"); +- + PACK_UB2(file_header, LOC_EXTRA, 0); + PACK_UB2(file_header, LOC_COMP, 0); + PACK_UB2(file_header, LOC_FNLEN, nlen); diff --git a/source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch b/source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch new file mode 100644 index 000000000..722351d33 --- /dev/null +++ b/source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch @@ -0,0 +1,16 @@ +2009-12-21 Chris Ball + + * jartool.c (add_file_to_jar): Test write return value against -1 + instead of 1. + +--- fastjar-0.97/jartool.c.jj 2008-10-15 12:35:37.000000000 -0400 ++++ fastjar-0.97/jartool.c 2009-12-22 06:48:09.309530000 -0500 +@@ -1257,7 +1257,7 @@ int add_file_to_jar(int jfd, int ffd, co + exit_on_error("write"); + + /* write the file name to the zip file */ +- if (1 == write(jfd, fname, file_name_length)) ++ if (-1 == write(jfd, fname, file_name_length)) + exit_on_error("write"); + + if(verbose){ diff --git a/source/d/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch b/source/d/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch new file mode 100644 index 000000000..34a02a74f --- /dev/null +++ b/source/d/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch @@ -0,0 +1,14 @@ +2010-03-01 Richard Guenther + + * jartool.c (read_entries): Properly zero-terminate filename. + +--- fastjar-0.97/jartool.c 6 Sep 2009 22:16:00 -0000 1.59 ++++ fastjar-0.97/jartool.c 1 Mar 2010 15:38:43 -0000 1.60 +@@ -790,6 +790,7 @@ int read_entries (int fd) + progname, jarfile); + return 1; + } ++ ze->filename[len] = '\0'; + len = UNPACK_UB4(header, CEN_EFLEN); + len += UNPACK_UB4(header, CEN_COMLEN); + if (lseek (fd, len, SEEK_CUR) == -1) diff --git a/source/d/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch b/source/d/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch new file mode 100644 index 000000000..2c6e23c76 --- /dev/null +++ b/source/d/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch @@ -0,0 +1,102 @@ +2010-06-10 Jakub Jelinek + Dan Rosenberg + + * jartool.c (extract_jar): Fix up checks for traversal to parent + directories, disallow absolute paths, make the code slightly more + efficient. + +--- fastjar-0.97/jartool.c.jj 2009-09-07 00:10:47.000000000 +0200 ++++ fastjar-0.97/jartool.c 2010-06-08 20:00:29.000000000 +0200 +@@ -1730,7 +1730,17 @@ int extract_jar(int fd, const char **fil + struct stat sbuf; + int depth = 0; + +- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename)); ++ if(*filename == '/'){ ++ fprintf(stderr, "Absolute path names are not allowed.\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ tmp_buff = malloc(strlen((const char *)filename)); ++ ++ if(tmp_buff == NULL) { ++ fprintf(stderr, "Out of memory.\n"); ++ exit(EXIT_FAILURE); ++ } + + for(;;){ + const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/'); +@@ -1738,25 +1748,28 @@ int extract_jar(int fd, const char **fil + if(idx == NULL) + break; + else if(idx == start){ ++ tmp_buff[idx - filename] = '/'; + start++; + continue; + } +- start = idx + 1; + +- strncpy(tmp_buff, (const char *)filename, (idx - filename)); +- tmp_buff[(idx - filename)] = '\0'; ++ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start)); ++ tmp_buff[idx - filename] = '\0'; + + #ifdef DEBUG + printf("checking the existance of %s\n", tmp_buff); + #endif +- if(strcmp(tmp_buff, "..") == 0){ ++ if(idx - start == 2 && memcmp(start, "..", 2) == 0){ + --depth; + if (depth < 0){ + fprintf(stderr, "Traversal to parent directories during unpacking!\n"); + exit(EXIT_FAILURE); + } +- } else if (strcmp(tmp_buff, ".") != 0) ++ } else if (idx - start != 1 || *start != '.') + ++depth; ++ ++ start = idx + 1; ++ + if(stat(tmp_buff, &sbuf) < 0){ + if(errno != ENOENT) + exit_on_error("stat"); +@@ -1765,6 +1778,7 @@ int extract_jar(int fd, const char **fil + #ifdef DEBUG + printf("Directory exists\n"); + #endif ++ tmp_buff[idx - filename] = '/'; + continue; + }else { + fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n", +@@ -1781,10 +1795,11 @@ int extract_jar(int fd, const char **fil + if(verbose && handle) + printf("%10s: %s/\n", "created", tmp_buff); + ++ tmp_buff[idx - filename] = '/'; + } + + /* only a directory */ +- if(strlen((const char *)start) == 0) ++ if(*start == '\0') + dir = TRUE; + + #ifdef DEBUG +@@ -1792,7 +1807,7 @@ int extract_jar(int fd, const char **fil + #endif + + /* If the entry was just a directory, don't write to file, etc */ +- if(strlen((const char *)start) == 0) ++ if(*start == '\0') + f_fd = -1; + + free(tmp_buff); +@@ -1876,7 +1891,8 @@ int extract_jar(int fd, const char **fil + exit(EXIT_FAILURE); + } + +- close(f_fd); ++ if (f_fd != -1) ++ close(f_fd); + + if(verbose && dir == FALSE && handle) + printf("%10s: %s\n", diff --git a/source/d/gcc/fastjar-patches/1004-fastjar-man.patch b/source/d/gcc/fastjar-patches/1004-fastjar-man.patch new file mode 100644 index 000000000..34bf704db --- /dev/null +++ b/source/d/gcc/fastjar-patches/1004-fastjar-man.patch @@ -0,0 +1,27 @@ +2010-03-24 Jan Kratochvil + + * Makefile.am (POD2MAN): Provide --date from ChangeLog. + * Makefile.in: Regenerate. + +--- fastjar-0.97/Makefile.am.jj 2008-10-16 04:24:55.000000000 -0400 ++++ fastjar-0.97/Makefile.am 2010-06-21 09:29:41.021398000 -0400 +@@ -39,7 +39,7 @@ EXTRA_DIST = \ + texi2pod.pl + + TEXI2POD = perl $(srcdir)/texi2pod.pl +-POD2MAN = pod2man --center="GNU" --release=@VERSION@ ++POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog) + + .pod.1: + -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \ +--- fastjar-0.97/Makefile.in.jj 2008-10-16 04:15:16.000000000 -0400 ++++ fastjar-0.97/Makefile.in 2010-06-21 09:30:15.882810000 -0400 +@@ -515,7 +515,7 @@ EXTRA_DIST = \ + texi2pod.pl + + TEXI2POD = perl $(srcdir)/texi2pod.pl +-POD2MAN = pod2man --center="GNU" --release=@VERSION@ ++POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog) + + #SPLINT_FLAGS=-I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H +posixlib +weak + SPLINT_FLAGS = -I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H -DPRIx32= -warnposix +weak diff --git a/source/d/gcc/gcc-no_fixincludes.diff b/source/d/gcc/gcc-no_fixincludes.diff index 917b14f0a..52b661613 100644 --- a/source/d/gcc/gcc-no_fixincludes.diff +++ b/source/d/gcc/gcc-no_fixincludes.diff @@ -1,6 +1,6 @@ ---- ./gcc/Makefile.in.orig 2008-12-04 17:00:19.000000000 -0600 -+++ ./gcc/Makefile.in 2009-01-29 01:17:33.000000000 -0600 -@@ -3441,9 +3441,9 @@ +--- ./gcc/Makefile.in.orig 2010-04-02 02:49:06.000000000 -0500 ++++ ./gcc/Makefile.in 2010-08-01 16:55:30.088318841 -0500 +@@ -3864,9 +3864,9 @@ chmod a+r $${fix_dir}/limits.h; \ done # Install the README @@ -13,13 +13,13 @@ $(STAMP) $@ .PHONY: install-gcc-tooldir -@@ -3523,10 +3523,7 @@ - chmod a+rx $${fix_dir} || true; \ +@@ -3947,10 +3947,7 @@ (TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \ SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \ + gcc_dir=`${PWD_COMMAND}` ; \ - export TARGET_MACHINE srcdir SHELL MACRO_LIST && \ - cd $(build_objdir)/fixincludes && \ -- $(SHELL) ./fixinc.sh ../../gcc/$${fix_dir} \ +- $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \ - $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \ + export TARGET_MACHINE srcdir SHELL MACRO_LIST ); \ rm -f $${fix_dir}/syslimits.h; \ diff --git a/source/d/gcc/gcc.SlackBuild b/source/d/gcc/gcc.SlackBuild index b11a7c6c8..8288a2a44 100755 --- a/source/d/gcc/gcc.SlackBuild +++ b/source/d/gcc/gcc.SlackBuild @@ -2,7 +2,7 @@ # GCC package build script (written by volkerdi@slackware.com) # # Copyright 2003, 2004 Slackware Linux, Inc., Concord, California, USA -# Copyright 2005, 2006, 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005, 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 @@ -42,11 +42,12 @@ # I see no reason to continue 386 support in the latest Slackware (and indeed # it's no longer easily possible). -VERSION=4.4.4 -BUILD=${BUILD:-1} +PKGNAM=gcc +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} # How many jobs to run in parallel: -NUMJOB=" -j 4 " +NUMJOBS=" -j 7 " # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -119,7 +120,7 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* # Copy ecj.jar into the TLD of the source. Needed for java compiler. # This can be retrieved from ftp://sourceware.org/pub/java -cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar +cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar # install docs ( cd gcc-$VERSION @@ -154,7 +155,7 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar mkdir -p $PKG1/usr/doc/gcc-${VERSION}/gcc ( cd gcc cp -a \ - ABOUT* COPYING* LANG* ONEWS README* SERVICE \ + ABOUT* COPYING* DATESTAMP DEV-PHASE LANG* ONEWS README* SERVICE \ $PKG1/usr/doc/gcc-$VERSION/gcc mkdir -p $PKG3/usr/doc/gcc-${VERSION}/gcc/fortran @@ -207,11 +208,11 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar fi ) - mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libada + mkdir -p $PKG4/usr/doc/gcc-${VERSION}/libada ( cd libada if [ -r ChangeLog ]; then - cat ChangeLog | head -n 1000 > $PKG3/usr/doc/gcc-${VERSION}/libada/ChangeLog - touch -r ChangeLog $PKG3/usr/doc/gcc-${VERSION}/libada/ChangeLog + cat ChangeLog | head -n 1000 > $PKG4/usr/doc/gcc-${VERSION}/libada/ChangeLog + touch -r ChangeLog $PKG4/usr/doc/gcc-${VERSION}/libada/ChangeLog fi ) @@ -270,7 +271,7 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar ( cd libstdc++-v3 cp -a \ README* \ - docs/html/faq \ + doc/html/faq.html \ $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3 if [ -r ChangeLog ]; then cat ChangeLog | head -n 1000 > $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog @@ -278,6 +279,72 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar fi ) ) + +# Add fastjar to the gcc-java package: +( cd $TMP + FASTJARVER=$(echo $CWD/fastjar-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev) + echo + echo "Building fastjar-$FASTJARVER first" + echo + rm -rf fastjar-$FASTJARVER + tar xvf $CWD/fastjar-$FASTJARVER.tar.xz || exit 1 + cd fastjar-$FASTJARVER || exit + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + for patch in $CWD/fastjar-patches/*.gz ; do + zcat $patch | patch -p1 --verbose || exit 1 + done + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib$LIBDIRSUFFIX \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --build=$ARCH-slackware-linux + make $NUMJOBS || exit 1 + make install DESTDIR=$PKG5 || exit 1 + mkdir -p $PKG5/usr/doc/fastjar-$FASTJARVER + cp -a \ + AUTHORS CHANGES COPYING* INSTALL NEWS README* TODO \ + $PKG5/usr/doc/fastjar-$FASTJARVER + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG5/usr/doc/fastjar-$FASTJARVER) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + find $PKG5 | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + # Compress and if needed symlink the man pages: + if [ -d $PKG5/usr/man ]; then + ( cd $PKG5/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) + fi + # Compress info files, if any: + if [ -d $PKG5/usr/info ]; then + ( cd $PKG5/usr/info + rm -f dir + gzip -9 * + ) + fi + echo +) || exit 1 + # build gcc ( mkdir gcc.build.lnx; cd gcc.build.lnx; @@ -301,9 +368,11 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar CXXFLAGS="$SLKCFLAGS" \ ../gcc-$VERSION/configure --prefix=/usr \ --libdir=/usr/lib$LIBDIRSUFFIX \ + --mandir=/usr/man \ + --infodir=/usr/info \ --enable-shared \ --enable-bootstrap \ - --enable-languages=ada,c,c++,fortran,java,objc \ + --enable-languages=ada,c,c++,fortran,java,objc,lto \ --enable-threads=posix \ --enable-checking=release \ --with-system-zlib \ @@ -311,6 +380,7 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar --disable-libunwind-exceptions \ --enable-__cxa_atexit \ --enable-libssp \ + --enable-lto \ --with-gnu-ld \ --verbose \ $GCC_ARCHOPTS \ @@ -321,26 +391,32 @@ cp $CWD/ecj-4.3.jar gcc-$VERSION/ecj.jar # Start the build: # Include all debugging info (for now): - make $NUMJOB bootstrap; + make $NUMJOBS bootstrap; ( cd gcc - make $NUMJOB gnatlib GNATLIBCFLAGS="$SLKCFLAGS" + make $NUMJOBS gnatlib GNATLIBCFLAGS="$SLKCFLAGS" # This wants a shared -ladd2line? #make gnatlib-shared CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ - make $NUMJOB gnattools + make $NUMJOBS gnattools ) make info # Set GCCCHECK=something to run the tests if [ ! -z $GCCCHECK ]; then - make $NUMJOB check + make $NUMJOBS check fi make install DESTDIR=$PKG1 +# KLUDGE ALERT +# These *gdb.py files are causing ldconfig to complain, so they are going +# to be REMOVED for now... at some point, they might be moved somewhere +# else, in which case things should Just Work(tm). Keep an eye on it. +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/*gdb.py + # Be sure the "specs" file is installed. if [ ! -r $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs ]; then cat stage1-gcc/specs > $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs @@ -354,58 +430,65 @@ fi # make ada.install-common DESTDIR=$PKG1 # make install-gnatlib DESTDIR=$PKG1 - make -i install-info DESTDIR=$PKG1 +make -i install-info DESTDIR=$PKG1 - chmod 755 $PKG1/usr/lib${LIBDIRSUFFIX}/libgcc_s.so.1 +chmod 755 $PKG1/usr/lib${LIBDIRSUFFIX}/libgcc_s.so.1 - # This is provided by binutils, so delete it here: - rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/libiberty.a - rm -f $PKG1/usr/lib/libiberty.a # catch-all +# The (huge) static GNU java libraries are not packaged. In nearly all +# cases one or more dependencies will not be available as static anyway. +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/libgcj.a +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/libgcj-tools.a - # Fix stuff up: - ( cd $PKG1/usr/info ; rm dir ; gzip -9 * ) - ( cd $PKG1 - # *not* ${LIBDIRSUFFIX} - mkdir -p lib - cd lib - ln -sf /usr/bin/cpp . - ) - ( cd $PKG1/usr/bin - mv g++ g++-gcc-$VERSION - mv gcc gcc-$VERSION - mv ${TARGET}-gfortran gfortran-gcc-$VERSION - ln -sf g++-gcc-$VERSION g++ - ln -sf gcc-$VERSION gcc - ln -sf g++ c++ - ln -sf gcc cc - ln -sf gcc-$VERSION ${TARGET}-gcc - ln -sf gcc-$VERSION ${TARGET}-gcc-$VERSION - ln -sf gcj ${TARGET}-gcj - ln -sf gcjh ${TARGET}-gcjh - ln -sf g++-gcc-$VERSION ${TARGET}-c++ - ln -sf g++-gcc-$VERSION ${TARGET}-g++ - ln -sf gfortran-gcc-$VERSION gfortran - ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran - ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran-$VERSION - ln -sf gfortran-gcc-$VERSION ${TARGET}-g95 - ln -sf gfortran g95 - ln -sf gfortran f95 - ln -sf gfortran-gcc-$VERSION ${TARGET}-g77 - ln -sf gfortran g77 - ln -sf gfortran f77 - ) - ( cd $PKG1/usr/man - gzip -9 */* - cd man1 - ln -sf g++.1.gz c++.1.gz - ln -sf gcc.1.gz cc.1.gz - ) - - ## build the txz package - #( - # cd $PKG1; - # makepkg -l y -c n $TMP/gcc-$VERSION-$ARCH-$BUILD.txz - #) +# This is provided by binutils, so delete it here: +rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/libiberty.a +rm -f $PKG1/usr/lib/libiberty.a # catch-all + +# Fix stuff up: +( cd $PKG1/usr/info ; rm dir ; gzip -9 * ) +( cd $PKG1 + # *not* ${LIBDIRSUFFIX} + mkdir -p lib + cd lib + ln -sf /usr/bin/cpp . +) + +( cd $PKG1/usr/bin + mv g++ g++-gcc-$VERSION + mv gcc gcc-$VERSION + mv ${TARGET}-gfortran gfortran-gcc-$VERSION + ln -sf g++-gcc-$VERSION g++ + ln -sf gcc-$VERSION gcc + ln -sf g++ c++ + ln -sf gcc cc + ln -sf gcc-$VERSION ${TARGET}-gcc + ln -sf gcc-$VERSION ${TARGET}-gcc-$VERSION + ln -sf gcj ${TARGET}-gcj + ln -sf gcjh ${TARGET}-gcjh + ln -sf g++-gcc-$VERSION ${TARGET}-c++ + ln -sf g++-gcc-$VERSION ${TARGET}-g++ + ln -sf gfortran-gcc-$VERSION gfortran + ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran + ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran-$VERSION + ln -sf gfortran-gcc-$VERSION ${TARGET}-g95 + ln -sf gfortran g95 + ln -sf gfortran f95 + ln -sf gfortran-gcc-$VERSION ${TARGET}-g77 + ln -sf gfortran g77 + ln -sf gfortran f77 +) + +( cd $PKG1/usr/man + gzip -9 */* + cd man1 + ln -sf g++.1.gz c++.1.gz + ln -sf gcc.1.gz cc.1.gz +) + +## build the txz package +#( +# cd $PKG1; +# makepkg -l y -c n $TMP/gcc-$VERSION-$ARCH-$BUILD.txz +#) # keep a log ) 2>&1 | tee $TMP/gcc.build.log diff --git a/source/d/gdb/gdb.SlackBuild b/source/d/gdb/gdb.SlackBuild index cad8c97ce..6e418a4bd 100755 --- a/source/d/gdb/gdb.SlackBuild +++ b/source/d/gdb/gdb.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# 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 @@ -23,7 +23,7 @@ PKGNAM=gdb VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:-" -j7 "} @@ -66,6 +66,7 @@ find . \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ --infodir=/usr/info \ + --without-python \ --build=$ARCH-slackware-linux ( cd readline ; make ) diff --git a/source/d/gettext-tools b/source/d/gettext-tools new file mode 120000 index 000000000..a9cb440b4 --- /dev/null +++ b/source/d/gettext-tools @@ -0,0 +1 @@ +../a/gettext \ No newline at end of file diff --git a/source/d/git/git-1.7.1.tar.sign b/source/d/git/git-1.7.1.tar.sign deleted file mode 100644 index 57c6f6975..000000000 --- a/source/d/git/git-1.7.1.tar.sign +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.9 (GNU/Linux) -Comment: See http://www.kernel.org/signature.html for info - -iD8DBQBL0lwtyGugalF9Dw4RAtrvAKCGeAZD3xiFceJH1b9YUEgIdo0S9QCfVoJM -Yp82hUEP7iNvKovjEKccemc= -=zw7F ------END PGP SIGNATURE----- diff --git a/source/d/git/git-1.7.4.4.tar.sign b/source/d/git/git-1.7.4.4.tar.sign new file mode 100644 index 000000000..5f44bdd48 --- /dev/null +++ b/source/d/git/git-1.7.4.4.tar.sign @@ -0,0 +1,8 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) +Comment: See http://www.kernel.org/signature.html for info + +iD8DBQBNnMpoyGugalF9Dw4RAmY4AJ9IRB87m9225xl29RAHxv2GPl7WpgCdFz47 +lh3KZrjZ5s7H4ZQSDncWQyU= +=tRV0 +-----END PGP SIGNATURE----- diff --git a/source/d/git/git.SlackBuild b/source/d/git/git.SlackBuild index 7c8e9e34f..daa0cac7e 100755 --- a/source/d/git/git.SlackBuild +++ b/source/d/git/git.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# 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 @@ -91,6 +91,7 @@ make $NUMJOBS \ mandir=/usr/man \ CFLAGS="$SLKCFLAGS" \ INSTALLDIRS=vendor \ + ASCIIDOC8=YesPlease \ all doc || exit 1 make \ @@ -98,6 +99,7 @@ make \ mandir=/usr/man \ "CFLAGS=$SLKCFLAGS" \ INSTALLDIRS=vendor \ + ASCIIDOC8=YesPlease \ install \ install-doc \ DESTDIR=$PKG || exit 1 diff --git a/source/d/gperf/gperf.SlackBuild b/source/d/gperf/gperf.SlackBuild index f17843174..62062dff0 100755 --- a/source/d/gperf/gperf.SlackBuild +++ b/source/d/gperf/gperf.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# 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 @@ -22,11 +22,20 @@ PKGNAM=gperf -VERSION=${VERSION:-3.0.3} -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | 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 + +NUMJOBS=${NUMJOBS:-" -j7 "} CWD=$(pwd) TMP=${TMP:-/tmp} @@ -40,11 +49,13 @@ elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" fi cd $TMP rm -rf ${PKGNAM}-${VERSION} -tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 cd ${PKGNAM}-$VERSION # Make sure ownerships and permissions are sane: @@ -63,7 +74,7 @@ CFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --infodir=/usr/info \ --docdir=/usr/doc/gperf-$VERSION \ - $ARCH-slackware-linux + --build=$ARCH-slackware-linux # Build and install: make $NUMJOBS || make || exit 1 diff --git a/source/d/guile/guile.SlackBuild b/source/d/guile/guile.SlackBuild index ec6cd977c..03433ee56 100755 --- a/source/d/guile/guile.SlackBuild +++ b/source/d/guile/guile.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# 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 @@ -21,8 +21,9 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=1.8.7 -BUILD=${BUILD:-3} +PKGNAM=guile +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | 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 @@ -108,7 +109,7 @@ fi mkdir -p $PKG/usr/doc/guile-$VERSION cp -a \ AUTHORS COPYING* FAQ GUILE-VERSION \ - HACKING INSTALL LICENSE NEWS README THANKS \ + HACKING INSTALL LICENSE NEWS README* THANKS \ $PKG/usr/doc/guile-$VERSION mkdir -p $PKG/install diff --git a/source/d/indent/indent.SlackBuild b/source/d/indent/indent.SlackBuild index 6223b3eb4..d8bdbf192 100755 --- a/source/d/indent/indent.SlackBuild +++ b/source/d/indent/indent.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,10 +22,17 @@ VERSION=${VERSION:-2.2.10} -ARCH=${ARCH:-x86_64} BUILD=${BUILD:-1} -NUMJOBS=${NUMJOBS:-" -j7 "} +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" @@ -35,8 +42,12 @@ elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" fi +NUMJOBS=${NUMJOBS:-" -j7 "} + CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-indent diff --git a/source/d/libtool/libtool.SlackBuild b/source/d/libtool/libtool.SlackBuild index 75a0ff2c1..9849df425 100755 --- a/source/d/libtool/libtool.SlackBuild +++ b/source/d/libtool/libtool.SlackBuild @@ -20,8 +20,8 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-$(echo libtool-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +VERSION=${VERSION:-$(echo libtool-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:--j6} @@ -58,7 +58,7 @@ mkdir -p $TMP $PKG cd $TMP rm -rf libtool-$VERSION -tar xvf $CWD/libtool-$VERSION.tar.?z* || exit 1 +tar xvf $CWD/libtool-$VERSION.tar.xz || exit 1 cd libtool-$VERSION chown -R root:root . @@ -75,21 +75,24 @@ CFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --infodir=/usr/info \ + --mandir=/usr/man \ --docdir=/usr/doc/libtool-$VERSION \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 -make install DESTDIR=$PKG +make install DESTDIR=$PKG || exit 1 find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +gzip -9 $PKG/usr/man/man?/*.? + rm -f $PKG/usr/info/dir gzip -9 $PKG/usr/info/* mkdir -p $PKG/usr/doc/libtool-$VERSION cp -a \ - AUTHORS COPYING NEWS README THANKS TODO \ + AUTHORS COPYING* NEWS README* THANKS TODO \ $PKG/usr/doc/libtool-$VERSION mkdir $PKG/install diff --git a/source/d/libtool/libtool.no.moved.warning.diff b/source/d/libtool/libtool.no.moved.warning.diff index f6a82285a..80077516f 100644 --- a/source/d/libtool/libtool.no.moved.warning.diff +++ b/source/d/libtool/libtool.no.moved.warning.diff @@ -1,44 +1,44 @@ ---- ./libltdl/config/ltmain.m4sh.orig 2009-11-16 07:17:22.000000000 -0600 -+++ ./libltdl/config/ltmain.m4sh 2010-02-06 18:13:00.000000000 -0600 -@@ -4965,7 +4965,7 @@ +--- ./libltdl/config/ltmain.m4sh.orig 2010-09-22 09:45:18.000000000 -0500 ++++ ./libltdl/config/ltmain.m4sh 2010-11-06 13:38:09.000000000 -0500 +@@ -5710,7 +5710,7 @@ # Find the relevant object directory and library name. if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." -+ # func_warning "library \`$lib' was moved." ++ #func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" -@@ -5496,8 +5496,8 @@ +@@ -6277,8 +6277,8 @@ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" -+ # test "$absdir" != "$libdir" && \ -+ # func_warning "\`$deplib' seems to be moved" ++ #test "$absdir" != "$libdir" && \ ++ # func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ---- ./libltdl/config/ltmain.sh.orig 2009-11-16 07:23:18.000000000 -0600 -+++ ./libltdl/config/ltmain.sh 2010-02-06 18:13:26.000000000 -0600 -@@ -5407,7 +5407,7 @@ +--- ./libltdl/config/ltmain.sh.orig 2010-09-22 09:45:43.000000000 -0500 ++++ ./libltdl/config/ltmain.sh 2010-11-06 13:38:49.000000000 -0500 +@@ -6499,7 +6499,7 @@ # Find the relevant object directory and library name. if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." -+ # func_warning "library \`$lib' was moved." ++ #func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" -@@ -5938,8 +5938,8 @@ +@@ -7066,8 +7066,8 @@ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" -+ # test "$absdir" != "$libdir" && \ -+ # func_warning "\`$deplib' seems to be moved" ++ #test "$absdir" != "$libdir" && \ ++ # func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi diff --git a/source/d/m4/m4.SlackBuild b/source/d/m4/m4.SlackBuild index f74e022fd..5623854c4 100755 --- a/source/d/m4/m4.SlackBuild +++ b/source/d/m4/m4.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# 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 @@ -20,7 +20,8 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=1.4.14 +PKGNAM=m4 +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j7 "} @@ -58,7 +59,7 @@ mkdir -p $TMP $PKG cd $TMP rm -rf m4-$VERSION -tar xvf $CWD/m4-$VERSION.tar.?z* || exit 1 +tar xvf $CWD/m4-$VERSION.tar.xz || exit 1 cd m4-$VERSION || exit 1 chown -R root:root . find . \ @@ -74,7 +75,7 @@ CFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --infodir=/usr/info \ --docdir=/usr/doc/m4-$VERSION \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 @@ -115,11 +116,16 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ mkdir -p $PKG/usr/doc/m4-$VERSION cp -a \ - BACKLOG COPYING* NEWS README THANKS TODO examples \ + BACKLOG COPYING* NEWS README* THANKS TODO examples \ $PKG/usr/doc/m4-$VERSION -head -n 357 ChangeLog > $PKG/usr/doc/m4-$VERSION/ChangeLog -touch -r ChangeLog $PKG/usr/doc/m4-$VERSION/ChangeLog -chmod 0644 $PKG/usr/doc/m4-$VERSION/COPYING* + +# 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 diff --git a/source/d/make/make.SlackBuild b/source/d/make/make.SlackBuild index 15f4b6102..97cbd99cc 100755 --- a/source/d/make/make.SlackBuild +++ b/source/d/make/make.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,9 +21,19 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=3.81 -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-1} +PKGNAM=make +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} + +# 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} @@ -31,12 +41,19 @@ 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 @@ -44,8 +61,8 @@ mkdir -p $TMP $PKG cd $TMP rm -rf make-$VERSION -tar xjvf $CWD/make-$VERSION.tar.bz2 -cd 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 \) \ @@ -56,9 +73,13 @@ find . \ CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ - $ARCH-slackware-linux -make -make install DESTDIR=$PKG + --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 @@ -73,7 +94,7 @@ gzip -9 $PKG/usr/info/* ln -sf make gmake ) mkdir -p $PKG/usr/doc/make-$VERSION cp -a \ - ABOUT-NLS AUTHORS COPYING NEWS README* \ + ABOUT-NLS AUTHORS COPYING* NEWS README* \ $PKG/usr/doc/make-$VERSION/ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/source/d/nasm/nasm.SlackBuild b/source/d/nasm/nasm.SlackBuild index 73e1e37a8..d4162c0e6 100755 --- a/source/d/nasm/nasm.SlackBuild +++ b/source/d/nasm/nasm.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# 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 @@ -21,7 +21,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.07 +PKGNAM=nasm +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: @@ -48,7 +49,7 @@ rm -rf $PKG mkdir -p $TMP $PKG cd $TMP rm -rf nasm-$VERSION -tar xvf $CWD/nasm-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/nasm-$VERSION.tar.?z* || exit 1 cd nasm-$VERSION chown -R root:root . find . \ @@ -71,7 +72,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \ mkdir -p $PKG/usr/doc/nasm-$VERSION cp -a \ - AUTHORS CHANGES COPYING INSTALL LICENSE README TODO \ + AUTHORS CHANGES COPYING* INSTALL LICENSE README* TODO \ $PKG/usr/doc/nasm-$VERSION ( cd doc diff --git a/source/d/oprofile/oprofile.SlackBuild b/source/d/oprofile/oprofile.SlackBuild index 8a9d2bef5..df18feefd 100755 --- a/source/d/oprofile/oprofile.SlackBuild +++ b/source/d/oprofile/oprofile.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2011 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,7 +22,7 @@ VERSION=${VERSION:-$(echo oprofile-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-5} NUMJOBS=${NUMJOBS:-" -j7 "} diff --git a/source/d/p2c/p2c.SlackBuild b/source/d/p2c/p2c.SlackBuild index 11bdee850..4c2508d32 100755 --- a/source/d/p2c/p2c.SlackBuild +++ b/source/d/p2c/p2c.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,10 +27,20 @@ # ftp://ftp.obspm.fr/pub1/computing/gnu/hurd/p2c-1.21alpha2.tar.gz VERSION=${VERSION:-1.21alpha2} -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} BUILD=${BUILD:-3} +# 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="" @@ -40,6 +50,9 @@ elif [ "$ARCH" = "s390" ]; then elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi CWD=$(pwd) diff --git a/source/d/perl/perl.SlackBuild b/source/d/perl/perl.SlackBuild index a58d8a7ed..ca044b913 100755 --- a/source/d/perl/perl.SlackBuild +++ b/source/d/perl/perl.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,12 +24,21 @@ # originally by: David Cantrell # maintained by: -VERSION=5.10.1 -# IMPORTANT: also update -Dinc_version_list in ./configure below! - -ARCH=${ARCH:-x86_64} +VERSION=5.12.3 +# IMPORTANT: also update -Dinc_version_list with the previous Slackware +# perl version in ./configure below! 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 + NUMJOBS=${NUMJOBS:--j6} CWD=$(pwd) @@ -37,10 +46,10 @@ TMP=${TMP:-/tmp} PKG=$TMP/package-perl # Additional required modules: -DBDMYSQL=4.013 -DBI=1.609 -URI=1.40 -XMLPARSER=2.36 +DBDMYSQL=4.018 +DBI=1.616 +URI=1.58 +XMLPARSER=2.40 XMLSIMPLE=2.18 if [ "$ARCH" = "i386" ]; then @@ -117,7 +126,7 @@ fi -Doptimize="$SLKCFLAGS" \ $USE_THREADS \ -Dpager='/usr/bin/less -isr' \ - -Dinc_version_list='5.10.0 5.8.8 5.8.7 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' \ + -Dinc_version_list='5.12.2 5.12.1 5.12.0 5.10.1 5.10.0 5.8.8 5.8.7 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' \ -Darchname=$ARCH-linux # Kludge for gcc-4.2.4's needlessly changed output: @@ -228,8 +237,8 @@ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux- # Install documentation mkdir -p $PKG/usr/doc/perl-$VERSION cp -a \ - AUTHORS Artistic Copying INSTALL MANIFEST README README.Y2K README.cn \ - README.jp README.ko README.micro README.tw Todo.micro \ + AUTHORS Artistic Changes Copying INSTALL MANIFEST \ + README README.{cn,jp,ko,tw} README.linux \ $PKG/usr/doc/perl-$VERSION # We follow LSB with symlinks in /usr/share: diff --git a/source/d/pkg-config/pkg-config.SlackBuild b/source/d/pkg-config/pkg-config.SlackBuild index 0a86febc8..0c42ef575 100755 --- a/source/d/pkg-config/pkg-config.SlackBuild +++ b/source/d/pkg-config/pkg-config.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,9 +20,19 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-0.23} -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-3} +PKGNAM=pkg-config +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | 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 NUMJOBS=${NUMJOBS:-" -j7 "} @@ -47,11 +57,14 @@ elif [ "$ARCH" = "arm" ]; then elif [ "$ARCH" = "armel" ]; then SLKCFLAGS="-O2 -march=armv4t" LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi cd $TMP rm -rf pkg-config-$VERSION -tar xvf $CWD/pkg-config-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/pkg-config-$VERSION.tar.?z* || exit 1 cd pkg-config-$VERSION || exit 1 chown -R root:root . find . \ @@ -65,6 +78,7 @@ CFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ + --docdir=/usr/doc/pkg-config-$VERSION \ --build=${ARCH}-slackware-linux make $NUMJOBS || make || exit 1 diff --git a/source/d/pmake/pmake.SlackBuild b/source/d/pmake/pmake.SlackBuild index a5d1e27e4..23cc58d45 100755 --- a/source/d/pmake/pmake.SlackBuild +++ b/source/d/pmake/pmake.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006-2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006-2011 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,8 +23,17 @@ PKGNAM=pmake VERSION=${VERSION:-1.111} -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} + +# 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} @@ -42,6 +51,8 @@ elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2 -Wall -DMACHINE_ARCH=\\\"${ARCH}\\\" -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME -DHAVE_VSNPRINTF -D_GNU_SOURCE" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC -Wall -DMACHINE_ARCH=\\\"${ARCH}\\\" -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME -DHAVE_VSNPRINTF -D_GNU_SOURCE" +else + SLKCFLAGS="-O2 -Wall -DMACHINE_ARCH=\\\"${ARCH}\\\" -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME -DHAVE_VSNPRINTF -D_GNU_SOURCE" fi cd $TMP diff --git a/source/d/python/python.SlackBuild b/source/d/python/python.SlackBuild index faa2b2523..debd7e959 100755 --- a/source/d/python/python.SlackBuild +++ b/source/d/python/python.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,7 +21,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-2.6.4} +VERSION=${VERSION:-2.6.6} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j7 "} diff --git a/source/d/python/python.pure64.diff b/source/d/python/python.pure64.diff index a0d06aac4..7e4821af5 100644 --- a/source/d/python/python.pure64.diff +++ b/source/d/python/python.pure64.diff @@ -1,6 +1,5 @@ -diff -uar Python-2.6.2.orig/Lib/distutils/command/install.py Python-2.6.2/Lib/distutils/command/install.py ---- Python-2.6.2.orig/Lib/distutils/command/install.py 2009-04-29 22:15:21.000000000 +0200 -+++ Python-2.6.2/Lib/distutils/command/install.py 2009-04-29 22:14:14.000000000 +0200 +--- ./Lib/distutils/command/install.py.orig 2010-11-27 17:21:23.000000000 -0600 ++++ ./Lib/distutils/command/install.py 2010-11-27 17:25:02.000000000 -0600 @@ -41,14 +41,14 @@ INSTALL_SCHEMES = { @@ -18,10 +17,9 @@ diff -uar Python-2.6.2.orig/Lib/distutils/command/install.py Python-2.6.2/Lib/di 'platlib': '$base/lib64/python', 'headers': '$base/include/python/$dist_name', 'scripts': '$base/bin', -diff -uar Python-2.6.2.orig/Lib/distutils/sysconfig.py Python-2.6.2/Lib/distutils/sysconfig.py ---- Python-2.6.2.orig/Lib/distutils/sysconfig.py 2009-04-29 22:15:21.000000000 +0200 -+++ Python-2.6.2/Lib/distutils/sysconfig.py 2009-04-29 22:14:14.000000000 +0200 -@@ -118,7 +118,7 @@ +--- ./Lib/distutils/sysconfig.py.orig 2010-11-27 17:21:23.000000000 -0600 ++++ ./Lib/distutils/sysconfig.py 2010-11-27 17:25:02.000000000 -0600 +@@ -122,7 +122,7 @@ if plat_specific or standard_lib: lib = "lib64" else: diff --git a/source/d/python/python.readline.set_pre_input_hook.diff b/source/d/python/python.readline.set_pre_input_hook.diff index 8af4b4bed..8f5570c98 100644 --- a/source/d/python/python.readline.set_pre_input_hook.diff +++ b/source/d/python/python.readline.set_pre_input_hook.diff @@ -1,5 +1,5 @@ ---- ./Modules/readline.c.orig 2008-11-04 14:43:31.000000000 -0600 -+++ ./Modules/readline.c 2009-06-09 14:23:16.000000000 -0500 +--- ./Modules/readline.c.orig 2010-05-09 10:15:40.000000000 -0500 ++++ ./Modules/readline.c 2010-11-27 17:08:38.000000000 -0600 @@ -11,6 +11,9 @@ #include #include diff --git a/source/d/python/python.x86_64.diff b/source/d/python/python.x86_64.diff index 712a5d1bf..cb6bf2582 100644 --- a/source/d/python/python.x86_64.diff +++ b/source/d/python/python.x86_64.diff @@ -1,68 +1,10 @@ -diff -uar Python-2.6.2.orig/Lib/distutils/command/install.py Python-2.6.2/Lib/distutils/command/install.py ---- Python-2.6.2.orig/Lib/distutils/command/install.py 2008-05-07 00:41:46.000000000 +0200 -+++ Python-2.6.2/Lib/distutils/command/install.py 2009-04-29 22:05:43.000000000 +0200 -@@ -42,14 +42,14 @@ - INSTALL_SCHEMES = { - 'unix_prefix': { - 'purelib': '$base/lib/python$py_version_short/site-packages', -- 'platlib': '$platbase/lib/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', -+ 'platlib': '$base/lib64/python', - 'headers': '$base/include/python/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', -diff -uar Python-2.6.2.orig/Lib/distutils/sysconfig.py Python-2.6.2/Lib/distutils/sysconfig.py ---- Python-2.6.2.orig/Lib/distutils/sysconfig.py 2009-02-10 13:33:42.000000000 +0100 -+++ Python-2.6.2/Lib/distutils/sysconfig.py 2009-04-29 22:05:43.000000000 +0200 -@@ -115,8 +115,12 @@ - prefix = plat_specific and EXEC_PREFIX or PREFIX - - if os.name == "posix": -+ if plat_specific or standard_lib: -+ lib = "lib64" -+ else: -+ lib = "lib" - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib, "python" + get_python_version()) - if standard_lib: - return libpython - else: -diff -uar Python-2.6.2.orig/Lib/site.py Python-2.6.2/Lib/site.py ---- Python-2.6.2.orig/Lib/site.py 2008-05-10 19:36:24.000000000 +0200 -+++ Python-2.6.2/Lib/site.py 2009-04-29 22:05:43.000000000 +0200 -@@ -265,12 +265,16 @@ - if sys.platform in ('os2emx', 'riscos'): - sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) - elif os.sep == '/': -+ sitedirs.append(os.path.join(prefix, "lib64", -+ "python" + sys.version[:3], -+ "site-packages")) - sitedirs.append(os.path.join(prefix, "lib", - "python" + sys.version[:3], - "site-packages")) - sitedirs.append(os.path.join(prefix, "lib", "site-python")) - else: - sitedirs.append(prefix) -+ sitedirs.append(os.path.join(prefix, "lib64", "site-packages")) - sitedirs.append(os.path.join(prefix, "lib", "site-packages")) - - if sys.platform == "darwin": -diff -uar Python-2.6.2.orig/Makefile.pre.in Python-2.6.2/Makefile.pre.in ---- Python-2.6.2.orig/Makefile.pre.in 2009-02-24 12:07:44.000000000 +0100 -+++ Python-2.6.2/Makefile.pre.in 2009-04-29 22:05:43.000000000 +0200 +--- ./Makefile.pre.in.orig 2010-08-01 17:05:31.000000000 -0500 ++++ ./Makefile.pre.in 2010-11-27 17:22:05.000000000 -0600 @@ -87,11 +87,11 @@ # Expanded directories - BINDIR= $(exec_prefix)/bin --LIBDIR= $(exec_prefix)/lib + BINDIR= @bindir@ +-LIBDIR= @libdir@ +LIBDIR= $(exec_prefix)/lib64 MANDIR= @mandir@ INCLUDEDIR= @includedir@ @@ -72,30 +14,8 @@ diff -uar Python-2.6.2.orig/Makefile.pre.in Python-2.6.2/Makefile.pre.in # Detailed destination directories BINLIBDEST= $(LIBDIR)/python$(VERSION) -diff -uar Python-2.6.2.orig/Modules/Setup.dist Python-2.6.2/Modules/Setup.dist ---- Python-2.6.2.orig/Modules/Setup.dist 2008-11-27 11:15:12.000000000 +0100 -+++ Python-2.6.2/Modules/Setup.dist 2009-04-29 22:10:31.000000000 +0200 -@@ -414,7 +414,7 @@ - #DB=/usr/local/BerkeleyDB.4.0 - #DBLIBVER=4.0 - #DBINC=$(DB)/include --#DBLIB=$(DB)/lib -+#DBLIB=$(DB)/lib64 - #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) - - # Historical Berkeley DB 1.85 -@@ -460,7 +460,7 @@ - # Andrew Kuchling's zlib module. - # This require zlib 1.1.3 (or later). - # See http://www.gzip.org/zlib/ --#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz -+#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz - - # Interface to the Expat XML parser - # -diff -uar Python-2.6.2.orig/Modules/getpath.c Python-2.6.2/Modules/getpath.c ---- Python-2.6.2.orig/Modules/getpath.c 2007-03-10 08:38:14.000000000 +0100 -+++ Python-2.6.2/Modules/getpath.c 2009-04-29 22:05:43.000000000 +0200 +--- ./Modules/getpath.c.orig 2010-07-24 05:09:36.000000000 -0500 ++++ ./Modules/getpath.c 2010-11-27 17:23:13.000000000 -0600 @@ -117,8 +117,8 @@ #endif @@ -122,7 +42,7 @@ diff -uar Python-2.6.2.orig/Modules/getpath.c Python-2.6.2/Modules/getpath.c 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 */ + bufsz = strlen(zip_path); /* Replace "00" with version */ zip_path[bufsz - 6] = VERSION[0]; zip_path[bufsz - 5] = VERSION[2]; @@ -534,7 +534,7 @@ @@ -134,10 +54,29 @@ diff -uar Python-2.6.2.orig/Modules/getpath.c Python-2.6.2/Modules/getpath.c } /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ -diff -uar Python-2.6.2.orig/setup.py Python-2.6.2/setup.py ---- Python-2.6.2.orig/setup.py 2009-03-31 20:20:48.000000000 +0200 -+++ Python-2.6.2/setup.py 2009-04-29 22:05:43.000000000 +0200 -@@ -310,7 +310,7 @@ +--- ./Modules/Setup.dist.orig 2008-11-27 04:15:12.000000000 -0600 ++++ ./Modules/Setup.dist 2010-11-27 17:21:23.000000000 -0600 +@@ -414,7 +414,7 @@ + #DB=/usr/local/BerkeleyDB.4.0 + #DBLIBVER=4.0 + #DBINC=$(DB)/include +-#DBLIB=$(DB)/lib ++#DBLIB=$(DB)/lib64 + #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) + + # Historical Berkeley DB 1.85 +@@ -460,7 +460,7 @@ + # Andrew Kuchling's zlib module. + # This require zlib 1.1.3 (or later). + # See http://www.gzip.org/zlib/ +-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz ++#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz + + # Interface to the Expat XML parser + # +--- ./setup.py.orig 2010-07-17 07:31:09.000000000 -0500 ++++ ./setup.py 2010-11-27 17:21:23.000000000 -0600 +@@ -356,7 +356,7 @@ def detect_modules(self): # Ensure that /usr/local is always used @@ -146,9 +85,9 @@ diff -uar Python-2.6.2.orig/setup.py Python-2.6.2/setup.py add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # Add paths specified in the environment variables LDFLAGS and -@@ -585,11 +585,11 @@ - elif self.compiler.find_library_file(lib_dirs, 'curses'): - readline_libs.append('curses') +@@ -662,11 +662,11 @@ + elif curses_library: + readline_libs.append(curses_library) elif self.compiler.find_library_file(lib_dirs + - ['/usr/lib/termcap'], + ['/usr/lib64/termcap'], @@ -160,7 +99,7 @@ diff -uar Python-2.6.2.orig/setup.py Python-2.6.2/setup.py extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: -@@ -626,8 +626,8 @@ +@@ -703,8 +703,8 @@ if krb5_h: ssl_incs += krb5_h ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, @@ -171,3 +110,57 @@ diff -uar Python-2.6.2.orig/setup.py Python-2.6.2/setup.py ] ) if (ssl_incs is not None and +--- ./Lib/distutils/command/install.py.orig 2008-05-06 17:41:46.000000000 -0500 ++++ ./Lib/distutils/command/install.py 2010-11-27 17:21:23.000000000 -0600 +@@ -42,14 +42,14 @@ + INSTALL_SCHEMES = { + 'unix_prefix': { + 'purelib': '$base/lib/python$py_version_short/site-packages', +- 'platlib': '$platbase/lib/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', ++ 'platlib': '$base/lib64/python', + 'headers': '$base/include/python/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +--- ./Lib/distutils/sysconfig.py.orig 2010-08-03 16:18:06.000000000 -0500 ++++ ./Lib/distutils/sysconfig.py 2010-11-27 17:21:23.000000000 -0600 +@@ -119,8 +119,12 @@ + prefix = plat_specific and EXEC_PREFIX or PREFIX + + if os.name == "posix": ++ if plat_specific or standard_lib: ++ lib = "lib64" ++ else: ++ lib = "lib" + libpython = os.path.join(prefix, +- "lib", "python" + get_python_version()) ++ lib, "python" + get_python_version()) + if standard_lib: + return libpython + else: +--- ./Lib/site.py.orig 2010-03-21 09:02:32.000000000 -0500 ++++ ./Lib/site.py 2010-11-27 17:21:23.000000000 -0600 +@@ -265,12 +265,16 @@ + if sys.platform in ('os2emx', 'riscos'): + sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) + elif os.sep == '/': ++ sitedirs.append(os.path.join(prefix, "lib64", ++ "python" + sys.version[:3], ++ "site-packages")) + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "site-packages")) + sitedirs.append(os.path.join(prefix, "lib", "site-python")) + else: + sitedirs.append(prefix) ++ sitedirs.append(os.path.join(prefix, "lib64", "site-packages")) + sitedirs.append(os.path.join(prefix, "lib", "site-packages")) + + if sys.platform == "darwin": diff --git a/source/d/ruby/ruby.SlackBuild b/source/d/ruby/ruby.SlackBuild index 0ff662102..c9a25654a 100755 --- a/source/d/ruby/ruby.SlackBuild +++ b/source/d/ruby/ruby.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# 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 @@ -42,13 +42,21 @@ TMP=${TMP:-/tmp} PKG=$TMP/package-ruby if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" + # -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 - SLKCFLAGS="-O2" + # 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="-O2 -fPIC" + SLKCFLAGS="-O3 -fPIC -fno-strict-aliasing" + OPTFLAGS=-O3 LIBDIRSUFFIX="64" fi @@ -70,6 +78,7 @@ find . \ # Seems suboptimal to me... CFLAGS="$SLKCFLAGS" \ +optflags=$OPTFLAGS \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/source/d/slacktrack/OVERVIEW b/source/d/slacktrack/OVERVIEW new file mode 100644 index 000000000..5e0f5d612 --- /dev/null +++ b/source/d/slacktrack/OVERVIEW @@ -0,0 +1,595 @@ +############################################################################## +# Document: OVERVIEW +# Purpose : Provide an overview of the Slackware package system incorporating +# the use of 'slacktrack' +# Please note that this is *not* a guide to the use of slacktrack; +# the man page and SlackBuild scripts in the 'examples' directory +# aim to fulfill that requirement. +# Date....: 15-May-2009 +# Author..: Stuart Winter +# Homepage: http://www.slackware.com/~mozes +############################################################################## + + +CONTENTS: +--------- +1.0 Preamble +2.0 Slackware packages + 2.0.1 Format of official Slackware packages + 2.0.1.1 Package names + 2.0.1.2 Version numbers + 2.0.1.3 Architectures + 2.0.1.4 Build numbers + 2.1 An overview of the creation of official Slackware packages + 2.1.1 'Clean' and 'dirty' builds + 2.1.1.1 Clean builds + 2.1.1.2 Dirty builds + 2.1.1 SlackBuild and .build scripts + 2.1.1.2 SlackBuild scripts + 2.1.1.3 .build scripts + 2.2 slacktrack in the scheme of things + 2.2.1 Using slacktrack with official .build scripts + 2.2.2 Writing your own .build scripts for slacktrack + 2.2.2.1 Making use of slacktrack's environment variables +3.0 slacktrack in operation + 3.1 How slacktrack finds which files have been installed + 3.1.1 installwatch's author +4.0 Example scripts + 4.0.1 non-slackware example build scripts + 4.0.2 slackware example wrapper build scripts +5.0 Known problems/features of slacktrack +6.0 New features +7.0 Licence + + + +1.0 Preamble + --------- + +I used to work for a company that provided web hosting and shell accounts. +When I started there were a number of shell servers all running various +releases of RedHat Linux, in various states of repair. I managed to convince +the management to let me try Slackware on there instead because I have a much +stronger understanding of how to maintain and build server using the +Slackware distribution. This trial went well and within a few months all +servers were converted to Slackware version 8.1. + +In order to ease the speed of installation (and to prevent against +forgetting to install or configure something critical), I wrote a +set of post installation scripts that upgraded Slackware packages, +configured numerous config files and copied pre-compiled software +(such as courier IMAP) onto the new system. +For other software that I could not simply copy, I'd compile it on the +new server. + +However, it soon became clear that due to security updates and so on, +it became incredibly time consuming (not to mention seriously boring) +to compile PHP, Apache and so on on every server. + +At this point, I began to investigate how to create packages for Slackware. + + +2.0 Slackware packages + ------------------ + + The Slackware Linux distribution consists of a variety of 'packages' + that make up the distribution. + + Traditionally, all packages are in '.tgz' format (a gzipped tar archive). + Starting with Slackware v13, new compression formats are supported which + are represented by three additional file extensions: + + .tgz - Gzip + .tbz - Bzip2 + .tlz - LZMA + .txz - XZ + + In this document, we use the file extension '.t?z' to represent + one of the above file formats. + + Once you have initially installed Slackware from the installer screen, + you have the facilities to install, remove or upgrade new or existing + packages using the package management tools: + + installpkg - install 'package.t?z' + + upgradepkg - upgrade existing 'package' with the + new version specified at the command line. + + removepkg - remove specified package + + + Whilst the Slackware package system is not especially feature rich, + Slackware's user base (including me) like it because it is simple. + If we want to write our own package utilities then we can easily do so + by examining the existing package tools and querying and amending the + package database (text files). + + 2.0.1 Format of official Slackware packages + ------------------------------------- + + In Slackware 8.1 and up, each package file is named as follows: + + packagename-version-architecture-buildnumber.t?z + + 2.0.1.1 Package names + ------------- + + The package name is either the name of the single program + or the name of a collection of utilities that fall under + a single umbrella. + For example: + autoconf-2.54-noarch-1.tgz + + That is the name of the autoconf package I have on my + Slackware 8.1 box. + 'autoconf' is the name of the the entire collection of + binaries and associated documents that are extracted from + the autoconf source distribution archive. + + However, if we consider another example: + tcpip-0.17-i386-15.tgz + + There is no single piece of software called 'tcpip'. + This package contains a number of associated utilities + written by different authors but bundled into one single + 'package'. + + 2.0.1.2 Version numbers + --------------- + + If the package is the name of a particular piece of software + such as 'autoconf' from the example above, then the version + number represents the version number that its authors distribute. + + If the package is a 'bundle' such as 'tcpip' then the version + number increases as and when you add a new piece of software to + the package, or upgrade a particular piece of major software + contained within the package. + For example, with 'tcpip' above, the 0.17 refers to the version of + Linux Netkit. However, there are other programs included within + the Slackware tcpip package that are not part of 'Linux netkit'. + + 2.0.1.3 Architectures + ------------- + + The architecture is just that -- it tells you which architecture + the package is for. + + The current values in use are: + + ----- [ Official Slackware architecures ] + + noarch - Architecture independent files such as config files + i386 - packages for the x86 (Slackware v8.1 & 9) + i486 - packages for the x86 (Slackware 9.1+) + i586 - packages for the x86 + s390 - packages for the IBM s/390 mainframe + + Note: Whilst Slackware v10 is primarily built for i486, you may + find that there are some packages whose architecture versions + are higher than i486. This is for two reasons: + + [a] There is no source for the package - it is a repackaged + binary distribution (SUN's j2sdk is an example). + + [b] The package is not required or otherwise not suitable for + earlier revisions of the architecture (this is especially + the true with ARM and SPARC). + + ----- [ Unofficial ports of Slackware ] + + arm - packages for the ARM architecture + sparc - packages for the SUN Sparc architecture + powerpc - packages for the PowerPC architecture + + 2.0.1.4 Build numbers + ------------- + + A build number suplements the version number and is changed + when the *package maintainer* makes a change to the package but + the original source code and version number remains the same. + + For example, I build a package of 'foo' version 0.14 for the + sparc. I have never built this package before, thus it becomes + foo-0.14-sparc-1.tgz + However, I realise that I haven't configured + the 'bar' parameter correctly in /etc/foo.conf. I fix it + and re-build the package. The package is now named + foo-0.14-sparc-2.tgz + + + 2.1 An overview of the creation of official Slackware packages + ----------------------------------------------------------- + + This section gives a brief introduction of the two methods of + used when building the official Slackware packages. + + + 2.1.1 'Clean' and 'dirty' builds + -------------------------- + + I am assuming the reader has some experience with Makefiles + and has compiled and installed a number of software packages. + + 2.1.1.1 Clean builds + ------------ + + I term a 'clean' package one where you can specify a variable + to the 'make install' which contains the directory you wish to install + the package in, rather than installing it properly over the root file system. + For example: + # ./configure --prefix=/usr --sysconfdir=/etc + # make + # make install DESTDIR=/tmp/package-foo + + With a 'Makefile' that honours the DESTDIR variable, this will + install the whole package into /tmp/package-foo. This directory + effectively is the 'root' directory '/' as far as the Makefile + is concerned. + + From here you can use the Slackware 'makepkg' program and build + a package. + + This is by far the safest and most preferred method by all + users that make packages. + + You will find that DESTDIR is called prefix, TOPDIR and other names; + you need to examine the Makefile scripts in order to determine whether + it contains this functionality and if it does, then discover what + the variable name is. + + 2.1.1.2 Dirty builds + ------------ + + A 'dirty' build is the name I give to source distribution archives + whose Makefile scripts do not have any provisioning to install + in an alternate directory other than root. + + For these type of builds, you will typically do: + # ./configure --prefix=/usr --sysconfdir=/etc + # make + # make install + + The package will then be installed on the root filesystem. + + So how do you know what files were installed where and + even if you did, how do you pull all these files together in order + to run makepkg over them ? + That's the purpose of slacktrack! :-) + + + 2.1.1 SlackBuild and .build scripts + ----------------------------- + + Slackware has a number of packages by a great number of authors. + Some of the packages's source Makefiles honour a DESTDIR type + variable but others do not. + + 2.1.1.2 SlackBuild scripts + ------------------ + + SlackBuild scripts can be 'interesting'. They are + scripts that install into a 'clean' environment (usually /tmp). + + Some of the scripts follow the make install DESTDIR= + style, if the Makefile permits. + + Others have a 'framework' or 'controller tarball' which is + a _packagename.t?z (note the prefixing underscore). + + The SlackBuild script uses the Slackware 'explodepkg' script + to untar the contents of the _.t?z into the /tmp-package + directory. + Slackbuild then runs 'make' to compile the binaries + and libraries, but then uses the 'cat' program such as: + # cat foobar > /tmp/package-foobar/usr/bin/foobar + + By using 'cat', the *new* version of 'foobar' retains + the original permissions and ownerships that are in the + controller tar ball. + + However, you may be wondering how, if the package does not + have a facility to install into somewhere other than root, + do we get the file names and permissions for the + controller _.t?z in the first place. + The answer is simple: + [a] find all files on the file system and dump to a file. + [b] compile and install the software + [c] find all files on the file system and compare the file + produced by the first 'find'. After a little pruning, you + have the list of files for the controller tar ball. + + + 2.1.1.3 .build scripts + --------------- + + For those software distributions whose Makefile does not hounour + the DESTDIR type system, there are Slackware's .build scripts. + + These scripts literally ./configure ; make ; make install + and copy docs and other goodies into the root file system. + + One of the problems with these scripts is that they are + often incomplete -- they build and install the package but + do not gzip the man pages or strip the binaries and libraries; + this is done manually afterwards. + + *These* are the scripts that slacktrack and altertrack were + written for. + + * Note: Whilst some software's Makefiles may appear to honour + the DESTDIR variable, the Makefile *may* be broken which can + result in files missing or corrupt within your new package. + For example: I built Apache v2.0.48 and built a package using + make install DESTDIR. However, a problem exists in that some of + the Perl scripts it installs have *temporary build paths* + hard coded into the resulting scripts. + This is why you *may* find a .build instead of a SlackBuild + script within Slackware's source tree. + + However, the primary reason is because the build script just + hasn't been updated to make use of DESTDIR. * + + + 2.2 slacktrack in the scheme of things + ---------------------------------- + + I follow Slackware-current quite closly. Often I want to + 'back port' a -current package to an earlier release of Slackware . + I can't simply upgrade with -current's package because it was + compiled for a newer GLIBC than Slackware 8.1's, for example. + For packages that use a 'clean' 'SlackBuild' script, this is + an easy job -- I simply run 'SlackBuild' on an 8.1 box. + + However, for .build scripts, I needed a way of building packages + using Slackware's .build scripts. + + I found a great program called 'CheckInstall' which fulfilled most of my + requirements. However, as time went on and I started building + more of Slackware's packages and writing my own build scripts, I found + that checkinstall was lacking some features that I required. + At this time I was also considering porting Slackware to run on + the ARM architecture and helping with the Splack (Slackware on SPARC project), + and therefore wanted a robust program that can deal with every .build script + I threw at it, and if it can't handle it, I needed to be able to make modifications. + The easiest way of doing this was to write my own script; thus + 'slacktrack' was born. + + slacktrack is based on the *idea* behind 'CheckInstall', but uses + only my own code (and contributions from other users), and only contains + Slackware-specific facilities -- it can not build Debian or RedHat packages + and never will. + + slacktrack does not have all of the facilities of CheckInstall either, + but then these are not required for building Slackware packages + from .build scripts. + + Also, slacktrack only works with 'official' Slackware directory locations + and /usr/local. + For example, if your make install installs binaries in /opt/packagename/bin + and the man pages in anywhere other than /usr/man or /usr/local/man, then + slacktrack's relevant options (eg stripping libs, bins, gzman) will + not detect them. + + + 2.2.1 Using slacktrack with official .build scripts + --------------------------------------------- + + Building a replicar Slackware package from a .build script is + typically fairly trivial with slacktrack. + + If we wanted to build slackware-9.1's elvis, we could do + # cd slackware/slackware-9.1/source/a/elvis + # chmod 755 elvis.build + # slacktrack -jefkzp "elvis-2.1-i386-2.tgz" ./elvis.build + + The resulting package (by default) be stored in + /tmp/built-slackwarepackages/ + + As already mentioned, some of the Slackware .build scripts + are incomplete with regard to gzipping man pages, stripping binaries + and so on -- fetchmail.build is one of them. + Therefore you can specify various options to slacktrack that + will take care of this for you. + The options in the example above : + j - compress libraries + e - chown root:bin /bin,/sbin,/usr/bin,/usr/sbin directories + f - chown root:bin files in the binary dirs listed above + k - strip binaries found in the binary dirs listed above + z - gzip man pages + p - the resulting Slackware package .t?z name + + The way I re-create the packages is to build a 'trackbuild' script that + launches slacktrack with the required options and the name + of the Slackware .build script. You can find examples of such + scripts within the docs directory after installing slacktrack: + + /usr/doc/slacktrack*/buildscript-examples/ + + You will also find that in Slackware versions 12.0 and upwards, + the .build scripts are accompanied by 'trackbuild' scripts because + slacktrack is used by the Slackware team to produce the packages. + + 2.2.2 Writing your own .build scripts for slacktrack + ---------------------------------------------- + + There isn't any specific that you have to do to write a build + script for use with slacktrack -- the script name specified to + slacktrack doesn't even have to be a script - it can be a binary - + as long as it is executable, it is acceptable. + + You can see some of my own build scripts that I have written + for use with slacktrack by looking in the documents directory + after installing slacktrack: + + /usr/doc/slacktrack*/buildscript-examples/ + + 2.2.2.1 Making use of slacktrack's environment variables + ------------------------------------------------- + + slacktrack exports two environment variables: + SLACKTRACKFAKEROOT and SLACKTRACKSCRATCHDIR + + SLACKTRACKFAKEROOT: + ```````````````````` + + The purpose of this to allow your .build script to access the + 'root' directory of the resulting package. + There are two scenarios where you may want to use this + variable: + + 1. During the build: + + The reason you may wish to do this is to pre-populate + the package with files that you may not wish to place directly + onto the root filesystem. + The package contents will only appear inside this directory + once your build script has finished, and slacktrack has determined + what to put into this directory. + + In previous slacktrack versions which used a pseudo-root filesystem + (where the package contents were populated *during* the build), this + made sense, but in slacktrack v2.00, it is unlikely that you'd want + to use this vairable from the build script. + + 2. Post-build -- cleanups after the build: + + The most likely use of this script is to perform package cleanup + tasks after the build. This is mainly to perform tasks that slacktrack + does not handle itself - such as deleting known files/directories that + creep into packages (due to a system daemon such as CUPS), or setting + some file and directory permissions. + + An example post build script is below. + A post build script can be specified by slacktrack's -R option: + + # Incase you had CUPS running: + rm -rf etc/cups etc/printcap + # crond: + rm -rf var/spool/cron + rmdir var/spool + + # perllocal.pod files don't belong in packages. + # SGMLSPL creates this: + find . -name perllocal.pod -print0 | xargs -0 rm -f + + # Some doc dirs have attracted setuid. + # We don't need setuid for anything in this package: + chmod -R a-s . + + + SLACKTRACKSCRATCHDIR: + ````````````````````` + + The purpose of this variable is to provide some temporary + space to untar your source archives and so on. slacktrack + will manage the creation and deletion of this directory. + + For example: + # cd ${SLACKTRACKSCRATCHDIR} + # tar zxvvf ${ORIGPATH}/source/foobar.tar.gz + + You can see in some of the example 'non-slackware' scripts + how I have used these variables + + +3.0 slacktrack in operation + ----------------------- + + The basic event flow is as follows: + + [1] Parse command line arguments + -> Check they are OK, if not bomb out + [2] Launch the supplied build script + [3] Run any specified functions (eg gzman, strip bins, chowns) over the + package 'root' directory and contents + [4] Run Slackware's 'makepkg' program over the package contents + [5] Move the .t?z to the specified build store path + [6] Scan for any hard links that may be in the package + -> If any found, alert the user on screen and also + log to a packagename.hardlinks.log file in the build store path + + The slacktrack shell script is fairly simple and well commented; it should be + relatively easy for anybody who understands bash to quickly comprehend what + is happening and why. + + 3.1 How slacktrack finds which files have been installed + ---------------------------------------------------- + + In order to track the files and directories that have been installed + or changed, slacktrack follows this ordered process: + + [1] Scans a pre-set list of directories on the filesystem and + logs the contents. + [2] Launches build script which installs the package onto the + filesystem + [3] Scans the filesystem once again + [4] Compares the differences in the before and after snapshots + [5] Copies the differences into a 'package root directory' and + runs makepkg over them. + + In slacktrack version 1, we used 'installwatch' which overloaded + some of glibc's filesystem calls, creating new files and directories + into a pseudo-root filesystem, avoiding the need to install onto + the host's filesystem (and also allowing to build as a non-root user). + However, this library is ill maintained and even in the early days + when it worked well, it still had problems and workarounds were required. + +4.0 Example scripts + --------------- + + Included with the slacktrack binary distribution are a number of example + scripts that hopefully should provide you with a basis of how to use slacktrack + to build from 'dirty' source distributions. + + The examples are bundled in the documentation directory available + after installing slacktrack: + + /usr/doc/slacktrack*/buildscript-examples/ + + +5.0 Known problems/features of slacktrack + ------------------------------------- + + Current problems: + + [1] slacktrack doesn't have sufficient error checking. + + I'm in two minds about *where* to put error checking, you see. + Do I go no further if the supplied build script exits with a non-zero + value? + No, that's a bad idea because what if you didn't write the build script? + it might be one of these qmail type binary installer programs that + you can't (easily without hacking the source) fix. The author may + have their own systems, and the program exits with a value that their + own controller script recognises as non-failure. + + What should I do if makepkg has failed? You see it on screen + and in the logs anyway, plus makepkg is one of the last things + that slacktrack calls -- how can you recover? + + That said, version 1.03 now has some error handling. There's still + not enough though, imo. + + [2] No support for a default config file + + I don't see the point. Each .build script is different + and although I typically use the same options to slacktrack + for most of my build scripts, I don't see why I'd need a + config file just to save 4 bytes or so in a trackbuild wrapper :-) + + +6.0 New features + ------------- + + See the TODO file in the docs directory. + + If you have any specific features you would like to see + included, or have found any bugs, please + email me + +7.0 Licence + ------- + + slacktrack is distributed under BSD Licence. diff --git a/source/d/slacktrack/slacktrack.SlackBuild b/source/d/slacktrack/slacktrack.SlackBuild new file mode 100755 index 000000000..50d52ca01 --- /dev/null +++ b/source/d/slacktrack/slacktrack.SlackBuild @@ -0,0 +1,19 @@ +#!/bin/sh +# Set initial variables: +CWD=`pwd` +if [ "$TMP" = "" ]; then + TMP=/tmp +fi + +export VERSION=2.08 + +if [ ! -d $TMP ]; then + mkdir -p $TMP # location to build the source +fi +cd $TMP +rm -rf slacktrack +tar xvf $CWD/slacktrack-$VERSION-source.tar.xz +cd slacktrack || exit 1 + +# Start the "real" SlackBuild: +./slacktrack.SlackBuild diff --git a/source/d/strace/strace.SlackBuild b/source/d/strace/strace.SlackBuild index 18affdaa7..97b081831 100755 --- a/source/d/strace/strace.SlackBuild +++ b/source/d/strace/strace.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,17 +20,30 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=4.5.18 -ARCH=${ARCH:-x86_64} -NUMJOBS=${NUMJOBS:-" -j7 "} +PKGNAM=strace +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | 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 + +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) @@ -53,7 +66,7 @@ find . \ CFLAGS="$SLKCFLAGS" \ ./configure \ - --prefix=/usr \ + --prefix=/usr \ --mandir=/usr/man \ --build=$ARCH-slackware-linux @@ -64,12 +77,11 @@ strip $PKG/usr/bin/strace mkdir -p $PKG/usr/doc/strace-$VERSION cp -a \ - COPYRIGHT CREDITS NEWS PORTING \ - README README-CVS README-freebsd README-linux README-sunos4 README-svr4 TODO \ + COPYRIGHT CREDITS NEWS PORTING README* TODO \ $PKG/usr/doc/strace-$VERSION chmod 644 $PKG/usr/doc/strace-$VERSION/* -gzip -9 $PKG/usr/man/man1/strace.1 +gzip -9 $PKG/usr/man/man1/* mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/source/d/subversion/subversion.SlackBuild b/source/d/subversion/subversion.SlackBuild index c2b01e83b..27f52fd80 100755 --- a/source/d/subversion/subversion.SlackBuild +++ b/source/d/subversion/subversion.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# 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 diff --git a/source/d/swig/swig.SlackBuild b/source/d/swig/swig.SlackBuild index 44f3d53f0..aa4ea3744 100755 --- a/source/d/swig/swig.SlackBuild +++ b/source/d/swig/swig.SlackBuild @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2009 Robby Workman, Northport, Alabama, USA -# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,9 +21,19 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=1.3.38 -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-1} +PKGNAM=swig +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} + +# 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} @@ -35,6 +45,8 @@ elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" fi NUMJOBS=${NUMJOBS:--j6} diff --git a/source/d/yasm/slack-desc b/source/d/yasm/slack-desc new file mode 100644 index 000000000..fc28253f2 --- /dev/null +++ b/source/d/yasm/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------------------------------------------------------| +yasm: yasm (complete rewrite of the NASM assembler) +yasm: +yasm: Yasm is a complete rewrite of the NASM assembler under the "new" BSD +yasm: License (some portions are under other licenses, see COPYING for +yasm: details). Yasm currently supports the x86 and AMD64 instruction sets, +yasm: accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, +yasm: 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, +yasm: and generates source debugging information in STABS, DWARF 2, and +yasm: CodeView 8 formats. +yasm: +yasm: yasm home: http://www.tortall.net/projects/yasm/ diff --git a/source/d/yasm/yasm.SlackBuild b/source/d/yasm/yasm.SlackBuild new file mode 100755 index 000000000..b178fdb49 --- /dev/null +++ b/source/d/yasm/yasm.SlackBuild @@ -0,0 +1,216 @@ +#!/bin/sh +# $Id: yasm.SlackBuild,v 1.7 2009/05/12 20:24:31 root Exp root $ +# Copyright (c) 2008 Eric Hameleers +# Copyright 2010 Patrick 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: yasm +# Descr: complete rewrite of the NASM assembler +# URL: http://www.tortall.net/projects/yasm/ +# Needs: +# Changelog: +# 0.7.1-1: 16/Jun/2008 by Eric Hameleers +# * Initial build. +# 0.7.2-1: 08/dec/2008 by Eric Hameleers +# * Update. +# 0.8.0-1: 12/may/2009 by Eric Hameleers +# * Update. +# 1.1.0-1: 2010-08-31 by volkerdi@slackware.com +# * Update. +# +# Run 'sh yasm.SlackBuild' to build a Slackware package. +# The package (.txz) plus descriptive .txt file are created in /tmp . +# Install using 'installpkg'. +# +# ----------------------------------------------------------------------------- + +PKGNAM=yasm +VERSION=${VERSION:-1.1.0} +BUILD=${BUILD:-1} +TAG=${TAG:-} + +# 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 + +DOCS="ABOUT-NLS AUTHORS ChangeLog COPYING GNU_* NEWS README *.txt" + +# If you want to disable python bindings, set ENABLE_PYTHON to "NO". +# Building python support requires Cython, which is not shipped with Slackware. +ENABLE_PYTHON=${ENABLE_PYTHON:-"'NO"} + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PKGNAM +OUTPUT=${OUTPUT:-/tmp} + +SOURCE="$SRCDIR/${PKGNAM}-${VERSION}.tar.xz" +SRCURL="http://www.tortall.net/projects/${PKGNAM}/releases/${PKGNAM}-${VERSION}.tar.gz" + +## +## --- 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-${PKGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +case "$ARCH" in + i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + s390) SLKCFLAGS="-O2" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + powerpc) SLKCFLAGS="-O2" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-O2 -fPIC" + SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" + ;; + athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; +esac + +# Create working directories: +mkdir -p $OUTPUT # place for the package to be saved +mkdir -p $TMP/tmp-$PKGNAM # location to build the source +mkdir -p $PKG # place for the package to be built +rm -rf $PKG/* # always erase old package's contents +rm -rf $TMP/tmp-$PKGNAM/* # remove the remnants of previous build + +# Source file availability: +if ! [ -f ${SOURCE} ]; then + if ! [ "x${SRCURL}" == "x" ]; then + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" + echo "Source '$(basename ${SOURCE})' not available yet..." + echo "Will download file to $(dirname $SOURCE)" + wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true + if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then + echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + mv -f "${SOURCE}" "${SOURCE}".FAIL + exit 1 + fi + else + echo "File '$(basename ${SOURCE})' not available... aborting the build." + exit 1 + fi +fi + +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PKGNAM-$VERSION" +echo "++" + +cd $TMP/tmp-$PKGNAM +echo "Extracting the source archive(s) for $PKGNAM..." +tar xvf ${SOURCE} +cd ${PKGNAM}-${VERSION} +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +if [ "$ENABLE_PYTHON" = "YES" ]; then + PYTHONSTUFF="--enable-python --enable-python-bindings" +else + PYTHONSTUFF="" +fi + +echo Building ... +LDFLAGS="$SLKLDFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +CFLAGS="$SLKCFLAGS" \ +./configure --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + ${PYTHONSTUFF} \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux \ + 2>&1 | tee $OUTPUT/configure-${PKGNAM}.log +make 2>&1 | tee $OUTPUT/make-${PKGNAM}.log + +# Install all the needed stuff to the package dir +# Use installwatch if available, to produce a logfile of the installation +# process that is more easily readable: +if $(which installwatch > /dev/null 2>&1); then + installwatch -o $OUTPUT/install-${PKGNAM}.log make DESTDIR=$PKG install +else + make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PKGNAM}.log +fi + +# Add documentation: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PKGNAM-$VERSION || true +cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild +chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Remove empty share directory: +rmdir $PKG/usr/share || true + +# 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 + +# Build the package: +cd $PKG +makepkg --linkadd y --chown n $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PKGNAM}.log +cd $OUTPUT +md5sum ${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PKGNAM}" > $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt + -- cgit v1.2.3