Commit graph

59 commits

Author SHA1 Message Date
Lukas Fleischer
a93363ac08 Add a packager field to packages
Store the last packager in addition to storing the submitter and the
maintainer of a package. This allows for checking who last updated a
package, even if the package has been disowned.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-05-06 20:52:32 +02:00
Lukas Fleischer
9553790cfc Support multiple licenses per package
Split out package licenses into two separate tables in order to support
multiple licenses per package. The code on the package details page is
adjusted accordingly.

UPGRADING contains instructions on how to convert existing licenses in
the database to the new layout.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-04-26 14:48:19 +02:00
Lukas Fleischer
cc3244ea8a Store package groups in the database
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-04-26 14:07:20 +02:00
Lukas Fleischer
92812050a0 Store conflicts, provides and replaces in the DB
Package conflicts, provides and replaces are now stored in the new
PackageRelations table. The gendummydata script generates test entries
for these relations.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-04-26 13:20:56 +02:00
Lukas Fleischer
0f45e98a08 Allow dependency names of up to 255 characters
This field needs to be a bit larger now that optdepends (including
descriptions) are stored there as well.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-04-18 23:44:59 +02:00
Lukas Fleischer
73936002f7 Store {make,check,opt}depends in the database
In addition to parsing and storing dependencies of packages, store
makedepends, checkdepends and optdepends. Every dependency (of any type)
is displayed on the package details page.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-04-17 21:09:16 +02:00
Lukas Fleischer
68d99df781 UPGRADING: Add migration instructions for 3.0.0
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-04-05 12:35:16 +02:00
Lukas Fleischer
fb7bde3a6c Add support for anonymous comments
This allows for removing users without also removing the corresponding
comments. Instead, all comments from deleted users will be displayed as
"Anonymous comment".

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2014-02-04 18:48:23 +01:00
Lukas Fleischer
d225366f31 Add a registration time stamp to the "Users" table
This allows for easily detecting old accounts that registered and never
used the confirmation e-mail to set an initial password.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-08-28 16:37:56 +02:00
Lukas Fleischer
7b0495cee2 Add a "fonts" package category
Implements FS#34666.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-08-27 02:46:55 +02:00
Lukas Fleischer
64bfa6e828 Add a quorum column to TU_VoteInfo
This allows for specifying a quorum per vote and sets a basis for
implementing automated acceptance/rejection of TU votes later.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-08-22 17:48:16 +02:00
Lukas Fleischer
9ff082be25 Store the number of TUs when starting a vote
This will be used for automated calculation of vote participation later.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-08-22 17:47:51 +02:00
Lukas Fleischer
6844f6c1d2 Allow for setting an account's inactivity status
This adds a field to the users table and corresponding fields to the
account edit and display forms that allow for setting an (in-)activity
status.

This might turn out to be useful if a user is on vacation and can not
respond to update/orphan/deletion requests.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-08-22 17:43:13 +02:00
canyonknight
de2392fed0 Add "Bans" table to database schema
The "Bans" table creates a DB structure for the ability to ban IP
addresses. It takes an IP address converted by ip2long().

The table will eventually be able to be populated directly through
the web interface by Trusted Users and Developers.

Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-03-24 22:12:08 +01:00
Lukas Fleischer
5660816ea0 Save last login IP address
Save the IP address used for the last login in the "Users" table. This
makes it a bit easier to create IP ban lists for spammers without
looking at web server logs.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-03-21 22:26:46 +01:00
Lukas Fleischer
cbc2276db6 UPGRADING: Mention recent aurblup changes
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2013-03-18 19:51:10 +01:00
Lukas Fleischer
2193676098 UPGRADING: Remove reference to Archive_Tar
The Archive_Tar PEAR module is no longer needed as of commit
acdf9a85a0. Remove the associated
upgrading instruction.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-11-04 11:10:01 +01:00
Dan McGee
5222bf0932 Use HTTPS links everywhere for Arch sites
The main site, wiki, and BBS are using HTTPS exclusively, so link
directly to the correct protocol rather than forcing a redirect.

Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-10-22 12:33:11 +02:00
Lukas Fleischer
18a2d14df6 UPGRADING: Add missing release note
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-10-04 12:27:52 +02:00
Lukas Fleischer
6102759b7c Use echo shortcut syntax
Replace all occurrences of "<?php echo" and "<?php print" by "<?=" to
reduce noise in templates.

Note that as of PHP 5.4.0, "<?=" is always available and no longer
requires "short_open_tag" to be set.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-09-24 12:23:04 +02:00
Lukas Fleischer
fa147bda8c UPGRADING: Fix database upgrade instructions
Oversight in commit 985795a210.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-09-24 02:04:02 +02:00
canyonknight
e171f6f34e Migrate all DB code to use PDO
All DB code currently uses the quickly aging mysql_* functions. These
functions are strongly discouraged and may eventually be deprecated.

Transition all code to utilize the PDO data access abstraction layer. PDO
allows for consistent query code across multiple databases. This could
potentially allow for someone to use a database other than MySQL with
minimal code changes.

All functions and behaviors are reproduced as faithfully as possible with
PDO equivalents and some changes in code.

Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-09-18 00:58:46 +02:00
canyonknight
362d49a796 Update docs to require Archive_Tar version greater than 1.3.7
Prior to version 1.3.8 of Archive_Tar, long filenames within a tar file
would result in the filename being a shortened string of the fullname. This
shortening would prevent the upload of any tar file having a filepath longer
than 99 characters. Require AUR installations to use an update Archive_Tar
version to avoid related issues

