mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 12:36:23 +00:00
feat(genesis): package s390x images
This commit is contained in:
@@ -155,3 +155,4 @@ xcat-genesis-openembedded-ppc64le=2.*
|
||||
xcat-genesis-openembedded-armv7hf=2.*
|
||||
xcat-genesis-openembedded-aarch64=2.*
|
||||
xcat-genesis-openembedded-riscv64=2.*
|
||||
xcat-genesis-openembedded-s390x=2.*
|
||||
|
||||
@@ -39,7 +39,7 @@ genesis_run_mknb() {
|
||||
genesis_activation_main() {
|
||||
architecture=$1
|
||||
case "$architecture" in
|
||||
x86|x86_64|ppc64|ppc64le|armv7hf|aarch64|riscv64) ;;
|
||||
x86|x86_64|ppc64|ppc64le|armv7hf|aarch64|riscv64|s390x) ;;
|
||||
*)
|
||||
echo "Invalid Genesis architecture: $architecture" >&2
|
||||
return 0
|
||||
|
||||
@@ -143,7 +143,7 @@ my @formats = $format eq 'all' ? qw(deb rpm) : ($format);
|
||||
write_binary(
|
||||
"$staging/release.manifest",
|
||||
"format=xcat-genesis-packages\n"
|
||||
. "version=1\n"
|
||||
. "version=2\n"
|
||||
. "xcat_version=$version\n"
|
||||
. "xcat_release=$release\n"
|
||||
. "xcat_revision=$revision\n"
|
||||
|
||||
@@ -20,8 +20,14 @@ our @EXPORT_OK = qw(
|
||||
verify_release_file
|
||||
);
|
||||
|
||||
my @ARCHITECTURES = qw(x86 x86_64 ppc64 ppc64le armv7hf aarch64 riscv64);
|
||||
my @RELEASE_V1_ARCHITECTURES = qw(x86 x86_64 ppc64 ppc64le armv7hf aarch64 riscv64);
|
||||
my @RELEASE_V2_ARCHITECTURES = (@RELEASE_V1_ARCHITECTURES, 's390x');
|
||||
my @ARCHITECTURES = @RELEASE_V2_ARCHITECTURES;
|
||||
my %ARCHITECTURE = map { $_ => 1 } @ARCHITECTURES;
|
||||
my %RELEASE_ARCHITECTURES = (
|
||||
1 => \@RELEASE_V1_ARCHITECTURES,
|
||||
2 => \@RELEASE_V2_ARCHITECTURES,
|
||||
);
|
||||
|
||||
sub architectures {
|
||||
return @ARCHITECTURES;
|
||||
@@ -161,7 +167,7 @@ sub _validate_release {
|
||||
die "Unsupported Genesis package release format\n"
|
||||
unless $manifest->{format} eq 'xcat-genesis-packages';
|
||||
die "Unsupported Genesis package release version\n"
|
||||
unless $manifest->{version} eq '1';
|
||||
unless $RELEASE_ARCHITECTURES{ $manifest->{version} };
|
||||
die "Invalid xCAT version in release manifest\n"
|
||||
unless $manifest->{xcat_version} =~ /^\d+(?:\.\d+){1,3}$/;
|
||||
die "Invalid xCAT release in release manifest\n"
|
||||
@@ -222,7 +228,8 @@ sub validate_complete_release {
|
||||
my ($directory) = @_;
|
||||
my $manifest = validate_release($directory);
|
||||
my %present = map { $_ => 1 } split(/,/, $manifest->{architectures});
|
||||
my @missing = grep { !$present{$_} } @ARCHITECTURES;
|
||||
my @required = @{ $RELEASE_ARCHITECTURES{ $manifest->{version} } };
|
||||
my @missing = grep { !$present{$_} } @required;
|
||||
die "Genesis release is missing supported architectures: @missing\n" if @missing;
|
||||
return $manifest;
|
||||
}
|
||||
|
||||
@@ -189,3 +189,4 @@ xCAT-genesis-openembedded-ppc64le=>= 2.18.0
|
||||
xCAT-genesis-openembedded-armv7hf=>= 2.18.0
|
||||
xCAT-genesis-openembedded-aarch64=>= 2.18.0
|
||||
xCAT-genesis-openembedded-riscv64=>= 2.18.0
|
||||
xCAT-genesis-openembedded-s390x=>= 2.18.0
|
||||
|
||||
Reference in New Issue
Block a user