initial import

This commit is contained in:
Sandino Araico Sanchez 2012-01-07 05:40:10 -06:00
commit d8d14bf137
53 changed files with 4148 additions and 0 deletions

5
dev-lang/python/Manifest Normal file
View file

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

View file

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

View file

@ -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 $?
}

View file

@ -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)
}

19
net-mail/dbmail/Manifest Normal file
View file

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

View file

@ -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. :)"
}

View file

@ -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. :)"
}

View file

@ -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. :)"
}

View file

@ -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. :)"
}

View file

@ -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 '<pass>' "
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. :)"
}

View file

@ -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 '<pass>' "
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. :)"
}

View file

@ -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 '<pass>' "
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. :)"
}

View file

@ -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 '<pass>' "
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. :)"
}

View file

@ -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 <unistd.h>
#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 */

View file

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

View file

@ -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 $?
}

View file

@ -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 $?
}

View file

@ -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 $?
+}

View file

@ -0,0 +1 @@
MD5 a0b96ed7fe871d20f38345178ed50b96 dbmail-1.2.10.tgz 247890

View file

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

View file

@ -0,0 +1 @@
MD5 78d2aea0584503d859e4af202ec7257c dbmail-1.2.3.tgz 249774

View file

@ -0,0 +1 @@
MD5 1a7158aa032c4d6950984d0f99ee7ebe dbmail-1.2.4.tgz 245852

View file

@ -0,0 +1 @@
MD5 337577142bb01b4bf28ec7a9808f5492 dbmail-1.2.5.tgz 245878

View file

@ -0,0 +1 @@
MD5 f40b5203f1725303f2c5013ad5588854 dbmail-1.2.6.tgz 245961

View file

@ -0,0 +1 @@
MD5 dbd6ba5cf991301dd2aa9d184e0a3667 dbmail-1.2.7.tgz 245263

View file

@ -0,0 +1 @@
MD5 c15cc6b8e34527a31fb3d2e45e977b16 dbmail-1.2.7a.tgz 244788

View file

@ -0,0 +1 @@
MD5 6400cc05d661694a16d8d5a2df9ab580 dbmail-1.2.7b.tgz 244831

View file

@ -0,0 +1 @@
MD5 1e587c3b928a5af20d8d7968785bda92 dbmail-1.2.8a.tgz 245644

View file

@ -0,0 +1 @@
MD5 f97492c74e64ecabff77eb87f34a2ea5 dbmail-1.2.9.tgz 247577

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1 @@
MD5 3af61cec11e1ccd7d4a9fba84e085894 dbmail-2.0.8.tar.gz 627144

View file

@ -0,0 +1 @@
MD5 f3cca8eb615af565a388069c1ab68f08 dbmail-2.0rc5.tgz 273950

View file

@ -0,0 +1 @@
MD5 c4de1dcd3bda486ba764a5d12765820b dbmail-2.0rc8.tgz 417518

View file

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

View file

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

View file

@ -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."
}

View file

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

View file

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

View file

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

View file

@ -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 ${?}
}

View file

@ -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 ${?}
}

14
sys-apps/portage/Manifest Normal file
View file

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

View file

