summaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2014-12-28Add a script to initialize Git repositoriesLukas Fleischer1-0/+51
Introduce a script that creates one repository for each package base in the database. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-28git-serve.py: Use virtual pathsLukas Fleischer1-1/+2
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-27Remove legacy scriptsLukas Fleischer2-104/+0
These are no longer needed. We use Git repositories now. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27git-update.py: Update repository descriptionLukas Fleischer1-0/+4
Use the package description of the first package as the Git repository description. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27Honor the database socket setting in Git scriptsLukas Fleischer3-4/+8
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27Add sshd setup instructionsLukas Fleischer2-0/+158
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-12-27Add update hook templateLukas Fleischer3-0/+418
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-27Add basic Git authentication/authorization scriptsLukas Fleischer2-0/+145
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-27mkpkglists.py: Honor database socket settingLukas Fleischer1-1/+2
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-10-24mkpkglists: Use the main configuration fileLukas Fleischer2-6/+1
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-10-24Use an INI-style configuration fileLukas Fleischer2-9/+14
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-10Add a script to generate package listsLukas Fleischer2-0/+43
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>
2014-04-05Prefix package functions with pkg_/pkgbase_Lukas Fleischer1-1/+1
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-04-28aurblup: Update for pacman 4.1 API changesLukas Fleischer1-2/+2
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-02-15Remove aurblup configuration file parserLukas Fleischer3-75/+58
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>
2011-10-24aurblup: update for pacman 4 revised libalpm APIDan McGee1-20/+23
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-24aurblup: remove use of alpm_list_getdata()Dan McGee1-7/+7
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-24aurblup: style cleanupsDan McGee1-11/+16
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-24aurblup: remove ';' from queriesDan McGee1-5/+5
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-08-19aurblup: Update config.h.protoDan McGee1-3/+10
* 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-11Rename package_exists() to pkgid_from_name()Lukas Fleischer1-1/+1
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>
2011-08-10Add a upload directory transform scriptDan McGee1-0/+58
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>
2011-08-10Segment the upload directory by package name prefixDan McGee1-8/+15
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>
2011-08-10scripts/cleanup: use native PHP onlyDan McGee1-9/+11
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>
2011-06-28aurblup: use implicit make rules and adjust CFLAGSDan McGee2-5/+1
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-28aurblup: mark all functions and global variables staticDan McGee1-23/+23
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-28aurblup: blacklist processing query changesDan McGee2-21/+5
* 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-02-26Use a real sync algorithm in aurblup (fixes FS#23039).Lukas Fleischer1-37/+101
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11Update aurblup "README".Lukas Fleischer1-1/+2
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11Add support for MySQL transactions to aurblup.Lukas Fleischer2-0/+19
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11Fix typos in aurblup source and "README".Lukas Fleischer2-3/+3
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11Add packages' provides and replaces to the blacklist in aurblup.Lukas Fleischer1-11/+27
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11Fix memory leak in aurblup.Lukas Fleischer1-0/+3
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11Add AUR package blacklist updater (aurblup).Lukas Fleischer6-0/+303
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-01Drop PackageLocations table and referencesDan McGee1-1/+1
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>
2009-03-03Update cleanup script to remove non-unsupported files.Loui Chang1-1/+1
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
2008-11-21Add a script to clean up files of deleted unsupported packages.Loui Chang1-0/+36
Signed-off-by: Loui Chang <louipc.ist@gmail.com>