Stephen Montgomery-Smith wrote:
I have looked into making the registration and package-building process even faster. It seems to me that the easiest way would be to redesign the package database so that it also includes a package-name/+DEPENDENCIES file, which would be a kind of reverse of package-name/+REQUIRED_BY. This could be used instead of "make package-depends" in creating PKG_ARGS in bsd.port.mk. Creating +DEPENDENCIES would be very easy - you "cat" together the files of the immediate dependencies ${RUN_LIB_DEPENDS} and do a "uniq" to the final result.

Stephen


OK, I am going to retract this suggestion. The real reason, I think, that make package-depends is so slow is that invoking make is so slow. Try adding these lines to /usr/ports/Mk/bsd.port.mk:


yyy:
        @for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \
                (cd $$dir; ${MAKE} xxx); \
        done

xxx:
        @${ECHO_CMD} ${PKGNAME}


Then cd to /usr/ports/x11/gnome2 and type

make yyy

All it is supposed to do is list the names of the immediate dependencies. Even this is dead dog slow!!! And the problem is, there simply is no other way to find out the name of the package except by invoking make in the directory. So even if all the +DEPENDENCIES are in /var/db/pkg-name, even to find pkg-name is going to take a long, long time.

Basically I think we are stuck on making "make package-depends" go any faster.

However I do think that the modifications I made to pkg_create go a very significant way to solving the problem of registration taking so very long.

Stephen
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to