[aur-general] Discussion period - Moving [community] to use same system as main repos
aaronmgriffin at gmail.com
Fri Jan 9 16:37:03 EST 2009
On Fri, Jan 9, 2009 at 3:09 PM, Loui Chang <louipc.ist at gmail.com> wrote:
> On Fri, Jan 09, 2009 at 02:52:18PM -0600, Aaron Griffin wrote:
>> > Well, the way the arch SVN repo for build files is organised is by
>> > packages, not by repos. That means all community packages will be thrown
>> > in together with core, extra, and testing packages.
>> > To get a checkout of community you would have to scan every
>> > package directory to see if it's actually in community.
>> > I'm not sure if it's possible via standard subversion tools either.
>> I'm not sure what you mean here. The official repos did away with the
>> "scan all packages" thing a while back. There's no need to regenerate
>> an entire list of all packages, assuming we maintain state properly.
>> Every operation is an add or a remove. We simply use SVN to ensure
>> that the package belongs in that repo.
> What I mean is that it doesn't seem like someone could easily checkout
> the build files for just community packages.
> In that case how do you set up permissions properly if trunk build files
> don't belong to any particular repo? Seems TUs would have access to
> everything no?
In the SVN repo, yes. We currently handle permissions in a rather open
way. The svn repo is entirely open to anyone to just do what they
want. This comes in very handy when someone wants to do things like
update licenses or fix someone else's package.
It's the actual package uploading that is permission restricted. Only
a subset of the developers have access to the core repo. While anyone
can change build files for packages in core, not everyone can actually
update the packages themselves.
In code, if I wanted to checkout all of the community build files, I
would do something akin to (quick pseudo code):
for pkg in community.db.tar.gz:
svn co svn-packages/$pkg/trunk community/$pkg
or something of the sort. It'd be slow over ssh, so I would make sure
to use a ControlMaster socket for that... but locally it should be
More information about the aur-general