From a8f43dbdd58e7bdf9d9a7734b022d9d8d72784ea Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Feb 12 2019 21:37:48 +0000 Subject: Unsupported --- diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e69de29..0000000 --- a/.gitignore +++ /dev/null diff --git a/base-runtime.yaml b/base-runtime.yaml deleted file mode 100644 index 95fa70b..0000000 --- a/base-runtime.yaml +++ /dev/null @@ -1,1491 +0,0 @@ -document: modulemd -version: 1 -data: - summary: The base application runtime and hardware abstraction layer - description: >- - A project closely linked to the Modularity Initiative, Base Runtime - is about defining the common shared package and feature set of the - operating system, providing both the hardware enablement layer and - the minimal application runtime environment other modules can build - upon. - license: - module: [ MIT ] - dependencies: - buildrequires: - bootstrap: f26 - shim: master - references: - community: https://fedoraproject.org/wiki/BaseRuntime - documentation: https://github.com/fedora-modularity/base-runtime - tracker: https://github.com/fedora-modularity/base-runtime/issues - profiles: - container: - rpms: - - bash - - coreutils-single - - filesystem - - glibc-minimal-langpack - - libcrypt - - microdnf - - rpm - - shadow-utils - - sssd-client - - util-linux - buildroot: - rpms: - - bash - - bzip2 - - coreutils - - cpio - - diffutils - - fedora-modular-release - - findutils - - gawk - - gcc - - gcc-c++ - - grep - - gzip - - info - - make - - patch - - redhat-rpm-config - - rpm-build - - sed - - shadow-utils - - tar - - unzip - - util-linux - - which - - xz - srpm-buildroot: - rpms: - - bash - - fedora-modular-release - - fedpkg-minimal - - gnupg2 - - redhat-rpm-config - - rpm-build - - shadow-utils - api: - rpms: [ - # acl - acl, libacl, libacl-devel, - # attr - attr, libattr, libattr-devel, - # audit - audit-libs, audit-libs-devel, audit-libs-static, - # babeltrace - babeltrace, libbabeltrace, python3-babeltrace, - # basesystem - basesystem, - # bash - bash, bash-doc, - # bc - bc, - # binutils - binutils, binutils-devel, - # byacc - byacc, - # bzip2 - bzip2, bzip2-devel, bzip2-libs, bzip2-static, - # c-ares - c-ares, c-ares-devel, - # ca-certificates - ca-certificates, - # chkconfig - chkconfig, - # coreutils - coreutils, coreutils-common, coreutils-single, - # cpio - cpio, - # cracklib - cracklib, cracklib-devel, cracklib-dicts, - # crypto-policies - crypto-policies, - # cryptsetup - cryptsetup, cryptsetup-devel, cryptsetup-libs, cryptsetup-python3, - cryptsetup-reencrypt, veritysetup, - # curl - curl, libcurl, libcurl-devel, - # cyrus-sasl - cyrus-sasl, cyrus-sasl-devel, cyrus-sasl-gs2, - cyrus-sasl-gssapi, cyrus-sasl-ldap, cyrus-sasl-lib, - cyrus-sasl-md5, cyrus-sasl-ntlm, cyrus-sasl-plain, - cyrus-sasl-scram, - # dbus - dbus, dbus-devel, dbus-doc, dbus-libs, dbus-tests, - # device-mapper-persistent-data - device-mapper-persistent-data, - # diffutils - diffutils, - # dracut - dracut, dracut-caps, dracut-config-generic, dracut-config-rescue, - dracut-tools, - # dtc - dtc, libfdt, libfdt-devel, - # dwz - dwz, - # e2fsprogs - e2fsprogs, e2fsprogs-devel, e2fsprogs-libs, e2fsprogs-static, - libcom_err, libcom_err-devel, libss, libss-devel, - # efibootmgr - efibootmgr, - # efivar - efivar, efivar-devel, efivar-libs, - # elfutils - elfutils, elfutils-default-yama-scope, elfutils-devel, - elfutils-devel-static, elfutils-libelf, elfutils-libelf-devel, - elfutils-libelf-devel-static, elfutils-libs, - # emacs - emacs-filesystem, - # expat - expat, expat-devel, expat-static, - # extlinux-bootloader - extlinux-bootloader, - # fbset - fbset, - # fedora-logos - fedora-logos, fedora-logos-httpd, - #fedora-modular-release - fedora-modular-release, - #fedora-modular-repos - fedora-modular-repos, - # fedora-rpm-macros - fedora-rpm-macros, - # fedpkg-minimal - fedpkg-minimal, - # file - file, file-devel, file-libs, python3-magic, - # filesystem - filesystem, - # findutils - findutils, - # flex - flex, flex-devel, flex-doc, - # fpc-srpm-macros - fpc-srpm-macros, - # freetype - freetype, freetype-devel, - # fuse - fuse, fuse-devel, fuse-libs, - # gawk - gawk, gawk-devel, gawk-doc, - # gc - gc, gc-devel, - # gcc - cpp, gcc, gcc-c++, gcc-gdb-plugin, gcc-gfortran, gcc-gnat, gcc-go, - gcc-objc, gcc-objc++, gcc-offload-nvptx, gcc-plugin-devel, libasan, - libasan-static, libatomic, libatomic-static, libcilkrts, - libcilkrts-static, libgcc, libgccjit, libgccjit-devel, libgfortran, - libgfortran-static, libgnat, libgnat-devel, libgnat-static, libgo, - libgo-devel, libgo-static, libgomp, libgomp-offload-nvptx, libitm, - libitm-devel, libitm-static, liblsan, liblsan-static, libmpx, - libmpx-static, libobjc, libquadmath, libquadmath-devel, - libquadmath-static, libstdc++, libstdc++-devel, libstdc++-docs, - libstdc++-static, libtsan, libtsan-static, libubsan, - libubsan-static, - # gdb - gdb, gdb-doc, gdb-gdbserver, gdb-headless, - # gdbm - gdbm, gdbm-devel, - # gettext - gettext, gettext-common-devel, gettext-devel, gettext-libs, - # ghc-srpm-macros - ghc-srpm-macros, - # glib2 - glib2, glib2-doc, glib2-tests, - # glibc - glibc, glibc-all-langpacks, glibc-common, glibc-devel, - glibc-headers, glibc-langpack-aa, glibc-langpack-af, - glibc-langpack-ak, glibc-langpack-am, glibc-langpack-an, - glibc-langpack-anp, glibc-langpack-ar, glibc-langpack-as, - glibc-langpack-ast, glibc-langpack-ayc, glibc-langpack-az, - glibc-langpack-be, glibc-langpack-bem, glibc-langpack-ber, - glibc-langpack-bg, glibc-langpack-bhb, glibc-langpack-bho, - glibc-langpack-bn, glibc-langpack-bo, glibc-langpack-br, - glibc-langpack-brx, glibc-langpack-bs, glibc-langpack-byn, - glibc-langpack-ca, glibc-langpack-ce, glibc-langpack-chr, - glibc-langpack-cmn, glibc-langpack-crh, glibc-langpack-cs, - glibc-langpack-csb, glibc-langpack-cv, glibc-langpack-cy, - glibc-langpack-da, glibc-langpack-de, glibc-langpack-doi, - glibc-langpack-dv, glibc-langpack-dz, glibc-langpack-el, - glibc-langpack-en, glibc-langpack-eo, glibc-langpack-es, - glibc-langpack-et, glibc-langpack-eu, glibc-langpack-fa, - glibc-langpack-ff, glibc-langpack-fi, glibc-langpack-fil, - glibc-langpack-fo, glibc-langpack-fr, glibc-langpack-fur, - glibc-langpack-fy, glibc-langpack-ga, glibc-langpack-gd, - glibc-langpack-gez, glibc-langpack-gl, glibc-langpack-gu, - glibc-langpack-gv, glibc-langpack-ha, glibc-langpack-hak, - glibc-langpack-he, glibc-langpack-hi, glibc-langpack-hne, - glibc-langpack-hr, glibc-langpack-hsb, glibc-langpack-ht, - glibc-langpack-hu, glibc-langpack-hy, glibc-langpack-ia, - glibc-langpack-id, glibc-langpack-ig, glibc-langpack-ik, - glibc-langpack-is, glibc-langpack-it, glibc-langpack-iu, - glibc-langpack-ja, glibc-langpack-ka, glibc-langpack-kk, - glibc-langpack-kl, glibc-langpack-km, glibc-langpack-kn, - glibc-langpack-ko, glibc-langpack-kok, glibc-langpack-ks, - glibc-langpack-ku, glibc-langpack-kw, glibc-langpack-ky, - glibc-langpack-lb, glibc-langpack-lg, glibc-langpack-li, - glibc-langpack-lij, glibc-langpack-ln, glibc-langpack-lo, - glibc-langpack-lt, glibc-langpack-lv, glibc-langpack-lzh, - glibc-langpack-mag, glibc-langpack-mai, glibc-langpack-mg, - glibc-langpack-mhr, glibc-langpack-mi, glibc-langpack-mk, - glibc-langpack-ml, glibc-langpack-mn, glibc-langpack-mni, - glibc-langpack-mr, glibc-langpack-ms, glibc-langpack-mt, - glibc-langpack-my, glibc-langpack-nan, glibc-langpack-nb, - glibc-langpack-nds, glibc-langpack-ne, glibc-langpack-nhn, - glibc-langpack-niu, glibc-langpack-nl, glibc-langpack-nn, - glibc-langpack-nr, glibc-langpack-nso, glibc-langpack-oc, - glibc-langpack-om, glibc-langpack-or, glibc-langpack-os, - glibc-langpack-pa, glibc-langpack-pap, glibc-langpack-pl, - glibc-langpack-ps, glibc-langpack-pt, glibc-langpack-quz, - glibc-langpack-raj, glibc-langpack-ro, glibc-langpack-ru, - glibc-langpack-rw, glibc-langpack-sa, glibc-langpack-sat, - glibc-langpack-sc, glibc-langpack-sd, glibc-langpack-se, - glibc-langpack-sgs, glibc-langpack-shs, glibc-langpack-si, - glibc-langpack-sid, glibc-langpack-sk, glibc-langpack-sl, - glibc-langpack-so, glibc-langpack-sq, glibc-langpack-sr, - glibc-langpack-ss, glibc-langpack-st, glibc-langpack-sv, - glibc-langpack-sw, glibc-langpack-szl, glibc-langpack-ta, - glibc-langpack-tcy, glibc-langpack-te, glibc-langpack-tg, - glibc-langpack-th, glibc-langpack-the, glibc-langpack-ti, - glibc-langpack-tig, glibc-langpack-tk, glibc-langpack-tl, - glibc-langpack-tn, glibc-langpack-tr, glibc-langpack-ts, - glibc-langpack-tt, glibc-langpack-ug, glibc-langpack-uk, - glibc-langpack-unm, glibc-langpack-ur, glibc-langpack-uz, - glibc-langpack-ve, glibc-langpack-vi, glibc-langpack-wa, - glibc-langpack-wae, glibc-langpack-wal, glibc-langpack-wo, - glibc-langpack-xh, glibc-langpack-yi, glibc-langpack-yo, - glibc-langpack-yue, glibc-langpack-zh, glibc-langpack-zu, - glibc-locale-source, glibc-minimal-langpack, glibc-nss-devel, - glibc-static, libcrypt, libcrypt-nss, nscd, nss_db, nss_hesiod, - nss_nis, - # gmp - gmp, gmp-c++, gmp-devel, gmp-static, - # gnat-srpm-macros - gnat-srpm-macros, - # gnupg2 - gnupg2, - # gnutls - gnutls, gnutls-c++, - # go-srpm-macros - go-srpm-macros, - # gobject-introspection - gobject-introspection, - # gpart - gpart, - # gpgme - gpgme, gpgme-devel, gpgmepp, gpgmepp-devel, python3-gpg, - # grep - grep, - # grub2 - grub2, grub2-efi, grub2-efi-modules, grub2-tools, - # grubby - grubby, - # guile - guile, guile-devel, - # gzip - gzip, - # hfsutils - hfsutils, hfsutils-devel, - # iproute - iproute, iproute-devel, iproute-doc, - # iptables - iptables, iptables-devel, iptables-libs, iptables-services, - iptables-utils, - # isl - isl, isl-devel, - # kernel - kernel, kernel-PAE, kernel-PAE-core, kernel-PAE-modules, - kernel-PAE-modules-extra, kernel-PAEdebug, kernel-PAEdebug-core, - kernel-PAEdebug-modules, kernel-PAEdebug-modules-extra, - kernel-bootwrapper, kernel-core, kernel-cross-headers, - kernel-debug, kernel-debug-core, kernel-debug-modules, - kernel-debug-modules-extra, kernel-headers, kernel-lpae, - kernel-lpae-core, kernel-lpae-modules, kernel-lpae-modules-extra, - kernel-modules, kernel-modules-extra, kernel-tools-libs, - # keyutils - keyutils, keyutils-libs, keyutils-libs-devel, - # kmod - kmod, kmod-devel, kmod-libs, - # krb5 - krb5-devel, krb5-libs, krb5-pkinit, krb5-workstation, libkadm5, - # libaio - libaio, libaio-devel, - # libarchive - bsdcat, bsdcpio, bsdtar, libarchive, libarchive-devel, - # libassuan - libassuan, libassuan-devel, - # libatomic_ops - libatomic_ops, libatomic_ops-devel, libatomic_ops-static, - # libcap - libcap, libcap-devel, libcap-static, - # libcap-ng - libcap-ng, libcap-ng-devel, libcap-ng-python3, libcap-ng-utils, - # libcroco - libcroco, - # libdb - libdb, libdb-cxx, libdb-cxx-devel, libdb-devel, libdb-devel-doc, - libdb-devel-static, libdb-java, libdb-java-devel, libdb-sql, - libdb-sql-devel, libdb-tcl, libdb-tcl-devel, libdb-utils, - # libdnf - libdnf, python3-hawkey, - # libev - libev, libev-devel, libev-libevent-devel, libev-source, - # libffi - libffi, libffi-devel, - # libgcrypt - libgcrypt, libgcrypt-devel, - # libgpg-error - libgpg-error, libgpg-error-devel, - # libidn - libidn, libidn-devel, - # libidn2 - libidn2, libidn2-devel, - # libipt - libipt, libipt-devel, - # libksba - libksba, libksba-devel, - # libmetalink - libmetalink, libmetalink-devel, - # libmnl - libmnl, libmnl-devel, libmnl-static, - # libmpc - compat-libmpc, libmpc, libmpc-devel, - # libnetfilter_conntrack - libnetfilter_conntrack, libnetfilter_conntrack-devel, - # libnfnetlink - libnfnetlink, libnfnetlink-devel, - # libpcap - libpcap, libpcap-devel, - # libpeas - libpeas, - # libpng - libpng, libpng-devel, libpng-static, libpng-tools, - # libpsl - libpsl, libpsl-devel, psl, psl-make-dafsa, - # libpwquality - libpwquality, libpwquality-devel, python3-pwquality, - # librepo - librepo, python3-librepo, - # librtas - librtas, librtas-devel, - # libseccomp - libseccomp, libseccomp-devel, libseccomp-static, - # libselinux - libselinux, libselinux-devel, libselinux-python3, - libselinux-static, libselinux-utils, - # libsemanage - libsemanage, libsemanage-devel, libsemanage-python3, - libsemanage-static, - # libsepol - libsepol, libsepol-devel, libsepol-static, - # libservicelog - libservicelog, libservicelog-devel, - # libsigsegv - libsigsegv, libsigsegv-devel, libsigsegv-static, - # libsolv - libsolv, libsolv-demo, libsolv-devel, libsolv-tools, python3-solv, - ruby-solv, - # libssh2 - libssh2, libssh2-docs, - # libtasn1 - libtasn1, libtasn1-devel, libtasn1-tools, - # libtool - libtool-ltdl, libtool-ltdl-devel, - # libunistring - libunistring, libunistring-devel, - # libutempter - libutempter, libutempter-devel, - # libverto - libverto, libverto-devel, libverto-glib, libverto-glib-devel, - libverto-libev, libverto-libev-devel, - # libvpd - libvpd, libvpd-devel, - # libxml2 - libxml2, libxml2-devel, libxml2-static, python3-libxml2, - # linux-firmware - iwl100-firmware, iwl1000-firmware, iwl105-firmware, - iwl135-firmware, iwl2000-firmware, iwl2030-firmware, - iwl3160-firmware, iwl3945-firmware, iwl4965-firmware, - iwl5000-firmware, iwl5150-firmware, iwl6000-firmware, - iwl6000g2a-firmware, iwl6000g2b-firmware, iwl6050-firmware, - iwl7260-firmware, libertas-sd8686-firmware, - libertas-sd8787-firmware, libertas-usb8388-firmware, - libertas-usb8388-olpc-firmware, linux-firmware, - # lsvpd - lsvpd, - # lua - lua, lua-devel, lua-libs, lua-static, - # lvm2 - device-mapper, device-mapper-devel, device-mapper-event, - device-mapper-event-devel, device-mapper-event-libs, - device-mapper-libs, lvm2, lvm2-devel, lvm2-libs, lvm2-python3-libs, - # lz4 - lz4, lz4-devel, lz4-libs, lz4-static, - # lzo - lzo, lzo-devel, lzo-minilzo, - # m4 - m4, - # mactel-boot - mactel-boot, - # make - make, make-devel, - # memtest86+ - memtest86+, - # microdnf - microdnf, - # mokutil - mokutil, - # mpfr - mpfr, mpfr-devel, - # mtools - mtools, - # ncurses - ncurses, ncurses-base, ncurses-c++-libs, ncurses-compat-libs, - ncurses-devel, ncurses-libs, ncurses-static, ncurses-term, - # nettle - nettle, nettle-devel, - # nghttp2 - libnghttp2, libnghttp2-devel, nghttp2, - # npth - npth, npth-devel, - # nspr - nspr, nspr-devel, - # nss - nss, nss-devel, nss-pkcs11-devel, nss-sysinit, nss-tools, - # nss-pem - nss-pem, - # nss-softokn - nss-softokn, nss-softokn-devel, nss-softokn-freebl, - nss-softokn-freebl-devel, - # nss-util - nss-util, nss-util-devel, - # ocaml-srpm-macros - ocaml-srpm-macros, - # openldap - openldap, openldap-clients, openldap-devel, - # openssl - openssl, openssl-devel, openssl-libs, openssl-static, - # os-prober - os-prober, - # p11-kit - p11-kit, p11-kit-devel, p11-kit-server, p11-kit-trust, - # pam - pam, pam-devel, - # patch - patch, - # pcre - pcre, pcre-cpp, pcre-devel, pcre-doc, pcre-static, pcre-tools, - pcre-utf16, pcre-utf32, - # perl-srpm-macros - perl-srpm-macros, - # pkgconf - libpkgconf, libpkgconf-devel, pkgconf, pkgconf-m4, - pkgconf-pkg-config, - # popt - popt, popt-devel, popt-static, - # powerpc-utils - powerpc-utils, - # ppc64-utils - ppc64-utils, - # procps-ng - procps-ng, procps-ng-devel, procps-ng-i18n, - # pth - pth, pth-devel, - # publicsuffix-list - publicsuffix-list, publicsuffix-list-dafsa, - # pyparsing - pyparsing-doc, python3-pyparsing, - # python-appdirs - python3-appdirs, - # python-packaging - python-packaging-doc, python3-packaging, - # python-pip - python3-pip, - # python-rpm-macros - python-rpm-macros, python-srpm-macros, python2-rpm-macros, - python3-rpm-macros, - # python-setuptools - python3-setuptools, - # python-six - python3-six, - # python3 - python3, python3-devel, python3-libs, system-python, - system-python-libs, - # qrencode - qrencode, qrencode-devel, qrencode-libs, - # qt5 - qt5-srpm-macros, - # readline - readline, readline-devel, readline-static, - # redhat-rpm-config - redhat-rpm-config, - # rpm - python3-rpm, rpm, rpm-apidocs, rpm-build, rpm-build-libs, - rpm-devel, rpm-libs, rpm-plugin-ima, rpm-plugin-selinux, - rpm-plugin-syslog, rpm-plugin-systemd-inhibit, rpm-sign, - # sed - sed, - # setup - setup, - # sg3_utils - sg3_utils, sg3_utils-devel, sg3_utils-libs, - # sgml-common - sgml-common, xml-common, - # shadow-utils - shadow-utils, - # shim-signed - shim, - # sqlite - lemon, sqlite, sqlite-devel, sqlite-doc, sqlite-libs, - # sssd - sssd-client, libsss_idmap, libsss_idmap-devel, libsss_nss_idmap, - libsss_nss_idmap-devel, python3-libsss_nss_idmap, - # syslinux - syslinux, syslinux-devel, syslinux-extlinux, - syslinux-extlinux-nonlinux, syslinux-nonlinux, syslinux-tftpboot, - # systemd - systemd, systemd-container, systemd-devel, systemd-libs, - systemd-pam, systemd-tests, systemd-udev, - # tar - tar, - # texinfo - info, - # tzdata - tzdata, tzdata-java, - # uboot-tools - uboot-images-armv7, uboot-images-armv8, uboot-images-qemu, - uboot-tools, - # unzip - unzip, - # ustr - ustr, ustr-debug, ustr-debug-static, ustr-devel, ustr-static, - # util-linux - libblkid, libblkid-devel, libfdisk, libfdisk-devel, libmount, - libmount-devel, libsmartcols, libsmartcols-devel, libuuid, - libuuid-devel, python3-libmount, util-linux, uuidd, - # which - which, - # xz - xz, xz-devel, xz-libs, xz-lzma-compat, xz-static, - # zip - zip, - # zlib - minizip, minizip-devel, zlib, zlib-devel, zlib-static, - ] - filter: - rpms: [ - # audit - audispd-plugins, audispd-plugins-zos, audit, audit-libs-python, - audit-libs-python3, - # babeltrace - libbabeltrace-devel, - # chkconfig - ntsysv, - # cracklib - cracklib-python, - # cryptsetup - cryptsetup-python, - # cyrus-sasl - cyrus-sasl-sql, - # dbus - dbus-x11, - # dracut - dracut-fips, dracut-fips-aesni, dracut-live, dracut-network, - # emacs - emacs, emacs-common, emacs-nox, emacs-terminal, - # fbset - modeline2fb, - # file - python-magic, - # freetype - freetype-demos, - # gettext - emacs-gettext, msghack, - # glib2 - glib2-devel, glib2-fam, glib2-static, - # glibc - glibc-benchtests, glibc-utils, - # gnupg2 - gnupg2-smime, - # gnutls - gnutls-dane, gnutls-devel, gnutls-guile, gnutls-utils, - # gobject-introspection - gobject-introspection-devel, - # gpgme - python2-gpg, qgpgme, qgpgme-devel, - # grub2 - grub2-starfield-theme, - # hfsutils - hfsutils-x11, - # iproute - iproute-tc, - # iptables - iptables-compat, - # kernel - kernel-PAE-devel, kernel-PAEdebug-devel, kernel-debug-devel, - kernel-devel, kernel-lpae-devel, kernel-tools, - kernel-tools-libs-devel, perf, python-perf, - # krb5 - krb5-server, krb5-server-ldap, - # libcap-ng - libcap-ng-python, - # libcroco - libcroco-devel, - # libdnf - libdnf-devel, python2-hawkey, - # libidn - libidn-java, libidn-javadoc, - # libpeas - libpeas-devel, libpeas-gtk, libpeas-loader-python, - libpeas-loader-python3, - # libpwquality - python-pwquality, - # librepo - librepo-devel, python2-librepo, - # libselinux - libselinux-python, libselinux-ruby, - # libsemanage - libsemanage-python, - # libsolv - perl-solv, python2-solv, - # libssh2 - libssh2-devel, - # libtool - libtool, - # libverto - libverto-libevent, libverto-libevent-devel, libverto-tevent, - libverto-tevent-devel, - # libxml2 - python-libxml2, - # lvm2 - cmirror, cmirror-standalone, lvm2-cluster, - lvm2-cluster-standalone, lvm2-dbusd, lvm2-lockd, - lvm2-python-libs, - # openldap - openldap-servers, - # openssl - openssl-perl, - # pyparsing - pyparsing, python2-pyparsing, - # python-appdirs - python2-appdirs, - # python-packaging - python2-packaging, - # python-pip - python2-pip, - # python-setuptools - python2-setuptools, - # python-six - python2-six, - # python3 - python3-debug, python3-test, python3-tkinter, python3-tools, - # qt5 - qt5, qt5-devel, qt5-rpm-macros, - # redhat-rpm-config - kernel-rpm-macros, - # rpm - python2-rpm, rpm-cron, - # sqlite - sqlite-analyzer, sqlite-tcl, - # sssd - libipa_hbac, libipa_hbac-devel, libsss_autofs, libsss_idmap-devel, - libsss_nss_idmap-devel, libsss_simpleifp, libsss_simpleifp-devel, - libsss_sudo, python2-libipa_hbac, python2-libsss_nss_idmap, - python2-sss, python2-sssdconfig, python2-sss-murmur, - python3-libipa_hbac, python3-sss, python3-sssdconfig, - python3-sss-murmur, sssd, sssd-ad, sssd-common, sssd-common-pac, - sssd-dbus, sssd-ipa, sssd-krb5, sssd-krb5-common, sssd-ldap, - sssd-libwbclient, sssd-libwbclient-devel, sssd-nfs-idmap, - sssd-proxy, sssd-tools, sssd-winbind-idmap, - # syslinux - syslinux-perl, - # systemd - systemd-journal-remote, - # texinfo - texinfo, texinfo-tex, - # util-linux - util-linux-user, - ] - buildopts: - rpms: - macros: | - %baseruntime_force_rebuild 2017-06-26 - components: - rpms: - # acl-2.2.52-13.fc26 - acl: - rationale: Autogenerated by Base Runtime tools. - ref: 1b70d5975cbe16d4fd4e14de4e132e5b8bc39c53 - # attr-2.4.47-18.fc26 - attr: - rationale: Autogenerated by Base Runtime tools. - ref: deabbc4e2a74e993af0be267b13c431a3ace0558 - # audit-2.7.6-1.fc26 - audit: - rationale: Autogenerated by Base Runtime tools. - ref: 123b93c75de810d79d2f8906e1ab9fb96b22b69e - # babeltrace-1.5.2-2.fc26 - babeltrace: - rationale: Autogenerated by Base Runtime tools. - ref: f5c9540efbc66493e8644391405f5dc0815d1ad1 - # basesystem-11-3.fc26 - basesystem: - rationale: Autogenerated by Base Runtime tools. - ref: e4a05b3ab23f2972f922ec38527b7c923ed4154c - # bash-4.4.12-4.fc26 - bash: - rationale: Autogenerated by Base Runtime tools. - ref: 31a9b53e1921c6aa5f2bed0872c1cd906d3080d6 - # bc-1.06.95-18.fc26 - bc: - rationale: Autogenerated by Base Runtime tools. - ref: 2cdfa698bfc045918bbc39456a952532fc9de6ff - # binutils-2.27-21.fc26 - binutils: - rationale: Autogenerated by Base Runtime tools. - ref: d3157973ba5cd05eba8d17ead87acf50a7fe4610 - # byacc-1.9.20170201-1.fc26 - byacc: - rationale: Autogenerated by Base Runtime tools. - ref: 624e59d1c7d612410ec9ef022f66da794118afcf - # bzip2-1.0.6-22.fc26 - bzip2: - rationale: Autogenerated by Base Runtime tools. - ref: 3ea5d7bdb1c334d2e6efeb9ec81b8ee8ef13d984 - # c-ares-1.12.0-2.fc26 - c-ares: - rationale: Autogenerated by Base Runtime tools. - ref: b74febc36bd5c5496d8f384710c84c88c10c3d82 - # ca-certificates-2017.2.14-1.0.fc26 - ca-certificates: - rationale: Autogenerated by Base Runtime tools. - ref: 9506435bd8bb4a5a09797e070a7f60332acc9752 - # chkconfig-1.10-1.fc26 - chkconfig: - rationale: Autogenerated by Base Runtime tools. - ref: adc3f7d5577bf51a26355748921864a6e7277ee5 - # coreutils-8.27-5.fc26 - coreutils: - rationale: Autogenerated by Base Runtime tools. - ref: e00cb1843f7384b4682280a1a56cef58bdc8106f - # cpio-2.12-4.fc26 - cpio: - rationale: Autogenerated by Base Runtime tools. - ref: 6c6d3ddaea11e8635b2dec97769fb7a0d8324ae5 - # cracklib-2.9.6-5.fc26 - cracklib: - rationale: Autogenerated by Base Runtime tools. - ref: 2edb3e61e337926a92d56ffe84bd8cdb0f625586 - # crypto-policies-20170330-3.git55b66da.fc26 - crypto-policies: - rationale: Autogenerated by Base Runtime tools. - ref: 8c8ca98c2ef702dc75cb52a01c121bed0d2c588d - # cryptsetup-1.7.5-1.fc26 - cryptsetup: - rationale: Autogenerated by Base Runtime tools. - ref: b64fb92578bcf24d2a2d2e6e73823e3447f367e7 - # curl-7.53.1-7.fc26 - curl: - rationale: Autogenerated by Base Runtime tools. - ref: 5ac5f7bdc933a64f7284a0e4dc03f07aad001f2b - # cyrus-sasl-2.1.26-32.fc26 - cyrus-sasl: - rationale: Autogenerated by Base Runtime tools. - ref: 75a23b2fea6cff96154f180dde30b9c675b48364 - # dbus-1:1.11.12-1.fc26 - dbus: - rationale: Autogenerated by Base Runtime tools. - ref: d750f7d4a535541eb15b4f37deb74e3e30313989 - # device-mapper-persistent-data-0.6.3-5.fc26 - device-mapper-persistent-data: - rationale: Autogenerated by Base Runtime tools. - ref: 678a17f85d392b3e438bce06485e3227ee73e82d - # device-mapper-persistent-data-0.6.3-5.fc26 - device-mapper-persistent-data: - rationale: Autogenerated by Base Runtime tools. - ref: 678a17f85d392b3e438bce06485e3227ee73e82d - # diffutils-3.5-3.fc26 - diffutils: - rationale: Autogenerated by Base Runtime tools. - ref: 165207b40bc5d50fe8432236661c7e5d0f3bfd80 - # dracut-044-182.fc26 - dracut: - rationale: Needed to boot the system. - ref: 04d6319f7600ca18a9a0da517052af6e56986657 - # dtc-1.4.4-1.fc26 - dtc: - rationale: Autogenerated by Base Runtime tools. - ref: 05b2b5605b108427497ee77a67204ec50dcfa986 - # dwz-0.12-3.fc26 - dwz: - rationale: Autogenerated by Base Runtime tools. - ref: 6340a7adad2fb11e81a01f8e8b2e2a4fe3e990ca - # e2fsprogs-1.43.4-2.fc26 - e2fsprogs: - rationale: Autogenerated by Base Runtime tools. - ref: 55a0c09e0e30ab1fb7306bc48f5842f08d58201d - # efibootmgr-15-1.fc27 - efibootmgr: - rationale: Autogenerated by Base Runtime tools. - ref: 5070dfa0d2504f4299bfc5c2e5e8c390cd0d3235 - # efivar-31-1.fc27 - efivar: - rationale: Autogenerated by Base Runtime tools. - ref: 9af50adeeb29e1b72dbade00cbda990a3a37454d - # elfutils-0.169-1.fc26 - elfutils: - rationale: Autogenerated by Base Runtime tools. - ref: e67242de84610b0b4c7842b151288936f8a13b03 - # emacs-1:25.2-2.fc26 - emacs: - rationale: Autogenerated by Base Runtime tools. - ref: 42fa24ab12901a5a00bd7e672a2576193adf574e - # expat-2.2.0-2.fc26 - expat: - rationale: Autogenerated by Base Runtime tools. - ref: 9af336b7b5c64a6c66fa1d094747e1c307c73c7f - # extlinux-bootloader-1.2-1.fc27 - extlinux-bootloader: - rationale: Autogenerated by Base Runtime tools. - ref: 2e6df0d2403786d119028b5fe28fffdd5f99c3df - # fbset-2.1-41.fc27 - fbset: - rationale: Autogenerated by Base Runtime tools. - ref: e086d17001901320260df464954bc8aa3a4ae05e - # fedora-logos-26.0.1-1.fc26 - fedora-logos: - rationale: Autogenerated by Base Runtime tools. - ref: 1263b8501f117be5b06f61ad12f895dab19d0c1a - fedora-modular-release: - rationale: Autogenerated by Base Runtime tools. - ref: db937d42cebde417a4002ed2ce8578c63f2b114c - fedora-modular-repos: - rationale: Autogenerated by Base Runtime tools. - ref: c1f4b61a43f5123fec07b926c23e99c8732ea951 - # fedora-rpm-macros-26-2.fc26 - fedora-rpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: d168f4a539efef42dcf48a5e9f4a178b258aba06 - # fedpkg-minimal-1.1.0-8.fc26 - fedpkg-minimal: - rationale: Autogenerated by Base Runtime tools. - ref: 026cc9ca12187f6204cf32c552225865eb71f184 - # file-5.30-6.fc26 - file: - rationale: Autogenerated by Base Runtime tools. - ref: 678277ca4c8c45887882b3172af91205ed1da6f0 - # filesystem-3.2-40.fc26 - filesystem: - rationale: Autogenerated by Base Runtime tools. - ref: ed1bc54acfa044b782ecbed596311d79db7a9c8a - # findutils-4.6.0-12.fc26 - findutils: - rationale: Autogenerated by Base Runtime tools. - ref: 339b378e9b6a084791e323389daa071f1e7f07ac - # flex-2.6.1-3.fc26 - flex: - rationale: Autogenerated by Base Runtime tools. - ref: 26fe0dfe580bba78517ca44cb4bd755be0cde4f5 - # fpc-srpm-macros-1.1-2.fc26 - fpc-srpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: 3f0e8216425fcde8fb9abb7bb1eb1bafe33017f0 - # freetype-2.7.1-6.fc26 - freetype: - rationale: Autogenerated by Base Runtime tools. - ref: d3647a0d5dd9e39ced0ffbe119c3078bfb86a7bf - # fuse-2.9.7-2.fc26 - fuse: - rationale: Autogenerated by Base Runtime tools. - ref: 74f133fbe7eb042fadb508a39dbc699543736b5c - # gawk-4.1.4-3.fc26 - gawk: - rationale: Autogenerated by Base Runtime tools. - ref: 63f2ac8ac41274519602f03ef1f718ae0b2c8e4d - # gc-7.6.0-4.fc27 - # Plus additional patch to skip tests on armv7hl - gc: - rationale: Autogenerated by Base Runtime tools. - ref: ee9803b67c37b1a86b2f1f2a3389c3902e659b9f - # gcc-7.1.1-1.fc26 - gcc: - rationale: Autogenerated by Base Runtime tools. - ref: 872d384f80797c6aef5269d069f83cb0bb2edd9f - # gdb-7.12.50.20170226-4.fc26 - gdb: - rationale: Autogenerated by Base Runtime tools. - ref: 0fffd6c99de26517095a9dd81054b3713e12cfde - # gdbm-1.13-1.fc26 - gdbm: - rationale: Autogenerated by Base Runtime tools. - ref: 587a5c1d117d991df4caac5e1b7a73198b4902a0 - # gettext-0.19.8.1-9.fc26 - gettext: - rationale: Autogenerated by Base Runtime tools. - ref: df498733241ad35d2e7025c9b2ad5c394e6e595d - # ghc-srpm-macros-1.4.2-5.fc26 - ghc-srpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: b57d95b6c5cbc8086653c53b0324629915204b37 - # glib2-2.52.2-2.fc26 - glib2: - rationale: Autogenerated by Base Runtime tools. - ref: 15854645a451f349662f7de7d6dae2fa86c84cd2 - # glibc-2.25-6.fc26 - glibc: - rationale: Autogenerated by Base Runtime tools. - ref: a2f7bb78767003033384a9f2030ac92cb7212d87 - # gmp-1:6.1.2-4.fc26 - gmp: - rationale: Autogenerated by Base Runtime tools. - ref: fe04d46fce3c3596ad631710d26531aa359e375f - # gnat-srpm-macros-4-2.fc26 - gnat-srpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: 443d027b8b0a710d1852f275555de9f3b3270016 - # gnupg2-2.1.20-2.fc26 - gnupg2: - rationale: Autogenerated by Base Runtime tools. - ref: 9c42951fbea8754e3f666f804253c21051119e53 - # gnutls-3.5.12-2.fc26 - gnutls: - rationale: Autogenerated by Base Runtime tools. - ref: 2c3737eddb535d743eac6d266a861f365d9df864 - # go-srpm-macros-2-8.fc26 - go-srpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: 0b6060827d9dcd4cf9c05454b7e57912284b2970 - # gobject-introspection-1.52.1-1.fc26 - gobject-introspection: - rationale: Autogenerated by Base Runtime tools. - ref: 55bfa0b68eaa76ee7712b34c88c0a2d4128bce7e - # gpart-0.3-3.fc26 - gpart: - rationale: Autogenerated by Base Runtime tools. - ref: 79d2bc74e0b725328e8c298c4b57caa45c125310 - # gpgme-1.9.0-1.fc27 - gpgme: - rationale: Autogenerated by Base Runtime tools. - ref: 80cb2f5e13b902e63785d307e0cffbe0d773a76c - # grep-3.0-1.fc26 - grep: - rationale: Autogenerated by Base Runtime tools. - ref: c232695f408106307c43b2954c732a5a6bb352ba - # grub2-2.02-0.38.fc26 - grub2: - rationale: Autogenerated by Base Runtime tools. - ref: 819251656a468b2f06137bc98b4487af8e2af6f0 - # grubby-8.40-4.fc26 - grubby: - rationale: Autogenerated by Base Runtime tools. - ref: c7f3e950d7d406f96794ef6933f883595af1954d - # guile-2.0.14-1.fc26 - guile: - rationale: Autogenerated by Base Runtime tools. - ref: 2df74f173026ec917b11c940e8bb29cb2903d07e - # gzip-1.8-2.fc26 - gzip: - rationale: Autogenerated by Base Runtime tools. - ref: cd306eb7f9bfce3b27372269d7b092812c312e9d - # hfsutils-3.2.6-31.fc26 - hfsutils: - rationale: Autogenerated by Base Runtime tools. - ref: 5a2f18ddbd21481a64771fe5c05b3926625b8a1e - # iproute-4.11.0-1.fc26 - iproute: - rationale: Autogenerated by Base Runtime tools. - ref: 74656075ed5ad4ed7270b8aeb6afa2a4ef914fc7 - # iptables-1.6.1-2.fc26 - iptables: - rationale: Autogenerated by Base Runtime tools. - ref: 7ee46ed2f5172db5f6e158009062ef99c3eebb48 - # isl-0.16.1-1.fc26 - isl: - rationale: Autogenerated by Base Runtime tools. - ref: 113dc22c621070f014f09ff0cd1abbe09ad99a61 - # kernel-4.11.0-2.fc26 - kernel: - rationale: Autogenerated by Base Runtime tools. - ref: f2ae1bd31e1a9eccb8d80a7087aee1c19518ef74 - # keyutils-1.5.10-1.fc26 - keyutils: - rationale: Autogenerated by Base Runtime tools. - ref: 7162e158eb6bdd78c28b2add1c9289668cacc937 - # kmod-24-1.fc26 - kmod: - rationale: Autogenerated by Base Runtime tools. - ref: 95d16ea378aefae832e728bc37a9c1a16453902a - # krb5-1.15.1-8.fc26 - krb5: - rationale: Autogenerated by Base Runtime tools. - ref: 3cae6ae5c37a3c500c074241f794716c1e6fdc90 - # libaio-0.3.110-7.fc26 - libaio: - rationale: Autogenerated by Base Runtime tools. - ref: db11cf2785cee8d274c6640edf9a7078c2509012 - # libarchive-3.2.2-4.fc26 - libarchive: - rationale: Autogenerated by Base Runtime tools. - ref: 7446b2e86d798e2e7672a3f41a333e3182c7b1dc - # libassuan-2.4.3-2.fc26 - libassuan: - rationale: Autogenerated by Base Runtime tools. - ref: 7e26da2408be409d2791b8fa0033f0443181798a - # libatomic_ops-7.4.4-2.fc26 - libatomic_ops: - rationale: Autogenerated by Base Runtime tools. - ref: 3eeefda8bed2c0c359a1ac993bc1ff2b0cc18145 - # libcap-2.25-5.fc26 - libcap: - rationale: Autogenerated by Base Runtime tools. - ref: f17ad4c828018a730449494514a33150cf5d520b - # libcap-ng-0.7.8-3.fc26 - libcap-ng: - rationale: Autogenerated by Base Runtime tools. - ref: a7b3901d3112e947ac2060b9fc82bc9d3a4d49f0 - # libcroco-0.6.12-1.fc26 - libcroco: - rationale: Autogenerated by Base Runtime tools. - ref: 75818f466e8ffa31ca95ef3b33dd63279376f24d - # libdb-5.3.28-17.fc26 - libdb: - rationale: Autogenerated by Base Runtime tools. - ref: 607172865e43570dde11c1f49de14474f47e837a - # libdnf-0.8.2-1.fc26 - libdnf: - rationale: Autogenerated by Base Runtime tools. - ref: efe1828c67c1e638c7440a2315ffde33bf01c2d4 - # libev-4.24-2.fc26 - libev: - rationale: Autogenerated by Base Runtime tools. - ref: f7b1bcaebb7d48ff0519b1517bf83645f09ccef0 - # libffi-3.1-10.fc26 - libffi: - rationale: Autogenerated by Base Runtime tools. - ref: 2455877bfe4cab9dd9eaf206cb5bcb44804a0a1c - # libgcrypt-1.7.6-2.fc26 - libgcrypt: - rationale: Autogenerated by Base Runtime tools. - ref: 396c70cd7ad79ee8d8bd672f4fbc3cc4f04fb8d7 - # libgpg-error-1.25-2.fc26 - libgpg-error: - rationale: Autogenerated by Base Runtime tools. - ref: a7b12bf545320fd71f2f7d319ac200ee5d8ab02c - # libidn-1.33-2.fc26 - libidn: - rationale: Autogenerated by Base Runtime tools. - ref: 7275bd926ff5ecf7ed8eb2af5601ef6953a78352 - # libidn2-2.0.2-1.fc26 - libidn2: - rationale: Autogenerated by Base Runtime tools. - ref: a0ad03b679f30f30e5b196a85d700f4c17b26dd9 - # libipt-1.5-2.fc26 - libipt: - rationale: Autogenerated by Base Runtime tools. - ref: 718f83351b0a2fe7f24f45370ca7b9f224b723f1 - # libksba-1.3.5-3.fc26 - libksba: - rationale: Autogenerated by Base Runtime tools. - ref: 343c435d424b7cfded4a8c3fb94e86ca18771109 - # libmetalink-0.1.3-2.fc26 - libmetalink: - rationale: Autogenerated by Base Runtime tools. - ref: 14d998a17d45a384c2b9391536b3294efaeb6390 - # libmnl-1.0.4-2.fc26 - libmnl: - rationale: Autogenerated by Base Runtime tools. - ref: 0fecaca66472a4f11fbac306aaded65a354dcfab - # libmpc-1.0.2-6.fc26 - libmpc: - rationale: Autogenerated by Base Runtime tools. - ref: 54ced8ff789bdaa32de7836e82a5b0d481d36bce - # libnetfilter_conntrack-1.0.6-2.fc26 - libnetfilter_conntrack: - rationale: Autogenerated by Base Runtime tools. - ref: 0e59521eaee1763e46d0a48e0ad6e5d02fc67e59 - # libnfnetlink-1.0.1-9.fc26 - libnfnetlink: - rationale: Autogenerated by Base Runtime tools. - ref: 3e3ab7c13aac49047432b6f4ceb42ef1ed48c483 - # libpcap-1.8.1-3.fc26 - libpcap: - rationale: Autogenerated by Base Runtime tools. - ref: 46f5217d492c46a62147c48803012d9cce92e059 - # libpeas-1.20.0-5.fc26 - libpeas: - rationale: Autogenerated by Base Runtime tools. - ref: f479ecc4041fb2b836b1270b9d117f3ffed12e1f - # libpng-1.6.28-2.fc26 - libpng: - rationale: Autogenerated by Base Runtime tools. - ref: 2eef5ca8cb026b1dbe4d6191749eda3d5177483a - # libpsl-0.17.0-2.fc26 - libpsl: - rationale: Autogenerated by Base Runtime tools. - ref: 76ef0f56ec9d386fc981462fccc4338f987bc4d6 - # libpwquality-1.3.0-8.fc26 - libpwquality: - rationale: Autogenerated by Base Runtime tools. - ref: 9bf5174c3324e63969c676415890a1a1c8aca5f6 - # librepo-1.7.20-3.fc26 - librepo: - rationale: Autogenerated by Base Runtime tools. - ref: 372bbc1d15e4a53309229619aa763030d2ebd24d - # librtas-2.0.1-1.fc26 - librtas: - rationale: Autogenerated by Base Runtime tools. - ref: 587c426391de5ea208e77d1522e8f07705f5a211 - # libseccomp-2.3.2-1.fc26 - libseccomp: - rationale: Autogenerated by Base Runtime tools. - ref: 857113eb64e504f9123c52ae82c815b2ceeb2fd0 - # libselinux-2.6-6.fc26 - libselinux: - rationale: Autogenerated by Base Runtime tools. - ref: ea9eee161ed07911c9c672b0e598509e39cac679 - # libsemanage-2.6-4.fc26 - libsemanage: - rationale: Autogenerated by Base Runtime tools. - ref: 64efa5b6db085bcd5868189a4600ec6985e79196 - # libsepol-2.6-1.fc26 - libsepol: - rationale: Autogenerated by Base Runtime tools. - ref: 99653f4b762884baef7c64a867ffc0bb4eccb392 - # libservicelog-1.1.17-1.fc26 - libservicelog: - rationale: Autogenerated by Base Runtime tools. - ref: ec8fd481ac4ade036094f164c59beaa0bf96893d - # libsigsegv-2.11-1.fc26 - libsigsegv: - rationale: Autogenerated by Base Runtime tools. - ref: 0bca2e2c40a26940b5a1787e03d97dd11f369bb6 - # libsolv-0.6.27-1.fc26 - libsolv: - rationale: Autogenerated by Base Runtime tools. - ref: e6ddcf95315f088b176c6eafa58c9c969f969293 - # libssh2-1.8.0-2.fc26 - libssh2: - rationale: Autogenerated by Base Runtime tools. - ref: e44a6af4ac5f823db5654f18f7db7cf9f1b176d9 - # libtasn1-4.10-2.fc26 - libtasn1: - rationale: Autogenerated by Base Runtime tools. - ref: 47170124b65abe7d2d3c7f9ba8fda5aa615ada92 - # libtool-2.4.6-17.fc26 - libtool: - rationale: Autogenerated by Base Runtime tools. - ref: a18bf3932e524978d0e52732c749e9ad7741a04a - # libunistring-0.9.7-1.fc26 - libunistring: - rationale: Autogenerated by Base Runtime tools. - ref: ee6fd5523361a7764c52116b72d184c1fb02f4ab - # libutempter-1.1.6-9.fc26 - libutempter: - rationale: Autogenerated by Base Runtime tools. - ref: 0d4613714e458f3c691160032a4b1578a86b5367 - # libverto-0.2.6-7.fc26 - libverto: - rationale: Autogenerated by Base Runtime tools. - ref: 521cea8b5a829197c1f6a55f605fc4b995b5184e - # libvpd-2.2.5-5.fc26 - libvpd: - rationale: Autogenerated by Base Runtime tools. - ref: 7d949c746837b1d38bc6869cc0f2750542a68cbf - # libxml2-2.9.4-2.fc26 - libxml2: - rationale: Autogenerated by Base Runtime tools. - ref: 5fda684ac196f90b263658654775c736a6cea3dc - # linux-firmware-20170313-72.git695f2d6d.fc26 - linux-firmware: - rationale: Autogenerated by Base Runtime tools. - ref: e9184d656d8d91e1350c3d056ff6bea12acbe294 - # lsvpd-1.7.8-1.fc26 - lsvpd: - rationale: Autogenerated by Base Runtime tools. - ref: a386ac9b2d49b759b041102f359b83cb564aaa47 - # lua-5.3.4-1.fc26 - lua: - rationale: Autogenerated by Base Runtime tools. - ref: b7447739b8d3a722a2d8e7305690b6ac3c548882 - # lvm2-2.02.168-6.fc26 - lvm2: - rationale: Autogenerated by Base Runtime tools. - ref: f033fa0c98533c822a4e94a337c4f398748f5956 - # lz4-1.7.5-3.fc26 - lz4: - rationale: Autogenerated by Base Runtime tools. - ref: b1b71dd0916da639745125b93f3a7c1f7dde692a - # lzo-2.08-9.fc26 - lzo: - rationale: Autogenerated by Base Runtime tools. - ref: f507e1f182375aff98c810c2dde30770c54d1465 - # m4-1.4.18-3.fc26 - m4: - rationale: Autogenerated by Base Runtime tools. - ref: 720144b905662d90fb6fc44da11e157742dd8087 - # mactel-boot-0.9-14.fc26 - mactel-boot: - rationale: Autogenerated by Base Runtime tools. - ref: 129a7f0b78d99f20df2b52d72dc24b6a87e7f82e - # make-4.2.1-2.fc26 - make: - rationale: Autogenerated by Base Runtime tools. - ref: 966e01fab75b418a684d097b0596ee7159c80739 - # memtest86+-5.01-16.fc26 - memtest86+: - rationale: Autogenerated by Base Runtime tools. - ref: dcb748b13e9e02d8c1be26274b138a6c56ce309b - # microdnf-2-2.fc26 - microdnf: - rationale: Autogenerated by Base Runtime tools. - ref: 13625aae6d2d565110ab614402424544b9905de0 - # mokutil-0.3.0-4.fc26 - mokutil: - rationale: Autogenerated by Base Runtime tools. - ref: 802dd0c3c70005a9e7832d7274e4c0df282f8bb0 - # mpfr-3.1.5-3.fc26 - mpfr: - rationale: Autogenerated by Base Runtime tools. - ref: dc787f1468a5903a751bbde73d6a7b1c4af008d6 - # mtools-4.0.18-11.fc26 - mtools: - rationale: Autogenerated by Base Runtime tools. - ref: 90349496f4f041ba4c1396479b921f994cac5164 - # ncurses-6.0-8.20170212.fc26 - ncurses: - rationale: Autogenerated by Base Runtime tools. - ref: 7750f0de472f697700b7e92e0a4b9cd68b85f42f - # nettle-3.3-2.fc26 - nettle: - rationale: Autogenerated by Base Runtime tools. - ref: c3f0481ad7c462e298c3f85fc692059275077806 - # nghttp2-1.21.1-1.fc26 - nghttp2: - rationale: Autogenerated by Base Runtime tools. - ref: bb1e82241f49d2573f95fe44c74bde6ce6721ae4 - # npth-1.3-2.fc26 - npth: - rationale: Autogenerated by Base Runtime tools. - ref: 2333696ca8fe50890aa1627319aef56c72205e79 - # nspr-4.14.0-2.fc26 - nspr: - rationale: Autogenerated by Base Runtime tools. - ref: b7b8b1387c1f0bd70eb17ab6d4349f55bc43dea5 - # nss-3.30.2-1.0.fc26 - nss: - rationale: Autogenerated by Base Runtime tools. - ref: 8a895b4021590b012f932e819932847a602c0923 - # nss-pem-1.0.3-3.fc26 - nss-pem: - rationale: Autogenerated by Base Runtime tools. - ref: 7d778d532a8711da5a5c3473c6b9bca516269007 - # nss-softokn-3.30.2-1.0.fc26 - nss-softokn: - rationale: Autogenerated by Base Runtime tools. - ref: 9ac2cf8e660d0bffaf8a7ac93faa75d7bd3ca8ba - # nss-util-3.30.2-1.0.fc26 - nss-util: - rationale: Autogenerated by Base Runtime tools. - ref: e1d76810773c1144e489f2ed464076b963a51a2f - # ocaml-srpm-macros-4-2.fc26 - ocaml-srpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: 21de03ba74f07120a082206a9bd2e77bc8863ccd - # openldap-2.4.44-10.fc26 - openldap: - rationale: Autogenerated by Base Runtime tools. - ref: af30ccf247c0814d1902d2f3ebd87b4f8f806efc - # openssl-1.1.0e-1.fc26 - openssl: - rationale: Autogenerated by Base Runtime tools. - ref: c676ac32d544254b1d40d8579de8d1fb33c18305 - # os-prober-1.74-1.fc26 - os-prober: - rationale: Autogenerated by Base Runtime tools. - ref: 4f972d5e7e48396df27114d5ecc6ac319fb3d88e - # p11-kit-0.23.5-1.fc26 - p11-kit: - rationale: Autogenerated by Base Runtime tools. - ref: 2bd6b57929716fc8d36383f7c9a6afef1b693e03 - # pam-1.3.0-2.fc26 - pam: - rationale: Autogenerated by Base Runtime tools. - ref: d6023f89c8072fef926c992b540db7f202e00f9f - # patch-2.7.5-4.fc26 - patch: - rationale: Autogenerated by Base Runtime tools. - ref: 4a664207f1325f1eefbb9f29f1160d85a1549827 - # pcre-8.40-7.fc26 - pcre: - rationale: Autogenerated by Base Runtime tools. - ref: a82fb773cc7257b952cb45add94a8d9091698873 - # perl-srpm-macros-1-21.fc26 - perl-srpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: 15a1edf29c159f252d7e3ef91c0b01c14ac47fbc - # pkgconf-1.3.6-1.fc26 - pkgconf: - rationale: Autogenerated by Base Runtime tools. - ref: 11de9e4874ece462059d6b1be5597c76a720f2b0 - # popt-1.16-8.fc26 - popt: - rationale: Autogenerated by Base Runtime tools. - ref: d9302725fdbde901827f2677d06765394ad5ad92 - # powerpc-utils-1.3.3-1.fc26 - powerpc-utils: - rationale: Autogenerated by Base Runtime tools. - ref: 69110066d7dfcca05db3ef30db98bd918f3b14a2 - # ppc64-utils-0.14-22.fc26 - ppc64-utils: - rationale: Autogenerated by Base Runtime tools. - ref: 46d3f9b89571ad915864a86ff96d48a47ec65e8c - # procps-ng-3.3.10-13.fc26 - procps-ng: - rationale: Autogenerated by Base Runtime tools. - ref: e54875d55a6b845a707004d29bffa11377321d15 - # pth-2.0.7-28.fc26 - pth: - rationale: Autogenerated by Base Runtime tools. - ref: 4a65b57e8c1352a94ccf369d365d4f375119ef51 - # publicsuffix-list-20170424-1.fc26 - publicsuffix-list: - rationale: Autogenerated by Base Runtime tools. - ref: 5f2e19d78452fc2adcdc7bc694e8e9b74495dd1f - # pyparsing-2.1.10-3.fc26 - pyparsing: - rationale: Autogenerated by Base Runtime tools. - ref: 5c83231e278a97a1cfca6bfddb36d2fffa221b8b - # python-appdirs-1.4.0-10.fc26 - python-appdirs: - rationale: Autogenerated by Base Runtime tools. - ref: 7bb99cfef2a51c7258e6ee1d122a77cf6939347a - # python-packaging-16.8-4.fc26 - python-packaging: - rationale: Autogenerated by Base Runtime tools. - ref: 2f8a444b2cb5d4e4a578d01acffc7ae1eeef8d0b - # python-pip-9.0.1-9.fc26 - python-pip: - rationale: Autogenerated by Base Runtime tools. - ref: d6fcf17a6e6686f638b77b1a485469a991ddbb57 - # python-rpm-macros-3-20.fc26 - python-rpm-macros: - rationale: Autogenerated by Base Runtime tools. - ref: f37b53c3973f842f60f3d423755c51d62b99390d - # python-setuptools-35.0.1-1.fc26 - python-setuptools: - rationale: Autogenerated by Base Runtime tools. - ref: c64e6d09b77e572e28683c6d2c43584141981714 - # python-six-1.10.0-8.fc26 - python-six: - rationale: Autogenerated by Base Runtime tools. - ref: d309bdfbb853cc7b2145903d1edcc86d8370981b - # python3-3.6.1-6.fc26 - python3: - rationale: Autogenerated by Base Runtime tools. - ref: 63656420a36841328aabcc11bee3306c0a4c372e - # qrencode-3.4.2-7.fc26 - qrencode: - rationale: Autogenerated by Base Runtime tools. - ref: b9d183a507f4985a4dffd5eaecab31a265d21828 - # qt5-5.8.0-2.fc26 - qt5: - rationale: Autogenerated by Base Runtime tools. - ref: 92761aa95897e47b97892c2efb2f6816b33f1bf4 - # readline-7.0-5.fc26 - readline: - rationale: Autogenerated by Base Runtime tools. - ref: af6675659ad82a7f43af4e35f400e4bbdbae6d49 - # redhat-rpm-config-63-1.fc26 - redhat-rpm-config: - rationale: Autogenerated by Base Runtime tools. - ref: 4914809dca206e1016d45a0c8a4b8424beb4ad80 - # rpm-4.13.0.1-4.fc26 - rpm: - rationale: Autogenerated by Base Runtime tools. - ref: b1ad85bc8cda6dc7d36058712f593f0600d5d13f - # sed-4.4-1.fc26 - sed: - rationale: Autogenerated by Base Runtime tools. - ref: 575a3ba668dd1ad996ca088e7efee9a522e94947 - # setup-2.10.5-2.fc26 - setup: - rationale: Autogenerated by Base Runtime tools. - ref: 338c72bc4e4fc6fa950f899bf4253b32de1dff60 - # sg3_utils-1.42-1.fc26 - sg3_utils: - rationale: Autogenerated by Base Runtime tools. - ref: 630e26d15c7b7c1c9b0ec50a764092c3551f1948 - # sgml-common-0.6.3-45.fc26 - sgml-common: - rationale: Autogenerated by Base Runtime tools. - ref: 81d7064b0e7da6e0e5593829ed72c9ce17108b7b - # shadow-utils-4.3.1-3.fc26 - shadow-utils: - rationale: Autogenerated by Base Runtime tools. - ref: ba9340caf5a3f86043659dd5dc83d9280cd38185 - # shim-signed-0.8-10.1.* - shim-signed: - rationale: Autogenerated by Base Runtime tools. - ref: bb890e80b23392d1ac40c5dbb3770acfa1ef5d6c - # sssd-1.15.2-3.fc26 - sssd: - rationale: Latest stable. Fix test failures. - ref: 90107469a76e6bb7247bfb29a40bade398dcf4bf - # sqlite-3.18.0-1.fc26 - sqlite: - rationale: Autogenerated by Base Runtime tools. - ref: 2beb9f1c3fd168b6421b300ff04a97d1b78362d7 - # syslinux-6.04-0.2.fc26 - syslinux: - rationale: Autogenerated by Base Runtime tools. - ref: f793e3a0a39cf86dd5fff0448010b978583e4de2 - # systemd-233-3.fc26 - systemd: - rationale: Autogenerated by Base Runtime tools. - ref: e47c648430180ca132ec753e535e1ec2c0bd3bff - # tar-1.29-4.fc26 - tar: - rationale: Autogenerated by Base Runtime tools. - ref: 353f951667464c0d8174edb4a6a13ed2aa1b9b46 - # texinfo-6.3-3.fc26 - texinfo: - rationale: Autogenerated by Base Runtime tools. - ref: 31373332adea8f4c4f13683538a6e81f64af222e - # tzdata-2017b-1.fc26 - tzdata: - rationale: Autogenerated by Base Runtime tools. - ref: 6089ddc1ae9cda8c2fbc1340cdd10a45502bf909 - # uboot-tools-2017.05-0.4.rc2.fc26 - uboot-tools: - rationale: Autogenerated by Base Runtime tools. - ref: e965f7ea51ec8bc1b2b4fdbad5374835361d31ab - # unzip-6.0-33.fc26 - unzip: - rationale: Autogenerated by Base Runtime tools. - ref: cd6cf59f9b2b795841815ad0b9dcda743aee83e7 - # ustr-1.0.4-22.fc26 - ustr: - rationale: Autogenerated by Base Runtime tools. - ref: 18c0ac45798d46e511baa373b01b718fb14afd3c - # util-linux-2.29.1-2.fc26 - util-linux: - rationale: Autogenerated by Base Runtime tools. - ref: 04f1d57f74fd4738d2c462a2302031bc92a186b9 - # which-2.21-2.fc26 - which: - rationale: Autogenerated by Base Runtime tools. - ref: dc514d1e2ee14fa06ec5a185a96264d01e5b8def - # xz-5.2.3-2.fc26 - xz: - rationale: Autogenerated by Base Runtime tools. - ref: c27811574cdf7de35217ea27b8add4c0130de53e - # zip-3.0-18.fc26 - zip: - rationale: Autogenerated by Base Runtime tools. - ref: 11ae231a18e54790f3f41ead4efaa56dfd9fb2f1 - # zlib-1.2.11-2.fc26 - zlib: - rationale: Autogenerated by Base Runtime tools. - ref: 9f014e30021753dbf9ee115487fcfa9d3f0fbc0a diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..cfb6fca --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Unsupported diff --git a/jargon.txt b/jargon.txt deleted file mode 100644 index ee031b7..0000000 --- a/jargon.txt +++ /dev/null @@ -1,4 +0,0 @@ -Autogenerated -enablement -Modularity -Runtime diff --git a/sources b/sources deleted file mode 100644 index e69de29..0000000 --- a/sources +++ /dev/null diff --git a/tests/Makefile b/tests/Makefile deleted file mode 100644 index 4077a68..0000000 --- a/tests/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -MODULE_LINT=/usr/share/moduleframework/tools/modulelint/*.py -CMD=MODULE=nspawn python -m avocado run smoke.py $(MODULE_LINT) - -check: - $(CMD) - -all: check diff --git a/tests/brtconfig.py b/tests/brtconfig.py deleted file mode 100644 index f6352ff..0000000 --- a/tests/brtconfig.py +++ /dev/null @@ -1,102 +0,0 @@ -""" -get configuration parameters for base runtime smoke testing -""" - -import os -import logging -from moduleframework import module_framework - - -def get_mockcfg(self): - """ - Get the path to the base runtime mock configuration file - - This is provided by the avocado 'mockcfg' parameter if supplied, - otherwise it is set to "resources/base-runtime-mock.cfg" relative to - the test script directory. - """ - - script_dir = os.path.abspath(os.path.dirname(__file__)) - self.log.info("running script from directory: %s" % script_dir) - - mockcfg = self.params.get('mockcfg', default=os.path.join( - script_dir, "resources", "base-runtime-mock.cfg")) - mockcfg = str(mockcfg) - - if not mockcfg.endswith(".cfg"): - self.error("mock configuration file %s must have the extension '.cfg'" % - mockcfg) - - if not os.path.isfile(mockcfg): - self.error("mock configuration file %s does not exist" % - mockcfg) - - self.log.info("mock configuration file: %s" % mockcfg) - - return mockcfg - - -def get_compiler_test_dir(self): - """ - Get the path to the base runtime compiler test resource directory - - This is provided by the avocado 'compiler-test-dir' parameter if supplied, - otherwise it is set to "resources/hello-world" relative to - the test script directory. - """ - - script_dir = os.path.abspath(os.path.dirname(__file__)) - self.log.info("running script from directory: %s" % script_dir) - - compdir = self.params.get( - 'compiler-test-dir', default=os.path.join(script_dir, "resources", "hello-world")) - compdir = str(compdir) - - if not os.path.isdir(compdir): - self.error("Compiler test resource directory %s does not exist" % compdir) - - self.log.info("Compiler test resource directory: %s" % compdir) - - return compdir - - -def get_docker_image_name(self): - """ - Get the name to use for the base runtime docker image - """ - - container_helper = module_framework.ContainerHelper() - #It tries to get the name from URL env variable - #If URL is not defined it tries to get the name from config.yaml - image_name = container_helper.getDockerInstanceName() - if not image_name: - self.error("Could not find docker image name to use") - - self.log.info("base runtime image name: %s" % image_name) - - return image_name - -def get_docker_labels(self): - """ - From config file get the labels that should be added to the image - """ - - config = module_framework.get_config() - if not config: - self.error("Could not get config file") - if 'module' not in config.keys(): - self.error("Config file does not have module section") - if 'docker' not in config['module'].keys(): - self.error("Config file does not have docker module section") - - docker_cfg = config['module']['docker'] - if 'labels' not in docker_cfg.keys(): - return None - return docker_cfg['labels'] - -def get_test_profile(self): - """ - From config file get the labels that should be added to the image - """ - - return "container" diff --git a/tests/cleanup.py b/tests/cleanup.py deleted file mode 100644 index 098737b..0000000 --- a/tests/cleanup.py +++ /dev/null @@ -1,75 +0,0 @@ -""" -cleanup docker container/images and mock root for smoke testing -""" - -import logging -import subprocess -import re - - -log = logging.getLogger('avocado.test') - -def cleanup_docker_and_mock(mockcfg, img_name): - - # Clean-up old test artifacts (docker containers, image, mock root) - - docker_containerlist_cmdline = 'docker ps --filter=ancestor=%s -a -q' % img_name - try: - containerlist = subprocess.check_output(docker_containerlist_cmdline, - stderr = subprocess.STDOUT, shell = True) - except subprocess.CalledProcessError as e: - log.error("command '%s' returned exit status %d; output:\n%s" % - (e.cmd, e.returncode, e.output)) - raise - else: - log.info("docker container list with '%s' succeeded with output:\n%s" % - (docker_containerlist_cmdline, containerlist)) - - if containerlist: - containers = re.sub('[\r\n]+', ' ', containerlist) - log.info("docker containers using image %s need to be removed: %s\n" % - (img_name, containers)); - docker_teardown_cmdline = 'docker rm -f %s' % containers - try: - docker_teardown_output = subprocess.check_output(docker_teardown_cmdline, - stderr = subprocess.STDOUT, shell = True) - except subprocess.CalledProcessError as e: - log.error("command '%s' returned exit status %d; output:\n%s" % - (e.cmd, e.returncode, e.output)) - raise - else: - log.info("docker container teardown with '%s' succeeded with output:\n%s" % - (docker_teardown_cmdline, docker_teardown_output)) - else: - log.info("no docker containers are using image %s\n" % img_name) - - docker_teardown_cmdline = 'docker rmi %s' % img_name - try: - docker_teardown_output = subprocess.check_output(docker_teardown_cmdline, - stderr = subprocess.STDOUT, shell = True) - except subprocess.CalledProcessError as e: - if "No such image" not in e.output: - log.error("command '%s' returned exit status %d; output:\n%s" % - (e.cmd, e.returncode, e.output)) - raise - else: - log.info("No existing docker image named %s" % img_name) - else: - log.info("docker teardown with '%s' succeeded with output:\n%s" % - (docker_teardown_cmdline, docker_teardown_output)) - - mock_teardown_cmdline = ['mock', '-r', mockcfg, '--scrub=all'] - try: - mock_teardown_output = subprocess.check_output(mock_teardown_cmdline, - stderr = subprocess.STDOUT) - except subprocess.CalledProcessError as e: - log.error("command '%s' returned exit status %d; output:\n%s" % - (e.cmd, e.returncode, e.output)) - raise - log.info("mock teardown with '%s' succeeded with output:\n%s" % - (mock_teardown_cmdline, mock_teardown_output)) - - - - - diff --git a/tests/config.yaml b/tests/config.yaml deleted file mode 100644 index 445d5c4..0000000 --- a/tests/config.yaml +++ /dev/null @@ -1,37 +0,0 @@ -document: modularity-testing -version: 1 -name: baseruntime -modulemd-url: http://pkgs.fedoraproject.org/cgit/modules/base-runtime.git/plain/base-runtime.yaml -service: - port: -packages: - profiles: - - container - rpms: -default_module: docker -module: - docker: - setup: docker inspect base-runtime-smoke || python ./setup.py - start: - labels: - #Short-term solution as there is no bugzilla component yet - com.redhat.component: "https://github.com/fedora-modularity/base-runtime" - name: "base-runtime" - version: "0" - release: "1" - architecture: "x86_64" - usage: "docker run --rm -it base-runtime/base-runtime bash" - summary: "Minimal application runtime environment other modules can build upon." - url: "https://github.com/fedora-modularity/base-runtime" - FGC: "f26-boltron" - source: http://pkgs.fedoraproject.org/cgit/modules/base-runtime.git - container: docker=base-runtime-smoke - rpm: - setup: echo LANG=C.utf8 > {ROOT}/etc/locale.conf - start: - stop: - status: - repo: https://kojipkgs.fedoraproject.org/compose/latest-Fedora-Modular-26/compose/Server/x86_64/os/ -test: - processrunnig: - - 'ls / | grep bin' diff --git a/tests/resources/base-runtime-mock.cfg b/tests/resources/base-runtime-mock.cfg deleted file mode 100644 index 9512f53..0000000 --- a/tests/resources/base-runtime-mock.cfg +++ /dev/null @@ -1,36 +0,0 @@ - -config_opts['root'] = 'base-runtime-docker' -config_opts['target_arch'] = 'x86_64' -config_opts['legal_host_arches'] = ('x86_64',) -config_opts['chroot_setup_cmd'] = 'install --setopt=tsflags=nodocs bash coreutils-single filesystem glibc-minimal-langpack libcrypt microdnf rpm shadow-utils sssd-client util-linux' -config_opts['dist'] = '' -config_opts['extra_chroot_dirs'] = [ '/run/lock', ] -config_opts['releasever'] = '' -config_opts['package_manager'] = 'dnf' -config_opts['use_bootstrap_container'] = False - -config_opts['yum.conf'] = """ -[main] -keepcache=1 -debuglevel=2 -reposdir=/dev/null -logfile=/var/log/yum.log -retries=20 -obsoletes=1 -gpgcheck=0 -assumeyes=1 -syslog_ident=mock -syslog_device= -install_weak_deps=0 -metadata_expire=3600 -mdpolicy=group:primary - -# repos - -[buildrepo] -name=base-runtime -baseurl=https://kojipkgs.fedoraproject.org/compose/latest-Fedora-Modular-26/compose/Server/x86_64/os/ -enabled=1 -gpgcheck=0 - -""" diff --git a/tests/resources/hello-world/Makefile b/tests/resources/hello-world/Makefile deleted file mode 100644 index 71a429e..0000000 --- a/tests/resources/hello-world/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -default: hello - -hello: hello.c - gcc -Wall hello.c -o hello diff --git a/tests/resources/hello-world/README.md b/tests/resources/hello-world/README.md deleted file mode 100644 index 8b81058..0000000 --- a/tests/resources/hello-world/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# compiler sanity smoke test for the Base Runtime docker image - -The internal workings of this test are as follows: - -1. Create a temporary directory. -2. Copy the `hello.sh` script from this resource directory into the temporary directory and make sure it is executable. -3. Place a gzipped tarball of `hello.c` and `Makefile` from this resource directory into the temporary directory with the name `hello.tgz`. - e.g., - `$ tar czf /tmp/random/hello.tgz hello.c Makefile` -4. Run the docker container binding the temporary directory as `/mnt` and run `/mnt/hello.sh`. - e.g., - `$ docker run -v /tmp/random:/mnt:z --rm base-runtime /bin/bash -c /mnt/hello.sh` -5. Clean up the temporary directory upon completion. - - diff --git a/tests/resources/hello-world/hello.c b/tests/resources/hello-world/hello.c deleted file mode 100644 index 020484e..0000000 --- a/tests/resources/hello-world/hello.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int -main (void) -{ - printf ("Hello, world!\n"); - return 0; -} diff --git a/tests/resources/hello-world/hello.sh b/tests/resources/hello-world/hello.sh deleted file mode 100755 index b75b9f9..0000000 --- a/tests/resources/hello-world/hello.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -e # exit immediately on any failure -microdnf install tar make gcc 1>&2 -cd /mnt -tar xzvf hello.tgz 1>&2 -make 1>&2 -./hello diff --git a/tests/resources/installed_packages/all_installed_pkgs_docker.txt b/tests/resources/installed_packages/all_installed_pkgs_docker.txt deleted file mode 100644 index ed4a718..0000000 --- a/tests/resources/installed_packages/all_installed_pkgs_docker.txt +++ /dev/null @@ -1,115 +0,0 @@ -audit-libs -basesystem -bash -bzip2-libs -ca-certificates -chkconfig -coreutils-single -cracklib -crypto-policies -curl -cyrus-sasl-lib -elfutils-libelf -expat -fedora-modular-release -fedora-modular-repos -filesystem -gawk -glib2 -glibc -glibc-common -glibc-minimal-langpack -gmp -gnupg2 -gnutls -gobject-introspection -gpgme -grep -gzip -info -keyutils-libs -krb5-libs -libacl -libarchive -libassuan -libattr -libblkid -libcap -libcap-ng -libcom_err -libcrypt -libcurl -libdb -libdb-utils -libdnf -libfdisk -libffi -libgcc -libgcrypt -libgpg-error -libidn2 -libksba -libmetalink -libmount -libnghttp2 -libpeas -libpsl -libpwquality -librepo -libselinux -libsemanage -libsepol -libsigsegv -libsmartcols -libsolv -libssh2 -libsss_idmap -libsss_nss_idmap -libtasn1 -libunistring -libutempter -libuuid -libverto -libxml2 -lua-libs -lz4 -lz4-libs -lzo -microdnf -mpfr -ncurses -ncurses-base -ncurses-libs -nettle -npth -nspr -nss -nss-pem -nss-softokn -nss-softokn-freebl -nss-sysinit -nss-tools -nss-util -openldap -openssl-libs -p11-kit -p11-kit-trust -pam -pcre -popt -publicsuffix-list-dafsa -readline -rpm -rpm-libs -rpm-plugin-selinux -sed -setup -shadow-utils -sqlite-libs -sssd-client -systemd-libs -tzdata -ustr -util-linux -xz-libs -zlib diff --git a/tests/resources/installed_packages/all_installed_pkgs_nspawn.txt b/tests/resources/installed_packages/all_installed_pkgs_nspawn.txt deleted file mode 100644 index 286f528..0000000 --- a/tests/resources/installed_packages/all_installed_pkgs_nspawn.txt +++ /dev/null @@ -1,150 +0,0 @@ -acl -audit-libs -basesystem -bash -binutils -bzip2-libs -ca-certificates -chkconfig -coreutils-single -cpp -cracklib -cracklib-dicts -crypto-policies -cryptsetup-libs -curl -cyrus-sasl-lib -dbus -dbus-libs -device-mapper -device-mapper-libs -diffutils -elfutils-default-yama-scope -elfutils-libelf -elfutils-libs -emacs-filesystem -expat -fedora-modular-release -fedora-modular-repos -filesystem -gawk -gc -gcc -glib2 -glibc -glibc-common -glibc-devel -glibc-headers -glibc-minimal-langpack -gmp -gnupg2 -gnutls -gobject-introspection -gpgme -grep -guile -gzip -info -iptables-libs -isl -kernel-headers -keyutils-libs -kmod-libs -krb5-libs -libacl -libarchive -libassuan -libatomic_ops -libattr -libblkid -libcap -libcap-ng -libcom_err -libcrypt -libcurl -libdb -libdb-utils -libdnf -libfdisk -libffi -libgcc -libgcrypt -libgomp -libgpg-error -libidn -libidn2 -libksba -libmetalink -libmount -libmpc -libnghttp2 -libsss_idmap -libsss_nss_idmap -libpcap -libpeas -libpsl -libpwquality -librepo -libseccomp -libselinux -libsemanage -libsepol -libsigsegv -libsmartcols -libsolv -libssh2 -libstdc++ -libtasn1 -libtool-ltdl -libunistring -libutempter -libuuid -libverto -libxml2 -lua-libs -lz4 -lz4-libs -lzo -make -microdnf -mpfr -ncurses -ncurses-base -ncurses-libs -nettle -npth -nspr -nss -nss-pem -nss-softokn -nss-softokn-freebl -nss-sysinit -nss-tools -nss-util -openldap -openssl-libs -p11-kit -p11-kit-trust -pam -pcre -popt -publicsuffix-list-dafsa -qrencode-libs -readline -rpm -rpm-libs -rpm-plugin-selinux -sed -setup -shadow-utils -sqlite-libs -sssd-client -systemd -systemd-libs -systemd-pam -tar -tzdata -ustr -util-linux -xz-libs -zlib diff --git a/tests/resources/os_release/os_release.sh b/tests/resources/os_release/os_release.sh deleted file mode 100755 index 39a009a..0000000 --- a/tests/resources/os_release/os_release.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash -set -e # exit immediately on any failure - -. /etc/os-release - -EXP_NAME="Fedora Modular" -EXP_VERSION="26 (Twenty Six)" -EXP_ID="fedora-modular" -EXP_ID_LIKE="fedora" -EXP_VERSION_ID="26" -EXP_PRETTY_NAME="Fedora Modular 26 (Twenty Six)" -EXP_ANSI_COLOR="0;34" -EXP_CPE_NAME="cpe:/o:fedoraproject:fedora-modular:26" -EXP_HOME_URL="https://fedoraproject.org/" -EXP_BUG_REPORT_URL="https://bugzilla.redhat.com/" -EXP_REDHAT_BUGZILLA_PRODUCT="Fedora" -EXP_REDHAT_BUGZILLA_PRODUCT_VERSION="26" -EXP_REDHAT_SUPPORT_PRODUCT="Fedora" -EXP_REDHAT_SUPPORT_PRODUCT_VERSION="26" -EXP_PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" - -if [[ $NAME != $EXP_NAME ]]; then - echo "FAIL: Expected NAME to be '$EXP_NAME', but it is '$NAME'" - exit 1 -fi - -if [[ $VERSION != $EXP_VERSION ]]; then - echo "FAIL: Expected VERSION to be '$EXP_VERSION', but it is '$VERSION'" - exit 1 -fi - -if [[ $ID != $EXP_ID ]]; then - echo "FAIL: Expected ID to be '$EXP_ID', but it is '$ID'" - exit 1 -fi - -if [[ $ID_LIKE != $EXP_ID_LIKE ]]; then - echo "FAIL: Expected ID_LIKE to be '$EXP_ID_LIKE', but it is '$ID_LIKE'" - exit 1 -fi - -if [[ $VERSION_ID != $EXP_VERSION_ID ]]; then - echo "FAIL: Expected VERSION_ID to be '$EXP_VERSION_ID', but it is '$VERSION_ID'" - exit 1 -fi - -if [[ $PRETTY_NAME != $EXP_PRETTY_NAME ]]; then - echo "FAIL: Expected PRETTY_NAME to be '$EXP_PRETTY_NAME', but it is '$PRETTY_NAME'" - exit 1 -fi - -if [[ $ANSI_COLOR != $EXP_ANSI_COLOR ]]; then - echo "FAIL: Expected ANSI_COLOR to be '$EXP_ANSI_COLOR', but it is '$ANSI_COLOR'" - exit 1 -fi - -if [[ $CPE_NAME != $EXP_CPE_NAME ]]; then - echo "FAIL: Expected CPE_NAME to be '$EXP_CPE_NAME', but it is '$CPE_NAME'" - exit 1 -fi - -if [[ $HOME_URL != $EXP_HOME_URL ]]; then - echo "FAIL: Expected HOME_URL to be '$EXP_HOME_URL', but it is '$HOME_URL'" - exit 1 -fi - -if [[ $BUG_REPORT_URL != $EXP_BUG_REPORT_URL ]]; then - echo "FAIL: Expected BUG_REPORT_URL to be '$EXP_BUG_REPORT_URL', but it is '$BUG_REPORT_URL'" - exit 1 -fi - -if [[ $REDHAT_BUGZILLA_PRODUCT != $EXP_REDHAT_BUGZILLA_PRODUCT ]]; then - echo "FAIL: Expected REDHAT_BUGZILLA_PRODUCT to be '$EXP_REDHAT_BUGZILLA_PRODUCT', but it is '$REDHAT_BUGZILLA_PRODUCT'" - exit 1 -fi - -if [[ $REDHAT_BUGZILLA_PRODUCT_VERSION != $EXP_REDHAT_BUGZILLA_PRODUCT_VERSION ]]; then - echo "FAIL: Expected REDHAT_BUGZILLA_PRODUCT_VERSION to be '$EXP_REDHAT_BUGZILLA_PRODUCT_VERSION', but it is '$REDHAT_BUGZILLA_PRODUCT_VERSION'" - exit 1 -fi - -if [[ $REDHAT_SUPPORT_PRODUCT != $EXP_REDHAT_SUPPORT_PRODUCT ]]; then - echo "FAIL: Expected REDHAT_SUPPORT_PRODUCT to be '$EXP_REDHAT_SUPPORT_PRODUCT', but it is '$REDHAT_SUPPORT_PRODUCT'" - exit 1 -fi - -if [[ $REDHAT_SUPPORT_PRODUCT_VERSION != $EXP_REDHAT_SUPPORT_PRODUCT_VERSION ]]; then - echo "FAIL: Expected REDHAT_SUPPORT_PRODUCT_VERSION to be '$EXP_REDHAT_SUPPORT_PRODUCT_VERSION', but it is '$REDHAT_SUPPORT_PRODUCT_VERSION'" - exit 1 -fi - -if [[ $PRIVACY_POLICY_URL != $EXP_PRIVACY_POLICY_URL ]]; then - echo "FAIL: Expected PRIVACY_POLICY_URL to be '$EXP_PRIVACY_POLICY_URL', but it is '$PRIVACY_POLICY_URL'" - exit 1 -fi - diff --git a/tests/setup.py b/tests/setup.py deleted file mode 100755 index d7b1acf..0000000 --- a/tests/setup.py +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env python - -import os -import subprocess -import re -import sys -import configparser -import tempfile - -from avocado import main -from avocado import Test -from moduleframework import module_framework - -import cleanup -import brtconfig - - -class BaseRuntimeSetupDocker(Test, module_framework.CommonFunctions): - - def setUp(self): - - self.mockcfg = brtconfig.get_mockcfg(self) - self.br_image_name = brtconfig.get_docker_image_name(self) - - def _process_mockcfg(self): - - profile_name = brtconfig.get_test_profile(self) - mockcfg = self.mockcfg - - mock_root = '' - mockcfg_lines = [] - #Regex to get packages that are configured on mockcfg to be installed - chroot_setup_pkg_regex = re.compile("config_opts\s*\[\s*'chroot_setup_cmd'\s*\]\s*=" - "\s*'install --setopt=tsflags=nodocs\s*(.*)\s*'") - chroot_setup_pkgs = None - with open(mockcfg, 'r') as mock_cfgfile: - found_setup_cmd = False - for line in mock_cfgfile: - mockcfg_lines.append(line) - if re.match("config_opts\s*\[\s*'root'\s*\]", line) is not None: - mock_root = line.split('=')[1].split("'")[1] - if re.match("config_opts\s*\[\s*'chroot_setup_cmd'\s*\]", line) is not None: - found_setup_cmd = True - #Check if there are packages defined on chroot_setup_cmd - m = chroot_setup_pkg_regex.match(line) - if m: - chroot_setup_pkgs = sorted(m.group(1).split()) - if len(mock_root) == 0: - self.error("mock configuration file %s does not specify mock root" % - mockcfg) - self.log.info("mock root: %s" % mock_root) - self.mock_root = mock_root - - if not found_setup_cmd: - self.error("mock configuration file %s does not define chroot_setup_cmd" % mockcfg) - - #Need to get all packages that need to be installed - mod_yaml = self.getModulemdYamlconfig() - if not mod_yaml: - self.error("Could not read modulemd Yaml file") - - if "data" not in mod_yaml.keys(): - self.error("'data' key was not found in modulemd Yaml file") - - if "profiles" not in mod_yaml["data"].keys(): - self.error("'profiles' key was not found in 'data' section") - - if profile_name not in mod_yaml["data"]["profiles"].keys(): - self.error("'%s' key was not found in 'profiles' section" % profile_name) - - base_profile = mod_yaml["data"]["profiles"][profile_name] - if "rpms" not in base_profile.keys(): - self.error("'rpms' key was not found in '%s' profile" % profile_name) - - req_pkgs = base_profile["rpms"] - if not req_pkgs: - self.error("Could not find any package to be installed in the image") - - #Only update mockcfg if the list of packages changed - if cmp(chroot_setup_pkgs, sorted(req_pkgs)): - #Need to change chroot_setup_cmd line on mockcfg file - setup_cmd = "install --setopt=tsflags=nodocs " - setup_cmd += " ".join(req_pkgs) - with open(mockcfg, 'w') as mock_cfgfile: - for line in mockcfg_lines: - if re.match("config_opts\s*\[\s*'chroot_setup_cmd'\s*\]", line) is not None: - line = "config_opts['chroot_setup_cmd'] = '%s'\n" % setup_cmd - mock_cfgfile.write(line) - - #Test will exit with WARN to inform the config file has changed - self.log.warning("List of packages to be installed by mock changed") - - def _run_command(self, cmd): - try: - cmd_output = subprocess.check_output( - cmd, stderr=subprocess.STDOUT, shell=True) - except subprocess.CalledProcessError as e: - self.error("command '%s' returned exit status %d; output:\n%s" % - (e.cmd, e.returncode, e.output)) - else: - self.log.info("command '%s' succeeded with output:\n%s" % - (cmd, cmd_output)) - - def _set_dnf_conf(self): - filename = "/etc/dnf/dnf.conf" - path = "/var/lib/mock/" + self.mock_root + "/root" + filename - - conf = "EOF\n" - conf += "[main]\n" - conf += "gpgcheck=1\n" - conf += "installonly_limit=3\n" - conf += "clean_requirements_on_remove=True\n" - conf += "EOF\n" - - cmd = "sudo tee %s << %s" % (path, conf) - self._run_command(cmd) - - - def testCreateDockerImage(self): - - self._process_mockcfg() - - # Clean-up any old test artifacts (docker containers, image, mock root) - # first: - try: - cleanup.cleanup_docker_and_mock(self.mockcfg, self.br_image_name) - except: - self.error("artifact cleanup failed") - else: - self.log.info("artifact cleanup successful") - - # Initialize chroot with mock - self._run_command('mock -r %s --init' % self.mockcfg) - - self._set_dnf_conf() - - # check if "sudo" allows us to tar up the chroot without a password - # Note: this must be configured in "sudoers" to work! - tar_cmd = "tar -C /var/lib/mock/%s/root -c ." % self.mock_root - try: - cmd_output = subprocess.check_output( - "sudo -n %s >/dev/null" % tar_cmd, - stderr=subprocess.STDOUT, shell=True) - except subprocess.CalledProcessError as e: - # no luck using "sudo", warn and proceed as ordinary user without - # it - self.log.info("command '%s' returned exit status %d; output:\n%s" % - (e.cmd, e.returncode, e.output)) - self.log.warning("NO SUDO RIGHTS TO RUN COMMAND '%s' AS ROOT" % - tar_cmd) - self.log.warning("GENERATED DOCKER IMAGE '%s' MAY BE INCOMPLETE!" % - self.br_image_name) - else: - # "sudo" works, so use it - tar_cmd = "sudo -n " + tar_cmd - - img_scratch = "%s-scratch" % self.br_image_name - # Import mock chroot as a docker image - self._run_command("%s | docker import - %s" % - (tar_cmd, img_scratch)) - - docker_labels = brtconfig.get_docker_labels(self) - #Dockerfile to use when building final image - dockerfile = 'EOF\n' - dockerfile += 'FROM %s\n' % img_scratch - #Set default locale to C.utf8 - dockerfile += 'ENV LANG C.utf8\n' - if docker_labels: - for key in docker_labels.keys(): - dockerfile += 'LABEL %s="%s"\n' % (key, docker_labels[key]) - dockerfile += 'EOF\n' - - # Build final image with extra information from dockerfile - self._run_command("docker build -t %s - << %s" % - (self.br_image_name, dockerfile)) - #Remove temporary image - self._run_command("docker rmi %s" % img_scratch) - -if __name__ == "__main__": - main() diff --git a/tests/smoke.py b/tests/smoke.py deleted file mode 100644 index cdd6ce2..0000000 --- a/tests/smoke.py +++ /dev/null @@ -1,468 +0,0 @@ -#!/usr/bin/env python - -import os -import subprocess -import re -import shutil -import stat -import tarfile -import tempfile - -from avocado import main -from moduleframework import module_framework - -import brtconfig - - -class BaseRuntimeSmokeTest(module_framework.AvocadoTest): - """ - :avocado: enable - """ - - def setUp(self): - super(self.__class__, self).setUp() - self.compiler_resource_dir = brtconfig.get_compiler_test_dir(self) - self.compiler_test_dir = None - - def _check_cmd_result(self, cmd, return_code, cmd_output, expect_pass=True): - """ - Check based on return code if command passed or failed as expected - """ - if return_code == 0 and expect_pass: - self.log.info("command '%s' succeeded with output:\n%s" % - (cmd, cmd_output)) - return True - elif return_code != 0 and not expect_pass: - self.log.info("command '%s' failed as expected with output:\n%s" % - (cmd, cmd_output)) - return True - self.error("command '%s' returned unexpected exit status %d; output:\n%s" % - (cmd, return_code, cmd_output)) - return False - - def testSmoke(self): - """ - Run several smoke tests - """ - - # TODO: fill this "placeholder" with actual, complete, smoke tests: - - smoke_pass = [ - "echo 'Hello, World!'", - "cat /etc/redhat-release", - "rpm -q glibc"] - - smoke_fail = [ - "exit 1"] - - for cmd in smoke_pass: - cmd_result = self.run("%s" % cmd, ignore_status=True) - cmd_output = cmd_result.stdout + cmd_result.stderr - self._check_cmd_result(cmd, cmd_result.exit_status, cmd_output) - - for cmd in smoke_fail: - cmd_result = self.run("%s" % cmd, ignore_status=True) - cmd_output = cmd_result.stdout + cmd_result.stderr - self._check_cmd_result(cmd, cmd_result.exit_status, cmd_output, expect_pass=False) - - - def _get_all_installed_pkgs(self): - try: - cmd_result = self.run("rpm -qa --qf='%{{name}}\n'") - except BaseException as details: - self.error("Could not get all installed packages (%s)" % details) - except: - self.error("Could not get all installed packages") - output_list = cmd_result.stdout.split("\n") - #remove empty string from the list - return [item for item in output_list if item] - - def testRequiredPackages(self): - """ - Check if all required packages defined on yaml file are installed - """ - - profile_name = brtconfig.get_test_profile(self) - mod_yaml = self.getModulemdYamlconfig() - if not mod_yaml: - self.error("Could not read modulemd Yaml file") - - if "data" not in mod_yaml.keys(): - self.error("'data' key was not found in modulemd Yaml file") - - if "profiles" not in mod_yaml["data"].keys(): - self.error("'profiles' key was not found in 'data' section") - - if profile_name not in mod_yaml["data"]["profiles"].keys(): - self.error("'%s' key was not found in 'profiles' section" % profile_name) - - base_profile = mod_yaml["data"]["profiles"][profile_name] - if "rpms" not in base_profile.keys(): - self.error("'rpms' key was not found in '%s' profile" % profile_name) - - req_pkgs = base_profile["rpms"] - if not req_pkgs: - self.error("No rpm is defined for container") - - installed_pkgs = self._get_all_installed_pkgs() - - for req_pkg in req_pkgs: - if req_pkg not in installed_pkgs: - self.error("Required package '%s' is not installed" % req_pkg) - - def testInstalledPackages(self): - """ - Check if only the expected packages are installed on module - """ - - expected_pkgs = None - - if not self.moduleType: - self.error("moduleType is not defined") - - all_installed_pkgs_path = ("resources/installed_packages/all_installed_pkgs_%s.txt" - % self.moduleType) - try: - with open(all_installed_pkgs_path) as f: - expected_pkgs = f.read().splitlines() - except: - self.error("Could not read the expected installed packages list") - - if not expected_pkgs: - self.error("List of expected installed packages is empty") - - installed_pkgs = self._get_all_installed_pkgs() - if not installed_pkgs: - self.error("It seems there is no package installed in the module") - - for pkg in installed_pkgs: - if pkg not in expected_pkgs: - self.error("Did not expect to have package '%s' installed" % pkg) - - def testInstallAllPackages(self): - """ - Check if all packages that we ship are able to be installed on module - """ - - profile_name = brtconfig.get_test_profile(self) - mod_yaml = self.getModulemdYamlconfig() - if not mod_yaml: - self.error("Could not read modulemd Yaml file") - - if "data" not in mod_yaml.keys(): - self.error("'data' key was not found in modulemd Yaml file") - - if "api" not in mod_yaml["data"].keys(): - self.error("'api' key was not found in 'data' section") - - if "rpms" not in mod_yaml["data"]["api"].keys(): - self.error("'rpms' key was not found in 'api'") - - all_api_pkgs = mod_yaml["data"]["api"]["rpms"] - - repo_path = None - mod_dep = self.getModuleDependencies() - mod_name = "baseruntime" - if mod_dep and mod_name in mod_dep.keys(): - if "urls" in mod_dep[mod_name].keys(): - if len(mod_dep[mod_name]["urls"]) != 1: - self.error("Expected exactly 1 repo url for %s" % mod_name) - repo_path = mod_dep[mod_name]["urls"][0] - - - # docker uses the repo defined on mock cfg - if self.moduleType == "docker": - mockcfg = "" - with open(brtconfig.get_mockcfg(self)) as f: - mockcfg = f.read() - for line in mockcfg.split("\n"): - m = re.match("baseurl=(\S+)", line) - if m: - repo_path = m.group(1) - - if not repo_path: - self.error("Could not find repo to query the packages") - - #Query all available packages in our repo - query_repo_cmd = "repoquery -a --qf '%%{{name}}' --repofrompath=0,%s --repoid=0" % repo_path - all_repo_pkgs = self.runHost(query_repo_cmd).stdout.split("\n") - - all_avail_pkgs = [] - #Available packages are the ones from API that are available on repo - for pkg in all_api_pkgs: - if pkg in all_repo_pkgs: - all_avail_pkgs.append(pkg) - - skip_pkg_image = {} - skip_pkg_image["docker"] = ["kernel", "dracut"] - skip_pkg_image["nspawn"] = ["kernel", "dracut"] - conflict_pkgs = { - "coreutils" : "coreutils-single", - "libcrypt-nss" : "libcrypt" - } - - #Try to install packages that have conflicting packages installed - for pkg in conflict_pkgs.keys(): - self.run("microdnf remove %s" % conflict_pkgs[pkg]) - self.run("rpm -q %s" % pkg) - self.run("microdnf remove %s" % pkg) - self.run("rpm -q %s" % conflict_pkgs[pkg]) - - pkgs_2_install = [] - for pkg in all_avail_pkgs: - if pkg in conflict_pkgs.keys(): - continue - #Do not install packages such as dracut* on docker. - skip = False - for skip_pkg in skip_pkg_image[self.moduleType]: - if pkg.startswith(skip_pkg): - skip = True - if not skip: - pkgs_2_install.append(pkg) - self.run("microdnf install %s > /dev/null" % " ".join(pkgs_2_install)) - - - def testUserManipulation(self): - """ - Check if can add, remove and modify user - """ - - #We want to run multiple commands using same docker container - new_user = "usertest" - pass_cmds = [] - #Create new user - pass_cmds.append("adduser %s" % new_user) - #Make sure user is created - pass_cmds.append("cat /etc/passwd | grep %s" % new_user) - pass_cmds.append("ls /home/%s" % new_user) - #set user password - pass_cmds.append("usermod --password testpassword %s" % new_user) - #Test new user functionality - pass_cmds.append('su - %s -c "touch ~/testfile.txt"' % new_user) - #Make sure the file was created by the correct user - pass_cmds.append("ls -allh /home/%s/testfile.txt | grep '%s %s'" % - (new_user, new_user, new_user)) - #Remove user - pass_cmds.append("userdel -r %s" % new_user) - for cmd in pass_cmds: - cmd_result = self.run("%s" % cmd, ignore_status=True) - cmd_output = cmd_result.stdout + cmd_result.stderr - self._check_cmd_result(cmd, cmd_result.exit_status, cmd_output) - - fail_cmds = [] - #Make sure user is removed - fail_cmds.append("ls /home/%s" % new_user) - fail_cmds.append("cat /etc/passwd | grep usertest") - #relying on __del__ from BaseRuntimeRunCmd to remove container - for cmd in fail_cmds: - cmd_result = self.run("%s" % cmd, ignore_status=True) - cmd_output = cmd_result.stdout + cmd_result.stderr - self._check_cmd_result(cmd, cmd_result.exit_status, cmd_output, expect_pass=False) - - def testOsRelease(self): - """ - Check if OS release information is correct - """ - - test_path = "resources/os_release/os_release.sh" - dest_path = "/tmp/os_release.sh" - try: - self.copyTo(test_path, dest_path) - except: - self.error("Could not copy test file from %s to module %s" % - (test_path, dest_path)) - - try: - self.run(dest_path) - except: - self.error("%s failed" % dest_path) - - try: - self.run("rm -f %s" % dest_path) - except: - self.error("Could not delete %s" % dest_path) - - def test_glibc_i18n(self): - """ - Test glibc support to internationalization - """ - - lang_default = { - #cmd : cmd_output - "ls /invalid_path" : "ls: cannot access '/invalid_path': No such file or directory", - "cp invalid_file tmp" : "cp: cannot stat 'invalid_file': No such file or directory", - "date -u -d \"2017-03-31\"" : "Fri Mar 31 00:00:00 UTC 2017", - "touch file; yes | rm -i file" : "rm: remove regular empty file 'file'?", - "numfmt --grouping 1234567890.98" : "1234567890.98" - } - - lang_english = { - "LC_ALL=en_US ls /invalid_path" : "ls: cannot access '/invalid_path': No such file or directory", - "LC_ALL=en_US cp invalid_file tmp" : "cp: cannot stat 'invalid_file': No such file or directory", - "LC_ALL=en_US date -u -d \"2017-03-31\"" : "Fri Mar 31 00:00:00 UTC 2017", - "touch file; yes | LC_ALL=en_US rm -i file" : "rm: remove regular empty file 'file'?", - "LC_ALL=en_US numfmt --grouping 1234567890.98" : "1,234,567,890.98" - } - - lang_spanish = { - "LC_ALL=es_ES ls /invalid_path" : "No existe el fichero o el directorio", - "LC_ALL=es_ES cp invalid_file tmp" : "No existe el fichero o el directorio", - "LC_ALL=es_ES date -u -d \"2017-03-31\"" : "vie mar 31 00:00:00 UTC 2017", - "LC_ALL=es_ES numfmt --grouping 1234567890,98" : "1.234.567.890,98" - } - - langs = {} - langs["default"] = { - "pkg" : "glibc-minimal-langpack", - "cmds" : lang_default - } - - langs["english"] = { - "pkg" : "glibc-langpack-en", - "cmds" : lang_english - } - - langs["spanish"] = { - "pkg" : "glibc-langpack-es", - "cmds" : lang_spanish - } - - #Check if C.utf8 is the default locale - self.run("echo $LANG | grep 'C.utf8'") - - for i18n in langs.keys(): - lang = langs[i18n] - self.log.info("Testing %s" % lang["pkg"]) - - install_package = True - # glibc-minimal-langpack is installed by default - if lang["pkg"] == "glibc-minimal-langpack": - install_package = False - - if install_package: - try: - self.run("microdnf install %s" % lang["pkg"]) - except: - self.error("Could not install %s" % lang["pkg"]) - - for cmd in lang["cmds"].keys(): - cmd_result = self.run("%s" % cmd, ignore_status=True) - output = cmd_result.stdout - output += cmd_result.stderr - output = output.strip() - #search for pattern as Spanish might have special characters - if not re.search(lang["cmds"][cmd], output): - self.error("'%s'expected output '%s', but got '%s'" % - (cmd, lang["cmds"][cmd], output)) - - if install_package: - try: - self.run("microdnf remove %s" % lang["pkg"]) - except: - self.error("Could not remove %s" % lang["pkg"]) - - def test_dnf(self): - """ - Check if DNF is able to install a package - """ - package = "tar" - self.run("microdnf install dnf") - self.run("dnf install -y %s" % package) - self.run("dnf remove -y %s" % package) - self.run("microdnf remove dnf") - - def _prepare_compiler_test_directory(self): - - # create a temporary directory - tmpdir = tempfile.mkdtemp() - - self.log.info("Compiler test temporary directory is %s" % tmpdir) - - # Copy the `hello.sh` script from this resource directory into the - # temporary directory - src = os.path.join(self.compiler_resource_dir, "hello.sh") - dest = os.path.join(tmpdir, "hello.sh") - try: - shutil.copy(src, dest) - except shutil.Error as e: - self.log.info('Error: %s' % e) - except IOError as e: - self.log.info('Error: %s' % e.strerror) - - # make sure destination script is executable - st = os.stat(dest) - os.chmod(dest, st.st_mode | stat.S_IEXEC) - - # Place a gzipped tarball of `hello.c` and `Makefile` from the - # resource directory into the temporary directory with the name - # `hello.tgz`. - dest = os.path.join(tmpdir, "hello.tgz") - tar = tarfile.open(dest, "w:gz") - for f in ["hello.c", "Makefile"]: - src = os.path.join(self.compiler_resource_dir, f) - tar.add(src, arcname=f) - tar.close() - - self.compiler_test_dir = tmpdir - - def _cleanup_compiler_test_directory(self): - - # clean up the temporary directory - if self.compiler_test_dir: - self.log.info("cleaning up compiler test directory") - shutil.rmtree(self.compiler_test_dir, ignore_errors=True) - - def testCompiler(self): - """ - Run a basic C compiler test on our docker image. - - This actually tests the integration of several things, including the - ability to install packages, extract a gzipped tarball, run make to - compile a very simple C program, and run the compiled executable. - """ - - self._prepare_compiler_test_directory() - - #The test dir should be the same one used on hello.sh - mod_compiler_test_dir = "/mnt" - - #Make sure there is a container running - #TODO: Remove start() once https://pagure.io/modularity-testing-framework/issue/8 is fixed - self.start() - - try: - self.copyTo("%s/." % self.compiler_test_dir, mod_compiler_test_dir) - except: - self.error("Could not copy test files from %s to module %s" % - (self.compiler_test_dir, mod_compiler_test_dir)) - - cmdline = "%s/hello.sh" % mod_compiler_test_dir - cmd_result = self.run("%s" % cmdline, ignore_status=True) - test_stdout = cmd_result.stdout - test_stderr = cmd_result.stderr - if cmd_result.exit_status: - self.error("command '%s' returned exit status %d; output:\n%s\nstderr:\n%s" % - (cmdline, cmd_result.exit_status, test_stdout, test_stderr)) - - self.log.info("command '%s' succeeded with output:\n%s\nstderr:\n%s" % - (cmdline, test_stdout, test_stderr)) - - # make sure we get exactly what we expect on stdout - # (all other output from commands in the script were sent to stderr) - expected_stdout = 'Hello, world!\n' - self.log.info("checking that compiler test returned expected output: %s" % - repr(expected_stdout)) - if test_stdout != expected_stdout: - self.error("compiler test did not return unexpected output: %s" % - repr(test_stdout)) - - def tearDown(self): - """ - Tear-down - """ - super(self.__class__, self).tearDown() - - self._cleanup_compiler_test_directory() - -if __name__ == "__main__": - main() diff --git a/tests/teardown.py b/tests/teardown.py deleted file mode 100755 index 3db11fc..0000000 --- a/tests/teardown.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python - -import os -import subprocess -import re - -from avocado import main -from avocado import Test - -import cleanup -import brtconfig - - -class BaseRuntimeTeardownDocker(Test): - - def setUp(self): - - self.mockcfg = brtconfig.get_mockcfg(self) - self.br_image_name = brtconfig.get_docker_image_name(self) - - def testRemoveDockerImage(self): - - # Clean-up old test artifacts (docker containers, image, mock root) - try: - cleanup.cleanup_docker_and_mock(self.mockcfg, self.br_image_name) - except: - self.error("artifact cleanup failed") - else: - self.log.info("artifact cleanup successful") - -if __name__ == "__main__": - main()