[pacman-dev] [RFC] Package parser in python

Sebastian Nowicki sebnow at gmail.com
Thu Oct 1 10:47:01 EDT 2009

On Oct 1, 2009, at 4:32 PM, Allan McRae wrote:

> Sebastian Nowicki wrote:
>> On Oct 1, 2009, at 2:52 PM, Allan McRae wrote:
>>> Hi,
>>> This is one part of the makepkg test suite I am working on.   It  
>>> is fairly a simple class that takes a pacman package filename and  
>>> does some parsing.  Currently that involves getting the file list  
>>> and the info from the .PKGINFO file.
>>> I am still fairly new to python so I am looking for comments on  
>>> how this could be improved.
>>> One idea I have had is to not initialize all the fields in the  
>>> pkginfo dict and add a test if an array exists before appending.   
>>> It would make the code tidier but that would mean the need to test  
>>> if the field exists when comparing it later.
>> I didn't really look at the script, but I made a similar parser [1]  
>> earlier, initially for AUR2 purposes. Looking over it, it seems I  
>> don't include the file list during parsing, but that can probably  
>> be easily added in. Perhaps it can be expanded upon, instead of  
>> creating a new one. If not it should at least help.
>> [1] http://github.com/sebnow/parched/blob/master/parched.py
> Ah....   I had seen that before but I thought it only parsed  
> PKGBUILDs for some reason.  I have been using that for some ideas  
> for my PKGBUILD parser but it needed a big overhaul for package  
> splitting.

Indeed, I haven't kept it up to date. I've wanted to actually  
implement a tiny and safe bash parser to make it work with all  
PKGBUILDs, but it I could never settle on the feature list (bash is  
bigger than I thought). Such changes to the PKGBUILD spec shouldn't  
affect it then. That would be overkill for a test suite though :P.

It seems our package parsers are pretty much the same, with the  
exception of variable naming.

More information about the pacman-dev mailing list