@@ -45,6 +45,7 @@ our $do_helm;
45
45
our $do_flatpak ;
46
46
our $do_mkosi ;
47
47
our $do_productcompose ;
48
+ our $do_apk ;
48
49
49
50
sub import {
50
51
for (@_ ) {
@@ -62,8 +63,9 @@ sub import {
62
63
$do_flatpak = 1 if $_ eq ' :flatpak' ;
63
64
$do_mkosi = 1 if $_ eq ' :mkosi' ;
64
65
$do_productcompose = 1 if $_ eq ' :productcompose' ;
66
+ $do_apk = 1 if $_ eq ' :apk' ;
65
67
}
66
- $do_rpm = $do_deb = $do_kiwi = $do_productcompose = $do_arch = $do_collax = $do_livebuild = $do_snapcraft = $do_appimage = $do_docker = $do_fissile = $do_helm = $do_flatpak = $do_mkosi = 1 if !$do_rpm && !$do_deb && !$do_kiwi && !$do_arch && !$do_collax && !$do_livebuild && !$do_snapcraft && !$do_appimage && !$do_docker && !$do_fissile && !$do_helm && !$do_flatpak && !$do_mkosi && !$do_productcompose ;
68
+ $do_rpm = $do_deb = $do_kiwi = $do_productcompose = $do_arch = $do_collax = $do_livebuild = $do_snapcraft = $do_appimage = $do_docker = $do_fissile = $do_helm = $do_flatpak = $do_mkosi = $do_apk = 1 if !$do_rpm && !$do_deb && !$do_kiwi && !$do_arch && !$do_collax && !$do_livebuild && !$do_snapcraft && !$do_appimage && !$do_docker && !$do_fissile && !$do_helm && !$do_flatpak && !$do_mkosi && !$do_productcompose && ! $do_apk ;
67
69
68
70
if ($do_deb ) {
69
71
require Build::Deb;
@@ -104,6 +106,9 @@ sub import {
104
106
if ($do_productcompose ) {
105
107
require Build::ProductCompose;
106
108
}
109
+ if ($do_apk ) {
110
+ require Build::Apk;
111
+ }
107
112
}
108
113
109
114
package Build::Features ;
@@ -570,13 +575,16 @@ sub read_config {
570
575
$config -> {' type' } = ' dsc' ;
571
576
} elsif (grep {$_ eq ' pacman' } @{$config -> {' preinstall' } || []}) {
572
577
$config -> {' type' } = ' arch' ;
578
+ } elsif (grep {$_ eq ' apk-tools' } @{$config -> {' preinstall' } || []}) {
579
+ $config -> {' type' } = ' apk' ;
573
580
}
574
581
$config -> {' type' } ||= ' UNDEFINED' ;
575
582
}
576
583
if (!$config -> {' binarytype' }) {
577
584
$config -> {' binarytype' } = ' rpm' if $config -> {' type' } eq ' spec' ;
578
585
$config -> {' binarytype' } = ' deb' if $config -> {' type' } eq ' dsc' || $config -> {' type' } eq ' collax' || $config -> {' type' } eq ' livebuild' ;
579
586
$config -> {' binarytype' } = ' arch' if $config -> {' type' } eq ' arch' ;
587
+ $config -> {' binarytype' } = ' apk' if $config -> {' type' } eq ' apk' ;
580
588
if (grep {$_ eq $config -> {' type' }} qw{ snapcraft appimage docker fissile kiwi mkosi} ){
581
589
if (grep {$_ eq ' rpm' } @{$config -> {' preinstall' } || []}) {
582
590
$config -> {' binarytype' } = ' rpm' ;
@@ -1126,6 +1134,8 @@ sub addproviders {
1126
1134
my $vv ;
1127
1135
if ($binarytype eq ' deb' ) {
1128
1136
$vv = Build::Deb::verscmp($pv , $rv , 1);
1137
+ } elsif ($binarytype eq ' apk' ) {
1138
+ $vv = Build::Apk::verscmp($pv , $rv , 1);
1129
1139
} else {
1130
1140
$vv = Build::Rpm::verscmp($pv , $rv , 1);
1131
1141
}
@@ -1271,6 +1281,7 @@ sub recipe2buildtype {
1271
1281
$recipe =~ s / .*\/ // ;
1272
1282
$recipe =~ s / ^_service:.*:// ;
1273
1283
return ' arch' if $recipe eq ' PKGBUILD' ;
1284
+ return ' apk' if $recipe eq ' APKBUILD' ;
1274
1285
return ' collax' if $recipe eq ' build.collax' ;
1275
1286
return ' snapcraft' if $recipe eq ' snapcraft.yaml' ;
1276
1287
return ' appimage' if $recipe eq ' appimage.yml' ;
@@ -1343,6 +1354,7 @@ sub parse_typed {
1343
1354
return Build::Fissile::parse($cf , $fn , @args ) if $do_fissile && $buildtype eq ' fissile' ;
1344
1355
return parse_simpleimage($cf , $fn , @args ) if $buildtype eq ' simpleimage' ;
1345
1356
return Build::Arch::parse($cf , $fn , @args ) if $do_arch && $buildtype eq ' arch' ;
1357
+ return Build::Apk::parse($cf , $fn , @args ) if $do_apk && $buildtype eq ' apk' ;
1346
1358
return Build::Collax::parse($cf , $fn , @args ) if $do_collax && $buildtype eq ' collax' ;
1347
1359
return parse_preinstallimage($cf , $fn , @args ) if $buildtype eq ' preinstallimage' ;
1348
1360
return Build::Helm::parse($cf , $fn , @args ) if $buildtype eq ' helm' ;
@@ -1363,6 +1375,7 @@ sub query {
1363
1375
return Build::Kiwi::queryiso($handle , %opts ) if $do_kiwi && $binname =~ / \. iso$ / ;
1364
1376
return Build::Arch::query($handle , %opts ) if $do_arch && $binname =~ / \. pkg\. tar(?:\. gz|\. xz|\. zst)?$ / ;
1365
1377
return Build::Arch::query($handle , %opts ) if $do_arch && $binname =~ / \. arch$ / ;
1378
+ return Build::Apk::query($handle , %opts ) if $do_arch && $binname =~ / \. apk$ / ;
1366
1379
return undef ;
1367
1380
}
1368
1381
@@ -1393,6 +1406,7 @@ sub queryhdrmd5 {
1393
1406
return Build::Kiwi::queryhdrmd5(@_ ) if $do_kiwi && $binname =~ / \. raw.install$ / ;
1394
1407
return Build::Arch::queryhdrmd5(@_ ) if $do_arch && $binname =~ / \. pkg\. tar(?:\. gz|\. xz|\. zst)?$ / ;
1395
1408
return Build::Arch::queryhdrmd5(@_ ) if $do_arch && $binname =~ / \. arch$ / ;
1409
+ return Build::Apk::queryhdrmd5(@_ ) if $do_apk && $binname =~ / \. apk$ / ;
1396
1410
return undef ;
1397
1411
}
1398
1412
@@ -1401,6 +1415,7 @@ sub queryinstalled {
1401
1415
return Build::Rpm::queryinstalled(@args ) if $binarytype eq ' rpm' ;
1402
1416
return Build::Deb::queryinstalled(@args ) if $binarytype eq ' deb' ;
1403
1417
return Build::Arch::queryinstalled(@args ) if $binarytype eq ' arch' ;
1418
+ return Build::Apk::queryinstalled(@args ) if $binarytype eq ' apk' ;
1404
1419
return undef ;
1405
1420
}
1406
1421
0 commit comments