Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
|
|
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>
|
|
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>
|
|
These are no longer needed. We use Git repositories now.
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>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Replace web/lib/config.inc.php with an INI-style configuration file.
This allows us to get rid of several globals and makes it easier to use
the same configuration file in external scripts.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This can be used to regularly generate lists of packages and package
bases that are made available under /packages.gz and /pkgbase.gz,
respectively.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
alpm_db_register_sync() and alpm_option_get_syncdbs() have been renamed.
Update aurblup sources accordingly.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Drop the (very bad) PHP parser and allow for passing all necessary
configuration via command line parameters.
Also, add a convenience wrapper written in PHP that parses the
configuration file and subsequently calls aurblup with correct command
line options.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Notable changes include the necessary handle object and the splitting
of provides and replaces into alpm_depend_t objects.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This is not strictly necessry as listitem->data is public.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Always use two lines for if statements, use a character constant rather
than the 0 integer when NULL-terminating a string, and remove the
unnecessary NULL check before free(value)- free(NULL) is a no-op and
always safe.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
The semicolons are not necessary when performing queries via the MySQL
API, so remove them.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
* Switch to x86_64 architecture by default
* Add more repositories (including multilib)
* Update default configuration path to include .php file extension
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Describe what this function actually does: Return the ID of a package
with a given name and return NULL if such a package doesn't exist.
The function name is chosen in a fashion similar to other functions from
"pkgfuncs.inc.php" (pkgname_from_id(), pkgnotify_from_sid(), ...).
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This goes with the previous patch that moves uploads into segmented
subdirectories. To actually run, follow the DRYRUN instructions.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
This implements the following scheme:
* /packages/cower/ --> /packages/co/cower/
* /packages/j/ --> /packages/j/j/
* /packages/zqy/ --> /packages/zq/zqy/
We take up to the first two characters of each package name as a
intermediate subdirectory, and then the full package name lives
underneath that. Shorter named packages live in a single letter
directory.
Why, you ask? Well because earlier today the AUR hit 32,000 entries in
the unsupported/ directory, making new package uploads impossible. While
some might argue we shouldn't have so many damn packages in the repos,
we should be able to handle this case.
Why two characters instead of one? Our two biggest two-char groups, 'pe'
and 'py', both start with 'p', and have nearly 2000 packages each. Go
Python and Perl.
Still needed is a "move the existing data" script, as well as a set of
rewrite rules for those wishing to preserve backward compatible URLs for
any helper programs doing the wrong thing and relying on them.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
No need to shell out to the system here. Also fix the script so it
actually works.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
We don't need to add rules for implicit .c -> .o conversions. Also add
-O2 to the CFLAGS as gcc doesn't print many warnings unless at least
some level of optimization is used.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
These don't need visibility outside of this compilation unit. This also
allows a C compiler to inline and optimize as it sees fit.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
* Do all list building and freeing outside of the transaction to keep it
as short as possible.
* Remove ability to blacklist without transactions as we now only
support InnoDB/transactional engines with proper relations.
* No need to turn autocommit off; BEGIN TRANSACTION operates regardless
of this setting.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
We don't need this anymore since all packages managed here are
well...managed here. Rip out all of the places we were using this field,
many of which depended on the magic value '2' anyway.
On the display side of things, we had a column that was always showing
'unsupported' that is now gone, and you can no longer sort by this column.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
|
|
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
|