[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: fetching source/recompiling all my packages



To quote elysium@tsoft.com,
# It might, but if it does, it won't do it cleanly. It's not really 
# designed for it.
# 
# dpkg -l|awk '{print $2}'
# 
# can't be made part of a script, because dpkg cuts off filenames
# after a certain length. So you get things like 'netscape-base-',
# 'libstdc++2.10-', and 'communicator-s' twice. Anyway to change
# get a list of the _full_ filenames of all packages from the
# command line?

Yeah, 'dpkg-awk' will show you all your installed packages. 'grep' and
'awk' to suit.

# You would need to grab the source for each package you have,
# compile it into a .deb, then install, I think. Yes? 'apt-get
# source --compile <package>' will not place things into a nice
# neat tree, either. You would end up with a directory filled with
# tons of 'package-version' directories, as well as the diff's and 
# original source.

I'd suggest something like:

#/bin/sh
mkdir -p /tmp/temporary-build-area
mkdir -p /tmp/termporary-package-area
cd /tmp/temporary-build-area
for i in `dpkg-awk | grep Package | awk '{print $2}'`; do
	apt-get -b source $i
	mv *.deb /tmp/temporary-package-area
	rm -rf *
done

However, 'dpkg-awk | grep Package' occasionally gives more than just
package names(ie: any line with the word "Package" in it ;). So the
output would have to be put into a file and then edited manually.

David Barclay Harris, Clan Barclay
    Aut agere, aut mori. (Either action, or death.)



Reply to: