[Slapt-get-user] Search MANIFEST.TGZ

Jason Woodward woodwardj at jaos.org
Fri Oct 29 16:24:33 EDT 2004


Hi,

> Is there a way to sarch the contents of packages, much like scanning 
> MANIFEST.TGZ in order to find out which package a particular file belongs 
> to?  Thanks.

No, but putting something like this in your shell's rc file (or /etc/profile) would do just as
well:

# begin
function search_manifest {
 	LASTPKG=

	if [ -z "$1" ]; then return;fi

	if [ -z "$MANIFEST" ]; then
		echo "Please set MANIFEST env variable to point to a downloaded MANIFEST.bz2"
		return
	fi

	if [ ! -f ${MANIFEST/MANIFEST.bz2/package_list} ]; then
		bzgrep -n ' Package\: ' ${MANIFEST}|awk '{print $1 $3}'|sed -re "s/\|//g" >
${MANIFEST/MANIFEST.bz2/package_list}
	fi

	FILE=$( echo $1 | sed -re "s/^\///");
	LOOKUP=$(bzgrep -n $FILE $MANIFEST|cut -f1 -d':')

	if [ -z "$LOOKUP" ]; then
		echo "$1 not found in $MANIFEST"
		return
	fi

 	for pkgline in `cat ${MANIFEST/MANIFEST.bz2/package_list}|cut -f1 -d':'`
 	do

 		if [ $LOOKUP -gt $pkgline ]; then
 			false
 		else
 			LASTPKG=`grep -B 1 $pkgline ${MANIFEST/MANIFEST.bz2/package_list}|head -1|cut -f2 -d':'|cut
-f3 -d'/'`
			echo $LASTPKG $1
 			return
 		fi

 	done
}
#end

Then you'd just call from your shell search_manifest /usr/lib/libpci.a:
pciutils-2.1.11-i486-5.tgz /usr/lib/libpci.a



take care,
jason

--
Jason Woodward
woodwardj at jaos.org

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
 
mQGiBDrwHPoRBAC3nDJRLKTcFcJWid9PN08ChMI7tuQevomWoVeZpZZ0zzip2w/E
ts55Mx58eRRGFFmgZZGeP7EhyUPzb668LIsU62gFO7G5/oWCr3U3g3peabZsqRC9
FchdiM8DJqQu/7ryAjbQ4OFCSW+jAsMC3tKXrdaB48WiipiXUcKR/sONGwCgzGPf
yxDgOc7n9xWVH0qbUDC/vZsEAKvbckkhpe9/x2A4E15l6DUbliEmboeHiT9NJaok
vLo3ElSO1o6ld5+VhFIkhRmmovrS8oyttZNv8HjMEYf6L3NdZybTHfcdS5EIpguH
Xx2/IGzJKbgX3vM/qhJ0+F1LPuN20mOT0NO/29AXJn3V7rTKoKf/uOOKD+Eqh4r1
QVMoBAC3ZPF3idmuW3j4tqhOaWe2qHlLwEClwdsTG+KOsVYh1sU4RvyMErDIU6r/
MomkLAJfbtBTXKcknW68Y4Uv4B+UkyopklktRBFiMBffoHLUfkkQk/L9Yg1YG27N
COsECiamylF8hNSTcNIQqYXDpyoRcSi2p7gqkxJZrk7GwrX2ObQjSmFzb24gV29v
ZHdhcmQgPHdvb2R3YXJkakBqYW9zLm9yZz6IVwQTEQIAFwUCOvAc+gULBwoDBAMV
AwIDFgIBAheAAAoJEGu22odUp/oeN2IAoKHS+qH8AenlOTKL0Ifl3q1QSlDBAKDL
bvvgl7HoRTHY2b9n3pEPr+KIh7kBDQQ68Bz9EAQA2Ds/2VKc08qaNIkA1okxITmQ
aaNjUrm/au9jNzm9lyEFXWXBNegzP5Y4A1ESDKUt5RETgVhNKd9mGkP7tgPTs3f6
Z595K6W7xeZWONKbl578RbWwE1CiMqEOuXwr1/q0DzfwmNQLcqDcX3o0DEpWE+uZ
G+5CtpkXYiDmccigDKMAAwUD/iZDxEr1HC4iLnGXUCDpxXEtp7Fx150baFzZITns
4hpKRAbTR65s2tL8rh5d8ThDgqW5C9JQja9fMxI2u7zlyM2ALFXJP1xwgZTSOYvn
sq+x41i5tJpce+pDmMEl8X0wew2Z5ZRPfDLv64kKPIGNgVXsAHirH2KjChZat4VC
qkZciEYEGBECAAYFAjrwHP0ACgkQa7bah1Sn+h7qkQCePz0ds5O/dsZrm450pjLs
2V3BkMAAn2/6alBBC9b9F94svdOf0mGY/G5w
=4p8c
-----END PGP PUBLIC KEY BLOCK-----

my($c, at s)=(0,qw( | / - \ ));$|++;my$p;&{sub{map{$p.=chr$_}
unpack(join('a',('',split(//,$_->[1]))),$_->[0]);}}foreach
[qw/74117115116 2333/],[qw/65110111116104101114 2333333/],
[qw/80101114108 2333/],[qw/729799107101114 222333/];{my$z=
$c<4?$s[$c++]:$s [$c=0];printf"\ec%s%s%s",$z,$p,$z,select*
STDOUT,*STDOUT,*STDOUT,0.1,;redo;}##########JAPH##########



More information about the Slapt-get-user mailing list