Um eine hübsche Version dieses Dokuments zu erhalten
$ markdown README > README.html
Siehe Lizenzdatei.
Siehe Autorendatei.
Weitere Details in requirements.txt und requirements_prod.txt ; Es ist am besten, Virtualenv und PIP zu verwenden, um diese zu verarbeiten. Wenn Sie jedoch auf (Arch Linux) Paketen bestehen, möchten Sie wahrscheinlich Folgendes:
python -m venv env .
cd /path/to/archweb && python -m venv ./env/
Aktivieren Sie den virtuellenv.
source ./env/bin/activate
Installieren Sie Abhängigkeiten über pip .
pip install -r requirements.txt
Kopieren Sie local_settings.py.example in local_settings.py und ändern Sie. Stellen Sie sicher, dass Sie den entsprechenden Datenbankabschnitt (entweder SQLite oder postgreSQL) überzeugen.
Veränderungen migrieren.
./manage.py migrate
Laden Sie die Vorrichtungen so, dass einige Daten vorgefertigt sind. Wenn Sie einige der bereitgestellten Daten nicht möchten, passen Sie die Dateikugel entsprechend an.
./manage.py loaddata main/fixtures/*.json
./manage.py loaddata devel/fixtures/*.json
./manage.py loaddata mirrors/fixtures/*.json
./manage.py loaddata releng/fixtures/*.json
Verwenden Sie die folgenden Befehle, um eine Serviceinstanz zu starten
./manage.py runserver
Um die Datenbank optional mit echten Daten zu füllen:
wget http://mirrors.kernel.org/archlinux/core/os/x86_64/core.db.tar.gz
./manage.py reporead x86_64 core.db.tar.gz
# Package file listing
wget http://mirrors.kernel.org/archlinux/core/os/x86_64/core.files.tar.gz
./manage.py reporead --filesonly x86_64 core.files.tar.gz
Ändern Sie Architektur und Repo, um bei Bedarf X86_64 und Pakete von anderen Repos zu erhalten.
Datenbankaktualisierungen für hinzugefügte/entfernte Pakete
sqlite3 archweb.db < packages/sql/update.sqlite3.sql
Für postgresql verwenden Pakete/sql/update.postgresql_psycopg2.sql
Um in Ihrer Testumgebung ein Konto erstellen zu können, ist ein SMTP -Server erforderlich. Ein einfacher Debugging -SMTP -Server kann mit Python und aiosmtpd eingerichtet werden.
Installieren Sie aiosmtpd
pip install aiosmtpd
Führen Sie den Server aus
python -m aiosmtpd -n -l localhost:1025
In local_setings.py fügen Sie Einträge hinzu, um E -Mail_host auf 'localhost' und E -Mail_port auf 1025 festzulegen.
Installieren Sie die Testabhängigkeiten:
pip install -r requirements_test.txt
In den Einittestern führen die folgenden Befehle aus:
make collectstatic
make test
Laufberichterstattung:
make coverage
make open-coverage
Um die Django-Debug-Symbolleiste zu verwenden, installieren Sie Django-Debug-Toolbar und in Local_Settings.py debug_toolbar auf true.
Archweb bietet mehrere Verwaltungsbefehle zum Importieren verschiedener Datenarten. Ein Überblick über Befehle:
Die für IPXE -basierten Netboot erforderlichen Binärdateien werden aktualisiert, indem sie aus dem IPXE -Paket auf das statische Inhaltsverzeichnis kopiert werden (mit dem Skript run_ipxe , die die Binärdateien zuvor getestet werden können):
cp -v /usr/share/ipxe/x86_64/ipxe-arch.efi /usr/share/ipxe/ipxe-arch.{ipxe,lkrn} sitestatic/releng
Danach wird für jede Datei eine abgelöste PGP -Signatur mit einem gültigen WKD -fähigen Packager -Schlüssel erstellt:
for artifact in sitestatic/netboot/*.{efi,pxe,lkrn}; do
gpg --sender "User Name <[email protected]>" --detach-sign "$artifact"
done
Arch Linux spielt eine ansible Rolle für Archweb in ihrem Infrastruktur -Repo.
VIM: Set syntax = markdown et: