commit a020c00bdf5a95623fdd0c5187e89a1ab4d4242c Author: Kolan Sh Date: Sun May 20 13:37:14 2012 +0400 Initial commit diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1d65628 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +SHELL = /bin/sh +PREFIX = /usr + +all: + +install: + install -d ${DESTDIR}/usr/sbin + install --mode=755 sbin/*.sh ${DESTDIR}/usr/sbin diff --git a/pkgs/gentoo/app-portage/findcruftfiles/Manifest b/pkgs/gentoo/app-portage/findcruftfiles/Manifest new file mode 100644 index 0000000..791ae2b --- /dev/null +++ b/pkgs/gentoo/app-portage/findcruftfiles/Manifest @@ -0,0 +1 @@ +EBUILD findcruftfiles-9999.ebuild 825 RMD160 5a4729e96b0828f98672994828f09e49f38c4448 SHA1 907f9907a65215a5fb5f061b3391c8750240d75f SHA256 bbfd01699d8423424a4807b8db8a69de6754e3f2d371feccd5c57a4966864660 diff --git a/pkgs/gentoo/app-portage/findcruftfiles/findcruftfiles-9999.ebuild b/pkgs/gentoo/app-portage/findcruftfiles/findcruftfiles-9999.ebuild new file mode 100644 index 0000000..1654407 --- /dev/null +++ b/pkgs/gentoo/app-portage/findcruftfiles/findcruftfiles-9999.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/backbone/findcruftfiles.git"} + inherit git-2 + KEYWORDS="" +else + SRC_URI="ftp://backbone.ws/projects/findcruftfiles/${P}.tar.bz2" + KEYWORDS="-* ~x86 ~amd64" +fi + +DESCRIPTION="Automated Gentoo upgrading" + +HOMEPAGE="https://chili.backbone.ws/projects/findcruftfiles" + +SLOT="0" + +LICENSE="GPL-3" + +IUSE="" + +DEPEND="" + +RDEPEND="${DEPEND}" + +src_prepare() { + if [[ ${PV} == "9999" ]] ; then + # Allow user patches to be applied without modifying the ebuild + epatch_user + fi +} + +src_install() { + if [[ ${PV} == "9999" ]] ; then + emake install DESTDIR="${D}" + else + emake install DESTDIR="${D}" || die + fi +} diff --git a/sbin/findcruftfiles.sh b/sbin/findcruftfiles.sh new file mode 100755 index 0000000..cae5ac0 --- /dev/null +++ b/sbin/findcruftfiles.sh @@ -0,0 +1,79 @@ +#!/bin/bash +# Finds files not registered in portage + +DIRLIST="/bin /etc /lib /lib32 /lib64 /opt /sbin +`ls /usr/ | grep -vE 'portage|local|src|lost\+found' | sed 's/\(.*\)/\/usr\/\1/'` +`ls /var/ | grep -vE 'tmp|lost\+found' | sed 's/\(.*\)/\/var\/\1/'`" + +EXCLUDES='\\ +^/etc/make.conf|\\ +^/etc/portage|\\ +^/usr/opt/android-sdk-update-manager|\\ +^/usr/opt/cuda|\\ +^/usr/lib64/portage|\\ +^/usr/lib64/portage|\\ +^/usr/lib64/gedit-2|\\ +^/var/db/pkg|\\ +^/var/lib/layman|\\ +^/var/run|\\ +^/var/cache|\\ +^/var/doc|\\ +^/var/www|\\ +^/var/log|\\ +^/usr/share/mime' + +REPLACES=" +s~^/lib64/grub/~/lib/grub/~ ; +s~^/usr/lib64/bcc/~/usr/lib/bcc/~ ; +s~^/usr/lib64/conkeror/~/usr/lib/conkeror/~ ; +s~^/usr/lib64/debug/~/usr/lib/debug/~ ; +s~^/usr/lib64/fpc/~/usr/lib/fpc/~ ; +s~^/usr/lib64/fvwm/~/usr/lib/fvwm/~ ; +s~^/usr/lib64/gcc/~/usr/lib/gcc/~ ; +s~^/usr/lib64/gentoolkit/~/usr/lib/gentoolkit/~ ; +s~^/usr/opt/~/opt/~ ; +" + +# =========================================================== +# ========================= C O D E =========================== +# =============================================================== +# summarize dirlist +DIRLIST="`echo $DIRLIST`" +echo "DIRLIST=$DIRLIST" + +# exclude current python, perl, kernel modules +EXCLUDES="$EXCLUDES\|`qlist -ICev python | sed 's~[^0-9]*\([0-9]*\.[0-9]*\).*~\^\/usr\/lib64\/python\1\|\\\\~'`" +EXCLUDES="`echo $EXCLUDES | sed 's~\ ~~g ; s~\\\~~g ; s~|$~~'`" +EXCLUDES="$EXCLUDES\|`qlist -ICev perl | sed 's~[^0-9]*\([0-9]*\.[0-9]*\.[0-9]*\).*~\^\/usr\/lib64\/perl5/\1\|\\\\~'`" +EXCLUDES="`echo $EXCLUDES | sed 's~\ ~~g ; s~\\\~~g ; s~|$~~'`" +EXCLUDES="$EXCLUDES\|^`realpath /lib/modules/\`uname -r\``" +EXCLUDES="`echo $EXCLUDES | sed 's~\ ~~g ; s~\\\~~g ; s~|$~~'`" + +# summarize excludes +echo "EXCLUDES=$EXCLUDES" + +# summarize replaces +REPLACES="`echo $REPLACES`" +echo "REPLACES=$REPLACES" + +CURRENT_LIST=/tmp/current-$RANDOM.lst +PORTAGE_LIST=/tmp/portage-$RANDOM.lst +RESULT_LIST=/tmp/result-$RANDOM.lst + +echo "Gathering information from portage..." +qlist / | sort -u >$PORTAGE_LIST + +echo "Gathering information from file system..." +find -P $DIRLIST -type f 2>/dev/null | grep -vE "$EXCLUDES" | sed "$REPLACES" | sort -u >$CURRENT_LIST + +echo "Searching for differences..." +diff $PORTAGE_LIST $CURRENT_LIST | grep -E '^>' | sed 's/> //' >$RESULT_LIST + +echo "`wc -l $RESULT_LIST | cut -d" " -f1` orphaned files found:" +echo "-------------------------------------------------------------------------" +cat $RESULT_LIST + +rm -f $PORTAGE_LIST $CURRENT_LIST $RESULT_LIST + +exit 0 +