# # Run repoman via travis # See https://github.com/mrueg/repoman-travis # language: python python: - "3.8" cache: directories: - metadata/md5-cache # shard repoman call by profile. Generated as: # $ cat $(portageq get_repo_path / gentoo)/profiles/profiles.desc | egrep -v '^#|^$' | awk '$3 == "stable" {print " - TOOL=repoman REPOMAN_FLAGS=--include-profiles="$2}' env: - TOOL=pkgcheck - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0 - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/hardened - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/hardened/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/gnome - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/gnome/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/plasma - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/desktop/plasma/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/developer - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/no-multilib - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/no-multilib/hardened - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/no-multilib/hardened/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.0/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1 - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/hardened - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/hardened/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/gnome - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/gnome/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/plasma - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/desktop/plasma/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/developer - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/no-multilib - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/no-multilib/hardened - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/no-multilib/hardened/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/amd64/17.1/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0 - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/hardened - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/hardened/selinux - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/gnome - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/gnome/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/plasma - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/desktop/plasma/systemd - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/developer - TOOL=repoman REPOMAN_FLAGS=--include-profiles=default/linux/x86/17.0/systemd before_install: - pip install lxml pyyaml - pip install pkgcheck before_script: - THIS_REPO=haskell - PORTAGE_VER='3.0.7' - SPINNER=/tmp/spinner.sh - PORTAGE_DIR="/tmp/portage-portage-${PORTAGE_VER}" - echo "Setting up basic directories:" - sudo chmod a+rwX /etc/passwd /etc/group /etc /var /var/cache - mkdir -p /etc/portage/repos.conf /var/cache/distfiles /var/db/repos/gentoo - printf "[${THIS_REPO}]\nlocation = $TRAVIS_BUILD_DIR" > /etc/portage/repos.conf/haskell - echo "Installing portage:" - wget -qO - "https://github.com/gentoo/portage/archive/portage-${PORTAGE_VER}.tar.gz" | tar xz -C /tmp - echo "portage:x:250:250:portage:/var/tmp/portage:/bin/false" >> /etc/passwd - echo "portage::250:portage,travis" >> /etc/group - printf "[gentoo]\nlocation = /var/db/repos/gentoo" > /etc/portage/repos.conf/gentoo - printf "[DEFAULT]\nmain-repo = gentoo" > /etc/portage/repos.conf/default - echo "Unpacking ::gentoo:" - wget -qO - "https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz" | tar xz -C /var/db/repos/gentoo --strip-components=1 - ln -s /var/db/repos/gentoo/profiles/default/linux/amd64/17.0 /etc/portage/make.profile - wget "https://www.gentoo.org/dtd/metadata.dtd" -O /var/cache/distfiles/metadata.dtd - echo "Grabbing fidget spinner:" - wget "https://raw.githubusercontent.com/mrueg/repoman-travis/master/spinner.sh" -O "${SPINNER}" - chmod a+rwx "${SPINNER}" - "${PORTAGE_DIR}/bin/emerge --info" script: - echo "Refreshing metadata cache:" - '"${SPINNER}" "${PORTAGE_DIR}/bin/egencache --repo=${THIS_REPO} --update --jobs=$(nproc)"' - if test "${TOOL}" = pkgcheck; then "${SPINNER}" "pkgcheck scan --repo=${THIS_REPO} --jobs=$(nproc)"; else true; fi - if test "${TOOL}" = repoman; then "${SPINNER}" "${PORTAGE_DIR}/repoman/bin/repoman full ${REPOMAN_FLAGS}"; else true; fi