Finding files in packages (MANIFEST)

Anders F Björklund afb at users.sourceforge.net
Sun Nov 21 10:31:25 UTC 2010


For PackageKit's "app-install", I wanted to list all
ports/packages that had a .desktop file (= an "app").

This ended up in a large number of "false positives",
since there is no list of the contents of each package.
So the brute-force method is to download *all* of them.

For Slackware, which also uses tarballs for packages,
it was easier because they also make a MANIFEST file
available in addition to the FILE_LIST (= ls -lR)...

ftp://ftp.sunet.se/pub/Linux/distributions/slackware/slackware64-13.1/slackware64/FILE_LIST
ftp://ftp.sunet.se/pub/Linux/distributions/slackware/slackware64-13.1/slackware64/MANIFEST.bz2
ftp://ftp.sunet.se/pub/Linux/distributions/slackware/slackware64-13.1/slackware64/PACKAGES.TXT

Would it be possible to make such a file available
for FreeBSD Packages too ? (maybe even both of them)

--anders


PS. Here was the simple script I used to create mine:

#!/bin/sh

MF=/tmp/MANIFEST

for tbz in All/*.tbz
do
  echo $tbz
  echo "++========================================" >> ${MF}
  echo "||" >> ${MF}
  echo "||   Package: $tbz" >> ${MF}
  echo "||" >> ${MF}
  echo "++========================================" >> ${MF}
  tar tjvf $tbz >> ${MF}
done



More information about the freebsd-ports mailing list