diff options
author | Bertrand Jacquin <beber@meleeweb.net> | 2009-04-24 11:09:36 +0200 |
---|---|---|
committer | Bertrand Jacquin <beber@meleeweb.net> | 2009-04-24 11:09:36 +0200 |
commit | 4d0971f6de818d14c4581487ad067228d7a2f35b (patch) | |
tree | 8face4b80b17b10481520db2ab8f457384536ac4 | |
parent | roundcube is in portage now (diff) | |
parent | e2fsprogs-libs: missing USE uclibc (diff) | |
download | portage-4d0971f6de818d14c4581487ad067228d7a2f35b.tar.xz |
Merge branch 'master' of git://git.meleeweb.net/var/git/distros/gentoo/portage
Conflicts:
mail-client/roundcube/Manifest
114 files changed, 6045 insertions, 75 deletions
diff --git a/app-admin/hot-babe/Manifest b/app-admin/hot-babe/Manifest index 7d4138d8..e0aee6ee 100644 --- a/app-admin/hot-babe/Manifest +++ b/app-admin/hot-babe/Manifest @@ -1,4 +1,12 @@ -DIST hot-babe-0.2.0.tar.bz2 397541 RMD160 36c28aff7b1aeaeb88c9c653aa460d8c5587bf7d SHA1 4a28aee1098377a2dab82037776c2c4ee1e8a4a7 SHA256 e2e468a5493c486fb21918bdbaa11261a0d6022a39b19757cff60510be80f12b -DIST hot-babe-0.2.2.tar.bz2 406172 RMD160 a564f038366fb94d84a00af8eb1c6bb3abaef628 SHA1 145948c9208c369b4cdf9f9f29c02462518c6e85 SHA256 f76b7f09e329b3a45a5560fbc50e58b4508fbbb6ae3bd65db925bdc04d07b1b1 -EBUILD hot-babe-0.2.0.ebuild 657 RMD160 2570eda0bdcbe122fca046d48001ecfc81bbc94c SHA1 52fa447fcc6f719fa3f2c9f9c6fa98e18dfce33e SHA256 e2317fddc0948c75106c2b829b9e19919d5c80f90a42deebb78ce968e06169a9 -EBUILD hot-babe-0.2.2.ebuild 805 RMD160 b1797827caeaeecb6b9754c7fdb855d907f47979 SHA1 01b7a97efce02953ed4038bdba922ed1bc013bbf SHA256 38a9969f313096f6b26d48c6825c61e9c3eb21470db494bd46b210b31c353e44 +MD5 1953b48a53a82a838e4bf0ad5c9dd426 files/digest-hot-babe-0.2.0 247 +RMD160 87ec848fb1c18641a260bd7baf6bfcb996955927 files/digest-hot-babe-0.2.0 247 +SHA256 2a553a086ffd0f6b3384cb3cf6e2d2f9a4858b3e7180179fa09b2149149c1826 files/digest-hot-babe-0.2.0 247 +MD5 f8de2769de100cc3539f229ec9891c7f files/digest-hot-babe-0.2.2 247 +RMD160 6903f213a7f5a2b1c701130d97f3861772a37fdd files/digest-hot-babe-0.2.2 247 +SHA256 fbc0ced9822f3089e85b6e6ed97a99ab81358d54faf8760eb68a9b8999c44fff files/digest-hot-babe-0.2.2 247 +MD5 42484ac9cc67dc00820292d95c743f66 hot-babe-0.2.0.ebuild 902 +RMD160 9fb548cb1c4676b22ac2ea580d0adc99aab4df02 hot-babe-0.2.0.ebuild 902 +SHA256 801a00e76e99353ecd6c5a3be4aa9a68d8fc312c27e0e10fc3403d1201daef09 hot-babe-0.2.0.ebuild 902 +MD5 42484ac9cc67dc00820292d95c743f66 hot-babe-0.2.2.ebuild 902 +RMD160 9fb548cb1c4676b22ac2ea580d0adc99aab4df02 hot-babe-0.2.2.ebuild 902 +SHA256 801a00e76e99353ecd6c5a3be4aa9a68d8fc312c27e0e10fc3403d1201daef09 hot-babe-0.2.2.ebuild 902 diff --git a/cross-i586-geode-linux-dietlibc/dietlibc b/cross-i586-geode-linux-dietlibc/dietlibc deleted file mode 120000 index 4c23b56f..00000000 --- a/cross-i586-geode-linux-dietlibc/dietlibc +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/dev-libs/dietlibc
\ No newline at end of file diff --git a/cross-i586-geode-linux-gnu/binutils b/cross-i586-geode-linux-gnu/binutils deleted file mode 120000 index 0f98435e..00000000 --- a/cross-i586-geode-linux-gnu/binutils +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/sys-devel/binutils
\ No newline at end of file diff --git a/cross-i586-geode-linux-gnu/gcc b/cross-i586-geode-linux-gnu/gcc deleted file mode 120000 index 8e0883fb..00000000 --- a/cross-i586-geode-linux-gnu/gcc +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/sys-devel/gcc
\ No newline at end of file diff --git a/cross-i586-geode-linux-gnu/gdb b/cross-i586-geode-linux-gnu/gdb deleted file mode 120000 index 0ab6bdc1..00000000 --- a/cross-i586-geode-linux-gnu/gdb +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/sys-devel/gdb
\ No newline at end of file diff --git a/cross-i586-geode-linux-gnu/glibc b/cross-i586-geode-linux-gnu/glibc deleted file mode 120000 index a5553b00..00000000 --- a/cross-i586-geode-linux-gnu/glibc +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/sys-libs/glibc
\ No newline at end of file diff --git a/cross-i586-geode-linux-gnu/insight b/cross-i586-geode-linux-gnu/insight deleted file mode 120000 index f7036ecd..00000000 --- a/cross-i586-geode-linux-gnu/insight +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/dev-util/insight
\ No newline at end of file diff --git a/cross-i586-geode-linux-gnu/linux-headers b/cross-i586-geode-linux-gnu/linux-headers deleted file mode 120000 index 65238398..00000000 --- a/cross-i586-geode-linux-gnu/linux-headers +++ /dev/null @@ -1 +0,0 @@ -/usr/portage/sys-kernel/linux-headers
\ No newline at end of file diff --git a/cross-i586-geode-linux-dietlibc/binutils b/cross-mips-linux-uclibc/binutils index 0f98435e..0f98435e 120000 --- a/cross-i586-geode-linux-dietlibc/binutils +++ b/cross-mips-linux-uclibc/binutils diff --git a/cross-i586-geode-linux-dietlibc/gcc b/cross-mips-linux-uclibc/gcc index 8e0883fb..8e0883fb 120000 --- a/cross-i586-geode-linux-dietlibc/gcc +++ b/cross-mips-linux-uclibc/gcc diff --git a/cross-i586-geode-linux-dietlibc/gdb b/cross-mips-linux-uclibc/gdb index 0ab6bdc1..0ab6bdc1 120000 --- a/cross-i586-geode-linux-dietlibc/gdb +++ b/cross-mips-linux-uclibc/gdb diff --git a/cross-i586-geode-linux-dietlibc/insight b/cross-mips-linux-uclibc/insight index f7036ecd..f7036ecd 120000 --- a/cross-i586-geode-linux-dietlibc/insight +++ b/cross-mips-linux-uclibc/insight diff --git a/cross-i586-geode-linux-dietlibc/linux-headers b/cross-mips-linux-uclibc/linux-headers index 65238398..65238398 120000 --- a/cross-i586-geode-linux-dietlibc/linux-headers +++ b/cross-mips-linux-uclibc/linux-headers diff --git a/cross-mips-linux-uclibc/uclibc/ChangeLog b/cross-mips-linux-uclibc/uclibc/ChangeLog new file mode 100644 index 00000000..675dd511 --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/ChangeLog @@ -0,0 +1,401 @@ +# ChangeLog for sys-libs/uclibc +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/ChangeLog,v 1.43 2009/01/10 04:32:59 redhatter Exp $ + + 10 Jan 2009; Stuart Longland <redhatter@gentoo.org> uclibc-0.9.30.ebuild: + Added ~mips keyword. uClibc appears to work fine on both mips and mipsel + with one caveat: it doesn't work on 16KB page size kernels (i.e. Loongson) + see http://bugs.busybox.net/show_bug.cgi?id=9 for info here. + + It *does* however, work fine on my Cobalt Qube2 and SGI O2, where I am + building stages. + + 02 Jan 2009; <solar@gentoo.org> metadata.xml, uclibc-0.9.30.ebuild: + work around gcc-4 lack of ssp by default support while +hardened is enabled + +*uclibc-0.9.30 (28 Nov 2008) + + 28 Nov 2008; <solar@gentoo.org> -uclibc-0.9.28.3-r6.ebuild, + -uclibc-0.9.30_rc1.ebuild, -uclibc-0.9.30_rc3.ebuild, + +uclibc-0.9.30.ebuild: + - version bump and some cleanup + + 09 Nov 2008; <solar@gentoo.org> uclibc-0.9.30_rc3.ebuild: + - psm reports headers need -j1 flag + + 01 Nov 2008; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.27-r1.ebuild, + uclibc-0.9.28.3.ebuild, uclibc-0.9.28.3-r3.ebuild, + uclibc-0.9.28.3-r6.ebuild, uclibc-0.9.28.3-r7.ebuild, + uclibc-0.9.30_rc1.ebuild, uclibc-0.9.30_rc3.ebuild: + Unify some ebuild differences and fix header-only install with newer + versions #234748 by Nathan Brink. + +*uclibc-0.9.30_rc3 (29 Oct 2008) + + 29 Oct 2008; <solar@gentoo.org> +uclibc-0.9.30_rc3.ebuild: + - version bump. rc3 drops all gentoo patches. merged upstream + +*uclibc-0.9.30_rc1 (23 Sep 2008) + + 23 Sep 2008; <solar@gentoo.org> +uclibc-0.9.30_rc1.ebuild: + - Initial import of 0.9.30_rc1 branch for gentoo testing/QA before final the + release. (many thanks to torindel for helping out with this) + + 23 Aug 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml: + add GLEP 56 USE flag desc from use.local.desc + +*uclibc-0.9.28.3-r7 (08 Jun 2008) + + 08 Jun 2008; <solar@gentoo.org> +uclibc-0.9.28.3-r7.ebuild: + - fix up a few cross compile problems for arm + +*uclibc-0.9.28.3-r6 (05 May 2008) + + 05 May 2008; <solar@gentoo.org> -uclibc-0.9.28.ebuild, + -uclibc-0.9.28-r1.ebuild, -uclibc-0.9.28-r2.ebuild, + -uclibc-0.9.28.1.ebuild, -uclibc-0.9.28.3-r1.ebuild, + -uclibc-0.9.28.3-r2.ebuild, -uclibc-0.9.28.3-r4.ebuild, + -uclibc-0.9.28.3-r5.ebuild, +uclibc-0.9.28.3-r6.ebuild: + - little cleanup and add the realpath patch from bug 125701 to address the + sandbox problem with coreutils + +*uclibc-0.9.28.3-r5 (04 May 2008) + + 04 May 2008; <solar@gentoo.org> +uclibc-0.9.28.3-r5.ebuild: + [Bug 219598] [PATCH] sys-libs/uclibc-0.9.28.3 - backport of splice(2), + tee(2) and vmsplice(2) syscalls + + 23 Apr 2008; <solar@gentoo.org> uclibc-0.9.28.3-r3.ebuild: + - stable on arm/ppc/x86 + + 16 Apr 2008; Christian Heim <phreak@gentoo.org> uclibc-0.9.28.3-r4.ebuild: + Remove the extra distmirror (my devspace from SRC_URI). + + 16 Apr 2008; Christian Heim <phreak@gentoo.org> uclibc-0.9.28.3-r4.ebuild: + Silent revision bump (ie just incrementing the patch version) to grab the + libm stuff, which was missing from CVS. + +*uclibc-0.9.28.3-r4 (16 Apr 2008) + + 16 Apr 2008; Christian Heim <phreak@gentoo.org> + +uclibc-0.9.28.3-r4.ebuild: + Revision bump, pulling in svn r16022 to fix readdir_r return value (uClibc + #1022; #217612 by Natanael Copa). + + 27 Mar 2008; Christian Heim <phreak@gentoo.org> uclibc-0.9.28.3-r2.ebuild: + Marking uclibc-0.9.28.3-r2 stable on ppc too. + +*uclibc-0.9.28.3-r3 (24 Mar 2008) + + 24 Mar 2008; <solar@gentoo.org> +uclibc-0.9.28.3-r3.ebuild: + - sync queue.h up from svn HEAD + + 15 Mar 2008; Christian Heim <phreak@gentoo.org> uclibc-0.9.28.3-r2.ebuild: + Stabilizing uclibc-0.9.28.3-r2 on x86, as per solar's acknowledgement. + +*uclibc-0.9.28.3-r2 (01 Jan 2008) + + 01 Jan 2008; <solar@gentoo.org> +uclibc-0.9.28.3-r2.ebuild: + * 0.9.28.3 - 1.2 - Backport a few header defines + +*uclibc-0.9.28.3-r1 (21 Sep 2007) + + 21 Sep 2007; <solar@gentoo.org> +uclibc-0.9.28.3-r1.ebuild: + backport posix_memalign() function + + 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> + uclibc-0.9.27-r1.ebuild, uclibc-0.9.28.ebuild, uclibc-0.9.28-r1.ebuild, + uclibc-0.9.28-r2.ebuild, uclibc-0.9.28.1.ebuild, uclibc-0.9.28.3.ebuild: + (QA) RESTRICT clean up. + + 30 Jun 2007; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.27-r1.ebuild, + uclibc-0.9.28.ebuild, uclibc-0.9.28-r1.ebuild, uclibc-0.9.28-r2.ebuild, + uclibc-0.9.28.1.ebuild, uclibc-0.9.28.3.ebuild: + Use `as` and `file` to determine the toolchain endianness #171849. + + 07 Apr 2007; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.28.3.ebuild: + Install hostutils (ldd/ldconfig) for cross-compilers #172207. + +*uclibc-0.9.28.3 (25 Mar 2007) + + 25 Mar 2007; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.28.3.ebuild: + Version bump #168747 by Josh G. + + 16 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> + uclibc-0.9.27-r1.ebuild, uclibc-0.9.28.ebuild, uclibc-0.9.28-r1.ebuild, + uclibc-0.9.28-r2.ebuild, uclibc-0.9.28.1.ebuild: + Fix tc-is-softfloat logic, as reported on gentoo-embedded by Scott L. Price. + +*uclibc-0.9.28.1 (28 Jan 2007) + + 28 Jan 2007; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.28.1.ebuild: + Version bump. + +*uclibc-0.9.28-r2 (15 Jan 2007) + + 15 Jan 2007; <solar@gentoo.org> +uclibc-0.9.28-r2.ebuild: + - import readahead() symbol and import from Joakim Tjernlund - + uClibc-svn-r17162 (Support SecurePLTs for PowerPC) + +*uclibc-0.9.28-r1 (14 Oct 2006) + + 14 Oct 2006; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.28-r1.ebuild: + Push out accumulated fixes. + + 27 Jan 2006; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.28.ebuild: + Stabilize, add a few minor bugfixes, and add support for USE=savedconfig. + + 25 Nov 2005; <solar@gentoo.org> uclibc-0.9.28.ebuild: + - the __uClibc_start_main is becoming a problem for users thus we need to + check the bins before allowing them to have uclibc-compat disabled + + 13 Nov 2005; <solar@gentoo.org> uclibc-0.9.28.ebuild: + - moredefs.. + + 07 Nov 2005; <solar@gentoo.org> uclibc-0.9.28.ebuild: + Enabled DL_FINI_CRT_COMPAT by default + + 05 Sep 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.27.ebuild, + uclibc-0.9.27-r1.ebuild: + Fix optimized strn functions so nano stops crashing #95395. + +*uclibc-0.9.28 (18 Aug 2005) + + 18 Aug 2005; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.28.ebuild: + Version bump. + + 05 Aug 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.27.ebuild, + uclibc-0.9.27-r1.ebuild: + Add patch by Yuri Vasilevski to fix FPU endian on arm #75585. + + 29 Jul 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.27.ebuild, + uclibc-0.9.27-r1.ebuild: + Update patchset to include armeb stat and getent fixes. + +*uclibc-0.9.27-r1 (18 Jun 2005) + + 18 Jun 2005; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.27-r1.ebuild: + New testing version by psm with partial locale support. + + 18 Jun 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.27.ebuild: + Add patches from upstream to fix arm/TEXTRELs and remove the duplicated + pthread_atfork() prototype from unistd.h. + + 21 Apr 2005; <solar@gentoo.org> files/getent, uclibc-0.9.27.ebuild: + - update getent script in FILESDIR + + 17 Jan 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.26-r8.ebuild, + uclibc-0.9.27.ebuild: + Make sure uclibc doesnt destroy glibc hosts (sorry solar!) and fix + src_test() so it actually works. + +*uclibc-0.9.27 (14 Jan 2005) + + 14 Jan 2005; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.27.ebuild: + Version bump. + + 11 Jan 2005; Mike Frysinger <vapier@gentoo.org> uclibc-0.9.26-r8.ebuild: + Merge psm & my cross compile work together and BAM we have a sweet ebuild. + + 14 Dec 2004; <solar@gentoo.org> uclibc-0.9.26-r8.ebuild: + - Improved hardened handling bug 73699. Initial support for xattr. + + 10 Nov 2004; <solar@gentoo.org> uclibc-0.9.26-r8.ebuild: + uclibc updates + +*uclibc-0.9.26-r8 (06 Nov 2004) + + 06 Nov 2004; Mike Frysinger <vapier@gentoo.org> +uclibc-0.9.26-r8.ebuild: + Add the ability to select CPU/endian type #69871. + + 28 Oct 2004; <solar@gentoo.org> uclibc-0.9.26-r7.ebuild: + uclibc-0.9.26-r7 marked stable for x86/arm/ppc/mips. 30 days in ~arch, + security changes only which mark unsecvars stable + + 13 Oct 2004; <solar@gentoo.org> files/0.9.26/ssp.c: + more updates to ssp.c + + 12 Oct 2004; <solar@gentoo.org> files/0.9.26/ssp.c: + reverting to old ssp behavior + +*uclibc-0.9.26-r7 (28 Sep 2004) + + 28 Sep 2004; <solar@gentoo.org> + +files/0.9.26/uClibc-20040921-ldso-unsecvars.patch, + +files/0.9.26/unsecvars.h, +uclibc-0.9.26-r7.ebuild: + added unsecvars handling to uclibc. testing ground here and going mainline + afterwords + + 06 Sep 2004; Ciaran McCreesh <ciaranm@gentoo.org> uclibc-0.9.26-r3.ebuild, + uclibc-0.9.26-r4.ebuild, uclibc-0.9.26-r5.ebuild, uclibc-9999.ebuild: + Switch to use epause and ebeep, bug #62950 + +*uclibc-9999 (25 Aug 2004) + + 25 Aug 2004; Mike Frysinger <vapier@gentoo.org> + +uclibc-9999.ebuild: + CVS ebuild to make our (well mine at least) lives easier. + + 19 Aug 2004; <solar@gentoo.org> uclibc-0.9.26-r1.ebuild, + uclibc-0.9.26-r2.ebuild, uclibc-0.9.26-r3.ebuild, uclibc-0.9.26-r4.ebuild, + uclibc-0.9.26-r5.ebuild: + update RDEPEND. bug 60911 + + 09 Aug 2004; Mike Frysinger <vapier@gentoo.org> + +files/0.9.26/uclibc-0.9.26-ldso-cache.patch, uclibc-0.9.26-r5.ebuild: + Add a small patch to allow loading of ELF_LIBC0 libraries. + + 09 Aug 2004; Mike Frysinger <vapier@gentoo.org> + +files/0.9.26/uclibc-0.9.26-resolve-segfault.patch, uclibc-0.9.26-r5.ebuild: + Add a homebrewed patch to fix the bug with gethostname() which didnt setup the + h_aliases data. + +*uclibc-0.9.26-r5 (09 Aug 2004) + + 09 Aug 2004; <solar@gentoo.org> uclibc-0.9.26-r5.ebuild: + version bump requested by spanky + + 06 Aug 2004; Mike Frysinger <vapier@gentoo.org> + +files/0.9.26/arm-ucontext.patch, uclibc-0.9.26-r4.ebuild: + Make sure arm/ucontext.h includes the right context files and fix the ld utils + to properly read/write /etc/ld.so.* files. + +*uclibc-0.9.26-r4 (30 Jul 2004) + + 30 Jul 2004; <solar@gentoo.org> uclibc-0.9.26-r4.ebuild: + updated the cvs snapshot so we can get some header updates + + 13 Jul 2004; <solar@gentoo.org> uclibc-0.9.26-r3.ebuild: + paying respect to mjn3 and his DEDICATION to his wife in the docs + +*uclibc-0.9.26-r3 (12 Jul 2004) + + 12 Jul 2004; <solar@gentoo.org> uclibc-0.9.26-r3.ebuild, + files/0.9.26/uclibc-0.9.26-noexecstack.patch: + more uclibc updates from Peter S. Mazinger + + 05 Jul 2004; <solar@gentoo.org> uclibc-0.9.21.ebuild, + uclibc-0.9.26-r1.ebuild, uclibc-0.9.26-r2.ebuild, files/getent: + added getent which is a shell replacement (uclibc does not have it, but + ebuild.sh uses it. So we need it! + + 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> uclibc-0.9.21.ebuild, + uclibc-0.9.26-r1.ebuild, uclibc-0.9.26-r2.ebuild: + virtual/glibc -> virtual/libc + + 27 Jun 2004; <solar@gentoo.org> uclibc-0.9.21.ebuild, + uclibc-0.9.26-r1.ebuild, uclibc-0.9.26-r2.ebuild: + updated PROVIDES for virtual/libc + +*uclibc-0.9.26-r2 (23 Jun 2004) + + 23 Jun 2004; <solar@gentoo.org> uclibc-0.9.26-r2.ebuild, + files/0.9.26/uclibc-0.9.26-arm-dl-sysdep.patch: + Added patch for ARCH=arm to prevent a static inlines from being included more + than one time. sent patch upstream + + 22 Jun 2004; <solar@gentoo.org> files/0.9.26/ssp.c, + files/0.9.26/uClibc-20040613-do_rem.patch, + files/0.9.26/uclibc-0.9.26-ssp-gcc34-after-frandom.patch: + major uclibc cleanups. New IUSE= flags and functionality + + 26 May 2004; Mike Frysinger <vapier@gentoo.org> + +files/0.9.26/arm-fix-missing-syscalls.patch, uclibc-0.9.26-r1.ebuild: + Add patch to allow arm building + + 01 Feb 2004; <solar@gentoo.org> uclibc-0.9.23.ebuild, + uclibc-0.9.26-r1.ebuild, uclibc-0.9.26.ebuild: + The etdyn local use flag has been renamed to pie (Position Independent + Executable) Removed old ebuilds.. Keeping 0.9.21 as stable till Gentoo has a + working uClibc toolchain in place + +*uclibc-0.9.26-r1 (08 Jan 2004) + + 08 Jan 2004; <solar@gentoo.org> uclibc-0.9.26-r1.ebuild, + files/0.9.26/uClibc-0.9.26-Makefile.patch, + files/0.9.26/uClibc-0.9.26-pie-option.patch: + Attached is one patch needed to really enable FORCE_SHAREABLE_SEGMENTS + option, the other is to build uclibc against the installed kernel-headers + (not kernel-source) - Peter S. Mazinger gentoo-embedded mailing list. + +*uclibc-0.9.26 (04 Jan 2004) + + 04 Jan 2004; <solar@gentoo.org> uclibc-0.9.25-r1.ebuild, + uclibc-0.9.25.ebuild, uclibc-0.9.26.ebuild: + version bump.. there was a pthread bug that slipped though uclibc.org testing + +*uclibc-0.9.25-r1 (04 Jan 2004) + + 04 Jan 2004; <solar@gentoo.org> uclibc-0.9.21.ebuild, uclibc-0.9.23.ebuild, + uclibc-0.9.25-r1.ebuild, uclibc-0.9.25.ebuild: + added back etdyn/pie support for x86. If -fstack-protector is in the users + CFLAGS then let uclibc provide __guard symbols + +*uclibc-0.9.25 (03 Jan 2004) + + 03 Jan 2004; Mike Frysinger <vapier@gentoo.org> : + Version bumpage #36235. Patches no longer needed since they've all been + integrated upstream. + +*uclibc-0.9.23 (15 Nov 2003) + + 21 Nov 2003; <solar@gentoo.org> metadata.xml: + update metadata.xml + + 21 Nov 2003; <solar@gentoo.org> uclibc-0.9.22.ebuild, + files/uClibc-0.9.22-etdyn.patch, files/uClibc-0.9.22-pax.patch, + files/0.9.23/uClibc-0.9.23-etdyn.patch, + files/0.9.23/uClibc-0.9.23-flipturn.patch: + updated etdyn patches. no major functional changes to revision bump, removed + buggy 0.9.22 code from portage + + 15 Nov 2003; <solar@gentoo.org> uclibc-0.9.23.ebuild, + files/0.9.23/uClibc-0.9.23-etdyn.patch, + files/0.9.23/uClibc-0.9.23-flipturn.patch, + files/0.9.23/uClibc-0.9.23-pax.patch: + version bump, 0.9.22 was braindead.. In this release we continue support for + PaX etdyn executabes thanks to the PaX Team and Peter S. Mazinger as well as + add a small patch that was submited to the uClibc by Rob McMullen + +*uclibc-0.9.22 (11 Nov 2003) + + 11 Nov 2003; <solar@gentoo.org> uclibc-0.9.22.ebuild, + files/uClibc-0.9.22-etdyn.patch, files/uClibc-0.9.22-pax.patch: + version bump, this ebuild includes experimental pax-etdyn support for uclibc + when local use flag etdyn is used + + 04 Oct 2003; <solar@gentoo.org> uclibc-0.9.21.ebuild: + marking stable on x86, and added a metadata.xml + +*uclibc-0.9.21 (10 Sep 2003) + + 30 Sep 2003; Joshua Kinard <kumba@gentoo.org> uclibc-0.9.21.ebuild: + Added ~sparc & ~mips to KEYWORDS + Useful for building our netboot images with + + 10 Sep 2003; <solar@gentoo.org> uclibc-0.9.21.ebuild: + andersee is pleased to announce the immediate availability of uClibc 0.9.21. + This release has been brewing for several months now, and provides quite a lot + of additional functionality as well as quite a few bug fixes. The biggest + thing in this release (and I do mean that literally) is that uClibc now has + full ANSI/ISO C99 locale support. The most interesting thing for uClinux are + the additional config options that will let you tune the library to be even + smaller, for example, by disabling all the strerror() messages. + +*uclibc-0.9.20 (09 Jul 2003) + + 09 Jul 2003; Mike Frysinger <vapier@gentoo.org> : + Version bumpage. + +*uclibc-0.9.19 (19 Jun 2003) + + 19 Jun 2003; Mike Frysinger <vapier@gentoo.org> : + Version bump #15579 thanks to David Bryson <mutex@kerneli.org>. + +*uclibc-0.9.16 (11 Nov 2002) + + 25 May 2003; Martin Holzer <mholzer@gentoo.org> uclibc-0.9.16.ebuild: + now uses mirror://kernel + + 11 Nov 2002; Mike Frysinger <vapier@gentoo.org> : + Initial import. Ebuild submitted by me. diff --git a/cross-mips-linux-uclibc/uclibc/Manifest b/cross-mips-linux-uclibc/uclibc/Manifest new file mode 100644 index 00000000..dfb898ac --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/Manifest @@ -0,0 +1,18 @@ +AUX uClibc-mips.diff 1232 RMD160 b433a35474d7b2e50a68aa9f02bd2ef6145adbcf SHA1 2a42b3217744b95766a01394a1a7c87f7910e834 SHA256 baf04f21691efeb57dc11c9414fb64925089f97660ed62191ec6f86b7ca3481b +DIST uClibc-0.9.27-cvs-update-20050114.patch.bz2 839 RMD160 08439855b6dc481216132d3882b8f634ecbe4555 SHA1 0e1a400745f0cbd739c6c08f45951eea836b1102 SHA256 83b86570ed0f0109f2ff04e753daf18a9bf59eab5b01b8d04a2406bb4100c423 +DIST uClibc-0.9.27-patches-1.6.tar.bz2 24001 RMD160 eca81853e00e5144c165b2eb4733059d53f93234 SHA1 93beb60660145c1b661c577f1e89a7217841c0c9 SHA256 78ff8162423b5563b1a97ae5294ab1e919b9489e171962053da54c04ee127797 +DIST uClibc-0.9.27.tar.bz2 1693895 RMD160 4c580c0c468bcd7e77a6b4223847f17b6ad241cc SHA1 e0de53949998253e25e6b946b564062babb723b4 SHA256 d43098b9d1cac5cc983672f885d82b59459c3abcb12ef8141653581c77cd0d9c +DIST uClibc-0.9.28.3-patches-1.0.tar.bz2 16079 RMD160 2224a7b826932fcd5c96a0bddb30fcfa4173de35 SHA1 098f90da4879bc3a14afe662f19163c969bde431 SHA256 c432d869fc3e8a4e2137541e8a1ab93e7d634387d9ca5131842721f4b080b72e +DIST uClibc-0.9.28.3-patches-1.3.tar.bz2 21241 RMD160 c78dda0bdbc751721559d91bdd60a29e5260007b SHA1 f89a0bd18fbda1101ad419c3abc06068dd237776 SHA256 b3a3a98798861e38525082884b4a5be1ab42d281c2680db3ddc0085d031aa397 +DIST uClibc-0.9.28.3-patches-1.8.tar.bz2 27909 RMD160 7c936749075162939c76489aa5a88278f235b48f SHA1 5bb582cb8f95407bd9fa938a9dd09027dcf0db0b SHA256 9496394de9de241551497c496b7fb8ece32b23536485bd81bd20128c2e104790 +DIST uClibc-0.9.28.3.tar.bz2 1795383 RMD160 61591281f4193d4dcd0fa3252fb3286028d4cb63 SHA1 77c5220697a1772d0d9da4bda0d866e4f4b68540 SHA256 1d86d5dad6060e7057cfe023ffc7b7661bdc7fe95112b37447851c0a75b547a1 +DIST uClibc-0.9.30-patches-1.0.tar.bz2 7017 RMD160 548b43fc8f3d3637eccef5c5df13b84380ec8631 SHA1 bfb64d3bdc0d067e78b050fe899021849a47f091 SHA256 e8f36766c8b6cb37bab69af09e7ff2c5108719c74b83fc145893198b87f8e73e +DIST uClibc-0.9.30.tar.bz2 2291882 RMD160 08270ef742a2167ae660c5440bc5f78775a10ab0 SHA1 e96665237968fb2e4aa027bde9d56c4fe599eb1b SHA256 67e7e6b983cd2caa163f177d5196282434ae1e18b7270495cd6c65f5c1549555 +DIST uClibc-locale-030818.tgz 236073 RMD160 8e3f4b20b94e07e535cbbbe81287186014c5f151 SHA1 78f901e6ed228ed84106bd034c1b97eee1eecb50 SHA256 c4362be318a38f18d98dccf462d22d95bab92f05548bb93f65298fe9afaebd57 +EBUILD uclibc-0.9.27-r1.ebuild 12349 RMD160 1907241e5b159e8e6dfe5758254e78529508da5c SHA1 6ccc353679842a15cec02e67370a53468b813c25 SHA256 ef45378f6dfbe838b5985c727e09f751dc099f8d61d22abdb347131cf51afc2e +EBUILD uclibc-0.9.28.3-r3.ebuild 14559 RMD160 1277a6ffa59f23f2bae16ba9c79f6180f8d5282a SHA1 49d9282052d891bb100ab60ffe2fa0d15455eb72 SHA256 ad60020949c587d493946aed7e5ef9b3ec8e88581b69e6192871c5dbebe6ffc4 +EBUILD uclibc-0.9.28.3-r7.ebuild 14522 RMD160 c951654646c8d3d6ec5559d70678092d256c1257 SHA1 d6ee1ff5ead3f338c5d6b3a0378ce82c471811b4 SHA256 6dfaa8c2fa10ffe2f0a93737e9045829a4922b12f0c70cfd7457e124a9e9d9a7 +EBUILD uclibc-0.9.28.3.ebuild 14513 RMD160 f0b09ee89ca6ab4255b06fb4a5d89d8363cde623 SHA1 11a32313695999f0d0b874e90a13add4cbb911a1 SHA256 cd1defc5347cf8bdadd6a04c1742c877b69f745afb7941f87621ee53a0763c69 +EBUILD uclibc-0.9.30.ebuild 13897 RMD160 7da8ee94dd96a05c9c2147025d2e68b51457afca SHA1 a9463ac7fe35d5c342595601bdc2424c93b5e8c0 SHA256 8b21456bd1e18f37559ed8cd9bb30c3e268581dfea30700fb25f58bd9b050d77 +MISC ChangeLog 15416 RMD160 838359bdca1959f2e2467fc4573405936d06a1d7 SHA1 6579f7201ea09879f9331b338a9f1507d780f2b1 SHA256 f7f0062f5f21b932542483b6094c13a266afb13940054efaebc3791fe7bfc426 +MISC metadata.xml 1469 RMD160 0c3640cb24a93c003e59cd0f9fd99587881ac63e SHA1 6be5e573878f88438a0121ff49841d52f07dedcd SHA256 e2f9e4727e826e87f735157c170a4e1f5f3ff572a2a2875f6a8889dfa5c648a3 diff --git a/cross-mips-linux-uclibc/uclibc/files/uClibc-mips.diff b/cross-mips-linux-uclibc/uclibc/files/uClibc-mips.diff new file mode 100644 index 00000000..98cde903 --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/files/uClibc-mips.diff @@ -0,0 +1,38 @@ +--- ./uClibc-0.9.28.3/libc/sysdeps/linux/mips/pipe.S.ori 2009-02-04 22:24:02.000000000 +0100 ++++ ./uClibc-0.9.28.3/libc/sysdeps/linux/mips/pipe.S 2009-02-04 22:24:33.000000000 +0100 +@@ -3,9 +3,9 @@ + /*see uClibc's sh/pipe.c and glibc-2.2.4's mips/pipe.S */ + + #include <features.h> +-#include <asm/asm.h> ++#include <sys/asm.h> + #include <asm/unistd.h> +-#include <asm/regdef.h> ++#include <sys/regdef.h> + + .globl pipe + .ent pipe, 0 +--- ./uClibc-0.9.28.3/libc/sysdeps/linux/mips/clone.S.ori 2009-02-04 22:23:49.000000000 +0100 ++++ ./uClibc-0.9.28.3/libc/sysdeps/linux/mips/clone.S 2009-02-04 22:24:14.000000000 +0100 +@@ -24,7 +24,7 @@ + #include <sys/regdef.h> + #define _ERRNO_H 1 + #include <bits/errno.h> +-#include <asm/asm.h> ++#include <sys/asm.h> + + /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */ + +--- ./uClibc-0.9.28.3/libc/sysdeps/linux/mips/syscall.S.ori 2009-02-04 22:23:57.000000000 +0100 ++++ ./uClibc-0.9.28.3/libc/sysdeps/linux/mips/syscall.S 2009-02-04 22:24:24.000000000 +0100 +@@ -17,8 +17,8 @@ + 02111-1307 USA. */ + + #include <features.h> +-#include <asm/asm.h> +-#include <asm/regdef.h> ++#include <sys/asm.h> ++#include <sys/regdef.h> + + #ifdef __PIC__ + .option pic2 diff --git a/cross-mips-linux-uclibc/uclibc/metadata.xml b/cross-mips-linux-uclibc/uclibc/metadata.xml new file mode 100644 index 00000000..7d7faccb --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/metadata.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>embedded</herd> + <maintainer> + <email>vapier@gentoo.org</email> + <description>Primary Maintainer</description> + </maintainer> + <maintainer> + <email>solar@gentoo.org</email> + <description>Secondary Maintainer</description> + </maintainer> + <longdescription> +uClibc pronounced yew-see-lib-see is a C library for developing embedded Linux +systems. It is much smaller than the GNU C Library, but nearly all applications supported +by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc +typically involves just recompiling the source code. uClibc even supports shared libraries +and threading. It currently runs on standard Linux and MMU-less (also known as uClinux) +systems with support for alpha, ARM, cris, i386, i960, h8300, m68k, mips/mipsel, PowerPC, +SH, SPARC, and v850 processors. +</longdescription> +<use> + <flag name='ssp'>Force the use of ssp to be built into a hardened uclibc setup</flag> + <flag name='pregen'>Use pregenerated locales</flag> + <flag name='savedconfig'>Adds support for user defined configs</flag> + <flag name='uclibc-compat'>Build uclibc with backwards compatible + options</flag> + <flag name='userlocales'>Build only the locales specified in + /etc/locales.build</flag> + <flag name='wordexp'>Add support for word expansion (wordexp.h)</flag> +</use> +</pkgmetadata> diff --git a/cross-mips-linux-uclibc/uclibc/uclibc b/cross-mips-linux-uclibc/uclibc/uclibc new file mode 120000 index 00000000..e2d3dd3f --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/uclibc @@ -0,0 +1 @@ +/usr/portage/sys-libs/uclibc
\ No newline at end of file diff --git a/cross-mips-linux-uclibc/uclibc/uclibc-0.9.27-r1.ebuild b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.27-r1.ebuild new file mode 100644 index 00000000..e2acb33e --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.27-r1.ebuild @@ -0,0 +1,401 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.27-r1.ebuild,v 1.32 2008/11/01 07:33:09 vapier Exp $ + +inherit eutils flag-o-matic toolchain-funcs + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +# Handle the case where we want uclibc on glibc ... +if [[ ${CTARGET} == ${CHOST} ]] && [[ ${CHOST} != *-uclibc ]] ; then + export UCLIBC_AND_GLIBC="sitting in a tree" + export CTARGET=${CHOST%%-*}-pc-linux-uclibc +fi + +# To make a new SVN_VER we do. +# wget -O - http://uclibc.org/downloads/snapshots/uClibc-`date +%Y%m%d`.tar.bz2 | tar jxf - +# tar jxf /usr/portage/distfiles/uClibc-0.9.27.tar.bz2 +# diff -urN --exclude .svn uClibc-0.9.27 uClibc | bzip2 - > uClibc-0.9.27-svn-update-`date +%Y%m%d`.patch.bz2 +# rm -rf uClibc-0.9.27-svn-update-`date +%Y%m%d`.patch.bz2 uClibc uClibc-0.9.27 + +MY_P=uClibc-${PV} +SVN_VER="20050114" +PATCH_VER="1.6" +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="http://www.uclibc.org/" +SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-cvs-update-${SVN_VER}.patch.bz2 + mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2 + nls? ( !userlocales? ( pregen? ( + x86? ( http://www.uclibc.org/downloads/uClibc-locale-030818.tgz ) + ) ) )" + +LICENSE="LGPL-2" +[[ ${CTARGET} != ${CHOST} ]] \ + && SLOT="${CTARGET}" \ + || SLOT="0" +KEYWORDS="-* arm m68k mips ppc sh sparc x86" +IUSE="build debug hardened ipv6 minimal nls pregen userlocales wordexp crosscompile_opts_headers-only" +RESTRICT="strip" + +RDEPEND="" +if [[ ${CTARGET} == ${CHOST} ]] ; then + DEPEND="virtual/os-headers app-misc/pax-utils" + PROVIDE="virtual/libc" +else + DEPEND="" +fi + +S=${WORKDIR}/${MY_P} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] \ + || [[ -n ${UCLIBC_AND_GLIBC} ]] + then + echo /usr + else + echo /usr/${CTARGET}/usr + fi +} +just_headers() { + use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "big";; + *" LSB "*) echo "little";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +pkg_setup() { + just_headers && return 0 + has_version ${CATEGORY}/uclibc || return 0 + [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0 + [[ ${ROOT} != "/" ]] && return 0 + + if ! built_with_use --missing false ${CATEGORY}/uclibc nls && use nls && ! use pregen ; then + eerror "You previously built uclibc with USE=-nls." + eerror "You cannot generate locale data with this" + eerror "system. Please rerun emerge with USE=pregen." + die "host cannot support locales" + elif built_with_use --missing false ${CATEGORY}/uclibc nls && ! use nls ; then + eerror "You previously built uclibc with USE=nls." + eerror "Rebuilding uClibc with USE=-nls will prob" + eerror "destroy your system." + die "switching to nls is baaaad" + fi +} + +CPU_ARM="GENERIC_ARM ARM{610,710,720T,920T,922T,926T,_{SA110,SA1100,XSCALE}}" +CPU_M68K="" +CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}}" +CPU_PPC="" +CPU_SH="SH{2,3,4,5}" +CPU_SPARC="" +CPU_X86="GENERIC_386 {3,4,5,6}86 586MMX PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH" +IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_SPARC} ${CPU_X86}" + +check_cpu_opts() { + local cpu_var="CPU_$(echo $(tc-arch) | tr [a-z] [A-Z])" + if [[ -z ${UCLIBC_CPU} ]] ; then + ewarn "You really should consider setting UCLIBC_CPU" + ewarn "Otherwise, the build will be generic (read: slow)." + ewarn "Available CPU options:" + UCLIBC_CPU=$(eval echo ${!cpu_var}) + echo ${UCLIBC_CPU} + export UCLIBC_CPU=${UCLIBC_CPU%% *} + else + local cpu found=0 + for cpu in $(eval echo ${!cpu_var}) ; do + [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break + done + if [[ ${found} -eq 0 ]] ; then + ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported" + ewarn "Valid choices:" + eval echo ${!cpu_var} + die "pick a supported cpu type" + fi + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + check_cpu_opts + + echo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "CPU: ${UCLIBC_CPU}" + einfo "ENDIAN: $(uclibc_endian)" + echo + + ########## PATCHES ########## + + [[ -n ${SVN_VER} ]] && \ + epatch "${WORKDIR}"/${MY_P}-cvs-update-${SVN_VER}.patch + + if [[ -n ${PATCH_VER} ]] ; then + unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 + EPATCH_SUFFIX="patch" + epatch "${WORKDIR}"/patch + # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f) + use build || epatch "${WORKDIR}"/patch/math + fi + + ########## CPU SELECTION ########## + + local target config_target + case $(tc-arch) in + arm) target="arm"; config_target="GENERIC_ARM";; + m68k) target="m68k"; config_target="no cpu-specific options";; + mips) target="mips"; config_target="MIPS_ISA_1";; + ppc) target="powerpc"; config_target="no cpu-specific options";; + sh) target="sh"; config_target="SH4";; + x86) target="i386"; config_target="GENERIC_386";; + *) die "$(tc-arch) lists no defaults :/";; + esac + sed -i -e "s:default TARGET_i386:default TARGET_${target}:" \ + extra/Configs/Config.in + sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \ + extra/Configs/Config.${target} + + ########## CONFIG SETUP ########## + + make defconfig >/dev/null || die "could not config" + + for def in UCLIBC_PROFILING DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do + sed -i -e "s:${def}=y:# ${def} is not set:" .config + done + if use debug ; then + echo "SUPPORT_LD_DEBUG=y" >> .config + echo "DODEBUG=y" >> .config + fi + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + echo "ARCH_$(uclibc_endian | tr [a-z] [A-Z])_ENDIAN=y" >> .config + + if [[ $(tc-is-softfloat) != "no" ]] ; then + sed -i -e '/^HAS_FPU=y$/d' .config + echo 'HAS_FPU=n' >> .config + fi + + for def in DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do + sed -i -e "s:# ${def} is not set:${def}=y:" .config + done + echo "UCLIBC_HAS_FULL_RPC=y" >> .config + echo "PTHREADS_DEBUG_SUPPORT=y" >> .config + echo "UCLIBC_HAS_TZ_FILE_READ_MANY=n" >> .config + + if use nls ; then + sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config + echo "UCLIBC_HAS_XLOCALE=n" >> .config + echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config + echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config + echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config + + if use pregen ; then + echo "UCLIBC_PREGENERATED_LOCALE_DATA=y" >> .config + echo "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y" >> .config + if use userlocales ; then + cp "${DISTDIR}"/${MY_P}-user-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy ${MY_P}-user-locale.tar.gz" + else + cp "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy locale" + fi + else + echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config + fi + else + echo "UCLIBC_HAS_LOCALE=n" >> .config + fi + + use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config + + # uncomment if you miss wordexp (alsa-lib) + use wordexp && sed -i -e "s:# UCLIBC_HAS_WORDEXP is not set:UCLIBC_HAS_WORDEXP=y:" .config + + # we need to do it independently of hardened to get ssp.c built into libc + sed -i -e "s:# UCLIBC_SECURITY.*:UCLIBC_SECURITY=y:" .config + echo "UCLIBC_HAS_SSP=y" >> .config + echo "PROPOLICE_BLOCK_ABRT=n" >> .config + if use debug ; then + echo "PROPOLICE_BLOCK_SEGV=y" >> .config + echo "PROPOLICE_BLOCK_KILL=n" >> .config + else + echo "PROPOLICE_BLOCK_SEGV=n" >> .config + echo "PROPOLICE_BLOCK_KILL=y" >> .config + fi + + if use hardened ; then + if has $(tc-arch) mips ppc x86 ; then + echo "UCLIBC_BUILD_PIE=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + fi + echo "SSP_QUICK_CANARY=n" >> .config + echo "UCLIBC_BUILD_SSP=y" >> .config + echo "UCLIBC_BUILD_RELRO=y" >> .config + echo "UCLIBC_BUILD_NOW=y" >> .config + echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + echo "SSP_QUICK_CANARY=y" >> .config + echo "UCLIBC_BUILD_SSP=n" >> .config + echo "UCLIBC_BUILD_RELRO=n" >> .config + echo "UCLIBC_BUILD_NOW=n" >> .config + echo "UCLIBC_BUILD_NOEXECSTACK=n" >> .config + fi + + # we are building against system installed kernel headers + sed -i \ + -e "/^KERNEL_SOURCE/s:=.*:=\"$(alt_build_kprefix)\":" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/$(get_libdir)\":" \ + -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \ + -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \ + .config + + yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig" + + chmod +x extra/scripts/relative_path.sh + + cp .config myconfig + + emake clean > /dev/null || die "could not clean" +} + +setup_locales() { + cd "${S}"/extra/locale + if use userlocales && [[ -f ${ROOT}/etc/locales.build ]] ; then + :; + elif use minimal ; then + find ./charmaps -name ASCII.pairs > codesets.txt + find ./charmaps -name ISO-8859-1.pairs >> codesets.txt + cat <<-EOF > locales.txt + @euro e + UTF-8 yes + 8-bit yes + en_US ISO-8859-1 + en_US.UTF-8 UTF-8 + EOF + else + find ./charmaps -name '*.pairs' > codesets.txt + cp LOCALES locales.txt + fi + cd - +} + +src_compile() { + cp myconfig .config + + # last release doesnt support parallel build, + # but the current svn repo does ... + export MAKEOPTS="${MAKEOPTS} -j1" + type -p ${CTARGET}-ar && export MAKEOPTS="${MAKEOPTS} CROSS=${CTARGET}-" + + emake headers || die "make headers failed" + just_headers && return 0 + + if use nls && ! use pregen ; then + cd extra/locale + make clean || die "make locale clean failed" + setup_locales + emake || die "could not make locales" + cd ../.. + fi + + emake || die "could not make" + [[ ${CTARGET} != ${CHOST} ]] && return 0 + + if [[ ${CHOST} == *-uclibc ]] ; then + emake utils || die "could not make utils" + fi +} + +src_test() { + return 0 + + [[ ${CHOST} != ${CTARGET} ]] && return 0 + [[ ${CBUILD} != ${CHOST} ]] && return 0 + + # running tests require this + use build || addwrite /dev/ptmx + + # This is wrong, but uclibc's tests fail bad when screwing + # around with sandbox, so lets just punt it + unset LD_PRELOAD + + # assert test fails on pax/grsec enabled kernels - normal + # vfork test fails in sandbox (both glibc/uclibc) + cd test + make || die "test failed" +} + +src_install() { + local sysroot=${D} + [[ ${CHOST} != ${CTARGET} ]] && sysroot="${sysroot}/usr/${CTARGET}" + + local target="install" + just_headers && target="install_dev" + emake PREFIX="${sysroot}" ${target} || die "install failed" + + # remove files coming from kernel-headers + rm -rf "${D}"${sysroot}/usr/include/{asm,linux,asm-generic} + + # clean up misc cruft + find "${D}"${sysroot}/usr/include -type d '(' -name CVS -o -name .svn ')' -print0 | xargs -0 rm -r + find "${D}"${sysroot}/usr/include -type f -name .cvsignore -print0 | xargs -0 rm -f + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + if [[ ${CTARGET} != ${CHOST} ]] ; then + dosym usr/include /usr/${CTARGET}/sys-include + return 0 + fi + + if [[ ${CHOST} == *-uclibc* ]] ; then + emake PREFIX="${D}" install_utils || die "install-utils failed" + dobin extra/scripts/getent + fi + + dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3 + doman debian/*.1 +} + +pkg_postinst() { + [[ ${CTARGET} != ${CHOST} ]] && return 0 + [[ ${CHOST} != *-uclibc* ]] && return 0 + + if [[ ! -e ${ROOT}/etc/TZ ]] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + [[ ! -d ${ROOT}/etc ]] && mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + + if [[ ${ROOT} == "/" ]] ; then + # update cache before reloading init + /sbin/ldconfig + # reload init ... + [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null + fi +} diff --git a/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3-r3.ebuild b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3-r3.ebuild new file mode 100644 index 00000000..16df131d --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3-r3.ebuild @@ -0,0 +1,461 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.28.3-r3.ebuild,v 1.4 2008/11/01 07:33:09 vapier Exp $ + +#ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc" +#inherit subversion +inherit eutils flag-o-matic toolchain-funcs + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +# Handle the case where we want uclibc on glibc ... +if [[ ${CTARGET} == ${CHOST} ]] && [[ ${CHOST} != *-uclibc ]] ; then + export UCLIBC_AND_GLIBC="sitting in a tree" + export CTARGET=${CHOST%%-*}-pc-linux-uclibc +fi + +MY_P=uClibc-${PV} +SVN_VER="" +PATCH_VER="1.3" +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="http://www.uclibc.org/" +SRC_URI="mirror://kernel/linux/libs/uclibc/${MY_P}.tar.bz2 + http://uclibc.org/downloads/${MY_P}.tar.bz2 + nls? ( !userlocales? ( pregen? ( + x86? ( http://www.uclibc.org/downloads/uClibc-locale-030818.tgz ) + ) ) )" +[[ -z ${SVN_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-svn-update-${SVN_VER}.patch.bz2" +[[ -z ${PATCH_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2" + +LICENSE="LGPL-2" +[[ ${CTARGET} != ${CHOST} ]] \ + && SLOT="${CTARGET}" \ + || SLOT="0" +KEYWORDS="-* arm ~m68k -mips ppc ~sh ~sparc x86" +IUSE="build uclibc-compat debug hardened iconv ipv6 minimal nls pregen savedconfig userlocales wordexp crosscompile_opts_headers-only" +RESTRICT="strip" + +RDEPEND="" +if [[ ${CTARGET} == ${CHOST} ]] ; then + DEPEND="virtual/os-headers app-misc/pax-utils" + PROVIDE="virtual/libc" +else + DEPEND="" +fi + +S=${WORKDIR}/${MY_P} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] \ + || [[ -n ${UCLIBC_AND_GLIBC} ]] + then + echo /usr + else + echo /usr/${CTARGET}/usr + fi +} +just_headers() { + use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "big";; + *" LSB "*) echo "little";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +pkg_setup() { + just_headers && return 0 + has_version ${CATEGORY}/uclibc || return 0 + [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0 + [[ ${ROOT} != "/" ]] && return 0 + [[ ${CATEGORY} == cross-* ]] && return 0 + + if ! built_with_use --missing false ${CATEGORY}/uclibc nls && use nls && ! use pregen ; then + eerror "You previously built uclibc with USE=-nls." + eerror "You cannot generate locale data with this" + eerror "system. Please rerun emerge with USE=pregen." + die "host cannot support locales" + elif built_with_use --missing false ${CATEGORY}/uclibc nls && ! use nls ; then + eerror "You previously built uclibc with USE=nls." + eerror "Rebuilding uClibc with USE=-nls will prob" + eerror "destroy your system." + die "switching from nls is baaaad" + fi +} + +PIE_STABLE="arm mips ppc x86" + +CPU_ALPHA="" +CPU_AMD64="" +CPU_ARM="GENERIC_ARM ARM{610,710,720T,920T,922T,926T,_{SA110,SA1100,XSCALE}}" +CPU_IA64="" +CPU_M68K="" +CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}}" +CPU_PPC="" +CPU_SH="SH{2,3,4,5}" +CPU_SPARC="" +CPU_X86="GENERIC_386 {3,4,5,6}86 586MMX PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH" +IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_SPARC} ${CPU_X86}" + +check_cpu_opts() { + local cpu_var="CPU_$(echo $(tc-arch) | tr [a-z] [A-Z])" + [[ -z ${!cpu_var} ]] && return 0 + + if [[ -z ${UCLIBC_CPU} ]] ; then + ewarn "You really should consider setting UCLIBC_CPU" + ewarn "Otherwise, the build will be generic (read: slow)." + ewarn "Available CPU options:" + UCLIBC_CPU=$(eval echo ${!cpu_var}) + echo ${UCLIBC_CPU} + case ${CTARGET} in + mips[1234]*) export UCLIBC_CPU="MIPS_ISA_${CTARGET:4:1}";; + sh[2345]*) export UCLIBC_CPU="SH${CTARGET:2:1}";; + i[456]86*) export UCLIBC_CPU="${CTARGET:1:1}86";; + *) export UCLIBC_CPU=${UCLIBC_CPU%% *};; + esac + else + local cpu found=0 + for cpu in $(eval echo ${!cpu_var}) ; do + [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break + done + if [[ ${found} -eq 0 ]] ; then + ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported" + ewarn "Valid choices:" + eval echo ${!cpu_var} + die "pick a supported cpu type" + fi + fi +} + +src_unpack() { + [[ -n ${ESVN_REPO_URI} ]] \ + && subversion_src_unpack \ + || unpack ${A} + cd "${S}" + + check_cpu_opts + + echo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "CPU: ${UCLIBC_CPU:-default}" + einfo "ENDIAN: $(uclibc_endian)" + echo + + ########## PATCHES ########## + + [[ -n ${SVN_VER} ]] && \ + epatch "${WORKDIR}"/${MY_P}-cvs-update-${SVN_VER}.patch + + if [[ -n ${PATCH_VER} ]] ; then + unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 + EPATCH_SUFFIX="patch" + epatch "${WORKDIR}"/patch + # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f) + cp "${WORKDIR}"/patch/math/libm/* "${S}"/libm/ || die + epatch "${WORKDIR}"/patch/math + fi + + epatch "${FILESDIR}"/uClibc-mips.diff + + ########## CPU SELECTION ########## + + local target config_target + case $(tc-arch) in + alpha) target="alpha"; config_target="no cpu-specific options";; + amd64) target="x86_64"; config_target="no cpu-specific options";; + arm) target="arm"; config_target="GENERIC_ARM";; + ia64) target="ia64"; config_target="no cpu-specific options";; + m68k) target="m68k"; config_target="no cpu-specific options";; + mips) target="mips"; config_target="MIPS_ISA_1";; + ppc) target="powerpc"; config_target="no cpu-specific options";; + sh) target="sh"; config_target="SH4";; + sparc) target="sparc"; config_target="no cpu-specific options";; + x86) target="i386"; config_target="GENERIC_386";; + *) die "$(tc-arch) lists no defaults :/";; + esac + sed -i -e "s:default TARGET_i386:default TARGET_${target}:" \ + extra/Configs/Config.in + sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \ + extra/Configs/Config.${target} + + ########## CONFIG SETUP ########## + + make defconfig >/dev/null || die "could not config" + + for def in DO{DEBUG{,_PT},ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do + sed -i -e "s:${def}=y:# ${def} is not set:" .config + done + if use debug ; then + #echo "SUPPORT_LD_DEBUG_EARLY=y" >> .config + echo "SUPPORT_LD_DEBUG=y" >> .config + echo "DODEBUG=y" >> .config + #echo "DODEBUG_PT=y" >> .config + fi + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + echo "ARCH_$(uclibc_endian | tr [a-z] [A-Z])_ENDIAN=y" >> .config + + if [[ $(tc-is-softfloat) != "no" ]] ; then + sed -i -e '/^HAS_FPU=y$/d' .config + echo 'HAS_FPU=n' >> .config + fi + + local moredefs="DL_FINI_CRT_COMPAT" + # We need todo this for a few months. .28 is a major upgrade. + # Don't do it from cross-compiling case though + if ! use uclibc-compat ; then + if [[ -z ${UCLIBC_AND_GLIBC} ]] && [[ -z ${UCLIBC_SCANNED_COMPAT} ]] && \ + ! just_headers && [[ ${CHOST} == ${CTARGET} ]] ; then + local fnames="" + einfo "Doing a scanelf in paths for bins containing the __uClibc_start_main symbol" + fnames=$(scanelf -pyqs__uClibc_start_main -F%F#s) + if [[ -z ${fnames} ]] ; then + einfo "This system is clean." + einfo "To prevent the scanning of files again in the future you can export UCLIBC_SCANNED_COMPAT=1" + moredefs="" + else + ewarn "You need to remerge the packages that contain the following files before you can remerge ${P} without USE=uclibc-compat enabled." + ewarn "qfile ${fnames}" + echo + ewarn "Leaving on ${moredefs}" + fi + else + moredefs="" + fi + fi + for def in ${moredefs} MALLOC_GLIBC_COMPAT DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do + sed -i -e "s:# ${def} is not set:${def}=y:" .config + done + echo "UCLIBC_HAS_FULL_RPC=y" >> .config + echo "PTHREADS_DEBUG_SUPPORT=y" >> .config + echo "UCLIBC_HAS_TZ_FILE_READ_MANY=n" >> .config + + if use iconv ; then + sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config + echo "UCLIBC_HAS_XLOCALE=n" >> .config + echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config + echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config + + if use nls ; then + echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config + else + echo "UCLIBC_HAS_GETTEXT_AWARENESS=n" >> .config + fi + + if use pregen ; then + echo "UCLIBC_PREGENERATED_LOCALE_DATA=y" >> .config + echo "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y" >> .config + if use userlocales ; then + cp "${DISTDIR}"/${MY_P}-user-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy ${MY_P}-user-locale.tar.gz" + else + cp "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy locale" + fi + else + echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config + fi + else + echo "UCLIBC_HAS_LOCALE=n" >> .config + fi + + use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config + + # uncomment if you miss wordexp (alsa-lib) + use wordexp && sed -i -e "s:# UCLIBC_HAS_WORDEXP is not set:UCLIBC_HAS_WORDEXP=y:" .config + + # we need to do it independently of hardened to get ssp.c built into libc + sed -i -e "s:# UCLIBC_SECURITY.*:UCLIBC_SECURITY=y:" .config + echo "UCLIBC_HAS_SSP=y" >> .config + echo "SSP_USE_ERANDOM=n" >> .config + echo "PROPOLICE_BLOCK_ABRT=n" >> .config + if use debug ; then + echo "PROPOLICE_BLOCK_SEGV=y" >> .config + echo "PROPOLICE_BLOCK_KILL=n" >> .config + else + echo "PROPOLICE_BLOCK_SEGV=n" >> .config + echo "PROPOLICE_BLOCK_KILL=y" >> .config + fi + + # arm/mips do not emit PT_GNU_STACK, but if we enable this here + # it will be emitted as RWE, ppc has to be checked, x86 needs it + # this option should be used independently of hardened + # relro could be also moved out of hardened + if has $(tc-arch) x86 ; then + echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config + else + echo "UCLIBC_BUILD_NOEXECSTACK=n" >> .config + fi + echo "UCLIBC_BUILD_RELRO=y" >> .config + if use hardened ; then + if has $(tc-arch) ${PIE_STABLE} ; then + echo "UCLIBC_BUILD_PIE=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + fi + echo "SSP_QUICK_CANARY=n" >> .config + echo "UCLIBC_BUILD_SSP=y" >> .config + echo "UCLIBC_BUILD_NOW=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + echo "SSP_QUICK_CANARY=y" >> .config + echo "UCLIBC_BUILD_SSP=n" >> .config + echo "UCLIBC_BUILD_NOW=n" >> .config + fi + + # Allow users some custom control over the config + if use savedconfig ; then + for conf in ${PN}-${PV}-${PR} ${PN}-${PV} ${PN}; do + configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config + einfo "Checking existence of ${configfile} ..." + [[ -r ${configfile} ]] || configfile=/etc/${PN}/${CHOST}/${conf}.config + if [[ -r ${configfile} ]] ; then + cp "${configfile}" "${S}"/.config + einfo "Found your ${configfile} and using it." + einfo "Note that this feature is *totally unsupported*." + break + fi + done + fi + + # setup build and run paths + local cross=${CTARGET}- + type -p ${cross}ar > /dev/null || cross="" + sed -i \ + -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${cross}\":" \ + -e "/^KERNEL_SOURCE/s:=.*:=\"$(alt_build_kprefix)\":" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/$(get_libdir)\":" \ + -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \ + -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \ + .config || die + + yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig" + + cp .config myconfig + + emake -s clean > /dev/null || die "could not clean" +} + +setup_locales() { + cd "${S}"/extra/locale + if use userlocales && [[ -f ${ROOT}/etc/locales.build ]] ; then + :; + elif use minimal ; then + find ./charmaps -name ASCII.pairs > codesets.txt + find ./charmaps -name ISO-8859-1.pairs >> codesets.txt + cat <<-EOF > locales.txt + @euro e + UTF-8 yes + 8-bit yes + en_US ISO-8859-1 + en_US.UTF-8 UTF-8 + EOF + else + find ./charmaps -name '*.pairs' > codesets.txt + cp LOCALES locales.txt + fi + cd - +} + +src_compile() { + cp myconfig .config + + emake headers || die "make headers failed" + just_headers && return 0 + + if use iconv && ! use pregen ; then + cd extra/locale + make clean || die "make locale clean failed" + setup_locales + emake || die "make locales failed" + cd ../.. + fi + + emake || die "make failed" + if [[ ${CTARGET} != ${CHOST} ]] ; then + emake -C utils hostutils || die "make hostutils failed" + elif [[ ${CHOST} == *-uclibc ]] ; then + emake utils || die "make utils failed" + fi +} + +src_test() { + [[ ${CHOST} != ${CTARGET} ]] && return 0 + [[ ${CBUILD} != ${CHOST} ]] && return 0 + + # assert test fails on pax/grsec enabled kernels - normal + # vfork test fails in sandbox (both glibc/uclibc) + make UCLIBC_ONLY=1 check || die "test failed" +} + +src_install() { + local sysroot=${D} + [[ ${CHOST} != ${CTARGET} ]] && sysroot="${sysroot}/usr/${CTARGET}" + + local target="install" + just_headers && target="install_dev" + emake DESTDIR="${sysroot}" ${target} || die "install failed" + + # remove files coming from kernel-headers + rm -rf "${sysroot}"/usr/include/{linux,asm*} + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + if [[ ${CTARGET} != ${CHOST} ]] ; then + dosym usr/include /usr/${CTARGET}/sys-include + if ! just_headers ; then + newbin utils/ldconfig.host ${CTARGET}-ldconfig || die + newbin utils/ldd.host ${CTARGET}-ldd || die + fi + return 0 + fi + + if [[ ${CHOST} == *-uclibc* ]] ; then + emake DESTDIR="${D}" install_utils || die "install-utils failed" + dobin extra/scripts/getent + fi + + dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3 + doman docs/man/*.[1-9] +} + +pkg_postinst() { + [[ ${CTARGET} != ${CHOST} ]] && return 0 + [[ ${CHOST} != *-uclibc* ]] && return 0 + + if [[ ! -e ${ROOT}/etc/TZ ]] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + [[ ! -d ${ROOT}/etc ]] && mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + + if [[ ${ROOT} == "/" ]] ; then + # update cache before reloading init + /sbin/ldconfig + # reload init ... + [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null + fi +} diff --git a/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3-r7.ebuild b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3-r7.ebuild new file mode 100644 index 00000000..90a4422a --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3-r7.ebuild @@ -0,0 +1,459 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.28.3-r7.ebuild,v 1.3 2008/11/01 07:33:09 vapier Exp $ + +#ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc" +#inherit subversion +inherit eutils flag-o-matic toolchain-funcs + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +# Handle the case where we want uclibc on glibc ... +if [[ ${CTARGET} == ${CHOST} ]] && [[ ${CHOST} != *-uclibc ]] ; then + export UCLIBC_AND_GLIBC="sitting in a tree" + export CTARGET=${CHOST%%-*}-pc-linux-uclibc +fi + +MY_P=uClibc-${PV} +SVN_VER="" +PATCH_VER="1.8" +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="http://www.uclibc.org/" +SRC_URI="mirror://kernel/linux/libs/uclibc/${MY_P}.tar.bz2 + http://uclibc.org/downloads/${MY_P}.tar.bz2 + nls? ( !userlocales? ( pregen? ( + x86? ( http://www.uclibc.org/downloads/uClibc-locale-030818.tgz ) + ) ) )" +[[ -z ${SVN_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-svn-update-${SVN_VER}.patch.bz2" +[[ -z ${PATCH_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2" + +LICENSE="LGPL-2" +[[ ${CTARGET} != ${CHOST} ]] \ + && SLOT="${CTARGET}" \ + || SLOT="0" +KEYWORDS="-* ~arm ~m68k -mips ~ppc ~sh ~sparc ~x86" +IUSE="build uclibc-compat debug hardened iconv ipv6 minimal nls pregen savedconfig userlocales wordexp crosscompile_opts_headers-only" +RESTRICT="strip" + +RDEPEND="" +if [[ ${CTARGET} == ${CHOST} ]] ; then + DEPEND="virtual/os-headers app-misc/pax-utils" + PROVIDE="virtual/libc" +else + DEPEND="" +fi + +S=${WORKDIR}/${MY_P} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] \ + || [[ -n ${UCLIBC_AND_GLIBC} ]] + then + echo /usr + else + echo /usr/${CTARGET}/usr + fi +} +just_headers() { + use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "big";; + *" LSB "*) echo "little";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +pkg_setup() { + just_headers && return 0 + has_version ${CATEGORY}/uclibc || return 0 + [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0 + [[ ${ROOT} != "/" ]] && return 0 + [[ ${CATEGORY} == cross-* ]] && return 0 + + if ! built_with_use --missing false ${CATEGORY}/uclibc nls && use nls && ! use pregen ; then + eerror "You previously built uclibc with USE=-nls." + eerror "You cannot generate locale data with this" + eerror "system. Please rerun emerge with USE=pregen." + die "host cannot support locales" + elif built_with_use --missing false ${CATEGORY}/uclibc nls && ! use nls ; then + eerror "You previously built uclibc with USE=nls." + eerror "Rebuilding uClibc with USE=-nls will prob" + eerror "destroy your system." + die "switching from nls is baaaad" + fi +} + +PIE_STABLE="arm mips ppc x86" + +CPU_ALPHA="" +CPU_AMD64="" +CPU_ARM="GENERIC_ARM ARM{610,710,720T,920T,922T,926T,_{SA110,SA1100,XSCALE}}" +CPU_IA64="" +CPU_M68K="" +CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}}" +CPU_PPC="" +CPU_SH="SH{2,3,4,5}" +CPU_SPARC="" +CPU_X86="GENERIC_386 {3,4,5,6}86 586MMX PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH" +IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_SPARC} ${CPU_X86}" + +check_cpu_opts() { + local cpu_var="CPU_$(echo $(tc-arch) | tr [a-z] [A-Z])" + [[ -z ${!cpu_var} ]] && return 0 + + if [[ -z ${UCLIBC_CPU} ]] ; then + ewarn "You really should consider setting UCLIBC_CPU" + ewarn "Otherwise, the build will be generic (read: slow)." + ewarn "Available CPU options:" + UCLIBC_CPU=$(eval echo ${!cpu_var}) + echo ${UCLIBC_CPU} + case ${CTARGET} in + mips[1234]*) export UCLIBC_CPU="MIPS_ISA_${CTARGET:4:1}";; + sh[2345]*) export UCLIBC_CPU="SH${CTARGET:2:1}";; + i[456]86*) export UCLIBC_CPU="${CTARGET:1:1}86";; + *) export UCLIBC_CPU=${UCLIBC_CPU%% *};; + esac + else + local cpu found=0 + for cpu in $(eval echo ${!cpu_var}) ; do + [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break + done + if [[ ${found} -eq 0 ]] ; then + ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported" + ewarn "Valid choices:" + eval echo ${!cpu_var} + die "pick a supported cpu type" + fi + fi +} + +src_unpack() { + [[ -n ${ESVN_REPO_URI} ]] \ + && subversion_src_unpack \ + || unpack ${A} + cd "${S}" + + check_cpu_opts + + echo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "CPU: ${UCLIBC_CPU:-default}" + einfo "ENDIAN: $(uclibc_endian)" + echo + + ########## PATCHES ########## + + [[ -n ${SVN_VER} ]] && \ + epatch "${WORKDIR}"/${MY_P}-cvs-update-${SVN_VER}.patch + + if [[ -n ${PATCH_VER} ]] ; then + unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 + EPATCH_SUFFIX="patch" + epatch "${WORKDIR}"/patch + # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f) + cp "${WORKDIR}"/patch/math/libm/* "${S}"/libm/ || die + epatch "${WORKDIR}"/patch/math + fi + + ########## CPU SELECTION ########## + + local target config_target + case $(tc-arch) in + alpha) target="alpha"; config_target="no cpu-specific options";; + amd64) target="x86_64"; config_target="no cpu-specific options";; + arm) target="arm"; config_target="GENERIC_ARM";; + ia64) target="ia64"; config_target="no cpu-specific options";; + m68k) target="m68k"; config_target="no cpu-specific options";; + mips) target="mips"; config_target="MIPS_ISA_1";; + ppc) target="powerpc"; config_target="no cpu-specific options";; + sh) target="sh"; config_target="SH4";; + sparc) target="sparc"; config_target="no cpu-specific options";; + x86) target="i386"; config_target="GENERIC_386";; + *) die "$(tc-arch) lists no defaults :/";; + esac + sed -i -e "s:default TARGET_i386:default TARGET_${target}:" \ + extra/Configs/Config.in + sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \ + extra/Configs/Config.${target} + + ########## CONFIG SETUP ########## + + make defconfig >/dev/null || die "could not config" + + for def in DO{DEBUG{,_PT},ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do + sed -i -e "s:${def}=y:# ${def} is not set:" .config + done + if use debug ; then + #echo "SUPPORT_LD_DEBUG_EARLY=y" >> .config + echo "SUPPORT_LD_DEBUG=y" >> .config + echo "DODEBUG=y" >> .config + #echo "DODEBUG_PT=y" >> .config + fi + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + echo "ARCH_$(uclibc_endian | tr [a-z] [A-Z])_ENDIAN=y" >> .config + + if [[ $(tc-is-softfloat) != "no" ]] ; then + sed -i -e '/^HAS_FPU=y$/d' .config + echo 'HAS_FPU=n' >> .config + fi + + local moredefs="DL_FINI_CRT_COMPAT" + # We need todo this for a few months. .28 is a major upgrade. + # Don't do it from cross-compiling case though + if ! use uclibc-compat ; then + if [[ -z ${UCLIBC_AND_GLIBC} ]] && [[ -z ${UCLIBC_SCANNED_COMPAT} ]] && \ + ! just_headers && [[ ${CHOST} == ${CTARGET} ]] ; then + local fnames="" + einfo "Doing a scanelf in paths for bins containing the __uClibc_start_main symbol" + fnames=$(scanelf -pyqs__uClibc_start_main -F%F#s) + if [[ -z ${fnames} ]] ; then + einfo "This system is clean." + einfo "To prevent the scanning of files again in the future you can export UCLIBC_SCANNED_COMPAT=1" + moredefs="" + else + ewarn "You need to remerge the packages that contain the following files before you can remerge ${P} without USE=uclibc-compat enabled." + ewarn "qfile ${fnames}" + echo + ewarn "Leaving on ${moredefs}" + fi + else + moredefs="" + fi + fi + for def in ${moredefs} MALLOC_GLIBC_COMPAT DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do + sed -i -e "s:# ${def} is not set:${def}=y:" .config + done + echo "UCLIBC_HAS_FULL_RPC=y" >> .config + echo "PTHREADS_DEBUG_SUPPORT=y" >> .config + echo "UCLIBC_HAS_TZ_FILE_READ_MANY=n" >> .config + + if use iconv ; then + sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config + echo "UCLIBC_HAS_XLOCALE=n" >> .config + echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config + echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config + + if use nls ; then + echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config + else + echo "UCLIBC_HAS_GETTEXT_AWARENESS=n" >> .config + fi + + if use pregen ; then + echo "UCLIBC_PREGENERATED_LOCALE_DATA=y" >> .config + echo "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y" >> .config + if use userlocales ; then + cp "${DISTDIR}"/${MY_P}-user-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy ${MY_P}-user-locale.tar.gz" + else + cp "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy locale" + fi + else + echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config + fi + else + echo "UCLIBC_HAS_LOCALE=n" >> .config + fi + + use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config + + # uncomment if you miss wordexp (alsa-lib) + use wordexp && sed -i -e "s:# UCLIBC_HAS_WORDEXP is not set:UCLIBC_HAS_WORDEXP=y:" .config + + # we need to do it independently of hardened to get ssp.c built into libc + sed -i -e "s:# UCLIBC_SECURITY.*:UCLIBC_SECURITY=y:" .config + echo "UCLIBC_HAS_SSP=y" >> .config + echo "SSP_USE_ERANDOM=n" >> .config + echo "PROPOLICE_BLOCK_ABRT=n" >> .config + if use debug ; then + echo "PROPOLICE_BLOCK_SEGV=y" >> .config + echo "PROPOLICE_BLOCK_KILL=n" >> .config + else + echo "PROPOLICE_BLOCK_SEGV=n" >> .config + echo "PROPOLICE_BLOCK_KILL=y" >> .config + fi + + # arm/mips do not emit PT_GNU_STACK, but if we enable this here + # it will be emitted as RWE, ppc has to be checked, x86 needs it + # this option should be used independently of hardened + # relro could be also moved out of hardened + if has $(tc-arch) x86 ; then + echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config + else + echo "UCLIBC_BUILD_NOEXECSTACK=n" >> .config + fi + echo "UCLIBC_BUILD_RELRO=y" >> .config + if use hardened ; then + if has $(tc-arch) ${PIE_STABLE} ; then + echo "UCLIBC_BUILD_PIE=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + fi + echo "SSP_QUICK_CANARY=n" >> .config + echo "UCLIBC_BUILD_SSP=y" >> .config + echo "UCLIBC_BUILD_NOW=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + echo "SSP_QUICK_CANARY=y" >> .config + echo "UCLIBC_BUILD_SSP=n" >> .config + echo "UCLIBC_BUILD_NOW=n" >> .config + fi + + # Allow users some custom control over the config + if use savedconfig ; then + for conf in ${PN}-${PV}-${PR} ${PN}-${PV} ${PN}; do + configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config + einfo "Checking existence of ${configfile} ..." + [[ -r ${configfile} ]] || configfile=/etc/${PN}/${CHOST}/${conf}.config + if [[ -r ${configfile} ]] ; then + cp "${configfile}" "${S}"/.config + einfo "Found your ${configfile} and using it." + einfo "Note that this feature is *totally unsupported*." + break + fi + done + fi + + # setup build and run paths + local cross=${CTARGET}- + type -p ${cross}ar > /dev/null || cross="" + sed -i \ + -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${cross}\":" \ + -e "/^KERNEL_SOURCE/s:=.*:=\"$(alt_build_kprefix)\":" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/$(get_libdir)\":" \ + -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \ + -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \ + .config || die + + yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig" + + cp .config myconfig + + emake -s clean > /dev/null || die "could not clean" +} + +setup_locales() { + cd "${S}"/extra/locale + if use userlocales && [[ -f ${ROOT}/etc/locales.build ]] ; then + :; + elif use minimal ; then + find ./charmaps -name ASCII.pairs > codesets.txt + find ./charmaps -name ISO-8859-1.pairs >> codesets.txt + cat <<-EOF > locales.txt + @euro e + UTF-8 yes + 8-bit yes + en_US ISO-8859-1 + en_US.UTF-8 UTF-8 + EOF + else + find ./charmaps -name '*.pairs' > codesets.txt + cp LOCALES locales.txt + fi + cd - +} + +src_compile() { + cp myconfig .config + + emake headers || die "make headers failed" + just_headers && return 0 + + if use iconv && ! use pregen ; then + cd extra/locale + make clean || die "make locale clean failed" + setup_locales + emake || die "make locales failed" + cd ../.. + fi + + emake || die "make failed" + if [[ ${CTARGET} != ${CHOST} ]] ; then + emake -C utils hostutils || die "make hostutils failed" + elif [[ ${CHOST} == *-uclibc ]] ; then + emake utils || die "make utils failed" + fi +} + +src_test() { + [[ ${CHOST} != ${CTARGET} ]] && return 0 + [[ ${CBUILD} != ${CHOST} ]] && return 0 + + # assert test fails on pax/grsec enabled kernels - normal + # vfork test fails in sandbox (both glibc/uclibc) + make UCLIBC_ONLY=1 check || die "test failed" +} + +src_install() { + local sysroot=${D} + [[ ${CHOST} != ${CTARGET} ]] && sysroot="${sysroot}/usr/${CTARGET}" + + local target="install" + just_headers && target="install_dev" + emake DESTDIR="${sysroot}" ${target} || die "install failed" + + # remove files coming from kernel-headers + rm -rf "${sysroot}"/usr/include/{linux,asm*} + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + if [[ ${CTARGET} != ${CHOST} ]] ; then + dosym usr/include /usr/${CTARGET}/sys-include + if ! just_headers ; then + newbin utils/ldconfig.host ${CTARGET}-ldconfig || die + newbin utils/ldd.host ${CTARGET}-ldd || die + fi + return 0 + fi + + if [[ ${CHOST} == *-uclibc* ]] ; then + emake DESTDIR="${D}" install_utils || die "install-utils failed" + dobin extra/scripts/getent + fi + + dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3 + doman docs/man/*.[1-9] +} + +pkg_postinst() { + [[ ${CTARGET} != ${CHOST} ]] && return 0 + [[ ${CHOST} != *-uclibc* ]] && return 0 + + if [[ ! -e ${ROOT}/etc/TZ ]] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + [[ ! -d ${ROOT}/etc ]] && mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + + if [[ ${ROOT} == "/" ]] ; then + # update cache before reloading init + /sbin/ldconfig + # reload init ... + [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null + fi +} diff --git a/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3.ebuild b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3.ebuild new file mode 100644 index 00000000..937a306b --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.28.3.ebuild @@ -0,0 +1,459 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.28.3.ebuild,v 1.9 2008/11/01 07:33:09 vapier Exp $ + +#ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc" +#inherit subversion +inherit eutils flag-o-matic toolchain-funcs + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +# Handle the case where we want uclibc on glibc ... +if [[ ${CTARGET} == ${CHOST} ]] && [[ ${CHOST} != *-uclibc ]] ; then + export UCLIBC_AND_GLIBC="sitting in a tree" + export CTARGET=${CHOST%%-*}-pc-linux-uclibc +fi + +MY_P=uClibc-${PV} +SVN_VER="" +PATCH_VER="1.0" +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="http://www.uclibc.org/" +SRC_URI="mirror://kernel/linux/libs/uclibc/${MY_P}.tar.bz2 + http://uclibc.org/downloads/${MY_P}.tar.bz2 + nls? ( !userlocales? ( pregen? ( + x86? ( http://www.uclibc.org/downloads/uClibc-locale-030818.tgz ) + ) ) )" +[[ -z ${SVN_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-svn-update-${SVN_VER}.patch.bz2" +[[ -z ${PATCH_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2" + +LICENSE="LGPL-2" +[[ ${CTARGET} != ${CHOST} ]] \ + && SLOT="${CTARGET}" \ + || SLOT="0" +KEYWORDS="-* arm m68k -mips ppc sh sparc x86" +IUSE="build uclibc-compat debug hardened iconv ipv6 minimal nls pregen savedconfig userlocales wordexp crosscompile_opts_headers-only" +RESTRICT="strip" + +RDEPEND="" +if [[ ${CTARGET} == ${CHOST} ]] ; then + DEPEND="virtual/os-headers app-misc/pax-utils" + PROVIDE="virtual/libc" +else + DEPEND="" +fi + +S=${WORKDIR}/${MY_P} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] \ + || [[ -n ${UCLIBC_AND_GLIBC} ]] + then + echo /usr + else + echo /usr/${CTARGET}/usr + fi +} +just_headers() { + use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "big";; + *" LSB "*) echo "little";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +pkg_setup() { + just_headers && return 0 + has_version ${CATEGORY}/uclibc || return 0 + [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0 + [[ ${ROOT} != "/" ]] && return 0 + [[ ${CATEGORY} == cross-* ]] && return 0 + + if ! built_with_use --missing false ${CATEGORY}/uclibc nls && use nls && ! use pregen ; then + eerror "You previously built uclibc with USE=-nls." + eerror "You cannot generate locale data with this" + eerror "system. Please rerun emerge with USE=pregen." + die "host cannot support locales" + elif built_with_use --missing false ${CATEGORY}/uclibc nls && ! use nls ; then + eerror "You previously built uclibc with USE=nls." + eerror "Rebuilding uClibc with USE=-nls will prob" + eerror "destroy your system." + die "switching from nls is baaaad" + fi +} + +PIE_STABLE="arm mips ppc x86" + +CPU_ALPHA="" +CPU_AMD64="" +CPU_ARM="GENERIC_ARM ARM{610,710,720T,920T,922T,926T,_{SA110,SA1100,XSCALE}}" +CPU_IA64="" +CPU_M68K="" +CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}}" +CPU_PPC="" +CPU_SH="SH{2,3,4,5}" +CPU_SPARC="" +CPU_X86="GENERIC_386 {3,4,5,6}86 586MMX PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH" +IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_SPARC} ${CPU_X86}" + +check_cpu_opts() { + local cpu_var="CPU_$(echo $(tc-arch) | tr [a-z] [A-Z])" + [[ -z ${!cpu_var} ]] && return 0 + + if [[ -z ${UCLIBC_CPU} ]] ; then + ewarn "You really should consider setting UCLIBC_CPU" + ewarn "Otherwise, the build will be generic (read: slow)." + ewarn "Available CPU options:" + UCLIBC_CPU=$(eval echo ${!cpu_var}) + echo ${UCLIBC_CPU} + case ${CTARGET} in + mips[1234]*) export UCLIBC_CPU="MIPS_ISA_${CTARGET:4:1}";; + sh[2345]*) export UCLIBC_CPU="SH${CTARGET:2:1}";; + i[456]86*) export UCLIBC_CPU="${CTARGET:1:1}86";; + *) export UCLIBC_CPU=${UCLIBC_CPU%% *};; + esac + else + local cpu found=0 + for cpu in $(eval echo ${!cpu_var}) ; do + [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break + done + if [[ ${found} -eq 0 ]] ; then + ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported" + ewarn "Valid choices:" + eval echo ${!cpu_var} + die "pick a supported cpu type" + fi + fi +} + +src_unpack() { + [[ -n ${ESVN_REPO_URI} ]] \ + && subversion_src_unpack \ + || unpack ${A} + cd "${S}" + + check_cpu_opts + + echo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "CPU: ${UCLIBC_CPU:-default}" + einfo "ENDIAN: $(uclibc_endian)" + echo + + ########## PATCHES ########## + + [[ -n ${SVN_VER} ]] && \ + epatch "${WORKDIR}"/${MY_P}-cvs-update-${SVN_VER}.patch + + if [[ -n ${PATCH_VER} ]] ; then + unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 + EPATCH_SUFFIX="patch" + epatch "${WORKDIR}"/patch + # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f) + cp "${WORKDIR}"/patch/math/libm/* "${S}"/libm/ || die + epatch "${WORKDIR}"/patch/math + fi + + ########## CPU SELECTION ########## + + local target config_target + case $(tc-arch) in + alpha) target="alpha"; config_target="no cpu-specific options";; + amd64) target="x86_64"; config_target="no cpu-specific options";; + arm) target="arm"; config_target="GENERIC_ARM";; + ia64) target="ia64"; config_target="no cpu-specific options";; + m68k) target="m68k"; config_target="no cpu-specific options";; + mips) target="mips"; config_target="MIPS_ISA_1";; + ppc) target="powerpc"; config_target="no cpu-specific options";; + sh) target="sh"; config_target="SH4";; + sparc) target="sparc"; config_target="no cpu-specific options";; + x86) target="i386"; config_target="GENERIC_386";; + *) die "$(tc-arch) lists no defaults :/";; + esac + sed -i -e "s:default TARGET_i386:default TARGET_${target}:" \ + extra/Configs/Config.in + sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \ + extra/Configs/Config.${target} + + ########## CONFIG SETUP ########## + + make defconfig >/dev/null || die "could not config" + + for def in DO{DEBUG{,_PT},ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do + sed -i -e "s:${def}=y:# ${def} is not set:" .config + done + if use debug ; then + #echo "SUPPORT_LD_DEBUG_EARLY=y" >> .config + echo "SUPPORT_LD_DEBUG=y" >> .config + echo "DODEBUG=y" >> .config + #echo "DODEBUG_PT=y" >> .config + fi + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + echo "ARCH_$(uclibc_endian | tr [a-z] [A-Z])_ENDIAN=y" >> .config + + if [[ $(tc-is-softfloat) != "no" ]] ; then + sed -i -e '/^HAS_FPU=y$/d' .config + echo 'HAS_FPU=n' >> .config + fi + + local moredefs="DL_FINI_CRT_COMPAT" + # We need todo this for a few months. .28 is a major upgrade. + # Don't do it from cross-compiling case though + if ! use uclibc-compat ; then + if [[ -z ${UCLIBC_AND_GLIBC} ]] && [[ -z ${UCLIBC_SCANNED_COMPAT} ]] && \ + ! just_headers && [[ ${CHOST} == ${CTARGET} ]] ; then + local fnames="" + einfo "Doing a scanelf in paths for bins containing the __uClibc_start_main symbol" + fnames=$(scanelf -pyqs__uClibc_start_main -F%F#s) + if [[ -z ${fnames} ]] ; then + einfo "This system is clean." + einfo "To prevent the scanning of files again in the future you can export UCLIBC_SCANNED_COMPAT=1" + moredefs="" + else + ewarn "You need to remerge the packages that contain the following files before you can remerge ${P} without USE=uclibc-compat enabled." + ewarn "qfile ${fnames}" + echo + ewarn "Leaving on ${moredefs}" + fi + else + moredefs="" + fi + fi + for def in ${moredefs} MALLOC_GLIBC_COMPAT DO_C99_MATH UCLIBC_HAS_{RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} ; do + sed -i -e "s:# ${def} is not set:${def}=y:" .config + done + echo "UCLIBC_HAS_FULL_RPC=y" >> .config + echo "PTHREADS_DEBUG_SUPPORT=y" >> .config + echo "UCLIBC_HAS_TZ_FILE_READ_MANY=n" >> .config + + if use iconv ; then + sed -i -e "s:# UCLIBC_HAS_LOCALE is not set:UCLIBC_HAS_LOCALE=y:" .config + echo "UCLIBC_HAS_XLOCALE=n" >> .config + echo "UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y" >> .config + echo "UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y" >> .config + + if use nls ; then + echo "UCLIBC_HAS_GETTEXT_AWARENESS=y" >> .config + else + echo "UCLIBC_HAS_GETTEXT_AWARENESS=n" >> .config + fi + + if use pregen ; then + echo "UCLIBC_PREGENERATED_LOCALE_DATA=y" >> .config + echo "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y" >> .config + if use userlocales ; then + cp "${DISTDIR}"/${MY_P}-user-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy ${MY_P}-user-locale.tar.gz" + else + cp "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy locale" + fi + else + echo "UCLIBC_PREGENERATED_LOCALE_DATA=n" >> .config + fi + else + echo "UCLIBC_HAS_LOCALE=n" >> .config + fi + + use ipv6 && sed -i -e "s:# UCLIBC_HAS_IPV6 is not set:UCLIBC_HAS_IPV6=y:" .config + + # uncomment if you miss wordexp (alsa-lib) + use wordexp && sed -i -e "s:# UCLIBC_HAS_WORDEXP is not set:UCLIBC_HAS_WORDEXP=y:" .config + + # we need to do it independently of hardened to get ssp.c built into libc + sed -i -e "s:# UCLIBC_SECURITY.*:UCLIBC_SECURITY=y:" .config + echo "UCLIBC_HAS_SSP=y" >> .config + echo "SSP_USE_ERANDOM=n" >> .config + echo "PROPOLICE_BLOCK_ABRT=n" >> .config + if use debug ; then + echo "PROPOLICE_BLOCK_SEGV=y" >> .config + echo "PROPOLICE_BLOCK_KILL=n" >> .config + else + echo "PROPOLICE_BLOCK_SEGV=n" >> .config + echo "PROPOLICE_BLOCK_KILL=y" >> .config + fi + + # arm/mips do not emit PT_GNU_STACK, but if we enable this here + # it will be emitted as RWE, ppc has to be checked, x86 needs it + # this option should be used independently of hardened + # relro could be also moved out of hardened + if has $(tc-arch) x86 ; then + echo "UCLIBC_BUILD_NOEXECSTACK=y" >> .config + else + echo "UCLIBC_BUILD_NOEXECSTACK=n" >> .config + fi + echo "UCLIBC_BUILD_RELRO=y" >> .config + if use hardened ; then + if has $(tc-arch) ${PIE_STABLE} ; then + echo "UCLIBC_BUILD_PIE=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + fi + echo "SSP_QUICK_CANARY=n" >> .config + echo "UCLIBC_BUILD_SSP=y" >> .config + echo "UCLIBC_BUILD_NOW=y" >> .config + else + echo "UCLIBC_BUILD_PIE=n" >> .config + echo "SSP_QUICK_CANARY=y" >> .config + echo "UCLIBC_BUILD_SSP=n" >> .config + echo "UCLIBC_BUILD_NOW=n" >> .config + fi + + # Allow users some custom control over the config + if use savedconfig ; then + for conf in ${PN}-${PV}-${PR} ${PN}-${PV} ${PN}; do + configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config + einfo "Checking existence of ${configfile} ..." + [[ -r ${configfile} ]] || configfile=/etc/${PN}/${CHOST}/${conf}.config + if [[ -r ${configfile} ]] ; then + cp "${configfile}" "${S}"/.config + einfo "Found your ${configfile} and using it." + einfo "Note that this feature is *totally unsupported*." + break + fi + done + fi + + # setup build and run paths + local cross=${CTARGET}- + type -p ${cross}ar > /dev/null || cross="" + sed -i \ + -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${cross}\":" \ + -e "/^KERNEL_SOURCE/s:=.*:=\"$(alt_build_kprefix)\":" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/$(get_libdir)\":" \ + -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \ + -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \ + .config || die + + yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig" + + cp .config myconfig + + emake -s clean > /dev/null || die "could not clean" +} + +setup_locales() { + cd "${S}"/extra/locale + if use userlocales && [[ -f ${ROOT}/etc/locales.build ]] ; then + :; + elif use minimal ; then + find ./charmaps -name ASCII.pairs > codesets.txt + find ./charmaps -name ISO-8859-1.pairs >> codesets.txt + cat <<-EOF > locales.txt + @euro e + UTF-8 yes + 8-bit yes + en_US ISO-8859-1 + en_US.UTF-8 UTF-8 + EOF + else + find ./charmaps -name '*.pairs' > codesets.txt + cp LOCALES locales.txt + fi + cd - +} + +src_compile() { + cp myconfig .config + + emake headers || die "make headers failed" + just_headers && return 0 + + if use iconv && ! use pregen ; then + cd extra/locale + make clean || die "make locale clean failed" + setup_locales + emake || die "make locales failed" + cd ../.. + fi + + emake || die "make failed" + if [[ ${CTARGET} != ${CHOST} ]] ; then + emake -C utils hostutils || die "make hostutils failed" + elif [[ ${CHOST} == *-uclibc ]] ; then + emake utils || die "make utils failed" + fi +} + +src_test() { + [[ ${CHOST} != ${CTARGET} ]] && return 0 + [[ ${CBUILD} != ${CHOST} ]] && return 0 + + # assert test fails on pax/grsec enabled kernels - normal + # vfork test fails in sandbox (both glibc/uclibc) + make UCLIBC_ONLY=1 check || die "test failed" +} + +src_install() { + local sysroot=${D} + [[ ${CHOST} != ${CTARGET} ]] && sysroot="${sysroot}/usr/${CTARGET}" + + local target="install" + just_headers && target="install_dev" + emake DESTDIR="${sysroot}" ${target} || die "install failed" + + # remove files coming from kernel-headers + rm -rf "${sysroot}"/usr/include/{linux,asm*} + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + if [[ ${CTARGET} != ${CHOST} ]] ; then + dosym usr/include /usr/${CTARGET}/sys-include + if ! just_headers ; then + newbin utils/ldconfig.host ${CTARGET}-ldconfig || die + newbin utils/ldd.host ${CTARGET}-ldd || die + fi + return 0 + fi + + if [[ ${CHOST} == *-uclibc* ]] ; then + emake DESTDIR="${D}" install_utils || die "install-utils failed" + dobin extra/scripts/getent + fi + + dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3 + doman docs/man/*.[1-9] +} + +pkg_postinst() { + [[ ${CTARGET} != ${CHOST} ]] && return 0 + [[ ${CHOST} != *-uclibc* ]] && return 0 + + if [[ ! -e ${ROOT}/etc/TZ ]] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + [[ ! -d ${ROOT}/etc ]] && mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + + if [[ ${ROOT} == "/" ]] ; then + # update cache before reloading init + /sbin/ldconfig + # reload init ... + [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null + fi +} diff --git a/cross-mips-linux-uclibc/uclibc/uclibc-0.9.30.ebuild b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.30.ebuild new file mode 100644 index 00000000..00204222 --- /dev/null +++ b/cross-mips-linux-uclibc/uclibc/uclibc-0.9.30.ebuild @@ -0,0 +1,459 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.30.ebuild,v 1.3 2009/01/10 04:32:59 redhatter Exp $ + +#ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc" +#inherit subversion +inherit eutils flag-o-matic toolchain-funcs savedconfig + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi +# Handle the case where we want uclibc on glibc ... +if [[ ${CTARGET} == ${CHOST} ]] && [[ ${CHOST} != *-uclibc* ]] ; then + export UCLIBC_AND_GLIBC="sitting in a tree" + export CTARGET=${CHOST%%-*}-pc-linux-uclibc +fi + +MY_P=uClibc-0.9.30 +SVN_VER="" +PATCH_VER="1.0" +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="http://www.uclibc.org/" +SRC_URI="http://uclibc.org/downloads/${MY_P}.tar.bz2 + iconv? ( !userlocales? ( pregen? ( http://www.uclibc.org/downloads/uClibc-locale-030818.tgz + ) ) )" +[[ -z ${SVN_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-svn-update-${SVN_VER}.patch.bz2" +[[ -z ${PATCH_VER} ]] || \ + SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~m68k ~mips ~ppc ~sh ~sparc ~x86" +IUSE="build uclibc-compat debug hardened ssp iconv ipv6 minimal nls pregen userlocales wordexp crosscompile_opts_headers-only" +RESTRICT="strip" + +RDEPEND="" +if [[ -n $CTARGET && ${CTARGET} != ${CHOST} ]]; then + DEPEND="" + PROVIDE="" + SLOT="${CTARGET}" +else + DEPEND="virtual/os-headers app-misc/pax-utils" + PROVIDE="virtual/libc" + SLOT="0" +fi + +S=${WORKDIR}/${MY_P} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] \ + || [[ -n ${UCLIBC_AND_GLIBC} ]] + then + echo /usr/include + else + echo /usr/${CTARGET}/usr/include + fi +} + +just_headers() { + use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "big";; + *" LSB "*) echo "little";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +pkg_setup() { + just_headers && return 0 + has_version ${CATEGORY}/uclibc || return 0 + [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0 + [[ ${ROOT} != "/" ]] && return 0 + [[ ${CATEGORY} == cross-* ]] && return 0 + + if use iconv ; then + eerror "iconv - bad idea" + fi + if use nls ; then + eerror "nls - even worse idea" + fi + if use pregen || use userlocales ; then + eerror "pregen, userlocales - meaningless without nls" + fi + if use iconv || use nls || use pregen || use userlocales ; then + eerror "compile without nls/gettext support" + fi + if ! built_with_use --missing false ${CATEGORY}/uclibc nls && use nls && ! use pregen ; then + eerror "You previously built uclibc with USE=-nls." + eerror "You cannot generate locale data with this" + eerror "system. Please rerun emerge with USE=pregen." + die "host cannot support locales" + elif built_with_use --missing false ${CATEGORY}/uclibc nls && ! use nls ; then + eerror "You previously built uclibc with USE=nls." + eerror "Rebuilding uClibc with USE=-nls will prob" + eerror "destroy your system." +# die "switching from nls is baaaad" + fi +} + +PIE_STABLE="arm mips ppc x86" + +CPU_ALPHA="" +CPU_AMD64="" +CPU_ARM="GENERIC_ARM ARM{610,710,7TDMI,720T,920T,922T,926T,10T,1136JF_S,1176JZ{_,F_}S,_{SA110,SA1100,XSCALE,IWMMXT}}" +CPU_IA64="" +CPU_M68K="" +CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}} MIPS_{N64,O32,N32}_ABI" +CPU_PPC="" +CPU_SH="SH{2,3,4,5}" +CPU_SPARC="SPARC_V{7,8,9,9B}" +CPU_X86="GENERIC_386 {3,4,5,6}86 586MMX PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH" +IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_SPARC} ${CPU_X86}" + +check_cpu_opts() { + local cpu_var="CPU_$(echo $(tc-arch) | tr [a-z] [A-Z])" + [[ -z ${!cpu_var} ]] && return 0 + + if [[ -z ${UCLIBC_CPU} ]] ; then + ewarn "You really should consider setting UCLIBC_CPU" + ewarn "Otherwise, the build will be generic (read: slow)." + ewarn "Available CPU options:" + UCLIBC_CPU=$(eval echo ${!cpu_var}) + echo ${UCLIBC_CPU} + case ${CTARGET} in + mips[1234]*) export UCLIBC_CPU="MIPS_ISA_${CTARGET:4:1}";; + sh[2345]*) export UCLIBC_CPU="SH${CTARGET:2:1}";; + i[456]86*) export UCLIBC_CPU="${CTARGET:1:1}86";; + *) export UCLIBC_CPU=${UCLIBC_CPU%% *};; + esac + else + local cpu found=0 + for cpu in $(eval echo ${!cpu_var}) ; do + [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break + done + if [[ ${found} -eq 0 ]] ; then + ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported" + ewarn "Valid choices:" + eval echo ${!cpu_var} + die "pick a supported cpu type" + fi + fi +} + +set_opt() { + sed -i -e "/^\# $1 is not set/d" -e "/^$1=.*/d" .config + echo "$1=$2" >> .config +} + +src_unpack() { + [[ -n ${ESVN_REPO_URI} ]] \ + && subversion_src_unpack \ + || unpack ${A} + cd "${S}" + + check_cpu_opts + + echo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "CPU: ${UCLIBC_CPU:-default}" + einfo "ENDIAN: $(uclibc_endian)" + echo + + ########## PATCHES ########## + + [[ -n ${SVN_VER} ]] && \ + epatch "${WORKDIR}"/${MY_P}-cvs-update-${SVN_VER}.patch + + if [[ -n ${PATCH_VER} ]] ; then + unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 + EPATCH_SUFFIX="patch" + epatch "${WORKDIR}"/patch + fi + + ########## CPU SELECTION ########## + + local target config_target + case $(tc-arch) in + alpha) target="alpha"; config_target="no cpu-specific options";; + amd64) target="x86_64"; config_target="no cpu-specific options";; + arm) target="arm"; config_target="GENERIC_ARM";; + ia64) target="ia64"; config_target="no cpu-specific options";; + m68k) target="m68k"; config_target="no cpu-specific options";; + mips) target="mips"; config_target="MIPS_ISA_1";; + ppc) target="powerpc"; config_target="no cpu-specific options";; + sh) target="sh"; config_target="SH4";; + sparc) target="sparc"; config_target="no cpu-specific options";; + x86) target="i386"; config_target="GENERIC_386";; + *) die "$(tc-arch) lists no defaults :/";; + esac + sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \ + extra/Configs/Config.${target} + sed -i -e "s:^HOSTCC.*=.*:HOSTCC=$(tc-getBUILD_CC):" Rules.mak + + ########## CONFIG SETUP ########## + + make ARCH=${target} defconfig >/dev/null || die "could not config" + + for def in DO{DEBUG{,_PT},ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do + sed -i -e "s:${def}=y:# ${def} is not set:" .config + done + if use debug ; then + set_opt SUPPORT_LD_DEBUG y + set_opt DODEBUG y + fi + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + set_opt "ARCH_WANTS_$(uclibc_endian | tr [a-z] [A-Z])_ENDIAN" y + + if [[ $(tc-is-softfloat) != "no" ]] ; then + set_opt UCLIBC_HAS_FPU n + fi + + if [[ ${CTARGET/eabi} != ${CTARGET} ]] ; then + set_opt CONFIG_ARM_OABI n + set_opt CONFIG_ARM_EABI y + fi + + local moredefs="COMPAT_ATEXIT" + local compat_sym=atexit + + # We need todo this for a few months. .30 is a major upgrade. + # Don't do it from cross-compiling case though + if ! use uclibc-compat ; then + if [[ -z ${UCLIBC_AND_GLIBC} ]] && [[ -z ${UCLIBC_SCANNED_COMPAT} ]] && \ + ! just_headers && [[ ${CHOST} == ${CTARGET} ]] ; then + local fnames="" + einfo "Doing a scanelf in paths for bins containing the ${compat_sym} symbol" + fnames=$(scanelf -pyqs${compat_sym} -F%F#s) + if [[ -z ${fnames} ]] ; then + einfo "This system is clean." + einfo "To prevent the scanning of files again in the future you can export UCLIBC_SCANNED_COMPAT=1" + moredefs="" + else + ewarn "You need to remerge the packages that contain the following files before you can remerge ${P} without USE=uclibc-compat enabled." + ewarn "qfile -Cq $(echo ${fnames}) | sort | uniq" + echo + ewarn "Leaving on ${moredefs}" + fi + else + moredefs="" + fi + fi + for def in ${moredefs} MALLOC_GLIBC_COMPAT DO_C99_MATH UCLIBC_HAS_{RPC,FULL_RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} UCLIBC_HAS_REENTRANT_RPC UCLIBC_HAS_GNU_GLOB PTHREADS_DEBUG_SUPPORT UCLIBC_HAS_TZ_FILE_READ_MANY UCLIBC_HAS_FENV UCLIBC_SUSV3_LEGACY UCLIBC_SUSV3_LEGACY_MACROS UCLIBC_HAS_PROGRAM_INVOCATION_NAME ; do + set_opt "${def}" y + done + set_opt UCLIBC_HAS_CTYPE_UNSAFE n + + if use iconv ; then + set_opt UCLIBC_HAS_LOCALE y + set_opt UCLIBC_HAS_XLOCALE n + set_opt UCLIBC_HAS_GLIBC_DIGIT_GROUPING y + set_opt UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING y + + if use nls ; then + set_opt UCLIBC_HAS_GETTEXT_AWARENESS y + set_opt UCLIBC_MJN3_ONLY y + else + set_opt UCLIBC_HAS_GETTEXT_AWARENESS n + fi + + if use pregen && [[ ${target} != mips ]]; then + set_opt UCLIBC_PREGENERATED_LOCALE_DATA y + set_opt UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA y + if use userlocales ; then + cp "${DISTDIR}"/${MY_P}-user-locale.tar.gz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy ${MY_P}-user-locale.tar.gz" + else + cp "${DISTDIR}"/uClibc-locale-030818.tgz \ + extra/locale/uClibc-locale-030818.tgz \ + || die "could not copy locale" + fi + else + set_opt UCLIBC_PREGENERATED_LOCALE_DATA n + fi + else + set_opt UCLIBC_HAS_LOCALE n + fi + + use ipv6 && set_opt UCLIBC_HAS_IPV6 y + + use wordexp && set_opt UCLIBC_HAS_WORDEXP y + + # we need to do it independently of hardened to get ssp.c built into libc + set_opt UCLIBC_HAS_SSP y + set_opt UCLIBC_HAS_SSP_COMPAT y + set_opt UCLIBC_HAS_ARC4RANDOM y + set_opt PROPOLICE_BLOCK_ABRT n + set_opt PROPOLICE_BLOCK_SEGV y + + # arm/mips do not emit PT_GNU_STACK, but if we enable this here + # it will be emitted as RWE, ppc has to be checked, x86 needs it + # this option should be used independently of hardened + if has $(tc-arch) x86 || has $(tc-arch) ppc; then + set_opt UCLIBC_BUILD_NOEXECSTACK y + else + set_opt UCLIBC_BUILD_NOEXECSTACK n + fi + set_opt UCLIBC_BUILD_RELRO y + if use hardened ; then + if has $(tc-arch) ${PIE_STABLE} ; then + set_opt UCLIBC_BUILD_PIE y + else + set_opt UCLIBC_BUILD_PIE n + fi + set_opt UCLIBC_BUILD_NOW y + use ssp && { + set_opt SSP_QUICK_CANARY n + set_opt UCLIBC_BUILD_SSP y + } + else + set_opt UCLIBC_BUILD_PIE n + set_opt SSP_QUICK_CANARY y + set_opt UCLIBC_BUILD_SSP n + set_opt UCLIBC_BUILD_NOW n + fi + + restore_config .config + + # setup build and run paths + local cross=${CTARGET}- + type -p ${cross}ar > /dev/null || cross="" + sed -i \ + -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${cross}\":" \ + -e "/^KERNEL_HEADERS/s:=.*:=\"$(alt_build_kprefix)\":" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/$(get_libdir)\":" \ + -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \ + -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \ + -e "/^UCLIBC_EXTRA_CFLAGS/s:=.*:=\"${UCLIBC_EXTRA_CFLAGS}\":" \ + .config || die + + yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig" + + cp .config myconfig + + emake -s clean > /dev/null || die "could not clean" +} + +setup_locales() { + cd "${S}"/extra/locale + if use userlocales && [[ -f ${ROOT}/etc/locales.build ]] ; then + :; + elif use minimal ; then + find ./charmaps -name ASCII.pairs > codesets.txt + find ./charmaps -name ISO-8859-1.pairs >> codesets.txt + cat <<-EOF > locales.txt + @euro e + UTF-8 yes + 8-bit yes + en_US ISO-8859-1 + en_US.UTF-8 UTF-8 + EOF + else + find ./charmaps -name '*.pairs' > codesets.txt + cp LOCALES locales.txt + fi + cd - +} + +src_compile() { + cp myconfig .config + + emake headers || die "make headers failed" + just_headers && return 0 + + if use iconv && ! use pregen ; then + cd extra/locale + make clean || die "make locale clean failed" + setup_locales + emake || die "make locales failed" + cd ../.. + fi + + emake || die "make failed" + if [[ ${CTARGET} != ${CHOST} ]] ; then + emake -C utils hostutils || die "make hostutils failed" + elif [[ ${CHOST} == *-uclibc* ]] ; then + emake utils || die "make utils failed" + fi +} + +src_test() { + [[ ${CHOST} != ${CTARGET} ]] && return 0 + [[ ${CBUILD} != ${CHOST} ]] && return 0 + + # assert test fails on pax/grsec enabled kernels - normal + # vfork test fails in sandbox (both glibc/uclibc) + make UCLIBC_ONLY=1 check || die "test failed" +} + +src_install() { + local sysroot=${D} + [[ ${CHOST} != ${CTARGET} ]] && sysroot="${sysroot}/usr/${CTARGET}" + + local target="install" + just_headers && target="install_headers" + emake DESTDIR="${sysroot}" ${target} || die "install failed" + + save_config .config + + # remove files coming from kernel-headers + rm -rf "${sysroot}"/usr/include/{linux,asm*} + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + if [[ ${CTARGET} != ${CHOST} ]] ; then + dosym usr/include /usr/${CTARGET}/sys-include + if ! just_headers ; then + newbin utils/ldconfig.host ${CTARGET}-ldconfig || die + newbin utils/ldd.host ${CTARGET}-ldd || die + fi + return 0 + fi + + if [[ ${CHOST} == *-uclibc* ]] ; then + emake DESTDIR="${D}" install_utils || die "install-utils failed" + dobin extra/scripts/getent + fi + + dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3 + doman docs/man/*.[1-9] +} + +pkg_postinst() { + [[ ${CTARGET} != ${CHOST} ]] && return 0 + [[ ${CHOST} != *-uclibc* ]] && return 0 + + if [[ ! -e ${ROOT}/etc/TZ ]] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + [[ ! -d ${ROOT}/etc ]] && mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + + if [[ ${ROOT} == "/" ]] ; then + # update cache before reloading init + /sbin/ldconfig + # reload init ... + [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null + fi +} diff --git a/dev-dotnet/efl-sharp/Manifest b/dev-dotnet/efl-sharp/Manifest index f34cb39a..5db8d2bb 100644 --- a/dev-dotnet/efl-sharp/Manifest +++ b/dev-dotnet/efl-sharp/Manifest @@ -1 +1,6 @@ -EBUILD efl-sharp-9999.ebuild 1245 RMD160 0a2d6558c360605d69ebabf71acc4d9a43c9d910 SHA1 a04d78c24bacece28a7fb35181b75c5f0552c029 SHA256 a750fdabe5a3023305c5ea2c420f63d4d84f678a1177dc982f694465b0db375b +MD5 3b52dcbe76475229aa463f1994272de3 efl-sharp-9999.ebuild 1245 +RMD160 0a2d6558c360605d69ebabf71acc4d9a43c9d910 efl-sharp-9999.ebuild 1245 +SHA256 a750fdabe5a3023305c5ea2c420f63d4d84f678a1177dc982f694465b0db375b efl-sharp-9999.ebuild 1245 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-efl-sharp-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-efl-sharp-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-efl-sharp-9999 0 diff --git a/dev-libs/mini-iconv/Manifest b/dev-libs/mini-iconv/Manifest new file mode 100644 index 00000000..efc833c5 --- /dev/null +++ b/dev-libs/mini-iconv/Manifest @@ -0,0 +1,2 @@ +DIST mini-iconv.tar.bz2 1601 RMD160 bd3636a99584c2ff9937bb857cd2f4d435a2b955 SHA1 8c7603601bb881c1204c11997cc2107675da9a83 SHA256 656c0250e2a397ad270eb51d9547e9f7acf1d75b73b8b52a3f75f0e991496b61 +EBUILD mini-iconv-0.ebuild 741 RMD160 2ea49e3814eab4bed74f1b7830588312a7745efa SHA1 f395560e42eed12b561b9473d6ce1f83c5c625ea SHA256 7dc539a3d62da2b97105d014dbd23591f64b479ae1897fef140dff2c673209fb diff --git a/dev-libs/mini-iconv/mini-iconv-0.ebuild b/dev-libs/mini-iconv/mini-iconv-0.ebuild new file mode 100644 index 00000000..b79eecfc --- /dev/null +++ b/dev-libs/mini-iconv/mini-iconv-0.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="A minimal iconv implementation" +HOMEPAGE="http://distrib-coffee.ipsl.jussieu.fr/pub/linux/alpine/alpine/mini-iconv" +SRC_URI="http://distrib-coffee.ipsl.jussieu.fr/pub/linux/alpine/alpine/${PN}/${PN}.tar.bz2" + +LICENSE="AS-IS" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" +PROVIDE="virtual/libiconv" +S=${WORKDIR}/${PN} + +src_compile () +{ + CC=$(tc-getCC) + AR=$(tc-getAR) + + cd "${S}" + emake static || die "emake static failed" + emake shared || die "emake shared failed" +} + +src_install () +{ + emake install DESTDIR="${D}" PREFIX="/usr" || die "emake install failed" + dodoc README +} diff --git a/dev-perl/etk-perl/Manifest b/dev-perl/etk-perl/Manifest index 32654efa..18de88ba 100644 --- a/dev-perl/etk-perl/Manifest +++ b/dev-perl/etk-perl/Manifest @@ -1 +1,7 @@ -EBUILD etk-perl-9999.ebuild 513 RMD160 a26e48ebea3041533eabef26beb5386872e0d30f SHA1 565a3da6405fd30291c833769f15b9b7f9f61fb2 SHA256 e4a915458abcb298468bdecfb975732e353705dc1f03057aacc02d307f38a48b +EBUILD etk-perl-9999.ebuild 528 RMD160 ac3c7966a2bf47e635812ba61ef4860089eb0d36 SHA1 3b46ef067fe07319d9ece5cb3466ee8abc163c6d SHA256 05f59966d1e0580ee7004c062ef7c46b8996fc71700992a9f844a630c9266c81 +MD5 ca709e53f842161454abd82a5d9386bb etk-perl-9999.ebuild 528 +RMD160 ac3c7966a2bf47e635812ba61ef4860089eb0d36 etk-perl-9999.ebuild 528 +SHA256 05f59966d1e0580ee7004c062ef7c46b8996fc71700992a9f844a630c9266c81 etk-perl-9999.ebuild 528 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-etk-perl-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-etk-perl-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-etk-perl-9999 0 diff --git a/dev-perl/etk-perl/etk-perl-9999.ebuild b/dev-perl/etk-perl/etk-perl-9999.ebuild index 706b1bc0..12088707 100644 --- a/dev-perl/etk-perl/etk-perl-9999.ebuild +++ b/dev-perl/etk-perl/etk-perl-9999.ebuild @@ -10,6 +10,8 @@ DESCRIPTION="Perl bindings for ETK" DEPEND="x11-libs/etk dev-lang/perl" +KEYWORDS="-*" + src_compile() { perl-module_src_compile diff --git a/dev-ruby/ruby-ecore/Manifest b/dev-ruby/ruby-ecore/Manifest index ab88e677..55fa8fca 100644 --- a/dev-ruby/ruby-ecore/Manifest +++ b/dev-ruby/ruby-ecore/Manifest @@ -1 +1,6 @@ -EBUILD ruby-ecore-9999.ebuild 768 RMD160 26f721e284cd92f52c9deec3669904fad021911f SHA1 a28b503d42303755cb8085d02970bc89ea5d0307 SHA256 999f1c7e6ae04bb1d60f6d69595df2e872608d8b8cc7023a049333311215d6a7 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-ruby-ecore-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-ruby-ecore-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-ruby-ecore-9999 0 +MD5 9fd941e0c4c41d35bcb319ae96e5106b ruby-ecore-9999.ebuild 768 +RMD160 26f721e284cd92f52c9deec3669904fad021911f ruby-ecore-9999.ebuild 768 +SHA256 999f1c7e6ae04bb1d60f6d69595df2e872608d8b8cc7023a049333311215d6a7 ruby-ecore-9999.ebuild 768 diff --git a/dev-ruby/ruby-edje/Manifest b/dev-ruby/ruby-edje/Manifest index 02737c69..9a5d6ee6 100644 --- a/dev-ruby/ruby-edje/Manifest +++ b/dev-ruby/ruby-edje/Manifest @@ -1 +1,6 @@ -EBUILD ruby-edje-9999.ebuild 762 RMD160 47ecc22a2b9a0f36902ff15eb5359cded4724a04 SHA1 74dc38b778744e27f0bdd942173fe701c3d7f248 SHA256 926430f6f0ace0f3c4eb8c08b3cf85b8600419c2e3e5ba29aae17047b3e79b68 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-ruby-edje-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-ruby-edje-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-ruby-edje-9999 0 +MD5 0d9350754de335ea94d4701f7e0e3083 ruby-edje-9999.ebuild 762 +RMD160 47ecc22a2b9a0f36902ff15eb5359cded4724a04 ruby-edje-9999.ebuild 762 +SHA256 926430f6f0ace0f3c4eb8c08b3cf85b8600419c2e3e5ba29aae17047b3e79b68 ruby-edje-9999.ebuild 762 diff --git a/dev-ruby/ruby-eet/Manifest b/dev-ruby/ruby-eet/Manifest index 4327fc26..db01ffbd 100644 --- a/dev-ruby/ruby-eet/Manifest +++ b/dev-ruby/ruby-eet/Manifest @@ -1,6 +1,21 @@ -DIST ruby-eet-0.1.2.tar.gz 11689 RMD160 b2e81ec7234a25f6f71916defaafd1aa5a793da2 SHA1 933bc03c45a9efd9966242b1f2290ad6fdf47a99 SHA256 f96e803d984139ad3b0cd671a84de4405b35c212093142bf42377b04e54e642c -DIST ruby-eet-0.1.3.tar.gz 13708 RMD160 a9dafeb8a2cf635855d08a7918e001a1d185da91 SHA1 3c9e7a0e59e6eab8cf4784c0e6571bd18e41e884 SHA256 aab15fb504f08d482273926ca4a8df78a873f935251b9702e1cd46cecfb9c842 -EBUILD ruby-eet-0.1.2.ebuild 735 RMD160 5ba5b49d496a1cbf6eb58b82a2dc3729e86899be SHA1 302d689f53566558b6ff1b72c9728d4e1f9b2997 SHA256 6d550368f310997591ab5babaebbc8cd11ff92e67fbac625e285bf58d72135c3 -EBUILD ruby-eet-0.1.3.ebuild 762 RMD160 396a3987b5d7fd684c978cea74ec2ec76d6f9f9f SHA1 66b0892b7633ed030d46cf6f53919834315cacc6 SHA256 352132c0bccfdab9172cb60ad7d6057cf51792994d82eff640e7e062f0b1244d -EBUILD ruby-eet-9999.ebuild 718 RMD160 b2644785dbfd5ccf6eb5c1e34dbecf6638629f8c SHA1 92322f68bd017ad9011054791c06a436844d865e SHA256 1a5e0432f6b7329461b3de41a7900d34bd891f541a4aa157dc44034cdce8e0ce -MISC metadata.xml 230 RMD160 46993b35fcb3698c0d8d7031490b9fc1b5c1a866 SHA1 cc97bd4db6c2cc99e79cac7023933e3775d91709 SHA256 c5bfb91db8b05141ea0ac68ebfbfe9cfd6a886fa3f1c0dd64de789d40d507217 +MD5 299d2bbbc3b307a87327f998375ae1e1 files/digest-ruby-eet-0.1.2 241 +RMD160 c54a8b35ae19cb27cb432fa4c5d35cb505c87d0f files/digest-ruby-eet-0.1.2 241 +SHA256 185e6d549d984badedbe5ac2d3e241526b5fe91186c564395f4216e872b2483a files/digest-ruby-eet-0.1.2 241 +MD5 3527f8b669038b70bee81dbce6c4f80d files/digest-ruby-eet-0.1.3 241 +RMD160 c5321865da1e62bc5cd86cc70282973300f9c6bd files/digest-ruby-eet-0.1.3 241 +SHA256 ca95c8a55d99ae64b0585bda38fed1ac84d8c6efc71d8c28f75ace71c4bdb66c files/digest-ruby-eet-0.1.3 241 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-ruby-eet-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-ruby-eet-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-ruby-eet-9999 0 +MD5 7998dd1d48849a732a85e0efaf1b07ac metadata.xml 230 +RMD160 46993b35fcb3698c0d8d7031490b9fc1b5c1a866 metadata.xml 230 +SHA256 c5bfb91db8b05141ea0ac68ebfbfe9cfd6a886fa3f1c0dd64de789d40d507217 metadata.xml 230 +MD5 35322edaafb9204e769da2c85608baa5 ruby-eet-0.1.2.ebuild 735 +RMD160 5ba5b49d496a1cbf6eb58b82a2dc3729e86899be ruby-eet-0.1.2.ebuild 735 +SHA256 6d550368f310997591ab5babaebbc8cd11ff92e67fbac625e285bf58d72135c3 ruby-eet-0.1.2.ebuild 735 +MD5 631915a5c12e6082b354a7897f2405a3 ruby-eet-0.1.3.ebuild 762 +RMD160 396a3987b5d7fd684c978cea74ec2ec76d6f9f9f ruby-eet-0.1.3.ebuild 762 +SHA256 352132c0bccfdab9172cb60ad7d6057cf51792994d82eff640e7e062f0b1244d ruby-eet-0.1.3.ebuild 762 +MD5 2f1cb88ef7f79e856507a24a9346073c ruby-eet-9999.ebuild 718 +RMD160 b2644785dbfd5ccf6eb5c1e34dbecf6638629f8c ruby-eet-9999.ebuild 718 +SHA256 1a5e0432f6b7329461b3de41a7900d34bd891f541a4aa157dc44034cdce8e0ce ruby-eet-9999.ebuild 718 diff --git a/dev-ruby/ruby-efl/Manifest b/dev-ruby/ruby-efl/Manifest index dad01a7b..3c6aa412 100644 --- a/dev-ruby/ruby-efl/Manifest +++ b/dev-ruby/ruby-efl/Manifest @@ -1 +1,6 @@ -EBUILD ruby-efl-1.ebuild 486 RMD160 47e8cbdd9a01e73afdf1f9bba899f4da0537ed36 SHA1 a73ebdb499096c55d996bc624730fb61c6598b1f SHA256 47ef98f4b9a59d70080b84550dcc36c41442309cc8dbd5744583ac25cd2bec3c +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-ruby-efl-1 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-ruby-efl-1 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-ruby-efl-1 0 +MD5 13bb3e4e1810f2df4b617d86b320325e ruby-efl-1.ebuild 486 +RMD160 47e8cbdd9a01e73afdf1f9bba899f4da0537ed36 ruby-efl-1.ebuild 486 +SHA256 47ef98f4b9a59d70080b84550dcc36c41442309cc8dbd5744583ac25cd2bec3c ruby-efl-1.ebuild 486 diff --git a/dev-ruby/ruby-evas/Manifest b/dev-ruby/ruby-evas/Manifest index 124698b8..99a9170f 100644 --- a/dev-ruby/ruby-evas/Manifest +++ b/dev-ruby/ruby-evas/Manifest @@ -1 +1,6 @@ -EBUILD ruby-evas-9999.ebuild 773 RMD160 11923879a71f285e9965dc98339f19f4c68afdbb SHA1 3bf56510d7ca4ba6e7bc91575201e35f2d093769 SHA256 4201576fa5d8709c9932d24a1ec310588bce0449b47d9d285a709c2118c1055b +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-ruby-evas-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-ruby-evas-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-ruby-evas-9999 0 +MD5 06f9ab2237bbe914639e1dd0a4daaabb ruby-evas-9999.ebuild 773 +RMD160 11923879a71f285e9965dc98339f19f4c68afdbb ruby-evas-9999.ebuild 773 +SHA256 4201576fa5d8709c9932d24a1ec310588bce0449b47d9d285a709c2118c1055b ruby-evas-9999.ebuild 773 diff --git a/dev-util/codeworker/Manifest b/dev-util/codeworker/Manifest index 22330427..d16f309f 100644 --- a/dev-util/codeworker/Manifest +++ b/dev-util/codeworker/Manifest @@ -1,2 +1,6 @@ -DIST CodeWorker_SRC4_1_1.zip 3035271 RMD160 fb64b71e98f38cbdba32c4f33317faf81c985ea2 SHA1 3053cdf3b3abaea5dfc47b11e1600af73e7c6e71 SHA256 5a8d8556b26fa35f6d4823299d7b7f03d092b5b8e67b9f029b6d37b09f3fdd71 -EBUILD codeworker-4.1.1.ebuild 2897 RMD160 6464a40bb43735e73f3e54ae8eb93cd8b4ed5dca SHA1 a363b08867151c8fa9f1b22f887616461490b4a5 SHA256 77583a1f5139658eac9a707ce6c61d1d9658f953db5fa5348707e697edc31916 +MD5 954351fac78f00b6ad031c794ca00c58 codeworker-4.1.1.ebuild 2897 +RMD160 6464a40bb43735e73f3e54ae8eb93cd8b4ed5dca codeworker-4.1.1.ebuild 2897 +SHA256 77583a1f5139658eac9a707ce6c61d1d9658f953db5fa5348707e697edc31916 codeworker-4.1.1.ebuild 2897 +MD5 54e035c17f15a8a2474b4df84d0ce732 files/digest-codeworker-4.1.1 253 +RMD160 2d30f8d1d8c580eade6446f9357dcc656e2dae04 files/digest-codeworker-4.1.1 253 +SHA256 57090aedd6f35a12e3f10af91d8aee22fe473bc56a2418c5e08f75f0e88fa825 files/digest-codeworker-4.1.1 253 diff --git a/mail-client/roundcube/Manifest b/mail-client/roundcube/Manifest new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mail-client/roundcube/Manifest diff --git a/mail-client/roundcube/roundcube-0.2.ebuild b/mail-client/roundcube/roundcube-0.2.ebuild new file mode 100644 index 00000000..43b9b42e --- /dev/null +++ b/mail-client/roundcube/roundcube-0.2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils webapp depend.php depend.apache + +MY_PN="${PN}mail" +MY_P="${MY_PN}-0.2-stable" +DESCRIPTION="A browser-based multilingual IMAP client using AJAX" +HOMEPAGE="http://www.roundcube.net" +RESTRICT="nomirror" +SRC_URI="mirror://sourceforge/${MY_PN}/${MY_P}.tar.gz" +# roundcube is GPL-licensed, the rest of the licenses here are +# for bundled PEAR components, googiespell and utf8.class.php +LICENSE="GPL-2 BSD PHP-2.02 PHP-3 MIT public-domain" +KEYWORDS="~amd64 ~x86" +IUSE="ldap mysql postgres sqlite ssl spell" + +RDEPEND="dev-php/PEAR-PEAR" +need_httpd_cgi +need_php_httpd + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + local flags="crypt iconv imap pcre session unicode" + use ldap && flags="${flags} ldap" + use ssl && flags="${flags} ssl" + use spell && flags="${flags} curl ssl" + + # check for required PHP features + if ! use mysql && ! use postgres && ! use sqlite ; then + local dbflags="mysql mysqli postgres sqlite" + if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \ + ! PHPCHECKNODIE="yes" require_php_with_any_use ${dbflags} ; then + die "Re-install ${PHP_PKG} with ${flags} and at least one of ${dbflags} in USE." + fi + else + for db in postgres sqlite ; do + use ${db} && flags="${flags} ${db}" + done + if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \ + ( use mysql && ! PHPCHECKNODIE="yes" require_php_with_any_use mysql mysqli ) ; then + local diemsg="Re-install ${PHP_PKG} with ${flags}" + use mysql && diemsg="${diemsg} and at least one of mysql mysqli" + die "${diemsg} in USE" + fi + fi + + # add some warnings about optional functionality + if ! PHPCHECKNODIE="yes" require_php_with_any_use gd gd-external ; then + ewarn "IMAP quota display will not work correctly without GD support in PHP." + ewarn "Recompile PHP with either gd or gd-external in USE if you want this feature." + ewarn + fi + use ldap || ewarn "PHP with USE=\"ldap\" is required for using LDAP addressbooks." + use ssl || ewarn "PHP with USE=\"ssl\" is required for IMAPS/STMPS functionality." + use spell || ewarn "PHP with USE=\"curl ssl\" required for spellchecker functionality." + + webapp_pkg_setup +} + +src_unpack() { + unpack ${A} + cd "${S}" + mv config/db.inc.php{.dist,} + mv config/main.inc.php{.dist,} +} + +src_install () { + webapp_src_preinst + dodoc CHANGELOG INSTALL README UPGRADING + + cp -R [[:lower:]]* SQL "${D}/${MY_HTDOCSDIR}" + + webapp_serverowned "${MY_HTDOCSDIR}"/logs + webapp_serverowned "${MY_HTDOCSDIR}"/temp + + webapp_configfile "${MY_HTDOCSDIR}"/config/{db,main}.inc.php + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + webapp_postupgrade_txt en UPGRADING + webapp_src_install +} diff --git a/mail-client/roundcube/roundcube-0.2_beta2.ebuild b/mail-client/roundcube/roundcube-0.2_beta2.ebuild new file mode 100644 index 00000000..1af8c545 --- /dev/null +++ b/mail-client/roundcube/roundcube-0.2_beta2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils webapp depend.php depend.apache + +MY_PN="${PN}mail" +MY_P="${MY_PN}-0.2-beta2" +DESCRIPTION="A browser-based multilingual IMAP client using AJAX" +HOMEPAGE="http://www.roundcube.net" +RESTRICT="nomirror" +SRC_URI="mirror://sourceforge/${MY_PN}/${MY_P}.tar.gz" +# roundcube is GPL-licensed, the rest of the licenses here are +# for bundled PEAR components, googiespell and utf8.class.php +LICENSE="GPL-2 BSD PHP-2.02 PHP-3 MIT public-domain" +KEYWORDS="~amd64 ~x86" +IUSE="ldap mysql postgres sqlite ssl spell" + +RDEPEND="dev-php/PEAR-PEAR" +need_httpd_cgi +need_php_httpd + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + local flags="crypt iconv imap pcre session unicode" + use ldap && flags="${flags} ldap" + use ssl && flags="${flags} ssl" + use spell && flags="${flags} curl ssl" + + # check for required PHP features + if ! use mysql && ! use postgres && ! use sqlite ; then + local dbflags="mysql mysqli postgres sqlite" + if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \ + ! PHPCHECKNODIE="yes" require_php_with_any_use ${dbflags} ; then + die "Re-install ${PHP_PKG} with ${flags} and at least one of ${dbflags} in USE." + fi + else + for db in postgres sqlite ; do + use ${db} && flags="${flags} ${db}" + done + if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \ + ( use mysql && ! PHPCHECKNODIE="yes" require_php_with_any_use mysql mysqli ) ; then + local diemsg="Re-install ${PHP_PKG} with ${flags}" + use mysql && diemsg="${diemsg} and at least one of mysql mysqli" + die "${diemsg} in USE" + fi + fi + + # add some warnings about optional functionality + if ! PHPCHECKNODIE="yes" require_php_with_any_use gd gd-external ; then + ewarn "IMAP quota display will not work correctly without GD support in PHP." + ewarn "Recompile PHP with either gd or gd-external in USE if you want this feature." + ewarn + fi + use ldap || ewarn "PHP with USE=\"ldap\" is required for using LDAP addressbooks." + use ssl || ewarn "PHP with USE=\"ssl\" is required for IMAPS/STMPS functionality." + use spell || ewarn "PHP with USE=\"curl ssl\" required for spellchecker functionality." + + webapp_pkg_setup +} + +src_unpack() { + unpack ${A} + cd "${S}" + mv config/db.inc.php{.dist,} + mv config/main.inc.php{.dist,} +} + +src_install () { + webapp_src_preinst + dodoc CHANGELOG INSTALL README UPGRADING + + cp -R [[:lower:]]* SQL "${D}/${MY_HTDOCSDIR}" + + webapp_serverowned "${MY_HTDOCSDIR}"/logs + webapp_serverowned "${MY_HTDOCSDIR}"/temp + + webapp_configfile "${MY_HTDOCSDIR}"/config/{db,main}.inc.php + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + webapp_postupgrade_txt en UPGRADING + webapp_src_install +} diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest new file mode 100644 index 00000000..28d653e7 --- /dev/null +++ b/mail-mta/exim/Manifest @@ -0,0 +1,17 @@ +AUX auth_conf.sub 790 RMD160 5d6a71cf9fb593fc34ddce8dc421fcd843356c82 SHA1 5744531af5ee282ae29bdbb4e89fbee16c0034a7 SHA256 d0631d487f115c07a178d48bc7168cd16d7b22c8879b1e926923152cde95ba78 +AUX exim-4.14-tail.patch 446 RMD160 685e27ff995710f3b8d77d8785b04503170e7e27 SHA1 d52b5d10656ead546beda128068ed2f9dbc67200 SHA256 74d1044bb94e167180fd8f8aba7449ca3d2b09b1ce170a1a2e4e54ca0cd660da +AUX exim-4.20-maildir.patch 478 RMD160 50c6a1dd6ae3f7bb1776696d3d0d7a161c351fce SHA1 c8287f7e44d93b0ca8761b8f7111974cfe1280a5 SHA256 2704c4db67bb7c58c2421656d942f533d1eedf1df187e76297ab72d2c2a2fb4c +AUX exim-4.30-conf.patch 887 RMD160 4e50bdb4f3a9f061c7f4da763ad5e427b9cbea26 SHA1 cf7ecab19aba3b758d736c584b98fa4be2338050 SHA256 a33425492f246c6afe3be21e83e0dc20ecd5ea300a172d877f666d077648eedf +AUX exim-4.43-r2-localscan_dlopen.patch 9236 RMD160 d33f7bcf72f947e8d1a3d917713630100c175491 SHA1 e4239a1bf0261f99491b4a29b26bbe8d9beffbd8 SHA256 3ec15d2dfdf251c70647c3def09711385f23983eceeecb6ec9d42b39f54b198d +AUX exim-4.69-r1.27021.patch 1738 RMD160 fbe33030e0a9462cc91b46799347d77b20b39b7e SHA1 8e03c8b52d02d55cb5307ea646e1e59d9a526353 SHA256 8d0b2c8a23d92a2b78d2aee459c347abcf417cbfb06e4a06a58b3abe10eb1d9d +AUX exim-4.69-r1.boolean_redefine_protect.152706.patch 473 RMD160 f3a18c0d338d673a3bc216d19152c9c7c43e29d6 SHA1 ba08af4b635418ca4a81e6343da875f0b86daabd SHA256 85d1e7554dac8204e1d2e71a10d73a2172610190d74d005b152191e865e85108 +AUX exim-BJA-buildconfig-HOSTCC.diff 490 RMD160 e11995013a6d84ff117b5652d8cc8d48d7ee5217 SHA1 1d609be62efeec2a3e5800fe8955eb98ee344344 SHA256 beeddf7e45a8329f389862b2cd52a448c33405ed35c36defe89916a023eb8b08 +AUX exim.confd 62 RMD160 d8dcabf184ffb9066ad45c3e77cce1ec0392a143 SHA1 c56feda3c3193fad26852310da8ef24ef91f60f6 SHA256 668f912565a59926957090c6143f669f0e9de2cf441507d3c05fcd046865b401 +AUX exim.logrotate 194 RMD160 a92ecf3088d66e712797180a229a76c8130d7dae SHA1 0186763995134f2ce11d9562e0ac8c89a061543c SHA256 2265e5b73d8268575dbbc79d85b36dcd4724cb5da399d91e6225760cf524c1a4 +AUX exim.rc6 738 RMD160 6935a02ff63db979a71cd834675f1aff066b296b SHA1 a4504387906a8386904a40c0aabadd69cb8a4c2a SHA256 db96d7bf9b11dcac4d9d9dab0d111a9d8a36910473918d8903ade9a03963bffd +AUX mailer.conf 259 RMD160 6412ac421b836f9425af443084dbaa49feb14df6 SHA1 690b15bdb334ed2bfda927a156227385823353f2 SHA256 c1dfa59d617c5744ebd119c37b408d7135f1fa6be4322d2f77db8ba9cb30d359 +AUX pam.d-exim 101 RMD160 8ad4e0a05068ae20d5e8d401146456945d068322 SHA1 bdca3fb37937baa5da5e656c07ec333abfaa0f7d SHA256 80d94cb0b3ded20ed1513f4d5627969c4ce85d3006c702eb24920ffa01eec674 +AUX system_filter.exim 8120 RMD160 267545af6dd333e0e5f05e1d4d02a0e8ee638d45 SHA1 a9eaf04538cd35eae726e2920cb0d115bc2ab2e0 SHA256 35539f6d20f2847b4093824618797b4d602dcc5b7d920e49bf5c26f0fd89858e +DIST exim-4.69.tar.bz2 1658939 RMD160 ae97c807c63f858ba4a0ab402677225da9337d05 SHA1 321e238b6e6b32498110511ce72a911538305a39 SHA256 18e856cfdb682ba8e8ccb943ab538734d34d0ecefd63465ecc5430bc15915069 +DIST exiscan.conf 22113 RMD160 e52b77f656b3ba2105e833075d1368f41e414d64 SHA1 74dc6e30f49402f5e6fefc280ea325d17f6af8c4 SHA256 f8cc731d3225a902461e05c0997df23bfd231ea8d5bf33a9aba5783bc6e0c964 +EBUILD exim-4.69.ebuild 9981 RMD160 eecbe09d1df083e4145c026e150212699503c5e6 SHA1 35778b37ca20d22313dca4db30f995286efab53e SHA256 612aae1b344cb353819a9bdf6348555e1336f0862b7420df01dc7bb9e3fd27c2 diff --git a/mail-mta/exim/exim-4.69.ebuild b/mail-mta/exim/exim-4.69.ebuild new file mode 100644 index 00000000..1d32fd91 --- /dev/null +++ b/mail-mta/exim/exim-4.69.ebuild @@ -0,0 +1,321 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.69.ebuild,v 1.10 2008/07/16 16:34:18 chtekk Exp $ + +inherit eutils + +IUSE="tcpd ssl postgres mysql ldap pam exiscan-acl mailwrapper lmtp ipv6 sasl dnsdb perl mbx mbox X exiscan nis syslog spf srs gnutls sqlite dovecot-sasl radius domainkeys" + +DESCRIPTION="A highly configurable, drop-in replacement for sendmail" +SRC_URI="ftp://ftp.exim.org/pub/exim/exim4/${P}.tar.bz2 mirror://gentoo/exiscan.conf" +HOMEPAGE="http://www.exim.org/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" + +PROVIDE="virtual/mta" +DEPEND=">=sys-apps/sed-4.0.5 + perl? ( sys-devel/libperl ) + >=sys-libs/db-3.2 + pam? ( virtual/pam ) + tcpd? ( sys-apps/tcp-wrappers ) + ssl? ( >=dev-libs/openssl-0.9.6 ) + gnutls? ( net-libs/gnutls + dev-libs/libtasn1 ) + ldap? ( >=net-nds/openldap-2.0.7 ) + mysql? ( virtual/mysql ) + postgres? ( virtual/postgresql-base ) + sasl? ( >=dev-libs/cyrus-sasl-2.1.14 ) + spf? ( >=mail-filter/libspf2-1.2.5-r1 ) + srs? ( mail-filter/libsrs_alt ) + X? ( x11-proto/xproto + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libXt + x11-libs/libXaw + ) + sqlite? ( dev-db/sqlite ) + radius? ( net-dialup/radiusclient ) + domainkeys? ( mail-filter/libdomainkeys ) + virtual/libiconv + " + # added X check for #57206 +RDEPEND="${DEPEND} + mailwrapper? ( >=net-mail/mailwrapper-0.2 ) + !mailwrapper? ( !virtual/mta ) + >=net-mail/mailbase-0.00-r5 + virtual/logger" + +src_unpack() { + unpack ${A} + cd "${S}" + + local myconf + + epatch "${FILESDIR}"/exim-4.14-tail.patch + epatch "${FILESDIR}"/exim-4.43-r2-localscan_dlopen.patch + epatch "${FILESDIR}"/exim-BJA-buildconfig-HOSTCC.diff + + if ! use mbox; then + einfo "Patching maildir support into exim.conf" + epatch "${FILESDIR}"/exim-4.20-maildir.patch + fi + sed -i "/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'/etc/mail/aliases'" "${S}"/src/configure.default + cp "${S}"/src/configure.default "${S}"/src/configure.default.orig + + # Includes Typo fix for bug 47106 + sed -e "48i\CFLAGS=${CFLAGS}" \ + -e "s:# AUTH_CRAM_MD5=yes:AUTH_CRAM_MD5=yes:" \ + -e "s:# AUTH_PLAINTEXT=yes:AUTH_PLAINTEXT=yes:" \ + -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=/usr/sbin:" \ + -e "s:COMPRESS_COMMAND=/usr/bin/gzip:COMPRESS_COMMAND=/bin/gzip:" \ + -e "s:ZCAT_COMMAND=/usr/bin/zcat:ZCAT_COMMAND=/bin/zcat:" \ + -e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=/etc/exim/exim.conf:" \ + -e "s:EXIM_MONITOR=eximon.bin:# EXIM_MONITOR=eximon.bin:" \ + -e "s:# INFO_DIRECTORY=/usr/local/info:INFO_DIRECTORY=/usr/share/info:" \ + -e "s:# LOG_FILE_PATH=/var/log/exim_%slog:LOG_FILE_PATH=/var/log/exim/exim_%s.log:" \ + -e "s:# PID_FILE_PATH=/var/lock/exim.pid:PID_FILE_PATH=/var/run/exim.pid:" \ + -e "s:# SPOOL_DIRECTORY=/var/spool/exim:SPOOL_DIRECTORY=/var/spool/exim:" \ + -e "s:# SUPPORT_MAILDIR=yes:SUPPORT_MAILDIR=yes:" \ + -e "s:# SUPPORT_MAILSTORE=yes:SUPPORT_MAILSTORE=yes:" \ + -e "s:EXIM_USER=:EXIM_USER=mail:" \ + -e "s:# AUTH_SPA=yes:AUTH_SPA=yes:" \ + -e "s:^ZCAT_COMMAND.*$:ZCAT_COMMAND=/bin/zcat:" \ + -e "s:# LOOKUP_PASSWD=yes:LOOKUP_PASSWD=yes:" \ + src/EDITME > Local/Makefile + + # exiscan-acl is now integrated - enabled it when use-flag set + if use exiscan-acl; then + sed -i "s:# WITH_CONTENT_SCAN=yes:WITH_CONTENT_SCAN=yes:" Local/Makefile + sed -i "s:# WITH_OLD_DEMIME=yes:WITH_OLD_DEMIME=yes:" Local/Makefile + elif (use spf || use srs ) then + eerror SPF and SRS support require exiscan-acl to be enabled, please add + eerror to your USE settings. + exit 1 + fi + if use spf; then + myconf="${myconf} -lspf2" + sed -i "s:# EXPERIMENTAL_SPF=yes:EXPERIMENTAL_SPF=yes:" Local/Makefile + mycflags="${mycflags} -DEXPERIMENTAL_SPF" + fi + if use srs; then + myconf="${myconf} -lsrs_alt" + sed -i "s:# EXPERIMENTAL_SRS=yes:EXPERIMENTAL_SRS=yes:" Local/Makefile + fi + + cd Local + # enable optional exim_monitor support via X use flag bug #46778 + if use X; then + einfo "Configuring eximon" + cp ../exim_monitor/EDITME eximon.conf + sed -i "s:# EXIM_MONITOR=eximon.bin:EXIM_MONITOR=eximon.bin:" Makefile + fi + #These next two should resolve 37964 + if use perl; then + sed -i "s:# EXIM_PERL=perl.o:EXIM_PERL=perl.o:" Makefile + fi + # mbox useflag renamed, see bug 110741 + if use mbx; then + sed -i "s:# SUPPORT_MBX=yes:SUPPORT_MBX=yes:" Makefile + fi + if use pam; then + sed -i "s:# \(SUPPORT_PAM=yes\):\1:" Makefile + myconf="${myconf} -lpam" + fi + if use sasl; then + sed -i "s:# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux:CYRUS_SASLAUTHD_SOCKET=/var/lib/sasl2/mux:" Makefile + sed -i "s:# AUTH_CYRUS_SASL=yes:AUTH_CYRUS_SASL=yes:" Makefile + myconf="${myconf} -lsasl2" + fi + if use tcpd; then + sed -i "s:# \(USE_TCP_WRAPPERS=yes\):\1:" Makefile + myconf="${myconf} -lwrap" + fi + if use lmtp; then + sed -i "s:# \(TRANSPORT_LMTP=yes\):\1:" Makefile + fi + if use ipv6; then + echo "HAVE_IPV6=YES" >> Makefile + #To fix bug 41196 + echo "IPV6_USE_INET_PTON=yes" >> Makefile + fi + + if use dovecot-sasl; then + sed -i "s:# AUTH_DOVECOT=yes:AUTH_DOVECOT=yes:" Makefile + fi + if use radius; then + myconf="${myconf} -lradiusclient" + sed -i "s:# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf:RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf:" Local/Makefile + sed -i "s:# RADIUS_LIB_TYPE=RADIUSCLIENT$:RADIUS_LIB_TYPE=RADIUSCLIENT:" Local/Makefile + fi + + if [ -n "$myconf" ] ; then + echo "EXTRALIBS=${myconf} ${LDFLAGS}" >> Makefile + fi + + echo "CC=$(tc-getCC ${CBUILD})" >> Makefile + + cd "${S}" + if use ssl; then + sed -i \ + -e "s:# \(SUPPORT_TLS=yes\):\1:" Local/Makefile + if use gnutls; then + sed -i \ + -e "s:# \(USE_GNUTLS=yes\):\1:" \ + -e "s:# \(TLS_LIBS=-lgnutls -ltasn1 -lgcrypt\):\1:" Local/Makefile + else + sed -i \ + -e "s:# \(TLS_LIBS=-lssl -lcrypto\):\1:" Local/Makefile + fi + fi + + LOOKUP_INCLUDE= + LOOKUP_LIBS= + + if use ldap; then + sed -i \ + -e "s:# \(LOOKUP_LDAP=yes\):\1:" \ + -e "s:# \(LDAP_LIB_TYPE=OPENLDAP2\):\1:" Local/Makefile + LOOKUP_INCLUDE="-I${ROOT}/usr/include/ldap" + LOOKUP_LIBS="-L${ROOT}/usr/$(get_libdir) -lldap -llber" + fi + + if use mysql; then + sed -i "s:# LOOKUP_MYSQL=yes:LOOKUP_MYSQL=yes:" Local/Makefile + LOOKUP_INCLUDE="$LOOKUP_INCLUDE -I${ROOT}/usr/include/mysql" + LOOKUP_LIBS="$LOOKUP_LIBS -L${ROOT}/usr/$(get_libdir) -lmysqlclient" + fi + + if use postgres; then + sed -i "s:# LOOKUP_PGSQL=yes:LOOKUP_PGSQL=yes:" Local/Makefile + LOOKUP_INCLUDE="$LOOKUP_INCLUDE -I${ROOT}/usr/include/postgresql" + LOOKUP_LIBS="$LOOKUP_LIBS -lpq" + fi + if use sqlite; then + sed -i "s:# LOOKUP_SQLITE=yes: LOOKUP_SQLITE=yes:" Local/Makefile + LOOKUP_INCLUDE="$LOOKUP_INCLUDE -I${ROOT}/usr/include/sqlite" + LOOKUP_LIBS="$LOOKUP_LIBS -lsqlite3" + fi + if [ -n "$LOOKUP_INCLUDE" ]; then + sed -i "s:# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include:LOOKUP_INCLUDE=$LOOKUP_INCLUDE:" \ + Local/Makefile + fi + + if [ -n "$LOOKUP_LIBS" ]; then + sed -i "s:# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3:LOOKUP_LIBS=$LOOKUP_LIBS:" \ + Local/Makefile + fi + + sed -i -e 's/^buildname=.*/buildname=exim-gentoo/g' Makefile + + sed -i "s:# LOOKUP_DSEARCH=yes:LOOKUP_DSEARCH=yes:" Local/Makefile + + if use dnsdb; then + sed -i "s:# LOOKUP_DNSDB=yes:LOOKUP_DNSDB=yes:" Local/Makefile + fi + sed -i "s:# LOOKUP_CDB=yes:LOOKUP_CDB=yes:" Local/Makefile + + if use nis; then + sed -i "s:# LOOKUP_NIS=yes:LOOKUP_NIS=yes:" Local/Makefile + sed -i "s:# LOOKUP_NISPLUS=yes:LOOKUP_NISPLUS=yes:" Local/Makefile + fi + if use syslog; then + sed -i "s:LOG_FILE_PATH=/var/log/exim/exim_%s.log:LOG_FILE_PATH=syslog:" Local/Makefile + fi + if use domainkeys; then + echo " + EXPERIMENTAL_DOMAINKEYS=yes + CFLAGS += -I/usr/include/libdomainkeys + LDFLAGS += -lcrypto -ldomainkeys -L/usr/lib/libdomainkeys" >> Local/Makefile + fi + +# Use the "native" interface to the DBM library + echo "USE_DB=yes" >> "${S}"/Local/Makefile +} + +src_compile() { + make || die "make failed" +} + +src_install () { + cd "${S}"/build-exim-gentoo + exeinto /usr/sbin + doexe exim + if use X; then + doexe eximon.bin + doexe eximon + fi + fperms 4755 /usr/sbin/exim + + dodir /usr/bin /usr/sbin /usr/lib + if \[ ! -e /usr/lib/sendmail \]; + then + dosym /usr/sbin/sendmail /usr/lib/sendmail + fi + + if use mailwrapper + then + insinto /etc/mail + doins "${FILESDIR}"/mailer.conf + else + dosym exim /usr/sbin/sendmail + dosym /usr/sbin/exim /usr/bin/mailq + dosym /usr/sbin/exim /usr/bin/newaliases + einfo "The Exim ebuild will no longer touch /usr/bin/mail, so as not to interfere with mailx/nail." + dosym exim /usr/sbin/rsmtp + dosym exim /usr/sbin/rmail + fi + + exeinto /usr/sbin + for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \ + exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \ + convert4r3 convert4r4 exipick + do + doexe $i + done + + dodoc "${S}"/doc/* + doman "${S}"/doc/exim.8 + + # conf files + insinto /etc/exim + newins "${S}"/src/configure.default.orig exim.conf.dist + if use exiscan-acl; then + newins "${S}"/src/configure.default exim.conf.exiscan-acl + fi + doins "${FILESDIR}"/system_filter.exim + doins "${FILESDIR}"/auth_conf.sub + if use exiscan; then + newins "${S}"/src/configure.default exim.conf.exiscan + doins "${FILESDIR}"/exiscan.conf + fi + + if use pam + then + # INSTALL a pam.d file for SMTP AUTH that works with gentoo's pam + insinto /etc/pam.d + newins "${FILESDIR}"/pam.d-exim exim + fi + + newinitd "${FILESDIR}"/exim.rc6 exim + + newconfd "${FILESDIR}"/exim.confd exim + + DIROPTIONS="--mode=0750 --owner=mail --group=mail" + dodir /var/log/${PN} +} + +pkg_postinst() { + einfo "/etc/exim/system_filter.exim is a sample system_filter." + einfo "/etc/exim/auth_conf.sub contains the configuration sub for using smtp auth." + einfo "Please create /etc/exim/exim.conf from /etc/exim/exim.conf.dist." + + if ! use mailwrapper && [[ -e /etc/mailer.conf ]] + then + einfo + einfo "Since you emerged $PN without mailwrapper in USE," + einfo "you probably want to 'emerge -C mailwrapper' now." + einfo + fi +} diff --git a/mail-mta/exim/files/auth_conf.sub b/mail-mta/exim/files/auth_conf.sub new file mode 100644 index 00000000..24434a71 --- /dev/null +++ b/mail-mta/exim/files/auth_conf.sub @@ -0,0 +1,25 @@ +###################################################################### +# AUTHENTICATION CONFIGURATION # +###################################################################### +# If you're using PAM to authenticate, lifes real simple. +# This plain directive works for nearly everything except windows MUA's the +# login directive will allow you to authenticate your Outlook 2000 and +# outlook express clients. + + + +plain: + driver = plaintext + public_name = PLAIN + server_condition = "${if pam{$2:$3}{1}{0}}" + server_set_id = $2 + +login: + driver = plaintext + public_name = LOGIN + server_prompts = "Username:: : Password::" + server_condition = "${if pam{$1:${sg{$2}{:}{::}}}{1}{0}}" + server_set_id = $1 +# +# FIXME +# Need to add authenticator for SPA!! diff --git a/mail-mta/exim/files/exim-4.14-tail.patch b/mail-mta/exim/files/exim-4.14-tail.patch new file mode 100644 index 00000000..481dca9b --- /dev/null +++ b/mail-mta/exim/files/exim-4.14-tail.patch @@ -0,0 +1,11 @@ +--- scripts/Configure-config.h.orig 2003-07-17 18:01:19.000000000 -0400 ++++ scripts/Configure-config.h 2003-07-17 18:01:25.000000000 -0400 +@@ -41,7 +41,7 @@ + + # Double-check that config.h is complete. + +-if [ "`tail -1 config.h`" != "/* End of config.h */" ] ; then ++if [ "`tail -n 1 config.h`" != "/* End of config.h */" ] ; then + echo "*** config.h appears to be incomplete" + echo "*** unexpected failure in buildconfig program" + exit 1 diff --git a/mail-mta/exim/files/exim-4.20-maildir.patch b/mail-mta/exim/files/exim-4.20-maildir.patch new file mode 100644 index 00000000..3cb198d5 --- /dev/null +++ b/mail-mta/exim/files/exim-4.20-maildir.patch @@ -0,0 +1,14 @@ +diff -urN ./exim-4.20.orig/src/configure.default exim-4.20/src/configure.default +--- ./exim-4.20.orig/src/configure.default 2003-06-27 16:48:22.000000000 -0700 ++++ exim-4.20/src/configure.default 2003-06-27 16:52:20.000000000 -0700 +@@ -451,7 +451,9 @@ + + local_delivery: + driver = appendfile +- file = /var/mail/$local_part ++# file = /var/mail/$local_part ++ directory = /home/$local_part/.maildir ++ maildir_format + delivery_date_add + envelope_to_add + return_path_add diff --git a/mail-mta/exim/files/exim-4.30-conf.patch b/mail-mta/exim/files/exim-4.30-conf.patch new file mode 100644 index 00000000..5d154b96 --- /dev/null +++ b/mail-mta/exim/files/exim-4.30-conf.patch @@ -0,0 +1,19 @@ +--- src/configure.default.orig 2004-03-29 22:48:24.000000000 +0100 ++++ src/configure.default.orig.patch-01 2004-03-29 22:57:10.000000000 +0100 +@@ -41,6 +41,16 @@ + # MAIN CONFIGURATION SETTINGS # + ###################################################################### + ++# This Sets up the default log location to syslog, specifically to the "mail" ++# Facility. Please note that you may want to change this, as other mail, ++# relatively noisy mail programs also log to the mail facility (eg. courier) ++ ++# Note: ++# If exim cannot log to syslog it will try to log to, /var/log/exim/exim_%s.log ++log_file_path=syslog ++ ++ ++ + # Specify your host's canonical name here. This should normally be the fully + # qualified "official" name of your host. If this option is not set, the + # uname() function is called to obtain the name. In many cases this does diff --git a/mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch b/mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch new file mode 100644 index 00000000..146606a1 --- /dev/null +++ b/mail-mta/exim/files/exim-4.43-r2-localscan_dlopen.patch @@ -0,0 +1,259 @@ +diff -Naur exim-4.32/src/EDITME exim-4.32-dlopen/src/EDITME +--- src/EDITME 2004-04-15 08:27:01.000000000 +0000 ++++ src/EDITME 2004-05-06 16:15:47.000000000 +0000 +@@ -505,6 +505,21 @@ + + + #------------------------------------------------------------------------------ ++# On systems which support dynamic loading of shared libraries, Exim can ++# load a local_scan function specified in its config file instead of having ++# to be recompiled with the desired local_scan function. For a full ++# description of the API to this function, see the Exim specification. ++ ++DLOPEN_LOCAL_SCAN=yes ++ ++# If you set DLOPEN_LOCAL_SCAN, then you need to include -rdynamic in the ++# linker flags. Without it, the loaded .so won't be able to access any ++# functions from exim. ++ ++LFLAGS=-rdynamic -ldl ++ ++ ++#------------------------------------------------------------------------------ + # The default distribution of Exim contains only the plain text form of the + # documentation. Other forms are available separately. If you want to install + # the documentation in "info" format, first fetch the Texinfo documentation +diff -Naur exim-4.32/src/config.h.defaults exim-4.32-dlopen/src/config.h.defaults +--- src/config.h.defaults 2004-04-15 08:27:01.000000000 +0000 ++++ src/config.h.defaults 2004-05-06 16:16:30.000000000 +0000 +@@ -20,6 +20,8 @@ + #define AUTH_PLAINTEXT + #define AUTH_SPA + ++#define DLOPEN_LOCAL_SCAN ++ + #define BIN_DIRECTORY + + #define CONFIGURE_FILE +diff -Naur exim-4.32/src/globals.c exim-4.32-dlopen/src/globals.c +--- src/globals.c 2004-04-15 08:27:01.000000000 +0000 ++++ src/globals.c 2004-05-06 16:17:07.000000000 +0000 +@@ -109,6 +109,10 @@ + uschar *tls_verify_hosts = NULL; + #endif + ++#ifdef DLOPEN_LOCAL_SCAN ++uschar *local_scan_path = NULL; ++#endif ++ + + /* Input-reading functions for messages, so we can use special ones for + incoming TCP/IP. The defaults use stdin. We never need these for any +diff -Naur exim-4.32/src/globals.h exim-4.32-dlopen/src/globals.h +--- src/globals.h 2004-04-15 08:27:01.000000000 +0000 ++++ src/globals.h 2004-05-06 16:17:50.000000000 +0000 +@@ -73,6 +73,9 @@ + extern uschar *tls_verify_hosts; /* Mandatory client verification */ + #endif + ++#ifdef DLOPEN_LOCAL_SCAN ++extern uschar *local_scan_path; /* Path to local_scan() library */ ++#endif + + /* Input-reading functions for messages, so we can use special ones for + incoming TCP/IP. */ +diff -Naur exim-4.32/src/local_scan.c exim-4.32-dlopen/src/local_scan.c +--- src/local_scan.c 2004-04-15 08:27:01.000000000 +0000 ++++ src/local_scan.c 2004-05-06 16:21:57.000000000 +0000 +@@ -5,60 +5,131 @@ + /* Copyright (c) University of Cambridge 1995 - 2004 */ + /* See the file NOTICE for conditions of use and distribution. */ + ++#include "exim.h" + +-/****************************************************************************** +-This file contains a template local_scan() function that just returns ACCEPT. +-If you want to implement your own version, you should copy this file to, say +-Local/local_scan.c, and edit the copy. To use your version instead of the +-default, you must set +- +-LOCAL_SCAN_SOURCE=Local/local_scan.c +- +-in your Local/Makefile. This makes it easy to copy your version for use with +-subsequent Exim releases. +- +-For a full description of the API to this function, see the Exim specification. +-******************************************************************************/ +- +- +-/* This is the only Exim header that you should include. The effect of +-including any other Exim header is not defined, and may change from release to +-release. Use only the documented interface! */ +- +-#include "local_scan.h" +- +- +-/* This is a "do-nothing" version of a local_scan() function. The arguments +-are: +- +- fd The file descriptor of the open -D file, which contains the +- body of the message. The file is open for reading and +- writing, but modifying it is dangerous and not recommended. +- +- return_text A pointer to an unsigned char* variable which you can set in +- order to return a text string. It is initialized to NULL. +- +-The return values of this function are: +- +- LOCAL_SCAN_ACCEPT +- The message is to be accepted. The return_text argument is +- saved in $local_scan_data. +- +- LOCAL_SCAN_REJECT +- The message is to be rejected. The returned text is used +- in the rejection message. +- +- LOCAL_SCAN_TEMPREJECT +- This specifies a temporary rejection. The returned text +- is used in the rejection message. +-*/ ++#ifdef DLOPEN_LOCAL_SCAN ++#include <dlfcn.h> ++static int (*local_scan_fn)(int fd, uschar **return_text) = NULL; ++static int load_local_scan_library(void); ++#endif + + int + local_scan(int fd, uschar **return_text) + { + fd = fd; /* Keep picky compilers happy */ + return_text = return_text; +-return LOCAL_SCAN_ACCEPT; ++#ifdef DLOPEN_LOCAL_SCAN ++/* local_scan_path is defined AND not the empty string */ ++if (local_scan_path && *local_scan_path) ++ { ++ if (!local_scan_fn) ++ { ++ if (!load_local_scan_library()) ++ { ++ char *base_msg , *error_msg , *final_msg ; ++ int final_length = -1 ; ++ ++ base_msg=US"Local configuration error - local_scan() library failure\n"; ++ error_msg = dlerror() ; ++ ++ final_length = strlen(base_msg) + strlen(error_msg) + 1 ; ++ final_msg = (char*)malloc( final_length*sizeof(char) ) ; ++ *final_msg = '\0' ; ++ ++ strcat( final_msg , base_msg ) ; ++ strcat( final_msg , error_msg ) ; ++ ++ *return_text = final_msg ; ++ return LOCAL_SCAN_TEMPREJECT; ++ } ++ } ++ return local_scan_fn(fd, return_text); ++ } ++else ++#endif ++ return LOCAL_SCAN_ACCEPT; ++} ++ ++#ifdef DLOPEN_LOCAL_SCAN ++ ++static int load_local_scan_library(void) ++{ ++/* No point in keeping local_scan_lib since we'll never dlclose() anyway */ ++void *local_scan_lib = NULL; ++int (*local_scan_version_fn)(void); ++int vers_maj; ++int vers_min; ++ ++local_scan_lib = dlopen(local_scan_path, RTLD_NOW); ++if (!local_scan_lib) ++ { ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library open failed - " ++ "message temporarily rejected"); ++ return FALSE; ++ } ++ ++local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_major"); ++if (!local_scan_version_fn) ++ { ++ dlclose(local_scan_lib); ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " ++ "local_scan_version_major() function - message temporarily rejected"); ++ return FALSE; ++ } ++ ++/* The major number is increased when the ABI is changed in a non ++ backward compatible way. */ ++vers_maj = local_scan_version_fn(); ++ ++local_scan_version_fn = dlsym(local_scan_lib, "local_scan_version_minor"); ++if (!local_scan_version_fn) ++ { ++ dlclose(local_scan_lib); ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " ++ "local_scan_version_minor() function - message temporarily rejected"); ++ return FALSE; ++ } ++ ++/* The minor number is increased each time a new feature is added (in a ++ way that doesn't break backward compatibility) -- Marc */ ++vers_min = local_scan_version_fn(); ++ ++ ++if (vers_maj != LOCAL_SCAN_ABI_VERSION_MAJOR) ++ { ++ dlclose(local_scan_lib); ++ local_scan_lib = NULL; ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible major" ++ "version number, you need to recompile your module for this version" ++ "of exim (The module was compiled for version %d.%d and this exim provides" ++ "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR, ++ LOCAL_SCAN_ABI_VERSION_MINOR); ++ return FALSE; ++ } ++else if (vers_min > LOCAL_SCAN_ABI_VERSION_MINOR) ++ { ++ dlclose(local_scan_lib); ++ local_scan_lib = NULL; ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() has an incompatible minor" ++ "version number, you need to recompile your module for this version" ++ "of exim (The module was compiled for version %d.%d and this exim provides" ++ "ABI version %d.%d)", vers_maj, vers_min, LOCAL_SCAN_ABI_VERSION_MAJOR, ++ LOCAL_SCAN_ABI_VERSION_MINOR); ++ return FALSE; ++ } ++ ++local_scan_fn = dlsym(local_scan_lib, "local_scan"); ++if (!local_scan_fn) ++ { ++ dlclose(local_scan_lib); ++ log_write(0, LOG_MAIN|LOG_REJECT, "local_scan() library doesn't contain " ++ "local_scan() function - message temporarily rejected"); ++ return FALSE; ++ } ++ ++return TRUE; + } + ++#endif /* DLOPEN_LOCAL_SCAN */ ++ + /* End of local_scan.c */ +diff -Naur exim-4.32/src/readconf.c exim-4.32-dlopen/src/readconf.c +--- src/readconf.c 2004-04-15 08:27:01.000000000 +0000 ++++ src/readconf.c 2004-05-06 16:23:12.000000000 +0000 +@@ -223,6 +223,9 @@ + { "local_from_prefix", opt_stringptr, &local_from_prefix }, + { "local_from_suffix", opt_stringptr, &local_from_suffix }, + { "local_interfaces", opt_stringptr, &local_interfaces }, ++#ifdef DLOPEN_LOCAL_SCAN ++ { "local_scan_path", opt_stringptr, &local_scan_path }, ++#endif + { "local_scan_timeout", opt_time, &local_scan_timeout }, + { "local_sender_retain", opt_bool, &local_sender_retain }, + { "localhost_number", opt_stringptr, &host_number_string }, diff --git a/mail-mta/exim/files/exim-4.69-r1.27021.patch b/mail-mta/exim/files/exim-4.69-r1.27021.patch new file mode 100644 index 00000000..72b04863 --- /dev/null +++ b/mail-mta/exim/files/exim-4.69-r1.27021.patch @@ -0,0 +1,57 @@ +diff -urN exim-4.69.orig/src/configure.default exim-4.69/src/configure.default +--- exim-4.69.orig/src/configure.default 2008-05-05 10:17:44.000000000 +0100 ++++ exim-4.69/src/configure.default 2008-05-05 10:18:26.000000000 +0100 +@@ -592,6 +592,22 @@ + pipe_transport = address_pipe + reply_transport = address_reply + ++# This router runs procmail if users have a .procmailrc file ++procmail: ++ check_local_user ++ driver = accept ++ transport = procmail_pipe ++ require_files = ${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/procmail ++ no_verify ++ ++# This router runs maildrop if users have a .mailfilter file ++maildrop: ++ check_local_user ++ driver = accept ++ transport = maildrop_pipe ++ require_files = ${local_part}:+${home}:+${home}/.mailfilter:+/usr/bin/maildrop ++ no_verify ++ + + # This router matches local user mailboxes. If the router fails, the error + # message is "Unknown user". +@@ -600,7 +616,7 @@ + # or "+" characters as if the suffixes did not exist, uncomment the two local_ + # part_suffix options. Then, for example, xxxx-foo@your.domain will be treated + # in the same way as xxxx@your.domain by this router. +- ++m + localuser: + driver = accept + check_local_user +@@ -676,6 +692,21 @@ + address_reply: + driver = autoreply + ++# This transport is used for procmail ++procmail_pipe: ++ driver = pipe ++ command = "/usr/bin/procmail -d ${local_part}" ++ return_path_add ++ delivery_date_add ++ envelope_to_add ++ ++# This transport is used for courier-maildrop filtering (Maildir filter system) ++maildrop_pipe: ++ driver = pipe ++ command = "/usr/bin/maildrop -d ${local_part}" ++ return_path_add ++ delivery_date_add ++ envelope_to_add + + + ###################################################################### diff --git a/mail-mta/exim/files/exim-4.69-r1.boolean_redefine_protect.152706.patch b/mail-mta/exim/files/exim-4.69-r1.boolean_redefine_protect.152706.patch new file mode 100644 index 00000000..eba3cb18 --- /dev/null +++ b/mail-mta/exim/files/exim-4.69-r1.boolean_redefine_protect.152706.patch @@ -0,0 +1,21 @@ +diff -urN exim-4.69.orig/src/mytypes.h exim-4.69/src/mytypes.h +--- exim-4.69.orig/src/mytypes.h 2007-01-08 10:50:18.000000000 +0000 ++++ exim-4.69/src/mytypes.h 2008-05-05 10:48:09.000000000 +0100 +@@ -16,9 +16,17 @@ + #define MYTYPES_H + + ++#ifndef FALSE + #define FALSE 0 ++#endif ++ ++#ifndef TRUE + #define TRUE 1 ++#endif ++ ++#ifndef TRUE_UNSET + #define TRUE_UNSET 2 ++#endif + + + /* If gcc is being used to compile Exim, we can use its facility for checking diff --git a/mail-mta/exim/files/exim-BJA-buildconfig-HOSTCC.diff b/mail-mta/exim/files/exim-BJA-buildconfig-HOSTCC.diff new file mode 100644 index 00000000..ee876516 --- /dev/null +++ b/mail-mta/exim/files/exim-BJA-buildconfig-HOSTCC.diff @@ -0,0 +1,13 @@ +--- OS/Makefile-Base.ori 2009-04-17 23:31:07.000000000 +0200 ++++ OS/Makefile-Base 2009-04-17 23:31:41.000000000 +0200 +@@ -114,8 +114,8 @@ + + # Targets for special-purpose configuration header builders + buildconfig: buildconfig.c +- @echo "$(CC) buildconfig.c" +- $(FE)$(CC) $(CFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) ++ @echo "$(HOSTCC) buildconfig.c" ++ $(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) + + + # Target for the exicyclog utility script diff --git a/mail-mta/exim/files/exim.confd b/mail-mta/exim/files/exim.confd new file mode 100644 index 00000000..a3974d33 --- /dev/null +++ b/mail-mta/exim/files/exim.confd @@ -0,0 +1,2 @@ +# Command-line options for running exim +EXIM_OPTS="-bd -q15m" diff --git a/mail-mta/exim/files/exim.logrotate b/mail-mta/exim/files/exim.logrotate new file mode 100644 index 00000000..d33e8dc8 --- /dev/null +++ b/mail-mta/exim/files/exim.logrotate @@ -0,0 +1,14 @@ +/var/log/exim/exim*.log { + daily + missingok + rotate 28 + compress + delaycompress + notifempty + create 640 mail mail + sharedscripts + postrotate + /etc/init.d/exim restart > /dev/null + endscript +} + diff --git a/mail-mta/exim/files/exim.rc6 b/mail-mta/exim/files/exim.rc6 new file mode 100644 index 00000000..13b1d66f --- /dev/null +++ b/mail-mta/exim/files/exim.rc6 @@ -0,0 +1,29 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/files/exim.rc6,v 1.7 2007/05/03 19:57:50 peitolm Exp $ +opts="${opts} reload" + +depend() { + need logger + use antivirus net + provide mta +} + +start() { + ebegin "Starting exim" + start-stop-daemon --start --quiet --exec /usr/sbin/exim --pidfile /var/run/exim.pid -- ${EXIM_OPTS:--bd -q15m} + eend $? +} + +stop() { + ebegin "Stopping exim" + start-stop-daemon --stop --quiet --pidfile /var/run/exim.pid --name exim + eend $? +} + +reload() { + ebegin "Reloading exim" + start-stop-daemon --stop --signal 1 --quiet --pidfile /var/run/exim.pid --name exim + eend $? +} diff --git a/mail-mta/exim/files/mailer.conf b/mail-mta/exim/files/mailer.conf new file mode 100644 index 00000000..7dbf79b3 --- /dev/null +++ b/mail-mta/exim/files/mailer.conf @@ -0,0 +1,10 @@ +# Execute the "real" sendmail program from exim, +# named /usr/sbin/exim +# +sendmail /usr/sbin/exim +mailq /usr/sbin/exim +newaliases /usr/sbin/exim +rmail /usr/sbin/exim +send-mail /usr/sbin/exim +rsmtp /usr/sbin/exim +mail /usr/sbin/exim diff --git a/mail-mta/exim/files/pam.d-exim b/mail-mta/exim/files/pam.d-exim new file mode 100644 index 00000000..9b3a1d21 --- /dev/null +++ b/mail-mta/exim/files/pam.d-exim @@ -0,0 +1,3 @@ +# You may need to remove the "md5" +auth required pam_unix.so shadow md5 +account required pam_unix.so diff --git a/mail-mta/exim/files/system_filter.exim b/mail-mta/exim/files/system_filter.exim new file mode 100644 index 00000000..8817cc00 --- /dev/null +++ b/mail-mta/exim/files/system_filter.exim @@ -0,0 +1,220 @@ +# Exim filter +## Version: 0.13 +# $Id: system_filter.exim,v 1.1 2004/05/30 02:35:58 robbat2 Exp $ + +## If you haven't worked with exim filters before, read +## the install notes at the end of this file. + +# +# Only run any of this stuff on the first pass through the +# filter - this is an optomisation for messages that get +# queued and have several delivery attempts +# +# we express this in reverse so we can just bail out +# on inappropriate messages +# +if not first_delivery +then + finish +endif + +# Check for MS buffer overruns as per latest BUGTRAQ. +# http://www.securityfocus.com/frames/?content=/templates/article.html%3Fid%3D61 +# This could happen in error messages, hence its placing +# here... +# We substract the first n characters of the date header +# and test if its the same as the date header... which +# is a lousy way of checking if the date is longer than +# n chars long +if ${length_80:$header_date:} is not $header_date: +then + fail text "This message has been rejected because it has\n\ + \tan overlength date field which can be used\n\ + \tto subvert Microsoft mail programs\n\ + \tThe following URL has further information\n\ + \thttp://www.securityfocus.com/frames/?content=/templates/article.html%3Fid%3D61" + seen finish +endif + +# This is a nasty compromise. +# This crud is now being sent with a <> envelope sender, but +# blocking all error messages that pattern match prevents +# bounces getting back.... so we fudge it somewhat +if $header_from: contains "@sexyfun.net" +then + fail text "This message has been rejected since it has\n\ + \tthe signature of a known virus in the header." + seen finish +endif +if error_message and $header_from: contains "Mailer-Daemon@" +then + # looks like a real error message - just ignore it + finish +endif + +# Look for single part MIME messages with suspicious name extensions +# Check Content-Type header using quoted filename [content_type_quoted_fn_match] +if $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif)\")" +then + fail text "This message has been rejected because it has\n\ + \tpotentially executable content $1\n\ + \tThis form of attachment has been used by\n\ + \trecent viruses or other malware.\n\ + \tIf you meant to send this file then please\n\ + \tpackage it up as a zip file and resend it." + seen finish +endif +# same again using unquoted filename [content_type_unquoted_fn_match] +if $header_content-type: matches "(?:file)?name=([\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif))" +then + fail text "This message has been rejected because it has\n\ + \tpotentially executable content $1\n\ + \tThis form of attachment has been used by\n\ + \trecent viruses or other malware.\n\ + \tIf you meant to send this file then please\n\ + \tpackage it up as a zip file and resend it." + seen finish +endif + + +# Attempt to catch embedded VBS attachments +# in emails. These were used as the basis for +# the ILOVEYOU virus and its variants +# Quoted filename - [body_quoted_fn_match] +if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif)\")[\\\\s;]" +then + fail text "This message has been rejected because it has\n\ + \ta potentially executable attachment $1\n\ + \tThis form of attachment has been used by\n\ + \trecent viruses or other malware.\n\ + \tIf you meant to send this file then please\n\ + \tpackage it up as a zip file and resend it." + seen finish +endif +# same again using unquoted filename [body_unquoted_fn_match] +if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))([\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif))[\\\\s;]" +then + fail text "This message has been rejected because it has\n\ + \ta potentially executable attachment $1\n\ + \tThis form of attachment has been used by\n\ + \trecent viruses or other malware.\n\ + \tIf you meant to send this file then please\n\ + \tpackage it up as a zip file and resend it." + seen finish +endif + +#### Version history +# +# 0.01 5 May 2000 +# Initial release +# 0.02 8 May 2000 +# Widened list of content-types accepted, added WSF extension +# 0.03 8 May 2000 +# Embedded the install notes in for those that don't do manuals +# 0.04 9 May 2000 +# Check global content-type header. Efficiency mods to REs +# 0.05 9 May 2000 +# More minor efficiency mods, doc changes +# 0.06 20 June 2000 +# Added extension handling - thx to Douglas Gray Stephens & Jeff Carnahan +# 0.07 19 July 2000 +# Latest MS Outhouse bug catching +# 0.08 19 July 2000 +# Changed trigger length to 80 chars, fixed some spelling +# 0.09 29 September 2000 +# More extensions... its getting so we should just allow 2 or 3 through +# 0.10 18 January 2001 +# Removed exclusion for error messages - this is a little nasty +# since it has other side effects, hence we do still exclude +# on unix like error messages +# 0.11 20 March, 2001 +# Added CMD extension, tidied docs slightly, added RCS tag +# ** Missed changing version number at top of file :-( +# 0.12 10 May, 2001 +# Added HTA extension +# 0.13 22 May, 2001 +# Reformatted regexps and code to build them so that they are +# shorter than the limits on pre exim 3.20 filters. This will +# make them significantly less efficient, but I am getting so +# many queries about this that requiring 3.2x appears unsupportable. +# +#### Install Notes +# +# Exim filters run the exim filter language - a very primitive +# scripting language - in place of a user .forward file, or on +# a per system basis (on all messages passing through). +# The filtering capability is documented in the main set of manuals +# a copy of which can be found on the exim web site +# http://www.exim.org/ +# +# To install, copy the filter file (with appropriate permissions) +# to /etc/exim/system_filter.exim and add to your exim config file +# [location is installation depedant - typicaly /etc/exim/config ] +# at the top the line:- +# message_filter = /etc/exim/system_filter.exim +# message_body_visible = 5000 +# +# You may also want to set the message_filter_user & message_filter_group +# options, but they default to the standard exim user and so can +# be left untouched. The other message_filter_* options are only +# needed if you modify this to do other functions such as deliveries. +# The main exim documentation is quite thorough and so I see no need +# to expand it here... +# +# Any message that matches the filter will then be bounced. +# If you wish you can change the error message by editing it +# in the section above - however be careful you don't break it. +# +# After install exim should be restarted - a kill -HUP to the +# daemon will do this. +# +#### LIMITATIONS +# +# This filter tries to parse MIME with a regexp... that doesn't +# work too well. It will also only see the amount of the body +# specified in message_body_visible +# +#### BASIS +# +# The regexp that is used to pickup MIME/uuencoded parts is replicated +# below (in perl format). You need to remember that exim converts +# newlines to spaces in the message_body variable. +# +# (?:Content- # start of content header +# (?:Type: (?>\s*) # rest of c/t header +# [\w-]+/[\w-]+ # content-type (any) +# |Disposition: (?>\s*) # content-disposition hdr +# attachment) # content-disposition +# ;(?>\s*) # ; space or newline +# (?:file)?name= # filename=/name= +# |begin (?>\s+) [0-7]{3,4} (?>\s+)) # begin octal-mode +# (\"[^\"]+\. # quoted filename. +# (?:vb[se] # list of extns +# |ws[fh] +# |jse? +# |exe +# |com +# |cmd +# |shs +# |hta +# |bat +# |scr +# |pif) +# \" # end quote +# |[\w.-]+\. # unquoted filename.ext +# (?:vb[se] # list of extns +# |ws[fh] +# |jse? +# |exe +# |com +# |cmd +# |shs +# |hta +# |bat +# |scr +# |pif) +# ) # end of filename capture +# [\s;] # trailing ;/space/newline +# +# +### [End] diff --git a/media-sound/azrael/Manifest b/media-sound/azrael/Manifest index af35d803..989b37f2 100644 --- a/media-sound/azrael/Manifest +++ b/media-sound/azrael/Manifest @@ -1,4 +1,12 @@ -DIST azrael-0.3.1.tar.bz2 16894 RMD160 f07805f479af7e5612a91cd5da6148e9f7b02b46 SHA1 8725e5a1371cdd96a735a306a366a1b929eca263 SHA256 6eff23a189de71533425b0f3b2da98011c40c2e7b0a1a951073878d60fe3f60a -DIST azrael-0.3.4.tar.bz2 19308 RMD160 6f9cc31552a08c34c1aa2b41832e70456d9d4731 SHA1 17eeef17ebae67f74ed512fe4235671af47dd864 SHA256 5bd296c7b6b23f07d929d13559238d73aae0026493f88cee82942616b74dfc4e -EBUILD azrael-0.3.1.ebuild 795 RMD160 0d0e8a668dba22e48cbc6b35c0df1dde8324b863 SHA1 38c19ecbb9a5d47083a0a5f17d74bb4543f0acbc SHA256 ff972b273f3dedb1ace9e18f81701259c0fd11ca69f04fe9307843cda1388154 -EBUILD azrael-0.3.4.ebuild 795 RMD160 0d0e8a668dba22e48cbc6b35c0df1dde8324b863 SHA1 38c19ecbb9a5d47083a0a5f17d74bb4543f0acbc SHA256 ff972b273f3dedb1ace9e18f81701259c0fd11ca69f04fe9307843cda1388154 +MD5 9ac809c28e838ff149e04ca10f32cc74 azrael-0.3.1.ebuild 795 +RMD160 0d0e8a668dba22e48cbc6b35c0df1dde8324b863 azrael-0.3.1.ebuild 795 +SHA256 ff972b273f3dedb1ace9e18f81701259c0fd11ca69f04fe9307843cda1388154 azrael-0.3.1.ebuild 795 +MD5 9ac809c28e838ff149e04ca10f32cc74 azrael-0.3.4.ebuild 795 +RMD160 0d0e8a668dba22e48cbc6b35c0df1dde8324b863 azrael-0.3.4.ebuild 795 +SHA256 ff972b273f3dedb1ace9e18f81701259c0fd11ca69f04fe9307843cda1388154 azrael-0.3.4.ebuild 795 +MD5 7a9d74f155884a91c9f71bbc8ba675a5 files/digest-azrael-0.3.1 238 +RMD160 ae25ecb0db295192bd9a4bb0820b7e9a514353c0 files/digest-azrael-0.3.1 238 +SHA256 15d1dbcf7372f697cf97917af368afe805ad2f59a00850a1b6d2deb735fd1466 files/digest-azrael-0.3.1 238 +MD5 78cc9c0e2e7d0e47251397d605ab60ad files/digest-azrael-0.3.4 238 +RMD160 34207190b0846d66ba23dd5aa270461f48d0dd3c files/digest-azrael-0.3.4 238 +SHA256 afb916ab8b37905b55f48fc001fbbded32c4531ef150d49f0387b6467d424a63 files/digest-azrael-0.3.4 238 diff --git a/media-sound/euphoria/Manifest b/media-sound/euphoria/Manifest index e22dd058..7834d740 100644 --- a/media-sound/euphoria/Manifest +++ b/media-sound/euphoria/Manifest @@ -1,3 +1,15 @@ AUX Rakefile-usr.patch 360 RMD160 a8008583b6dec6bda9f644709e99004a3802a3b4 SHA1 6c85b8fea7b02cefe26675734b77fef6009f8fd4 SHA256 109d6473fb500c35df522c8ef4f8a4e500e05ff7ff582cc170064b46c8eb68be +MD5 7ac683818590ab1b6659723a472a39e5 files/Rakefile-usr.patch 360 +RMD160 a8008583b6dec6bda9f644709e99004a3802a3b4 files/Rakefile-usr.patch 360 +SHA256 109d6473fb500c35df522c8ef4f8a4e500e05ff7ff582cc170064b46c8eb68be files/Rakefile-usr.patch 360 AUX euphoria-usr.patch 381 RMD160 2f7381553e13b9d3bb93a9e7a082b5010a1d0806 SHA1 085438af29e5548d4589b5a1aacff37090fdfb10 SHA256 8437173be651a938a8834198f5e412f66bb3fbe3a17976f1cbe9481c31696a4b -EBUILD euphoria-9999.ebuild 811 RMD160 6f2938dc4b4a4917febbb4881615140541ca831b SHA1 2510957cafee19e1e9b897da69284db755a293a0 SHA256 6970af7aba4171d338adacce96872ec712adfac2001de07f1d451fd1012e4795 +MD5 8e5fac736fe44bd3b108bfca9ed1bd3f files/euphoria-usr.patch 381 +RMD160 2f7381553e13b9d3bb93a9e7a082b5010a1d0806 files/euphoria-usr.patch 381 +SHA256 8437173be651a938a8834198f5e412f66bb3fbe3a17976f1cbe9481c31696a4b files/euphoria-usr.patch 381 +EBUILD euphoria-9999.ebuild 826 RMD160 c182b38e22f6e097fc46245316c354123700cdf9 SHA1 222dc1ffe4d4bdf1d40603c0fe3fe6a3295d32c9 SHA256 f2b0882529c5f1d3b661d5a4869bf357d861eb2a009c479f9b5c630548444da7 +MD5 4554f6c8ca295519fb715f44083cb31d euphoria-9999.ebuild 826 +RMD160 c182b38e22f6e097fc46245316c354123700cdf9 euphoria-9999.ebuild 826 +SHA256 f2b0882529c5f1d3b661d5a4869bf357d861eb2a009c479f9b5c630548444da7 euphoria-9999.ebuild 826 +MD5 68b329da9893e34099c7d8ad5cb9c940 files/digest-euphoria-9999 1 +RMD160 c0da025038ed83c687ddc430da9846ecb97f3998 files/digest-euphoria-9999 1 +SHA256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b files/digest-euphoria-9999 1 diff --git a/media-sound/euphoria/euphoria-9999.ebuild b/media-sound/euphoria/euphoria-9999.ebuild index d4b95225..b1d16771 100644 --- a/media-sound/euphoria/euphoria-9999.ebuild +++ b/media-sound/euphoria/euphoria-9999.ebuild @@ -13,6 +13,8 @@ LICENSE="LGPL" SLOT="0" IUSE="" +KEYWORDS="-*" + DEPEND="x11-libs/evas x11-libs/ecore media-libs/edje diff --git a/media-tv/enna/Manifest b/media-tv/enna/Manifest index c6d6cb5b..0f298365 100644 --- a/media-tv/enna/Manifest +++ b/media-tv/enna/Manifest @@ -1,3 +1,15 @@ DIST enna-0.0.6-2.tar.gz 3644795 RMD160 012b9ca324179b34a36dd418b7986b9014cbd584 SHA1 3c8bb7988b95c483e9f0b16b5563c4d6daa226ee SHA256 9d5faef23a13cc901fd30e5c86eb3dc9cd69b3a2848f158dd10fa067d8fe3924 EBUILD enna-0.0.6.ebuild 900 RMD160 51d5fac8400fb21b7cbc4b35ff0202a6cf5000cc SHA1 0c0cb2b005f2d1b8a09347588a7355b82d9e8b8e SHA256 6026756ddcee9b2e8e477be386d88cc2462c9f3d2f104f9e8bb577eebdbfacdb -EBUILD enna-9999.ebuild 786 RMD160 b855c3df72c0c49cdb9fe252b675c86121d82c13 SHA1 3d82ff114661fea9ebe683ab4bf3bd8d073fbe42 SHA256 e44141792902834baa0fb7e7ba7aa528464ae269a74be16e5229e767cc8c575c +MD5 d556ba3423cf1a336df46faeacaa6f51 enna-0.0.6.ebuild 900 +RMD160 51d5fac8400fb21b7cbc4b35ff0202a6cf5000cc enna-0.0.6.ebuild 900 +SHA256 6026756ddcee9b2e8e477be386d88cc2462c9f3d2f104f9e8bb577eebdbfacdb enna-0.0.6.ebuild 900 +EBUILD enna-9999.ebuild 800 RMD160 e1e1edcca60e607b1d46fda662bedb686a9b1850 SHA1 a9776fd86d6e49c5a96dad3a16f3ff92cc864a18 SHA256 df88df9c25ba8e53d797f76de57b0628c319de79cc3ffdb6f742bccac00d3a76 +MD5 44618014d062e7fa80dc2408bf432204 enna-9999.ebuild 800 +RMD160 e1e1edcca60e607b1d46fda662bedb686a9b1850 enna-9999.ebuild 800 +SHA256 df88df9c25ba8e53d797f76de57b0628c319de79cc3ffdb6f742bccac00d3a76 enna-9999.ebuild 800 +MD5 71b51213aa5b7507c7a44644f58b8540 files/digest-enna-0.0.6 241 +RMD160 99fb728158cddd7c5b6d33ede790d29afaa79cab files/digest-enna-0.0.6 241 +SHA256 f75e25c7b07f17f57de4f5b988fdef331ff590aba44a67caf71e22fd57ea45bd files/digest-enna-0.0.6 241 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-enna-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-enna-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-enna-9999 0 diff --git a/media-tv/enna/enna-9999.ebuild b/media-tv/enna/enna-9999.ebuild index 776f6d3b..2f51697c 100644 --- a/media-tv/enna/enna-9999.ebuild +++ b/media-tv/enna/enna-9999.ebuild @@ -11,6 +11,7 @@ ESVN_REPO_URI="svn://svn.tuxfamily.org/svnroot/efr/efr/enna" LICENSE="GPL-2" SLOT="0" +KEYWORDS="-*" IUSE="lirc" DEPEND=">=x11-libs/evas-0.9.9 >=media-libs/edje-0.0.5 diff --git a/media-video/enthrall/Manifest b/media-video/enthrall/Manifest index 2436166f..6006ea83 100644 --- a/media-video/enthrall/Manifest +++ b/media-video/enthrall/Manifest @@ -1 +1,7 @@ -EBUILD enthrall-9999.ebuild 544 RMD160 c7a27d4976bacdcdb6e64182110cdbba42024b5c SHA1 9c82f97bad744e1e67849fa9bb79f9a457e9fda3 SHA256 9d5d73a8c8ad8ffd0e728c69a396f6776ae03daeb0b62bff23f4419b97b95efd +EBUILD enthrall-9999.ebuild 559 RMD160 df44b98a9eb98b9a631b78fff6d634e6ffb9267a SHA1 ad103ab9c24332f539759e033991efa0063dfd15 SHA256 51ec0989cb4292d3e542c67729d22ba62df20f4e2a4f17a178146173e61fa44b +MD5 d2763a929a9a21f63041c092d24f9d1c enthrall-9999.ebuild 559 +RMD160 df44b98a9eb98b9a631b78fff6d634e6ffb9267a enthrall-9999.ebuild 559 +SHA256 51ec0989cb4292d3e542c67729d22ba62df20f4e2a4f17a178146173e61fa44b enthrall-9999.ebuild 559 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-enthrall-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-enthrall-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-enthrall-9999 0 diff --git a/media-video/enthrall/enthrall-9999.ebuild b/media-video/enthrall/enthrall-9999.ebuild index 86c8a9d5..41fb8c83 100644 --- a/media-video/enthrall/enthrall-9999.ebuild +++ b/media-video/enthrall/enthrall-9999.ebuild @@ -15,6 +15,8 @@ IUSE="" DEPEND="x11-libs/ecore media-libs/imlib2" +KEYWORDS="-*" + S=${S}/src DESTDIR==${D} diff --git a/net-analyzer/net-snmp/files/net-snmp-maxreps.patch b/net-analyzer/net-snmp/files/net-snmp-maxreps.patch index 7d9627de..7d9627de 100755..100644 --- a/net-analyzer/net-snmp/files/net-snmp-maxreps.patch +++ b/net-analyzer/net-snmp/files/net-snmp-maxreps.patch diff --git a/net-dns/bind-tools/Manifest b/net-dns/bind-tools/Manifest new file mode 100644 index 00000000..91faeaa9 --- /dev/null +++ b/net-dns/bind-tools/Manifest @@ -0,0 +1,6 @@ +AUX bind-tools-BJA-epoll-AC_TRY_RUN-cross-configure.in.diff 503 RMD160 b1289362b7b08e63da17f420613c4eab105edc25 SHA1 606c44160845b9edbb7c711fc8971939863a047a SHA256 d8cfe9d1416a556990dd943cd6c4c367abf7c03f3f562563318479d941775977 +AUX bind-tools-BJA-epoll-AC_TRY_RUN-cross.diff 754 RMD160 f840082e1f20e5e3a3aad44ea6fac657ac06e2d6 SHA1 78eb849fa13e6a4615d14a1418d84e2f19555775 SHA256 12383a8c86dee1cc5f30d47b449ed98dcc00ba91797a9ce1091398f214c4320e +AUX bind-tools-BJA-gen-HOSTCC.diff 411 RMD160 65b8927bc56479fd0b2c489f4f2c0854c045b217 SHA1 3f2dd0a57e014bfcd8f13409ed8c331ec8e6220e SHA256 f2b4559f850e5ccd1f8707e3cb6a93727b6062129de3b6e37c97e5d3afa76db6 +AUX bind-tools-configure.patch 1686 RMD160 4ff8355af81705058fd411910dfae94887bcd884 SHA1 67ae0deff73689cb39cd6e7451262bdda9c25a39 SHA256 dc9386b88eac48c282d63d0be7e7be81d4a0a08035a8b97138a61133e057bcea +DIST bind-9.4.3-P2.tar.gz 6544865 RMD160 89d7c41a8c04833f4427914857f91ffffb0ac5ee SHA1 6ef00b9db269180e4cfa2ea3fe06f7ab9bc7cfa0 SHA256 fb7c9964942ecc07606bb8d4361bf9d9bd8091e059fea1b56e6a0972f99b1ba1 +EBUILD bind-tools-9.4.3_p2.ebuild 2195 RMD160 892d89aa1b777d991ff2dac38c686bb76bad3451 SHA1 80780a6bbc2fc3a442d68f1751b66e00814bf5dc SHA256 8d64f54637aeed51ca5b9ee716814a8ce7adbf16af4ffc26b6a2ad4bf728d3fb diff --git a/net-dns/bind-tools/bind-tools-9.4.3_p2.ebuild b/net-dns/bind-tools/bind-tools-9.4.3_p2.ebuild new file mode 100644 index 00000000..fe71548c --- /dev/null +++ b/net-dns/bind-tools/bind-tools-9.4.3_p2.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/bind-tools/bind-tools-9.4.3_p2.ebuild,v 1.5 2009/04/15 19:49:25 maekke Exp $ + +inherit flag-o-matic + +MY_PN=${PN//-tools} +MY_PV=${PV/_p2/-P2} +MY_P="${MY_PN}-${MY_PV}" +S="${WORKDIR}/${MY_P}" +DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen" +HOMEPAGE="http://www.isc.org/products/BIND/bind9.html" +SRC_URI="ftp://ftp.isc.org/isc/bind9/${MY_PV}/${MY_P}.tar.gz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" +IUSE="idn ipv6" + +DEPEND="idn? ( || ( sys-libs/glibc dev-libs/libiconv ) + net-dns/idnkit )" + +src_unpack() { + unpack ${A} || die + cd "${S}" || die + + use idn && { + # BIND 9.4.0 doesn't have this patch + # epatch ${S}/contrib/idn/idnkit-1.0-src/patch/bind9/bind-${PV}-patch + + cd "${S}"/contrib/idn/idnkit-1.0-src + epatch "${FILESDIR}"/${PN}-configure.patch + cd - + } + + # bug #151839 + sed -e \ + 's:struct isc_socket {:#undef SO_BSDCOMPAT\n\nstruct isc_socket {:' \ + -i lib/isc/unix/socket.c + + epatch "${FILESDIR}"/${PN}-BJA-epoll-AC_TRY_RUN-cross.diff + epatch "${FILESDIR}"/${PN}-BJA-gen-HOSTCC.diff +} + +src_compile() { + local myconf= + use ipv6 && myconf="${myconf} --enable-ipv6" || myconf="${myconf} --enable-ipv6=no" + use idn && myconf="${myconf} --with-idn" + + has_version sys-libs/glibc || myconf="${myconf} --with-iconv" + + econf ${myconf} || die "Configure failed" + + cd "${S}"/lib + emake -j1 || die "make failed in /lib" + + cd "${S}"/bin/dig + emake -j1 || die "make failed in /bin/dig" + + cd "${S}"/lib/lwres/ + emake -j1 || die "make failed in /lib/lwres" + + cd "${S}"/bin/nsupdate/ + emake -j1 || die "make failed in /bin/nsupdate" + + cd "${S}"/bin/dnssec/ + emake -j1 || die "make failed in /bin/dnssec" +} + +src_install() { + dodoc README CHANGES FAQ + + cd "${S}"/bin/dig + dobin dig host nslookup || die + doman dig.1 host.1 nslookup.1 || die + + cd "${S}"/bin/nsupdate + dobin nsupdate || die + doman nsupdate.1 || die + dohtml nsupdate.html || die + + cd "${S}"/bin/dnssec + dobin dnssec-keygen || die + doman dnssec-keygen.8 || die + dohtml dnssec-keygen.html || die +} diff --git a/net-dns/bind-tools/files/bind-tools-BJA-epoll-AC_TRY_RUN-cross-configure.in.diff b/net-dns/bind-tools/files/bind-tools-BJA-epoll-AC_TRY_RUN-cross-configure.in.diff new file mode 100644 index 00000000..d2e5bbe3 --- /dev/null +++ b/net-dns/bind-tools/files/bind-tools-BJA-epoll-AC_TRY_RUN-cross-configure.in.diff @@ -0,0 +1,13 @@ +--- configure.in.ori 2009-04-17 22:32:40.000000000 +0200 ++++ configure.in 2009-04-17 22:33:08.000000000 +0200 +@@ -371,7 +371,9 @@ + [AC_MSG_RESULT(yes) + ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1"], + [AC_MSG_RESULT(no) +- ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL"]) ++ ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL"], ++ [AC_MSG_RESULT(yes) ++ ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1"]) + ;; + *) + ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL" diff --git a/net-dns/bind-tools/files/bind-tools-BJA-epoll-AC_TRY_RUN-cross.diff b/net-dns/bind-tools/files/bind-tools-BJA-epoll-AC_TRY_RUN-cross.diff new file mode 100644 index 00000000..5a4b1b6d --- /dev/null +++ b/net-dns/bind-tools/files/bind-tools-BJA-epoll-AC_TRY_RUN-cross.diff @@ -0,0 +1,17 @@ +--- configure.ori 2009-04-17 19:32:30.000000000 +0200 ++++ configure 2009-04-17 19:35:27.000000000 +0200 +@@ -5415,11 +5415,9 @@ + { echo "$as_me:$LINENO: checking epoll support" >&5 + echo $ECHO_N "checking epoll support... $ECHO_C" >&6; } + if test "$cross_compiling" = yes; then +- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } ++ { echo "$as_me:$LINENO: result: yes" >&5 ++ echo "yes" >&6; } ++ ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1" + else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ diff --git a/net-dns/bind-tools/files/bind-tools-BJA-gen-HOSTCC.diff b/net-dns/bind-tools/files/bind-tools-BJA-gen-HOSTCC.diff new file mode 100644 index 00000000..19386202 --- /dev/null +++ b/net-dns/bind-tools/files/bind-tools-BJA-gen-HOSTCC.diff @@ -0,0 +1,11 @@ +--- lib/dns/Makefile.in.ori 2009-04-17 19:46:39.000000000 +0200 ++++ lib/dns/Makefile.in 2006-01-06 01:01:43.000000000 +0100 +@@ -158,7 +158,7 @@ + ./gen -s ${srcdir} > code.h + + gen: gen.c +- ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ ++ ${HOSTCC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ + ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c ${BUILD_LIBS} + + rbtdb64.@O@: rbtdb.c diff --git a/net-dns/bind-tools/files/bind-tools-configure.patch b/net-dns/bind-tools/files/bind-tools-configure.patch new file mode 100644 index 00000000..3ef76ef9 --- /dev/null +++ b/net-dns/bind-tools/files/bind-tools-configure.patch @@ -0,0 +1,41 @@ +The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in +option parsing, it may break. + +http://bugs.gentoo.org/103483 + +--- configure ++++ configure +@@ -54,6 +54,16 @@ + infodir='${prefix}/info' + mandir='${prefix}/man' + ++# NLS nuisances. ++# Only set these to C if already set. These must not be set unconditionally ++# because not all systems understand e.g. LANG=C (notably SCO). ++# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! ++# Non-C LC_CTYPE values break the ctype check. ++if test "${LANG+set}" = set; then LANG=C; export LANG; fi ++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi ++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi ++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi ++ + # Initialize some other variables. + subdirs= + MFLAGS= MAKEFLAGS= +@@ -452,16 +463,6 @@ + esac + done + +-# NLS nuisances. +-# Only set these to C if already set. These must not be set unconditionally +-# because not all systems understand e.g. LANG=C (notably SCO). +-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +-# Non-C LC_CTYPE values break the ctype check. +-if test "${LANG+set}" = set; then LANG=C; export LANG; fi +-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi +- + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -rf conftest* confdefs.h + # AIX cpp loses on an empty file, so make sure it contains at least a newline. diff --git a/net-im/eim/Manifest b/net-im/eim/Manifest index d80033e8..4429d76f 100644 --- a/net-im/eim/Manifest +++ b/net-im/eim/Manifest @@ -1 +1,6 @@ -EBUILD eim-9999.ebuild 574 RMD160 dcf79b27aa916ce26367c1cb8d329f5cc187d213 SHA1 03c06fd718b0f6dd09565db72b70e8e45215ac94 SHA256 e84ace0129b9e751574a8ceaf4e9fa4a1dae72b38340a890c1a80ed39411c5d9 +MD5 15657e6656b8701fab3abd5488f11b8c eim-9999.ebuild 589 +RMD160 c0dafd9770b4ac417995a64c1d5d0d47e2969369 eim-9999.ebuild 589 +SHA256 612e18e576e22e23c5e29a6ad1a152063f1efb34b39a525d3268fb6d36f5702f eim-9999.ebuild 589 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-eim-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-eim-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-eim-9999 0 diff --git a/net-im/eim/eim-9999.ebuild b/net-im/eim/eim-9999.ebuild index 58c7ce20..cc784b59 100644 --- a/net-im/eim/eim-9999.ebuild +++ b/net-im/eim/eim-9999.ebuild @@ -14,6 +14,8 @@ IUSE="" DEPEND="x11-libs/etk" +KEYWORDS="-*" + src_compile() { ./autogen.sh || die "./autogen.sh failed" diff --git a/net-irc/espik/Manifest b/net-irc/espik/Manifest index a1ed881c..90804cf5 100644 --- a/net-irc/espik/Manifest +++ b/net-irc/espik/Manifest @@ -1 +1,6 @@ -EBUILD espik-9999.ebuild 580 RMD160 7d1d8940b47c09f34256a688c566e80f6c88df4c SHA1 972b90e4e0c6641f21e7e95d53bc8da91b210d55 SHA256 3ee8fa1c0061a6ab5d23a8c2341fd516c3689c21958253d6e0046e82fe28a3b8 +MD5 58f784b4d1ee468c4d0072b3ef7f043b espik-9999.ebuild 595 +RMD160 14c013ebd3a6cecf948c4ece6c35e5d2d9bb7c78 espik-9999.ebuild 595 +SHA256 3a5868dde8bd4b636ef1474823de291061718a784a5b60c9321063efaf550ac0 espik-9999.ebuild 595 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-espik-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-espik-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-espik-9999 0 diff --git a/net-irc/espik/espik-9999.ebuild b/net-irc/espik/espik-9999.ebuild index 1ea14cb7..f74171e2 100644 --- a/net-irc/espik/espik-9999.ebuild +++ b/net-irc/espik/espik-9999.ebuild @@ -14,6 +14,8 @@ IUSE="" DEPEND="x11-libs/ecore" +KEYWORDS="-*" + src_compile() { ./autogen.sh || die "./autogen.sh failed" diff --git a/net-misc/openssh/Manifest b/net-misc/openssh/Manifest index 915f79d8..6d8c1487 100644 --- a/net-misc/openssh/Manifest +++ b/net-misc/openssh/Manifest @@ -7,11 +7,12 @@ AUX openssh-4.7_p1-engines.patch 4202 RMD160 33648508fc66d422eaea17ff5ed756ceb64 AUX openssh-4.7_p1-lpk-64bit.patch 1096 RMD160 566e48f34b44add23e3d46456e54d6d3a453cac1 SHA1 83704313a423be33f9ac62499908b5da95c0d8f4 SHA256 442bb358ebeceaead8fd8a84c7c041f2bf7fb11ab623d74a902febeeb582903d AUX openssh-4.7_p1-packet-size.patch 1130 RMD160 b604b500747f5b53c9ddc3950adfaca9af54cfff SHA1 ba13a01dceb5aadfa646c23b675b74b14123c68f SHA256 8d0c89ae533366d3f7808274eb4a46c969a51011d7c25e167e22a476d6b2f168 AUX openssh-4.7p1-selinux.diff 541 RMD160 bcb8f1fef2ae8378e7000732223c6116e06e0d6f SHA1 395b4dcff3eb7b92582a4364e612fff87278e7bc SHA256 ef8d71c46059bdcc8487cad06914639a8237197561cc030d8eed3baf418cc810 +AUX openssh-5.2_p1-BJA-ldap-stdargs.diff 251 RMD160 b4b7fef4db654feb27d3752b3ba229097e663300 SHA1 a60afd12e1832e38d3ea37ee60779bda6dec5da8 SHA256 321a458d02e87d0928d254409c9452295f853f199f2a238a3e1fe0853199f243 AUX openssh_4.7p1-blacklist.patch 29059 RMD160 0bd01594f8174ebd8e55ffc56cfe9de09137509b SHA1 6057cfa1e4357f7b116149a793824902fa37efa6 SHA256 37d05f2f5957d121d00219f2fb79089d1e4488232e16e0fded9f4403d9b05c2c AUX sshd.confd 396 RMD160 029680b2281961130a815ef599750c4fc4e84987 SHA1 23c283d0967944b6125be26ed4628f49abf586b2 SHA256 29c6d57ac3ec6018cadc6ba6cd9b90c9ed46e20049b970fdcc68ee2481a2ee41 AUX sshd.pam_include 205 RMD160 6b20ea83c69ef613d75daf43515aaec88d4cd815 SHA1 122472d859c24f7c776bb10fbfcb0221146ed056 SHA256 8d59135e96f4eff6b80c143b82cced7beb0bbca19ff91b479f1ba92916243d5e AUX sshd.pam_include.1 205 RMD160 3051b92836a496c7c431f41585de688f7c9f51a7 SHA1 b9eca146fcea016b7146f1ac11cf3d072d887b27 SHA256 3185075821bb1f76cdc584c28f690a7338f8db5489d5fce73fe4bcbbfd3dfbfa -AUX sshd.rc6 2046 RMD160 68df8ff7933b7a232882b2a6140fe1a2637609b6 SHA1 c3f74dbd764d570f69e60f18a081f19e3cefb037 SHA256 6569cb934cb1d5b9016c2828ff8c79b5c8477dd27b7078c609445cfc16692e9e +AUX sshd.rc6 2123 RMD160 e1f655ae93bfed5dfe9ecc49a6adbe860e2f6364 SHA1 2c3117ff61d28d1d9f52ef0d8348c9cfc5b8d55d SHA256 b86a728768a1ce2d47cc5fef01627cb53da6ebb79d827ad4616ae6eb8c0f00f1 DIST openssh-4.4p1+SecurID_v1.3.2.patch 48240 RMD160 45d5734f7e65709cce581f1f85c06f60a73b825b SHA1 10bece428f6f36a0bb59b8fe9b9fb4321b544fa5 SHA256 189ad59139d86e5c808650add131af20ade00439713c3abcfac9a4e53580a196 DIST openssh-4.5p1+x509-5.5.2.diff.gz 137561 RMD160 2e7597bc97d634ecc3d434cc714cc5b1d4076fec SHA1 5f29fbf73a991d778f81f9029fd90ffc4be9b726 SHA256 580b9b2be2a5224852f9979180fa9570059c1aa398b908dc1907d2a5a5e1f4a2 DIST openssh-4.5p1-engines.diff 4190 RMD160 f20464e72d6138df287c694e0dc7c47c3a601b88 SHA1 ba47f2557b08c68464f1ed09cfd2767967e38670 SHA256 48e1dd6e218f9583fb896b19c7632b8b023e511dc9fc697e5834c8e7181592f6 @@ -23,9 +24,15 @@ DIST openssh-4.7p1-gsskex-20070927.patch 66693 RMD160 586cd6d2581552fd8aee3e5410 DIST openssh-4.7p1-hpn12v18.diff.gz 16094 RMD160 7b35eb1a3f6f3b703ac7f155f620bff63a900a0e SHA1 8ab61d12b5bcf70d0ffe9cb1d157136d20ebb22c SHA256 45e6ea24e2722cab9b4e143952bf6539024aa8cc93353b88807c910330bb735b DIST openssh-4.7p1-hpn13v1.diff.gz 23384 RMD160 8975e2af1043cf4f35e73d353faba292f8ff12a6 SHA1 5a1b7c29450084deef116cd718e67142c238d34e SHA256 5c2dfcfe3c8d3713af14dd401f9a34d239bcbfcf2c8261f91c0543f817fe8dbe DIST openssh-4.7p1.tar.gz 991119 RMD160 b828e79d3d1a931cb77651ec7d7276cf3ba22d90 SHA1 58357db9e64ba6382bef3d73d1d386fcdc0508f4 SHA256 d47133f0c6737d2889bf8da7bdf389fc2268d1c7fa3cd11a52451501eab548bc +DIST openssh-5.0p1-gsskex-20080404.patch 68272 RMD160 7adfadf11f0fbc8fb5f71848d6fb8c4231e4ebc4 SHA1 41dfe293b3a3c08163cd43926fefabd321f0c37f SHA256 8f8b9910af767ce8e2a5d4854e95c8eb8b089bb250b290d22add38e9ddb1791e +DIST openssh-5.2p1+x509-6.2.diff.gz 153010 RMD160 a4d7675edc87ee34d4fbc912ca03830936abee5e SHA1 cb5508827185412295b997705711f9f7697ace4e SHA256 72cfb1e232b6ae0a9df6e8539a9f6b53db7c0a2141cf2e4dd65b407748fa9f34 +DIST openssh-5.2p1.tar.gz 1016612 RMD160 7c53f342034b16e9faa9f5a09ef46390420722eb SHA1 8273a0237db98179fbdc412207ff8eb14ff3d6de SHA256 4023710c37d0b3d79e6299cb79b6de2a31db7d581fe59e775a5351784034ecae +DIST openssh-5.2pkcs11-0.26.tar.bz2 18642 RMD160 07093fb2ad47247b2f028fae4fe1b80edf4ddaf8 SHA1 755793398e1b04ee6c15458a69ce4ad68d2abee0 SHA256 9655f118c614f76cfdd3164b5c0e3e430f20a4ce16c65df0dc1b594648cf1c07 DIST openssh-lpk-4.4p1-0.3.7.patch 61187 RMD160 90b0bbe07a3617f6eecb9f77c1a38c5f4dd4dcaf SHA1 b1854a4391c5d11f1a5ab09059643bbaf2278009 SHA256 c74aa642b4b2eeceb0c3f554752d172f8d5a7cd30f2aae517e93ef3bf1bd24e7 DIST openssh-lpk-4.6p1-0.3.9.patch 61605 RMD160 1bf1830192c3eba43c66c3c6469740724cb1ecf2 SHA1 2d0d41f6913d6e899e58a4b569afa30aadf82092 SHA256 e12335e8bf020508ea3866db07b306f4c965e3f9de262c06f62fad494e93107e +DIST openssh-lpk-5.2p1-0.3.11.patch.gz 18116 RMD160 2ff9bdff19e0854a96063be1e0589fa3f85da0d7 SHA1 33b36cf94f68a80fca497da110529ce69d62fbb0 SHA256 450b56a989767aa65a974213e8f7e9d0ee9d08522247db7b787730e53685bebd EBUILD openssh-4.5_p1-r1.ebuild 5573 RMD160 f0f1336dffb2eb92af883b18c850f2f9bb201d0c SHA1 2cd9ca7bbd9b25a7f97645e9f453b324e5494c9a SHA256 7c95b14eb03eb2f4d150ce43744a384a10bbed67d10b66db914d354aace86201 EBUILD openssh-4.7_p1-r1.ebuild 5050 RMD160 903d72bae274e223771cbbec71ad95d8a485cf22 SHA1 a89a06c1d11e7a36f6eb7f9a5c7e833de997c2b0 SHA256 c872ee9c8d6ee86ce8f6c636bf44fe34e6fe910de4a9fe673855248ee353f0a7 EBUILD openssh-4.7_p1-r2.ebuild 5051 RMD160 6eb00af7bd7bbc5ef2fdd2c9061acd350b2c5682 SHA1 be630dd4cfe9a865a7fbd1d54908744df11ad46e SHA256 5c2edf5778a89f89324254e033c8d8c9ba28f8335e815fbb3146cba2e5396275 EBUILD openssh-4.7_p1-r6.ebuild 5404 RMD160 dc538642c60297f60babd80f3df0ce83b7072903 SHA1 4fed7023be0ea1669a0f31382dfe023423079fc7 SHA256 bdec8cc4705ab3b2f6573898cc428d4d12233821396a73fa393af14e20df77d8 +EBUILD openssh-5.2_p1-r1.ebuild 7024 RMD160 59a191d64bed42fd43af2aab54680bf87dd5db3f SHA1 e46bcd44b689971c599b7a5a8310aeb7edf53151 SHA256 ca385089dd54edcf68687efbd5ce535af6be7bb395e684be06ee55dac152d841 diff --git a/net-misc/openssh/files/openssh-5.2_p1-BJA-ldap-stdargs.diff b/net-misc/openssh/files/openssh-5.2_p1-BJA-ldap-stdargs.diff new file mode 100644 index 00000000..edac277a --- /dev/null +++ b/net-misc/openssh/files/openssh-5.2_p1-BJA-ldap-stdargs.diff @@ -0,0 +1,10 @@ +--- ldapauth.c.ori 2009-04-18 18:06:38.000000000 +0200 ++++ ldapauth.c 2009-04-18 18:06:11.000000000 +0200 +@@ -31,6 +31,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <string.h> ++#include <stdarg.h> + + #include "ldapauth.h" + #include "log.h" diff --git a/net-misc/openssh/files/sshd.rc6 b/net-misc/openssh/files/sshd.rc6 index 258c3a3f..aeaf09c9 100644 --- a/net-misc/openssh/files/sshd.rc6 +++ b/net-misc/openssh/files/sshd.rc6 @@ -1,9 +1,9 @@ #!/sbin/runscript # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6,v 1.22 2007/02/23 10:51:48 uberlord Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6,v 1.24 2009/04/12 20:12:49 robbat2 Exp $ -opts="reload" +opts="${opts} reload" depend() { use logger dns @@ -62,6 +62,10 @@ start() { } stop() { + if [ "${RC_CMD}" = "restart" ] ; then + checkconfig || return 1 + fi + ebegin "Stopping ${SVCNAME}" start-stop-daemon --stop --exec "${SSHD_BINARY}" \ --pidfile "${SSHD_PIDFILE}" --quiet diff --git a/net-misc/openssh/openssh-5.2_p1-r1.ebuild b/net-misc/openssh/openssh-5.2_p1-r1.ebuild new file mode 100644 index 00000000..deb4dde3 --- /dev/null +++ b/net-misc/openssh/openssh-5.2_p1-r1.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/openssh-5.2_p1-r1.ebuild,v 1.10 2009/04/12 22:39:03 vapier Exp $ + +inherit eutils flag-o-matic multilib autotools pam + +# Make it more portable between straight releases +# and _p? releases. +PARCH=${P/_/} + +#HPN_PATCH="${PARCH/2/1}-hpn13v5.diff.gz" +LDAP_PATCH="${PARCH/openssh/openssh-lpk}-0.3.11.patch.gz" +PKCS11_PATCH="${PARCH/p1}pkcs11-0.26.tar.bz2" +X509_VER="6.2" X509_PATCH="${PARCH}+x509-${X509_VER}.diff.gz" + +DESCRIPTION="Port of OpenBSD's free SSH release" +HOMEPAGE="http://www.openssh.org/" +SRC_URI="mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz + http://www.sxw.org.uk/computing/patches/openssh-5.0p1-gsskex-20080404.patch + ${HPN_PATCH:+hpn? ( http://www.psc.edu/networking/projects/hpn-ssh/${HPN_PATCH} )} + ${LDAP_PATCH:+ldap? ( mirror://gentoo/${LDAP_PATCH} )} + ${PKCS11_PATCH:+pkcs11? ( http://alon.barlev.googlepages.com/${PKCS11_PATCH} )} + ${X509_PATCH:+X509? ( http://roumenpetrov.info/openssh/x509-${X509_VER}/${X509_PATCH} )}" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd" +IUSE="hpn kerberos ldap libedit pam pkcs11 selinux skey smartcard static tcpd X X509" + +RDEPEND="pam? ( virtual/pam ) + kerberos? ( virtual/krb5 ) + selinux? ( >=sys-libs/libselinux-1.28 ) + skey? ( >=sys-auth/skey-1.1.5-r1 ) + ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) + >=dev-libs/openssl-0.9.6d + >=sys-libs/zlib-1.2.3 + smartcard? ( dev-libs/opensc ) + pkcs11? ( dev-libs/pkcs11-helper ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + X? ( x11-apps/xauth ) + userland_GNU? ( sys-apps/shadow )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + virtual/os-headers + sys-devel/autoconf" +RDEPEND="${RDEPEND} + pam? ( >=sys-auth/pambase-20081028 )" +PROVIDE="virtual/ssh" + +S=${WORKDIR}/${PARCH} + +pkg_setup() { + # this sucks, but i'd rather have people unable to `emerge -u openssh` + # than not be able to log in to their server any more + maybe_fail() { [[ -z ${!2} ]] && use ${1} && echo ${1} ; } + local fail=" + $(maybe_fail ldap LDAP_PATCH) + $(maybe_fail pkcs11 PKCS11_PATCH) + $(maybe_fail X509 X509_PATCH) + " + fail=$(echo ${fail}) + if [[ -n ${fail} ]] ; then + eerror "Sorry, but this version does not yet support features" + eerror "that you requested: ${fail}" + eerror "Please mask ${PF} for now and check back later:" + eerror " # echo '=${CATEGORY}/${PF}' >> /etc/portage/package.mask" + die "booooo" + fi +} + +src_unpack() { + unpack ${PARCH}.tar.gz + cd "${S}" + + sed -i \ + -e '/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:/usr/bin/xauth:' \ + pathnames.h || die + + if use pkcs11 ; then + cd "${WORKDIR}" + unpack "${PKCS11_PATCH}" + cd "${S}" + EPATCH_OPTS="-p1" epatch "${WORKDIR}"/*pkcs11*/{1,2,4}* + use X509 && EPATCH_OPTS="-R" epatch "${WORKDIR}"/*pkcs11*/1000_all_log.patch + fi + use X509 && epatch "${DISTDIR}"/${X509_PATCH} + use smartcard && epatch "${FILESDIR}"/openssh-3.9_p1-opensc.patch + if ! use X509 ; then + if [[ -n ${LDAP_PATCH} ]] && use ldap ; then + # The patch for bug 210110 64-bit stuff is now included. + epatch "${DISTDIR}"/${LDAP_PATCH} + # Not needed anymore of 0.3.11. Merged into the main patch. + #epatch "${FILESDIR}"/${PN}-5.1_p1-ldap-hpn-glue.patch + fi + #epatch "${DISTDIR}"/openssh-5.0p1-gsskex-20080404.patch #115553 #216932 + else + use ldap && ewarn "Sorry, X509 and ldap don't get along, disabling ldap" + fi + epatch "${FILESDIR}"/${PN}-4.7_p1-GSSAPI-dns.patch #165444 integrated into gsskex + [[ -n ${HPN_PATCH} ]] && use hpn && epatch "${DISTDIR}"/${HPN_PATCH} + epatch "${FILESDIR}"/${PN}-4.7p1-selinux.diff #191665 + use ldap && epatch "${FILESDIR}"/${P}-BJA-ldap-stdargs.diff + + sed -i "s:-lcrypto:$(pkg-config --libs openssl):" configure{,.ac} || die + + # Disable PATH reset, trust what portage gives us. bug 254615 + sed -i -e 's:^PATH=/:#PATH=/:' configure || die + + eautoreconf +} + +src_compile() { + addwrite /dev/ptmx + addpredict /etc/skey/skeykeys #skey configure code triggers this + + local myconf="" + if use static ; then + append-ldflags -static + use pam && ewarn "Disabling pam support becuse of static flag" + myconf="${myconf} --without-pam" + else + myconf="${myconf} $(use_with pam)" + fi + + econf \ + --with-ldflags="${LDFLAGS}" \ + --disable-strip \ + --sysconfdir=/etc/ssh \ + --libexecdir=/usr/$(get_libdir)/misc \ + --datadir=/usr/share/openssh \ + --with-privsep-path=/var/empty \ + --with-privsep-user=sshd \ + --with-md5-passwords \ + --with-ssl-engine \ + $(use_with kerberos kerberos5 /usr) \ + ${LDAP_PATCH:+$(use ldap && use_with ldap)} \ + $(use_with libedit) \ + ${PKCS11_PATCH:+$(use pkcs11 && use_with pkcs11)} \ + $(use_with selinux) \ + $(use_with skey) \ + $(use_with smartcard opensc) \ + $(use_with tcpd tcp-wrappers) \ + ${myconf} \ + || die "bad configure" + emake || die "compile problem" +} + +src_install() { + emake install-nokeys DESTDIR="${D}" || die + fperms 600 /etc/ssh/sshd_config + dobin contrib/ssh-copy-id + newinitd "${FILESDIR}"/sshd.rc6 sshd + newconfd "${FILESDIR}"/sshd.confd sshd + keepdir /var/empty + + newpamd "${FILESDIR}"/sshd.pam_include.2 sshd + if use pam ; then + sed -i \ + -e "/^#UsePAM /s:.*:UsePAM yes:" \ + -e "/^#PasswordAuthentication /s:.*:PasswordAuthentication no:" \ + -e "/^#PrintMotd /s:.*:PrintMotd no:" \ + -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \ + "${D}"/etc/ssh/sshd_config || die "sed of configuration file failed" + fi + + doman contrib/ssh-copy-id.1 + dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config + + diropts -m 0700 + dodir /etc/skel/.ssh +} + +src_test() { + local t tests skipped failed passed shell + tests="interop-tests compat-tests" + skipped="" + shell=$(getent passwd ${UID} | cut -d: -f7) + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + elog "Running the full OpenSSH testsuite" + elog "requires a usable shell for the 'portage'" + elog "user, so we will run a subset only." + skipped="${skipped} tests" + else + tests="${tests} tests" + fi + for t in ${tests} ; do + # Some tests read from stdin ... + emake -k -j1 ${t} </dev/null \ + && passed="${passed}${t} " \ + || failed="${failed}${t} " + done + einfo "Passed tests: ${passed}" + ewarn "Skipped tests: ${skipped}" + if [[ -n ${failed} ]] ; then + ewarn "Failed tests: ${failed}" + die "Some tests failed: ${failed}" + else + einfo "Failed tests: ${failed}" + return 0 + fi +} + +pkg_postinst() { + enewgroup sshd 22 + enewuser sshd 22 -1 /var/empty sshd + + # help fix broken perms caused by older ebuilds. + # can probably cut this after the next stage release. + chmod u+x "${ROOT}"/etc/skel/.ssh >& /dev/null + + ewarn "Remember to merge your config files in /etc/ssh/ and then" + ewarn "restart sshd: '/etc/init.d/sshd restart'." + if use pam ; then + echo + ewarn "Please be aware users need a valid shell in /etc/passwd" + ewarn "in order to be allowed to login." + fi + if use pkcs11 ; then + echo + einfo "For PKCS#11 you should also emerge one of the askpass softwares" + einfo "Example: net-misc/x11-ssh-askpass" + fi +} diff --git a/net-misc/trickle/Manifest b/net-misc/trickle/Manifest index 9fa678ab..ea4addb3 100644 --- a/net-misc/trickle/Manifest +++ b/net-misc/trickle/Manifest @@ -1,4 +1,16 @@ DIST trickle-1.06.tar.gz 166044 RMD160 7154ca3a607699021aed7f656ea757483e00b8b8 SHA1 bba2305606a94c2d0ce7a9b9f12ea06a6f5f223f SHA256 9ef83d243d7e91cd5333ef7a497d8fce5aa127d2600ec0b299302f31c37b8609 DIST trickle-1.07.tar.gz 308863 RMD160 0c3836aa3cfb2b3e2bfd3abe8aba05d095e56efd SHA1 fb524ef3ef1944ad5863312dfc235cbf802efa30 SHA256 9d36507e0b7afdfb87533244f7d75daa1c17f2768982674f4c9add5ae6c03868 -EBUILD trickle-1.0.7-r4.ebuild 786 RMD160 89d92574ec1e693a771721a22e951d7dc0dd9e43 SHA1 bd367b6fd43ee00671b86f61e74c3ce3fec1994e SHA256 eaec6907c93f9479749caee0d7e3bf8b675cbdc57b3b3aae36a7865d78845928 +EBUILD trickle-1.0.7-r4.ebuild 800 RMD160 938dd2fc886ee58a7316b95ce526a352c4bc1607 SHA1 ffb5c5c6007d421b2f36879b253c16f5a7ca6b53 SHA256 6b52ec250fe0cce08f180fb3dd10079d024d306f13750cc87c655da4067969b3 +MD5 ca072fac13da31253bc3ec8620cef080 trickle-1.0.7-r4.ebuild 800 +RMD160 938dd2fc886ee58a7316b95ce526a352c4bc1607 trickle-1.0.7-r4.ebuild 800 +SHA256 6b52ec250fe0cce08f180fb3dd10079d024d306f13750cc87c655da4067969b3 trickle-1.0.7-r4.ebuild 800 EBUILD trickle-1.06.ebuild 677 RMD160 2a8f69c0c16c42a6664373f43cd2884123c6ad3e SHA1 1c68a10d504c064e12513ea4f85c5176d90030ca SHA256 888d60c11a5873094e72fab0adf9720546d2636aff8986439c143fbaa4781d5a +MD5 e1c51f8db80a6c86c95d1ef857ff1c20 trickle-1.06.ebuild 677 +RMD160 2a8f69c0c16c42a6664373f43cd2884123c6ad3e trickle-1.06.ebuild 677 +SHA256 888d60c11a5873094e72fab0adf9720546d2636aff8986439c143fbaa4781d5a trickle-1.06.ebuild 677 +MD5 33ee965b62366467c72f77adc4c48a24 files/digest-trickle-1.0.7-r4 238 +RMD160 46f07ba7393adb3198a6604bd5550a7a5e7e0ee5 files/digest-trickle-1.0.7-r4 238 +SHA256 9811b28dcce9da1cda08f3800cdffc4a11e1812d0d9050813468b3d03c8f1ccf files/digest-trickle-1.0.7-r4 238 +MD5 161035c9ee1cb297d9b5b04baff57946 files/digest-trickle-1.06 238 +RMD160 59028e3136d0c3daa376d9428aa0e5f46f493cda files/digest-trickle-1.06 238 +SHA256 69703e71819c72ff43849c4b21063c494e96b74209b698e28e7606dea9f18510 files/digest-trickle-1.06 238 diff --git a/net-misc/trickle/trickle-1.0.7-r4.ebuild b/net-misc/trickle/trickle-1.0.7-r4.ebuild index a297b5a9..b866856e 100644 --- a/net-misc/trickle/trickle-1.0.7-r4.ebuild +++ b/net-misc/trickle/trickle-1.0.7-r4.ebuild @@ -8,6 +8,7 @@ DESCRIPTION="a portable lightweight userspace bandwidth shaper" SRC_URI="http://monkey.org/~marius/trickle/trickle-1.07.tar.gz" HOMEPAGE="http://www.monkey.org/~marius/trickle/" +KEYWORDS="-*" SLOT="0" LICENSE="BSD" IUSE="" diff --git a/net-news/eke/Manifest b/net-news/eke/Manifest index 39680681..865e4eb6 100644 --- a/net-news/eke/Manifest +++ b/net-news/eke/Manifest @@ -1,4 +1,15 @@ -AUX string.diff 227 RMD160 07f7733ed620720f3365a3a20772115f0f7d3880 SHA1 c0149bb129f7315465d2905df4aaf2cafcaa1ded SHA256 0094c2dda88183aed95c08e647e0695dec5e3d5304cffd59673c0af848660fb9 -EBUILD eke-9999.ebuild 483 RMD160 586bfe8b30f1ccd75eaada7377ac3ad5fe1f3aeb SHA1 1867a37a291b312a930cb4e193949dd5bd2a5162 SHA256 caf795f71c25c665ccdc08220d67493a15df912082b01b2a0a92e073f87a7539 -MISC ChangeLog 229 RMD160 559a8adc5b14b1716c37210becd266dcf1ee7acc SHA1 9c19de49bf6f1f91ccad29fa5bbd5c10c820c5b3 SHA256 a4ee316626fd68ba6cf53ae81220e29882e34d1c2e9a3496bf8a231cd4d91df2 -MISC metadata.xml 252 RMD160 66569178d9b214a79724f083364c5ab054b60826 SHA1 94d5026f8f3c056f9ce24e5021d2e7d4ead0a397 SHA256 0376911a5d616eec83d32741429082e1a265593d236d52d8191e60419a41cd40 +MD5 322585d65a0d0bb9fd38579b45eb01dd ChangeLog 229 +RMD160 559a8adc5b14b1716c37210becd266dcf1ee7acc ChangeLog 229 +SHA256 a4ee316626fd68ba6cf53ae81220e29882e34d1c2e9a3496bf8a231cd4d91df2 ChangeLog 229 +MD5 c9ecb48898ae79747d19ef2fe87355d1 eke-9999.ebuild 483 +RMD160 586bfe8b30f1ccd75eaada7377ac3ad5fe1f3aeb eke-9999.ebuild 483 +SHA256 caf795f71c25c665ccdc08220d67493a15df912082b01b2a0a92e073f87a7539 eke-9999.ebuild 483 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-eke-9999 0 +RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-eke-9999 0 +SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-eke-9999 0 +MD5 413749cb58c05e2d8257c2f6a39fdb4b files/string.diff 227 +RMD160 07f7733ed620720f3365a3a20772115f0f7d3880 files/string.diff 227 +SHA256 0094c2dda88183aed95c08e647e0695dec5e3d5304cffd59673c0af848660fb9 files/string.diff 227 +MD5 a26b2af52a90ba476496df1f2b945e02 metadata.xml 252 +RMD160 66569178d9b214a79724f083364c5ab054b60826 metadata.xml 252 +SHA256 0376911a5d616eec83d32741429082e1a265593d236d52d8191e60419a41cd40 metadata.xml 252 diff --git a/net-proxy/squid/Manifest b/net-proxy/squid/Manifest index 920fe09a..4d2e9348 100644 --- a/net-proxy/squid/Manifest +++ b/net-proxy/squid/Manifest @@ -1,3 +1,10 @@ AUX squid-2.7.3-gentoo.patch 12128 RMD160 5cf6e9b709863c324128b49a9660e76fb22f94f6 SHA1 4778c6f8efa8e043300b59c29286b81bf020818d SHA256 a6f20ea317a7e4b4968aabeddcff0937e0372b2ed45a094284ec56b0563f7874 +AUX squid-3.0.13-BJA-cf_gen-HOSTCXX.diff 992 RMD160 b0f9211b7bfc77b62c776a8639958e842f593abc SHA1 60da0353532f00489b156932f68911eea30ea71a SHA256 55b1cc5b31e93032ef751e9ae82a9c0e7877bc7c0502559634a10133e8808843 +AUX squid-3.0.13-BJA-util-cast-xstr.diff 787 RMD160 608c8fe69d2e4fb520ecbd5691b593636e8e31bb SHA1 c36f800c522f4f98d1c6775a2a85c9abb2d798c2 SHA256 00e747d312561a3f5955ceba3ccfb71d13550cf5ee300e1102774869318ee661 +AUX squid-3.0.13-adapted-zph.patch 6838 RMD160 5a8728e93498ce03fdcbc1926c63271d562b9671 SHA1 1f6453eb8d00e3ac84b4000aeb14cdf3da54f9d4 SHA256 13f4c3cd42ce662cf0e13fb4ca27b0e50562d22af69aabc373a1ff299c694a29 +AUX squid-3.0.13-gentoo.patch 13095 RMD160 5184e54faef48bf5ed8c93d92761e39be8885739 SHA1 f671c6aa4a051b9f454afc08769bafedc3c92f2e SHA256 2209444bdd0149404a77478f8d445cc7a0b4e012a25557dbf8a2e3659b0883d9 +AUX squid-3.0.13-heimdal.patch 780 RMD160 4cf5b9494a0537bdd0f886b46e7f0685d0e428be SHA1 71b99ceed606c3e41db9f0f78a8d993d8e35a407 SHA256 a51da87baf57bf251c0c401a29b296a89ffa391f5da6e821bbe15a309dd76537 DIST squid-2.7.STABLE3.tar.gz 1782040 RMD160 80410ce27f3abd0601e10ab5d69099d9f3caaf28 SHA1 0c99054d5fd6537da467acbf299ffe5f1a542ae3 SHA256 d987578c6ca26ca8c8d6fad920580cc39b6ebe95c8ff727b1b6d3c5625fe428d +DIST squid-3.0.STABLE13.tar.gz 2454967 RMD160 8da76671013bf4100cbc4c2976e228f81323344e SHA1 6f0f1079a027c64a9f95b7b6c9bdd943af28a42e SHA256 8764fe16c8873bcc5c0c7e5f97b22e70dec186d1182ca4803ec94761bac750e1 EBUILD squid-2.7.3.ebuild 5802 RMD160 8747f84d1cbe8d9a8b406b7006c498310479a3c5 SHA1 169f0233823fd63efe12830cb931994e6c305006 SHA256 71e2a0b10dc566b649fc3eb619ee515fefa4d4e0347340dea4fc01284eadcd86 +EBUILD squid-3.0.13.ebuild 6563 RMD160 b7e733a007809a59000c1b3fa0c82a6fe9322945 SHA1 6f92a04f690ce5d0d1c1b5c677ef63911b53b46f SHA256 f1bf14d030360bc6851641e8124b0145ea8dfe7a5e52984c5ddb683377f5a678 diff --git a/net-proxy/squid/files/squid-3.0.13-BJA-cf_gen-HOSTCXX.diff b/net-proxy/squid/files/squid-3.0.13-BJA-cf_gen-HOSTCXX.diff new file mode 100644 index 00000000..7dcbc0cc --- /dev/null +++ b/net-proxy/squid/files/squid-3.0.13-BJA-cf_gen-HOSTCXX.diff @@ -0,0 +1,36 @@ +--- configure.in.ori 2009-04-22 00:43:57.000000000 +0200 ++++ configure.in 2009-04-22 22:28:14.000000000 +0200 +@@ -1821,6 +1821,10 @@ + ;; + esac + ++dnl Define HOSTCXX ++HOSTCXX="$build-g++" ++AC_SUBST(HOSTCXX) ++ + dnl Check for programs + AC_PROG_CPP + AC_PROG_INSTALL +--- src/Makefile.am.ori 2009-04-22 00:46:20.000000000 +0200 ++++ src/Makefile.am 2009-04-22 22:29:06.000000000 +0200 +@@ -1007,6 +1007,8 @@ + + DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" + ++HOSTCXX ?= @HOSTCXX@ ++ + $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h + + snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h +@@ -1030,6 +1032,11 @@ + squid.conf.default: cf_parser.h + true + ++cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES) ++ $(HOSTCXX) -o $@ $(srcdir)/cf_gen.cc \ ++ $(top_srcdir)/lib/util.c $(top_srcdir)/lib/assert.c \ ++ -DNDEBUG -DBUILD_HOST_TOOL ${INCLUDES} ++ + cf_parser.h: cf.data cf_gen$(EXEEXT) + ./cf_gen cf.data $(srcdir)/cf.data.depend + diff --git a/net-proxy/squid/files/squid-3.0.13-BJA-util-cast-xstr.diff b/net-proxy/squid/files/squid-3.0.13-BJA-util-cast-xstr.diff new file mode 100644 index 00000000..7e63dc0b --- /dev/null +++ b/net-proxy/squid/files/squid-3.0.13-BJA-util-cast-xstr.diff @@ -0,0 +1,38 @@ +--- lib/util.c.ori 2009-04-17 01:06:16.000000000 +0200 ++++ lib/util.c 2009-04-17 01:07:20.000000000 +0200 +@@ -755,7 +755,7 @@ + + PROF_stop(xstrdup); + +- return p; ++ return (char *)p; + } + + /* +@@ -765,7 +765,7 @@ + xstrndup(const char *s, size_t n) + { + size_t sz; +- void *p; ++ char *p; + PROF_start(xstrndup); + assert(s != NULL); + assert(n); +@@ -774,7 +774,7 @@ + if (sz > n) + sz = n; + +- p = xstrncpy(xmalloc(sz), s, sz); ++ p = xstrncpy((char *)xmalloc(sz), s, sz); + + PROF_stop(xstrndup); + +@@ -923,7 +923,7 @@ + xint64toa(int64_t num) + { + static char buf[24]; /* 2^64 = 18446744073709551616 */ +- snprintf(buf, sizeof(buf), "%" PRId64, num); ++ snprintf(buf, sizeof(buf), "%" PRId64, (long long int)num); + return buf; + } + diff --git a/net-proxy/squid/files/squid-3.0.13-adapted-zph.patch b/net-proxy/squid/files/squid-3.0.13-adapted-zph.patch new file mode 100644 index 00000000..4f039597 --- /dev/null +++ b/net-proxy/squid/files/squid-3.0.13-adapted-zph.patch @@ -0,0 +1,202 @@ +diff -Nru squid-3.0.STABLE13.orig/src/cf.data.pre squid-3.0.STABLE13/src/cf.data.pre +--- squid-3.0.STABLE13.orig/src/cf.data.pre 2009-02-16 23:20:51.000000000 +0000 ++++ squid-3.0.STABLE13/src/cf.data.pre 2009-02-16 23:21:13.000000000 +0000 +@@ -1133,6 +1133,60 @@ + making the request. + DOC_END + ++NAME: zph_tos_local ++TYPE: int ++DEFAULT: 0 ++LOC: Config.zph_tos_local ++DOC_START ++ Allows you to select a TOS/Diffserv value to mark local hits. Read above ++ (tcp_outgoing_tos) for details/requirements about TOS. ++ Default: 0 (disabled). ++DOC_END ++ ++NAME: zph_tos_peer ++TYPE: int ++DEFAULT: 0 ++LOC: Config.zph_tos_peer ++DOC_START ++ Allows you to select a TOS/Diffserv value to mark peer hits. Read above ++ (tcp_outgoing_tos) for details/requirements about TOS. ++ Default: 0 (disabled). ++DOC_END ++ ++NAME: zph_tos_parent ++COMMENT: on|off ++TYPE: onoff ++LOC: Config.onoff.zph_tos_parent ++DEFAULT: on ++DOC_START ++ Set this to off if you want only sibling hits to be marked. ++ If set to on (default), parent hits are being marked too. ++DOC_END ++ ++NAME: zph_preserve_miss_tos ++COMMENT: on|off ++TYPE: onoff ++LOC: Config.onoff.zph_preserve_miss_tos ++DEFAULT: on ++DOC_START ++ If set to on (default), any HTTP response towards clients will ++ have the TOS value of the response comming from the remote ++ server masked with the value of zph_preserve_miss_tos_mask. ++ For this to work correctly, you will need to patch your linux ++ kernel with the TOS preserving ZPH patch. ++DOC_END ++ ++NAME: zph_preserve_miss_tos_mask ++TYPE: int ++DEFAULT: 255 ++LOC: Config.zph_preserve_miss_tos_mask ++DOC_START ++ Allows you to mask certain bits in the TOS received from the ++ remote server, before copying the value to the TOS send towards ++ clients. ++ Default: 255 (TOS from server is not changed). ++DOC_END ++ + NAME: tcp_outgoing_address + TYPE: acl_address + DEFAULT: none +diff -Nru squid-3.0.STABLE13.orig/src/client_side_reply.cc squid-3.0.STABLE13/src/client_side_reply.cc +--- squid-3.0.STABLE13.orig/src/client_side_reply.cc 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/client_side_reply.cc 2009-02-16 23:21:13.000000000 +0000 +@@ -48,6 +48,7 @@ + #include "ESI.h" + #endif + #include "MemObject.h" ++#include "fde.h" + #include "ACLChecklist.h" + #include "ACL.h" + #if DELAY_POOLS +@@ -1548,6 +1549,11 @@ + /* guarantee nothing has been sent yet! */ + assert(http->out.size == 0); + assert(http->out.offset == 0); ++ if (Config.zph_tos_local) ++ { ++ debugs(33, 1, "ZPH hit hier.code=" << http->request->hier.code <<" TOS="<<Config.zph_tos_local); ++ comm_set_tos(http->getConn()->fd,Config.zph_tos_local); ++ } + tempBuffer.offset = reqofs; + tempBuffer.length = getNextNode()->readBuffer.length; + tempBuffer.data = getNextNode()->readBuffer.data; +@@ -1827,6 +1833,24 @@ + char *buf = next()->readBuffer.data; + + char *body_buf = buf; ++ ++ if (reqofs==0 && !logTypeIsATcpHit(http->logType)) ++ { ++ int tos = 0; ++ if (Config.zph_tos_peer && ++ (http->request->hier.code==SIBLING_HIT || ++ (Config.onoff.zph_tos_parent && http->request->hier.code==PARENT_HIT))) ++ { ++ tos = Config.zph_tos_peer; ++ debugs(33, 1, "ZPH: Peer hit, TOS="<<tos<<" hier.code="<<http->request->hier.code); ++ } ++ else if (Config.onoff.zph_preserve_miss_tos && Config.zph_preserve_miss_tos_mask) ++ { ++ tos = fd_table[fd].upstreamTOS & Config.zph_preserve_miss_tos_mask; ++ debugs(33, 1, "ZPH: Preserving TOS on miss, TOS="<<tos); ++ } ++ comm_set_tos(fd,tos); ++ } + + if (buf != result.data) { + /* we've got to copy some data */ +diff -Nru squid-3.0.STABLE13.orig/src/fde.h squid-3.0.STABLE13/src/fde.h +--- squid-3.0.STABLE13.orig/src/fde.h 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/fde.h 2009-02-16 23:21:13.000000000 +0000 +@@ -106,7 +106,7 @@ + long handle; + } win32; + #endif +- ++ unsigned char upstreamTOS; /* see FwdState::dispatch() */ + }; + + #endif /* SQUID_FDE_H */ +diff -Nru squid-3.0.STABLE13.orig/src/forward.cc squid-3.0.STABLE13/src/forward.cc +--- squid-3.0.STABLE13.orig/src/forward.cc 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/forward.cc 2009-02-16 23:21:13.000000000 +0000 +@@ -964,6 +964,52 @@ + + netdbPingSite(request->host); + ++ /* Retrieves remote server TOS value, and stores it as part of the ++ * original client request FD object. It is later used to forward ++ * remote server's TOS in the response to the client in case of a MISS. ++ */ ++ fde * clientFde = &fd_table[client_fd]; ++ if (clientFde) ++ { ++ int tos = 1; ++ int tos_len = sizeof(tos); ++ clientFde->upstreamTOS = 0; ++ if (setsockopt(server_fd,SOL_IP,IP_RECVTOS,&tos,tos_len)==0) ++ { ++ unsigned char buf[512]; ++ int len = 512; ++ if (getsockopt(server_fd,SOL_IP,IP_PKTOPTIONS,buf,(socklen_t*)&len) == 0) ++ { ++ /* Parse the PKTOPTIONS structure to locate the TOS data message ++ * prepared in the kernel by the ZPH incoming TCP TOS preserving ++ * patch. ++ */ ++ unsigned char * p = buf; ++ while (p-buf < len) ++ { ++ struct cmsghdr *o = (struct cmsghdr*)p; ++ if (o->cmsg_len<=0) ++ break; ++ ++ if (o->cmsg_level == SOL_IP && o->cmsg_type == IP_TOS) ++ { ++ clientFde->upstreamTOS = (unsigned char)(*(int*)CMSG_DATA(o)); ++ break; ++ } ++ p += CMSG_LEN(o->cmsg_len); ++ } ++ } ++ else ++ { ++ debugs(33, 1, "ZPH: error in getsockopt(IP_PKTOPTIONS) on FD "<<server_fd<<" "<<xstrerror()); ++ } ++ } ++ else ++ { ++ debugs(33, 1, "ZPH: error in setsockopt(IP_RECVTOS) on FD "<<server_fd<<" "<<xstrerror()); ++ } ++ } ++ + if (servers && (p = servers->_peer)) { + p->stats.fetches++; + request->peer_login = p->login; +diff -Nru squid-3.0.STABLE13.orig/src/structs.h squid-3.0.STABLE13/src/structs.h +--- squid-3.0.STABLE13.orig/src/structs.h 2009-02-03 01:36:23.000000000 +0000 ++++ squid-3.0.STABLE13/src/structs.h 2009-02-16 23:21:13.000000000 +0000 +@@ -553,6 +553,8 @@ + int emailErrData; + int httpd_suppress_version_string; + int global_internal_static; ++ int zph_tos_parent; ++ int zph_preserve_miss_tos; + int debug_override_X; + int WIN32_IpAddrChangeMonitor; + } +@@ -721,6 +723,9 @@ + int sleep_after_fork; /* microseconds */ + time_t minimum_expiry_time; /* seconds */ + external_acl *externalAclHelperList; ++ int zph_tos_local; ++ int zph_tos_peer; ++ int zph_preserve_miss_tos_mask; + #if USE_SSL + + struct diff --git a/net-proxy/squid/files/squid-3.0.13-gentoo.patch b/net-proxy/squid/files/squid-3.0.13-gentoo.patch new file mode 100644 index 00000000..c6ee8420 --- /dev/null +++ b/net-proxy/squid/files/squid-3.0.13-gentoo.patch @@ -0,0 +1,293 @@ +diff -Nru squid-3.0.STABLE13.orig/acinclude.m4 squid-3.0.STABLE13/acinclude.m4 +--- squid-3.0.STABLE13.orig/acinclude.m4 2009-02-03 01:36:11.000000000 +0000 ++++ squid-3.0.STABLE13/acinclude.m4 2009-03-06 22:34:34.000000000 +0000 +@@ -73,7 +73,7 @@ + AC_MSG_CHECKING([whether compiler accepts -fhuge-objects]) + AC_CACHE_VAL([ac_cv_test_checkforhugeobjects],[ + ac_cv_test_checkforhugeobjects=`echo "int foo;" > conftest.cc +-${CXX} -Werror -fhuge-objects -c conftest.cc 2>/dev/null ++${CXX} -fhuge-objects -c conftest.cc 2>/dev/null + res=$? + rm -f conftest.* + echo yes +diff -Nru squid-3.0.STABLE13.orig/configure.in squid-3.0.STABLE13/configure.in +--- squid-3.0.STABLE13.orig/configure.in 2009-02-03 01:36:23.000000000 +0000 ++++ squid-3.0.STABLE13/configure.in 2009-03-06 22:33:50.000000000 +0000 +@@ -16,9 +16,9 @@ + PRESET_LDFLAGS="$LDFLAGS" + + dnl Set default LDFLAGS +-if test -z "$LDFLAGS"; then +- LDFLAGS="-g" +-fi ++dnl if test -z "$LDFLAGS"; then ++dnl LDFLAGS="-g" ++dnl fi + + dnl Check for GNU cc + AC_PROG_CC +@@ -178,13 +178,13 @@ + dnl TODO: check if the problem will be present in any other newer MinGW release. + case "$host_os" in + mingw|mingw32) +- SQUID_CFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments" ++ SQUID_CFLAGS="-Wall -Wpointer-arith -Wwrite-strings" + ;; + *) +- SQUID_CFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments" ++ SQUID_CFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations" + ;; + esac +- SQUID_CXXFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments" ++ SQUID_CXXFLAGS="-Wall -Wpointer-arith -Wwrite-strings" + else + SQUID_CFLAGS= + SQUID_CXXFLAGS= +diff -Nru squid-3.0.STABLE13.orig/helpers/basic_auth/MSNT/confload.c squid-3.0.STABLE13/helpers/basic_auth/MSNT/confload.c +--- squid-3.0.STABLE13.orig/helpers/basic_auth/MSNT/confload.c 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/basic_auth/MSNT/confload.c 2009-03-06 22:33:50.000000000 +0000 +@@ -27,7 +27,7 @@ + + /* Path to configuration file */ + #ifndef SYSCONFDIR +-#define SYSCONFDIR "/usr/local/squid/etc" ++#define SYSCONFDIR "/etc/squid" + #endif + #define CONFIGFILE SYSCONFDIR "/msntauth.conf" + +diff -Nru squid-3.0.STABLE13.orig/helpers/basic_auth/MSNT/msntauth.conf.default squid-3.0.STABLE13/helpers/basic_auth/MSNT/msntauth.conf.default +--- squid-3.0.STABLE13.orig/helpers/basic_auth/MSNT/msntauth.conf.default 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/basic_auth/MSNT/msntauth.conf.default 2009-03-06 22:33:50.000000000 +0000 +@@ -8,6 +8,6 @@ + server other_PDC other_BDC otherdomain + + # Denied and allowed users. Comment these if not needed. +-#denyusers /usr/local/squid/etc/msntauth.denyusers +-#allowusers /usr/local/squid/etc/msntauth.allowusers ++#denyusers /etc/squid/msntauth.denyusers ++#allowusers /etc/squid/msntauth.allowusers + +diff -Nru squid-3.0.STABLE13.orig/helpers/basic_auth/SMB/Makefile.am squid-3.0.STABLE13/helpers/basic_auth/SMB/Makefile.am +--- squid-3.0.STABLE13.orig/helpers/basic_auth/SMB/Makefile.am 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/basic_auth/SMB/Makefile.am 2009-03-06 22:33:50.000000000 +0000 +@@ -14,7 +14,7 @@ + ## FIXME: autoconf should test for the samba path. + + SMB_AUTH_HELPER = smb_auth.sh +-SAMBAPREFIX=/usr/local/samba ++SAMBAPREFIX=/usr + SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER) + + libexec_SCRIPTS = $(SMB_AUTH_HELPER) +diff -Nru squid-3.0.STABLE13.orig/helpers/basic_auth/SMB/smb_auth.sh squid-3.0.STABLE13/helpers/basic_auth/SMB/smb_auth.sh +--- squid-3.0.STABLE13.orig/helpers/basic_auth/SMB/smb_auth.sh 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/basic_auth/SMB/smb_auth.sh 2009-03-06 22:33:50.000000000 +0000 +@@ -24,7 +24,7 @@ + read AUTHSHARE + read AUTHFILE + read SMBUSER +-read SMBPASS ++read -r SMBPASS + + # Find domain controller + echo "Domain name: $DOMAINNAME" +@@ -47,7 +47,7 @@ + addropt="" + fi + echo "Query address options: $addropt" +-dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+ / { print $1 ; exit }'` ++dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+\..+ / { print $1 ; exit }'` + echo "Domain controller IP address: $dcip" + [ -n "$dcip" ] || exit 1 + +diff -Nru squid-3.0.STABLE13.orig/helpers/external_acl/session/squid_session.8 squid-3.0.STABLE13/helpers/external_acl/session/squid_session.8 +--- squid-3.0.STABLE13.orig/helpers/external_acl/session/squid_session.8 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/external_acl/session/squid_session.8 2009-03-06 22:33:50.000000000 +0000 +@@ -35,7 +35,7 @@ + .P + Configuration example using the default automatic mode + .IP +-external_acl_type session ttl=300 negative_ttl=0 children=1 concurrency=200 %LOGIN /usr/local/squid/libexec/squid_session ++external_acl_type session ttl=300 negative_ttl=0 children=1 concurrency=200 %LOGIN /usr/libexec/squid/squid_session + .IP + acl session external session + .IP +diff -Nru squid-3.0.STABLE13.orig/helpers/external_acl/unix_group/squid_unix_group.8 squid-3.0.STABLE13/helpers/external_acl/unix_group/squid_unix_group.8 +--- squid-3.0.STABLE13.orig/helpers/external_acl/unix_group/squid_unix_group.8 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/external_acl/unix_group/squid_unix_group.8 2009-03-06 22:33:50.000000000 +0000 +@@ -27,7 +27,7 @@ + This squid.conf example defines two Squid acls. usergroup1 matches users in group1, and usergroup2 + matches users in group2 or group3 + .IP +-external_acl_type unix_group %LOGIN /usr/local/squid/libexec/squid_unix_group -p ++external_acl_type unix_group %LOGIN /usr/libexec/squid/squid_unix_group -p + .IP + acl usergroup1 external unix_group group1 + .IP +diff -Nru squid-3.0.STABLE13.orig/helpers/negotiate_auth/squid_kerb_auth/do.sh squid-3.0.STABLE13/helpers/negotiate_auth/squid_kerb_auth/do.sh +--- squid-3.0.STABLE13.orig/helpers/negotiate_auth/squid_kerb_auth/do.sh 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/negotiate_auth/squid_kerb_auth/do.sh 2009-03-06 22:33:50.000000000 +0000 +@@ -7,7 +7,7 @@ + # + CC=gcc + #CFLAGS="-Wall -Wextra -Werror -Wcomment -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wdeclaration-after-statement -Wshadow -O2" +-CFLAGS="-Wall -Werror -Wcomment -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -O2" ++CFLAGS="-Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -O2" + if [ "$1" = "HEIMDAL" ]; then + DEFINE="-DHEIMDAL -D__LITTLE_ENDIAN__" + INCLUDE="-I/usr/include/heimdal -Ispnegohelp" +diff -Nru squid-3.0.STABLE13.orig/lib/libTrie/acinclude.m4 squid-3.0.STABLE13/lib/libTrie/acinclude.m4 +--- squid-3.0.STABLE13.orig/lib/libTrie/acinclude.m4 2009-02-03 01:36:20.000000000 +0000 ++++ squid-3.0.STABLE13/lib/libTrie/acinclude.m4 2009-03-06 22:34:13.000000000 +0000 +@@ -9,7 +9,7 @@ + AC_MSG_CHECKING([whether compiler accepts -fhuge-objects]) + AC_CACHE_VAL([ac_cv_test_checkforhugeobjects],[ + ac_cv_test_checkforhugeobjects=`echo "int foo;" > conftest.cc +-${CXX} -Werror -fhuge-objects -c conftest.cc 2>/dev/null ++${CXX} -fhuge-objects -c conftest.cc 2>/dev/null + res=$? + rm -f conftest.* + echo yes +diff -Nru squid-3.0.STABLE13.orig/lib/libTrie/configure.in squid-3.0.STABLE13/lib/libTrie/configure.in +--- squid-3.0.STABLE13.orig/lib/libTrie/configure.in 2009-02-03 01:36:20.000000000 +0000 ++++ squid-3.0.STABLE13/lib/libTrie/configure.in 2009-03-06 22:33:50.000000000 +0000 +@@ -58,8 +58,8 @@ + + dnl set useful flags + if test "$GCC" = "yes"; then +- TRIE_CFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments" +- TRIE_CXXFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments" ++ TRIE_CFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations" ++ TRIE_CXXFLAGS="-Wall -Wpointer-arith -Wwrite-strings" + else + TRIE_CFLAGS= + TRIE_CXXFLAGS= +diff -Nru squid-3.0.STABLE13.orig/src/cf.data.pre squid-3.0.STABLE13/src/cf.data.pre +--- squid-3.0.STABLE13.orig/src/cf.data.pre 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/cf.data.pre 2009-03-06 22:33:50.000000000 +0000 +@@ -652,6 +652,8 @@ + acl Safe_ports port 488 # gss-http + acl Safe_ports port 591 # filemaker + acl Safe_ports port 777 # multiling http ++acl Safe_ports port 901 # SWAT ++acl purge method PURGE + acl CONNECT method CONNECT + NOCOMMENT_END + DOC_END +@@ -685,6 +687,9 @@ + # Only allow cachemgr access from localhost + http_access allow manager localhost + http_access deny manager ++# Only allow purge requests from localhost ++http_access allow purge localhost ++http_access deny purge + # Deny requests to unknown ports + http_access deny !Safe_ports + # Deny CONNECT to other than SSL ports +@@ -702,6 +707,9 @@ + # from where browsing should be allowed + http_access allow localnet + ++# Allow the localhost to have access by default ++http_access allow localhost ++ + # And finally deny all other access to this proxy + http_access deny all + NOCOMMENT_END +@@ -3263,11 +3271,11 @@ + + NAME: cache_mgr + TYPE: string +-DEFAULT: webmaster ++DEFAULT: root + LOC: Config.adminEmail + DOC_START + Email-address of local cache manager who will receive +- mail if the cache dies. The default is "webmaster." ++ mail if the cache dies. The default is "root". + DOC_END + + NAME: mail_from +@@ -5217,6 +5225,9 @@ + If you disable this, it will appear as + + X-Forwarded-For: unknown ++NOCOMMENT_START ++forwarded_for off ++NOCOMMENT_END + DOC_END + + NAME: cachemgr_passwd +diff -Nru squid-3.0.STABLE13.orig/src/debug.cc squid-3.0.STABLE13/src/debug.cc +--- squid-3.0.STABLE13.orig/src/debug.cc 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/debug.cc 2009-03-06 22:33:50.000000000 +0000 +@@ -465,7 +465,7 @@ + #if HAVE_SYSLOG && defined(LOG_LOCAL4) + + if (opt_syslog_enable) +- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, syslog_facility); ++ openlog(appname, LOG_PID | LOG_NDELAY, syslog_facility); + + #endif /* HAVE_SYSLOG */ + +diff -Nru squid-3.0.STABLE13.orig/src/defines.h squid-3.0.STABLE13/src/defines.h +--- squid-3.0.STABLE13.orig/src/defines.h 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/defines.h 2009-03-06 22:33:50.000000000 +0000 +@@ -218,7 +218,7 @@ + + /* were to look for errors if config path fails */ + #ifndef DEFAULT_SQUID_ERROR_DIR +-#define DEFAULT_SQUID_ERROR_DIR "/usr/local/squid/etc/errors" ++#define DEFAULT_SQUID_ERROR_DIR "/usr/share/squid/errors/English" + #endif + + /* handy to determine the #elements in a static array */ +diff -Nru squid-3.0.STABLE13.orig/src/main.cc squid-3.0.STABLE13/src/main.cc +--- squid-3.0.STABLE13.orig/src/main.cc 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/main.cc 2009-03-06 22:33:50.000000000 +0000 +@@ -1485,7 +1485,7 @@ + if (*(argv[0]) == '(') + return; + +- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4); ++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON); + + if ((pid = fork()) < 0) + syslog(LOG_ALERT, "fork failed: %s", xstrerror()); +@@ -1529,7 +1529,7 @@ + + if ((pid = fork()) == 0) { + /* child */ +- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4); ++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON); + prog = xstrdup(argv[0]); + argv[0] = xstrdup("(squid)"); + execvp(prog, argv); +@@ -1537,7 +1537,7 @@ + } + + /* parent */ +- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4); ++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON); + + syslog(LOG_NOTICE, "Squid Parent: child process %d started", pid); + +diff -Nru squid-3.0.STABLE13.orig/src/Makefile.am squid-3.0.STABLE13/src/Makefile.am +--- squid-3.0.STABLE13.orig/src/Makefile.am 2009-02-03 01:36:22.000000000 +0000 ++++ squid-3.0.STABLE13/src/Makefile.am 2009-03-06 22:33:50.000000000 +0000 +@@ -991,12 +991,12 @@ + DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf + DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf + DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'` +-DEFAULT_LOG_PREFIX = $(localstatedir)/logs ++DEFAULT_LOG_PREFIX = $(localstatedir)/log/squid + DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log + DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log + DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log +-DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid +-DEFAULT_SWAP_DIR = $(localstatedir)/cache ++DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid ++DEFAULT_SWAP_DIR = $(localstatedir)/cache/squid + DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'` + DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'` + DEFAULT_DISKD = $(libexecdir)/`echo diskd | sed '$(transform);s/$$/$(EXEEXT)/'` diff --git a/net-proxy/squid/files/squid-3.0.13-heimdal.patch b/net-proxy/squid/files/squid-3.0.13-heimdal.patch new file mode 100644 index 00000000..04cb2671 --- /dev/null +++ b/net-proxy/squid/files/squid-3.0.13-heimdal.patch @@ -0,0 +1,18 @@ +diff -Nru squid-3.0.STABLE13.orig/helpers/negotiate_auth/squid_kerb_auth/Makefile.am squid-3.0.STABLE13/helpers/negotiate_auth/squid_kerb_auth/Makefile.am +--- squid-3.0.STABLE13.orig/helpers/negotiate_auth/squid_kerb_auth/Makefile.am 2009-02-03 01:36:16.000000000 +0000 ++++ squid-3.0.STABLE13/helpers/negotiate_auth/squid_kerb_auth/Makefile.am 2009-02-16 23:22:02.000000000 +0000 +@@ -18,10 +18,10 @@ + #-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS) + + # HEIMDAL +-#KERBINC = -DHEIMDAL -I/usr/include/heimdal +-#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken ++KERBINC = -DHEIMDAL -I/usr/include/heimdal ++KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken + + # MIT +-KERBINC = +-KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err ++#KERBINC = ++#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err + diff --git a/net-proxy/squid/squid-3.0.13.ebuild b/net-proxy/squid/squid-3.0.13.ebuild new file mode 100644 index 00000000..3570643d --- /dev/null +++ b/net-proxy/squid/squid-3.0.13.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/squid/squid-3.0.13.ebuild,v 1.6 2009/04/15 20:07:48 maekke Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" + +inherit eutils pam toolchain-funcs autotools linux-info + +# lame archive versioning scheme.. +S_PMV="${PV%%.*}" +S_PV="${PV%.*}" +S_PL="${PV##*.}" +S_PP="${PN}-${S_PV}.STABLE${S_PL}" + +RESTRICT="test" # check if test works in next bump + +DESCRIPTION="A full-featured web proxy cache" +HOMEPAGE="http://www.squid-cache.org/" +SRC_URI="http://www.squid-cache.org/Versions/v${S_PMV}/${S_PV}/${S_PP}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-fbsd" +IUSE="pam ldap samba sasl kerberos nis radius ssl snmp selinux icap-client logrotate \ + mysql postgres sqlite \ + zero-penalty-hit \ + pf-transparent ipf-transparent kqueue \ + elibc_uclibc kernel_linux epoll" + +DEPEND="pam? ( virtual/pam ) + ldap? ( net-nds/openldap ) + kerberos? ( || ( app-crypt/mit-krb5 app-crypt/heimdal ) ) + ssl? ( dev-libs/openssl ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( sec-policy/selinux-squid ) + !x86-fbsd? ( logrotate? ( app-admin/logrotate ) ) + >=sys-libs/db-4 + dev-lang/perl" +RDEPEND="${DEPEND} + samba? ( net-fs/samba ) + mysql? ( dev-perl/DBD-mysql ) + postgres? ( dev-perl/DBD-Pg ) + sqlite? ( dev-perl/DBD-SQLite )" + +S="${WORKDIR}/${S_PP}" + +pkg_setup() { + if grep -qs '^[[:space:]]*cache_dir[[:space:]]\+coss' "${ROOT}"etc/squid/squid.conf; then + eerror "coss store IO has been disabled by upstream due to stability issues!" + eerror "If you want to install this version, switch the store type to something else" + eerror "before attempting to install this version again." + + die "/etc/squid/squid.conf: cache_dir use a disabled store type" + fi + + enewgroup squid 31 + enewuser squid 31 -1 /var/cache/squid squid +} + +src_unpack() { + unpack ${A} || die "unpack failed" + + cd "${S}" || die "source dir not found" + epatch "${FILESDIR}"/${P}-gentoo.patch + epatch "${FILESDIR}"/${P}-BJA-util-cast-xstr.diff + epatch "${FILESDIR}"/${P}-BJA-cf_gen-HOSTCXX.diff + use zero-penalty-hit && epatch "${FILESDIR}"/${P}-adapted-zph.patch + has_version app-crypt/mit-krb5 || epatch "${FILESDIR}"/${P}-heimdal.patch + + eautoreconf +} + +src_compile() { + local basic_modules="getpwnam,NCSA,MSNT" + use samba && basic_modules="SMB,multi-domain-NTLM,${basic_modules}" + use ldap && basic_modules="LDAP,${basic_modules}" + use pam && basic_modules="PAM,${basic_modules}" + use sasl && basic_modules="SASL,${basic_modules}" + use nis && ! use elibc_uclibc && basic_modules="YP,${basic_modules}" + use radius && basic_modules="squid_radius_auth,${basic_modules}" + if use mysql || use postgres || use sqlite ; then + basic_modules="DB,${basic_modules}" + fi + + local ext_helpers="ip_user,session,unix_group" + use samba && ext_helpers="wbinfo_group,${ext_helpers}" + use ldap && ext_helpers="ldap_group,${ext_helpers}" + + local ntlm_helpers="fakeauth" + use samba && ntlm_helpers="SMB,${ntlm_helpers}" + + local negotiate_helpers= + use kerberos && local negotiate_helpers="squid_kerb_auth" + + local myconf="" + + # coss support has been disabled + # If it is re-enabled again, make sure you don't enable it for elibc_uclibc (#61175) + myconf="${myconf} --enable-storeio=ufs,diskd,aufs,null" + + if use kernel_linux; then + myconf="${myconf} --enable-linux-netfilter + $(use_enable epoll)" + elif use kernel_FreeBSD || use kernel_OpenBSD || use kernel_NetBSD ; then + myconf="${myconf} $(use_enable kqueue)" + if use pf-transparent; then + myconf="${myconf} --enable-pf-transparent" + elif use ipf-transparent; then + myconf="${myconf} --enable-ipf-transparent" + fi + fi + + export CC=$(tc-getCC) + + econf \ + --sysconfdir=/etc/squid \ + --libexecdir=/usr/libexec/squid \ + --localstatedir=/var \ + --datadir=/usr/share/squid \ + --with-default-user=squid \ + --enable-auth="basic,digest,negotiate,ntlm" \ + --enable-removal-policies="lru,heap" \ + --enable-digest-auth-helpers="password" \ + --enable-basic-auth-helpers="${basic_modules}" \ + --enable-external-acl-helpers="${ext_helpers}" \ + --enable-ntlm-auth-helpers="${ntlm_helpers}" \ + --enable-negotiate-auth-helpers="${negotiate_helpers}" \ + --enable-useragent-log \ + --enable-cache-digests \ + --enable-delay-pools \ + --enable-referer-log \ + --enable-arp-acl \ + --with-large-files \ + --with-filedescriptors=8192 \ + $(use_enable snmp) \ + $(use_enable ssl) \ + $(use_enable icap-client) \ + ${myconf} || die "econf failed" + + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + # need suid root for looking into /etc/shadow + fowners root:squid /usr/libexec/squid/ncsa_auth + fowners root:squid /usr/libexec/squid/pam_auth + fperms 4750 /usr/libexec/squid/ncsa_auth + fperms 4750 /usr/libexec/squid/pam_auth + + # some cleanups + rm -f "${D}"/usr/bin/Run* + + dodoc CONTRIBUTORS CREDITS ChangeLog QUICKSTART SPONSORS doc/*.txt \ + helpers/ntlm_auth/no_check/README.no_check_ntlm_auth + newdoc helpers/basic_auth/SMB/README README.auth_smb + dohtml helpers/basic_auth/MSNT/README.html RELEASENOTES.html + newdoc helpers/basic_auth/LDAP/README README.auth_ldap + doman helpers/basic_auth/LDAP/*.8 + dodoc helpers/basic_auth/SASL/squid_sasl_auth* + + newpamd "${FILESDIR}/squid.pam" squid + newconfd "${FILESDIR}/squid.confd" squid + if use logrotate; then + newinitd "${FILESDIR}/squid.initd-logrotate" squid + insinto /etc/logrotate.d + newins "${FILESDIR}/squid.logrotate" squid + else + newinitd "${FILESDIR}/squid.initd" squid + exeinto /etc/cron.weekly + newexe "${FILESDIR}/squid.cron" squid.cron + fi + + rm -rf "${D}"/var + diropts -m0755 -o squid -g squid + keepdir /var/cache/squid /var/log/squid +} + +pkg_postinst() { + echo + ewarn "Squid authentication helpers have been installed suid root." + ewarn "This allows shadow based authentication (see bug #52977 for more)." + echo + ewarn "Be careful what type of cache_dir you select!" + ewarn " 'diskd' is optimized for high levels of traffic, but it might seem slow" + ewarn "when there isn't sufficient traffic to keep squid reasonably busy." + ewarn " If your traffic level is low to moderate, use 'aufs' or 'ufs'." + echo + ewarn "Squid can be configured to run in transparent mode like this:" + ewarn " ${HILITE}http_port internal-addr:3128 transparent${NORMAL}" + if use zero-penalty-hit; then + echo + ewarn "In order for zph_preserve_miss_tos to work, you will have to alter your kernel" + ewarn "with the patch that can be found on http://zph.bratcheda.org site." + fi +} diff --git a/net-proxy/squidguard/Manifest b/net-proxy/squidguard/Manifest new file mode 100644 index 00000000..c503d9fd --- /dev/null +++ b/net-proxy/squidguard/Manifest @@ -0,0 +1,10 @@ +AUX blockedsites 8 RMD160 69ecf774374ab43c8e3950977ac155bd475d1336 SHA1 d36a84e9d9f9d0296b0e8199ad27154ac6726395 SHA256 20169b61056128def8ac7b7eb393f7933362392b8d583b610b21bd3ce5c2015f +AUX squidGuard.conf.blocksites 192 RMD160 7831192143b0db590872d6dd41a9504ef49b5bad SHA1 a328f9b6eb6d5c27816fde8317f6b821d49d93bd SHA256 6fab8600cbc8945f94260c68a5c4743244dd35ce195edaf3da453e284c4f8f3a +AUX squidGuard.conf.minimal 61 RMD160 2cc5cc97f0c74e80e76f7ae3fb5fb7d09e29627b SHA1 ed963e093429e9fdf9c1fa06716781dd161d9448 SHA256 7070372be0dca55ade0a1beea8ac8d0461c38a8f5ef9d0a71ab47a9678f8f5df +AUX squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-berkdb.diff 1218 RMD160 098c50f21c99e6ace883ef3d45313969f6a4d360 SHA1 6297aa4eb93b0f3873bbc3d1c43a3fe46de83575 SHA256 988fa6eb8ce094bfdc359439fb112ef327729105f385f36b1d2559185a58f4da +AUX squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-ldap.diff 303 RMD160 1b2175b34c99c0a15d8e895c05f7ef83cf7dc21d SHA1 988cea10ce637bbe8612e3c9d60528125696ca3a SHA256 76bdf8c31d60ac78be856c4f34e1c9b6937b76fc773f8a798129aecc4515f42e +AUX squidguard-1.4-autoheader.patch 1782 RMD160 48279027a0b7daeb39ce5e0782f00edd9fcf6c4c SHA1 539ee1ca0e769af7519f925f7fc6231c33d39916 SHA256 4b49dfb34973fcfed40efc426657c8a5fd6513b239fc28bbd9dd94d04b19a476 +AUX squidguard-1.4-gentoo.patch 2492 RMD160 c38896fb9b99a5d178280d0add599b96e84501f3 SHA1 1c65168136321fb27b3c434ec392aeac6d619274 SHA256 01d0270a2f8d0b7f4dcce096b4eccb3d65c4397fbc9a0208d6b16b31ae3e855d +AUX squidguard-1.4-vsnprintf.patch 1735 RMD160 d07f4dda6456c7435b8e7bbd56ab2ed97f916898 SHA1 9f3702d752315e00bf243c51d5061d57b8b0d52f SHA256 51ca8486f8c195493a34496993d5ac9c4cf7ce56fef41f0c0e8871f5852f2a0f +DIST squidGuard-1.4.tar.gz 1968492 RMD160 c44880ddbfd7d1ad63fcda1c6ed777f24feedbba SHA1 0508ccb7db5c656b9952eacbcff2c956c01677d3 SHA256 0711ce60b8e2bbba107b980fed446a88df35e1584b39f079c0cae54a172c5141 +EBUILD squidguard-1.4-r1.ebuild 1937 RMD160 f5f9d910ce543973845e465be142ea8cfe565f21 SHA1 100e6543c08d968ee2aedba458448a64512dc9e7 SHA256 01914ac01434b182a4cdfd5c349db9cb6b92fb199cf48216b958b9f50e32215e diff --git a/net-proxy/squidguard/files/blockedsites b/net-proxy/squidguard/files/blockedsites new file mode 100644 index 00000000..46279a47 --- /dev/null +++ b/net-proxy/squidguard/files/blockedsites @@ -0,0 +1 @@ +sex.com diff --git a/net-proxy/squidguard/files/squidGuard.conf.blocksites b/net-proxy/squidguard/files/squidGuard.conf.blocksites new file mode 100644 index 00000000..eaa8cdee --- /dev/null +++ b/net-proxy/squidguard/files/squidGuard.conf.blocksites @@ -0,0 +1,13 @@ +logdir /var/log/squidGuard +dbhome /etc/squidGuard/db + +dest blockedsites { + domainlist blockedsites +} + +acl { + default { + pass !blockedsites all + redirect http://www.sample.com/empty.png + } +} diff --git a/net-proxy/squidguard/files/squidGuard.conf.minimal b/net-proxy/squidguard/files/squidGuard.conf.minimal new file mode 100644 index 00000000..3b0ebf55 --- /dev/null +++ b/net-proxy/squidguard/files/squidGuard.conf.minimal @@ -0,0 +1,7 @@ +logdir /var/log/squidGuard + +acl { + default { + pass all + } +} diff --git a/net-proxy/squidguard/files/squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-berkdb.diff b/net-proxy/squidguard/files/squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-berkdb.diff new file mode 100644 index 00000000..bacb4810 --- /dev/null +++ b/net-proxy/squidguard/files/squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-berkdb.diff @@ -0,0 +1,39 @@ +--- configure.in.ori 2009-04-16 23:34:27.000000000 +0200 ++++ configure.in 2009-04-16 23:36:23.000000000 +0200 +@@ -314,7 +314,8 @@ + exit (0); + exit (1); + } +- ], db_ok_version=yes, db_ok_version=no, db_ok_version=no) ++ ], db_ok_version=yes, db_ok_version=no, db_ok_version=yes) ++ + + if test $db_ok_version = no; then + echo +@@ -345,7 +346,7 @@ + exit (1); + exit (0); + } +- ], db_ok_version=yes, db_ok_version=no, db_ok_version=no) ++ ], db_ok_version=yes, db_ok_version=no, db_ok_version=yes) + + if test $db_ok_version = no; then + echo +@@ -377,7 +378,7 @@ + exit (0); + exit (1); + } +- ], dbg2_ok_version=yes, dbg2_ok_version=no, dbg2_ok_version=no) ++ ], dbg2_ok_version=yes, dbg2_ok_version=no, dbg2_ok_version=yes) + + if test $dbg2_ok_version = yes; then + AC_DEFINE(DB_VERSION_GT2, 1, [Define if you have dbversion greater than 3.2]) +@@ -401,7 +402,7 @@ + exit (0); + exit (1); + } +- ], dbg3_ok_version=yes, dbg3_ok_version=no, dbg3_ok_version=no) ++ ], dbg3_ok_version=yes, dbg3_ok_version=no, dbg3_ok_version=yes) + + if test $dbg3_ok_version = yes; then + AC_DEFINE(DB_VERSION_GT3, 1, [Define if you have dbversion greater than 4.0]) diff --git a/net-proxy/squidguard/files/squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-ldap.diff b/net-proxy/squidguard/files/squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-ldap.diff new file mode 100644 index 00000000..4716c9f2 --- /dev/null +++ b/net-proxy/squidguard/files/squidguard-1.4-BJA-configure-AC_RUN_IFELSE-cross-ldap.diff @@ -0,0 +1,13 @@ +--- configure.in.ori 2009-04-18 16:52:57.000000000 +0200 ++++ configure.in 2009-04-18 17:02:33.000000000 +0200 +@@ -201,7 +201,9 @@ + echo "Unable to link to LDAP library." + echo + exit 1 +- ],) ++ ],[ ++ ac_status=0 ++ ]) + fi + + dnl diff --git a/net-proxy/squidguard/files/squidguard-1.4-autoheader.patch b/net-proxy/squidguard/files/squidguard-1.4-autoheader.patch new file mode 100644 index 00000000..af97d8e9 --- /dev/null +++ b/net-proxy/squidguard/files/squidguard-1.4-autoheader.patch @@ -0,0 +1,61 @@ +diff -Nru squidGuard-1.4.orig/configure.in squidGuard-1.4/configure.in +--- squidGuard-1.4.orig/configure.in 2009-01-03 20:04:30.000000000 +0000 ++++ squidGuard-1.4/configure.in 2009-01-10 13:08:49.000000000 +0000 +@@ -93,18 +93,18 @@ + squiduser=$withval) + + if test -n "$sg_config"; then +- AC_DEFINE(ACCONFIG) ++ AC_DEFINE(ACCONFIG, 1, [Defined if you supply --with-sg-config]) + changequote(, )dnl + sg_cfgdir=`echo $sg_config|sed "s%/[^/][^/]*$%%"` + changequote([, ])dnl + fi + + if test -n "$sg_logdir"; then +- AC_DEFINE(ACLOGDIR) ++ AC_DEFINE(ACLOGDIR, 1, [Defined if you supply --with-sg-logdir]) + fi + + if test -n "$sg_dbhome"; then +- AC_DEFINE(ACDBHOME) ++ AC_DEFINE(ACDBHOME, 1, [Defined if you supply --with-sg-dbhome]) + fi + + CFLAGS="$CFLAGS $db_inc" +@@ -186,7 +186,7 @@ + YACCLINE="" + fi + if test "$with_ldap" = "yes"; then +- AC_DEFINE(HAVE_LIBLDAP) ++ AC_DEFINE(HAVE_LIBLDAP, 1, [Define if LDAP support should be compiled]) + AC_RUN_IFELSE([ + + #include <ldap.h> +@@ -277,7 +277,7 @@ + CPPFLAGS="${CPPFLAGS} -I${MYSQL_INC_DIR}" + AC_CHECK_LIB(z, compress) + LIBS="-lmysqlclient ${LIBS}" +- AC_DEFINE(HAVE_MYSQL) ++ AC_DEFINE(HAVE_MYSQL, 1, [Define if MySQL support should be compiled]) + fi + fi + else +@@ -380,7 +380,7 @@ + ], dbg2_ok_version=yes, dbg2_ok_version=no, dbg2_ok_version=no) + + if test $dbg2_ok_version = yes; then +- AC_DEFINE(DB_VERSION_GT2) ++ AC_DEFINE(DB_VERSION_GT2, 1, [Define if you have dbversion greater than 3.2]) + fi + + AC_RUN_IFELSE([ +@@ -404,7 +404,7 @@ + ], dbg3_ok_version=yes, dbg3_ok_version=no, dbg3_ok_version=no) + + if test $dbg3_ok_version = yes; then +- AC_DEFINE(DB_VERSION_GT3) ++ AC_DEFINE(DB_VERSION_GT3, 1, [Define if you have dbversion greater than 4.0]) + fi + + diff --git a/net-proxy/squidguard/files/squidguard-1.4-gentoo.patch b/net-proxy/squidguard/files/squidguard-1.4-gentoo.patch new file mode 100644 index 00000000..60b5461e --- /dev/null +++ b/net-proxy/squidguard/files/squidguard-1.4-gentoo.patch @@ -0,0 +1,74 @@ +diff -Nru squidGuard-1.4.orig/Makefile.in squidGuard-1.4/Makefile.in +--- squidGuard-1.4.orig/Makefile.in 2008-05-17 18:36:44.000000000 +0000 ++++ squidGuard-1.4/Makefile.in 2009-01-10 13:02:14.000000000 +0000 +@@ -43,7 +43,7 @@ + # Dependencies for installing + # + +-install: install-build install-conf ++install: install-build + + install-conf: + @echo Installing configuration file ; +@@ -85,10 +85,10 @@ + + install-build: + @echo Installing squidGuard +- @if [ ! -d $(bindir) ]; then \ +- $(MKINSTALLDIRS) $(bindir) ; \ ++ @if [ ! -d "$(INSTDIR)"/$(bindir) ]; then \ ++ $(MKINSTALLDIRS) "$(INSTDIR)"/$(bindir) ; \ + fi ; \ +- cp src/squidGuard $(bindir) || exit 1 ; \ ++ cp src/squidGuard "$(INSTDIR)"/$(bindir) || exit 1 ; \ + echo Done. ; + + clean:: +diff -Nru squidGuard-1.4.orig/src/Makefile.in squidGuard-1.4/src/Makefile.in +--- squidGuard-1.4.orig/src/Makefile.in 2009-01-03 20:05:39.000000000 +0000 ++++ squidGuard-1.4/src/Makefile.in 2009-01-10 13:02:14.000000000 +0000 +@@ -110,6 +110,8 @@ + mv -f y.tab.c y.tab.c.bison + mv -f y.tab.h y.tab.h.bison + ++sg.y sg.l: ++ + # + # Dependencies for installing + # +@@ -122,8 +124,8 @@ + + install.bin:: squidGuard + @echo making $@ in `basename \`pwd\`` +- @$(MKDIR) $(bindir) $(logdir) $(cfgdir) +- $(INSTALL_PROGRAM) squidGuard $(bindir)/squidGuard ++ @$(MKDIR) "$(INSTDIR)"/$(bindir) "$(INSTDIR)"/$(logdir) "$(INSTDIR)"/$(cfgdir) ++ $(INSTALL_PROGRAM) squidGuard "$(INSTDIR)"/$(bindir)/squidGuard + + uninstall.bin:: + @echo making $@ in `basename \`pwd\`` +diff -Nru squidGuard-1.4.orig/src/sgDb.c squidGuard-1.4/src/sgDb.c +--- squidGuard-1.4.orig/src/sgDb.c 2008-07-14 18:29:41.000000000 +0000 ++++ squidGuard-1.4/src/sgDb.c 2009-01-10 13:02:14.000000000 +0000 +@@ -103,13 +103,21 @@ + if(createdb) + flag = flag | DB_TRUNCATE; + if ((ret = ++#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) ++ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { ++#else + Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { ++#endif + (void) Db->dbp->close(Db->dbp, 0); + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } else { + if ((ret = ++#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) ++ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++#else + Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++#endif + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } diff --git a/net-proxy/squidguard/files/squidguard-1.4-vsnprintf.patch b/net-proxy/squidguard/files/squidguard-1.4-vsnprintf.patch new file mode 100644 index 00000000..971d136f --- /dev/null +++ b/net-proxy/squidguard/files/squidguard-1.4-vsnprintf.patch @@ -0,0 +1,42 @@ +diff -Nru squidGuard-1.4.orig/configure.in squidGuard-1.4/configure.in +--- squidGuard-1.4.orig/configure.in 2009-02-17 22:35:28.000000000 +0000 ++++ squidGuard-1.4/configure.in 2009-02-17 22:36:27.000000000 +0000 +@@ -421,7 +421,7 @@ + AC_CHECK_FUNCS(regexec, , AC_MSG_ERROR([No regexec library function.])) + AC_CHECK_FUNCS(strdup, , AC_MSG_ERROR([No strdup library function.])) + AC_CHECK_FUNCS(strerror, , AC_MSG_ERROR([No strerror library function.])) +-AC_CHECK_FUNCS(vsprintf, , AC_MSG_ERROR([No vsprintf library function.])) ++AC_CHECK_FUNCS(vsnprintf, , AC_MSG_ERROR([No vsnprintf library function.])) + AC_CHECK_FUNCS(sigaction) + AC_CHECK_FUNCS(signal) + +diff -Nru squidGuard-1.4.orig/src/sgLog.c squidGuard-1.4/src/sgLog.c +--- squidGuard-1.4.orig/src/sgLog.c 2007-11-16 16:58:32.000000000 +0000 ++++ squidGuard-1.4/src/sgLog.c 2009-02-17 22:37:04.000000000 +0000 +@@ -55,7 +55,7 @@ + char msg[MAX_BUF]; + va_list ap; + VA_START(ap, format); +- if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) ++ if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + fprintf(stderr,"overflow in vsprintf (sgLog): %s",strerror(errno)); + va_end(ap); + date = niso(0); +@@ -87,7 +87,7 @@ + char msg[MAX_BUF]; + va_list ap; + VA_START(ap, format); +- if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) ++ if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + sgLogFatalError("overflow in vsprintf (sgLogError): %s",strerror(errno)); + va_end(ap); + sgLog(globalErrorLog,"%s",msg); +@@ -104,7 +104,7 @@ + char msg[MAX_BUF]; + va_list ap; + VA_START(ap, format); +- if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) ++ if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + return; + va_end(ap); + sgLog(globalErrorLog,"%s",msg); diff --git a/net-proxy/squidguard/squidguard-1.4-r1.ebuild b/net-proxy/squidguard/squidguard-1.4-r1.ebuild new file mode 100644 index 00000000..1eb604df --- /dev/null +++ b/net-proxy/squidguard/squidguard-1.4-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/squidguard/squidguard-1.4-r1.ebuild,v 1.4 2009/03/18 14:58:58 ranger Exp $ + +WANT_AUTOMAKE=none + +inherit eutils autotools + +DESCRIPTION="Combined filter, redirector and access controller plugin for Squid." +HOMEPAGE="http://www.squidguard.org" +SRC_URI="http://www.squidguard.org/Downloads/squidGuard-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86" +IUSE="ldap" + +RDEPEND=">=sys-libs/db-2 + ldap? ( net-nds/openldap )" +DEPEND="${RDEPEND} + sys-devel/bison + sys-devel/flex" + +S="${WORKDIR}/squidGuard-${PV}" + +src_unpack() { + unpack ${A} + + cd "${S}" + epatch "${FILESDIR}/${P}-gentoo.patch" + epatch "${FILESDIR}/${P}-autoheader.patch" + epatch "${FILESDIR}/${P}-vsnprintf.patch" + epatch "${FILESDIR}/${P}-BJA-configure-AC_RUN_IFELSE-cross-berkdb.diff" + use ldap && epatch "${FILESDIR}/${P}-BJA-configure-AC_RUN_IFELSE-cross-ldap.diff" + eautoreconf +} + +src_compile() { + econf \ + $(use_with ldap) \ + --with-sg-config=/etc/squidGuard/squidGuard.conf \ + --with-sg-logdir=/var/log/squidGuard \ + || die "configure has failed" + + emake || die "make has failed" +} + +src_install() { + emake prefix="/usr" INSTDIR="${D}" install || die "emake install has failed" + + keepdir /var/log/squidGuard + fowners squid:squid /var/log/squidGuard + + insinto /etc/squidGuard/sample + doins "${FILESDIR}"/squidGuard.conf.* + insinto /etc/squidGuard/sample/db + doins "${FILESDIR}"/blockedsites + + dodoc ANNOUNCE CHANGELOG README + dohtml doc/*.html + docinto text + dodoc doc/*.txt +} + +pkg_postinst() { + einfo "To enable squidGuard, add the following lines to /etc/squid/squid.conf:" + einfo " url_rewrite_program /usr/bin/squidGuard" + einfo " url_rewrite_children 10" + einfo "" + einfo "Remember to edit /etc/squidGuard/squidGuard.conf first!" + einfo "Examples can be found in /etc/squidGuard/sample/" +} diff --git a/sys-apps/alix-leds/Manifest b/sys-apps/alix-leds/Manifest new file mode 100644 index 00000000..5510b0ad --- /dev/null +++ b/sys-apps/alix-leds/Manifest @@ -0,0 +1,2 @@ +DIST alix-leds-3.0.tgz 9815 RMD160 39821172591921bc73dc156d17bdc5d8c62a2530 SHA1 b9d5827a85b68e0616726fcb787a853e74f480a9 SHA256 b2cb0e4641464a12d229aa40ee5580f8d5b2cf7e98f08c12c7503464bbac7b3f +EBUILD alix-leds-3.0.ebuild 634 RMD160 f2b660a0f8e4ffc5e46e99b690f77c8a52462913 SHA1 7c018de8c50e86ffb1798a9b2a53c820416d734b SHA256 f780da31befcf1d565cd9d2677becb237285b9c82fe0486c8e68c35bdc1419ae diff --git a/sys-apps/alix-leds/alix-leds-3.0.ebuild b/sys-apps/alix-leds/alix-leds-3.0.ebuild new file mode 100644 index 00000000..89c0c8e8 --- /dev/null +++ b/sys-apps/alix-leds/alix-leds-3.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="Tools to manage LEDs on Alix board" +HOMEPAGE="http://git.1wt.eu/pub/" +SRC_URI="http://git.1wt.eu/pub/${P}.tgz" + +LICENSE="Public-Domain" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-libs/dietlibc" +RDEPEND="" + +src_compile () { + emake alix-leds \ + DIET="/usr/bin/diet" \ + CC="$(tc-getCC)" \ + OBJDUMP="$(tc-getPROG OBJDUMP objdump ${CHOST})" \ + STRIP="$(tc-getSTRIP)" \ + SSTRIP=\"\" \ + || die "emake failed" +} + +src_install () { + dosbin alix-leds + dodoc contrib/startup.rc +} diff --git a/sys-apps/wdd/Manifest b/sys-apps/wdd/Manifest index e72601e8..eb62bcf3 100644 --- a/sys-apps/wdd/Manifest +++ b/sys-apps/wdd/Manifest @@ -1,9 +1,9 @@ AUX warning.patch 774 RMD160 4c7147c373d8872cf35ddd4eb4b67f50b52749ac SHA1 6c84a76542769c001bc8912558f87a63b983e42e SHA256 918e0fcd1acadbc574f5bdb4e90e1a62a4f607497ec2a689498d0d89254ae7d6 -AUX wdd-syslog-errors.diff 2138 RMD160 a35c58c4d04f666cda623de854fbd84444e467be SHA1 cea53e22e8627d125a48355ef57bbbe3e026b692 SHA256 301b5d8ba0b8220bd9d1a750e03175060889fe85d5cde583aad7265cbe114951 +AUX wdd-syslog-errors.diff 2075 RMD160 087518da419bb80c640d086ef6c0d53a17a424d5 SHA1 360846d93b4f155cff9f62348215a4f12aa7355a SHA256 a7d6dd2adbb6cba52b909f1063e24baee3017e4754e93454c84ad06624358218 AUX wdd.confd 63 RMD160 0c72c3dc55da3c82231ecd4fc479fe64a1b49a66 SHA1 fe35c35f956e38f1ff18277838cb8741998af56a SHA256 bd66a212cb55fdf74bf967917f5d5a68e08ab855d3b44a97d3a634da19da8d88 AUX wdd.initd 421 RMD160 f42dd9c91bbd1efe38253db237b7fee70f303c67 SHA1 36b4ef136e32ea9de5f837e4c08672128025dec6 SHA256 9d123e1ea41d90404520f33922d12cb2622cc4b913f62277d4b11bdfe0d3b684 DIST wdd.8 3198 RMD160 34aa288bd79e0f15229ca75f8567bde8d45f76a1 SHA1 1f83bdc0fd2f8aaeb439ac60f1d79487a8e88f88 SHA256 7129d465b7fa4c96dd488f22a4dc265a0d2d343e1c40ac0aa6827e53dd8aec2b DIST wdd.c 2841 RMD160 f4555a2132545e371d7325bc71755c48f64a57b9 SHA1 b68d654ec1511bbce66a1a07d40bf9b7c3272243 SHA256 66be5e748b6199f7afbdbc7b6aaed6cbbfa2e0634aa90d3c0aefa743756ae6a7 -EBUILD wdd-0-r1.ebuild 902 RMD160 f7becfbb2bfd8081869f294b61fe5630013f83db SHA1 7b535b3610d5c87cf627840c4088be8ee0f482da SHA256 1db5296b020ff4db819d3170ccc166c3d0265690cfde6f79144669c88a2288c0 -EBUILD wdd-0-r2.ebuild 854 RMD160 1325f2352660d91a6b156cd210d5d4eed1d0a7f0 SHA1 1cf5886d962ef5378fdae7e9743e1d9ac6d50d4c SHA256 989060377c1094dd9e485c07aa1f241f04dc26bf7b01cdd8e79d28c68cc48b22 -EBUILD wdd-0.ebuild 756 RMD160 d6b133180c7ad6e45e021ab5cccc022ff5d08e99 SHA1 07062968c759ec3eefaea0a08b935ca3e6616712 SHA256 dbaa31f81d629ff15c6615dbad4a088fd256cf0a9a977e6d2465f9ca160fb0d6 +EBUILD wdd-0-r1.ebuild 893 RMD160 0d8a76d87fc4a26282c8a103ae5197d36148ddad SHA1 f963007ee13fd9202975774f31e986714fc27ca5 SHA256 aa3f862a1a2cb3cf12a0e9ae5f8061c27ae203443219980ebc09f4e16b929ccd +EBUILD wdd-0-r2.ebuild 857 RMD160 a45609f431c95cde658f28eb039a4eaebd6a1c95 SHA1 f914a570431887c7392f6a473542c26cb2429393 SHA256 d682402e99f70df09b01a3408a6e426f6242ae2bf27121f4e4f505a72780aca1 +EBUILD wdd-0.ebuild 748 RMD160 dd95a9dcc9b885ca7d03e98e178737d581646efa SHA1 ad8a9a2dab2970af950a17576ea0834650aecf74 SHA256 047d1701d790f6b4a229d75b8fb4c7587bdf9e2b333fb60ac7aeaed359921251 diff --git a/sys-apps/wdd/files/wdd-syslog-errors.diff b/sys-apps/wdd/files/wdd-syslog-errors.diff index 93d61672..6d99f2c3 100644 --- a/sys-apps/wdd/files/wdd-syslog-errors.diff +++ b/sys-apps/wdd/files/wdd-syslog-errors.diff @@ -1,14 +1,9 @@ ---- wdd.c 2008-04-09 14:23:47.000000000 +0200 -+++ wdd.c 2008-04-09 14:40:45.000000000 +0200 -@@ -3,13 +3,27 @@ - */ - - #include <stdio.h> -+#include <stdlib.h> -+#include <string.h> - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> +--- wdd.c 2009-04-24 10:48:29.753640442 +0200 ++++ wdd.c+warn+syslog 2009-04-24 10:47:52.505385951 +0200 +@@ -10,10 +10,22 @@ + #include <unistd.h> + #include <sys/wait.h> + #include <string.h> +#ifdef _USE_SYSLOG_ +#include <syslog.h> +#endif /* _USE_SYSLOG_ */ @@ -28,9 +23,9 @@ /* * This function checks if the system can allocate memory * In case of failure, we exit so that the watchdog device -@@ -20,10 +34,10 @@ +@@ -24,10 +36,10 @@ - heap = (void*)sbrk(NULL); + heap = (void*)sbrk(0); if (brk(heap + 4096)) - exit(1); + do_exit_log(1, "try_malloc: brk(heap + 4096) failed\n"); @@ -41,7 +36,7 @@ } /* -@@ -35,7 +49,7 @@ +@@ -39,7 +51,7 @@ int pid; pid = fork(); if (pid < 0) /* exit on error */ @@ -50,9 +45,9 @@ else if (pid == 0) /* child returns cleanly */ exit(0); if (waitpid(pid, NULL, 0) != pid) /* father checks child */ -@@ -54,15 +68,15 @@ +@@ -58,15 +70,15 @@ - heap = (void*)sbrk(NULL); + heap = (void*)sbrk(0); if (brk(heap + sizeof (struct stat))) - exit(1); + do_exit_log(1, "try_stat: brk(heap + sizeof (struct stat)\n"); @@ -69,7 +64,7 @@ else return 0; } -@@ -73,6 +87,11 @@ +@@ -77,6 +89,11 @@ int dev; int curr_file; @@ -81,7 +76,7 @@ if (argc > 1) { /* we'll do a quick check on all the arguments to * ensure that they are valid at load time, and avoid -@@ -124,6 +143,7 @@ +@@ -128,6 +145,7 @@ sleep(1); } /* we never get there theorically... */ diff --git a/sys-apps/wdd/wdd-0-r1.ebuild b/sys-apps/wdd/wdd-0-r1.ebuild index 38fc4aef..9fe53ed0 100644 --- a/sys-apps/wdd/wdd-0-r1.ebuild +++ b/sys-apps/wdd/wdd-0-r1.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="http://linux.exosec.fr/watchdog/" SRC_URI="http://linux.exosec.fr/watchdog/daemon/wdd.c http://linux.exosec.fr/watchdog/daemon/wdd.8" -LICENSE="Public-Domain" +LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="syslog" @@ -22,7 +22,7 @@ src_unpack () { mv ${DISTDIR}/wdd.{c,8} ${S} cd ${S} - #epatch ${FILESDIR}/warning.patch + epatch ${FILESDIR}/warning.patch use syslog && epatch ${FILESDIR}/wdd-syslog-errors.diff } diff --git a/sys-apps/wdd/wdd-0-r2.ebuild b/sys-apps/wdd/wdd-0-r2.ebuild index a68afc9f..9b717949 100644 --- a/sys-apps/wdd/wdd-0-r2.ebuild +++ b/sys-apps/wdd/wdd-0-r2.ebuild @@ -9,9 +9,9 @@ HOMEPAGE="http://linux.exosec.fr/watchdog/" SRC_URI="http://linux.exosec.fr/watchdog/daemon/wdd.c http://linux.exosec.fr/watchdog/daemon/wdd.8" -LICENSE="Public-Domain" +LICENSE="GPL-2" SLOT="0" -KEYWORDS="x86 ~amd64" +KEYWORDS="~x86 ~amd64" IUSE="syslog" DEPEND="" @@ -22,14 +22,16 @@ src_unpack () { mv ${DISTDIR}/wdd.{c,8} ${S} cd ${S} + epatch ${FILESDIR}/warning.patch use syslog && epatch ${FILESDIR}/wdd-syslog-errors.diff } src_compile () { use syslog && CFLAGS="${CFLAGS} -D_USE_SYSLOG_" - echo "$(tc-getCC) -W -Wall ${CFLAGS} -o wdd wdd.c" - $(tc-getCC) -W -Wall ${CFLAGS} -o wdd wdd.c || die "compile failed" + cmd="$(tc-getCC) -W -Wall ${CFLAGS} -o wdd wdd.c" + echo "${cmd}" + ${cmd} || die "compile failed" } src_install () { @@ -39,4 +41,3 @@ src_install () { newinitd ${FILESDIR}/wdd.initd wdd newconfd ${FILESDIR}/wdd.confd wdd } - diff --git a/sys-apps/wdd/wdd-0.ebuild b/sys-apps/wdd/wdd-0.ebuild index ab18d1f8..333f6a92 100644 --- a/sys-apps/wdd/wdd-0.ebuild +++ b/sys-apps/wdd/wdd-0.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="http://linux.exosec.fr/watchdog/" SRC_URI="http://linux.exosec.fr/watchdog/daemon/wdd.c http://linux.exosec.fr/watchdog/daemon/wdd.8" -LICENSE="Public-Domain" +LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="" diff --git a/sys-fs/mtd-utils/Manifest b/sys-fs/mtd-utils/Manifest new file mode 100644 index 00000000..60ff8827 --- /dev/null +++ b/sys-fs/mtd-utils/Manifest @@ -0,0 +1,3 @@ +AUX mtd-utils-fixup.patch 1172 RMD160 3372bedd828485d2edd6cf9ea61d3896d3e929f7 SHA1 fdfe1799fc2a4479b09e07d0df9f5e7c054960f4 SHA256 994c98f2866826c592a300a95304822f6453ea8cdc8ba6a20c26d5f07c92b0c8 +DIST mtd-utils-snapshot-20080907-41c53b6f2d756ae995c3ffa4455576515427c5e0.tar.gz 400957 RMD160 da8b2b632a33db084b735683b1fbf00dd55de611 SHA1 83c5ab77504cb9f09bf15d3d92a23122817a7339 SHA256 9d26274299de7722ee2d3080e16d3fced04fd0d428a84c20ea6a628e180953e9 +EBUILD mtd-utils-20080907.ebuild 1434 RMD160 b1cb0d890252979d84112dfbf90a5ccc1b6a12ea SHA1 3dc567b7f703bd6ab55ea7d079c2c90dd6026bbe SHA256 ab5f015eaf02659a89e5c59bf7f3cdea6f866e616f24d0a73520d7144ae15074 diff --git a/sys-fs/mtd-utils/files/mtd-utils-fixup.patch b/sys-fs/mtd-utils/files/mtd-utils-fixup.patch new file mode 100644 index 00000000..08991500 --- /dev/null +++ b/sys-fs/mtd-utils/files/mtd-utils-fixup.patch @@ -0,0 +1,32 @@ +Fix up the parallel building. Without this fix, each instance of the NTARGETS +will try to build the libraries seperately, and on a suitably fast machine this +can lead to overwriting. Add a specific instance to build the libraries first. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + +diff -Nuar mtd-utils.orig/ubi-utils/Makefile mtd-utils/ubi-utils/Makefile +--- mtd-utils.orig/ubi-utils/Makefile 2008-09-23 18:51:00.129193374 -0700 ++++ mtd-utils/ubi-utils/Makefile 2008-09-23 18:54:04.097290355 -0700 +@@ -34,7 +34,10 @@ + IGNORE=${wildcard .*.c.dep} + -include ${IGNORE} + +-$(NTARGETS): ++nlibs: ++ $(MAKE) -C new-utils libs ++ ++$(NTARGETS): nlibs + $(MAKE) -C new-utils $@ + mv new-utils/$@ $@ + +diff -Nuar mtd-utils.orig/ubi-utils/new-utils/Makefile mtd-utils/ubi-utils/new-utils/Makefile +--- mtd-utils.orig/ubi-utils/new-utils/Makefile 2008-09-23 18:51:00.179204851 -0700 ++++ mtd-utils/ubi-utils/new-utils/Makefile 2008-09-23 18:53:32.513881545 -0700 +@@ -19,6 +19,7 @@ + vpath %.c src + + all: $(UTILS) ++libs: $(addsuffix .a,$(LIBS)) + + # The below cancels existing implicite rule to make programs from .c files, + # in order to force make using our rule defined below diff --git a/sys-fs/mtd-utils/mtd-utils-20080907.ebuild b/sys-fs/mtd-utils/mtd-utils-20080907.ebuild new file mode 100644 index 00000000..a6eb1c28 --- /dev/null +++ b/sys-fs/mtd-utils/mtd-utils-20080907.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/mtd-utils/mtd-utils-20080907.ebuild,v 1.6 2009/03/08 00:23:04 vapier Exp $ + +inherit toolchain-funcs eutils + +# Git ID for the snapshot +MY_PV="${PV}-41c53b6f2d756ae995c3ffa4455576515427c5e0" +DESCRIPTION="MTD userspace tools, based on GIT snapshot from upstream" +HOMEPAGE="http://git.infradead.org/?p=mtd-utils.git;a=summary" +SRC_URI="mirror://gentoo/${PN}-snapshot-${MY_PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm ~mips ppc x86" +IUSE="xattr" + +RDEPEND="!sys-fs/mtd + dev-libs/lzo + sys-libs/zlib" +# ACL is only required for the <sys/acl.h> header file to build mkfs.jffs2 +# And ACL brings in Attr as well. +DEPEND="${RDEPEND} + xattr? ( sys-apps/acl )" + +S=${WORKDIR}/${PN} + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i 's:-Werror::' $(find . -name Makefile) + epatch "${FILESDIR}"/mtd-utils-fixup.patch +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + OPTFLAGS="${CFLAGS}" \ + $(use xattr || echo WITHOUT_XATTR=1) \ + || die +} + +src_install() { + emake install DESTDIR="${D}" \ + CC="$(tc-getCC)" \ + OPTFLAGS="${CFLAGS}" \ + || die + newman ubi-utils/doc/unubi.roff unubi.1 + dodoc *.txt */*.TXT + newdoc mkfs.ubifs/README README.mkfs.ubifs + newdoc ubi-utils/README README.ubi-utils + newdoc ubi-utils/new-utils/README README.new-utils + # TODO: check ubi-utils for docs+scripts +} diff --git a/sys-kernel/alix-sources/Manifest b/sys-kernel/alix-sources/Manifest index 03237090..42e2e592 100644 --- a/sys-kernel/alix-sources/Manifest +++ b/sys-kernel/alix-sources/Manifest @@ -1,3 +1,6 @@ DIST linux-2.6.25.tar.bz2 48601689 RMD160 cf3ed52f888fe9df7a93abe4fdc2f598e1ba0ce4 SHA1 aa6187a1c212dd2d8bd906b023fcefdcf711f35e SHA256 108b2a3f2b05c0e57d1d0977619525e46f8d4b425aef4b38b47dcf94292f2dd2 +DIST linux-2.6.27.tar.bz2 50355835 RMD160 5be4595ad824a4af67c1ec0c692838ad0c31f0c0 SHA1 8425ec3be2652f9d511911ff4fcf99039d4574be SHA256 0e99bf9e83f4d1ae0c656741a84dfddfa9c4d2469cf35475f5939d02dc3e4393 DIST patches-2.6.25-wt17.tar.bz2 3732544 RMD160 44defc4f1b06819e5582300da574666b368a217e SHA1 8c8d43778d45ecb9d709e8a503adb0913ba72e32 SHA256 d276fa7b33a9fd63df8959332e997a74c37092b3fec5f5cdf5c97798f79f6e21 +DIST patches-2.6.27-wt6.tar.bz2 4009844 RMD160 fe8ad9b12ace727004a055c7883742e422b557ad SHA1 c69a5c57a13c46bfde2995ea107963a15d0f4ab5 SHA256 046bb3e6b052009fbcda14130931834a40c77b0101dee2dffa8a18dcae5940b9 EBUILD alix-sources-2.6.25-r17.ebuild 1247 RMD160 a2cb356d5e17002a5faec8c140bba01c94716ddd SHA1 54bb91078ee610df25265902aa8b1d9a0259f5e3 SHA256 c2017dd078724075b4f34563e759ac0fd83938cc21e6195aa687be064cf7ca09 +EBUILD alix-sources-2.6.27-r6.ebuild 1247 RMD160 a2cb356d5e17002a5faec8c140bba01c94716ddd SHA1 54bb91078ee610df25265902aa8b1d9a0259f5e3 SHA256 c2017dd078724075b4f34563e759ac0fd83938cc21e6195aa687be064cf7ca09 diff --git a/sys-kernel/alix-sources/alix-sources-2.6.27-r6.ebuild b/sys-kernel/alix-sources/alix-sources-2.6.27-r6.ebuild new file mode 100644 index 00000000..35424261 --- /dev/null +++ b/sys-kernel/alix-sources/alix-sources-2.6.27-r6.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +ETYPE="sources" +inherit kernel-2 +detect_version +detect_arch + +KEYWORDS="~x86 ~amd64" +IUSE="" +HOMEPAGE="http://linux.1wt.eu/alix" + +WT_PATCHES="patches-${PVR/r/wt}.tar.bz2" + +DESCRIPTION="Full sources including the Willy Tarreau Alix patchset" +SRC_URI="${KERNEL_URI} + http://linux.1wt.eu/alix/kernel-src/${PVR/r/wt}/${WT_PATCHES}" + +src_unpack () { + universal_unpack + + debug-print "Doing unipatch" + pushd "${WORKDIR}" > /dev/null + unpack ${WT_PATCHES} + popd >/dev/null + + cd ${WORKDIR}/${WT_PATCHES%.tar.bz2*} + emake numbered KERNDIR=${WORKDIR}/${P} + + cd ${S} + epatch ${WORKDIR}/${WT_PATCHES%.tar.bz2*}/numbered/[1-9]* + debug-print "Doing premake" + [[ $(type -t kernel-2_hook_premake) == "function" ]] && kernel-2_hook_premake + debug-print "Doing unpack_set_extraversion" + [[ -z ${K_NOSETEXTRAVERSION} ]] && unpack_set_extraversion + unpack_fix_install_path + + env_setup_xmakeopts + cd "${S}" + + if [[ ${ETYPE} == headers ]]; then + kernel_is 2 4 && unpack_2_4 + kernel_is 2 6 && unpack_2_6 + fi +} + +pkg_postinst() { + kernel-2_pkg_postinst + einfo "For more info on this patchset, and how to report problems, see:" + einfo "${HOMEPAGE}" +} diff --git a/sys-kernel/git-sources/Manifest b/sys-kernel/git-sources/Manifest index 3e0ed63b..9dcf14f6 100644 --- a/sys-kernel/git-sources/Manifest +++ b/sys-kernel/git-sources/Manifest @@ -1 +1,2 @@ -EBUILD git-sources-9999.ebuild 1302 RMD160 6003e4986413b6729ae7c787b604dcf820eba69c SHA1 409c57354f0900f54bea7af01ff7eabb22096281 SHA256 03e7464e08dde77e8b925bf08ff84104d84d947e20a7d778b9961d40b789cdd7 +MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-git-sources-9999 0 +MD5 6136fc2f0e46e80300b73ffddd5eb99c git-sources-9999.ebuild 1302 diff --git a/sys-libs/e2fsprogs-libs/Manifest b/sys-libs/e2fsprogs-libs/Manifest new file mode 100644 index 00000000..5829c8b2 --- /dev/null +++ b/sys-libs/e2fsprogs-libs/Manifest @@ -0,0 +1,5 @@ +AUX e2fsprogs-libs-1.41.0-makefile.patch 307 RMD160 1d0e083be1515512a1ebba6943ad5c6adcbe5efd SHA1 3a9e057d5b9e012eaa885db3ce83658a66ee7b4f SHA256 4a844e8ebb82fbaf528280b915067045b9906b423a6a9f3ef38046ade3667fd5 +AUX e2fsprogs-libs-1.41.0-null-blkid.patch 1920 RMD160 e946fb72fb0e929edb7286f4a7db8723fc33fb1b SHA1 672d4c29c59f5ef3bdfa75097031cad4be124ab7 SHA256 a62abfb3fac1fa8424a604afab6928f083862134ab23147f08c3a8befa70e1f1 +AUX e2fsprogs-libs-1.41.1-subs.patch 660 RMD160 7d78dd58673d3e30e848aaa397abd03018416a13 SHA1 26f11971f209cda0da2e152d40e510724a17d620 SHA256 f0cf54041dc60001eeb9259973a3fbd19fc4fa91c7e9a3b378033e71d1cc2c58 +DIST e2fsprogs-libs-1.41.3.tar.gz 489551 RMD160 73ec32fd8ed9869f5b1350cf85adcc51cc15c0dd SHA1 c1c24e9059a34a6f40b92902211d12bab8c39763 SHA256 38b8163595da62f740b62bf4e77bbe5429cd78303f5fbdc260122d25d3a3300c +EBUILD e2fsprogs-libs-1.41.3-r1.ebuild 1581 RMD160 3afca9d15d482240ee61dee46627968e7616d47f SHA1 5d3e83242ff4ff981dd857e33ff9f49e538a05a7 SHA256 67026b3b30b66d8de1055dfa54d08479e4f107f9fb7f5551282b53d4116a6c80 diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.41.3-r1.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.41.3-r1.ebuild new file mode 100644 index 00000000..b46afc7d --- /dev/null +++ b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.41.3-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.41.3-r1.ebuild,v 1.1 2008/12/30 20:45:31 pchrist Exp $ + +inherit flag-o-matic toolchain-funcs + +EAPI="2" +DESCRIPTION="e2fsprogs libraries (common error, subsystem, uuid, block id)" +HOMEPAGE="http://e2fsprogs.sourceforge.net/" +SRC_URI="mirror://sourceforge/e2fsprogs/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" +IUSE="nls elibc_uclibc" + +RDEPEND="!sys-libs/com_err + !sys-libs/ss + !<sys-fs/e2fsprogs-1.41" +DEPEND="nls? ( sys-devel/gettext ) + sys-devel/bc" + +src_configure() { + export LDCONFIG=/bin/true + export CC=$(tc-getCC) + + # We want to use the "bsd" libraries while building on Darwin, but while + # building on other Gentoo/*BSD we prefer elf-naming scheme. + local libtype + case ${CHOST} in + *-darwin*) libtype=bsd;; + *) libtype=elf;; + esac + + econf \ + --enable-${libtype}-shlibs \ + $(use_enable !elibc_uclibc tls) \ + $(use_enable nls) \ + || die + +} + +src_compile() { + export LDCONFIG=/bin/true + export CC=$(tc-getCC) + emake STRIP=/bin/true || die +} + +src_install() { + export LDCONFIG=/bin/true + export CC=$(tc-getCC) + + emake STRIP=/bin/true DESTDIR="${D}" install || die + + dodir /$(get_libdir) + local lib slib + for lib in "${D}"/usr/$(get_libdir)/*.a ; do + slib=${lib##*/} + mv "${lib%.a}"$(get_libname)* "${D}"/$(get_libdir)/ || die "moving lib ${slib}" + gen_usr_ldscript ${slib%.a}$(get_libname) + done +} diff --git a/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.0-makefile.patch b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.0-makefile.patch new file mode 100644 index 00000000..f96dd89c --- /dev/null +++ b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.0-makefile.patch @@ -0,0 +1,9 @@ +Fix the symlinks that submakefiles create so that they don't suck at life. + +--- lib/Makefile.elf-lib ++++ lib/Makefile.elf-lib +@@ -49,3 +49,3 @@ + @echo " SYMLINK $(libdir)/$(ELF_IMAGE).so" +- @$(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \ ++ @$(LN_S) -f $(ELF_SONAME) \ + $(DESTDIR)$(libdir)/$(ELF_IMAGE).so diff --git a/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.0-null-blkid.patch b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.0-null-blkid.patch new file mode 100644 index 00000000..e07c67c4 --- /dev/null +++ b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.0-null-blkid.patch @@ -0,0 +1,54 @@ +commit bb47c2a4aff6ec6b9be7f30cd04cf7c858a84de4 +Author: Theodore Ts'o <tytso@mit.edu> +Date: Sun Jul 13 19:10:10 2008 -0400 + + libblkid: Make sure we never reference a null dev->bid_type + + There were a few places where we don't check to make sure + dev->bid_type is non-NULL before dereferencing the pointer, mostly in + debug code. + + Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> + +diff --git a/lib/blkid/dev.c b/lib/blkid/dev.c +index 770632b..5252a8e 100644 +--- a/lib/blkid/dev.c ++++ b/lib/blkid/dev.c +@@ -34,7 +34,8 @@ void blkid_free_dev(blkid_dev dev) + return; + + DBG(DEBUG_DEV, +- printf(" freeing dev %s (%s)\n", dev->bid_name, dev->bid_type)); ++ printf(" freeing dev %s (%s)\n", dev->bid_name, dev->bid_type ? ++ dev->bid_type : "(null)")); + DBG(DEBUG_DEV, blkid_debug_dump_dev(dev)); + + list_del(&dev->bid_devs); +diff --git a/lib/blkid/devname.c b/lib/blkid/devname.c +index df96859..65c6cca 100644 +--- a/lib/blkid/devname.c ++++ b/lib/blkid/devname.c +@@ -96,7 +96,8 @@ blkid_dev blkid_get_dev(blkid_cache cache, const char *devname, int flags) + dev2 = list_entry(p, struct blkid_struct_dev, bid_devs); + if (dev2->bid_flags & BLKID_BID_FL_VERIFIED) + continue; +- if (strcmp(dev->bid_type, dev2->bid_type)) ++ if (!dev->bid_type || !dev2->bid_type || ++ strcmp(dev->bid_type, dev2->bid_type)) + continue; + if (dev->bid_label && dev2->bid_label && + strcmp(dev->bid_label, dev2->bid_label)) +diff --git a/lib/blkid/save.c b/lib/blkid/save.c +index 76f2f9e..60aa6ce 100644 +--- a/lib/blkid/save.c ++++ b/lib/blkid/save.c +@@ -34,7 +34,8 @@ static int save_dev(blkid_dev dev, FILE *file) + return 0; + + DBG(DEBUG_SAVE, +- printf("device %s, type %s\n", dev->bid_name, dev->bid_type)); ++ printf("device %s, type %s\n", dev->bid_name, dev->bid_type ? ++ dev->bid_type : "(null)")); + + fprintf(file, + "<device DEVNO=\"0x%04lx\" TIME=\"%ld\"", diff --git a/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.1-subs.patch b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.1-subs.patch new file mode 100644 index 00000000..ed1852c5 --- /dev/null +++ b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.41.1-subs.patch @@ -0,0 +1,17 @@ +http://sourceforge.net/tracker/index.php?func=detail&aid=2087502&group_id=2406&atid=102406 + +--- Makefile.in ++++ Makefile.in +@@ -26,9 +240,9 @@ + $(MAKE) docs + + subs: +- @for i in $(SUBS) ; do if test -d `dirname $$i` ; then $(MAKE) $$i ; fi ; done +- @(test -d lib/et && cd lib/et && $(MAKE) compile_et) +- @(test -d lib/ext2fs && cd lib/ext2fs && $(MAKE) ext2_err.h) ++ for i in $(SUBS) ; do if test -d `dirname $$i` ; then $(MAKE) $$i || exit $$? ; fi ; done ++ if test -d lib/et ; then cd lib/et && $(MAKE) compile_et ; fi ++ if test -d lib/ext2fs ; then cd lib/ext2fs && $(MAKE) ext2_err.h ; fi + + progs: subs all-progs-recursive + libs: subs all-libs-recursive diff --git a/x11-misc/e16menuedit2/Manifest b/x11-misc/e16menuedit2/Manifest index 739ab041..b95ff704 100644 --- a/x11-misc/e16menuedit2/Manifest +++ b/x11-misc/e16menuedit2/Manifest @@ -1,2 +1,6 @@ -DIST e16menuedit2-0.0.3.tar.gz 370740 RMD160 008059b51bc5b90c61200c3fe12d2e2034af6aaa SHA1 7bfd9878f9230671e22f327ee7b3965ac4192944 SHA256 9a290f13f25b3fbce6d446cbc136933d981926b1da59c84cfac7f3690606b5a5 -EBUILD e16menuedit2-0.0.3.ebuild 683 RMD160 a58717cd06b434b6f1c5aa65931f70d9e2d0459f SHA1 4bcf04cbe2a22cce495465446778f7ce7a5c41c4 SHA256 278c701058f76f6ee9b2e2bd369f293be896199ebf25891a2a02cf1735a43651 +MD5 1b3315519bf8e8cf8da0ba604e0a5abc e16menuedit2-0.0.3.ebuild 676 +RMD160 a1880f13c57523aa66b8a2fcdd1547997cf2b7c8 e16menuedit2-0.0.3.ebuild 676 +SHA256 69a5bf37b61c190fd42c540ea6a76402f0e6ef1348d8c5b1984d5dfb7bd29878 e16menuedit2-0.0.3.ebuild 676 +MD5 3a64a2831610acbdc31b263e36e736a2 files/digest-e16menuedit2-0.0.3 256 +RMD160 d59f9d20e29b4ce6df9d84ac56b9edef9ecf7e0b files/digest-e16menuedit2-0.0.3 256 +SHA256 6d9cbb14e7b7783e10d0c78ecec64a815cdd50d006a0bb6c746ec60f374d941e files/digest-e16menuedit2-0.0.3 256 |