Commit graph

2971 commits

Author SHA1 Message Date
Lukas Fleischer
6ce4433b88 Add a confirmation check box below search results
Always show the confirmation check box next to the package actions
drop-down on the package search results page. This allows regular users
to confirm disown commands.

Fixes FS#45264.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-09 09:12:51 +02:00
Lukas Fleischer
5c64ae1a0e Drop suffixes from confirm parameters
Remove the _delete and _disown suffixes from HTTP POST confirmation
parameters.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-09 09:05:05 +02:00
Lukas Fleischer
9b19f7595e Add Spanish (Latin America) and Asturian translations
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-09 08:52:08 +02:00
Lukas Fleischer
87df56e30b Fix official language name of Czech
Reported-by: Pablo Lezaeta Reyes <prflr88@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-09 08:49:21 +02:00
Lukas Fleischer
2be78f42ac aurjson.class.php: Exclude hidden package bases
Do not return packages belonging to hidden package bases in RPC results.

Fixes FS#45271.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-09 08:43:24 +02:00
Lukas Fleischer
e2b040b7ce Release 4.0.0-rc2
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 21:58:04 +02:00
Lukas Fleischer
c7ff97a6a8 git-update: Avoid duplicate notifications
Fixes FS#45254.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 21:52:59 +02:00
Lukas Fleischer
8aa4c51dfb Fix searching for an empty string
Return all packages when an empty search term is used with keyword
search.

Reported-by: G. Schlisio <g.schlisio@dukun.de>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 21:35:52 +02:00
Johannes Löthberg
3b9cb66a1e pkg_details: Use correct clone URL
The clone URLs should use the pkgbase name, not the pkgname itself

Reported-by: Jonathan Steel <jsteel@archlinux.org>
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 21:24:46 +02:00
Johannes Löthberg
fcbfaf6a37 git-update: Drop writing git description file
All PKGBUILDs are stored in a single repository now, so there is no use
for writing out a description file for the repo anymore.

This fixes a bug where pkgdescs containing UTF-8 characters are rejected
due to it trying to write the file out using ASCII.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 15:04:13 +02:00
Lukas Fleischer
cb00a66855 Fix package statistics
Exclude hidden package bases from the package statistics.

Reported-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 14:42:20 +02:00
Lukas Fleischer
c08c384e9a Show official language names in the drop-down list
We already store the native language names. Display them in the
drop-down list instead of using language codes.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 14:26:26 +02:00
Lukas Fleischer
f13160f5cf Add Chinese (Taiwan) translations
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 14:26:26 +02:00
Lukas Fleischer
ed72af6378 git-update: Improve error message for non-blob objects
When a repository contains a directory, a user is currently faced with
the following error message:

    remote: Traceback (most recent call last):
    remote:   File "hooks/update", line 194, in <module>
    remote:     if repo[treeobj.id].size > 250000:
    remote: AttributeError: '_pygit2.Tree' object has no attribute 'size'
    remote: error: hook declined to update refs/heads/master

Explicitly check for directories and other non-blob objects and display
a more intuitive message.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 14:26:26 +02:00
Johannes Löthberg
6e52439e6f Use extract_arch_fields when checking for source files
This fixes a bug where pushes are rejected in split PKGBUILDs if there
are no arch-independent source array.

Fixes FS#45253

Reported-by: Marti <marti@juffo.org>
Reported-by: Maxime Gauduin <alucryd@archlinux.org>
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 14:26:26 +02:00
Lukas Fleischer
debe76299d git-update: Increase maximum blob size to 250kB
Large blobs are needed in some packages, such as customized Linux
kernels including kernel configurations.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 13:15:23 +02:00
Wieland Hoffmann
d5beada7c3 git-serve: Use pkgbase for errors about invalid names
`repo` is not defined at the point it's used, so you would get errors
like

> Traceback (most recent call last):
>   File "/srv/http/vhosts/aur-dev.archlinux.org/public/git-interface/git-serve.py", line 138, in <module>
>     die('%s: invalid repository name: %s' % (action, repo))
> NameError: name 'repo' is not defined

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 12:43:58 +02:00
Lukas Fleischer
608d4aaf57 Release 4.0.0-rc1
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 09:21:08 +02:00
Lukas Fleischer
1fa9d4218b Translation updates from Transifex
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-08 09:16:43 +02:00
Lukas Fleischer
cc5871c56f Update message catalog
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 13:48:45 +02:00
Lukas Fleischer
4c7ec61363 cgitrc.proto: Fix clone prefix
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 13:31:55 +02:00
Lukas Fleischer
58db164732 git-update: Prevent from overwriting packages
Make sure we do not overwrite a package belonging to another package
base. We forgot to add this check to git-update when porting the package
submission script to Python in commit 74edb6f (Use Git repositories to
store packages, 2014-06-06).

