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

Re: scripting automated lintian fixes



On Sat, Oct 13, 2018 at 11:12:28PM +0100, Chris Lamb  wrote:
> [adding isomer@gmail.com to CC]
> 
> > It looks like you are the other two committers of many automated changes across
> > Debian for various simple lintian issues.
> 
> So, as you know, "changes across Debian" is somewhat ambiguous as the
> actual-canonical source for Debian is not even (!) on salsa.d.o or the
> specified Vcs-*. Are you referring to my changes in the Debian Python
> Module Team? (I can't think of any other such large changes I have made.)
Ah, hmm. I didn't realize yours were just for the Debian Python Module team.
Ondřej's are definitely across a wide variety of teams and packages on salsa.debian.org.

> Alas, my "scripts" are literally horrible shell one-liners such as the
> following recovered from my ~/.histfile:
> 
>   $ cd /home/lamby/git/debian/python-team/modules; for X in */; do (cd $X; pwd; sed -i -e 's@[[:space:]]*$@@g' debian/control debian/changelog; sed -i -e 's@[ ]*$@@g' debian/rules; sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' debian/rules debian/control debian/changelog debian/copyright; git add debian/control debian/changelog debian/rules debian/copyright && git commit -m "Remove trailing whitespaces." && read PAUSE && git push); done
That's fair, mine are actual scripts - but usually also only just three or four lines.

I.e. here's my "script" for stripping trailing whitespace:

https://salsa.debian.org/jelmer/lintian-brush/blob/master/fixers/lintian/file-contains-trailing-whitespace.sh

(the changelog editing and git magic is handled by the wrapper script)

> Some quick thoughts before I head to bed:
> 
>  * I wonder if this could be incorporated in lintian.git. At the very
>    least this might ensure that things stay-up-date and we could even
>    grow some kind of "--auto-fix" (or, more-likely, a separate command
>    but whatever..)

That's pretty much what the wrapper code I have so far does.
http://salsa.debian.org/jelmer/lintian-brush contains a "lintian-brush" command
that can apply (with changelog entry + VCS commit) all the lintian fixers it
knows about on a local (versioned) source package.

>  * I feel, personally, that I can move the needle more effectively on
>    QA efforts in Debian by focusing on implementing new checks, most of
>    which cannot be sedded away.
>    
>    I thus won't be in a position to contribute here in the short- to
>    medium-term. Naturally, I would not stop in anyone's way making such
>    changes nor question their value - it's just a time tradeoff for me.
Sorry, I should have been clearer in my original mail.

I was hoping Ondřej and you would be open to sharing your existing one-liner
lintian issue fixers, so we could put them in a common pool (i.e. a git
repository). I'm happy to take it from there. :-)

Cheers,

Jelmer


Reply to: