diff --git a/euscanwww/djeuscan/helpers.py b/euscanwww/djeuscan/helpers.py
index d5426eb..171ba5e 100644
--- a/euscanwww/djeuscan/helpers.py
+++ b/euscanwww/djeuscan/helpers.py
@@ -4,6 +4,11 @@ djeuscan.helpers
from distutils.version import StrictVersion, LooseVersion
from django.shortcuts import get_object_or_404
+from django.conf import settings
+
+from layman import Layman
+
+from portage.util import getconfig
def xint(i):
@@ -83,3 +88,13 @@ def get_maintainer_or_404(id=None, email=None):
return get_object_or_404(Maintainer, pk=id)
else:
return get_object_or_404(Maintainer, email=email)
+
+
+def get_make_conf():
+ return getconfig(settings.MAKE_CONF, tolerant=1, allow_sourcing=True)
+
+
+def get_layman_repos():
+ lay = Layman(config=settings.LAYMAN_CONFIG)
+ installed_overlays = lay.get_installed()
+ return lay.get_all_info(installed_overlays)
diff --git a/euscanwww/djeuscan/templates/euscan/config.html b/euscanwww/djeuscan/templates/euscan/config.html
index 9bbaf14..0990eed 100644
--- a/euscanwww/djeuscan/templates/euscan/config.html
+++ b/euscanwww/djeuscan/templates/euscan/config.html
@@ -3,11 +3,40 @@
{% block content %}
Server configuration
+
+
+
+ make.conf
+
+ {% for key, value in make_conf.items %}
+
+ {{ key }} |
+ {{ value }} |
+
+ {% endfor %}
+
+
+
+
+
+
+ Available overlays
+
+ {% for key, value in layman_repos.items %}
+
+ {{ key }} |
+ {{ value.description }} |
+
+ {% endfor %}
+
+
+
+
Euscan config
- {% for key, value in CONFIG.items %}
+ {% for key, value in euscan_config.CONFIG.items %}
{{ key }} |
{{ value }} |
@@ -21,7 +50,7 @@
Versions blacklist
- {% for item in BLACKLIST_VERSIONS %}
+ {% for item in euscan_config.BLACKLIST_VERSIONS %}
{{ item }} |
@@ -34,7 +63,7 @@
Packages blacklist
- {% for item in BLACKLIST_PACKAGES %}
+ {% for item in euscan_config.BLACKLIST_PACKAGES %}
{{ item }} |
@@ -47,7 +76,7 @@
Scandir blacklist
- {% for item in SCANDIR_BLACKLIST_URLS %}
+ {% for item in euscan_config.SCANDIR_BLACKLIST_URLS %}
{{ item }} |
@@ -60,7 +89,7 @@
Bruteforce packages blacklist
- {% for item in BRUTEFORCE_BLACKLIST_PACKAGES %}
+ {% for item in euscan_config.BRUTEFORCE_BLACKLIST_PACKAGES %}
{{ item }} |
@@ -73,7 +102,7 @@
Bruteforce urls blacklist
- {% for item in BRUTEFORCE_BLACKLIST_URLS %}
+ {% for item in euscan_config.BRUTEFORCE_BLACKLIST_URLS %}
{{ item }} |
@@ -86,7 +115,7 @@
Robots.txt domain blacklist
- {% for item in ROBOTS_TXT_BLACKLIST_DOMAINS %}
+ {% for item in euscan_config.ROBOTS_TXT_BLACKLIST_DOMAINS %}
{{ item }} |
diff --git a/euscanwww/djeuscan/views.py b/euscanwww/djeuscan/views.py
index 3a7df88..7a7e489 100644
--- a/euscanwww/djeuscan/views.py
+++ b/euscanwww/djeuscan/views.py
@@ -9,7 +9,7 @@ from django.contrib.auth.decorators import login_required
from django.views.decorators.http import require_POST
from djeuscan.helpers import version_key, packages_from_names, \
- get_maintainer_or_404
+ get_maintainer_or_404, get_make_conf, get_layman_repos
from djeuscan.models import Version, Package, Herd, Maintainer, EuscanResult, \
VersionLog, RefreshPackageQuery, ProblemReport, Category, Overlay
from djeuscan.forms import WorldForm, PackagesForm, ProblemReportForm
@@ -315,7 +315,7 @@ def config(request):
from euscan import CONFIG, BLACKLIST_VERSIONS, BLACKLIST_PACKAGES, \
SCANDIR_BLACKLIST_URLS, BRUTEFORCE_BLACKLIST_PACKAGES, \
BRUTEFORCE_BLACKLIST_URLS, ROBOTS_TXT_BLACKLIST_DOMAINS
- return {
+ euscan_config = {
"CONFIG": CONFIG,
"BLACKLIST_VERSIONS": BLACKLIST_VERSIONS,
"BLACKLIST_PACKAGES": BLACKLIST_PACKAGES,
@@ -324,6 +324,14 @@ def config(request):
"BRUTEFORCE_BLACKLIST_URLS": BRUTEFORCE_BLACKLIST_URLS,
"ROBOTS_TXT_BLACKLIST_DOMAINS": ROBOTS_TXT_BLACKLIST_DOMAINS,
}
+ make_conf = get_make_conf()
+ layman_repos = get_layman_repos()
+
+ return {
+ "euscan_config": euscan_config,
+ "make_conf": make_conf,
+ "layman_repos": layman_repos,
+ }
@render_to("euscan/statistics.html")
diff --git a/euscanwww/euscanwww/settings.py b/euscanwww/euscanwww/settings.py
index d14b968..2d9a6a7 100644
--- a/euscanwww/euscanwww/settings.py
+++ b/euscanwww/euscanwww/settings.py
@@ -229,6 +229,7 @@ PORTAGE_ROOT = "/"
PORTAGE_CONFIGROOT = "/"
EIX_CACHEFILE = os.path.join(PORTAGE_ROOT, 'var/cache/eix')
LAYMAN_CONFIG = "/etc/layman/layman.cfg"
+MAKE_CONF = "/etc/make.conf"
EGENCACHE_JOBS = 4