Update AUR README

Old README file is severely outdated, update with current information.

Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
canyonknight 2012-05-23 13:17:04 -04:00 committed by Lukas Fleischer
parent f014d7f763
commit 58de6280fd

158
README
View file

@ -1,107 +1,67 @@
This is the finalized draft of the project requirements for the ===================
new Arch package submittal process. AUR (Arch User-community Repo). Arch User Repository (AUR)
The sub-directories contain more specific implementation notes ===================
for each component of the project.
About:
=====
The Arch User Repository (AUR) is a framework for hosting a collection of
packaging scripts that are created and submitted by the Arch community. The
scripts contained in the repository (PKGBUILDS) can be built using the Arch
building/packaging script (makepkg) and installed via the Arch pacman manager
(pacman). The AUR project aims to provide the necessary web interface, database
schema, and scripts for a multi-lingual community-driven repository.
Requirements: Functionality:
------------- =========
1) User accounts (users, TUs) -Users may submit source packages that contain a PKGBUILD
- Create account. (email address required) -User accounts with varying permission levels (User, Trusted User, Developer)
- Update account (change password/email address) -Ability to search for specific submitted packages (based on package name,
- Log in/out package description, package submitter, package maintainer)
-Display submitted package information by parsing PKGBUILD (description,
license, package dependencies, etc)
-Users can make comments on package information page
-Mark packages as out-of-date
-Vote for well-done and popular user submitted packages
-Trusted User and Developer have ability to search for and modify accounts
-Area for Trusted Users
and Developers to post AUR-related proposals and vote on them
2) Search for packages (public) File Hierarchy:
- needs knowledge of ALL pkgs (OfficalRepos/AUR/Unsupported). This ==========
should be easy enough if this site lives on the same machine as
the current package database (dragon?), or is allowed to query
the db.
- Display official repo (current/extra) a package lives in.
3) Manual voting (requires user acct) Directory Layout:
- reset/clear all votes (for starting over, this can be added later -------------------
if there is any demand for it) ./po - Translation files for strings in the AUR web
interface.
./scripts - aurblup package blacklist tool. Scripts for AUR
maintenance.
./support - Schema for SQL database. Script for dummy data generation.
./web - Web interface for the AUR.
4) Package Management Files:
- A package can be submitted by anyone (as long as they create ------
an account with a valid email address on the web site). From AUTHORS - List of maintainers, contributors, and translators for AUR
there, a TU inspects the package and works with the submitter project.
to resolve any bugs/issues. Once approved, the TU can place the COPYING - License information for AUR project (GPL version 2).
package in the AUR. From there, if the package is popular enough HACKING - Guidelines for modifying source and submitting
(or deemed necessary), a developer can move the package from the patches.
AUR to extra/current/etc. A developer can also downgrade a INSTALL - Installation procedure for AUR.
package from extra/current/etc to the AUR. TODO - List of potential features and changes to be made to the AUR.
- The person that uploaded the new package can make changes to TRANSLATING - Directions for creating and updating string translations.
it before it has been added to the AUR. UPGRADING - Changes needed to upgrade older AUR version to newer version.
- TUs need to be able to purge packages in "Unsupported" if the
package is no longer maintained and there is no interest in
keeping it.
- Packages in the AUR/Unsupported need some sort of 'flag out of
date' support.
- Interested users can download the package from "Unsupported"
and build/install it by hand.
- Provide a separate installation of flyspray for tracking bugs
for packages living in the AUR. All bugs should be resolved
in either flyspray (AUR/official) prior to a package being
promoted/demoted.
5) Reports Code:
- package popularity by number of votes =====
Official repository hosted at git://projects.archlinux.org/aur.git
See HACKING for information on submitting patches
6) Wiki Docs (UID/GID db, provides db, irc nicks/names TUs/devs) Bugs:
- Move the appropriate dev wiki pages to the new system's =====
wiki area. The devs will just need to consult the UID/GID Discovered bugs can be submitted to the AUR bug tracker:
list from the new system site rather than our own wiki. https://bugs.archlinux.org/index.php?project=2
7) Submitting 'new' packages by users. Initially start with
a simple web upload page where users submit a tgz containing
the PKGBUILD, scriptlets, patches, etc. The script will
unpack the tgz in an appropriate location and update the
backend database to 'register' the pacakge.
8) TU package management
- A TU adopts a package from "Unsupported" and that shows users
and other TUs that the package is being reviewed.
- When the TU is ready to move the package to the AUR, they
use a custom utility/script that allows them to upload the
pkg.tar.gz (web uploads are inadequate for this process).
The upload utility/script has a server counterpart that
performs TU authentication and updates the database.
- A cronjob on the server can handle the new AUR package,
update the database, and rebuild the AUR sync db, and send
email notices to the TU about errors if any occur.
- The TUs should also be able to demote a package from the
AUR via the web interface.
- TUs will use cvs/svn interface (just like devs) to pull
down the PKGBUILD tree. This tree should reflect the same
layout as extra for easier package migration. They make
changes to their local copy, test, and then commit. They
use the xfer utility to upload the binary package to the
server. No shell access is required.
Automated Voting Tool (similar to ArchStats client)
=====================
Requirements:
-------------
1) Name of tool is 'pkgvote'
2) Requires registered account on web - email address not required
3) Casts 'yes' votes for all installed packages (except itself?)
Implementation:
---------------
A statically compiled C program that gathers the list of installed
packages and casts the vote to the web site. Very similar to the
way that ArchStats works now. When making the HTTP Post, it adds
a custom HEADER that the PHP script(s) can detect to know that it
is receiving a vote from a 'pkgvote' client. If the PHP script
does not see the special HEADER, it assumes it is a web browser
and gives the user HTML output.
Once installed, the user edits the config file and supplies their
username/password. If no username/password exists in the config
file when it starts, it spits out an error message and exits.
Contact:
========
Questions, comments, and patches related to the AUR can be sent to the AUR
development mailing list: aur-dev@archlinux.org
Mailing list archives: http://mailman.archlinux.org/mailman/listinfo/aur-dev