rev-upgrade to determine if binary is distributable

Clemens Lang cal at
Wed Jun 6 16:34:05 PDT 2012


On Wed, Jun 06, 2012 at 04:16:43PM -0700, Bradley Giesbrecht wrote:
> It's not so much that the tasks are related but rather that
> rev-upgrade is already testing all the links so it seems like an
> efficient place to test the license of files port.

The code required to walk all binaries installed by a given port and
it's dependencies is rather simple, because the component actually doing
most of the work (machista in base/src/machista1.0) can be used
independent from rev-upgrade. A list of binaries is available via
registry::file search:

	set files [registry::file search active 1 binary 1 id [$port id]]

and can be iterated by machista:

	set handle [machista::create_handle]
	if {$handle == "NULL"} {
		# error
	foreach f $files {
		set resultlist [machista::parse_file $handle [$f actual_path]]
		# walk over architectures, loadcommands
	machista::destroy_handle $handle

Clemens Lang

More information about the macports-dev mailing list