@ -17,6 +17,8 @@
# 3 = Failed to write or update a configuration file.
# 4 = Not a striker dashboard (or isn't yet).
# 5 = Not running as the 'root' user.
# 6 = The 'comps,xml' file provided by anvil-striker-extra was not found.
# 7 = A package failed to download to our repo
#
# TODO:
# - Support building the install target by mounting the ISO and checking /mnt/shared/incoming for needed
@ -53,7 +55,7 @@ $anvil->Get->switches;
if (($< != 0) && ($> != 0))
{
# Not root
$anvil->Log->entry({source => $THIS_FILE, line => __LINE__, level => 0, key => "error_0005"}) ;
print $anvil->Words->string({key => "error_0005"})."\n" ;
$anvil->nice_exit({code => 5});
}
@ -539,10 +541,20 @@ sub update_install_source
### TODO: Make this only run once every 24 hours (track in the database;
### 'system::install-target::source-updated').
### TODO: Make sure this path exists.
my $download_path = "/var/www/html/".$anvil->data->{host_os}{os_type}."/".$anvil->data->{host_os}{os_arch}."/os/Packages/";
my $array_size = @{$anvil->data->{packages}};
# Clear the dnf cache
my $output = $anvil->System->call({debug => 2, shell_call => $anvil->data->{path}{exe}{dnf}." clean expire-cache" });
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { output => $output }});
print $anvil->Words->string({key => "message_0077", variables => {
directory => "/var/www/html/".$anvil->data->{host_os}{os_type}."/".$anvil->data->{host_os}{os_arch}."/os/Packages/*",
}})."\n";
# Loop through each letter directory
foreach my $letter (sort {$a cmp $b} keys %{$anvil->data->{packages}})
{
my $download_path = "/var/www/html/".$anvil->data->{host_os}{os_type}."/".$anvil->data->{host_os}{os_arch}."/os/Packages/".$letter;
my $array_size = @{$anvil->data->{packages}{$letter}};
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => {
letter => $letter,
download_path => $download_path,
array_size => $array_size,
}});
@ -550,18 +562,14 @@ sub update_install_source
{
$anvil->Storage->make_directory({debug => 2, directory => $download_path, mode => "0775"});
}
print $anvil->Words->string({key => "message_0077 ", variables => {
print $anvil->Words->string({key => "message_012 0", variables => {
directory => $download_path,
packages => $anvil->Convert->add_commas({number => $array_size}),
}})."\n";
# Clear the dnf cache
my $output = $anvil->System->call({debug => 2, shell_call => $anvil->data->{path}{exe}{dnf}." clean expire-cache" });
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { output => $output }});
my $shell_call = $anvil->data->{path}{exe}{dnf}." download --destdir ".$download_path." ";
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { shell_call => $shell_call }});
foreach my $package (sort {$a cmp $b} @{$anvil->data->{packages}})
foreach my $package (sort {$a cmp $b} @{$anvil->data->{packages}{$letter}})
{
# Append the package to the active shell call.
$shell_call .= " ".$package;
@ -584,6 +592,7 @@ sub update_install_source
# Now we'll loop, printing output, until the handle dies.
my $alive = 1;
my $last_stdout_line = 0;
my $error_out = "";
while($alive)
{
# Are we still alive?
@ -613,10 +622,52 @@ sub update_install_source
$last_stdout_line = $this_stdout_line;
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 3, list => { last_stdout_line => $last_stdout_line }});
if ($line =~ /^Error: /)
{
$error_out .= $line."\n";
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { error_out => $error_out }});
}
}
}
}
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { error_out => $error_out }});
if ($error_out)
{
# Something went wrong, exit.
print $anvil->Words->string({key => "error_0045", variables => { error => $error_out }})."\n";
$anvil->nice_exit({code => 7});
}
}
# Create the repodata
print $anvil->Words->string({key => "message_0118"})."\n";
my $repo_path = "/var/www/html/".$anvil->data->{host_os}{os_type}."/".$anvil->data->{host_os}{os_arch}."/os";
my $comps_xml = $repo_path."/comps.xml";
if (not -e $comps_xml)
{
# We can't install properly without the comps.xml file, it provides grouping needed by the
# guest OS install.
print $anvil->Words->string({key => "message_0119", variables => { comps_xml => $comps_xml }})."\n";
$anvil->nice_exit({code => 6});
}
$anvil->Storage->copy_file({
debug => 2,
source_file => $comps_xml,
target_file => $repo_path."/repodata/comps.xml",
overwrite => 1,
});
if (not -e $repo_path."/repodata/comps.xml")
{
# Something appears to have happened and it failed to copy.
print $anvil->Words->string({key => "message_0119", variables => { comps_xml => $comps_xml }})."\n";
$anvil->nice_exit({code => 6});
}
$output = "";
$output = $anvil->System->call({debug => 2, shell_call => $anvil->data->{path}{exe}{createrepo}." -g ".$comps_xml." ".$repo_path });
$anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { output => $output }});
return(0);
}
@ -625,25 +676,13 @@ sub load_packages
{
my ($anvil) = @_;
### NOTE:
### python3-rpm, rpm, rpm-build-libs, rpm-libs, rpm-plugin-selinux, rpm-sign-libs
### TODO: These need to be sorted into groups by their first letter, and those groups need to go under Packages
# This is the list of packages we need to download.
$anvil->data->{packages} = [
"GeoIP-GeoLite-data.noarch",
"GeoIP.x86_64",
"ModemManager-glib.x86_64",
"ModemManager.x86_64",
"NetworkManager-adsl.x86_64",
"NetworkManager-bluetooth.x86_64",
"NetworkManager-libnm.x86_64",
"NetworkManager-ppp.x86_64",
"NetworkManager-team.x86_64",
"NetworkManager-wifi.x86_64",
"NetworkManager-wwan.x86_64",
"NetworkManager.x86_64",
"PackageKit-glib.x86_64",
"PackageKit-gstreamer-plugin.x86_64",
"PackageKit.x86_64",
"SDL.x86_64",
"SDL2.x86_64",
$anvil->data->{packages} = {
a => [
"aajohan-comfortaa-fonts.noarch",
"abattis-cantarell-fonts.noarch",
"abrt-addon-ccpp.x86_64",
@ -705,6 +744,8 @@ sub load_packages
"avahi-glib.x86_64",
"avahi-libs.x86_64",
"awesome.x86_64",
],
b => [
"b43-fwcutter.x86_64",
"b43-openfwwf.noarch",
"basesystem.noarch",
@ -729,6 +770,8 @@ sub load_packages
"bubblewrap.x86_64",
"bzip2-libs.x86_64",
"bzip2.x86_64",
],
c => [
"c-ares.x86_64",
"ca-certificates.noarch",
"cairo-gobject.x86_64",
@ -783,6 +826,8 @@ sub load_packages
"cyrus-sasl-lib.x86_64",
"cyrus-sasl-plain.x86_64",
"cyrus-sasl.x86_64",
],
d => [
"dbus-glib.x86_64",
"dbus-libs.x86_64",
"dbus-x11.x86_64",
@ -831,6 +876,8 @@ sub load_packages
"drbd.x86_64",
"dwm.x86_64",
"dzen2.x86_64",
],
e => [
"e2fsprogs-libs.x86_64",
"e2fsprogs.x86_64",
"ebtables.x86_64",
@ -856,6 +903,8 @@ sub load_packages
"exiv2-libs.x86_64",
"exiv2.x86_64",
"expat.x86_64",
],
f => [
"f28-backgrounds-base.noarch",
"fedora-gpg-keys.noarch",
"fedora-icon-theme.noarch",
@ -948,6 +997,8 @@ sub load_packages
"fwupd.x86_64",
"fwupdate-efi.x86_64",
"fwupdate-libs.x86_64",
],
g => [
"gawk.x86_64",
"gc.x86_64",
"gcc.x86_64",
@ -963,10 +1014,11 @@ sub load_packages
"geoclue2-libs.x86_64",
"geoclue2.x86_64",
"geocode-glib.x86_64",
"GeoIP-GeoLite-data.noarch",
"GeoIP.x86_64",
"gettext-libs.x86_64",
"gettext.x86_64",
"gfbgraph.x86_64",
"ghc-X11.x86_64",
"ghc-array.x86_64",
"ghc-base.x86_64",
"ghc-bytestring.x86_64",
@ -989,6 +1041,7 @@ sub load_packages
"ghc-transformers.x86_64",
"ghc-unix.x86_64",
"ghc-utf8-string.x86_64",
"ghc-X11.x86_64",
"ghc-xmonad.x86_64",
"giflib.x86_64",
"gjs.x86_64",
@ -1111,8 +1164,12 @@ sub load_packages
"gvfs.x86_64",
"gvnc.x86_64",
"gzip.x86_64",
],
h => [
"harfbuzz-icu.x86_64",
"harfbuzz.x86_64",
"hddtemp.x86_64",
"hdparm.x86_64",
"hicolor-icon-theme.noarch",
"hostname.x86_64",
"htop.x86_64",
@ -1129,6 +1186,8 @@ sub load_packages
"hypervkvpd.x86_64",
"hypervvssd.x86_64",
"hyphen.x86_64",
],
i => [
"i3.x86_64",
"i3status.x86_64",
"ibus-gtk2.x86_64",
@ -1178,6 +1237,8 @@ sub load_packages
"iwl6000g2b-firmware.noarch",
"iwl6050-firmware.noarch",
"iwl7260-firmware.noarch",
],
j => [
"jansson.x86_64",
"jasper-libs.x86_64",
"jbig2dec-libs.x86_64",
@ -1188,6 +1249,8 @@ sub load_packages
"json-glib.x86_64",
"julietaula-montserrat-fonts.noarch",
"jwhois.x86_64",
],
k => [
"kbd-legacy.noarch",
"kbd-misc.noarch",
"kbd.x86_64",
@ -1204,36 +1267,10 @@ sub load_packages
"kmod.x86_64",
"kpartx.x86_64",
"krb5-libs.x86_64",
],
l => [
"lcms2.x86_64",
"less.x86_64",
"libICE.x86_64",
"libSM.x86_64",
"libX11-common.noarch",
"libX11-xcb.x86_64",
"libX11.x86_64",
"libXau.x86_64",
"libXaw.x86_64",
"libXcomposite.x86_64",
"libXcursor.x86_64",
"libXdamage.x86_64",
"libXdmcp.x86_64",
"libXext.x86_64",
"libXfixes.x86_64",
"libXfont2.x86_64",
"libXft.x86_64",
"libXi.x86_64",
"libXinerama.x86_64",
"libXmu.x86_64",
"libXpm.x86_64",
"libXrandr.x86_64",
"libXrender.x86_64",
"libXt.x86_64",
"libXtst.x86_64",
"libXv.x86_64",
"libXvMC.x86_64",
"libXxf86dga.x86_64",
"libXxf86misc.x86_64",
"libXxf86vm.x86_64",
"libacl.x86_64",
"libaio.x86_64",
"libappstream-glib.x86_64",
@ -1325,6 +1362,7 @@ sub load_packages
"libgxps.x86_64",
"libibverbs.x86_64",
"libical.x86_64",
"libICE.x86_64",
"libicu.x86_64",
"libidn.x86_64",
"libidn2.x86_64",
@ -1337,6 +1375,8 @@ sub load_packages
"libiptcdata.x86_64",
"libiscsi.x86_64",
"libjpeg-turbo.x86_64",
"libkcapi.x86_64",
"libkcapi-hmaccalc.x86_64",
"libksba.x86_64",
"libldb.x86_64",
"liblogging-stdlog.x86_64",
@ -1411,6 +1451,7 @@ sub load_packages
"libsepol.x86_64",
"libsigc++20.x86_64",
"libsigsegv.x86_64",
"libSM.x86_64",
"libsmartcols.x86_64",
"libsmbclient.x86_64",
"libsmbios.x86_64",
@ -1497,17 +1538,44 @@ sub load_packages
"libwebp.x86_64",
"libwsman1.x86_64",
"libwvstreams.x86_64",
"libX11-common.noarch",
"libX11-xcb.x86_64",
"libX11.x86_64",
"libXau.x86_64",
"libXaw.x86_64",
"libxcb.x86_64",
"libXcomposite.x86_64",
"libxcrypt-common.noarch",
"libxcrypt-devel.x86_64",
"libxcrypt.x86_64",
"libXcursor.x86_64",
"libXdamage.x86_64",
"libxdg-basedir.x86_64",
"libXdmcp.x86_64",
"libXext.x86_64",
"libXfixes.x86_64",
"libXfont2.x86_64",
"libXft.x86_64",
"libXi.x86_64",
"libXinerama.x86_64",
"libxkbcommon-x11.x86_64",
"libxkbcommon.x86_64",
"libxkbfile.x86_64",
"libxklavier.x86_64",
"libxml2.x86_64",
"libXmu.x86_64",
"libXpm.x86_64",
"libXrandr.x86_64",
"libXrender.x86_64",
"libxshmfence.x86_64",
"libxslt.x86_64",
"libXt.x86_64",
"libXtst.x86_64",
"libXv.x86_64",
"libXvMC.x86_64",
"libXxf86dga.x86_64",
"libXxf86misc.x86_64",
"libXxf86vm.x86_64",
"libyaml.x86_64",
"libzapojit.x86_64",
"libzstd.x86_64",
@ -1534,6 +1602,7 @@ sub load_packages
"lohit-telugu-fonts.noarch",
"lrzsz.x86_64",
"lsof.x86_64",
"lsscsi.x86_64",
"lttng-ust.x86_64",
"lua-expat.x86_64",
"lua-json.noarch",
@ -1548,6 +1617,8 @@ sub load_packages
"lz4.x86_64",
"lzo.x86_64",
"lzop.x86_64",
],
'm' => [
"mailcap.noarch",
"make.x86_64",
"man-db.x86_64",
@ -1558,8 +1629,8 @@ sub load_packages
"mesa-dri-drivers.x86_64",
"mesa-filesystem.x86_64",
"mesa-libEGL.x86_64",
"mesa-libGL.x86_64",
"mesa-libgbm.x86_64",
"mesa-libGL.x86_64",
"mesa-libglapi.x86_64",
"mesa-libxatracker.x86_64",
"metacity.x86_64",
@ -1569,6 +1640,8 @@ sub load_packages
"mobile-broadband-provider-info.noarch",
"mod_dnssd.x86_64",
"mod_http2.x86_64",
"ModemManager-glib.x86_64",
"ModemManager.x86_64",
"mokutil.x86_64",
"mozilla-filesystem.x86_64",
"mozjs52.x86_64",
@ -1576,6 +1649,8 @@ sub load_packages
"mtdev.x86_64",
"mtr.x86_64",
"mutter.x86_64",
],
n => [
"nano.x86_64",
"nautilus-extensions.x86_64",
"nautilus.x86_64",
@ -1589,6 +1664,14 @@ sub load_packages
"net-tools.x86_64",
"netcf-libs.x86_64",
"nettle.x86_64",
"NetworkManager-adsl.x86_64",
"NetworkManager-bluetooth.x86_64",
"NetworkManager-libnm.x86_64",
"NetworkManager-ppp.x86_64",
"NetworkManager-team.x86_64",
"NetworkManager-wifi.x86_64",
"NetworkManager-wwan.x86_64",
"NetworkManager.x86_64",
"newt.x86_64",
"nfs-utils.x86_64",
"nm-connection-editor.x86_64",
@ -1607,6 +1690,8 @@ sub load_packages
"ntfsprogs.x86_64",
"numactl-libs.x86_64",
"numad.x86_64",
],
o => [
"open-vm-tools-desktop.x86_64",
"open-vm-tools.x86_64",
"openbox-libs.x86_64",
@ -1630,12 +1715,17 @@ sub load_packages
"ostree-libs.x86_64",
"ostree.x86_64",
"overpass-fonts.noarch",
],
p => [
"p11-kit-trust.x86_64",
"p11-kit.x86_64",
"pacemaker-cli.x86_64",
"pacemaker-cluster-libs.x86_64",
"pacemaker-libs.x86_64",
"pacemaker.x86_64",
"PackageKit-glib.x86_64",
"PackageKit-gstreamer-plugin.x86_64",
"PackageKit.x86_64",
"paktype-naskh-basic-fonts.noarch",
"pam.x86_64",
"pam_krb5.x86_64",
@ -1656,14 +1746,16 @@ sub load_packages
"pcsc-lite.x86_64",
"perl-AnyEvent-I3.noarch",
"perl-AnyEvent.x86_64",
"perl-CGI.noarch",
"perl-Carp.noarch",
"perl-CGI.noarch",
"perl-common-sense.x86_64",
"perl-Compress-Raw-Bzip2.x86_64",
"perl-Compress-Raw-Zlib.x86_64",
"perl-DBD-Pg.x86_64",
"perl-DBI.x86_64",
"perl-constant.noarch",
"perl-Data-Dump.noarch",
"perl-Data-Dumper.x86_64",
"perl-DBD-Pg.x86_64",
"perl-DBI.x86_64",
"perl-Digest-HMAC.noarch",
"perl-Digest-MD5.x86_64",
"perl-Digest-SHA.x86_64",
@ -1673,6 +1765,7 @@ sub load_packages
"perl-Email-Valid.noarch",
"perl-Encode-Locale.noarch",
"perl-Encode.x86_64",
"perl-encoding.x86_64",
"perl-Errno.x86_64",
"perl-Exporter.noarch",
"perl-File-Listing.noarch",
@ -1690,6 +1783,7 @@ sub load_packages
"perl-HTTP-Message.noarch",
"perl-HTTP-Negotiate.noarch",
"perl-HTTP-Tiny.noarch",
"perl-interpreter.x86_64",
"perl-IO-Compress.noarch",
"perl-IO-HTML.noarch",
"perl-IO-Socket-IP.noarch",
@ -1697,24 +1791,31 @@ sub load_packages
"perl-IO.x86_64",
"perl-JSON-XS.x86_64",
"perl-JSON.noarch",
"perl-LWP-MediaTypes.noarch",
"perl-libnet.noarch",
"perl-libs.x86_64",
"perl-libwww-perl.noarch",
"perl-Log-Journald.x86_64",
"perl-MIME-Base64.x86_64",
"perl-LWP-MediaTypes.noarch",
"perl-macros.x86_64",
"perl-MailTools.noarch",
"perl-Math-BigInt.noarch",
"perl-Math-Complex.noarch",
"perl-MIME-Base64.x86_64",
"perl-Mozilla-CA.noarch",
"perl-NTLM.noarch",
"perl-Net-HTTP.noarch",
"perl-Net-SMTP-SSL.noarch",
"perl-Net-SSH2.x86_64",
"perl-Net-SSLeay.x86_64",
"perl-NetAddr-IP.x86_64",
"perl-NTLM.noarch",
"perl-open.noarch",
"perl-parent.noarch",
"perl-PathTools.x86_64",
"perl-Pod-Escapes.noarch",
"perl-Pod-Perldoc.noarch",
"perl-Pod-Simple.noarch",
"perl-Pod-Usage.noarch",
"perl-podlators.noarch",
"perl-Proc-Simple.noarch",
"perl-Scalar-List-Utils.x86_64",
"perl-Socket.x86_64",
@ -1727,34 +1828,23 @@ sub load_packages
"perl-TermReadKey.x86_64",
"perl-Text-ParseWords.noarch",
"perl-Text-Tabs+Wrap.noarch",
"perl-threads-shared.x86_64",
"perl-threads.x86_64",
"perl-Time-HiRes.x86_64",
"perl-Time-Local.noarch",
"perl-TimeDate.noarch",
"perl-Try-Tiny.noarch",
"perl-Types-Serialiser.noarch",
"perl-Unicode-Normalize.x86_64",
"perl-URI.noarch",
"perl-UUID-Tiny.noarch",
"perl-Unicode-Normalize .x86_64",
"perl-version .x86_64",
"perl-WWW-RobotRules.noarch",
"perl-XML-NamespaceSupport.noarch",
"perl-XML-Parser.x86_64",
"perl-XML-SAX-Base.noarch",
"perl-XML-SAX.noarch",
"perl-XML-Simple.noarch",
"perl-common-sense.x86_64",
"perl-constant.noarch",
"perl-encoding.x86_64",
"perl-interpreter.x86_64",
"perl-libnet.noarch",
"perl-libs.x86_64",
"perl-libwww-perl.noarch",
"perl-macros.x86_64",
"perl-open.noarch",
"perl-parent.noarch",
"perl-podlators.noarch",
"perl-threads-shared.x86_64",
"perl-threads.x86_64",
"perl-version.x86_64",
"pinentry-gtk.x86_64",
"pinentry.x86_64",
"pinfo.x86_64",
@ -1799,7 +1889,6 @@ sub load_packages
"python-openstackclient-lang.noarch",
"python-oslo-i18n-lang.noarch",
"python-oslo-utils-lang.noarch",
"python2-SecretStorage.noarch",
"python2-appdirs.noarch",
"python2-asn1crypto.noarch",
"python2-babel.noarch",
@ -1867,8 +1956,8 @@ sub load_packages
"python2-ply.noarch",
"python2-positional.noarch",
"python2-prettytable.noarch",
"python2-pyOpenSSL.noarch",
"python2-pycparser.noarch",
"python2-pyOpenSSL.noarch",
"python2-pyparsing.noarch",
"python2-pysocks.noarch",
"python2-pytz.noarch",
@ -1877,6 +1966,7 @@ sub load_packages
"python2-requests.noarch",
"python2-requestsexceptions.noarch",
"python2-rfc3986.noarch",
"python2-SecretStorage.noarch",
"python2-setuptools.noarch",
"python2-simplejson.x86_64",
"python2-six.noarch",
@ -1891,8 +1981,6 @@ sub load_packages
"python2-wrapt.x86_64",
"python2-xpyb.x86_64",
"python2.x86_64",
"python3-IPy.noarch",
"python3-SecretStorage.noarch",
"python3-abrt-addon.x86_64",
"python3-abrt.x86_64",
"python3-adal.noarch",
@ -1931,6 +2019,7 @@ sub load_packages
"python3-httplib2.noarch",
"python3-idna.noarch",
"python3-iniparse.noarch",
"python3-IPy.noarch",
"python3-isodate.noarch",
"python3-jmespath.noarch",
"python3-jwt.noarch",
@ -1952,12 +2041,12 @@ sub load_packages
"python3-ply.noarch",
"python3-policycoreutils.noarch",
"python3-ptyprocess.noarch",
"python3-pyOpenSSL.noarch",
"python3-pyasn1-modules.noarch",
"python3-pyasn1.noarch",
"python3-pycparser.noarch",
"python3-pycurl.x86_64",
"python3-pydbus.noarch",
"python3-pyOpenSSL.noarch",
"python3-pysocks.noarch",
"python3-pyxdg.noarch",
"python3-requests-oauthlib.noarch",
@ -1965,6 +2054,7 @@ sub load_packages
"python3-rpm.x86_64",
"python3-rsa.noarch",
"python3-s3transfer.noarch",
"python3-SecretStorage.noarch",
"python3-setools.x86_64",
"python3-setuptools.noarch",
"python3-six.noarch",
@ -1980,6 +2070,8 @@ sub load_packages
"python3-webencodings.noarch",
"python3-xcffib.noarch",
"python3.x86_64",
],
'q' => [
"qemu-block-curl.x86_64",
"qemu-block-dmg.x86_64",
"qemu-block-gluster.x86_64",
@ -1997,6 +2089,8 @@ sub load_packages
"qtile.noarch",
"quota-nls.noarch",
"quota.x86_64",
],
r => [
"radvd.x86_64",
"ratpoison.x86_64",
"rdma-core.x86_64",
@ -2015,6 +2109,7 @@ sub load_packages
"rpm-libs.x86_64",
"rpm-ostree-libs.x86_64",
"rpm-plugin-selinux.x86_64",
"rpm-sign-libs.x86_64",
"rpm.x86_64",
"rsync.x86_64",
"rsyslog.x86_64",
@ -2044,6 +2139,8 @@ sub load_packages
"rubypick.noarch",
"rxvt-unicode.x86_64",
"rygel.x86_64",
],
's' => [
"samba-client-libs.x86_64",
"samba-common-libs.x86_64",
"samba-common.noarch",
@ -2051,6 +2148,8 @@ sub load_packages
"sbc.x86_64",
"sbd.x86_64",
"screen.x86_64",
"SDL.x86_64",
"SDL2.x86_64",
"seabios-bin.noarch",
"seavgabios-bin.noarch",
"sed.x86_64",
@ -2110,6 +2209,8 @@ sub load_packages
"systemd-pam.x86_64",
"systemd-udev.x86_64",
"systemd.x86_64",
],
t => [
"tabish-eeyek-fonts.noarch",
"taglib.x86_64",
"tar.x86_64",
@ -2134,6 +2235,8 @@ sub load_packages
"tracker.x86_64",
"tree.x86_64",
"tzdata.noarch",
],
u => [
"u2f-hidraw-policy.x86_64",
"udisks2-iscsi.x86_64",
"udisks2.x86_64",
@ -2161,6 +2264,8 @@ sub load_packages
"util-linux-user.x86_64",
"util-linux.x86_64",
"uuid.x86_64",
],
v => [
"vconfig.x86_64",
"vim-common.x86_64",
"vim-enhanced.x86_64",
@ -2175,6 +2280,8 @@ sub load_packages
"volume_key-libs.x86_64",
"vte-profile.x86_64",
"vte291.x86_64",
],
w => [
"webkit2gtk3-jsc.x86_64",
"webkit2gtk3-plugin-process-gtk2.x86_64",
"webkit2gtk3.x86_64",
@ -2186,6 +2293,8 @@ sub load_packages
"words.noarch",
"wpa_supplicant.x86_64",
"wvdial.x86_64",
],
x => [
"xcb-util-cursor.x86_64",
"xcb-util-image.x86_64",
"xcb-util-keysyms.x86_64",
@ -2222,10 +2331,10 @@ sub load_packages
"xorg-x11-drv-wacom.x86_64",
"xorg-x11-font-utils.x86_64",
"xorg-x11-fonts-misc.noarch",
"xorg-x11-server-Xorg.x86_64",
"xorg-x11-server-Xwayland.x86_64",
"xorg-x11-server-common.x86_64",
"xorg-x11-server-utils.x86_64",
"xorg-x11-server-Xorg.x86_64",
"xorg-x11-server-Xwayland.x86_64",
"xorg-x11-utils.x86_64",
"xorg-x11-xauth.x86_64",
"xorg-x11-xbitmaps.noarch",
@ -2235,13 +2344,18 @@ sub load_packages
"xterm.x86_64",
"xz-libs.x86_64",
"xz.x86_64",
],
'y' => [
"yajl.x86_64",
],
z => [
"zd1211-firmware.noarch",
"zenity.x86_64",
"zfs-fuse.x86_64",
"zip.x86_64",
"zlib.x86_64",
];
],
};
return(0);
}