- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI) - Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend - Dockerfile.gui: Astro static build served via nginx - docker-compose.yml: backend (internal) + frontend (port 5353) - nginx.conf: root redirects to /es/, /api/ proxied to backend - zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
98 lines
2.9 KiB
Perl
98 lines
2.9 KiB
Perl
use inc::Module::Install;
|
|
use Module::Install::Share;
|
|
|
|
name 'Zonemaster-Backend';
|
|
all_from 'lib/Zonemaster/Backend.pm';
|
|
repository 'https://github.com/zonemaster/zonemaster-backend';
|
|
bugtracker 'https://github.com/zonemaster/zonemaster-backend/issues';
|
|
|
|
# "2.1.0" could be declared as "2.001" but not as "2.1"
|
|
# (see Zonemaster::LDNS below)
|
|
|
|
requires
|
|
'Class::Method::Modifiers' => 1.09,
|
|
'Config::IniFiles' => 0,
|
|
'DBI' => 1.635,
|
|
'Daemon::Control' => 0.001007,
|
|
'File::ShareDir' => 0,
|
|
'File::Slurp' => 0,
|
|
'HTML::Entities' => 0,
|
|
'JSON::PP' => 0,
|
|
'JSON::RPC' => 1.01,
|
|
'JSON::Validator' => 4.00,
|
|
'Locale::TextDomain' => 1.20,
|
|
'Log::Any' => 0,
|
|
'Log::Any::Adapter::Dispatch' => 0,
|
|
'Log::Dispatch' => 0,
|
|
'LWP::UserAgent' => 0,
|
|
'Mojolicious' => 7.28,
|
|
'Moose' => 2.04,
|
|
'Net::IP::XS' => 0,
|
|
'Parallel::ForkManager' => 1.12,
|
|
'Plack::Builder' => 0,
|
|
'Plack::Middleware::ReverseProxy' => 0,
|
|
'Role::Tiny' => 1.001003,
|
|
'Router::Simple::Declare' => 0,
|
|
'Starman' => 0,
|
|
'Try::Tiny' => 0.12,
|
|
'Zonemaster::LDNS' => 5.000001, # v5.0.1
|
|
'Zonemaster::Engine' => 8.001000, # v8.1.0
|
|
;
|
|
|
|
test_requires 'DBD::SQLite' => 1.66;
|
|
test_requires 'Test::Differences';
|
|
test_requires 'Test::Exception';
|
|
test_requires 'Time::Local' => 1.26;
|
|
test_requires 'Test::NoWarnings' => 0;
|
|
|
|
recommends 'DBD::mysql';
|
|
recommends 'DBD::Pg';
|
|
recommends 'DBD::SQLite' => 1.66;
|
|
|
|
install_share;
|
|
|
|
install_script 'zonemaster_backend_rpcapi.psgi';
|
|
install_script 'zonemaster_backend_testagent';
|
|
install_script 'zmtest';
|
|
install_script 'zmb';
|
|
|
|
no_index directory => 'CodeSnippets';
|
|
no_index directory => 'Doc';
|
|
|
|
# Make all platforms include inc/Module/Install/External.pm
|
|
requires_external_bin 'find';
|
|
if ($^O eq "freebsd") {
|
|
requires_external_bin 'gmake';
|
|
};
|
|
|
|
sub MY::postamble {
|
|
my $text;
|
|
if ($^O eq "freebsd") {
|
|
# Make FreeBSD use gmake for share/Makefile
|
|
$text = 'GMAKE ?= "gmake"' . "\n"
|
|
. 'pure_all :: share/Makefile' . "\n"
|
|
. "\t" . 'cd share && $(GMAKE) all' . "\n";
|
|
} else {
|
|
$text = 'pure_all :: share/Makefile' . "\n"
|
|
. "\t" . 'cd share && $(MAKE) all' . "\n";
|
|
};
|
|
my $docker = <<'END_DOCKER';
|
|
|
|
docker-build:
|
|
docker build --tag zonemaster/backend:local --build-arg version=$(VERSION) .
|
|
|
|
docker-tag-version:
|
|
docker tag zonemaster/backend:local zonemaster/backend:$(VERSION)
|
|
|
|
docker-tag-latest:
|
|
docker tag zonemaster/backend:local zonemaster/backend:latest
|
|
|
|
END_DOCKER
|
|
|
|
return $text . $docker;
|
|
};
|
|
|
|
install_share;
|
|
|
|
WriteAll;
|