tech-pkg archive

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

Re: pkgsrc-dewey combining or sorting?



On Sun, Jun 12, 2011 at 06:21:04PM +0000, David Holland wrote:
> On Sun, Jun 12, 2011 at 11:19:59AM +0200, Joerg Sonnenberger wrote:
>  > On Sun, Jun 12, 2011 at 12:55:16AM +0000, David Holland wrote:
>  > > Is there an off-the-shelf way to take a list of depend rules, like
>  > > these:
>  > > 
>  > >    inputproto>=2.0:../../x11/inputproto
>  > >    inputproto>=1.4:../../x11/inputproto
>  > >    kbproto>=1.0.2:../../x11/kbproto
>  > >    libX11>=0.99:../../x11/libX11
>  > >    libX11>=1.3:../../x11/libX11
>  > >    libX11>=1.1:../../x11/libX11
>  > >    libXext>=0.99.0:../../x11/libXext
>  > >    libXext>=1.1:../../x11/libXext
>  > > 
>  > > and either combine, filter, or sort so as to be able to get the real
>  > > minimum version number for each package?
>  > 
>  > Not exactly. You can try mk/flavor/pkg/reduce-depends.awk though.
> 
> That seems to be exactly what's wanted.
> 
> Anyone object to the following?
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvsroot/pkgsrc/pkgtools/verifypc/Makefile,v
> retrieving revision 1.9
> diff -u -p -r1.9 Makefile
> --- Makefile  9 Apr 2009 00:48:14 -0000       1.9
> +++ Makefile  12 Jun 2011 18:19:54 -0000
> @@ -1,7 +1,7 @@
>  # $NetBSD: Makefile,v 1.9 2009/04/09 00:48:14 joerg Exp $
>  #
>  
> -DISTNAME=    verifypc-1.4
> +DISTNAME=    verifypc-1.5
>  CATEGORIES=  pkgtools
>  MASTER_SITES=        # empty
>  DISTFILES=   # empty
> Index: files/verifypc.sh
> ===================================================================
> RCS file: /cvsroot/pkgsrc/pkgtools/verifypc/files/verifypc.sh,v
> retrieving revision 1.5
> diff -u -p -r1.5 verifypc.sh
> --- files/verifypc.sh 14 Sep 2006 15:35:46 -0000      1.5
> +++ files/verifypc.sh 12 Jun 2011 18:19:54 -0000
> @@ -123,13 +123,13 @@ main() {
>          err "pkg-config log not found; must run '${MAKE} configure' first"
>  
>      # Construct a list of dependency specifications for the current package.
> -    SORTED_DEPS=$(${MAKE} show-vars VARNAMES="BUILD_DEPENDS DEPENDS" | tr ' 
> ' '
> -' | sed 's,\([.<>=]\)\([0-9][.:n]\),\10\2,g' | \
> -    sed 's,\([.<>=]\)\([0-9][.:n]\),\10\2,g' | \
> -    sort -r | \
> -    sed 's,\([.<>=]\)0\([0-9][.:n]\),\1\2,g' | \
> -    sed 's,\([.<>=]\)0\([0-9][.:n]\),\1\2,g' | \
> -    uniq)
> +    #
> +    # (The list is no longer actually sorted -- the important part is that
> +    # the loop in search_file_in_depends finds the most restrictive spec
> +    # first, which used to be done by sorting but is now done with 
> +    # reduce-depends.)
> +    SORTED_DEPS=$(awk -f ../../mk/flavor/pkg/reduce-depends.awk \
> +     "$(${MAKE} show-vars VARNAMES='BUILD_DEPENDS DEPENDS')")
>  
>      error=0
>      lines=$(cat ${log} | sort | uniq | tr ' ' '')

looks fine to me, i suspect that basic regexps in sed are a source of wackiness.

please commit.

thanks,
alistair


Home | Main Index | Thread Index | Old Index