Commit graph

20 commits

Author SHA1 Message Date
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
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
76343fb915 Use an INI-style configuration file
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>
2014-10-24 10:03:54 +02:00
Lukas Fleischer
6b1ba5e48f aurblup: Update for pacman 4.1 API changes
alpm_db_register_sync() and alpm_option_get_syncdbs() have been renamed.
Update aurblup sources accordingly.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-04-28 13:44:32 +02:00
Lukas Fleischer
6dc61e7d9e Remove aurblup configuration file parser
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>
2013-02-15 13:25:56 +01:00
Dan McGee
99a2bb81cf aurblup: update for pacman 4 revised libalpm API
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>
2011-10-24 17:57:52 +02:00
Dan McGee
d20f90ead3 aurblup: remove use of alpm_list_getdata()
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>
2011-10-24 17:57:51 +02:00
Dan McGee
156bfbddb9 aurblup: style cleanups
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>
2011-10-24 17:57:51 +02:00
Dan McGee
f5736ace65 aurblup: remove ';' from queries
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>
2011-10-24 17:57:51 +02:00
Dan McGee
c69c44050e aurblup: Update config.h.proto
* 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>
2011-08-19 10:21:14 +02:00
Dan McGee
2e20a7929f aurblup: use implicit make rules and adjust CFLAGS
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>
2011-06-28 08:53:07 +02:00
Dan McGee
59c82af185 aurblup: mark all functions and global variables static
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>
2011-06-28 08:53:07 +02:00
Dan McGee
0cb493ef2a aurblup: blacklist processing query changes
* 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>
2011-06-28 08:53:06 +02:00
Lukas Fleischer
e72f02872f Use a real sync algorithm in aurblup (fixes FS#23039).
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-26 20:41:04 +01:00
Lukas Fleischer
c332c0a0f5 Update aurblup "README".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:24 +01:00
Lukas Fleischer
a64cd12feb Add support for MySQL transactions to aurblup.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:23 +01:00
Lukas Fleischer
13bcc269ff Fix typos in aurblup source and "README".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:23 +01:00
Lukas Fleischer
ddc54358d0 Add packages' provides and replaces to the blacklist in aurblup.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:23 +01:00
Lukas Fleischer
48957ef5d5 Fix memory leak in aurblup.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:22 +01:00
Lukas Fleischer
400d7845e4 Add AUR package blacklist updater (aurblup).
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:22 +01:00