commit d8d14bf137ae69cd77f6e380cdec01b4c5db6d8f Author: Sandino Araico Sanchez Date: Sat Jan 7 05:40:10 2012 -0600 initial import diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest new file mode 100644 index 0000000..f05ed84 --- /dev/null +++ b/dev-lang/python/Manifest @@ -0,0 +1,5 @@ +AUX pydoc.conf 330 RMD160 0cd619ec251597e0fcadc05bfd249915e73baa17 SHA1 a56100d45378c554b9822f6ed512a6cb7841ef50 SHA256 a45ebba2de5f2b0e963db4101507203d095c5ff667ae5002c4897a9c87786fa1 +AUX pydoc.init 666 RMD160 11caf3a78bce4cdaebacaf21eaf26cc1ce30282e SHA1 88c5cb6d5bf737c74e1be93118cf157630af9ad7 SHA256 0d25c71232b74adb87dc709cc7cd8f8b13c452c0fe82fa33808f907f7a96d628 +DIST Python-2.6.5.tar.bz2 11095581 RMD160 909c6a13749396f2b19fed51821d3e2577b2833b SHA1 24c94f5428a8c94c9d0b316e3019fee721fdb5d1 SHA256 62da62eb685621ede2be1275f11b89fa0e0be578db8daa5320d0a7855c0a9ebc +DIST python-gentoo-patches-2.6.5-r5.tar.bz2 1482491 RMD160 a7978912b8598a589a82746642fa5b676369c599 SHA1 26c983e79ac32b63a3bc6e411d96b9233524733b SHA256 6cb8cf0e1418cad035a243c08dfeee2e9395397dda74ada49667b3eba63bb76c +EBUILD python-2.6.5-r3.ebuild 9450 RMD160 64cd37f7296af9c69915254ac7e7486ce44714cf SHA1 717dc9c16923bebb685f327b28f4c19113f84165 SHA256 ebb844b223bfcace9feabeb2e6c23844b06b234f4148b659ef3f83453826b0b8 diff --git a/dev-lang/python/files/pydoc.conf b/dev-lang/python/files/pydoc.conf new file mode 100644 index 0000000..4a98fd4 --- /dev/null +++ b/dev-lang/python/files/pydoc.conf @@ -0,0 +1,8 @@ +# /etc/init.d/pydoc.conf +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/files/pydoc.conf,v 1.2 2008/06/30 15:10:28 hawking Exp $ + +# This file contains the configuration information for pydoc's internal +# webserver. The variables should be rather self explanatory :-) + +# Default port for Python's pydoc server +PYDOC_PORT=7464 diff --git a/dev-lang/python/files/pydoc.init b/dev-lang/python/files/pydoc.init new file mode 100755 index 0000000..19b63e3 --- /dev/null +++ b/dev-lang/python/files/pydoc.init @@ -0,0 +1,26 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public Licence v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/files/pydoc.init,v 1.2 2008/06/30 15:10:28 hawking Exp $ + +depend() { + need net +} + +start() { + if [ -z $PYDOC_PORT ] ; then + eerror "Port not set" + return 1 + fi + ebegin "Starting pydoc server on port $PYDOC_PORT" + start-stop-daemon --start --background --make-pidfile \ + --pidfile /var/run/pydoc.pid \ + --startas /usr/bin/pydoc -- -p $PYDOC_PORT + eend $? +} + +stop() { + ebegin "Stopping pydoc server" + start-stop-daemon --stop --quiet --pidfile /var/run/pydoc.pid + eend $? +} diff --git a/dev-lang/python/python-2.6.5-r3.ebuild b/dev-lang/python/python-2.6.5-r3.ebuild new file mode 100644 index 0000000..da7984b --- /dev/null +++ b/dev-lang/python/python-2.6.5-r3.ebuild @@ -0,0 +1,311 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/Attic/python-2.6.5-r3.ebuild,v 1.11 2010/12/06 02:56:40 jmbsvicetto Exp $ + +EAPI="2" + +inherit autotools eutils flag-o-matic multilib pax-utils python toolchain-funcs + +MY_P="Python-${PV}" + +PATCHSET_REVISION="5" + +DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." +HOMEPAGE="http://www.python.org/" +SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.bz2 + mirror://gentoo/python-gentoo-patches-${PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" + +LICENSE="PSF-2.2" +SLOT="2.6" +PYTHON_ABI="${SLOT}" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +IUSE="-berkdb build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" + +RDEPEND=">=app-admin/eselect-python-20091230 + >=sys-libs/zlib-1.1.3 + virtual/libffi + virtual/libintl + !build? ( + berkdb? ( || ( + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 + sys-libs/db:4.4 + sys-libs/db:4.3 + sys-libs/db:4.2 + ) ) + gdbm? ( sys-libs/gdbm ) + ncurses? ( + >=sys-libs/ncurses-5.2 + readline? ( >=sys-libs/readline-4.1 ) + ) + sqlite? ( >=dev-db/sqlite-3 ) + ssl? ( dev-libs/openssl ) + tk? ( >=dev-lang/tk-8.0 ) + xml? ( >=dev-libs/expat-2 ) + ) + doc? ( dev-python/python-docs:${SLOT} )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + !sys-devel/gcc[libffi]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND="app-admin/python-updater" + +PROVIDE="virtual/python" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python_pkg_setup + + if use berkdb; then + ewarn "\"bsddb\" module is out-of-date and no longer maintained inside dev-lang/python. It has" + ewarn "been additionally removed in Python 3. You should use external, still maintained \"bsddb3\"" + ewarn "module provided by dev-python/bsddb3 which supports both Python 2 and Python 3." + fi +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat + rm -fr Modules/_ctypes/libffi* + rm -fr Modules/zlib + + if ! tc-is-cross-compiler; then + rm "${WORKDIR}/${PV}"/*_all_crosscompile.patch + fi + + EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PV}" + + # Avoid regeneration, which would not change contents of files. + touch Include/Python-ast.h Python/Python-ast.c + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # Fix os.utime() on hppa. utimes it not supported but unfortunately reported as working - gmsoft (22 May 04) + # PLEASE LEAVE THIS FIX FOR NEXT VERSIONS AS IT'S A CRITICAL FIX !!! + [[ "${ARCH}" == "hppa" ]] && sed -e "s/utimes //" -i "${S}/configure" + + if ! use wininst; then + # Remove Microsoft Windows executables. + rm Lib/distutils/command/wininst-*.exe + fi + + # Fix OtherFileTests.testStdin() not to assume + # that stdin is a tty for bug #248081. + sed -e "s:'osf1V5':'osf1V5' and sys.stdin.isatty():" -i Lib/test/test_file.py || die "sed failed" + + eautoreconf +} + +src_configure() { + # Disable extraneous modules with extra dependencies. + if use build; then + export PYTHON_DISABLE_MODULES="dbm _bsddb gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" + export PYTHON_DISABLE_SSL="1" + else + # dbm module can be linked against berkdb or gdbm. + # Defaults to gdbm when both are enabled, #204343. + local disable + use berkdb || use gdbm || disable+=" dbm" + use berkdb || disable+=" _bsddb" + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + if tc-is-cross-compiler; then + OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ + ./configure --{build,host}=${CBUILD} || die "cross-configure failed" + emake python Parser/pgen || die "cross-make failed" + mv python hostpython + mv Parser/pgen Parser/hostpgen + make distclean + sed -i \ + -e "/^HOSTPYTHON/s:=.*:=./hostpython:" \ + -e "/^HOSTPGEN/s:=.*:=./Parser/hostpgen:" \ + Makefile.pre.in || die "sed failed" + fi + + # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. + tc-export CXX + + # Set LDFLAGS so we link modules with -lpython2.6 correctly. + # Needed on FreeBSD unless Python 2.6 is already installed. + # Please query BSD team before removing this! + append-ldflags "-L." + + OPT="" econf \ + --with-fpectl \ + --enable-shared \ + $(use_enable ipv6) \ + $(use_with threads) \ + $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \ + --infodir='${prefix}/share/info' \ + --mandir='${prefix}/share/man' \ + --with-libc="" \ + --with-system-ffi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Byte compiling should be enabled here. + # Otherwise test_import fails. + python_enable_pyc + + # Skip failing tests. + local skip_tests="distutils httpservers minidom pyexpat sax tcl" + + # test_ctypes fails with PAX kernel (bug #234498). + host-is-pax && skip_tests+=" ctypes" + + for test in ${skip_tests}; do + mv "${S}/Lib/test/test_${test}.py" "${T}" + done + + # Rerun failed tests in verbose mode (regrtest -w). + EXTRATESTOPTS="-w" emake test + local result="$?" + + for test in ${skip_tests}; do + mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" + done + + elog "The following tests have been skipped:" + for test in ${skip_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}$(python_get_libdir)/test'" + elog "and run the tests separately." + + python_disable_pyc + + if [[ "${result}" -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + [[ -z "${ED}" ]] && ED="${D%/}${EPREFIX}/" + + emake DESTDIR="${D}" altinstall maninstall || die "emake altinstall maninstall failed" + python_clean_installation_image -q + + mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" + + # Fix collisions between different slots of Python. + mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}" + mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}" + mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}" + mv "${ED}usr/share/man/man1/python.1" "${ED}usr/share/man/man1/python${SLOT}.1" + rm -f "${ED}usr/bin/smtpd.py" + + if use build; then + rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{bsddb,idlelib,lib-tk,sqlite3,test} + else + use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/"{bsddb/test,test} + use berkdb || rm -fr "${ED}$(python_get_libdir)/"{bsddb,test/test_bsddb*} + use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} + use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,lib-tk} + fi + + use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" + + prep_ml_includes $(python_get_includedir) + + dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins -r "${S}/Tools" || die "doins failed" + fi + + newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" + newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" + + # Do not install empty directory. + rmdir "${ED}$(python_get_libdir)/lib-old" +} + +pkg_preinst() { + if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version "${CATEGORY}/${PN}:2.6" && ! has_version "${CATEGORY}/${PN}:2.7"; then + python_updater_warning="1" + fi +} + +eselect_python_update() { + local eselect_python_options + [[ "$(eselect python show)" == "python2."* ]] && eselect_python_options="--python2" + + # Create python2 symlink. + eselect python update --python2 > /dev/null + + eselect python update ${eselect_python_options} +} + +pkg_postinst() { + eselect_python_update + + python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) + + if [[ "${python_updater_warning}" == "1" ]]; then + ewarn + ewarn "\e[1;31m************************************************************************\e[0m" + ewarn + ewarn "You have just upgraded from an older version of Python." + ewarn "You should run 'python-updater \${options}' to rebuild Python modules." + ewarn + ewarn "\e[1;31m************************************************************************\e[0m" + ewarn + ebeep 12 + fi +} + +pkg_postrm() { + eselect_python_update + + python_mod_cleanup $(python_get_libdir) +} diff --git a/net-mail/dbmail/Manifest b/net-mail/dbmail/Manifest new file mode 100644 index 0000000..3bfe21a --- /dev/null +++ b/net-mail/dbmail/Manifest @@ -0,0 +1,19 @@ +AUX dbmail-2.0.4-01_quota.patch 5108 RMD160 1d66f58f09f2367955d000def9ec792a2247da5d SHA1 e7c146a8687c2e6033884a345f887f0ab85dd120 SHA256 84c977684a26bd0a77a81c66e63e889d2d2acf9e9bac51b8b9d3aeb71f4ebc77 +AUX dbmail-2.0.4-fPIC.patch 2871 RMD160 e3a1080a9cbc61d042b9111b896ff7582f553aa9 SHA1 d108f3652e07a9583c4236868157e0f5a051f632 SHA256 2afd521204639963903b5148c1db8b062ce5731f12ca6c5da63b2ca2cadd8e3e +AUX dbmail-imapd.rc 540 RMD160 215c9c81462c6aa1fecc96acf2ff9087a3213258 SHA1 97294a9b9522cb5e903624bc2a0495a74c79da5d SHA256 cf602849145b3aae2ecbd416ecea3d55bb9d46e53b07d5932de913b4f16011dc +AUX dbmail-pop3d.rc 540 RMD160 906afb1688f7fc52a85317e1c644695d92592a71 SHA1 998500fb2793218efe90162bbee1fc543a079308 SHA256 943bac2beedb76903efaf3c990b09a44eaf89cf5f937ef997406439e2992520c +AUX dbmail-startup-gentoo.patch 10704 RMD160 b6eff3d2181d28dfc21e7bfe358387d5b75499d7 SHA1 ae22d9558c28ff8283448e60544a9119215d31e2 SHA256 533756d346fbe32999f4fee6c6cdc3a00c7a639d43450447320f48a7a30ce4f3 +DIST dbmail-1.2.11.tgz 248256 RMD160 605864ca651f89f9a5a2d85635569db68d3cf1db SHA1 078e13180ec41a3635937418ce1c2bb356f77ae9 SHA256 4fcdf66fb8f6ab97fad014a5c54284f6ae815ae48708692c29c5dd5edc45c17b +DIST dbmail-1.2.12.1.tgz 253497 RMD160 ea27c26f422676495d200644c0fd3212c69f50aa SHA1 9a761ee917164a90b7adce82fe655381cd64a6a0 SHA256 a49fb9a66717d85025f787f23c4f61aca75cf1a00a7e422bc342538e135abea1 +DIST dbmail-2.0.4.tgz 589603 RMD160 fdf3d9489ff14f910b138c4af4bfcfd66366c58a SHA1 81c60c5c25f3d0b8acac3fc8f1c426551e878198 SHA256 a212a122bc7184ebc80393ded289abfbfe068beec7e7f02487f8b140d86a9daa +DIST dbmail-2.0.5.tar.gz 583899 RMD160 49b0d34b18b26d837eb3ab17fa4053d2ed438fd4 SHA1 fea56160380bf95e9235086faa9f0ebcffc51ecf SHA256 787186abcfec648d34505a30783607659b67c5ffb88b2a8e026a4577fb83538c +DIST dbmail-2.0.6.tar.gz 582932 RMD160 c4d4e26eec9934dd638816833830591db9f4a3b4 SHA1 d7704aa23d381b5bad7f05339119f461d20dac8c SHA256 cd1de68b603db90fb6e4c404832b01054e6c8e66e28d5e3fa7077ace113eb7bb +DIST dbmail-2.0.7.tar.gz 584457 RMD160 f23d83c5adeb47f84d366ea147a4ce7f654f0508 SHA1 36736997c259900e060dd48c6972ff2cb1dd6590 SHA256 ef678002a0f6eed3ae8babc17760e36a76e678852c50d70d8dee1fe693f54026 +EBUILD dbmail-1.2.11.ebuild 3622 RMD160 916d9424afc3d63ae95f4b290edf2bfe0590088a SHA1 25ffebd190e026af1fa4925e6d64d3837285d272 SHA256 83c2e98c14797ae3d489cb59cce1359836a4014ca02a2903c272d60ef01629f5 +EBUILD dbmail-1.2.12.1-r1.ebuild 3016 RMD160 8f83c245a9c1aa0c890f914f07666299189af3aa SHA1 cefbf4d070815fb837f46594a68535f1fa6d8717 SHA256 78438e6c0fdbfa7055d550e8445df60d496be8fa93c546f5dac1be68758ee4d9 +EBUILD dbmail-2.0.4.ebuild 4236 RMD160 82566918240a355ccc95efe120cf49d60cfa23c2 SHA1 b146884ce9bf6def81aa12f63e9948d880cbe602 SHA256 e1552f141aacb262bb90dc049dd1389053e879b4bfd4591bda09d3a94c0f743f +EBUILD dbmail-2.0.5.ebuild 4191 RMD160 947191ccf070c1e6671c1ead3080ce3c73a124af SHA1 0e57733a37b76d5fe61f49eb55b331fa743118d9 SHA256 1788b95d2cc82cce7fa29949b02a36b2de47acc560f25977da8210c6e0d1e003 +EBUILD dbmail-2.0.6-r1.ebuild 4275 RMD160 af446e23cf6664fd759d3cfb345c5c0f7518c182 SHA1 9c4b90b5df146bf11f8f4b24df18cc4450a61fbf SHA256 60b23851cbe2d5ccb81e5d2da14b717da4b93e1f5b7a7336b92fb7214dbd986d +EBUILD dbmail-2.0.6-r2.ebuild 4232 RMD160 b3266a2f0714dd58b2e2c8ed8b3f9b5a0f36d5f2 SHA1 fde9d35521e5becef096ed7e05a58e7338ff92de SHA256 728bf34f7088aab4176dd8a919dd6e639c93c54c968d0241e95e6bf309791e71 +EBUILD dbmail-2.0.6.ebuild 4274 RMD160 b2407f57db1ffc47f86946440e0fadc02fb9444f SHA1 9dc453a95c84936233ef917c461381adea3d3e48 SHA256 30fb2af2b367cbb7fa5b5df988cf023d3d673b53ce09d1b4baba06dc4cd08c85 +EBUILD dbmail-2.0.7.ebuild 4151 RMD160 a16c152523200f027d8b01b5f3b1bc3a2b2348cd SHA1 164a7c27e6ed94baa112008a73b37218dc6a9a80 SHA256 336d8b8ac97d71cc743d5f7b1e0adf6d300a297693ea8f74ddc2e7de52fb597c diff --git a/net-mail/dbmail/dbmail-1.2.11.ebuild b/net-mail/dbmail/dbmail-1.2.11.ebuild new file mode 100644 index 0000000..a4926f9 --- /dev/null +++ b/net-mail/dbmail/dbmail-1.2.11.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses mysql or postgresql as its data store rather than maildir" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/1.2/${P}.tgz" + +DEPEND="ssl? ( dev-libs/openssl ) + postgres? ( >=dev-db/postgresql-7.4 ) + mysql? ( >=virtual/mysql-4.1 )" + +RDEPEND="mysql? ( dev-db/mysql ) + postgres? ( dev-db/postgresql )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="~x86 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + for file in dbmail-smtp dbmail-pop3d dbmail-imapd \ + dbmail-maintenance dbmail-adduser \ + dbmail-mini-injector dbmail-readvut + do + chown dbmail:dbmail $file + chmod 770 $file + dobin $file + done + doman man/* + dodoc AUTHORS INSTALL EXTRAS ChangeLog COPYING \ + VERSION NEWS README TODO mysql2pgsql/HOW-TO-CONVERT + insinto /etc + doins dbmail.conf + exeinto /etc/init.d + newexe ${FILESDIR}/dbmail-pop3d.rc dbmail-pop3d + newexe ${FILESDIR}/dbmail-imapd.rc dbmail-imapd + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-maintenance -cfpd >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + mysqladmin create dbmail + createuser -U postgres -a -d dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> No initial database config for MySQL yet. " + einfo "You must configure your MySQL database manually " + fi + einfo "Please read /usr/share/doc/dbmail-1.1/INSTALL " + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-adduser a john secret 0 25000000 " + einfo " john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-1.2.12.1-r1.ebuild b/net-mail/dbmail/dbmail-1.2.12.1-r1.ebuild new file mode 100644 index 0000000..1d25596 --- /dev/null +++ b/net-mail/dbmail/dbmail-1.2.12.1-r1.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres " + +DESCRIPTION="A mail transfer agent that uses postgresql as its data store rather than maildir" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/1.2/${P}.tgz" + +DEPEND="ssl? ( dev-libs/openssl ) + postgres? ( >=dev-db/postgresql-base-7.4 )" + +RDEPEND=" postgres? ( dev-db/postgresql-base )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="~x86 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_compile() { + + cd ${S} + export LDFLAGS=-L/usr/lib/postgresql-8.1/lib + ./configure --prefix=/usr \ + --with-openssl \ + --with-pgsql=/usr/include/postgresql-8.1 || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + for file in dbmail-smtp dbmail-pop3d dbmail-imapd \ + dbmail-maintenance dbmail-adduser \ + dbmail-mini-injector dbmail-readvut + do + chown dbmail:dbmail $file + chmod 770 $file + dobin $file + done + doman man/* + dodoc AUTHORS INSTALL EXTRAS ChangeLog COPYING \ + VERSION NEWS README TODO mysql2pgsql/HOW-TO-CONVERT + insinto /etc + doins dbmail.conf + exeinto /etc/init.d + newexe ${FILESDIR}/dbmail-pop3d.rc dbmail-pop3d + newexe ${FILESDIR}/dbmail-imapd.rc dbmail-imapd + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-maintenance -cfpd >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> No initial database config for MySQL yet. " + einfo "You must configure your MySQL database manually " + fi + einfo "Please read /usr/share/doc/dbmail-1.1/INSTALL " + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-adduser a john secret 0 25000000 " + einfo " john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-2.0.4.ebuild b/net-mail/dbmail/dbmail-2.0.4.ebuild new file mode 100644 index 0000000..984952f --- /dev/null +++ b/net-mail/dbmail/dbmail-2.0.4.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses MySQL or PostgreSQL as its data store" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/2.0/${P}.tgz" + +DEPEND="openssl" + +RDEPEND="mysql? ( >=dev-db/mysql-4.0.12 ) + postgres? ( dev-db/postgresql )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="x86 amd64 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/dbmail-startup-gentoo.patch + epatch ${FILESDIR}/dbmail-2.0.4-01_quota.patch + epatch ${FILESDIR}/dbmail-2.0.4-fPIC.patch +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + make DESTDIR=${D} install || die "Install Problem" + + dodoc AUTHORS BUGS INSTALL EXTRAS ChangeLog COPYING \ + INSTALL.exim INSTALL.postfix INSTALL.qmail UPGRADING \ + VERSION NEWS README THANKS TODO + insinto /etc + doins dbmail.conf + + insinto /etc/conf.d + doins contrib/startup-scripts/gentoo/conf.d/dbmail-imapd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d + + exeinto /etc/init.d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-pop3d dbmail-pop3d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd dbmail-lmtpd + newexe contrib/startup-scripts/gentoo/init.d/dbmail-imapd dbmail-imapd + + dobin contrib/mailbox2dbmail/mailbox2dbmail + doman contrib/mailbox2dbmail/mailbox2dbmail.1 + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + install -d -m0755 -o dbmail -g dbmail ${ROOT}/var/run/dbmail + + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> Database schemes can be found in /home/dbmail/sql" + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-util -cpdy >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + einfo ">>> Creating postgres database dbmail. " + createdb dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> Creating mysql database dbmail. " + mysqladmin create dbmail + mysql dbmail < /home/dbmail/sql/mysql/create_tables.mysql + einfo "You may want to add a user for dbmail database " + fi + einfo "Please read /usr/share/doc/${P}/INSTALL.gz" + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-users -a john -w secret -g 0 -m 25M " + einfo " -s john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-2.0.5.ebuild b/net-mail/dbmail/dbmail-2.0.5.ebuild new file mode 100644 index 0000000..e795251 --- /dev/null +++ b/net-mail/dbmail/dbmail-2.0.5.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses MySQL or PostgreSQL as its data store" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/2.0/${P}.tar.gz" + +DEPEND="openssl" + +RDEPEND="mysql? ( >=dev-db/mysql-4.0.12 ) + postgres? ( dev-db/postgresql )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="x86 amd64 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/dbmail-startup-gentoo.patch + epatch ${FILESDIR}/dbmail-2.0.4-fPIC.patch +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + make DESTDIR=${D} install || die "Install Problem" + + dodoc AUTHORS BUGS INSTALL EXTRAS ChangeLog COPYING \ + INSTALL.exim INSTALL.postfix INSTALL.qmail UPGRADING \ + VERSION NEWS README THANKS TODO + insinto /etc + doins dbmail.conf + + insinto /etc/conf.d + doins contrib/startup-scripts/gentoo/conf.d/dbmail-imapd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d + + exeinto /etc/init.d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-pop3d dbmail-pop3d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd dbmail-lmtpd + newexe contrib/startup-scripts/gentoo/init.d/dbmail-imapd dbmail-imapd + + dobin contrib/mailbox2dbmail/mailbox2dbmail + doman contrib/mailbox2dbmail/mailbox2dbmail.1 + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + install -d -m0755 -o dbmail -g dbmail ${ROOT}/var/run/dbmail + + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> Database schemes can be found in /home/dbmail/sql" + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-util -cpdy >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + einfo ">>> Creating postgres database dbmail. " + createdb dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> Creating mysql database dbmail. " + mysqladmin create dbmail + mysql dbmail < /home/dbmail/sql/mysql/create_tables.mysql + einfo "You may want to add a user for dbmail database " + fi + einfo "Please read /usr/share/doc/${P}/INSTALL.gz" + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-users -a john -w secret -g 0 -m 25M " + einfo " -s john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-2.0.6-r1.ebuild b/net-mail/dbmail/dbmail-2.0.6-r1.ebuild new file mode 100644 index 0000000..0fadebe --- /dev/null +++ b/net-mail/dbmail/dbmail-2.0.6-r1.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses MySQL or PostgreSQL as its data store" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/2.0/${P}.tar.gz" + +DEPEND="openssl" + +RDEPEND="mysql? ( >=dev-db/mysql-4.0.12 ) + postgres? ( dev-db/postgresql )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="x86 amd64 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + #epatch ${FILESDIR}/dbmail-startup-gentoo.patch + epatch ${FILESDIR}/dbmail-2.0.4-fPIC.patch +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + make DESTDIR=${D} install || die "Install Problem" + + dodoc AUTHORS BUGS INSTALL EXTRAS ChangeLog COPYING \ + INSTALL.exim INSTALL.postfix INSTALL.qmail UPGRADING \ + VERSION NEWS README THANKS TODO + insinto /etc + doins dbmail.conf + + insinto /etc/conf.d + doins contrib/startup-scripts/gentoo/conf.d/dbmail-imapd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d + + exeinto /etc/init.d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-pop3d dbmail-pop3d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd dbmail-lmtpd + newexe contrib/startup-scripts/gentoo/init.d/dbmail-imapd dbmail-imapd + + dobin contrib/mailbox2dbmail/mailbox2dbmail + doman contrib/mailbox2dbmail/mailbox2dbmail.1 + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + install -d -m0755 -o dbmail -g dbmail ${ROOT}/var/run/dbmail + + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> Database schemes can be found in /home/dbmail/sql" + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-util -cpdy >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + einfo ">>> Creating postgres database dbmail. " + createdb dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> Creating mysql database dbmail. " + mysqladmin create dbmail + mysql dbmail < /home/dbmail/sql/mysql/create_tables_innoDB.mysql + einfo "You may want to add a user for dbmail database " + einfo "GRANT ALL ON dbmail.* to dbmail@localhost identified by '' " + fi + einfo "Please read /usr/share/doc/${P}/INSTALL.gz" + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-users -a john -w secret -g 0 -m 25M " + einfo " -s john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-2.0.6-r2.ebuild b/net-mail/dbmail/dbmail-2.0.6-r2.ebuild new file mode 100644 index 0000000..5210ab9 --- /dev/null +++ b/net-mail/dbmail/dbmail-2.0.6-r2.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses MySQL or PostgreSQL as its data store" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/2.0/${P}.tar.gz" + +DEPEND="openssl" + +RDEPEND="mysql? ( >=dev-db/mysql-4.0.12 ) + postgres? ( dev-db/postgresql )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="x86 amd64 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + #epatch ${FILESDIR}/dbmail-startup-gentoo.patch + epatch ${FILESDIR}/dbmail-2.0.4-fPIC.patch +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + make DESTDIR=${D} install || die "Install Problem" + + dodoc AUTHORS BUGS INSTALL EXTRAS ChangeLog COPYING \ + INSTALL.exim INSTALL.postfix INSTALL.qmail UPGRADING \ + VERSION NEWS README THANKS TODO + insinto /etc + doins dbmail.conf + + newinitd contrib/startup-scripts/gentoo/dbmail-imapd dbmail-imapd + newinitd contrib/startup-scripts/gentoo/dbmail-lmtpd dbmail-lmtpd + newinitd contrib/startup-scripts/gentoo/dbmail-pop3d dbmail-pop3d + dosed "s:/usr/local/sbin:/usr/sbin:" /etc/init.d/dbmail-imapd + dosed "s:/usr/local/sbin:/usr/sbin:" /etc/init.d/dbmail-lmtpd + dosed "s:/usr/local/sbin:/usr/sbin:" /etc/init.d/dbmail-pop3d + + dobin contrib/mailbox2dbmail/mailbox2dbmail + doman contrib/mailbox2dbmail/mailbox2dbmail.1 + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + install -d -m0755 -o dbmail -g dbmail ${ROOT}/var/run/dbmail + + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> Database schemes can be found in /home/dbmail/sql" + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-util -cpdy >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + einfo ">>> Creating postgres database dbmail. " + createdb dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> Creating mysql database dbmail. " + mysqladmin create dbmail + mysql dbmail < /home/dbmail/sql/mysql/create_tables_innoDB.mysql + einfo "You may want to add a user for dbmail database " + einfo "GRANT ALL ON dbmail.* to dbmail@localhost identified by '' " + fi + einfo "Please read /usr/share/doc/${P}/INSTALL.gz" + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-users -a john -w secret -g 0 -m 25M " + einfo " -s john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-2.0.6.ebuild b/net-mail/dbmail/dbmail-2.0.6.ebuild new file mode 100644 index 0000000..1cd5e58 --- /dev/null +++ b/net-mail/dbmail/dbmail-2.0.6.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses MySQL or PostgreSQL as its data store" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/2.0/${P}.tar.gz" + +DEPEND="openssl" + +RDEPEND="mysql? ( >=dev-db/mysql-4.0.12 ) + postgres? ( dev-db/postgresql )" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="x86 amd64 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/dbmail-startup-gentoo.patch + epatch ${FILESDIR}/dbmail-2.0.4-fPIC.patch +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + make DESTDIR=${D} install || die "Install Problem" + + dodoc AUTHORS BUGS INSTALL EXTRAS ChangeLog COPYING \ + INSTALL.exim INSTALL.postfix INSTALL.qmail UPGRADING \ + VERSION NEWS README THANKS TODO + insinto /etc + doins dbmail.conf + + insinto /etc/conf.d + doins contrib/startup-scripts/gentoo/conf.d/dbmail-imapd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd + doins contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d + + exeinto /etc/init.d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-pop3d dbmail-pop3d + newexe contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd dbmail-lmtpd + newexe contrib/startup-scripts/gentoo/init.d/dbmail-imapd dbmail-imapd + + dobin contrib/mailbox2dbmail/mailbox2dbmail + doman contrib/mailbox2dbmail/mailbox2dbmail.1 + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + install -d -m0755 -o dbmail -g dbmail ${ROOT}/var/run/dbmail + + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> Database schemes can be found in /home/dbmail/sql" + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-util -cpdy >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + einfo ">>> Creating postgres database dbmail. " + createdb dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> Creating mysql database dbmail. " + mysqladmin create dbmail + mysql dbmail < /home/dbmail/sql/mysql/create_tables_innoDB.mysql + einfo "You may want to add a user for dbmail database " + einfo "GRANT ALL ON dbmail.* to dbmail@localhost identified by '' " + fi + einfo "Please read /usr/share/doc/${P}/INSTALL.gz" + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-users -a john -w secret -g 0 -m 25M " + einfo " -s john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/dbmail-2.0.7.ebuild b/net-mail/dbmail/dbmail-2.0.7.ebuild new file mode 100644 index 0000000..5fa97ee --- /dev/null +++ b/net-mail/dbmail/dbmail-2.0.7.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +IUSE="ssl postgres mysql" + +DESCRIPTION="A mail transfer agent that uses MySQL or PostgreSQL as its data store" +HOMEPAGE="http://www.dbmail.org/" +SRC_URI="http://www.dbmail.org/download/2.0/${P}.tar.gz" + +DEPEND="ssl? ( dev-libs/openssl ) + postgres? ( >=dev-db/postgresql-7.4 ) + mysql? ( >=virtual/mysql-4.1 ) +" + +SLOT="0" +LICENSE="gpl-2" +KEYWORDS="x86 amd64 ~ppc ~sparc" + +pkg_setup() { + + enewgroup dbmail + enewuser dbmail -1 /bin/bash /home/dbmail dbmail + einfo "Creating /home/dbmail if it does not exist." + if ! [ -d /home/dbmail ]; then + einfo "* Creating /home/dbmail" + mkdir /home/dbmail + fi +} + +src_unpack() { + unpack ${A} + cd ${S} +} + +src_compile() { + if [ -n "`use mysql`" -a -n "`use postgres`" ]; then + eerror "Unfortunatly you can't have both MySQL and PostgreSQL enabled at the same time." + eerror "You have to remove either 'mysql' or 'postgres' from your USE flags before emerging this." + + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "You can add:" + einfo "net-mail/dbmail [use flags]" + einfo "to the file:" + einfo "/etc/portage/package.use" + einfo "to permamently set this package's USE flags" + ) + + exit 1 + fi + + local myconf + + use mysql && myconf="$myconf --with-mysql" + use postgres && myconf="$myconf --with-pgsql" + + cd ${S} + ./configure --prefix=/usr \ + --with-openssl \ + $myconf || die + + emake || die "compile problem" + +} + +src_install() { + cd ${S} + make DESTDIR=${D} install || die "Install Problem" + + dodoc AUTHORS BUGS INSTALL EXTRAS ChangeLog COPYING \ + INSTALL.exim INSTALL.postfix INSTALL.qmail UPGRADING \ + VERSION NEWS README THANKS TODO + insinto /etc + doins dbmail.conf + + newinitd contrib/startup-scripts/gentoo/dbmail-imapd dbmail-imapd + newinitd contrib/startup-scripts/gentoo/dbmail-lmtpd dbmail-lmtpd + newinitd contrib/startup-scripts/gentoo/dbmail-pop3d dbmail-pop3d + dosed "s:/usr/local/sbin:/usr/sbin:" /etc/init.d/dbmail-imapd + dosed "s:/usr/local/sbin:/usr/sbin:" /etc/init.d/dbmail-lmtpd + dosed "s:/usr/local/sbin:/usr/sbin:" /etc/init.d/dbmail-pop3d + + dobin contrib/mailbox2dbmail/mailbox2dbmail + doman contrib/mailbox2dbmail/mailbox2dbmail.1 + + mkdir -p ${D}/home/dbmail/sql + cp -a sql ${D}/home/dbmail/ + +} + +pkg_postinst() { + install -d -m0755 -o dbmail -g dbmail ${ROOT}/var/run/dbmail + + einfo ">>> Execute the following command" + einfo ">>> ebuild /var/db/pkg/net-mail/${PF}/${PF}.ebuild config" + einfo ">>> to setup the initial database environment and " + einfo ">>> for more setup instructions." + einfo ">>> Database schemes can be found in /home/dbmail/sql" + einfo ">>> --- For maintenance ---" + einfo ">>> add this to crontab: 0 3 * * * /usr/bin/dbmail-util -cpdy >> /dev/null 2>&1 " +} + +pkg_config() { + + einfo ">>> Initializing the database user, databse, and tables ..." + if [ -n "`use postgres`" ]; then + einfo ">>> Creating postgres user dbmail. " + einfo "You may want to add a password for dbmail: " + einfo "`psql -c "ALTER USER dbmail WITH PASSWORD 'secret';"`" + createuser -U postgres -a -d dbmail + einfo ">>> Creating postgres database dbmail. " + createdb dbmail + psql -U dbmail dbmail < /home/dbmail/sql/postgresql/create_tables.pgsql + else + einfo ">>> Creating mysql database dbmail. " + mysqladmin create dbmail + mysql dbmail < /home/dbmail/sql/mysql/create_tables_innoDB.mysql + einfo "You may want to add a user for dbmail database " + einfo "GRANT ALL ON dbmail.* to dbmail@localhost identified by '' " + fi + einfo "Please read /usr/share/doc/${P}/INSTALL.gz" + einfo "for remaining instructions on setting up dbmail users and " + einfo "for finishing configuration to connect to your MTA and " + einfo "to connect to your db." + einfo "" + einfo "The next step is to add users to the db. Example: " + einfo " ./dbmail-users -a john -w secret -g 0 -m 25M " + einfo " -s john@dude.org john@dude.net @net.com" + einfo "You will also want to follow the installation instructions " + einfo "on setting up the maintenance program to delete old messages." + einfo "Don't forget to edit /etc/dbmail.conf as well. :)" +} diff --git a/net-mail/dbmail/files/dbmail-2.0.4-01_quota.patch b/net-mail/dbmail/files/dbmail-2.0.4-01_quota.patch new file mode 100644 index 0000000..cb5dd28 --- /dev/null +++ b/net-mail/dbmail/files/dbmail-2.0.4-01_quota.patch @@ -0,0 +1,158 @@ +diff -Naur dbmail-2.0.4.org/pipe.c dbmail-2.0.4/pipe.c +--- dbmail-2.0.4.org/pipe.c 2005-03-14 11:54:00.000000000 +0000 ++++ dbmail-2.0.4/pipe.c 2005-04-09 00:50:11.000000000 +0000 +@@ -553,12 +553,11 @@ + } + + /* Loop through the users list. */ +- for (element = list_getstart(dsnusers); element != NULL; +- element = element->nextnode) { ++ for (element = list_getstart(dsnusers); element != NULL; element = element->nextnode) { + struct element *userid_elem; + int has_2 = 0, has_4 = 0, has_5 = 0, has_5_2 = 0; +- deliver_to_user_t *delivery = +- (deliver_to_user_t *) element->data; ++ deliver_to_user_t *delivery = (deliver_to_user_t *) element->data; ++ dsn_class_t dsn_result; + + /* If there was already an error during resolving, + * let's skip this delivery. */ +@@ -571,37 +570,36 @@ + userid_elem != NULL; + userid_elem = userid_elem->nextnode) { + u64_t useridnr = *(u64_t *) userid_elem->data; ++ + trace(TRACE_DEBUG, + "%s, %s: calling sort_and_deliver for useridnr [%llu]", + __FILE__, __func__, useridnr); + +- switch (sort_and_deliver(tmpmsgidnr, +- header, headersize, +- msgsize, rfcsize, +- useridnr, +- delivery->mailbox)) { +- case SORT_SUCCESS: ++ dsn_result = sort_and_deliver(tmpmsgidnr, msgsize, useridnr, delivery->mailbox); ++ ++ switch (dsn_result) { ++ case DSN_CLASS_OK: + /* Indicate success. */ + trace(TRACE_DEBUG, + "%s, %s: successful sort_and_deliver for useridnr [%llu]", + __FILE__, __func__, useridnr); + has_2 = 1; + break; +- case SORT_FAILURE: ++ case DSN_CLASS_FAIL: + /* Indicate permanent failure. */ + trace(TRACE_ERROR, + "%s, %s: permanent failure sort_and_deliver for useridnr [%llu]", + __FILE__, __func__, useridnr); + has_5 = 1; + break; +- case SORT_OVER_QUOTA: ++ case DSN_CLASS_QUOTA: + /* Indicate over quota. */ + trace(TRACE_ERROR, + "%s, %s: temporary failure sort_and_deliver for useridnr [%llu]", + __FILE__, __func__, useridnr); + has_5_2 = 1; + break; +- case SORT_WEIRD_ERROR: ++ case DSN_CLASS_TEMP: + default: + /* Assume a temporary failure */ + trace(TRACE_ERROR, +diff -Naur dbmail-2.0.4.org/sort/sort.c dbmail-2.0.4/sort/sort.c +--- dbmail-2.0.4.org/sort/sort.c 2005-03-14 11:54:00.000000000 +0000 ++++ dbmail-2.0.4/sort/sort.c 2005-04-09 00:58:54.000000000 +0000 +@@ -46,61 +46,40 @@ + #include + #include "dbmd5.h" + #include "misc.h" ++#include "dsn.h" + + #ifdef SIEVE + #include "sortsieve.h" + #endif + +-/* Run the user's sorting rules on this message +- * Retrieve the action list as either +- * a linked list of things to do, or a +- * single thing to do. Not sure yet... +- * +- * Then do it! +- * */ +-dsn_class_t sort_and_deliver(u64_t msgidnr, +- const char *header UNUSED, +- u64_t headersize UNUSED, +- u64_t totalmsgsize, +- u64_t totalrfcsize UNUSED, +- u64_t useridnr UNUSED, +- const char *mailbox) ++dsn_class_t sort_and_deliver(u64_t msgidnr, u64_t msgsize, u64_t useridnr, const char *mailbox) + { + u64_t mboxidnr, newmsgidnr; + + if (mailbox == NULL) + mailbox = "INBOX"; + +- /* There used to be code that handled the result +- * actions of a Sieve script. Since it wasn't being +- * used as of DBMail 2.0.3, I pulled it out. +- * Aaron Stone, 21 Jan 2005. */ +- +- /* Did we fail to create the mailbox? */ + if (db_find_create_mailbox(mailbox, useridnr, &mboxidnr) != 0) { +- /* Serious failure situation! */ + trace(TRACE_ERROR, "sort_and_deliver(): INBOX not found and could not be created."); +- return SORT_FAILURE; ++ return DSN_CLASS_FAIL; + } else { + switch (db_copymsg(msgidnr, mboxidnr, useridnr, &newmsgidnr)) { + case -2: +- /* Couldn't deliver because the quotum is exceeded. */ + trace(TRACE_MESSAGE, "%s, %s: error copying message to user [%llu]," + "maxmail exceeded", + __FILE__, __func__, + useridnr); +- return SORT_OVER_QUOTA; ++ return DSN_CLASS_QUOTA; + case -1: +- /* Couldn't deliver because something something went wrong. */ + trace(TRACE_ERROR, "%s, %s: error copying message to user [%llu]", + __FILE__, __func__, + useridnr); +- return SORT_WEIRD_ERROR; ++ return DSN_CLASS_TEMP; + default: + trace(TRACE_MESSAGE, "%s, %s: message id=%llu, size=%llu is inserted", + __FILE__, __func__, +- newmsgidnr, totalmsgsize); +- return SORT_SUCCESS; ++ newmsgidnr, msgsize); ++ return DSN_CLASS_OK; + } + } + } +diff -Naur dbmail-2.0.4.org/sort.h dbmail-2.0.4/sort.h +--- dbmail-2.0.4.org/sort.h 2005-03-14 11:54:00.000000000 +0000 ++++ dbmail-2.0.4/sort.h 2005-04-09 01:01:14.000000000 +0000 +@@ -46,16 +46,6 @@ + char *message; + } sort_action_t; + +-typedef enum { +- SORT_SUCCESS = 0, +- SORT_OVER_QUOTA, +- SORT_WEIRD_ERROR, +- SORT_FAILURE +-} sort_result_t; +- +-sort_result_t sort_and_deliver(u64_t msgidnr, +- const char *header, u64_t headersize, +- u64_t msgsize, u64_t rfcsize, +- u64_t useridnr, const char *mailbox); ++dsn_class_t sort_and_deliver(u64_t msgidnr, u64_t msgsize, u64_t useridnr, const char *mailbox); + + #endif /* #ifndef _SORTING_H */ diff --git a/net-mail/dbmail/files/dbmail-2.0.4-fPIC.patch b/net-mail/dbmail/files/dbmail-2.0.4-fPIC.patch new file mode 100644 index 0000000..98ea169 --- /dev/null +++ b/net-mail/dbmail/files/dbmail-2.0.4-fPIC.patch @@ -0,0 +1,53 @@ +diff -Naur dbmail-2.0.4.org/auth/Makefile.in dbmail-2.0.4/auth/Makefile.in +--- dbmail-2.0.4.org/auth/Makefile.in 2005-01-19 22:48:51.000000000 +0000 ++++ dbmail-2.0.4/auth/Makefile.in 2005-04-09 01:38:11.000000000 +0000 +@@ -136,7 +136,7 @@ + libauthdbmail_la_LIBADD = + @LDAP_TRUE@libauthdbmail_la_OBJECTS = authldap.lo + @LDAP_FALSE@libauthdbmail_la_OBJECTS = authsql.lo +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fPIC + COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +diff -Naur dbmail-2.0.4.org/mysql/Makefile.in dbmail-2.0.4/mysql/Makefile.in +--- dbmail-2.0.4.org/mysql/Makefile.in 2005-01-19 22:48:51.000000000 +0000 ++++ dbmail-2.0.4/mysql/Makefile.in 2005-04-09 01:39:06.000000000 +0000 +@@ -135,7 +135,7 @@ + libmysqldbmail_la_LDFLAGS = + libmysqldbmail_la_LIBADD = + @MYSQL_TRUE@libmysqldbmail_la_OBJECTS = dbmysql.lo +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fPIC + COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +diff -Naur dbmail-2.0.4.org/pgsql/Makefile.in dbmail-2.0.4/pgsql/Makefile.in +--- dbmail-2.0.4.org/pgsql/Makefile.in 2005-01-19 22:48:51.000000000 +0000 ++++ dbmail-2.0.4/pgsql/Makefile.in 2005-04-09 01:38:11.000000000 +0000 +@@ -135,7 +135,7 @@ + libpgsqldbmail_la_LDFLAGS = + libpgsqldbmail_la_LIBADD = + @PGSQL_TRUE@libpgsqldbmail_la_OBJECTS = dbpgsql.lo +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fPIC + COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +diff -Naur dbmail-2.0.4.org/sort/Makefile.in dbmail-2.0.4/sort/Makefile.in +--- dbmail-2.0.4.org/sort/Makefile.in 2005-01-19 22:48:51.000000000 +0000 ++++ dbmail-2.0.4/sort/Makefile.in 2005-04-09 01:38:11.000000000 +0000 +@@ -136,10 +136,10 @@ + @SIEVE_FALSE@libsortdbmail_la_OBJECTS = sort.lo + @SIEVE_TRUE@libsortdbmail_la_OBJECTS = sort.lo sortsieve.lo + CFLAGS = @CFLAGS@ +-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -fPIC ++LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -fPIC + CCLD = $(CC) +-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ ++LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -fPIC $(LDFLAGS) -o $@ + DIST_COMMON = Makefile.am Makefile.in + + diff --git a/net-mail/dbmail/files/dbmail-imapd.rc b/net-mail/dbmail/files/dbmail-imapd.rc new file mode 100755 index 0000000..35ddfdb --- /dev/null +++ b/net-mail/dbmail/files/dbmail-imapd.rc @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /home/cvsroot/gentoo-x86/net-ftp/proftpd/files/proftpd.rc6,v 1.7 2004/01/24 07:31:23 blkdeath Exp $ + +depend() { + use net + after logger + +} + +start() { + ebegin "Starting dbmail IMAP daemon" + start-stop-daemon --start --quiet --exec /usr/bin/dbmail-imapd + eend $? +} + +stop() { + ebegin "Stopping dbmail IMAP daemon" + start-stop-daemon --stop --quiet --exec /usr/bin/dbmail-imapd + eend $? +} diff --git a/net-mail/dbmail/files/dbmail-pop3d.rc b/net-mail/dbmail/files/dbmail-pop3d.rc new file mode 100755 index 0000000..3e51dbf --- /dev/null +++ b/net-mail/dbmail/files/dbmail-pop3d.rc @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /home/cvsroot/gentoo-x86/net-ftp/proftpd/files/proftpd.rc6,v 1.7 2004/01/24 07:31:23 blkdeath Exp $ + +depend() { + use net + after logger + +} + +start() { + ebegin "Starting dbmail POP3 daemon" + start-stop-daemon --start --quiet --exec /usr/bin/dbmail-pop3d + eend $? +} + +stop() { + ebegin "Stopping dbmail POP3 daemon" + start-stop-daemon --stop --quiet --exec /usr/bin/dbmail-pop3d + eend $? +} diff --git a/net-mail/dbmail/files/dbmail-startup-gentoo.patch b/net-mail/dbmail/files/dbmail-startup-gentoo.patch new file mode 100644 index 0000000..dec3ee2 --- /dev/null +++ b/net-mail/dbmail/files/dbmail-startup-gentoo.patch @@ -0,0 +1,384 @@ +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/conf.d/dbmail-imapd dbmail-2.0.1/contrib/startup-scripts/gentoo/conf.d/dbmail-imapd +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/conf.d/dbmail-imapd 1970-01-01 00:00:00.000000000 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/conf.d/dbmail-imapd 2004-12-11 21:12:47.966278656 +0000 +@@ -0,0 +1,19 @@ ++# dbmail-imapd configuration file ++ ++# Other options for dbmail daemon ++DBMAIL_OPTS="" ++ ++# this is the dbmail daemon executable ++DBMAIL_PROG="dbmail-imapd" ++DBMAIL_EXEC="/usr/sbin/${DBMAIL_PROG}" ++ ++# User to run dbmail daemon as ++#DBMAIL_USER="dbmail" ++DBMAIL_USER="root" ++ ++# this is where dbmail will store its pid file ++DBMAIL_PIDFILE="/var/run/dbmail/${DBMAIL_PROG}.pid" ++ ++# this is where the config file is located ++DBMAIL_CONFIG="/etc/dbmail.conf" ++ +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd dbmail-2.0.1/contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd 1970-01-01 00:00:00.000000000 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/conf.d/dbmail-lmtpd 2004-12-11 21:15:02.579814288 +0000 +@@ -0,0 +1,19 @@ ++# dbmail-lmtpd configuration file ++ ++# Other options for dbmail daemon ++DBMAIL_OPTS="" ++ ++# this is the dbmail daemon executable ++DBMAIL_PROG="dbmail-lmtpd" ++DBMAIL_EXEC="/usr/sbin/${DBMAIL_PROG}" ++ ++# User to run dbmail daemon as ++#DBMAIL_USER="dbmail" ++DBMAIL_USER="root" ++ ++# this is where dbmail will store its pid file ++DBMAIL_PIDFILE="/var/run/dbmail/${DBMAIL_PROG}.pid" ++ ++# this is where the config file is located ++DBMAIL_CONFIG="/etc/dbmail.conf" ++ +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d dbmail-2.0.1/contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d 1970-01-01 00:00:00.000000000 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/conf.d/dbmail-pop3d 2004-12-11 21:15:40.716016704 +0000 +@@ -0,0 +1,19 @@ ++# dbmail-pop3d configuration file ++ ++# Other options for dbmail daemon ++DBMAIL_OPTS="" ++ ++# this is the dbmail daemon executable ++DBMAIL_PROG="dbmail-pop3d" ++DBMAIL_EXEC="/usr/sbin/${DBMAIL_PROG}" ++ ++# User to run dbmail daemon as ++#DBMAIL_USER="dbmail" ++DBMAIL_USER="root" ++ ++# this is where dbmail will store its pid file ++DBMAIL_PIDFILE="/var/run/dbmail/${DBMAIL_PROG}.pid" ++ ++# this is where the config file is located ++DBMAIL_CONFIG="/etc/dbmail.conf" ++ +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/dbmail-imapd dbmail-2.0.1/contrib/startup-scripts/gentoo/dbmail-imapd +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/dbmail-imapd 2004-12-11 21:08:51.411240488 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/dbmail-imapd 1970-01-01 00:00:00.000000000 +0000 +@@ -1,55 +0,0 @@ +-#!/sbin/runscript +-# +-# chkconfig: - 91 35 +-# description: Starts and stops the dbmail-imapd daemon +-# +- +-# Where are the binaries located? +-PROGRAM=dbmail-imapd +-BIN_DIR=/usr/local/sbin +- +-PID_DIR=/var/run +-PID=pid +- +-# Where is the dbmail.conf file located? +-CONFIG=/etc/dbmail.conf +- +-# opts="${opts} reload" +- +-depend() { +- need net +- # This won't cause a hard failure if neither is installed, however. +- use mysql +- use pgsql +- after mta +-} +- +-initService() { +- # Avoid using root's TMPDIR +- unset TMPDIR +- +- # Check that config file exists. +- [ -f $CONFIG ] || exit 0 +- +- RETVAL=0 +-} +- +-start() { +- initService +- ebegin "Starting DBMail IMAP daemon ($PROGRAM)" +- start-stop-daemon --start --quiet \ +- --pidfile $PID_DIR/$PROGRAM.$PID \ +- --exec $BIN_DIR/$PROGRAM \ +- --name $PROGRAM \ +- -- -f $CONFIG -p $PID_DIR/$PROGRAM.$PID 2>&1 +- eend $? +-} +- +-stop() { +- initService +- ebegin "Stopping DBMail IMAP daemon ($PROGRAM)" +- start-stop-daemon --stop --quiet --retry 5 \ +- --pidfile $PID_DIR/$PROGRAM.$PID +- eend $? +-} +- +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/dbmail-lmtpd dbmail-2.0.1/contrib/startup-scripts/gentoo/dbmail-lmtpd +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/dbmail-lmtpd 2004-12-11 21:08:51.411240488 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/dbmail-lmtpd 1970-01-01 00:00:00.000000000 +0000 +@@ -1,55 +0,0 @@ +-#!/sbin/runscript +-# +-# chkconfig: - 91 35 +-# description: Starts and stops the dbmail-lmtpd daemon +-# +- +-# Where are the binaries located? +-PROGRAM=dbmail-lmtpd +-BIN_DIR=/usr/local/sbin +- +-PID_DIR=/var/run +-PID=pid +- +-# Where is the dbmail.conf file located? +-CONFIG=/etc/dbmail.conf +- +-# opts="${opts} reload" +- +-depend() { +- need net +- # This won't cause a hard failure if neither is installed, however. +- use mysql +- use pgsql +- after mta +-} +- +-initService() { +- # Avoid using root's TMPDIR +- unset TMPDIR +- +- # Check that config file exists. +- [ -f $CONFIG ] || exit 0 +- +- RETVAL=0 +-} +- +-start() { +- initService +- ebegin "Starting DBMail LMTP daemon ($PROGRAM)" +- start-stop-daemon --start --quiet \ +- --pidfile $PID_DIR/$PROGRAM.$PID \ +- --exec $BIN_DIR/$PROGRAM \ +- --name $PROGRAM \ +- -- -f $CONFIG -p $PID_DIR/$PROGRAM.$PID 2>&1 +- eend $? +-} +- +-stop() { +- initService +- ebegin "Stopping DBMail LMTP daemon ($PROGRAM)" +- start-stop-daemon --stop --quiet --retry 5 \ +- --pidfile $PID_DIR/$PROGRAM.$PID +- eend $? +-} +- +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/dbmail-pop3d dbmail-2.0.1/contrib/startup-scripts/gentoo/dbmail-pop3d +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/dbmail-pop3d 2004-12-11 21:08:51.412240336 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/dbmail-pop3d 1970-01-01 00:00:00.000000000 +0000 +@@ -1,55 +0,0 @@ +-#!/sbin/runscript +-# +-# chkconfig: - 91 35 +-# description: Starts and stops the dbmail-pop3d daemon +-# +- +-# Where are the binaries located? +-PROGRAM=dbmail-pop3d +-BIN_DIR=/usr/local/sbin +- +-PID_DIR=/var/run +-PID=pid +- +-# Where is the dbmail.conf file located? +-CONFIG=/etc/dbmail.conf +- +-# opts="${opts} reload" +- +-depend() { +- need net +- # This won't cause a hard failure if neither is installed, however. +- use mysql +- use pgsql +- after mta +-} +- +-initService() { +- # Avoid using root's TMPDIR +- unset TMPDIR +- +- # Check that config file exists. +- [ -f $CONFIG ] || exit 0 +- +- RETVAL=0 +-} +- +-start() { +- initService +- ebegin "Starting DBMail POP3 daemon ($PROGRAM)" +- start-stop-daemon --start --quiet \ +- --pidfile $PID_DIR/$PROGRAM.$PID \ +- --exec $BIN_DIR/$PROGRAM \ +- --name $PROGRAM \ +- -- -f $CONFIG -p $PID_DIR/$PROGRAM.$PID 2>&1 +- eend $? +-} +- +-stop() { +- initService +- ebegin "Stopping DBMail POP3 daemon ($PROGRAM)" +- start-stop-daemon --stop --quiet --retry 5 \ +- --pidfile $PID_DIR/$PROGRAM.$PID +- eend $? +-} +- +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/init.d/dbmail-imapd dbmail-2.0.1/contrib/startup-scripts/gentoo/init.d/dbmail-imapd +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/init.d/dbmail-imapd 1970-01-01 00:00:00.000000000 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/init.d/dbmail-imapd 2004-12-11 21:18:35.773403936 +0000 +@@ -0,0 +1,42 @@ ++#!/sbin/runscript ++ ++depend() { ++ need net ++ # This won't cause a hard failure if neither is installed, however. ++ use mysql ++ use pgsql ++ after mta ++} ++ ++start() { ++ ebegin "Performing dbmail checks" ++ dbmail-util -a >/dev/null 2>&1 ++ ret=$? ++ if [ $ret -ne 0 ]; then ++ eerror "There was a problem performing the dbmail checks" ++ eerror "Run dbmail-util -a to determine the problem" ++ return 1 ++ fi ++ ++ if [ ! -f $DBMAIL_CONFIG ]; then ++ eerror "configuration file $DBMAIL_CONFIG Not found" ++ return 1 ++ fi ++ ++ ebegin "Starting DBMail daemon ($DBMAIL_PROG)" ++ start-stop-daemon --start --quiet \ ++ --chuid $DBMAIL_USER \ ++ --pidfile $DBMAIL_PIDFILE \ ++ --exec $DBMAIL_EXEC \ ++ --name $DBMAIL_PROG \ ++ -- -f $DBMAIL_CONFIG -p $DBMAIL_PIDFILE $DBMAIL_OPTS 2>&1 ++ eend $? ++} ++ ++stop() { ++ ebegin "Stopping DBMail daemon ($DBMAIL_PROG)" ++ start-stop-daemon --stop --quiet --retry 5 \ ++ --chuid $DBMAIL_USER \ ++ --pidfile $DBMAIL_PIDFILE ++ eend $? ++} +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd dbmail-2.0.1/contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd 1970-01-01 00:00:00.000000000 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/init.d/dbmail-lmtpd 2004-12-11 21:19:30.990009736 +0000 +@@ -0,0 +1,42 @@ ++#!/sbin/runscript ++ ++depend() { ++ need net ++ # This won't cause a hard failure if neither is installed, however. ++ use mysql ++ use pgsql ++ after mta ++} ++ ++start() { ++ ebegin "Performing dbmail checks" ++ dbmail-util -a >/dev/null 2>&1 ++ ret=$? ++ if [ $ret -ne 0 ]; then ++ eerror "There was a problem performing the dbmail checks" ++ eerror "Run dbmail-util -a to determine the problem" ++ return 1 ++ fi ++ ++ if [ ! -f $DBMAIL_CONFIG ]; then ++ eerror "configuration file $DBMAIL_CONFIG Not found" ++ return 1 ++ fi ++ ++ ebegin "Starting DBMail daemon ($DBMAIL_PROG)" ++ start-stop-daemon --start --quiet \ ++ --chuid $DBMAIL_USER \ ++ --pidfile $DBMAIL_PIDFILE \ ++ --exec $DBMAIL_EXEC \ ++ --name $DBMAIL_PROG \ ++ -- -f $DBMAIL_CONFIG -p $DBMAIL_PIDFILE $DBMAIL_OPTS 2>&1 ++ eend $? ++} ++ ++stop() { ++ ebegin "Stopping DBMail daemon ($DBMAIL_PROG)" ++ start-stop-daemon --stop --quiet --retry 5 \ ++ --chuid $DBMAIL_USER \ ++ --pidfile $DBMAIL_PIDFILE ++ eend $? ++} +diff -Nru dbmail-2.0.1.org/contrib/startup-scripts/gentoo/init.d/dbmail-pop3d dbmail-2.0.1/contrib/startup-scripts/gentoo/init.d/dbmail-pop3d +--- dbmail-2.0.1.org/contrib/startup-scripts/gentoo/init.d/dbmail-pop3d 1970-01-01 00:00:00.000000000 +0000 ++++ dbmail-2.0.1/contrib/startup-scripts/gentoo/init.d/dbmail-pop3d 2004-12-11 21:19:33.973556168 +0000 +@@ -0,0 +1,42 @@ ++#!/sbin/runscript ++ ++depend() { ++ need net ++ # This won't cause a hard failure if neither is installed, however. ++ use mysql ++ use pgsql ++ after mta ++} ++ ++start() { ++ ebegin "Performing dbmail checks" ++ dbmail-util -a >/dev/null 2>&1 ++ ret=$? ++ if [ $ret -ne 0 ]; then ++ eerror "There was a problem performing the dbmail checks" ++ eerror "Run dbmail-util -a to determine the problem" ++ return 1 ++ fi ++ ++ if [ ! -f $DBMAIL_CONFIG ]; then ++ eerror "configuration file $DBMAIL_CONFIG Not found" ++ return 1 ++ fi ++ ++ ebegin "Starting DBMail daemon ($DBMAIL_PROG)" ++ start-stop-daemon --start --quiet \ ++ --chuid $DBMAIL_USER \ ++ --pidfile $DBMAIL_PIDFILE \ ++ --exec $DBMAIL_EXEC \ ++ --name $DBMAIL_PROG \ ++ -- -f $DBMAIL_CONFIG -p $DBMAIL_PIDFILE $DBMAIL_OPTS 2>&1 ++ eend $? ++} ++ ++stop() { ++ ebegin "Stopping DBMail daemon ($DBMAIL_PROG)" ++ start-stop-daemon --stop --quiet --retry 5 \ ++ --chuid $DBMAIL_USER \ ++ --pidfile $DBMAIL_PIDFILE ++ eend $? ++} diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.10 b/net-mail/dbmail/files/digest-dbmail-1.2.10 new file mode 100644 index 0000000..e2160ea --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.10 @@ -0,0 +1 @@ +MD5 a0b96ed7fe871d20f38345178ed50b96 dbmail-1.2.10.tgz 247890 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.11 b/net-mail/dbmail/files/digest-dbmail-1.2.11 new file mode 100644 index 0000000..45a6054 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.11 @@ -0,0 +1,3 @@ +MD5 5d1a3486246db78603b15245490d9386 dbmail-1.2.11.tgz 248256 +RMD160 605864ca651f89f9a5a2d85635569db68d3cf1db dbmail-1.2.11.tgz 248256 +SHA256 4fcdf66fb8f6ab97fad014a5c54284f6ae815ae48708692c29c5dd5edc45c17b dbmail-1.2.11.tgz 248256 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.3 b/net-mail/dbmail/files/digest-dbmail-1.2.3 new file mode 100644 index 0000000..695418d --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.3 @@ -0,0 +1 @@ +MD5 78d2aea0584503d859e4af202ec7257c dbmail-1.2.3.tgz 249774 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.4 b/net-mail/dbmail/files/digest-dbmail-1.2.4 new file mode 100644 index 0000000..a07c782 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.4 @@ -0,0 +1 @@ +MD5 1a7158aa032c4d6950984d0f99ee7ebe dbmail-1.2.4.tgz 245852 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.5 b/net-mail/dbmail/files/digest-dbmail-1.2.5 new file mode 100644 index 0000000..5b27af9 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.5 @@ -0,0 +1 @@ +MD5 337577142bb01b4bf28ec7a9808f5492 dbmail-1.2.5.tgz 245878 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.6 b/net-mail/dbmail/files/digest-dbmail-1.2.6 new file mode 100644 index 0000000..55c0043 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.6 @@ -0,0 +1 @@ +MD5 f40b5203f1725303f2c5013ad5588854 dbmail-1.2.6.tgz 245961 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.7 b/net-mail/dbmail/files/digest-dbmail-1.2.7 new file mode 100644 index 0000000..168b607 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.7 @@ -0,0 +1 @@ +MD5 dbd6ba5cf991301dd2aa9d184e0a3667 dbmail-1.2.7.tgz 245263 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.7a b/net-mail/dbmail/files/digest-dbmail-1.2.7a new file mode 100644 index 0000000..0395c35 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.7a @@ -0,0 +1 @@ +MD5 c15cc6b8e34527a31fb3d2e45e977b16 dbmail-1.2.7a.tgz 244788 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.7b b/net-mail/dbmail/files/digest-dbmail-1.2.7b new file mode 100644 index 0000000..0ccd4b7 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.7b @@ -0,0 +1 @@ +MD5 6400cc05d661694a16d8d5a2df9ab580 dbmail-1.2.7b.tgz 244831 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.8a b/net-mail/dbmail/files/digest-dbmail-1.2.8a new file mode 100644 index 0000000..fd08fdf --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.8a @@ -0,0 +1 @@ +MD5 1e587c3b928a5af20d8d7968785bda92 dbmail-1.2.8a.tgz 245644 diff --git a/net-mail/dbmail/files/digest-dbmail-1.2.9 b/net-mail/dbmail/files/digest-dbmail-1.2.9 new file mode 100644 index 0000000..0e67f85 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-1.2.9 @@ -0,0 +1 @@ +MD5 f97492c74e64ecabff77eb87f34a2ea5 dbmail-1.2.9.tgz 247577 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.4 b/net-mail/dbmail/files/digest-dbmail-2.0.4 new file mode 100644 index 0000000..e4cb50c --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.4 @@ -0,0 +1,3 @@ +MD5 fc80ac11a24286aa78ee71dd78c965a1 dbmail-2.0.4.tgz 589603 +RMD160 fdf3d9489ff14f910b138c4af4bfcfd66366c58a dbmail-2.0.4.tgz 589603 +SHA256 a212a122bc7184ebc80393ded289abfbfe068beec7e7f02487f8b140d86a9daa dbmail-2.0.4.tgz 589603 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.5 b/net-mail/dbmail/files/digest-dbmail-2.0.5 new file mode 100644 index 0000000..25d31c6 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.5 @@ -0,0 +1,3 @@ +MD5 ae2717988a3646ced64278004b3d1890 dbmail-2.0.5.tar.gz 583899 +RMD160 49b0d34b18b26d837eb3ab17fa4053d2ed438fd4 dbmail-2.0.5.tar.gz 583899 +SHA256 787186abcfec648d34505a30783607659b67c5ffb88b2a8e026a4577fb83538c dbmail-2.0.5.tar.gz 583899 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.6 b/net-mail/dbmail/files/digest-dbmail-2.0.6 new file mode 100644 index 0000000..623c238 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.6 @@ -0,0 +1,3 @@ +MD5 6cff2fb881f6738d2197bafd90601c76 dbmail-2.0.6.tar.gz 582932 +RMD160 c4d4e26eec9934dd638816833830591db9f4a3b4 dbmail-2.0.6.tar.gz 582932 +SHA256 cd1de68b603db90fb6e4c404832b01054e6c8e66e28d5e3fa7077ace113eb7bb dbmail-2.0.6.tar.gz 582932 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.6-r1 b/net-mail/dbmail/files/digest-dbmail-2.0.6-r1 new file mode 100644 index 0000000..623c238 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.6-r1 @@ -0,0 +1,3 @@ +MD5 6cff2fb881f6738d2197bafd90601c76 dbmail-2.0.6.tar.gz 582932 +RMD160 c4d4e26eec9934dd638816833830591db9f4a3b4 dbmail-2.0.6.tar.gz 582932 +SHA256 cd1de68b603db90fb6e4c404832b01054e6c8e66e28d5e3fa7077ace113eb7bb dbmail-2.0.6.tar.gz 582932 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.6-r2 b/net-mail/dbmail/files/digest-dbmail-2.0.6-r2 new file mode 100644 index 0000000..623c238 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.6-r2 @@ -0,0 +1,3 @@ +MD5 6cff2fb881f6738d2197bafd90601c76 dbmail-2.0.6.tar.gz 582932 +RMD160 c4d4e26eec9934dd638816833830591db9f4a3b4 dbmail-2.0.6.tar.gz 582932 +SHA256 cd1de68b603db90fb6e4c404832b01054e6c8e66e28d5e3fa7077ace113eb7bb dbmail-2.0.6.tar.gz 582932 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.7 b/net-mail/dbmail/files/digest-dbmail-2.0.7 new file mode 100644 index 0000000..108390b --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.7 @@ -0,0 +1,3 @@ +MD5 11e6eded9e5ec533f6e6ed11fc62a4d8 dbmail-2.0.7.tar.gz 584457 +RMD160 f23d83c5adeb47f84d366ea147a4ce7f654f0508 dbmail-2.0.7.tar.gz 584457 +SHA256 ef678002a0f6eed3ae8babc17760e36a76e678852c50d70d8dee1fe693f54026 dbmail-2.0.7.tar.gz 584457 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0.8 b/net-mail/dbmail/files/digest-dbmail-2.0.8 new file mode 100644 index 0000000..a86f63b --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0.8 @@ -0,0 +1 @@ +MD5 3af61cec11e1ccd7d4a9fba84e085894 dbmail-2.0.8.tar.gz 627144 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0_rc5 b/net-mail/dbmail/files/digest-dbmail-2.0_rc5 new file mode 100644 index 0000000..4b401e6 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0_rc5 @@ -0,0 +1 @@ +MD5 f3cca8eb615af565a388069c1ab68f08 dbmail-2.0rc5.tgz 273950 diff --git a/net-mail/dbmail/files/digest-dbmail-2.0_rc8 b/net-mail/dbmail/files/digest-dbmail-2.0_rc8 new file mode 100644 index 0000000..c8fa602 --- /dev/null +++ b/net-mail/dbmail/files/digest-dbmail-2.0_rc8 @@ -0,0 +1 @@ +MD5 c4de1dcd3bda486ba764a5d12765820b dbmail-2.0rc8.tgz 417518 diff --git a/net-mail/dkimproxy/Manifest b/net-mail/dkimproxy/Manifest new file mode 100644 index 0000000..cdf1401 --- /dev/null +++ b/net-mail/dkimproxy/Manifest @@ -0,0 +1,7 @@ +AUX dkimproxy_in.rc 669 RMD160 7c33f1ca5c349b9eeaf2f385f86765c7a3a5430f SHA1 267d2057bc49452ddc35daea3fcfa70a59c0ebaa SHA256 369f3a49936dc2e2319c33007132a40f2acbe4a8aaff3a84928046af517f5a97 +AUX dkimproxy_out.rc 677 RMD160 4159825a05ee24165d042565ff7be2a2dd562592 SHA1 e1f4dfe742a2332982e2d4b6eda6a6c0ca7fcf98 SHA256 28a01fa1c324f8cebdbbbc3473f5164b7b8805adf810a5d1ab586ca0d42badfe +DIST dkimproxy-1.0.1.tar.gz 77675 RMD160 e33ad826a9c9fba2a02154b95fb4f21da33541fb SHA1 73c7af9f37291725e39c5e3103c24c4d9ffd4bc8 SHA256 715ec44fd9a014804c9660e36afb3eaae9c8d860c3f2a4bf07c6cc1ddfacb6bd +DIST dkimproxy-1.1.tar.gz 78775 RMD160 575fc23152209a72160944a8ffc2714079fa543a SHA1 d6ff204690974824d546919756a408a0770182b7 SHA256 f08bfcb2e166de4c52c96ccf5c3e6b54b589beaf0d442868bd04fbd23158aba5 +EBUILD dkimproxy-1.0.1-r1.ebuild 760 RMD160 be6ecbb008d47526b21927b388c3ade3f63557b5 SHA1 33cc728305c5b731bd73c4ee6493f30f38d0aa79 SHA256 7e1d06ae1c8ec057b81a6026c72b1ee5a0abc7567568954ddbcfe2b6cffc8899 +EBUILD dkimproxy-1.0.1.ebuild 639 RMD160 b99577ccd18bdb085727311d81dfec4d788bebb0 SHA1 949b5e4e5a1ae4c76be3059778a571808ac17f4a SHA256 f52e43e3f75fddbdad0dae25a19115d6b251fb3907b5114faaaa0cef2d5d1e7c +EBUILD dkimproxy-1.1.ebuild 765 RMD160 29318937ab1510fe263c8750db6cc9881fd00e48 SHA1 80719813d6b981b5748fe7079619ba066e5b1773 SHA256 11611e4449ec3f7162fc149a00765499062a3b71d7bee02da05be9046ab2176d diff --git a/net-mail/dkimproxy/dkimproxy-1.0.1-r1.ebuild b/net-mail/dkimproxy/dkimproxy-1.0.1-r1.ebuild new file mode 100644 index 0000000..7374e8d --- /dev/null +++ b/net-mail/dkimproxy/dkimproxy-1.0.1-r1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit perl-module + +DESCRIPTION="An SMTP-proxy that signs and/or verifies emails, using the Mail::DKIM module." +HOMEPAGE="http://dkimproxy.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=">=dev-perl/Mail-DKIM-0.30 + dev-perl/Error + >=dev-perl/net-server-0.91" +RDEPEND="${DEPEND}" + +src_compile(){ + econf || die "econf failed." + emake || die "emake failed." +} + +src_install(){ + emake DESTDIR="${D}" install || die "emake install failed." + exeinto /etc/init.d + newexe ${FILESDIR}/dkimproxy_in.rc dkimproxy_in + newexe ${FILESDIR}/dkimproxy_out.rc dkimproxy_out +} diff --git a/net-mail/dkimproxy/dkimproxy-1.0.1.ebuild b/net-mail/dkimproxy/dkimproxy-1.0.1.ebuild new file mode 100644 index 0000000..e304280 --- /dev/null +++ b/net-mail/dkimproxy/dkimproxy-1.0.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit perl-module + +DESCRIPTION="An SMTP-proxy that signs and/or verifies emails, using the Mail::DKIM module." +HOMEPAGE="http://dkimproxy.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=">=dev-perl/Mail-DKIM-0.30 + dev-perl/Error + >=dev-perl/net-server-0.91" +RDEPEND="${DEPEND}" + +src_compile(){ + econf || die "econf failed." + emake || die "emake failed." +} + +src_install(){ + emake DESTDIR="${D}" install || die "emake install failed." +} diff --git a/net-mail/dkimproxy/dkimproxy-1.1.ebuild b/net-mail/dkimproxy/dkimproxy-1.1.ebuild new file mode 100644 index 0000000..57beaf5 --- /dev/null +++ b/net-mail/dkimproxy/dkimproxy-1.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit perl-module + +DESCRIPTION="An SMTP-proxy that signs and/or verifies emails, using the Mail::DKIM module." +HOMEPAGE="http://dkimproxy.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="" + +DEPEND=">=dev-perl/Mail-DKIM-0.30 + dev-perl/Error + >=dev-perl/net-server-0.91" +RDEPEND="${DEPEND}" + +src_compile(){ + econf || die "econf failed." + emake || die "emake failed." +} + +src_install(){ + emake DESTDIR="${D}" install || die "emake install failed." + exeinto /etc/init.d + newexe ${FILESDIR}/dkimproxy_in.rc dkimproxy_in + newexe ${FILESDIR}/dkimproxy_out.rc dkimproxy_out +} diff --git a/net-mail/dkimproxy/files/digest-dkimproxy-1.0.1 b/net-mail/dkimproxy/files/digest-dkimproxy-1.0.1 new file mode 100644 index 0000000..e40603b --- /dev/null +++ b/net-mail/dkimproxy/files/digest-dkimproxy-1.0.1 @@ -0,0 +1,3 @@ +MD5 31cf8c62d5a448e832ebfd93beaebb1a dkimproxy-1.0.1.tar.gz 77675 +RMD160 e33ad826a9c9fba2a02154b95fb4f21da33541fb dkimproxy-1.0.1.tar.gz 77675 +SHA256 715ec44fd9a014804c9660e36afb3eaae9c8d860c3f2a4bf07c6cc1ddfacb6bd dkimproxy-1.0.1.tar.gz 77675 diff --git a/net-mail/dkimproxy/files/digest-dkimproxy-1.0.1-r1 b/net-mail/dkimproxy/files/digest-dkimproxy-1.0.1-r1 new file mode 100644 index 0000000..e40603b --- /dev/null +++ b/net-mail/dkimproxy/files/digest-dkimproxy-1.0.1-r1 @@ -0,0 +1,3 @@ +MD5 31cf8c62d5a448e832ebfd93beaebb1a dkimproxy-1.0.1.tar.gz 77675 +RMD160 e33ad826a9c9fba2a02154b95fb4f21da33541fb dkimproxy-1.0.1.tar.gz 77675 +SHA256 715ec44fd9a014804c9660e36afb3eaae9c8d860c3f2a4bf07c6cc1ddfacb6bd dkimproxy-1.0.1.tar.gz 77675 diff --git a/net-mail/dkimproxy/files/dkimproxy_in.rc b/net-mail/dkimproxy/files/dkimproxy_in.rc new file mode 100755 index 0000000..a2e2d80 --- /dev/null +++ b/net-mail/dkimproxy/files/dkimproxy_in.rc @@ -0,0 +1,31 @@ +#!/sbin/runscript + +depend() { + need net + use mta +} + +checkconfig() { + if [ ! -f /etc/dkimproxy_in.conf ]; then + eerror "Configuration file /etc/dkimproxy_in.conf not found" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting dkimproxy_in" + start-stop-daemon --start --quiet \ + --exec /usr/bin/dkimproxy.in \ + -- --conf_file=/etc/dkimproxy_in.conf \ + --daemonize --pidfile=/var/run/dkimproxy_in.pid + eend ${?} +} + +stop() { + ebegin "Stopping dkimproxy_in" + start-stop-daemon --stop --quiet --pidfile /var/run/dkimproxy_in.pid + eend ${?} +} + diff --git a/net-mail/dkimproxy/files/dkimproxy_out.rc b/net-mail/dkimproxy/files/dkimproxy_out.rc new file mode 100755 index 0000000..fa9f03b --- /dev/null +++ b/net-mail/dkimproxy/files/dkimproxy_out.rc @@ -0,0 +1,31 @@ +#!/sbin/runscript + +depend() { + need net + use mta +} + +checkconfig() { + if [ ! -f /etc/dkimproxy_out.conf ]; then + eerror "Configuration file /etc/dkimproxy_out.conf not found" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting dkimproxy_out" + start-stop-daemon --start --quiet \ + --exec /usr/bin/dkimproxy.out \ + -- --conf_file=/etc/dkimproxy_out.conf \ + --daemonize --pidfile=/var/run/dkimproxy_out.pid + eend ${?} +} + +stop() { + ebegin "Stopping dkimproxy_out" + start-stop-daemon --stop --quiet --pidfile /var/run/dkimproxy_out.pid + eend ${?} +} + diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest new file mode 100644 index 0000000..da66450 --- /dev/null +++ b/sys-apps/portage/Manifest @@ -0,0 +1,14 @@ +DIST portage-2.1.8.3.patch.bz2 11222 RMD160 43f99de135eccd78731dfa6105edca68497b6f38 SHA1 52ce6297abcbc82913eb179209b210b9334e1351 SHA256 8e0e1efbcf6a2d62125316970052987154656f3fda892c20b99b2270e2e8943f +DIST portage-2.1.8.tar.bz2 522621 RMD160 12a079f48552b78162a857b732ab8bfe76bd7b6e SHA1 390c97f3783af2d9e52482747ead3681655ea9c3 SHA256 9440bea218a059fc52c5639945c91c8ad6fdcd8d1d4a9dc7672d0da783345303 +DIST portage-2.1.9.24.tar.bz2 728502 RMD160 da48b121036c5e6821bd50be468fdf4e01d77a6a SHA1 ebfc559b9fddca57fa2bfb8e179f7f0f660d7e07 SHA256 744375b5239833fe4e57b4ff07003947fa94ac5b2cfe8108e1dd0919642635d2 +DIST portage-2.1.9.25.tar.bz2 736245 RMD160 96b8dc89ea2bcbe2932161e0604d31d97fe877af SHA1 d445211758bead0835e275b4e3534fb635dff38b SHA256 2d19a9bda3228852bf628cf5d4fe361eae2f531e729bd9a41b76fd57bf079ef5 +DIST portage-2.1.9.26.tar.bz2 741643 RMD160 834c07be0b5ecdfcb3b13531f20c7c9f37602642 SHA1 107dd880b9e98493632f8ec97d7ee51a7ca0a0fe SHA256 6f179ae91f149e38431869e0541b8617e2c54236fcc26858f720996aebf45e3f +DIST portage-2.1.9.27.tar.bz2 744372 RMD160 3ca1a36e6c7e1dff516f4f29c3d088f2ab765b9c SHA1 d911d9e0309523d7302aaa4600efb153c1c2c863 SHA256 bb0fc7a566869673de5507d2735b7d1abe381b83d8650fee7d3a4893a5cc2c69 +DIST portage-2.1.9.42.tar.bz2 764537 RMD160 7bfef7fb167c986e36532416a0ed4b914f0a9809 SHA1 d5593b09781dae537198197adc3c1d7f7fb466f7 SHA256 1bd238065eca36aaae11607482ae43b20c64f338db7401a46c11ab56d6ff72ba +DIST portage-man-pl-2.1.2.tar.bz2 53893 RMD160 46c3656b40bf4ad2530ab2b5fbc563708b86748c SHA1 c3151e0b330c589625830e54053fbc676b2c64de SHA256 960eaa7c6f3a2af44bdc665266a8e884628a562373cc477d301597ecc5ef961f +EBUILD portage-2.1.8.3.ebuild 9294 RMD160 5c55fad71bbdee32c98ca4e3ebeef9803de4ae99 SHA1 9125c7cc061872af38063e0aa8ff6bd1a5f6849e SHA256 6d134c9ce1e0c9ce12fc289db3bc92704ac3acacb637a0b8188ef6600f289eb4 +EBUILD portage-2.1.9.24.ebuild 9617 RMD160 0ff09ba6159cf9a04ff0075134ed3b427a54b027 SHA1 1b40d2059e4e8417af456b3da698f5634e5fb5fc SHA256 c59e6ee9e7d76c545b6ab29c08568a1906edabf82604b5ed832ec838747a97a3 +EBUILD portage-2.1.9.25.ebuild 9663 RMD160 d29d2d3ce8ce758a32603ae97c56f200c500e6d5 SHA1 abda8537490864d08363dff85be9fc96326dadc0 SHA256 8058c66d7c43b6602fb6bfce92011447a7b365393df2e466f9e2420e58857c61 +EBUILD portage-2.1.9.26.ebuild 9670 RMD160 14e273d4ff554ca2b148be90cdc104a560b74309 SHA1 292773ef052082327a2e66d5f5921f13c86c1bf1 SHA256 6917513b862e3df48d556c5d83c390fb6ca7ed45b0c655392f9079cea08a0424 +EBUILD portage-2.1.9.27.ebuild 9670 RMD160 016d0a8270733a1f343831fb011bf0852dfca326 SHA1 1396515663d6b6c015db7930cc4c645db7753f06 SHA256 38d9e82a0f27fa33ff91c864ad077d4653091c6b7a862dacca908a8f15acea79 +EBUILD portage-2.1.9.42.ebuild 10289 RMD160 eabbb2280aedc80deb54be906c449d830d9adb22 SHA1 418b18ff97cd744a8ab464a210ef991111ea4f11 SHA256 dc16992343d58892741adf6cf64a220a000298c1474976a8e33b63a3be337915 diff --git a/sys-apps/portage/portage-2.1.8.3.ebuild b/sys-apps/portage/portage-2.1.8.3.ebuild new file mode 100644 index 0000000..46bf6da --- /dev/null +++ b/sys-apps/portage/portage-2.1.8.3.ebuild @@ -0,0 +1,305 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/Attic/portage-2.1.8.3.ebuild,v 1.10 2010/10/13 01:30:40 zmedico Exp $ + +# Require EAPI 2 since we now require at least python-2.6 (for python 3 +# syntax support) which also requires EAPI 2. +EAPI=2 +inherit eutils multilib python + +DESCRIPTION="Portage is the package management and distribution system for Gentoo" +HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +PROVIDE="virtual/portage" +SLOT="0" +IUSE="build doc epydoc linguas_pl python3 selinux" + +python_dep="python3? ( dev-lang/python:3.1 ) + !python3? ( + build? ( = 0x2060000 and "good" or "bad")') = good ]] +} + +pkg_setup() { + if ! use python3 && ! compatible_python_is_selected ; then + ewarn "Attempting to select a compatible default python interpreter" + local x success=0 + for x in /usr/bin/python2.* ; do + x=${x#/usr/bin/python2.} + if [[ $x -ge 6 ]] 2>/dev/null ; then + eselect python set python2.$x + if compatible_python_is_selected ; then + elog "Default python interpreter is now set to python-2.$x" + success=1 + break + fi + fi + done + if [ $success != 1 ] ; then + eerror "Unable to select a compatible default python interpreter!" + die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." + fi + fi + + if use python3; then + python_set_active_version 3 + fi +} + +src_prepare() { + if [ -n "${PATCHVER}" ] ; then + if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then + rm "$S/bin/ebuild-helpers/portageq" \ + || die "failed to remove portageq helper symlink" + fi + epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" + fi + einfo "Setting portage.VERSION to ${PVR} ..." + sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \ + die "Failed to patch portage.VERSION" + + if use python3; then + python_convert_shebangs -r 3 . + fi +} + +src_compile() { + if use doc; then + cd "${S}"/doc + touch fragment/date + make xhtml xhtml-nochunks || die "failed to make docs" + fi + + if use epydoc; then + einfo "Generating api docs" + mkdir "${WORKDIR}"/api + local my_modules epydoc_opts="" + # A name collision between the portage.dbapi class and the + # module with the same name triggers an epydoc crash unless + # portage.dbapi is excluded from introspection. + ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \ + epydoc_opts='--exclude-introspect portage\.dbapi' + my_modules="$(find "${S}/pym" -name "*.py" \ + | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ + -e 's:/:.:g' | sort)" || die "error listing modules" + # workaround for bug 282760 + > "$S/pym/pysqlite2.py" + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + epydoc -o "${WORKDIR}"/api \ + -qqqqq --no-frames --show-imports $epydoc_opts \ + --name "${PN}" --url "${HOMEPAGE}" \ + ${my_modules} || die "epydoc failed" + rm "$S/pym/pysqlite2.py" + fi +} + +src_test() { + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + ./pym/portage/tests/runTests || die "test(s) failed" +} + +src_install() { + local libdir=$(get_libdir) + local portage_base="/usr/${libdir}/portage" + local portage_share_config=/usr/share/portage/config + + cd "${S}"/cnf + insinto /etc + doins etc-update.conf dispatch-conf.conf || die + + dodir "${portage_share_config}" + insinto "${portage_share_config}" + doins "${S}/cnf/make.globals" || die + if [ -f "make.conf.${ARCH}".diff ]; then + patch make.conf "make.conf.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + newins make.conf make.conf.example || die + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + newins make.conf make.conf.example || die + fi + + dosym ..${portage_share_config}/make.globals /etc/make.globals + + insinto /etc/logrotate.d + doins "${S}"/cnf/logrotate.d/elog-save-summary || die + + # BSD and OSX need a sed wrapper so that find/xargs work properly + if use userland_GNU; then + rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" + fi + + local x symlinks + + for x in $(find "$S"/bin -type d) ; do + x=${x#$S/} + exeinto $portage_base/$x || die "exeinto failed" + cd "$S"/$x || die "cd failed" + doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \ + die "doexe failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + for x in $(find "$S"/pym -type d) ; do + x=${x#$S/} + insinto $portage_base/$x || die "insinto failed" + cd "$S"/$x || die "cd failed" + doins *.py || die "doins failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + # Symlinks to directories cause up/downgrade issues and the use of these + # modules outside of portage is probably negligible. + for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do + [ ! -L "${x}" ] && continue + die "symlink to directory will cause upgrade/downgrade issues: '${x}'" + done + + exeinto ${portage_base}/pym/portage/tests + doexe "${S}"/pym/portage/tests/runTests + + doman "${S}"/man/*.[0-9] + if use linguas_pl; then + doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] + doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] + fi + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* + use epydoc && dohtml -r "${WORKDIR}"/api + + dodir /usr/bin + for x in ebuild egencache emerge portageq repoman ; do + dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} + done + + dodir /usr/sbin + local my_syms="archive-conf + dispatch-conf + emaint + emerge-webrsync + env-update + etc-update + fixpackages + quickpkg + regenworld" + local x + for x in ${my_syms}; do + dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} + done + dosym env-update /usr/sbin/update-env + dosym etc-update /usr/sbin/update-etc + + dodir /etc/portage + keepdir /etc/portage +} + +pkg_preinst() { + if ! use build && ! has_version dev-python/pycrypto && \ + ! has_version '>=dev-lang/python-2.6[ssl]' ; then + ewarn "If you are an ebuild developer and you plan to commit ebuilds" + ewarn "with this system then please install dev-python/pycrypto or" + ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" + ewarn "to enable RMD160 hash support." + ewarn "See bug #198398 for more information." + fi + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" + fi + + [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" + REPO_LAYOUT_CONF_WARN=$? +} + +pkg_postinst() { + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym + + local warning_shown=0 + if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then + ewarn + echo "If you want overlay eclasses to override eclasses from" \ + "other repos then see the portage(5) man page" \ + "for information about the new layout.conf and repos.conf" \ + "configuration files." \ + | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done + fi + if [ $warning_shown = 1 ] ; then + ewarn # for symmetry + fi + + einfo + einfo "For help with using portage please consult the Gentoo Handbook" + einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" + einfo +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym +} diff --git a/sys-apps/portage/portage-2.1.9.24.ebuild b/sys-apps/portage/portage-2.1.9.24.ebuild new file mode 100644 index 0000000..c330c8d --- /dev/null +++ b/sys-apps/portage/portage-2.1.9.24.ebuild @@ -0,0 +1,312 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/Attic/portage-2.1.9.24.ebuild,v 1.6 2010/12/27 15:36:48 ranger Exp $ + +# Require EAPI 2 since we now require at least python-2.6 (for python 3 +# syntax support) which also requires EAPI 2. +EAPI=2 +inherit eutils multilib python + +DESCRIPTION="Portage is the package management and distribution system for Gentoo" +HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +PROVIDE="virtual/portage" +SLOT="0" +IUSE="build doc epydoc +ipc linguas_pl python3 selinux" + +python_dep="python3? ( =dev-lang/python-3* ) + !python3? ( + build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 ) ) + !build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) + )" + +# The pysqlite blocker is for bug #282760. +DEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 ) + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" + +RDEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 + >=app-shells/bash-3.2_p17 + >=app-admin/eselect-1.2 ) + elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) + elibc_glibc? ( >=sys-apps/sandbox-1.6 ) + elibc_uclibc? ( >=sys-apps/sandbox-1.6 ) + >=app-misc/pax-utils-0.1.17 + selinux? ( sys-libs/libselinux ) + != 0x2060000 and "good" or "bad")') = good ]] +} + +pkg_setup() { + if ! use python3 && ! compatible_python_is_selected ; then + ewarn "Attempting to select a compatible default python interpreter" + local x success=0 + for x in /usr/bin/python2.* ; do + x=${x#/usr/bin/python2.} + if [[ $x -ge 6 ]] 2>/dev/null ; then + eselect python set python2.$x + if compatible_python_is_selected ; then + elog "Default python interpreter is now set to python-2.$x" + success=1 + break + fi + fi + done + if [ $success != 1 ] ; then + eerror "Unable to select a compatible default python interpreter!" + die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." + fi + fi + + if use python3; then + python_set_active_version 3 + fi +} + +src_prepare() { + if [ -n "${PATCHVER}" ] ; then + if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then + rm "$S/bin/ebuild-helpers/portageq" \ + || die "failed to remove portageq helper symlink" + fi + epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" + fi + einfo "Setting portage.VERSION to ${PVR} ..." + sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ + die "Failed to patch portage.VERSION" + sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ + die "Failed to patch VERSION in doc/fragment/version" + sed -e "1s/VERSION/${PVR}/" -i man/* || \ + die "Failed to patch VERSION in man page headers" + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i pym/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use python3; then + einfo "Converting shebangs for python3..." + python_convert_shebangs -r 3 . + fi +} + +src_compile() { + if use doc; then + cd "${S}"/doc + touch fragment/date + make xhtml xhtml-nochunks || die "failed to make docs" + fi + + if use epydoc; then + einfo "Generating api docs" + mkdir "${WORKDIR}"/api + local my_modules epydoc_opts="" + my_modules="$(find "${S}/pym" -name "*.py" \ + | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ + -e 's:/:.:g' | sort)" || die "error listing modules" + # workaround for bug 282760 + > "$S/pym/pysqlite2.py" + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + epydoc -o "${WORKDIR}"/api \ + -qqqqq --no-frames --show-imports $epydoc_opts \ + --name "${PN}" --url "${HOMEPAGE}" \ + ${my_modules} || die "epydoc failed" + rm "$S/pym/pysqlite2.py" + fi +} + +src_test() { + # make files executable, in case they were created by patch + find bin -type f | xargs chmod +x + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + ./pym/portage/tests/runTests || die "test(s) failed" +} + +src_install() { + local libdir=$(get_libdir) + local portage_base="/usr/${libdir}/portage" + local portage_share_config=/usr/share/portage/config + + cd "${S}"/cnf + insinto /etc + doins etc-update.conf dispatch-conf.conf || die + + insinto "$portage_share_config" + doins "$S/cnf/make.globals" || die + if [ -f "make.conf.${ARCH}".diff ]; then + patch make.conf "make.conf.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + newins make.conf make.conf.example || die + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + newins make.conf make.conf.example || die + fi + + dosym ..${portage_share_config}/make.globals /etc/make.globals + + insinto /etc/logrotate.d + doins "${S}"/cnf/logrotate.d/elog-save-summary || die + + # BSD and OSX need a sed wrapper so that find/xargs work properly + if use userland_GNU; then + rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" + fi + + local x symlinks + + cd "$S" || die "cd failed" + for x in $(find bin -type d) ; do + exeinto $portage_base/$x || die "exeinto failed" + cd "$S"/$x || die "cd failed" + doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \ + die "doexe failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + cd "$S" || die "cd failed" + for x in $(find pym/* -type d) ; do + insinto $portage_base/$x || die "insinto failed" + cd "$S"/$x || die "cd failed" + # __pycache__ directories contain no py files + [[ "*.py" != $(echo *.py) ]] || continue + doins *.py || die "doins failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + # Symlinks to directories cause up/downgrade issues and the use of these + # modules outside of portage is probably negligible. + for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do + [ ! -L "${x}" ] && continue + die "symlink to directory will cause upgrade/downgrade issues: '${x}'" + done + + exeinto ${portage_base}/pym/portage/tests + doexe "${S}"/pym/portage/tests/runTests + + doman "${S}"/man/*.[0-9] + if use linguas_pl; then + doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] + doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] + fi + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* + use epydoc && dohtml -r "${WORKDIR}"/api + + dodir /usr/bin + for x in ebuild egencache emerge portageq quickpkg repoman ; do + dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} + done + + dodir /usr/sbin + local my_syms="archive-conf + dispatch-conf + emaint + emerge-webrsync + env-update + etc-update + fixpackages + regenworld" + local x + for x in ${my_syms}; do + dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} + done + dosym env-update /usr/sbin/update-env + dosym etc-update /usr/sbin/update-etc + + dodir /etc/portage + keepdir /etc/portage +} + +pkg_preinst() { + if ! use build && ! has_version dev-python/pycrypto && \ + ! has_version '>=dev-lang/python-2.6[ssl]' ; then + ewarn "If you are an ebuild developer and you plan to commit ebuilds" + ewarn "with this system then please install dev-python/pycrypto or" + ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" + ewarn "to enable RMD160 hash support." + ewarn "See bug #198398 for more information." + fi + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" + fi + + [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" + REPO_LAYOUT_CONF_WARN=$? +} + +pkg_postinst() { + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym + + if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then + ewarn + echo "If you want overlay eclasses to override eclasses from" \ + "other repos then see the portage(5) man page" \ + "for information about the new layout.conf and repos.conf" \ + "configuration files." \ + | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done + ewarn + fi + + einfo + einfo "For help with using portage please consult the Gentoo Handbook" + einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" + einfo +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym +} diff --git a/sys-apps/portage/portage-2.1.9.25.ebuild b/sys-apps/portage/portage-2.1.9.25.ebuild new file mode 100644 index 0000000..222cf6f --- /dev/null +++ b/sys-apps/portage/portage-2.1.9.25.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/Attic/portage-2.1.9.25.ebuild,v 1.6 2010/12/28 17:00:17 maekke Exp $ + +# Require EAPI 2 since we now require at least python-2.6 (for python 3 +# syntax support) which also requires EAPI 2. +EAPI=2 +inherit eutils multilib python + +DESCRIPTION="Portage is the package management and distribution system for Gentoo" +HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" +LICENSE="GPL-2" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd" +PROVIDE="virtual/portage" +SLOT="0" +IUSE="build doc epydoc +ipc linguas_pl python3 selinux" + +python_dep="python3? ( =dev-lang/python-3* ) + !python3? ( + build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 ) ) + !build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) + )" + +# The pysqlite blocker is for bug #282760. +DEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 ) + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" + +RDEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 + >=app-shells/bash-3.2_p17 + >=app-admin/eselect-1.2 ) + elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) + elibc_glibc? ( >=sys-apps/sandbox-1.6 ) + elibc_uclibc? ( >=sys-apps/sandbox-1.6 ) + >=app-misc/pax-utils-0.1.17 + selinux? ( sys-libs/libselinux ) + != 0x2060000 and "good" or "bad")') = good ]] +} + +pkg_setup() { + if ! use python3 && ! compatible_python_is_selected ; then + ewarn "Attempting to select a compatible default python interpreter" + local x success=0 + for x in /usr/bin/python2.* ; do + x=${x#/usr/bin/python2.} + if [[ $x -ge 6 ]] 2>/dev/null ; then + eselect python set python2.$x + if compatible_python_is_selected ; then + elog "Default python interpreter is now set to python-2.$x" + success=1 + break + fi + fi + done + if [ $success != 1 ] ; then + eerror "Unable to select a compatible default python interpreter!" + die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." + fi + fi + + if use python3; then + python_set_active_version 3 + fi +} + +src_prepare() { + if [ -n "${PATCHVER}" ] ; then + if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then + rm "$S/bin/ebuild-helpers/portageq" \ + || die "failed to remove portageq helper symlink" + fi + epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" + fi + einfo "Setting portage.VERSION to ${PVR} ..." + sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ + die "Failed to patch portage.VERSION" + sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ + die "Failed to patch VERSION in doc/fragment/version" + sed -e "1s/VERSION/${PVR}/" -i man/* || \ + die "Failed to patch VERSION in man page headers" + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i pym/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use python3; then + einfo "Converting shebangs for python3..." + python_convert_shebangs -r 3 . + fi +} + +src_compile() { + if use doc; then + cd "${S}"/doc + touch fragment/date + make xhtml xhtml-nochunks || die "failed to make docs" + fi + + if use epydoc; then + einfo "Generating api docs" + mkdir "${WORKDIR}"/api + local my_modules epydoc_opts="" + my_modules="$(find "${S}/pym" -name "*.py" \ + | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ + -e 's:/:.:g' | sort)" || die "error listing modules" + # workaround for bug 282760 + > "$S/pym/pysqlite2.py" + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + epydoc -o "${WORKDIR}"/api \ + -qqqqq --no-frames --show-imports $epydoc_opts \ + --name "${PN}" --url "${HOMEPAGE}" \ + ${my_modules} || die "epydoc failed" + rm "$S/pym/pysqlite2.py" + fi +} + +src_test() { + # make files executable, in case they were created by patch + find bin -type f | xargs chmod +x + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + ./pym/portage/tests/runTests || die "test(s) failed" +} + +src_install() { + local libdir=$(get_libdir) + local portage_base="/usr/${libdir}/portage" + local portage_share_config=/usr/share/portage/config + + cd "${S}"/cnf + insinto /etc + doins etc-update.conf dispatch-conf.conf || die + + insinto "$portage_share_config" + doins "$S/cnf/make.globals" || die + if [ -f "make.conf.${ARCH}".diff ]; then + patch make.conf "make.conf.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + newins make.conf make.conf.example || die + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + newins make.conf make.conf.example || die + fi + + dosym ..${portage_share_config}/make.globals /etc/make.globals + + insinto /etc/logrotate.d + doins "${S}"/cnf/logrotate.d/elog-save-summary || die + + # BSD and OSX need a sed wrapper so that find/xargs work properly + if use userland_GNU; then + rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" + fi + + local x symlinks + + cd "$S" || die "cd failed" + for x in $(find bin -type d) ; do + exeinto $portage_base/$x || die "exeinto failed" + cd "$S"/$x || die "cd failed" + doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \ + die "doexe failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + cd "$S" || die "cd failed" + for x in $(find pym/* -type d) ; do + insinto $portage_base/$x || die "insinto failed" + cd "$S"/$x || die "cd failed" + # __pycache__ directories contain no py files + [[ "*.py" != $(echo *.py) ]] || continue + doins *.py || die "doins failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + # Symlinks to directories cause up/downgrade issues and the use of these + # modules outside of portage is probably negligible. + for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do + [ ! -L "${x}" ] && continue + die "symlink to directory will cause upgrade/downgrade issues: '${x}'" + done + + exeinto ${portage_base}/pym/portage/tests + doexe "${S}"/pym/portage/tests/runTests + + doman "${S}"/man/*.[0-9] + if use linguas_pl; then + doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] + doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] + fi + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* + use epydoc && dohtml -r "${WORKDIR}"/api + + dodir /usr/bin + for x in ebuild egencache emerge portageq quickpkg repoman ; do + dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} + done + + dodir /usr/sbin + local my_syms="archive-conf + dispatch-conf + emaint + emerge-webrsync + env-update + etc-update + fixpackages + regenworld" + local x + for x in ${my_syms}; do + dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} + done + dosym env-update /usr/sbin/update-env + dosym etc-update /usr/sbin/update-etc + + dodir /etc/portage + keepdir /etc/portage +} + +pkg_preinst() { + if ! use build && ! has_version dev-python/pycrypto && \ + ! has_version '>=dev-lang/python-2.6[ssl]' ; then + ewarn "If you are an ebuild developer and you plan to commit ebuilds" + ewarn "with this system then please install dev-python/pycrypto or" + ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" + ewarn "to enable RMD160 hash support." + ewarn "See bug #198398 for more information." + fi + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" + fi + + [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" + REPO_LAYOUT_CONF_WARN=$? +} + +pkg_postinst() { + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym + + if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then + ewarn + echo "If you want overlay eclasses to override eclasses from" \ + "other repos then see the portage(5) man page" \ + "for information about the new layout.conf and repos.conf" \ + "configuration files." \ + | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done + ewarn + fi + + einfo + einfo "For help with using portage please consult the Gentoo Handbook" + einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" + einfo +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym +} diff --git a/sys-apps/portage/portage-2.1.9.26.ebuild b/sys-apps/portage/portage-2.1.9.26.ebuild new file mode 100644 index 0000000..e2ffe12 --- /dev/null +++ b/sys-apps/portage/portage-2.1.9.26.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/Attic/portage-2.1.9.26.ebuild,v 1.1 2010/12/21 18:55:43 zmedico Exp $ + +# Require EAPI 2 since we now require at least python-2.6 (for python 3 +# syntax support) which also requires EAPI 2. +EAPI=2 +inherit eutils multilib python + +DESCRIPTION="Portage is the package management and distribution system for Gentoo" +HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +PROVIDE="virtual/portage" +SLOT="0" +IUSE="build doc epydoc +ipc linguas_pl python3 selinux" + +python_dep="python3? ( =dev-lang/python-3* ) + !python3? ( + build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 ) ) + !build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) + )" + +# The pysqlite blocker is for bug #282760. +DEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 ) + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" + +RDEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 + >=app-shells/bash-3.2_p17 + >=app-admin/eselect-1.2 ) + elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) + elibc_glibc? ( >=sys-apps/sandbox-1.6 ) + elibc_uclibc? ( >=sys-apps/sandbox-1.6 ) + >=app-misc/pax-utils-0.1.17 + selinux? ( sys-libs/libselinux ) + != 0x2060000 and "good" or "bad")') = good ]] +} + +pkg_setup() { + if ! use python3 && ! compatible_python_is_selected ; then + ewarn "Attempting to select a compatible default python interpreter" + local x success=0 + for x in /usr/bin/python2.* ; do + x=${x#/usr/bin/python2.} + if [[ $x -ge 6 ]] 2>/dev/null ; then + eselect python set python2.$x + if compatible_python_is_selected ; then + elog "Default python interpreter is now set to python-2.$x" + success=1 + break + fi + fi + done + if [ $success != 1 ] ; then + eerror "Unable to select a compatible default python interpreter!" + die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." + fi + fi + + if use python3; then + python_set_active_version 3 + fi +} + +src_prepare() { + if [ -n "${PATCHVER}" ] ; then + if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then + rm "$S/bin/ebuild-helpers/portageq" \ + || die "failed to remove portageq helper symlink" + fi + epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" + fi + einfo "Setting portage.VERSION to ${PVR} ..." + sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ + die "Failed to patch portage.VERSION" + sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ + die "Failed to patch VERSION in doc/fragment/version" + sed -e "1s/VERSION/${PVR}/" -i man/* || \ + die "Failed to patch VERSION in man page headers" + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i pym/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use python3; then + einfo "Converting shebangs for python3..." + python_convert_shebangs -r 3 . + fi +} + +src_compile() { + if use doc; then + cd "${S}"/doc + touch fragment/date + make xhtml xhtml-nochunks || die "failed to make docs" + fi + + if use epydoc; then + einfo "Generating api docs" + mkdir "${WORKDIR}"/api + local my_modules epydoc_opts="" + my_modules="$(find "${S}/pym" -name "*.py" \ + | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ + -e 's:/:.:g' | sort)" || die "error listing modules" + # workaround for bug 282760 + > "$S/pym/pysqlite2.py" + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + epydoc -o "${WORKDIR}"/api \ + -qqqqq --no-frames --show-imports $epydoc_opts \ + --name "${PN}" --url "${HOMEPAGE}" \ + ${my_modules} || die "epydoc failed" + rm "$S/pym/pysqlite2.py" + fi +} + +src_test() { + # make files executable, in case they were created by patch + find bin -type f | xargs chmod +x + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + ./pym/portage/tests/runTests || die "test(s) failed" +} + +src_install() { + local libdir=$(get_libdir) + local portage_base="/usr/${libdir}/portage" + local portage_share_config=/usr/share/portage/config + + cd "${S}"/cnf + insinto /etc + doins etc-update.conf dispatch-conf.conf || die + + insinto "$portage_share_config" + doins "$S/cnf/make.globals" || die + if [ -f "make.conf.${ARCH}".diff ]; then + patch make.conf "make.conf.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + newins make.conf make.conf.example || die + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + newins make.conf make.conf.example || die + fi + + dosym ..${portage_share_config}/make.globals /etc/make.globals + + insinto /etc/logrotate.d + doins "${S}"/cnf/logrotate.d/elog-save-summary || die + + # BSD and OSX need a sed wrapper so that find/xargs work properly + if use userland_GNU; then + rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" + fi + + local x symlinks + + cd "$S" || die "cd failed" + for x in $(find bin -type d) ; do + exeinto $portage_base/$x || die "exeinto failed" + cd "$S"/$x || die "cd failed" + doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \ + die "doexe failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + cd "$S" || die "cd failed" + for x in $(find pym/* -type d) ; do + insinto $portage_base/$x || die "insinto failed" + cd "$S"/$x || die "cd failed" + # __pycache__ directories contain no py files + [[ "*.py" != $(echo *.py) ]] || continue + doins *.py || die "doins failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + # Symlinks to directories cause up/downgrade issues and the use of these + # modules outside of portage is probably negligible. + for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do + [ ! -L "${x}" ] && continue + die "symlink to directory will cause upgrade/downgrade issues: '${x}'" + done + + exeinto ${portage_base}/pym/portage/tests + doexe "${S}"/pym/portage/tests/runTests + + doman "${S}"/man/*.[0-9] + if use linguas_pl; then + doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] + doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] + fi + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* + use epydoc && dohtml -r "${WORKDIR}"/api + + dodir /usr/bin + for x in ebuild egencache emerge portageq quickpkg repoman ; do + dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} + done + + dodir /usr/sbin + local my_syms="archive-conf + dispatch-conf + emaint + emerge-webrsync + env-update + etc-update + fixpackages + regenworld" + local x + for x in ${my_syms}; do + dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} + done + dosym env-update /usr/sbin/update-env + dosym etc-update /usr/sbin/update-etc + + dodir /etc/portage + keepdir /etc/portage +} + +pkg_preinst() { + if ! use build && ! has_version dev-python/pycrypto && \ + ! has_version '>=dev-lang/python-2.6[ssl]' ; then + ewarn "If you are an ebuild developer and you plan to commit ebuilds" + ewarn "with this system then please install dev-python/pycrypto or" + ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" + ewarn "to enable RMD160 hash support." + ewarn "See bug #198398 for more information." + fi + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" + fi + + [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" + REPO_LAYOUT_CONF_WARN=$? +} + +pkg_postinst() { + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym + + if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then + ewarn + echo "If you want overlay eclasses to override eclasses from" \ + "other repos then see the portage(5) man page" \ + "for information about the new layout.conf and repos.conf" \ + "configuration files." \ + | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done + ewarn + fi + + einfo + einfo "For help with using portage please consult the Gentoo Handbook" + einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" + einfo +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym +} diff --git a/sys-apps/portage/portage-2.1.9.27.ebuild b/sys-apps/portage/portage-2.1.9.27.ebuild new file mode 100644 index 0000000..3c9db19 --- /dev/null +++ b/sys-apps/portage/portage-2.1.9.27.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/Attic/portage-2.1.9.27.ebuild,v 1.1 2010/12/31 09:58:12 zmedico Exp $ + +# Require EAPI 2 since we now require at least python-2.6 (for python 3 +# syntax support) which also requires EAPI 2. +EAPI=2 +inherit eutils multilib python + +DESCRIPTION="Portage is the package management and distribution system for Gentoo" +HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +PROVIDE="virtual/portage" +SLOT="0" +IUSE="build doc epydoc +ipc linguas_pl python3 selinux" + +python_dep="python3? ( =dev-lang/python-3* ) + !python3? ( + build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 ) ) + !build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) + )" + +# The pysqlite blocker is for bug #282760. +DEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 ) + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" + +RDEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 + >=app-shells/bash-3.2_p17 + >=app-admin/eselect-1.2 ) + elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) + elibc_glibc? ( >=sys-apps/sandbox-1.6 ) + elibc_uclibc? ( >=sys-apps/sandbox-1.6 ) + >=app-misc/pax-utils-0.1.17 + selinux? ( sys-libs/libselinux ) + != 0x2060000 and "good" or "bad")') = good ]] +} + +pkg_setup() { + if ! use python3 && ! compatible_python_is_selected ; then + ewarn "Attempting to select a compatible default python interpreter" + local x success=0 + for x in /usr/bin/python2.* ; do + x=${x#/usr/bin/python2.} + if [[ $x -ge 6 ]] 2>/dev/null ; then + eselect python set python2.$x + if compatible_python_is_selected ; then + elog "Default python interpreter is now set to python-2.$x" + success=1 + break + fi + fi + done + if [ $success != 1 ] ; then + eerror "Unable to select a compatible default python interpreter!" + die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." + fi + fi + + if use python3; then + python_set_active_version 3 + fi +} + +src_prepare() { + if [ -n "${PATCHVER}" ] ; then + if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then + rm "$S/bin/ebuild-helpers/portageq" \ + || die "failed to remove portageq helper symlink" + fi + epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" + fi + einfo "Setting portage.VERSION to ${PVR} ..." + sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ + die "Failed to patch portage.VERSION" + sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ + die "Failed to patch VERSION in doc/fragment/version" + sed -e "1s/VERSION/${PVR}/" -i man/* || \ + die "Failed to patch VERSION in man page headers" + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i pym/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use python3; then + einfo "Converting shebangs for python3..." + python_convert_shebangs -r 3 . + fi +} + +src_compile() { + if use doc; then + cd "${S}"/doc + touch fragment/date + make xhtml xhtml-nochunks || die "failed to make docs" + fi + + if use epydoc; then + einfo "Generating api docs" + mkdir "${WORKDIR}"/api + local my_modules epydoc_opts="" + my_modules="$(find "${S}/pym" -name "*.py" \ + | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ + -e 's:/:.:g' | sort)" || die "error listing modules" + # workaround for bug 282760 + > "$S/pym/pysqlite2.py" + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + epydoc -o "${WORKDIR}"/api \ + -qqqqq --no-frames --show-imports $epydoc_opts \ + --name "${PN}" --url "${HOMEPAGE}" \ + ${my_modules} || die "epydoc failed" + rm "$S/pym/pysqlite2.py" + fi +} + +src_test() { + # make files executable, in case they were created by patch + find bin -type f | xargs chmod +x + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + ./pym/portage/tests/runTests || die "test(s) failed" +} + +src_install() { + local libdir=$(get_libdir) + local portage_base="/usr/${libdir}/portage" + local portage_share_config=/usr/share/portage/config + + cd "${S}"/cnf + insinto /etc + doins etc-update.conf dispatch-conf.conf || die + + insinto "$portage_share_config" + doins "$S/cnf/make.globals" || die + if [ -f "make.conf.${ARCH}".diff ]; then + patch make.conf "make.conf.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + newins make.conf make.conf.example || die + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + newins make.conf make.conf.example || die + fi + + dosym ..${portage_share_config}/make.globals /etc/make.globals + + insinto /etc/logrotate.d + doins "${S}"/cnf/logrotate.d/elog-save-summary || die + + # BSD and OSX need a sed wrapper so that find/xargs work properly + if use userland_GNU; then + rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" + fi + + local x symlinks + + cd "$S" || die "cd failed" + for x in $(find bin -type d) ; do + exeinto $portage_base/$x || die "exeinto failed" + cd "$S"/$x || die "cd failed" + doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \ + die "doexe failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + cd "$S" || die "cd failed" + for x in $(find pym/* -type d) ; do + insinto $portage_base/$x || die "insinto failed" + cd "$S"/$x || die "cd failed" + # __pycache__ directories contain no py files + [[ "*.py" != $(echo *.py) ]] || continue + doins *.py || die "doins failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + # Symlinks to directories cause up/downgrade issues and the use of these + # modules outside of portage is probably negligible. + for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do + [ ! -L "${x}" ] && continue + die "symlink to directory will cause upgrade/downgrade issues: '${x}'" + done + + exeinto ${portage_base}/pym/portage/tests + doexe "${S}"/pym/portage/tests/runTests + + doman "${S}"/man/*.[0-9] + if use linguas_pl; then + doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] + doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] + fi + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* + use epydoc && dohtml -r "${WORKDIR}"/api + + dodir /usr/bin + for x in ebuild egencache emerge portageq quickpkg repoman ; do + dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} + done + + dodir /usr/sbin + local my_syms="archive-conf + dispatch-conf + emaint + emerge-webrsync + env-update + etc-update + fixpackages + regenworld" + local x + for x in ${my_syms}; do + dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} + done + dosym env-update /usr/sbin/update-env + dosym etc-update /usr/sbin/update-etc + + dodir /etc/portage + keepdir /etc/portage +} + +pkg_preinst() { + if ! use build && ! has_version dev-python/pycrypto && \ + ! has_version '>=dev-lang/python-2.6[ssl]' ; then + ewarn "If you are an ebuild developer and you plan to commit ebuilds" + ewarn "with this system then please install dev-python/pycrypto or" + ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" + ewarn "to enable RMD160 hash support." + ewarn "See bug #198398 for more information." + fi + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" + fi + + [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" + REPO_LAYOUT_CONF_WARN=$? +} + +pkg_postinst() { + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym + + if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then + ewarn + echo "If you want overlay eclasses to override eclasses from" \ + "other repos then see the portage(5) man page" \ + "for information about the new layout.conf and repos.conf" \ + "configuration files." \ + | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done + ewarn + fi + + einfo + einfo "For help with using portage please consult the Gentoo Handbook" + einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" + einfo +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym +} diff --git a/sys-apps/portage/portage-2.1.9.42.ebuild b/sys-apps/portage/portage-2.1.9.42.ebuild new file mode 100644 index 0000000..ddb1db7 --- /dev/null +++ b/sys-apps/portage/portage-2.1.9.42.ebuild @@ -0,0 +1,329 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/Attic/portage-2.1.9.42.ebuild,v 1.11 2011/06/08 07:59:07 zmedico Exp $ + +# Require EAPI 2 since we now require at least python-2.6 (for python 3 +# syntax support) which also requires EAPI 2. +EAPI=2 +inherit eutils multilib python + +DESCRIPTION="Portage is the package management and distribution system for Gentoo" +HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +SLOT="0" +IUSE="build doc epydoc +ipc +less linguas_pl python2 python3 selinux" + +python_dep="python3? ( =dev-lang/python-3* ) + !python2? ( !python3? ( + build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) + !build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) + ) ) + python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) )" + +# The pysqlite blocker is for bug #282760. +DEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 ) + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" + +RDEPEND="${python_dep} + !build? ( >=sys-apps/sed-4.0.5 + >=app-shells/bash-3.2_p17 + >=app-admin/eselect-1.2 ) + elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) + elibc_glibc? ( >=sys-apps/sandbox-1.6 ) + elibc_uclibc? ( >=sys-apps/sandbox-1.6 ) + >=app-misc/pax-utils-0.1.17 + selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] = 0x2060000 and "good" or "bad")') = good ]] +} + +pkg_setup() { + # Bug #359731 - Die early if get_libdir fails. + [[ -z $(get_libdir) ]] && \ + die "get_libdir returned an empty string" + + if use python2 && use python3 ; then + ewarn "Both python2 and python3 USE flags are enabled, but only one" + ewarn "can be in the shebangs. Using python3." + fi + if ! use python2 && ! use python3 && ! compatible_python_is_selected ; then + ewarn "Attempting to select a compatible default python interpreter" + local x success=0 + for x in /usr/bin/python2.* ; do + x=${x#/usr/bin/python2.} + if [[ $x -ge 6 ]] 2>/dev/null ; then + eselect python set python2.$x + if compatible_python_is_selected ; then + elog "Default python interpreter is now set to python-2.$x" + success=1 + break + fi + fi + done + if [ $success != 1 ] ; then + eerror "Unable to select a compatible default python interpreter!" + die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." + fi + fi + + if use python3; then + python_set_active_version 3 + elif use python2; then + python_set_active_version 2 + fi +} + +src_prepare() { + if [ -n "${PATCHVER}" ] ; then + if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then + rm "$S/bin/ebuild-helpers/portageq" \ + || die "failed to remove portageq helper symlink" + fi + epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" + fi + einfo "Setting portage.VERSION to ${PVR} ..." + sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ + die "Failed to patch portage.VERSION" + sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ + die "Failed to patch VERSION in doc/fragment/version" + sed -e "1s/VERSION/${PVR}/" -i man/* || \ + die "Failed to patch VERSION in man page headers" + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i pym/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use python3; then + einfo "Converting shebangs for python3..." + python_convert_shebangs -r 3 . + elif use python2; then + einfo "Converting shebangs for python2..." + python_convert_shebangs -r 2 . + fi +} + +src_compile() { + if use doc; then + cd "${S}"/doc + touch fragment/date + make xhtml xhtml-nochunks || die "failed to make docs" + fi + + if use epydoc; then + einfo "Generating api docs" + mkdir "${WORKDIR}"/api + local my_modules epydoc_opts="" + my_modules="$(find "${S}/pym" -name "*.py" \ + | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ + -e 's:/:.:g' | sort)" || die "error listing modules" + # workaround for bug 282760 + > "$S/pym/pysqlite2.py" + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + epydoc -o "${WORKDIR}"/api \ + -qqqqq --no-frames --show-imports $epydoc_opts \ + --name "${PN}" --url "${HOMEPAGE}" \ + ${my_modules} || die "epydoc failed" + rm "$S/pym/pysqlite2.py" + fi +} + +src_test() { + # make files executable, in case they were created by patch + find bin -type f | xargs chmod +x + PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ + ./pym/portage/tests/runTests || die "test(s) failed" +} + +src_install() { + local libdir=$(get_libdir) + local portage_base="/usr/${libdir}/portage" + local portage_share_config=/usr/share/portage/config + + cd "${S}"/cnf + insinto /etc + doins etc-update.conf dispatch-conf.conf || die + + insinto "$portage_share_config" + doins "$S/cnf/make.globals" || die + if [ -f "make.conf.${ARCH}".diff ]; then + patch make.conf "make.conf.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + newins make.conf make.conf.example || die + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + newins make.conf make.conf.example || die + fi + + dosym ..${portage_share_config}/make.globals /etc/make.globals + + insinto /etc/logrotate.d + doins "${S}"/cnf/logrotate.d/elog-save-summary || die + + # BSD and OSX need a sed wrapper so that find/xargs work properly + if use userland_GNU; then + rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" + fi + + local x symlinks files + + cd "$S" || die "cd failed" + for x in $(find bin -type d) ; do + exeinto $portage_base/$x || die "exeinto failed" + cd "$S"/$x || die "cd failed" + files=$(find . -mindepth 1 -maxdepth 1 -type f ! -type l) + if [ -n "$files" ] ; then + doexe $files || die "doexe failed" + fi + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + cd "$S" || die "cd failed" + for x in $(find pym/* -type d) ; do + insinto $portage_base/$x || die "insinto failed" + cd "$S"/$x || die "cd failed" + # __pycache__ directories contain no py files + [[ "*.py" != $(echo *.py) ]] || continue + doins *.py || die "doins failed" + symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) + if [ -n "$symlinks" ] ; then + cp -P $symlinks "$D$portage_base/$x" || die "cp failed" + fi + done + + # Symlinks to directories cause up/downgrade issues and the use of these + # modules outside of portage is probably negligible. + for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do + [ ! -L "${x}" ] && continue + die "symlink to directory will cause upgrade/downgrade issues: '${x}'" + done + + exeinto ${portage_base}/pym/portage/tests + doexe "${S}"/pym/portage/tests/runTests + + doman "${S}"/man/*.[0-9] + if use linguas_pl; then + doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] + doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] + fi + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* + use epydoc && dohtml -r "${WORKDIR}"/api + + dodir /usr/bin + for x in ebuild egencache emerge portageq quickpkg repoman ; do + dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} + done + + dodir /usr/sbin + local my_syms="archive-conf + dispatch-conf + emaint + emerge-webrsync + env-update + etc-update + fixpackages + regenworld" + local x + for x in ${my_syms}; do + dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} + done + dosym env-update /usr/sbin/update-env + dosym etc-update /usr/sbin/update-etc + + dodir /etc/portage + keepdir /etc/portage +} + +pkg_preinst() { + if ! use build && ! has_version dev-python/pycrypto && \ + ! has_version '>=dev-lang/python-2.6[ssl]' ; then + ewarn "If you are an ebuild developer and you plan to commit ebuilds" + ewarn "with this system then please install dev-python/pycrypto or" + ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" + ewarn "to enable RMD160 hash support." + ewarn "See bug #198398 for more information." + fi + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" + fi + + [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" + REPO_LAYOUT_CONF_WARN=$? +} + +pkg_postinst() { + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym + + if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then + ewarn + echo "If you want overlay eclasses to override eclasses from" \ + "other repos then see the portage(5) man page" \ + "for information about the new layout.conf and repos.conf" \ + "configuration files." \ + | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done + ewarn + fi + + einfo + einfo "For help with using portage please consult the Gentoo Handbook" + einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" + einfo +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym +}