Split up configure script
This commit is contained in:
parent
b72ffb1bdb
commit
2f919846c2
1
Makefile
1
Makefile
@ -117,6 +117,7 @@ export FEEDS
|
||||
|
||||
|
||||
export GLUON_GENERATE := $(GLUONDIR)/scripts/generate.sh
|
||||
export GLUON_CONFIGURE := $(GLUONDIR)/scripts/configure.pl
|
||||
|
||||
|
||||
feeds: FORCE
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit c57f81b7c4a498828e54e8026a9178dbc639d87b
|
||||
Subproject commit 65769f82507c9771de137451aaa2a45c57708dc3
|
@ -4,37 +4,7 @@ use warnings;
|
||||
use strict;
|
||||
|
||||
|
||||
my %config;
|
||||
our $CONFIG = do $ENV{GLUONDIR} . '/site/site.conf';
|
||||
|
||||
sub add_config {
|
||||
my ($prefix, $c) = @_;
|
||||
|
||||
foreach my $key (keys $c) {
|
||||
my $val = $c->{$key};
|
||||
|
||||
if (ref($val) eq 'HASH') {
|
||||
add_config($key . '.', $val);
|
||||
}
|
||||
unless (ref($val)) {
|
||||
$config{'@' . $prefix . $key . '@'} = $val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub read_config {
|
||||
my $input = shift;
|
||||
my $CONFIG = do $input;
|
||||
add_config('', $CONFIG);
|
||||
}
|
||||
|
||||
|
||||
read_config 'site/site.conf';
|
||||
|
||||
|
||||
my $regex = join '|', map {quotemeta} keys %config;
|
||||
|
||||
|
||||
for (<>) {
|
||||
s/($regex)/${config{$1}}/g;
|
||||
print;
|
||||
}
|
||||
my $script = shift @ARGV;
|
||||
do $script;
|
||||
|
30
scripts/generate.pl
Normal file
30
scripts/generate.pl
Normal file
@ -0,0 +1,30 @@
|
||||
use warnings;
|
||||
|
||||
|
||||
my %config;
|
||||
|
||||
sub add_config {
|
||||
my ($prefix, $c) = @_;
|
||||
|
||||
foreach my $key (keys $c) {
|
||||
my $val = $c->{$key};
|
||||
|
||||
if (ref($val) eq 'HASH') {
|
||||
add_config($key . '.', $val);
|
||||
}
|
||||
unless (ref($val)) {
|
||||
$config{'@' . $prefix . $key . '@'} = $val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
add_config('', $CONFIG);
|
||||
|
||||
|
||||
my $regex = join '|', map {quotemeta} keys %config;
|
||||
|
||||
|
||||
for (<>) {
|
||||
s/($regex)/${config{$1}}/g;
|
||||
print;
|
||||
}
|
@ -4,8 +4,6 @@ set -e
|
||||
|
||||
declare -a IN
|
||||
|
||||
GLUONDIR="$(dirname "$0")/.."
|
||||
|
||||
|
||||
for ((i = 1; i < $#; i++)); do
|
||||
IN[$i]="${!i}"
|
||||
@ -23,7 +21,7 @@ for S in "${IN[@]}"; do (
|
||||
D="$(dirname "$FILE")"
|
||||
|
||||
mkdir -p "$OUT/$D"
|
||||
(cd "$GLUONDIR"; scripts/configure.pl) < "$FILE" > "$OUT/$FILE"
|
||||
(cd "$GLUONDIR"; scripts/configure.pl scripts/generate.pl) < "$FILE" > "$OUT/$FILE"
|
||||
chmod --reference="$FILE" "$OUT/$FILE"
|
||||
done
|
||||
); done
|
||||
|
Loading…
Reference in New Issue
Block a user