mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
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:
parent
f014d7f763
commit
58de6280fd
1 changed files with 59 additions and 99 deletions
158
README
158
README
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue