To get a pretty version of this document, run
$ markdown README > README.html
See LICENSE file.
See AUTHORS file.
More detail in requirements.txt
and requirements_prod.txt
; it is best to use virtualenv and pip to handle these. But if you insist on (Arch Linux) packages, you will probably want the following:
Run python -m venv env
.
cd /path/to/archweb && python -m venv ./env/
Activate the virtualenv.
source ./env/bin/activate
Install dependencies through pip
.
pip install -r requirements.txt
Copy local_settings.py.example
to local_settings.py
and modify. Make sure to uncomment the appropriate database section (either sqlite or PostgreSQL).
Migrate changes.
Load the fixtures to pre populate some data. If you don't want some of the provided data, adjust the file glob accordingly.
./manage.py loaddata main/fixtures/*.json
./manage.py loaddata devel/fixtures/*.json
./manage.py loaddata mirrors/fixtures/*.json
./manage.py loaddata releng/fixtures/*.json
Use the following commands to start a service instance
To optionally populate the database with real data:
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
Alter architecture and repo to get x86_64 and packages from other repos if needed.
Database Updates for Added/Removed packages
sqlite3 archweb.db < packages/sql/update.sqlite3.sql
For PostgreSQL use packages/sql/update.postgresql_psycopg2.sql
To be able to create an account on your test environment an SMTP server is required. A simple debugging SMTP server can be setup using Python and aiosmtpd
.
Install aiosmtpd
Run the server
python -m aiosmtpd -n -l localhost:1025
In local_settings.py add entries to set EMAIL_HOST to 'localhost' and EMAIL_PORT to 1025.
Running tests and coverageInstall the test dependencies:
pip install -r requirements_test.txt
To the unittests execute the following commands:
make collectstatic
make test
Running coverage:
make coverage
make open-coverage
To use the Django Debug toolbar install django-debug-toolbar and in local_settings.py set DEBUG_TOOLBAR to True.
Archweb provides multiple management commands for importing various sorts of data. An overview of commands:
The binaries required for iPXE based netboot are updated by copying them from the ipxe package to the static content directory (with the run_ipxe
script the binaries may be tested beforehand):
cp -v /usr/share/ipxe/x86_64/ipxe-arch.efi /usr/share/ipxe/ipxe-arch.{ipxe,lkrn} sitestatic/releng
Afterwards a detached PGP signature using a valid WKD enabled packager key is created for each file:
for artifact in sitestatic/netboot/*.{efi,pxe,lkrn}; do
gpg --sender "User Name <your@mail.address>" --detach-sign "$artifact"
done
Arch Linux has an Ansible role for Archweb in their infrastructure repo.
vim: set syntax=markdown et:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4