[pacman-dev] Future pacman development (3.2/4.0)
Travis Willard
travis at archlinux.org
Fri Aug 31 16:42:18 EDT 2007
On Fri, 31 Aug 2007 13:27:29 -0700, eliott wrote
> On 8/31/07, VMiklos <vmiklos at frugalware.org> wrote:
> > having the config parser in the frontend is a very very bad idea imho,
> > just i don't want to flame on this list all the day ;)
>
> Actually, the config parser SHOULD be in the frontend.
Well, maybe it's better to say the config parser SHOULDN'T be in libalpm -
where it SHOULD be is still up for debate. (leading up to your comment below)
> libalpm is a library. Libraries don't generally parse configs. They
> receive config values through the api, at run time.
>
> pacman is effectively a front end for libalpm. Thus, pacman should
> parse the pacman.conf config file.
Thinking about it further, I do agree with you - libalpm is not the place for
config parsing. However, I still think that there are too many options in
pacman.conf that shouldn't be tied directly into the 'pacman' frontend for
libalpm - splitting up configuration files into 'pacman' specific stuff and
generic stuff (like mirror lists, servers, and so on) should still be a must.
(leading up to your comment below some more)
> There could certainly be a configuration parsing library, that
> front-ends can share, but it doesn't need to be tied into libalpm.
> That should just handle package management.
Now this, I think, is a cool idea. Keep libalpm pure, but still provide a way
for multiple front-ends to share the configuration data that, IMO, _needs_ to
be shared between front-ends.
Something like... "libalpm-config" because I'm creative that way. I'm not
sure if it should be a generic config-file-reader or if it should specifically
be designed to load only the backend-config options, such as servers, and pass
the necessary info into libalpm.
So, my points are:
1) Backend configuration should be split into a different file from frontend
configuration.
2) A library outside libalpm should be responsible for parsing, at least, the
backend configuration file and feeding that into libaplm, to maximize code re-use.
Please comment and help me flesh this out - I think we're on the right track
here. If we can get a solid idea of what would be the best way to handle
this, I'll start hacking it together.
--
Travis
More information about the pacman-dev
mailing list