Age | Commit message (Collapse) | Author | Files | Lines |
|
Instead of using one Git repository per package, use a single large
object storage for space efficiency. The refs of the individual package
bases are divided using gitnamespaces(7) which allows for exposing each
namespace as an independent repository easily. Also, git-serve is
modified to create a branch for each package, allowing to browse the
large repository with cgit.
Helped-by: Florian Pritz <bluewind@xinu.at>
Helped-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
We no longer run a separate SSH daemon on port 2222. Change the default
configuration accordingly. Also remove some configuration files that are
no longer needed.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Extended AuthorizedKeysCommand parameters are now officially supported
by OpenSSH.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Use the latest version of Damien Miller's patch to extend the parameters
to the AuthorizedKeysCommand.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Rename the project to help differentiate between the software providing
access to the Arch User Repository and the collection of source packages
itself.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Check explicitly whether pkgver, pkgrel, pkgname, pkgdesc and url are
available in each package. If any of these is missing, an exception
might occur when parsing the meta data later.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Do not waste disk space by copying dozens of unneeded sample hooks. Use
a custom template directory that only includes the git-update hook.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Since commit bf7717a (git-serve.py: Adopt repositories on creation,
2015-01-06), newly created package bases are no longer orphan and
therefore, they are not adopted when pushing the first commit which also
means that the initial submitter is not added to the notification list
automatically. To remedy this, add the owner to the notification list
when setting up a new repository.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Only update repository descriptions if there is at least one package in
the package base meta data.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Reject commits adding packages which are in the official repositories
already.
Fixes FS#43371.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Implements FS#32807.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This allows for having multiple co-maintainers for AUR packages.
Co-maintainers have push access to the package base Git repository but
are not allowed to change the package base category, disown the package
or modify the list of co-maintainers. The primary maintainer of an AUR
package can edit the list of co-maintainers from the Package Actions
box.
Implements FS#17911.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Fixes FS#43356.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Automatically assign ownership when creating a new (empty) repository.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Create a fresh Git repository when cloning or pushing using a path that
does not yet exist.
Implements FS#43308.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Make the terminating slash in repository URLs optional.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
The list-repos command now lists all repositories you maintain. Empty
repositories are prefixed with an asterisk.
Implements FS#43288.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Also, add a help command that lists available options.
Implements FS#43287.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Convert epoch values before doing integer comparisons. Also, add a
sanity check for the epoch variable.
Reported-by: Ido Rosen <ido@kernel.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Introduce a script that creates one repository for each package base in
the database.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Pretend that all repositories are located in the root directory of the
file system to achieve location transparency.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Use the package description of the first package as the Git repository
description.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This adds a script that can be used as an update hook to check all
commits for validity and to regenerate the package details page before
updating a named ref.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This adds two scripts to be used together with Git over SSH:
* git-auth.py is supposed to be used as AuthorizedKeysCommand. It checks
whether the public key belongs to any AUR user and invokes
git-serve.py, passing the name of the corresponding user as a command
line argument, if any.
* git-serve.py is a wrapper around git-shell(1) that checks whether the
user passed as command line argument has access to the Git repository
that a push operation writes to.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|