Subject: pkg/25451: patch for suggested improvements to lintpkgsrc
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <adrianp@stindustries.net>
List: pkgsrc-bugs
Date: 05/03/2004 23:32:22
>Number:         25451
>Category:       pkg
>Synopsis:       patch for suggested improvements to lintpkgsrc
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon May 03 23:33:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Adrian Portelli
>Release:        1.6.2/i386
>Organization:
STIndustries
>Environment:
NetBSD apu.stindustries.org.uk 1.6.2 NetBSD 1.6.2 (APU) #0: Mon Apr  5 14:06:41 BST 2004     root@apu.stindustries.org.uk:/usr/src-1.6.1/sys/arch/i386/compile/APU i386
>Description:
'lintpkgsrc -or' will currently walk through distfiles and remove any
tarballs that are not the latest version.  I thought it would be nice to expand this functionality a bit so that it could also remove any tarballs that are not installed.

Eg.  You download a package to have a play with it but then decide to
remove it.  This will leave the source tarball still in your local
distfile folder.  Over time this could leave quite a few tarballs in
distfiles chewing up disk space (depending on how much you play with
pkgsrc :)).

So I've put together a patch to tell lintpkgsrc to remove any tarballs
from distfiles that are not part of a currently installed package.

In addition to this I've also added some functionality suggested by hubertf@ which is basically the inverse of the above i.e. removing all distfiles that belong to installed packages.

