Commit graph

1719 commits

Author SHA1 Message Date
Lukas Fleischer
ef1f3798a0 Update the OpenSSH patch
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-11 14:08:30 +02:00
Lukas Fleischer
4f4cfff620 README: Fix some inconsistencies
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-04-11 12:51:35 +02:00
Lukas Fleischer
d4ef469884 Update maintainer email address
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-04-11 12:48:15 +02:00
Lukas Fleischer
a53241a2f1 Automatically close requests
Close requests automatically when a package is deleted or orphaned.

Implements FS#43799.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-03-04 12:20:21 +01:00
Lukas Fleischer
5dca715c46 Allow users to delete their own packages
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-03-04 12:16:33 +01:00
Lukas Fleischer
84061604aa Update .gitignore
* 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-04 18:46:55 +01:00
Lukas Fleischer
cc1e8aed30 Rename the AUR software to aurweb
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-02-04 09:50:01 +01:00
Lukas Fleischer
a28d4f8e3e AUTHORS: Add past maintainers
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-19 17:47:12 +01:00
Lukas Fleischer
3488581046 git-update.py: Check for mandatory fields
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-15 09:35:01 +01:00
Lukas Fleischer
4dbd562b8e Use custom templates for Git repositories
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-11 18:44:01 +01:00
Lukas Fleischer
cb661cd971 Add to notification list on repository creation
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-11 01:06:35 +01:00
Lukas Fleischer
85b48ceb12 Link to the cgit log from package details
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-09 17:50:39 +01:00
Lukas Fleischer
5adb5b8ebd config.proto: Add prototype for ssh-cmdline
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-09 17:47:05 +01:00
Lukas Fleischer
3c171d353f Rewrite aurblup in Python
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-09 13:14:02 +01:00
Lukas Fleischer
7dd78de3fd Merge branch 'maint' 2015-01-09 09:38:56 +01:00
Lukas Fleischer
5816cc7faa aurblup: Do not blacklist provides
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-09 09:38:10 +01:00
Lukas Fleischer
2d96b51cb5 git-update.py: Do not wipe repository descriptions
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-08 09:18:40 +01:00
Lukas Fleischer
ed7fb91f41 git-update.py: Reject blacklisted packages
Reject commits adding packages which are in the official repositories
already.

Fixes FS#43371.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-08 09:18:40 +01:00
Lukas Fleischer
492a5db229 Merge branch 'maint' 2015-01-07 17:35:59 +01:00
Lukas Fleischer
80ef14caa8 Fix link to package base voters
Reported-by: Bartłomiej Piotrowski <b@bpiotrowski.pl>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-07 17:35:46 +01:00
Lukas Fleischer
ebf8f5d16f git-serve.py: Allow TUs to push to any repository
Implements FS#32807.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-07 12:21:22 +01:00
Lukas Fleischer
fc23a9bd50 Add support for package base co-maintainers
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-07 12:21:21 +01:00
Lukas Fleischer
b32458cb8a git-update.py: Support architecture-specific fields
Fixes FS#43356.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-07 10:41:44 +01:00
Lukas Fleischer
bf7717ac13 git-serve.py: Adopt repositories on creation
Automatically assign ownership when creating a new (empty) repository.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-06 23:33:43 +01:00
Lukas Fleischer
02dd9c518f git-serve.py: Automatically create repositories
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>
2015-01-06 23:29:35 +01:00
Lukas Fleischer
e8c48e9f4c git-serve.py: Relax path validation
Make the terminating slash in repository URLs optional.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-02 12:20:09 +01:00
Lukas Fleischer
289ff0c700 git-serve.py: Add a command to list repositories
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>
2015-01-01 17:29:29 +01:00
Lukas Fleischer
1b627a3f0b git-serve.py: Improve error messages
Also, add a help command that lists available options.

Implements FS#43287.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-01 17:29:29 +01:00
Lukas Fleischer
abd970e6a4 INSTALL: Add some notes
* Add more details on how to configure the web server.
* Clarify that the OpenSSH patch is build against OpenSSH 6.7p1.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2015-01-01 16:54:11 +01:00
Lukas Fleischer
965f908e15 git-update.py: Cast epoch to an integer
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>
2014-12-30 12:38:12 +01:00
Lukas Fleischer
3d12d3888a Disallow specifying an SSH key during registration
Make sure that users confirm their email addresses before setting an
initial SSH key.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-29 21:30:25 +01:00
Lukas Fleischer
4fc1c2c10c Add systemd unit files for the AUR sshd
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-29 13:28:08 +01:00
Lukas Fleischer
176014a5d7 Add links to public and private clone URLs
Show a public clone URL (using Git over HTTP) by default and only show
the private clone URL to the package maintainer.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-29 13:22:05 +01:00
Lukas Fleischer
ada3a8eab3 Use the AUR footer in cgit
Use the footer that is already used in other parts of the AUR website
instead of the footer from the main Arch Linux website.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-29 11:34:02 +01:00
Lukas Fleischer
8e06a607c8 Use a custom logo
Currently, the AUR sites are hard to distinguish from the official
website, especially when browsing Git repositories in cgit. Add "user
repository" to the logo to make it distinguishable from the official
site.

In order to avoid confusion, also change the link in the logo to the AUR
home page instead of the main Arch Linux website.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-29 11:30:04 +01:00
Lukas Fleischer
52432a3fc0 config.proto: Sync default values with aur.archlinux.org
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-29 11:21:48 +01:00
Lukas Fleischer
662f31cdb7 Add cgit configuration and style sheet
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-28 21:09:26 +01:00
Lukas Fleischer
871cb480c1 Update upgrade instructions for 4.0.0
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-28 17:55:17 +01:00
Lukas Fleischer
d1df490370 Hide fresh package bases from stats and results
Do not show package bases that have just been created in the package
update statistics or in the search results.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-28 17:44:25 +01:00
Lukas Fleischer
9bb93fad75 Add a script to initialize Git repositories
Introduce a script that creates one repository for each package base in
the database.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-28 17:37:05 +01:00
Lukas Fleischer
00e6e4a182 git-serve.py: Use virtual paths
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>
2014-12-28 15:38:52 +01:00
Lukas Fleischer
332d0f61e4 Remove legacy scripts
These are no longer needed. We use Git repositories now.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
9ed559eb33 git-update.py: Update repository description
Use the package description of the first package as the Git repository
description.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
c3c110c09d Honor the database socket setting in Git scripts
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
e1aac98bf5 Add sshd setup instructions
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
1dcdd3b3ea Add public clone URLs to package details
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
74edb6fea9 Use Git repositories to store packages
* Remove package submission page from the web interface.
* Replace PKGBUILD and tarball links with links to cgit.
* Remove the "URLPath" field from RPC replies.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
943b6bc976 Add update hook template
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>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
ad17b9e2b4 Add basic Git authentication/authorization scripts
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>
2014-12-27 12:42:12 +01:00
Lukas Fleischer
253e76d8cc Add support for adding SSH public keys to profiles
Users can now add an SSH public key on the account edit page. This will
later be used to authenticate users via SSH.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27 12:42:12 +01:00