tech-pkg archive

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

Re: lintpkgsrc important changes RFC (Was: lintpkgsrc 'Out of memory!' error)



On Mon, Sep 3, 2012 at 10:10 AM, David Brownlee <abs%netbsd.org@localhost> 
wrote:
> The problem with lintpkgsrc is that it tries to speed up the Makefile
> processing by implementing (just enough of) a Makefile parser in perl.
> Unfortunately as the usage of Makefile constructs gets more
> sophisticated in pkgsrc this is probably a doomed arms race.

JFYI. In order to speed up Makefile processing I also use "heuristics"
that partially supports bmake's language. If it fails, bmake is used
as a fallback.
See pkgtools/pkg_summary-utils.

pkg_micro_src_summary is able to fetch only "simple" variables
like PKGPATH or PKGNAME defined
in Makefile or nearby but not in mk/* or bl3.mk.
It is used by 'nih status -s' by default.

   0 lintpkgsrc>time -p bmake show-vars VARNAMES='PKGNAME PKGPATH'
   lintpkgsrc-4.84
   pkgtools/lintpkgsrc
   real 0.60
   user 0.29
   sys 0.16
   0 lintpkgsrc>time -p pkg_micro_src_summary -f PKGNAME,PKGPATH
pkgtools/lintpkgsrc
   PKGNAME=lintpkgsrc-4.84
   PKGPATH=pkgtools/lintpkgsrc

   real 0.22
   user 0.11
   sys 0.12
   0 lintpkgsrc>

In this example, ~3-times faster.


Home | Main Index | Thread Index | Old Index