The patch is against the latest version of lintpkgsrc (v1.88).  The patch is fairly complete but may need a bit of fudging with the 'r' option as I could not get it to play 100% nice when I used it.
>How-To-Repeat:
Well, it's not really a problem, this is just a suggestion for an enhancement.
>Fix:
begin 644 lintpkgsrc.diff
M+2TM(&QI;G1P:V=S<F,N;W)I9PE-;VX@36%Y("`S(#$P.C$Q.C`Y(#(P,#0*
M*RLK(&QI;G1P:V=S<F,)36]N($UA>2`@,R`Q-CHT-SHU-2`R,#`T"D!`("TS
M,2PQ,R`K,S$L,3,@0$`*(`H@)$5.5GM0051(?2`N/2`G.B]U<W(O<V)I;B<[
M"B`*+6EF("@A(&=E=&]P=',H)T)$13I).DLZ3$TZ3U`Z4E-69&<Z:&EL;6]P
M<G4G+"!<)6]P="D@?'P@)&]P='MH?2!\?`HK:68@*"$@9V5T;W!T<R@G0D1%
M.DDZ2SI,33I/4#I24U9D9SIH:6QM;W!R=7EZ)RP@7"5O<'0I('Q\("1O<'1[
M:'T@?'P*(`DA("@@9&5F:6YE9"@D;W!T>V1]*2!\?"!D969I;F5D*"1O<'1[
M9WTI('Q\(&1E9FEN960H)&]P='MI?2D@?'P*(`D@("`@9&5F:6YE9"@D;W!T
M>VQ]*2!\?"!D969I;F5D*"1O<'1[;7TI('Q\(&1E9FEN960H)&]P='MO?2D@
M?'P*(`D@("`@9&5F:6YE9"@D;W!T>W!]*2!\?"!D969I;F5D*"1O<'1[<GTI
M('Q\(&1E9FEN960H)&]P='MU?2D@?'P*(`D@("`@9&5F:6YE9"@D;W!T>T)]
M*2!\?"!D969I;F5D*"1O<'1[1'TI('Q\(&1E9FEN960H)&]P='M2?2D@?'P*
M(`D@("`@9&5F:6YE9"@D;W!T>T]]*2!\?"!D969I;F5D*"1O<'1[4WTI('Q\
M(&1E9FEN960H)&]P='M6?2D@?'P*+0D@("`@9&5F:6YE9"@D;W!T>T5]*2DI
M"BL)("`@(&1E9FEN960H)&]P='M%?2D@?'P@9&5F:6YE9"@D;W!T>WE]*2!\
M?"!D969I;F5D*"1O<'1[>GTI*2D*("`@("![('5S86=E7V%N9%]E>&ET*"D[
M('T*("1\(#T@,3L*(`I`0"`M.#@L-B`K.#@L,3(W($!`"B`)("`@('T*(`E]
M"B`**R`@("`C(%)E;6]V92!A;&P@9&ES=&9I;&5S('1H870@87)E("\@87)E
M(&YO="!P87)T(&]F(&%N(&EN<W1A;&QE9"!P86-K86=E"BL@("`@:68@*"1O
M<'1[>7T@?'P@)&]P='MZ?2D**PE["BL);7DH0'!K9W,L($!I;G-T86QL960L
M("5D:7-T9FEL97,L($!P:V=D:7-T9FEL97,L($!D;&1I<W1F:6QE<RD["BL)
M;7DH0'1M<&1I<W1F:6QE<RP@0&]R<&AA;BP@)&9O=6YD+"!`<&%R96YT*3L*
M*PHK"4!P:V=S(#T@;&ES=%]I;G-T86QL961?<&%C:V%G97,H*3L**PES8V%N
M7W!K9W-R8U]M86ME9FEL97,H)'!K9W-R8V1I<BD["BL**PDC(&QI<W0@=&AE
M(&EN<W1A;&QE9"!P86-K86=E<R!A;F0@=&AE(&1I<F5C=&]R>2!T:&5Y(&QI
M=F4@:6X**PEF;W)E86-H(&UY("1P:V=N86UE("AS;W)T($!P:V=S*0HK(`D@
M("`@>PD**PD@("`@:68@*"1P:V=N86UE(#U^("]>*%M>*C];72LI+2A;7&0J
M/UM=+BHI+RD**PD@("`@("`@('L**PD)9F]R96%C:"!M>2`D<&MG=F5R("@D
M<&MG;&ES="T^<&MG=F5R*"0Q*2D**PD)("`@('L**PD)("`@("1P:V=V97(M
M/G9A<B@G9&ER)RD@/7X@+RUC=7)R96YT+R`F)B!N97AT.PHK"0D@("`@<'5S
M:"A`:6YS=&%L;&5D+"`D<&MG=F5R*3L**PD)("`@(&QA<W0["BL)"2`@("!]
M"BL)("`@("`@("!]"BL)("`@('T**PHK"2,@9&ES=&9I;&5S(&)E;&]N9VEN
M9R!T;R!T:&4@8W5R<F5N=&QY(&EN<W1A;&QE9"!P86-K86=E<PHK"69O<F5A
M8V@@;7D@)'!K9W9E<B`H<V]R="!`:6YS=&%L;&5D*0HK"2`@("!["BL)("`@
M(&EF("AO<&5N*$1)4U1)3D9/+"`B)'!K9W-R8V1I<B\B("XD<&MG=F5R+3YV
M87(H)V1I<B<I+B`B+V1I<W1I;F9O(BDI(`HK"0E["BL)"7=H:6QE*"`\1$E3
M5$E.1D\^("D**PD)("`@('L**PD)("`@(&EF("AM+UXH7'<K*2`_7"@H6UY<
M*5TK*5PI(#T@*%Q3*RDO*0HK"0D)>PHK"0D);7DH)&1N*3L**PD)"6EF("@D
M,B`]?B`O7G!A=&-H+5MA+7HP+3E=*R0O*0HK"0D)("`@('L@;F5X=#L@?0HK
M"0D))&1N(#T@)#(["BL)"0DC(%-T<FEP(&QE861I;F<@+B\@=VAI8V@@<V]M
M971I;65S(&=E=',@861D960**PD)"2,@8F5C875S92!O9B!$25-44U5"1$E2
M/2X**PD)"21D;B`]?B!S+UXH7"Y<+RDJ+R\["BL)"0EI9B`H(61E9FEN960@
M)&1I<W1F:6QE<WLD9&Y]*0HK"0D)("`@('L**PD)"2`@("`D9&ES=&9I;&5S
M>R1D;GU[;F%M97T@/2`D9&X["BL)"0D@("`@<'5S:"`H0'!K9V1I<W1F:6QE
M<RP@)&1N*3L**PD)"2`@("!]"BL)"0E]"BL)"2`@("!]"BL)"6-L;W-E*$1)
M4U1)3D9/*3L**PD)?0HK"2`@("!]"BL)"BL)(R!D:7-T9FEL97,@9&]W;FQO
M861E9"!O;B!T:&4@8W5R<F5N="!S>7-T96T**PE`=&UP9&ES=&9I;&5S(#T@
M;&ES=&1I<B@B)'!K9V1I<W1D:7(B*3L**PEF;W)E86-H(&UY("1T;7!P:V<@
M*$!T;7!D:7-T9FEL97,I"BL)("`@('L**PD@("`@:68@*"1T;7!P:V<@;F4@
M(G!K9RUV=6QN97)A8FEL:71I97,B*0HK"2`@("`@("![('!U<V@@*$!D;&1I
M<W1F:6QE<RP@)'1M<'!K9RD[('T**PD@("`@?0HK"BL)(R!S;W)T('1H92!T
M=V\@87)R87ES('1O(&UA:V4@<V5A<F-H:6YG(&$@8FET(&9A<W1E<@HK"4!D
M;&1I<W1F:6QE<R`]('-O<G0@>R`D82!C;7`@)&(@?2!`9&QD:7-T9FEL97,[
M"BL)0'!K9V1I<W1F:6QE<R`]('-O<G0@>R`D82!C;7`@)&(@?2!`<&MG9&ES
M=&9I;&5S.PHK"BL):68@*"1O<'1[>7TI"BL)("`@('L**PD@("`@(R!L;V]K
M:6YG(&9O<B!F:6QE<R!T:&%T(&%R92!D;W=N;&]A9&5D(&]N('1H92!C=7)R
M96YT('-Y<W1E;0HK"2`@("`C(&)U="!D;R!N;W0@8F5L;VYG('1O(&%N>2!C
M=7)R96YT;'D@:6YS=&%L;&5D('!A8VMA9V4@:2YE+B!O<G!H86YE9`HK"2`@
M("`D9F]U;F0@/2`P.PHK"2`@("!F;W)E86-H(&UY("1D;&1F("A`9&QD:7-T
M9FEL97,I"BL)("`@("`@("!["BL@("`@("`@("`@("`@("`@9F]R96%C:"!M
M>2`D<&MG9&8@*$!P:V=D:7-T9FEL97,I"BL)"2`@("!["BL@("`@("`@("`@
M("`@("`@("`@(&EF("@D9&QD9B!E<2`D<&MG9&8I"BL)"2`@("`@("`@>R`D
M9F]U;F0@/2`Q.R!]"BL)"2`@("!]"BL)"2`@("!I9B`H)&9O=6YD("$](#$I
M"BL)"2`@("`@("`@>R`**PD)"7!U<V@@*$!O<G!H86XL("1D;&1F*3L@"BL)
M"2`@("`@("`@<')I;G0@(D]R<&AA;F5D(&9I;&4Z("1D;&1F7&XB.PHK"0D)
M?0HK"2`@("`@("`@("`@("1F;W5N9"`](#`["BL)"7T**PHK"6EF("@D;W!T
M>W)]*0HK"2`@("!["BL)("`@('-A9F5?8VAD:7(H(B1P:V=D:7-T9&ER(BD[
M"BL)("`@('9E<F)O<V4H(E5N;&EN:VEN9R`G;W)P:&%N960G(&1I<W1F:6QE
M<UQN(BD["BL)("`@(&9O<F5A8V@@;7D@)&1I<W1F:6QE("A`;W)P:&%N*0HK
M"2`@("`@("`@>R!U;FQI;FLH)&1I<W1F:6QE*2!]"BL)("`@('T**PE]"BL*
M*R`@("`@("`@:68@*"1O<'1[>GTI"BL)("`@('L**PD@("`@(R!L;V]K:6YG
M(&9O<B!F:6QE<R!T:&%R(&%R92!D;W=N;&]A9&5D(&]N('1H92!C=7)R96YT
M('-Y<W1E;0HK"2`@("`C(&)U="!B96QO;F<@=&\@82!C=7)R96YT;'D@:6YS
M=&%L;&5D('!A8VMA9V4@:2YE+B!P87)E;G1E9`HK"2`@("`D9F]U;F0@/2`P
M.PHK"2`@("!F;W)E86-H(&UY("1P:V=D9B`H0'!K9V1I<W1F:6QE<RD**PD)
M>PHK"0EF;W)E86-H(&UY("1D;&1F("A`9&QD:7-T9FEL97,I"BL)"2`@("![
M"BL)"2`@("!I9B`H)'!K9V1F(&5Q("1D;&1F*0HK"0D)>R`D9F]U;F0@/2`Q
M.R!]"BL)"2`@("!]"BL)"2`@("!I9B`H)&9O=6YD(#T](#$I"BL)"0E[(`HK
M"0D)<'5S:"`H0'!A<F5N="P@)'!K9V1F*3L@"BL)"2`@("`@("`@<')I;G0@
M(E!A<F5N=&5D(&9I;&4Z("1P:V=D9EQN(CL**PD)"7T**PD)("`@("1F;W5N
M9"`](#`["BL)"7T**PD@("`@?0HK"BL):68@*"1O<'1[<GTI"BL)("`@('L*
M*PD@("`@<V%F95]C:&1I<B@B)'!K9V1I<W1D:7(B*3L**PD@("`@=F5R8F]S
M92@B56YL:6YK:6YG("=P87)E;G1E9"<@9&ES=&9I;&5S7&XB*3L**PD@("`@
M9F]R96%C:"!M>2`D9&ES=&9I;&4@*$!P87)E;G0I"BL)("`@("`@("![('5N
M;&EN:R@D9&ES=&9I;&4I('T**PD@("`@?0HK("`@("`@("!]"BL*("`@("`C
M($QI<W0@0E)/2T5.('!A8VMA9V5S"B`@("`@:68@*"1O<'1[0GTI"B`)>PI`
M0"`M,3,T,BPV("LQ-#8S+#@@0$`*($EN<W1A;&QE9"!P86-K86=E(&]P=&EO
M;G,Z"0E$:7-T9FEL92!O<'1I;VYS.@H@("`M:2`Z($-H96-K('9E<G-I;VX@
M86=A:6YS="!P:V=S<F,)("`M;2`Z($QI<W0@9&ES=&EN9F\@;6ES;6%T8VAE
M<PH@("`M=2`Z($%S("UI("L@9F5T8V@@9&ES="`H;6%Y(&-H86YG92D)("`M
M;R`Z($QI<W0@;V)S;VQE=&4@*&YO(&1I<W1I;F9O*0HK"0D)"0D@("UY(#H@
M4F5M;W9E(&]R<&AA;B!D:7-T9FEL97,**PD)"0D)("`M>B`Z(%)E;6]V92!I
M;G-T86QL960@9&ES=&9I;&5S"B`*(%!R96)U:6QT('!A8VMA9V4@;W!T:6]N
M<SH)"4UA:V5F:6QE(&]P=&EO;G,Z"B`@("UP(#H@3&ES="!O;&0O;V)S;VQE
M=&4)"2`@+4(@.B!,:7-T('!A8VMA9V5S(&UA<FME9"!A<R`G0E)/2T5.)PI`
M0"`M,3,U-"PW("LQ-#<W+#<@0$`*("`@+4D@9FEL92`Z($EM<&]R="!T:&4@
M:6YT97)N86P@<&MG<W)C(&1A=&%B87-E('1O(&9I;&4@*&9O<B!U<V4@=VET
M:"`M:2D*("`@+6<@9FEL92`Z($=E;F5R871E("=P:V=N86UE('!K9V1I<B!P
M:V=V97(G(&UA<"!I;B!F:6QE"B`@("UL"2`@.B!0:V=L:6YT(&%L;"!P86-K
M86=E<PHM("`M<@D@(#H@4F5M;W9E(&)A9"!F:6QE<R`H5VET:&]U="`M;2`M
M;R`M<"!O<B`M5B!I;7!L:65S(&%L;"P@8V%N('5S92`M4BD**R`@+7()("`Z
M(%)E;6]V92!B860@9FEL97,@*%=I=&AO=70@+7D@+7H@+6T@+6\@+7`@;W(@
M+58@:6UP;&EE<R!A;&PL(&-A;B!U<V4@+5(I"B`*($UO9&EF:65R<SH*("`@
M+4L@<&%T:"`Z(%-E="!004-+04=%4R!B87-E9&ER("AD969A=6QT(%!+1U-2
/0T1)4B]P86-K86=E<RD*
`
end
>Release-Note:
>Audit-Trail:
>Unformatted: