diff options
author | dan.goodliffe <dan.goodliffe@localhost> | 2008-06-18 17:40:29 +0000 |
---|---|---|
committer | dan.goodliffe <dan.goodliffe@localhost> | 2008-06-18 17:40:29 +0000 |
commit | e737bd9b4521ce6eb4e4e2605414054726b90380 (patch) | |
tree | c4b0fa79a02690f55e7dffb686aaed48b6490af0 | |
parent | Make mplayerplug-in optional (diff) | |
download | portage-e737bd9b4521ce6eb4e4e2605414054726b90380.tar.bz2 portage-e737bd9b4521ce6eb4e4e2605414054726b90380.tar.xz portage-e737bd9b4521ce6eb4e4e2605414054726b90380.zip |
Automate cleaning of distfiles
-rw-r--r-- | virtual/miller-base/Manifest | 7 | ||||
-rwxr-xr-x | virtual/miller-base/files/hourly-distclean-updatedb.cron | 32 | ||||
-rwxr-xr-x | virtual/miller-base/files/weekly-distclean-exec.cron | 26 | ||||
-rw-r--r-- | virtual/miller-base/miller-base-6-r10.ebuild | 53 |
4 files changed, 118 insertions, 0 deletions
diff --git a/virtual/miller-base/Manifest b/virtual/miller-base/Manifest index 2d39d4e..5f4df08 100644 --- a/virtual/miller-base/Manifest +++ b/virtual/miller-base/Manifest @@ -1,8 +1,15 @@ AUX daily-av-scan.cron 120 RMD160 734d836d94a6255fdbc02de5fe0a0bd4100bdf8b SHA1 2bee1fc40d9b1f14e12bfc927f4ba0251fc34dc7 SHA256 800eb46f54670ba4fccb0908cb2129aa8026628f64bc1753be4d234ff768d2cc AUX daily-av-update.cron 31 RMD160 17399a1386d96221b51960ec38c7059af01c609e SHA1 e4ef1c8f4d2195229da18b4d23b8a42e9b61afe8 SHA256 1b83ac59e56ffbc3ec1c0f42c3c43de2b0cf9485690292a7dcb3440d529d0f78 +AUX hourly-distclean-updatedb.cron 960 RMD160 74a22d7b4d4c2a26cca6c54e02835d669659fe68 SHA1 4aee5982407ce56c6a5c4a0aa6e57d65b491cdad SHA256 635a810264caf85b272a5fb24d38969ba7cecd0175740e1622158302296e9aed AUX update.local.portage.cron 136 RMD160 f92d7664b6307ad77bfdf7c1d9acde096eb26118 SHA1 968e735b490db21485bdd3e9bff28391c0dee732 SHA256 4d65ecfcbeac115ab2d6da181c58c12f2e2401b9400d8719e7943942b138fd3b AUX update.portage.cron 187 RMD160 7a72c570223b3f13ed88300972838e3442f88517 SHA1 bedf1d6c37716da7bf9746826a700516c03b4b45 SHA256 8bfe8833dc166d3cd76e80ef768ec04b52dd3d72d51e34ce70db1021ff81cc5e AUX weekly-av-scan.cron 125 RMD160 f899ac0fd639b9f498877a518b7658a9d0d67c88 SHA1 76e0acd80e769bc7a3ff7095c274033021cabdda SHA256 c36075a5d6061813cf3c2ca0944a7c7365a3dfb313a7077f6a70ec3de0541532 +AUX weekly-distclean-exec.cron 652 RMD160 b1dc1bc05bab8019a36c0441ca3f288f6449f395 SHA1 b72fbbb41e0fbfcc9ecb415d29dabd4e05364fd0 SHA256 57a14ca5ab005a4088f568193e6145468cdc2a2bc58db572865162ff16436db9 +EBUILD miller-base-6-r10.ebuild 1408 RMD160 71a7a3a43100641c571fc4150c3a70e4e16fab83 SHA1 6903d3a90d793b9982b419d092019522ccc57ca3 SHA256 6fbe2fa43b73ad6ecdcc8b122227c070b7e155cf04c03221eac0c3f5cd747043 EBUILD miller-base-6-r7.ebuild 1233 RMD160 bb15243c2ae07bd1c83f5c5dc4fac183593c7a87 SHA1 b28a1b3b85989f4325e27ae806185e5174d6a880 SHA256 fb3ff59dc33fab59799ae8e2fcd116a6f0ef99e7418f17cd478aa4eb68967c2e EBUILD miller-base-6-r8.ebuild 1199 RMD160 487d45d07864aa84f3acc2ebc09f4c4a13ed0ab4 SHA1 ec15896c9fb12976dd00b546729e47dc9e412658 SHA256 121d5ffce7c5e405517dd0083b151f7cafff676c3b162f3ba600a988188424e5 EBUILD miller-base-6-r9.ebuild 1215 RMD160 a51f13796e40cd62a9b0690793d75e5c09d3e8f7 SHA1 afb1f1843d27cb92be4f45f09c55c5d67f5c5681 SHA256 1a0760513769c9b384d75528238e82f98a6121aab34fd7a7b12b7312fb0b209f +MISC .#Manifest.1.12 1573 RMD160 017fda9135635b80ee1b17eb5e0c96b8021f05c7 SHA1 dcc21e0d67015af02d09572b13284010ed645fb0 SHA256 1f89469cc2141b741a70c03c9223e32021050867d0084e754066fa93ade285a9 +MISC .#Manifest.1.20 2183 RMD160 5653a473253a18ad9e6c7e320ecc36d192d1bfe2 SHA1 6518e95e13b9ed93810ef41a0de30a2792235215 SHA256 11ae1c8242207fa878d7c6588a098b21b478e8b5048364dc050a5eefcd1f9be7 +MISC .#miller-base-6-r5.ebuild.1.1 1216 RMD160 98d3014bcbec9f9186462f3b88ca83494c5999b3 SHA1 c3c4a03f89d04440dac53a71d6c7458ba7a57085 SHA256 c620f78c47a3ca6153ce7dad5a2bb9645122a7a886236d60bc731a102d758b1c +MISC .#miller-base-6-r6.ebuild.0 1221 RMD160 ac00a351c3f1f70c29f4394e24c0451e4fb2adc7 SHA1 b00a96d90c7a380f8c10d8c4250eb555a76d6974 SHA256 aad312b53ed183627f99fb448b2c1b758d861fd656c96b7538c97f48dc7f4a46 diff --git a/virtual/miller-base/files/hourly-distclean-updatedb.cron b/virtual/miller-base/files/hourly-distclean-updatedb.cron new file mode 100755 index 0000000..8740eba --- /dev/null +++ b/virtual/miller-base/files/hourly-distclean-updatedb.cron @@ -0,0 +1,32 @@ +#!/bin/bash + +source "/etc/make.globals" +source "/etc/make.conf" + +WORLD="/var/lib/portage/world" +DB="${DISTDIR}/.`hostname`.packagefiles" + +# Update timestamp on portdir overlay +for f in `find ${PORTDIR_OVERLAY}`; do + if [ ${f} -nt ${PORTDIR_OVERLAY} ]; then + touch ${PORTDIR_OVERLAY} + break; + fi +done + +# Compare timestamps of all considered files with database +if [ ${WORLD} -nt ${DB} ] || \ + [ ${PORTDIR} -nt ${DB} ] || \ + [ ${PORTDIR_OVERLAY} -nt ${DB} ] || \ + [ /etc/make.conf -nt ${DB} ] || \ + [ /etc/portage/packge.use -nt ${DB} ] || \ + [ /etc/portage/packge.keywords -nt ${DB} ] || \ + [ /etc/portage/packge.mask -nt ${DB} ] || \ + [ /etc/portage/packge.unmask -nt ${DB} ] \ + ; then + # Update the database + for f in `emerge -fpe world 2>&1 | grep :// | grep -v '\*'` ; do basename $f ; done | sort -u > ${DB} +else + touch ${DB} +fi + diff --git a/virtual/miller-base/files/weekly-distclean-exec.cron b/virtual/miller-base/files/weekly-distclean-exec.cron new file mode 100755 index 0000000..f667110 --- /dev/null +++ b/virtual/miller-base/files/weekly-distclean-exec.cron @@ -0,0 +1,26 @@ +#!/bin/bash + +source "/etc/make.globals" +source "/etc/make.conf" + +if df -l ${DISTDIR} 2> /dev/null > /dev/null ; then + NEEDED="/tmp/distclean.needed.$$" + DISTGOT="/tmp/distclean.distgot.$$" + RMLIST="/tmp/distclean.rmlist.$$" + + if [ "`find ${DISTDIR} -name ".*.packagefiles" -size 0`" ] ; then + exit 1 + fi + + find ${DISTDIR} -name ".*.packagefiles" -mtime +7 -delete + + cat ${DISTDIR}/.*.packagefiles | sort -u > ${NEEDED} && + find ${DISTDIR} -type f -not -name ".*" -printf "%f\n" | sort -u > ${DISTGOT} && + diff ${NEEDED} ${DISTGOT} | grep "> " | cut -b 3- > ${RMLIST} + + cd ${DISTDIR} && rm -f `cat ${RMLIST}` + + rm ${NEEDED} ${DISTGOT} ${RMLIST} +fi + + diff --git a/virtual/miller-base/miller-base-6-r10.ebuild b/virtual/miller-base/miller-base-6-r10.ebuild new file mode 100644 index 0000000..00a24ef --- /dev/null +++ b/virtual/miller-base/miller-base-6-r10.ebuild @@ -0,0 +1,53 @@ +DESCRIPTION="Virtual for Miller servers" + +SLOT="0" +KEYWORDS="alpha amd64 arm ia64 mips ppc ppc-macos sparc sparc-fbsd x86 x86-fbsd" +IUSE="nohardenedkernel nohourlyupdate fuse xfs" + +DEPEND=" +net-dns/bind-tools +fuse? ( sys-fs/sshfs-fuse ) +xfs? ( sys-fs/xfsdump ) +sys-fs/lvm2 +app-portage/gentoolkit +sys-process/vixie-cron +sys-apps/eject +app-admin/sudo +mail-client/mailx +sys-apps/pciutils +net-misc/ntp +net-analyzer/netcat +net-ftp/ncftp +dev-util/cvs +x11-apps/xauth +sys-process/lsof +net-analyzer/net-snmp +app-admin/syslog-ng +app-admin/logrotate +app-admin/gkrellm +app-antivirus/clamav +nohardenedkernel? ( sys-kernel/gentoo-sources ) +!nohardenedkernel? ( sys-kernel/hardened-sources ) +app-text/unix2dos +app-misc/screen +sys-boot/grub +app-vim/gentoo-syntax +sys-apps/kexec-tools +app-text/dos2unix" + +src_install() { + exeinto /etc/cron.weekly + newexe "${FILESDIR}"/weekly-av-scan.cron av-scan || die + newexe "${FILESDIR}"/weekly-distclean-exec.cron portage-distclean-exec || die + + exeinto /etc/cron.hourly + newexe "${FILESDIR}"/hourly-distclean-updatedb.cron portage-distclean-updatedb || die + + exeinto /etc/cron.daily + newexe "${FILESDIR}"/daily-av-update.cron av-update || die + newexe "${FILESDIR}"/update.local.portage.cron portage-update || die + + use nohourlyupdate && exeinto /etc/cron.daily + use !nohourlyupdate && exeinto /etc/cron.hourly + newexe "${FILESDIR}"/update.portage.cron gentoo-portage-update || die +} |