[pacman-dev] Comments with `)' are either broken or disallowed
lolilolicon
lolilolicon at gmail.com
Tue May 13 01:18:33 EDT 2014
On Tue, May 13, 2014 at 1:43 AM, Dave Reisner <d at falconindy.com> wrote:
> On Mon, May 12, 2014 at 01:06:20PM +0800, lolilolicon wrote:
>>
>> These are in the check_sanity function, by the time which is run we
>> already source'd the BUILDFILE, correct? Why don't we use the existing
>> variable arrays then?
>>
>
> You're forgetting about package-level overrides, which aren't available
> in the environment.
Alright, we're cursed, aren't we? Gone are dreams of grace and order,
now we must indulge in patch and scratch.
Anyway, maybe we can ask bash to pre-formalize the PKGBUILD a little
bit so be can parse it more confidently com, by using abination of
`set -x` and `typeset`. For example, consider the following
troublesome PKGBUILD:
foo=(a \
b # )
'c: )'
)
package_one() {
foo=(d
'e: 4 #1')
}
package_two() {
foo+=(z)
}
We can append to the end of it:
typeset -f package_one package_two
And then if you execute it with: PS4='' bash -x ./PKGBUILD, the output
is formalized, with comments stripped too:
foo=(a b 'c: )')
typeset -f package_one package_two
package_one ()
{
foo=(d 'e: 4 #1')
}
package_two ()
{
foo+=(z)
}
What do you think?
More information about the pacman-dev
mailing list