Fixes FS#30472

Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-08-23 22:47:49 +02:00
canyonknight
445932d8e8 Remove deprecated configuration variable
Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-07-06 11:27:09 +02:00
Lukas Fleischer
985795a210 Add field for PGP key in profile information
This is handy for verifying the PGP key of new Trusted Users. Also, this
could potentially used as a basis to allow signed package uploads in the
future.

Implements FS#29028.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-03-24 10:34:32 +01:00
Lukas Fleischer
1e29bd2217 Merge branch 'maint'
Conflicts:
	UPGRADING
	web/lib/config.inc.php.proto
2012-03-09 09:27:49 +01:00
Lukas Fleischer
d4272a6172 UPGRADING: Add release notes for 1.9.1
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2012-03-09 08:28:48 +01:00
Dan McGee
a21739aae5 Add LastLogin column to Users table
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-24 17:57:53 +02:00
Lukas Fleischer
fdddd76cbf UPGRADING: Fix rewrite rules
Do not attempt to rewrite "/packages/fo/foo/foo.tar.gz".

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-08-22 08:15:36 +02:00
Lukas Fleischer
b695696093 UPGRADING: Add note on aurblup config changes
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-08-19 10:23:19 +02:00
Lukas Fleischer
a47f4915dc UPGRADING: Add note on backward compatible package URLs
Thanks-to: Dave Reisner <d@falconindy.com>
Thanks-to: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-08-11 21:04:02 +02:00
Lukas Fleischer
43d28c8840 UPGRADING: Mention the upload directory transform script
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-08-11 16:17:09 +02:00
Dan McGee
c0e6aabeb1 Fix performance issues with new PackageDepends lookups
We do a lookup by DepName in the package details view, but I made the
silly mistake of forgetting this index addition in the upgrade steps.

Lukas: Fix numbering in "UPGRADING".

Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-06-25 11:29:52 +02:00
elij
888db089c5 rename *.inc files to *.inc.php and adjust imports and references
Lukas: Add note to "UPGRADING".

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-06-22 15:15:04 +02:00
Lukas Fleischer
cffdb0fe0d UPGRADING: Add note on merging config file changes.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-27 17:51:48 +02:00
Lukas Fleischer
2b460a8f2d Remove "NewPkgNotify" column from "Users" table.
We do not require this column anymore. New package notifications are no
longer supported.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-13 12:22:35 +02:00
Lukas Fleischer
b10c7fb86b Add note on gettext migration to "UPGRADING".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-10 16:27:39 +02:00
Lukas Fleischer
668826226a Release 1.8.2.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-10 15:38:28 +02:00
Lukas Fleischer
8b4b2d207e Remove File_Find PEAR module from code base.
We removed the code depending on this a long time ago - drop it and add
some note to "UPGRADING".

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-05 11:31:12 +02:00
Dan McGee
7c91c59245 Remove Dummy Package concept
Instead, we just store dependencies directly in the PackageDepends
table. Since we don't use this info anywhere besides the package details
page, there is little value in precalculating what is in the AUR vs.
what is not.

An upgrade path is provided via several SQL statements in the UPGRADING
document. There should be no user-visible change from this, but the DB
schema gets a bit more sane and we no longer have loads of junk packages
in our tables that are never shown to the end user. This should also
help the MySQL query planner in several cases as we no longer have to be
careful to exclude dummy packages on every query.

Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-03 22:59:32 +02:00
Dan McGee
1f252eba64 Always set ModifiedTS including new packages
Set it equal to the SubmittedTS field, which will be our indication the
package is new when we show the logo on the front page of the AUR.

This results in the ability to remove the use of the unindexable
GREATEST() function from the AUR code everywhere we had to use it before
to handle the 0 timestamp case.

Note that there is no race condition here in calling UNIX_TIMESTAMP()
twice- it always returns the time at the beginning of statment
execution:

    mysql> select unix_timestamp(), sleep(2), unix_timestamp();
    +------------------+----------+------------------+
    | unix_timestamp() | sleep(2) | unix_timestamp() |
    +------------------+----------+------------------+
    |       1300851746 |        0 |       1300851746 |
    +------------------+----------+------------------+
    1 row in set (2.00 sec)

Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-04-03 22:59:31 +02:00
Lukas Fleischer
24c628ad43 Add note on merging "web/lib/config.inc.proto" to "UPGRADING".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-27 19:46:30 +01:00
Lukas Fleischer
1e3fa38de5 Define "Packages.SubmitterUID" and "Packages.MaintainerUID" as "NULL".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-27 19:46:19 +01:00
Lukas Fleischer
84c2491e63 Add note on upgrading from MyISAM to InnoDB to "UPGRADING".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-27 16:29:40 +01:00
Lukas Fleischer
40ccf77ca0 Define "PackageComments.DelUsersID" as "NULL".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-27 16:20:02 +01:00
Lukas Fleischer
ac632980c3 Add missing foreign keys and constraints to the DB.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-26 21:11:25 +01:00
Lukas Fleischer
0de4ce61be Add note on InnoDB compatibility to "UPGRADING".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-15 08:29:28 +01:00
Lukas Fleischer
aaa4bb5e2d Add note about aurblup to "UPGRADING".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 15:23:23 +01:00
Lukas Fleischer
5905577694 Use VARCHAR instead of CHAR in "PackageBlacklist" table.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:24 +01:00
Lukas Fleischer
b69f548065 Add a package name blacklist.
Can be used to blacklist package names for normal users. TUs and
developers are not affected. This is especially useful if used together
with a cron job that updates the blacklist periodically, e.g. to reject
packages which are available in the binary repos (FS#12902).

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-02-11 14:43:22 +01:00