Reported-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 11:35:46 +02:00
Lukas Fleischer
c4870a95fc git-update: Only check HEAD for blacklisted packages
When a part of a package base is moved to the official repositories, it
needs to be dropped from the AUR package. However, we want to allow that
the moved packages still appear in the history.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 11:25:01 +02:00
Lukas Fleischer
18292e7114 aurblup: Fix path to configuration file
Fixes a regression introduced in commit 10ecd39 (Restructure scripts,
2015-06-01).

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 11:25:01 +02:00
Lukas Fleischer
50c0ee9ec4 git-update: Only check HEAD for matching pkgbase
When renaming a package base, we want to keep commits of the former
package. Move the check that compares the package base name with the
repository name such that only HEAD is validated.

Fixes FS#45065.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 11:25:01 +02:00
Lukas Fleischer
643dae80eb pkgfuncs.inc.php: Remove a conflict marker
Remove a Git conflict marker that was added accidentally in 74edb6f (Use
Git repositories to store packages, 2014-06-06).

Reported-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-04 11:24:56 +02:00
Lukas Fleischer
c38f95f632 config.proto: Cleanup
Remove the template-path and git-update-hook options which are no longer
used. Update the git_clone_uri_anon default value.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-02 15:16:24 +02:00
Lukas Fleischer
6fe8792508 Setup Git repositories even if package base exists
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-02 15:12:00 +02:00
Lukas Fleischer
124ad00997 Add a Makefile for the git-auth wrapper
Avoid manual editing of the wrapper script when a non-standard path is
used.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-06-02 10:49:33 +02:00
Lukas Fleischer
10ecd3982d Restructure scripts
* 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-02 10:34:34 +02:00
Lukas Fleischer
451e60d91d git-update: Check for missing install and source files
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-01 23:25:59 +02:00
Lukas Fleischer
b44411fb53 Use gitnamespaces for efficient storage
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-06-01 23:24:52 +02:00
Lukas Fleischer
ecfa27e406 Do not show the activity check box when registering
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-31 19:33:13 +02:00
Lukas Fleischer
8885796e80 Show the SSH key field on the registration page
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-31 19:31:36 +02:00
Lukas Fleischer
5b5950e51d Add more details on the SSH public key field
Also, reorder the fields such that optional fields come last.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-31 19:26:07 +02:00
Lukas Fleischer
86352459ab Allow for resetting the SSH public key
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-31 19:16:31 +02:00
Lukas Fleischer
8c4428de5d config.proto: Fix default value of ssh-cmdline
We no longer use port 2222 for SSH.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-23 15:29:14 +02:00
Lukas Fleischer
40461eb738 Include user name in password reset emails
Fixes FS#44320.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22 22:32:43 +02:00
Lukas Fleischer
dd3eb28a8c Update co-maintainer list when promoting a user
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-22 21:14:26 +02:00
Lukas Fleischer
c6e09def2b Fix processing of pkgbase_get_comaintainers()
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-22 21:14:24 +02:00
Lukas Fleischer
0b8c11a37a Move package disowning to a separate page
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-22 21:13:43 +02:00
Lukas Fleischer
422d8026da Update co-maintainers when disowning a package
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-22 17:09:26 +02:00
Lukas Fleischer
0dcdc23a7f Fix the permission check in pkgbase_adopt()
Filter the affected package bases before closing any package requests.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22 17:09:26 +02:00
Lukas Fleischer
2b909cb3f6 Store co-maintainer priorities
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-22 17:09:26 +02:00
Lukas Fleischer
2db1a55922 Support boolean operators in search queries
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-22 17:09:26 +02:00
Lukas Fleischer
0f48341ed6 Do not allow more than 20 terms in search queries
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-22 17:09:25 +02:00
Lukas Fleischer
20b838a90c Use keyword search by default
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-22 13:08:06 +02:00
Lukas Fleischer
913367606e Update upgrade instructions for 4.0.0
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2015-05-22 10:54:15 +02:00
Lukas Fleischer
01bfae82ce Make the type parameter of pkgreq_by_pkgbase() optional
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-21 17:10:33 +02:00
Lukas Fleischer
c3614c4f09 Change default configuration to use SSH port 22
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-21 11:20:17 +02:00