pakfire: Allow pinning Pakfire to one mirror server

This patch adds a new $mirror option to the configuration file which
will cause Pakfire to only use this one to download any files.

This feature is disabled by default but useful for development.

Fixes: #12706
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Michael Tremer
2021-10-14 19:01:49 +00:00
committed by Arne Fitzenreiter
parent 5670285852
commit ec18a1ecae
2 changed files with 15 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ use HTTP::Headers;
use HTTP::Message;
use HTTP::Request;
use Net::Ping;
use URI;
use Switch;
@@ -297,6 +298,17 @@ sub valid_signature($) {
}
sub selectmirror {
if (defined ${Conf::mirror}) {
my $uri = URI->new("${Conf::mirror}");
# Only accept HTTPS mirrors
if ($uri->scheme eq "https") {
return ("HTTPS", $uri->host, $uri->path . "/" . ${Conf::version});
} else {
message("MIRROR ERROR: Unsupported mirror: " . ${Conf::mirror});
}
}
### Check if there is a current server list and read it.
# If there is no list try to get one.
my $count = 0;

View File

@@ -23,6 +23,9 @@ package Conf;
$mainserver = "pakfire.ipfire.org";
# Only use this mirror
#$mirror = "https://mirror1.ipfire.org/pakfire2";
$cachedir = "/opt/pakfire/cache";
$dbdir = "/opt/pakfire/db";
$coredir = "/opt/pakfire/db/core";