@ -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? ( <dev-lang/python-2.6.6:2.6 )
!build? ( || ( <dev-lang/python-2.6.6:2.6 dev-lang/python:3.1 ) )
)"
# 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}
!python3? ( !!>=dev-lang/python-2.6.6:2.6 !!dev-lang/python:2.7 )
!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 )"
PDEPEND="
!build? (
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# rsync-2.6.4 rdep is for the --filter option #167668
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
prefix_src_archives() {
local x y
for x in ${@}; do
for y in ${SRC_ARCHIVES}; do
echo ${y}/${x}
done
done
}
PV_PL="2.1.2"
PATCHVER_PL=""
TARBALL_PV=2.1.8
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
PATCHVER=$PV
if [ -n "${PATCHVER}" ]; then
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
fi
S="${WORKDIR}"/${PN}-${TARBALL_PV}
S_PL="${WORKDIR}"/${PN}-${PV_PL}
compatible_python_is_selected() {
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 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
}

View file

@ -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 )
!<app-shells/bash-3.2_p17"
PDEPEND="
!build? (
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# rsync-2.6.4 rdep is for the --filter option #167668
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
prefix_src_archives() {
local x y
for x in ${@}; do
for y in ${SRC_ARCHIVES}; do
echo ${y}/${x}
done
done
}
PV_PL="2.1.2"
PATCHVER_PL=""
TARBALL_PV=$PV
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
PATCHVER=
if [ -n "${PATCHVER}" ]; then
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
fi
S="${WORKDIR}"/${PN}-${TARBALL_PV}
S_PL="${WORKDIR}"/${PN}-${PV_PL}
compatible_python_is_selected() {
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 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
}

View file

@ -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 )
!<app-shells/bash-3.2_p17"
PDEPEND="
!build? (
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# rsync-2.6.4 rdep is for the --filter option #167668
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
prefix_src_archives() {
local x y
for x in ${@}; do
for y in ${SRC_ARCHIVES}; do
echo ${y}/${x}
done
done
}
PV_PL="2.1.2"
PATCHVER_PL=""
TARBALL_PV=$PV
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
PATCHVER=
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
if [ -n "${PATCHVER}" ]; then
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
fi
S="${WORKDIR}"/${PN}-${TARBALL_PV}
S_PL="${WORKDIR}"/${PN}-${PV_PL}
compatible_python_is_selected() {
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 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
}

View file

@ -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 )
!<app-shells/bash-3.2_p17"
PDEPEND="
!build? (
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# rsync-2.6.4 rdep is for the --filter option #167668
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
prefix_src_archives() {
local x y
for x in ${@}; do
for y in ${SRC_ARCHIVES}; do
echo ${y}/${x}
done
done
}
PV_PL="2.1.2"
PATCHVER_PL=""
TARBALL_PV=$PV
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
PATCHVER=
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
if [ -n "${PATCHVER}" ]; then
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
fi
S="${WORKDIR}"/${PN}-${TARBALL_PV}
S_PL="${WORKDIR}"/${PN}-${PV_PL}
compatible_python_is_selected() {
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 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
}

View file

@ -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 )
!<app-shells/bash-3.2_p17"
PDEPEND="
!build? (
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# rsync-2.6.4 rdep is for the --filter option #167668
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
prefix_src_archives() {
local x y
for x in ${@}; do
for y in ${SRC_ARCHIVES}; do
echo ${y}/${x}
done
done
}
PV_PL="2.1.2"
PATCHVER_PL=""
TARBALL_PV=$PV
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
PATCHVER=
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
if [ -n "${PATCHVER}" ]; then
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
fi
S="${WORKDIR}"/${PN}-${TARBALL_PV}
S_PL="${WORKDIR}"/${PN}-${PV_PL}
compatible_python_is_selected() {
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 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
}

View file

@ -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] <sys-libs/libselinux-2.0.94 ) )
!<app-shells/bash-3.2_p17"
PDEPEND="
!build? (
less? ( sys-apps/less )
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# NOTE: FEATURES=install-sources requires debugedit and rsync
SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
prefix_src_archives() {
local x y
for x in ${@}; do
for y in ${SRC_ARCHIVES}; do
echo ${y}/${x}
done
done
}
PV_PL="2.1.2"
PATCHVER_PL=""
TARBALL_PV=$PV
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
$(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
PATCHVER=
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
if [ -n "${PATCHVER}" ]; then
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
fi
S="${WORKDIR}"/${PN}-${TARBALL_PV}
S_PL="${WORKDIR}"/${PN}-${PV_PL}
compatible_python_is_selected() {
[[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 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
}