summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-06-02Setup Git repositories even if package base existsLukas Fleischer1-7/+17
Sometimes, we need to initialize the Git repository even if the package base already exists (e.g. when using a non-empty package database with empty repositories during the AUR 4.0.0 migration period). Make sure that the package branch and the namespaced HEAD ref is always created. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-02Add a Makefile for the git-auth wrapperLukas Fleischer5-5/+23
Avoid manual editing of the wrapper script when a non-standard path is used. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-02Restructure scriptsLukas Fleischer9-12/+12
* Move scripts/git-integration/ to git-interface/. * Move scripts/aurblup/aurblup.py to scripts/aurblup.py. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-01git-update: Check for missing install and source filesLukas Fleischer1-0/+11
Suggested-by: Marcel Korpel <marcel.korpel@gmail.com> Suggested-by: carstene1ns <arch@carsten-teibes.de> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-01Use gitnamespaces for efficient storageLukas Fleischer9-132/+80
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>
2015-05-31Do not show the activity check box when registeringLukas Fleischer1-0/+2
Creating an inactive account does not make sense. Hide the activity check box from the registration page. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-31Show the SSH key field on the registration pageLukas Fleischer2-3/+2
Now that we have a short explanation on how we use the SSH public key, we can show that field on the registration page. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-31Add more details on the SSH public key fieldLukas Fleischer2-7/+16
Also, reorder the fields such that optional fields come last. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-31Allow for resetting the SSH public keyLukas Fleischer1-2/+2
Use NULL instead of an empty string if the SSH public key field is left empty. Additionally, do not check for duplicate keys in that case. Fixes FS#45109. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-23config.proto: Fix default value of ssh-cmdlineLukas Fleischer1-1/+1
We no longer use port 2222 for SSH. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Include user name in password reset emailsLukas Fleischer1-4/+6
Fixes FS#44320. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Update co-maintainer list when promoting a userLukas Fleischer1-13/+20
When a user disowns a package and promotes a co-maintainer, remove that new maintainer from the list of package co-maintainers. Since only the package maintainer can manage co-maintainers, this must happen before the actual disown operation. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Fix processing of pkgbase_get_comaintainers()Lukas Fleischer2-9/+12
pkgbase_get_comaintainers() returns an array of user names, not an array of user IDs. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Move package disowning to a separate pageLukas Fleischer3-4/+64
The disown link in the package actions box leads to a new page (pkgdisown.php) that can be used to confirm package disowning. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Update co-maintainers when disowning a packageLukas Fleischer1-0/+18
When a user disowns a package, the co-maintainer with the highest priority automatically becomes the new maintainer. When the package is disowned by a Trusted User or a Developer, the list of co-maintainers is cleared. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Fix the permission check in pkgbase_adopt()Lukas Fleischer1-10/+18
Filter the affected package bases before closing any package requests. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Store co-maintainer prioritiesLukas Fleischer3-2/+7
In addition to saving the list of package co-maintainers, also save their order. This makes it possible to define a "primary" co-maintainer. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Support boolean operators in search queriesLukas Fleischer1-1/+18
This adds very basic support for boolean search queries such as "video or movie" or "lin and not linux". However, nested queries such as "(video or movie) and editing" are not (yet) supported. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Do not allow more than 20 terms in search queriesLukas Fleischer1-0/+11
Specifying a huge number of search terms currently results in complex SQL queries. In practice, queries with more than 20 terms are rarely needed. Ignore everything apart from the first 20 keywords to prevent from potential abuse. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Use keyword search by defaultLukas Fleischer1-3/+5
Change the default search mode such that packages that contain all of the space-separated search terms are returned. For example, the query image edit "command line" returns all packages where "image", "edit" and "command line" occurs in the package name or description. This is much more convenient and general than a simple substring search (one can still perform a substring search by quoting the whole search term). Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22Update upgrade instructions for 4.0.0Lukas Fleischer1-4/+8
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-21Make the type parameter of pkgreq_by_pkgbase() optionalLukas Fleischer2-7/+7
This simplifies the code a bit, improves maintainability and reduces the number of SQL queries when deleting a package. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-21Change default configuration to use SSH port 22Lukas Fleischer5-22/+2
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>
2015-05-21Remove the OpenSSH patchLukas Fleischer3-1120/+18
Extended AuthorizedKeysCommand parameters are now officially supported by OpenSSH. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-21Fix email body of password reset emailsLukas Fleischer1-1/+1
When the password reset function was factored out in 5d31bb2 (Move reset key submission to a separate function, 2013-03-19), a semicolon was accidentally replaced by a concatenation operator. As a result of this, all password reset emails sent since mid-2013 only contained a password reset link without any description. Fix this by terminating the assignment with a semicolon again. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-04-11Update the OpenSSH patchLukas Fleischer5-111/+1055
Use the latest version of Damien Miller's patch to extend the parameters to the AuthorizedKeysCommand. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-04-11README: Fix some inconsistenciesLukas Fleischer1-3/+3
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-04-11Update maintainer email addressLukas Fleischer2-1/+2
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-03-04Automatically close requestsLukas Fleischer2-1/+51
Close requests automatically when a package is deleted or orphaned. Implements FS#43799. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-03-04Allow users to delete their own packagesLukas Fleischer3-2/+18
Allow users to remove their own package bases for a short period of time after initial submission (defaults to one day). Implements FS#43648. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-02-04Update .gitignoreLukas Fleischer1-8/+4
* Remove user-specific configuration. * Update with latest changes to the configuration file and templates. * Order entries alphabetically. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-02-04Rename the AUR software to aurwebLukas Fleischer31-176/+73
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>
2015-01-19AUTHORS: Add past maintainersLukas Fleischer1-1/+11
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-15git-update.py: Check for mandatory fieldsLukas Fleischer1-0/+4
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>
2015-01-11Use custom templates for Git repositoriesLukas Fleischer5-10/+42
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>
2015-01-11Add to notification list on repository creationLukas Fleischer1-0/+4
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>
2015-01-09Link to the cgit log from package detailsLukas Fleischer2-2/+8
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-09config.proto: Add prototype for ssh-cmdlineLukas Fleischer1-0/+1
This should have been added in 1b627a3 (git-serve.py: Improve error messages, 2015-01-01). Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-09Rewrite aurblup in PythonLukas Fleischer9-383/+53
The AUR backend already uses several Python scripts, rewrite the aurblup helper as well. This has several advantages: * We can easily use the main configuration file without using any shell script wrappers. * aurblup does not need to be recompiled on libalpm soname bumps. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-09Merge branch 'maint'Lukas Fleischer1-5/+0
2015-01-09aurblup: Do not blacklist providesLukas Fleischer1-5/+0
This partly reverts commit ddc5435 (Add packages' provides and replaces to the blacklist in aurblup., 2011-02-08). While adding replaces is fine, blacklisting provides prevents from uploading alternative implementations of a program which is not what we want. Fixes FS#43381. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-08git-update.py: Do not wipe repository descriptionsLukas Fleischer1-3/+5
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>
2015-01-08git-update.py: Reject blacklisted packagesLukas Fleischer1-4/+13
Reject commits adding packages which are in the official repositories already. Fixes FS#43371. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-07Merge branch 'maint'Lukas Fleischer1-1/+1
2015-01-07Fix link to package base votersLukas Fleischer1-1/+1
Reported-by: Bartłomiej Piotrowski <b@bpiotrowski.pl> Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-07git-serve.py: Allow TUs to push to any repositoryLukas Fleischer1-0/+4
Implements FS#32807. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-07Add support for package base co-maintainersLukas Fleischer12-9/+156
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>
2015-01-07git-update.py: Support architecture-specific fieldsLukas Fleischer1-19/+32
Fixes FS#43356. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-06git-serve.py: Adopt repositories on creationLukas Fleischer1-2/+2
Automatically assign ownership when creating a new (empty) repository. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-06git-serve.py: Automatically create repositoriesLukas Fleischer1-0/+2
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>